@stapel/search-react 0.10.0 → 0.12.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/CHANGELOG.md +160 -0
- package/MODULE.md +111 -0
- package/README.md +42 -0
- package/dist/api/generated/schema.d.ts +76 -6
- package/dist/api/generated/schema.d.ts.map +1 -1
- package/dist/api/searchApi.d.ts +13 -6
- package/dist/api/searchApi.d.ts.map +1 -1
- package/dist/api/searchApi.js.map +1 -1
- package/dist/api/types.d.ts +107 -1
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js +29 -0
- package/dist/api/types.js.map +1 -1
- package/dist/default/DegradationNotice.d.ts +22 -13
- package/dist/default/DegradationNotice.d.ts.map +1 -1
- package/dist/default/DegradationNotice.js +7 -8
- package/dist/default/DegradationNotice.js.map +1 -1
- package/dist/default/FacetPanelPane.d.ts +13 -2
- package/dist/default/FacetPanelPane.d.ts.map +1 -1
- package/dist/default/FacetPanelPane.js +29 -16
- package/dist/default/FacetPanelPane.js.map +1 -1
- package/dist/default/FilterChips.d.ts +88 -3
- package/dist/default/FilterChips.d.ts.map +1 -1
- package/dist/default/FilterChips.js +166 -13
- package/dist/default/FilterChips.js.map +1 -1
- package/dist/default/LocationSummaryLine.d.ts.map +1 -1
- package/dist/default/LocationSummaryLine.js +1 -1
- package/dist/default/LocationSummaryLine.js.map +1 -1
- package/dist/default/RangeFilterRow.d.ts.map +1 -1
- package/dist/default/RangeFilterRow.js +49 -5
- package/dist/default/RangeFilterRow.js.map +1 -1
- package/dist/default/SearchBox.d.ts.map +1 -1
- package/dist/default/SearchBox.js +74 -4
- package/dist/default/SearchBox.js.map +1 -1
- package/dist/default/SearchPage.d.ts +29 -1
- package/dist/default/SearchPage.d.ts.map +1 -1
- package/dist/default/SearchPage.js +25 -10
- package/dist/default/SearchPage.js.map +1 -1
- package/dist/default/SearchResultsPane.d.ts +22 -0
- package/dist/default/SearchResultsPane.d.ts.map +1 -1
- package/dist/default/SearchResultsPane.js +2 -2
- package/dist/default/SearchResultsPane.js.map +1 -1
- package/dist/default/SortSelect.d.ts +23 -0
- package/dist/default/SortSelect.d.ts.map +1 -1
- package/dist/default/SortSelect.js +29 -9
- package/dist/default/SortSelect.js.map +1 -1
- package/dist/default/index.d.ts +2 -2
- package/dist/default/index.d.ts.map +1 -1
- package/dist/default/index.js +1 -1
- package/dist/default/index.js.map +1 -1
- package/dist/headless/FacetPanel.d.ts +26 -0
- package/dist/headless/FacetPanel.d.ts.map +1 -1
- package/dist/headless/FacetPanel.js +16 -1
- package/dist/headless/FacetPanel.js.map +1 -1
- package/dist/headless/useFacetLabels.d.ts +39 -0
- package/dist/headless/useFacetLabels.d.ts.map +1 -0
- package/dist/headless/useFacetLabels.js +129 -0
- package/dist/headless/useFacetLabels.js.map +1 -0
- package/dist/headless/useSearchBox.d.ts +71 -0
- package/dist/headless/useSearchBox.d.ts.map +1 -1
- package/dist/headless/useSearchBox.js +67 -2
- package/dist/headless/useSearchBox.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +8 -0
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/keys.d.ts +48 -0
- package/dist/i18n/keys.d.ts.map +1 -1
- package/dist/i18n/keys.js +58 -0
- package/dist/i18n/keys.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +10 -0
- package/dist/i18n/ru.js.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/model/queries.d.ts +6 -5
- package/dist/model/queries.d.ts.map +1 -1
- package/dist/model/queries.js +4 -3
- package/dist/model/queries.js.map +1 -1
- package/dist/model/queryKeys.d.ts +12 -0
- package/dist/model/queryKeys.d.ts.map +1 -1
- package/dist/model/queryKeys.js +7 -0
- package/dist/model/queryKeys.js.map +1 -1
- package/dist/nav/manifest.d.ts +21 -0
- package/dist/nav/manifest.d.ts.map +1 -1
- package/dist/nav/manifest.js +3 -2
- package/dist/nav/manifest.js.map +1 -1
- package/dist/state/degradations.d.ts +32 -0
- package/dist/state/degradations.d.ts.map +1 -1
- package/dist/state/degradations.js +33 -0
- package/dist/state/degradations.js.map +1 -1
- package/dist/state/facets.d.ts +64 -0
- package/dist/state/facets.d.ts.map +1 -1
- package/dist/state/facets.js +134 -9
- package/dist/state/facets.js.map +1 -1
- package/dist/state/ranges.d.ts +45 -3
- package/dist/state/ranges.d.ts.map +1 -1
- package/dist/state/ranges.js +55 -14
- package/dist/state/ranges.js.map +1 -1
- package/llms.txt +2 -2
- package/manifest.json +27 -2
- package/nav-manifest.json +4 -3
- package/package.json +10 -10
- package/src/analytics/generated/events.json +1 -1
- package/src/api/generated/schema.ts +76 -6
- package/src/api/searchApi.ts +13 -6
- package/src/api/types.ts +115 -1
- package/src/default/DegradationNotice.tsx +30 -20
- package/src/default/FacetPanelPane.tsx +55 -25
- package/src/default/FilterChips.tsx +290 -38
- package/src/default/LocationSummaryLine.tsx +6 -1
- package/src/default/RangeFilterRow.tsx +61 -3
- package/src/default/SearchBox.tsx +134 -6
- package/src/default/SearchPage.tsx +79 -5
- package/src/default/SearchResultsPane.tsx +48 -11
- package/src/default/SortSelect.tsx +70 -9
- package/src/default/index.ts +10 -2
- package/src/headless/FacetPanel.tsx +44 -1
- package/src/headless/useFacetLabels.ts +172 -0
- package/src/headless/useSearchBox.ts +132 -5
- package/src/i18n/es.ts +9 -0
- package/src/i18n/keys.ts +60 -0
- package/src/i18n/ru.ts +11 -0
- package/src/index.ts +28 -4
- package/src/model/queries.ts +6 -5
- package/src/model/queryKeys.ts +23 -0
- package/src/nav/manifest.ts +24 -2
- package/src/state/degradations.ts +56 -0
- package/src/state/facets.ts +181 -9
- package/src/state/ranges.ts +85 -15
package/dist/i18n/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY,EAAE,sBAAsB;IAEpC,4EAA4E;IAC5E,YAAY,EAAE,sBAAsB;IACpC,cAAc,EAAE,wBAAwB;IACxC,iBAAiB,EAAE,4BAA4B;IAC/C,YAAY,EAAE,sBAAsB;IACpC,YAAY,EAAE,sBAAsB;IACpC;;;;;;;OAOG;IACH,uBAAuB,EAAE,kCAAkC;IAC3D;kEAC8D;IAC9D,mBAAmB,EAAE,+BAA+B;IACpD,sEAAsE;IACtE,iBAAiB,EAAE,4BAA4B;IAC/C,aAAa,EAAE,wBAAwB;IACvC,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,qBAAqB;IAClC,mBAAmB,EAAE,+BAA+B;IACpD,qBAAqB,EAAE,iCAAiC;IACxD,yDAAyD;IACzD,qBAAqB,EAAE,gCAAgC;IACvD,eAAe,EAAE,yBAAyB;IAC1C,mBAAmB,EAAE,8BAA8B;IACnD,iBAAiB,EAAE,4BAA4B;IAC/C,eAAe,EAAE,yBAAyB;IAC1C,WAAW,EAAE,qBAAqB;IAClC,yEAAyE;IACzE,eAAe,EAAE,0BAA0B;IAE3C,4EAA4E;IAC5E,QAAQ,EAAE,kBAAkB;IAC5B,cAAc,EAAE,wBAAwB;IACxC,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,kBAAkB;IAC5B,4DAA4D;IAC5D,cAAc,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/ru.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ru.d.ts","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"ru.d.ts","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAkKhC,CAAC;AAEF;yDACyD;AACzD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAE7D"}
|
package/dist/i18n/ru.js
CHANGED
|
@@ -61,6 +61,11 @@ export const searchI18nBundleRu = {
|
|
|
61
61
|
"search.box.submit": "Найти",
|
|
62
62
|
"search.box.clear": "Очистить запрос",
|
|
63
63
|
"search.box.suggestions": "Подсказки",
|
|
64
|
+
"search.box.categories": "Разделы",
|
|
65
|
+
"search.box.category_count.one": "{count} объявление",
|
|
66
|
+
"search.box.category_count.few": "{count} объявления",
|
|
67
|
+
"search.box.category_count.many": "{count} объявлений",
|
|
68
|
+
"search.box.category_count.other": "{count} объявления",
|
|
64
69
|
"search.sort.label": "Сортировка",
|
|
65
70
|
"search.sort.relevance": "По релевантности",
|
|
66
71
|
"search.sort.newest": "Сначала новые",
|
|
@@ -81,6 +86,7 @@ export const searchI18nBundleRu = {
|
|
|
81
86
|
"search.facets.skipped": "Эти фильтры для текущего поиска не посчитаны: {slugs}",
|
|
82
87
|
"search.facets.not_counted": "не посчитано",
|
|
83
88
|
"search.facets.drill_down_hint": "Рядом с каждым значением — сколько будет, если выбрать его вместо текущего.",
|
|
89
|
+
"search.range.price": "Цена",
|
|
84
90
|
"search.facets.range_from": "От",
|
|
85
91
|
"search.facets.range_to": "До",
|
|
86
92
|
"search.facets.range_apply": "Применить",
|
|
@@ -103,6 +109,7 @@ export const searchI18nBundleRu = {
|
|
|
103
109
|
"search.filters.dismiss": "Закрыть фильтры",
|
|
104
110
|
"search.filters.chips_label": "Фильтры",
|
|
105
111
|
"search.filters.all": "Все фильтры",
|
|
112
|
+
"search.filters.short": "Фильтры",
|
|
106
113
|
"search.filters.chip_more": ", +{count}",
|
|
107
114
|
"search.category.title": "Категория",
|
|
108
115
|
"search.category.clear": "Искать по всему каталогу",
|
|
@@ -143,6 +150,9 @@ export const searchI18nBundleRu = {
|
|
|
143
150
|
"search.ranking.inactive": "Не применяется: {reason}",
|
|
144
151
|
"search.ranking.notes": "Примечания",
|
|
145
152
|
"search.ranking.link": "Как упорядочены результаты",
|
|
153
|
+
"search.nav.results": "Поиск",
|
|
154
|
+
"search.nav.ranking": "Порядок результатов",
|
|
155
|
+
"search.nav.ranking.short": "Порядок",
|
|
146
156
|
};
|
|
147
157
|
/** Register the ru bundle. Call AFTER `registerSearchI18n` so it layers over
|
|
148
158
|
* the en floor (merge priority = registration order). */
|
package/dist/i18n/ru.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ru.js","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAChD,GAAG,mBAAmB;IAEtB,sBAAsB,EAAE,iCAAiC;IAEzD,sBAAsB,EAAE,YAAY;IACpC,wBAAwB,EAAE,OAAO;IACjC,4BAA4B,EAAE,6BAA6B;IAC3D,sBAAsB,EAAE,qCAAqC;IAC7D,sBAAsB,EAAE,WAAW;IACnC,yEAAyE;IACzE,4DAA4D;IAC5D,sCAAsC,EAAE,6BAA6B;IACrE,sCAAsC,EAAE,6BAA6B;IACrE,uCAAuC,EAAE,6BAA6B;IACtE,wCAAwC,EAAE,6BAA6B;IACvE,mCAAmC,EAAE,qBAAqB;IAC1D,mCAAmC,EAAE,qBAAqB;IAC1D,oCAAoC,EAAE,qBAAqB;IAC3D,qCAAqC,EAAE,qBAAqB;IAC5D,gCAAgC,EAAE,oBAAoB;IACtD,gCAAgC,EAAE,oBAAoB;IACtD,iCAAiC,EAAE,oBAAoB;IACvD,kCAAkC,EAAE,oBAAoB;IACxD,wBAAwB,EAAE,SAAS;IACnC,qBAAqB,EAAE,oBAAoB;IAC3C,qBAAqB,EAAE,qBAAqB;IAC5C,+BAA+B,EAAE,wBAAwB;IACzD,iCAAiC,EAAE,qBAAqB;IACxD,gCAAgC,EAC9B,uFAAuF;IACzF,yBAAyB,EAAE,cAAc;IACzC,8BAA8B,EAC5B,+GAA+G;IACjH,4BAA4B,EAAE,gBAAgB;IAC9C,yBAAyB,EAAE,cAAc;IACzC,qBAAqB,EAAE,SAAS;IAChC,0BAA0B,EAAE,eAAe;IAE3C,kBAAkB,EAAE,OAAO;IAC3B,wBAAwB,EAAE,YAAY;IACtC,mBAAmB,EAAE,OAAO;IAC5B,kBAAkB,EAAE,iBAAiB;IACrC,wBAAwB,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"ru.js","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -42,15 +42,15 @@
|
|
|
42
42
|
export { createSearchApi, searchQueryParams } from "./api/searchApi.js";
|
|
43
43
|
export type { SearchApi } from "./api/searchApi.js";
|
|
44
44
|
export type { Schemas } from "./api/types.js";
|
|
45
|
-
export { SEARCH_SORTS } from "./api/types.js";
|
|
46
|
-
export type { FacetMeta, FacetSelection, RankingResponse, Scorer, SearchDegradation, SearchDegradationKind, SearchGeo, SearchGeoBox, SearchGeoCenter, SearchItem, SearchQueryState, SearchRange, SearchResponse, SuggestParams, SuggestResponse, } from "./api/types.js";
|
|
45
|
+
export { SEARCH_SORTS, SUGGEST_DEGRADED_CATEGORIES, SUGGEST_DEGRADED_ROLLUP, suggestTerms, } from "./api/types.js";
|
|
46
|
+
export type { FacetMeta, FacetSelection, RankingResponse, Scorer, SearchDegradation, SearchDegradationKind, SearchGeo, SearchGeoBox, SearchGeoCenter, SearchItem, SearchQueryState, SearchRange, SearchResponse, SuggestAnswer, SuggestCategory, SuggestCategoryMatch, SuggestParams, SuggestResponse, } from "./api/types.js";
|
|
47
47
|
export { FILTER_PREFIX, RANGE_PREFIX, SEARCH_PARAM, activeFilterCount, clearFilters, ownsParam, parseSearchState, patchSearchState, setFilterValues, setRangeValue, toggleFilterValue, writeSearchState, } from "./state/urlState.js";
|
|
48
48
|
export type { ParseSearchStateOptions, ParsedSearchState, SearchStateIssue, SearchStateIssueCode, SearchStatePatch, } from "./state/urlState.js";
|
|
49
|
-
export { countIsEstimate, countKind, degradationMessageKey, isCountNuanceOnly, parseDegradations, } from "./state/degradations.js";
|
|
50
|
-
export type { SearchCountKind } from "./state/degradations.js";
|
|
51
|
-
export { buildFacetGroups, facetOptionLabel } from "./state/facets.js";
|
|
49
|
+
export { countIsEstimate, countKind, degradationAudience, degradationMessageKey, isCountNuanceOnly, parseDegradations, readerFacing, } from "./state/degradations.js";
|
|
50
|
+
export type { SearchCountKind, SearchDegradationAudience, } from "./state/degradations.js";
|
|
51
|
+
export { FACETABLE_FEATURE_TYPES, buildFacetGroups, facetOptionLabel, isFacetableFeature, } from "./state/facets.js";
|
|
52
52
|
export type { BuildFacetGroupsInput, FacetGroup, FacetOption, } from "./state/facets.js";
|
|
53
|
-
export { RANGE_FEATURE_TYPES, buildRangeGroups, isRangeFeature, isRangeUsable, } from "./state/ranges.js";
|
|
53
|
+
export { RANGE_FEATURE_TYPES, buildRangeGroups, coreRangeLabelKey, isRangeFeature, isRangeUsable, } from "./state/ranges.js";
|
|
54
54
|
export type { BuildRangeGroupsInput, RangeGroup } from "./state/ranges.js";
|
|
55
55
|
export { SEARCH_BOX_DEBOUNCE_MS, SEARCH_BOX_SUGGEST_DEBOUNCE_MS, SEARCH_COUNT_DEBOUNCE_MS, SEARCH_COUNT_PAGE_SIZE, SEARCH_DEFAULT_PAGE_SIZE, SEARCH_MAX_PAGE_SIZE, SEARCH_QUERY_MAX_CHARS, SUGGEST_MAX_LIMIT, SUGGEST_MIN_CHARS, } from "./state/limits.js";
|
|
56
56
|
export { createSearchRuntime } from "./model/runtime.js";
|
|
@@ -66,8 +66,10 @@ export { SearchResults } from "./headless/SearchResults.js";
|
|
|
66
66
|
export type { SearchPageInfo, SearchResultsBag } from "./headless/SearchResults.js";
|
|
67
67
|
export { FacetPanel, useFacetPanel } from "./headless/FacetPanel.js";
|
|
68
68
|
export type { FacetPanelBag } from "./headless/FacetPanel.js";
|
|
69
|
+
export { useHostFacetLabels } from "./headless/useFacetLabels.js";
|
|
70
|
+
export type { FacetLabelRequest, FacetLabelResolver, } from "./headless/useFacetLabels.js";
|
|
69
71
|
export { useAppliedSort } from "./headless/useAppliedSort.js";
|
|
70
|
-
export { useSearchBox } from "./headless/useSearchBox.js";
|
|
72
|
+
export { offerableCategories, useSearchBox } from "./headless/useSearchBox.js";
|
|
71
73
|
export type { SearchBoxBag, UseSearchBoxOptions } from "./headless/useSearchBox.js";
|
|
72
74
|
export { countQueryState, useSearchCount } from "./headless/useSearchCount.js";
|
|
73
75
|
export type { SearchCount, SearchCountState, UseSearchCountOptions, } from "./headless/useSearchCount.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
*/
|
|
42
42
|
// ── api ──────────────────────────────────────────────────────────────────────
|
|
43
43
|
export { createSearchApi, searchQueryParams } from "./api/searchApi.js";
|
|
44
|
-
export { SEARCH_SORTS } from "./api/types.js";
|
|
44
|
+
export { SEARCH_SORTS, SUGGEST_DEGRADED_CATEGORIES, SUGGEST_DEGRADED_ROLLUP, suggestTerms, } from "./api/types.js";
|
|
45
45
|
// ── state (pure: no React, no router) ────────────────────────────────────────
|
|
46
46
|
export { FILTER_PREFIX, RANGE_PREFIX, SEARCH_PARAM, activeFilterCount, clearFilters, ownsParam, parseSearchState, patchSearchState, setFilterValues, setRangeValue, toggleFilterValue, writeSearchState, } from "./state/urlState.js";
|
|
47
|
-
export { countIsEstimate, countKind, degradationMessageKey, isCountNuanceOnly, parseDegradations, } from "./state/degradations.js";
|
|
48
|
-
export { buildFacetGroups, facetOptionLabel } from "./state/facets.js";
|
|
49
|
-
export { RANGE_FEATURE_TYPES, buildRangeGroups, isRangeFeature, isRangeUsable, } from "./state/ranges.js";
|
|
47
|
+
export { countIsEstimate, countKind, degradationAudience, degradationMessageKey, isCountNuanceOnly, parseDegradations, readerFacing, } from "./state/degradations.js";
|
|
48
|
+
export { FACETABLE_FEATURE_TYPES, buildFacetGroups, facetOptionLabel, isFacetableFeature, } from "./state/facets.js";
|
|
49
|
+
export { RANGE_FEATURE_TYPES, buildRangeGroups, coreRangeLabelKey, isRangeFeature, isRangeUsable, } from "./state/ranges.js";
|
|
50
50
|
export { SEARCH_BOX_DEBOUNCE_MS, SEARCH_BOX_SUGGEST_DEBOUNCE_MS, SEARCH_COUNT_DEBOUNCE_MS, SEARCH_COUNT_PAGE_SIZE, SEARCH_DEFAULT_PAGE_SIZE, SEARCH_MAX_PAGE_SIZE, SEARCH_QUERY_MAX_CHARS, SUGGEST_MAX_LIMIT, SUGGEST_MIN_CHARS, } from "./state/limits.js";
|
|
51
51
|
// ── model (runtime wiring, query keys, context, hooks) ───────────────────────
|
|
52
52
|
export { createSearchRuntime } from "./model/runtime.js";
|
|
@@ -58,8 +58,9 @@ export { SearchProvider } from "./headless/SearchProvider.js";
|
|
|
58
58
|
export { SearchStateProvider, useSearchState } from "./headless/SearchStateProvider.js";
|
|
59
59
|
export { SearchResults } from "./headless/SearchResults.js";
|
|
60
60
|
export { FacetPanel, useFacetPanel } from "./headless/FacetPanel.js";
|
|
61
|
+
export { useHostFacetLabels } from "./headless/useFacetLabels.js";
|
|
61
62
|
export { useAppliedSort } from "./headless/useAppliedSort.js";
|
|
62
|
-
export { useSearchBox } from "./headless/useSearchBox.js";
|
|
63
|
+
export { offerableCategories, useSearchBox } from "./headless/useSearchBox.js";
|
|
63
64
|
export { countQueryState, useSearchCount } from "./headless/useSearchCount.js";
|
|
64
65
|
export { RankingDisclosure } from "./headless/RankingDisclosure.js";
|
|
65
66
|
// ── nav manifest (the pair's public surface declaration) ─────────────────────
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EACL,YAAY,EACZ,2BAA2B,EAC3B,uBAAuB,EACvB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAsBxB,gFAAgF;AAChF,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EACL,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAKzD,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEtF,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAMxF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAM/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,gFAAgF;AAChF,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,gFAAgF;AAChF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
package/dist/model/queries.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { UseQueryResult } from "@tanstack/react-query";
|
|
2
2
|
import type { StapelApiError } from "@stapel/core";
|
|
3
|
-
import type { RankingResponse, SearchQueryState, SearchResponse,
|
|
3
|
+
import type { RankingResponse, SearchQueryState, SearchResponse, SuggestAnswer } from "../api/types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Read hooks over the search API (frontend-standard §2). Keys are namespaced
|
|
6
6
|
* (see `searchQueryKeys`).
|
|
@@ -39,11 +39,12 @@ export declare function useSearchQuery(state: SearchQueryState, options?: {
|
|
|
39
39
|
readonly enabled?: boolean;
|
|
40
40
|
}): UseQueryResult<SearchResponse, StapelApiError>;
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* What the box offers under the cursor: CATEGORIES and title prefixes.
|
|
43
43
|
*
|
|
44
44
|
* Not from a query log: stapel-search keeps none, which is a privacy decision
|
|
45
|
-
* before it is a product one (`services.suggest`). So
|
|
46
|
-
* in the catalogue
|
|
45
|
+
* before it is a product one (`services.suggest`). So both halves are what
|
|
46
|
+
* exists in the catalogue — choosing a term is always a search that has
|
|
47
|
+
* results, and choosing a category is always a section that exists.
|
|
47
48
|
*
|
|
48
49
|
* `enabled` is the debounce's partner, not its replacement: the CALLER holds a
|
|
49
50
|
* debounced prefix (see `useSearchBox`) and this hook refuses to ask about a
|
|
@@ -59,7 +60,7 @@ export declare function useSuggest(params: {
|
|
|
59
60
|
readonly q: string;
|
|
60
61
|
readonly limit?: number;
|
|
61
62
|
readonly enabled?: boolean;
|
|
62
|
-
}): UseQueryResult<
|
|
63
|
+
}): UseQueryResult<SuggestAnswer, StapelApiError>;
|
|
63
64
|
/**
|
|
64
65
|
* The P2B Art. 5 ranking disclosure.
|
|
65
66
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/model/queries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/model/queries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAC;AAKzB;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,gBAAgB,EACvB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACvC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,CAUhD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,CAuBhD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACvC,cAAc,CAAC,eAAe,EAAE,cAAc,CAAC,CASjD"}
|
package/dist/model/queries.js
CHANGED
|
@@ -49,11 +49,12 @@ export function useSearchQuery(state, options) {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
52
|
+
* What the box offers under the cursor: CATEGORIES and title prefixes.
|
|
53
53
|
*
|
|
54
54
|
* Not from a query log: stapel-search keeps none, which is a privacy decision
|
|
55
|
-
* before it is a product one (`services.suggest`). So
|
|
56
|
-
* in the catalogue
|
|
55
|
+
* before it is a product one (`services.suggest`). So both halves are what
|
|
56
|
+
* exists in the catalogue — choosing a term is always a search that has
|
|
57
|
+
* results, and choosing a category is always a section that exists.
|
|
57
58
|
*
|
|
58
59
|
* `enabled` is the debounce's partner, not its replacement: the CALLER holds a
|
|
59
60
|
* debounced prefix (see `useSearchBox`) and this hook refuses to ask about a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/model/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAuB,EACvB,OAAwC;IAExC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC;QACrD,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAC5D,eAAe,EAAE,gBAAgB;QACjC,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/model/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAuB,EACvB,OAAwC;IAExC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC;QACrD,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAC5D,eAAe,EAAE,gBAAgB;QACjC,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,UAAU,CAAC,MAK1B;IACC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC;QACxD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACtB,GAAG,CAAC,OAAO,CACT;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,CAAC;YACD,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9E,EACD,EAAE,MAAM,EAAE,CACX;QACH,OAAO,EACL,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,MAAM,IAAI,iBAAiB;QAC/B,eAAe,EAAE,gBAAgB;QACjC,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAa,EACb,OAAwC;IAExC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;QACvC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;QACjC,SAAS,EAAE,MAAM,CAAC,iBAAiB;QACnC,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -17,6 +17,18 @@ export type SearchQueryKeyParams = Readonly<Record<string, string | number | boo
|
|
|
17
17
|
export declare const searchQueryKeys: {
|
|
18
18
|
readonly all: readonly ["search"];
|
|
19
19
|
query(params: SearchQueryKeyParams): readonly ["search", "query", SearchQueryKeyParams];
|
|
20
|
+
/**
|
|
21
|
+
* One group's captions from the HOST's resolver — the seam that names a
|
|
22
|
+
* vocabulary-backed facet value on a server too old to caption it itself.
|
|
23
|
+
*
|
|
24
|
+
* Keyed on the slug, the values asked about and the locale. The values are
|
|
25
|
+
* SORTED by the caller before they get here: the same group arrives in
|
|
26
|
+
* count order, and count order changes on every click, so an unsorted key
|
|
27
|
+
* would re-ask the host for the same words each time a sibling facet moved.
|
|
28
|
+
* The locale is in the key because a caption is copy — one cache entry per
|
|
29
|
+
* language, never one shared between two.
|
|
30
|
+
*/
|
|
31
|
+
facetLabels(slug: string, values: readonly string[], locale?: string): readonly ["search", "facet-labels", string, readonly string[], string | null];
|
|
20
32
|
/** The P2B disclosure. `type` is optional on the endpoint; normalized to
|
|
21
33
|
* `null` so an absent type and an explicit `undefined` cannot cache twice. */
|
|
22
34
|
ranking(type?: string): readonly ["search", "ranking", string | null];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../src/model/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,uDAAuD;AACvD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CACzC,MAAM,CACJ,MAAM,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CACzC,CACF,CAAC;AAIF,eAAO,MAAM,eAAe,EAAE;IAC5B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,CACH,MAAM,EAAE,oBAAoB,GAC3B,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;IACtD;kFAC8E;IAC9E,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACtE,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../src/model/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,uDAAuD;AACvD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CACzC,MAAM,CACJ,MAAM,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CACzC,CACF,CAAC;AAIF,eAAO,MAAM,eAAe,EAAE;IAC5B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,CACH,MAAM,EAAE,oBAAoB,GAC3B,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;IACtD;;;;;;;;;;OAUG;IACH,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACjF;kFAC8E;IAC9E,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACtE,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CAalE,CAAC"}
|
package/dist/model/queryKeys.js
CHANGED
|
@@ -16,6 +16,13 @@ const ROOT = "search";
|
|
|
16
16
|
export const searchQueryKeys = {
|
|
17
17
|
all: [ROOT],
|
|
18
18
|
query: (params) => [ROOT, "query", params],
|
|
19
|
+
facetLabels: (slug, values, locale) => [
|
|
20
|
+
ROOT,
|
|
21
|
+
"facet-labels",
|
|
22
|
+
slug,
|
|
23
|
+
values,
|
|
24
|
+
locale ?? null,
|
|
25
|
+
],
|
|
19
26
|
ranking: (type) => [ROOT, "ranking", type ?? null],
|
|
20
27
|
suggest: (type, q, limit) => [ROOT, "suggest", type, q, limit ?? null],
|
|
21
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryKeys.js","sourceRoot":"","sources":["../../src/model/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,MAAM,IAAI,GAAG,QAAiB,CAAC;AAE/B,MAAM,CAAC,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"queryKeys.js","sourceRoot":"","sources":["../../src/model/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,MAAM,IAAI,GAAG,QAAiB,CAAC;AAE/B,MAAM,CAAC,MAAM,eAAe,GA6BxB;IACF,GAAG,EAAE,CAAC,IAAI,CAAC;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;IAC1C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QACrC,IAAI;QACJ,cAAc;QACd,IAAI;QACJ,MAAM;QACN,MAAM,IAAI,IAAI;KACf;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI,CAAC;IAClD,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;CACvE,CAAC"}
|
package/dist/nav/manifest.d.ts
CHANGED
|
@@ -15,6 +15,27 @@
|
|
|
15
15
|
* `menuVisibleDefault: false` on both: the results page is a navigation TARGET
|
|
16
16
|
* reached from the header's search box, and the ranking disclosure is a
|
|
17
17
|
* footer link. Neither is a menu item — the same treatment `auth.login` gets.
|
|
18
|
+
*
|
|
19
|
+
* ── A nav label is not a page heading ─────────────────────────────────────
|
|
20
|
+
*
|
|
21
|
+
* Both entries carry their OWN label keys (`search.nav.*`) rather than
|
|
22
|
+
* borrowing the surfaces' captions. `search.results.title` is the heading over
|
|
23
|
+
* a list of matches, so it reads "Results" — correct above rows, and useless
|
|
24
|
+
* in a menu, where "Results" answers nothing about where the link goes. The
|
|
25
|
+
* destination is the search. `search.ranking.title` is worse in the other
|
|
26
|
+
* direction: it is a whole sentence ("How these results are ordered"), which
|
|
27
|
+
* is right on the page it captions and cannot be a menu row.
|
|
28
|
+
*
|
|
29
|
+
* Sharing one key would also make the two uses move together forever: a
|
|
30
|
+
* translator improving the heading would silently rewrite the menu, and there
|
|
31
|
+
* is no locale in which the best heading and the best menu label are reliably
|
|
32
|
+
* the same words.
|
|
33
|
+
*
|
|
34
|
+
* `shortLabelKey` on the disclosure for the same reason one step smaller: a
|
|
35
|
+
* five-cell phone dock gives a destination roughly ten characters, and
|
|
36
|
+
* "Ranking disclosure" ellipsizes there to a fragment a person has to guess
|
|
37
|
+
* at. `search.results` declares none — its label is already one word in every
|
|
38
|
+
* locale this pair ships.
|
|
18
39
|
*/
|
|
19
40
|
import type { NavEntry } from "@stapel/core";
|
|
20
41
|
export declare const navEntries: readonly NavEntry[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/nav/manifest.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/nav/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAiCzC,CAAC"}
|
package/dist/nav/manifest.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const navEntries = [
|
|
2
2
|
{
|
|
3
3
|
id: "search.results",
|
|
4
|
-
labelKey: "search.results
|
|
4
|
+
labelKey: "search.nav.results",
|
|
5
5
|
icon: "SearchOutlined",
|
|
6
6
|
route: { path: "/s" },
|
|
7
7
|
component: { export: "SearchPage", subpath: "default" },
|
|
@@ -20,7 +20,8 @@ export const navEntries = [
|
|
|
20
20
|
// be mistaken — by a person or by `stapel/no-string-paths` — for the API
|
|
21
21
|
// operation of the same name.
|
|
22
22
|
id: "search.ranking",
|
|
23
|
-
labelKey: "search.ranking
|
|
23
|
+
labelKey: "search.nav.ranking",
|
|
24
|
+
shortLabelKey: "search.nav.ranking.short",
|
|
24
25
|
icon: "OrderedListOutlined",
|
|
25
26
|
route: { path: "/ranking-disclosure" },
|
|
26
27
|
component: { export: "RankingDisclosurePane", subpath: "default" },
|
package/dist/nav/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/nav/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/nav/manifest.ts"],"names":[],"mappings":"AAyCA,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C;QACE,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;QACrB,SAAS,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE;QACvD,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC3B,kBAAkB,EAAE,KAAK;QACzB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,EAAE;KACV;IACD;QACE,mEAAmE;QACnE,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,8BAA8B;QAC9B,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,oBAAoB;QAC9B,aAAa,EAAE,0BAA0B;QACzC,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;QACtC,SAAS,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,SAAS,EAAE;QAClE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC3B,kBAAkB,EAAE,KAAK;QACzB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,EAAE;KACV;CACF,CAAC"}
|
|
@@ -68,4 +68,36 @@ export declare function countKind(count: number | null | undefined, isLowerBound
|
|
|
68
68
|
* the list is then a description of a genuinely degraded answer.
|
|
69
69
|
*/
|
|
70
70
|
export declare function isCountNuanceOnly(degradations: readonly SearchDegradation[]): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Who a degradation is addressed to.
|
|
73
|
+
*
|
|
74
|
+
* - `"reader"` — it changes what THIS PAGE MEANS. "Counts are approximate",
|
|
75
|
+
* "subcategories may be missing", "a ranking parameter is inactive", and
|
|
76
|
+
* anything this build has no wording for. A buyer can act on these: read
|
|
77
|
+
* the numbers as estimates, widen the category, distrust the order.
|
|
78
|
+
* - `"operator"` — it describes the ENGINE THIS DEPLOYMENT CHOSE. Nothing a
|
|
79
|
+
* buyer does changes it, and it is the same sentence on every query
|
|
80
|
+
* forever, which is precisely what makes it invisible by the time it
|
|
81
|
+
* matters.
|
|
82
|
+
*/
|
|
83
|
+
export type SearchDegradationAudience = "reader" | "operator";
|
|
84
|
+
/** {@link SearchDegradationAudience} for one kind. */
|
|
85
|
+
export declare function degradationAudience(kind: SearchDegradationKind): SearchDegradationAudience;
|
|
86
|
+
/**
|
|
87
|
+
* The degradations a buyer should be told about.
|
|
88
|
+
*
|
|
89
|
+
* The live defect this exists for: a classified board raised a full-screen
|
|
90
|
+
* yellow "What this search could not do: synonyms were not substituted —
|
|
91
|
+
* the search engine in use cannot do this" between the sort control and
|
|
92
|
+
* the first card, on every query, for every buyer. It was not a lie about a
|
|
93
|
+
* broken thing — stapel-search really did report `phrase_synonyms` on every
|
|
94
|
+
* query with text — which is exactly why deleting the STRING would have been
|
|
95
|
+
* the wrong fix: the next engine-capability literal would have grown its own
|
|
96
|
+
* copy of it. What is wrong is the AUDIENCE, so the audience is the thing
|
|
97
|
+
* that got a name.
|
|
98
|
+
*
|
|
99
|
+
* `variant="debug"` on `<DegradationNotice>` shows the operator's half; a
|
|
100
|
+
* host that wants it on a status page renders that.
|
|
101
|
+
*/
|
|
102
|
+
export declare function readerFacing(degradations: readonly SearchDegradation[]): readonly SearchDegradation[];
|
|
71
103
|
//# sourceMappingURL=degradations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"degradations.d.ts","sourceRoot":"","sources":["../../src/state/degradations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAYhF,+CAA+C;AAC/C,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAEzE;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACtC,SAAS,iBAAiB,EAAE,CAwB9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,SAAS,iBAAiB,EAAE,GACzC,OAAO,CAET;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/D;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,YAAY,EAAE,OAAO,GAAG,SAAS,EACjC,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,SAAS,iBAAiB,EAAE,GACzC,eAAe,CAIjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,SAAS,iBAAiB,EAAE,GACzC,OAAO,CAKT"}
|
|
1
|
+
{"version":3,"file":"degradations.d.ts","sourceRoot":"","sources":["../../src/state/degradations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAYhF,+CAA+C;AAC/C,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAEzE;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACtC,SAAS,iBAAiB,EAAE,CAwB9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,SAAS,iBAAiB,EAAE,GACzC,OAAO,CAET;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/D;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,YAAY,EAAE,OAAO,GAAG,SAAS,EACjC,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,SAAS,iBAAiB,EAAE,GACzC,eAAe,CAIjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,SAAS,iBAAiB,EAAE,GACzC,OAAO,CAKT;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAa9D,sDAAsD;AACtD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,qBAAqB,GAC1B,yBAAyB,CAE3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,SAAS,iBAAiB,EAAE,GACzC,SAAS,iBAAiB,EAAE,CAI9B"}
|
|
@@ -90,4 +90,37 @@ export function isCountNuanceOnly(degradations) {
|
|
|
90
90
|
return (degradations.length > 0 &&
|
|
91
91
|
degradations.every((degradation) => degradation.kind === "exact_total"));
|
|
92
92
|
}
|
|
93
|
+
const OPERATOR_KINDS = new Set([
|
|
94
|
+
// Both of these say, in the shipped copy, "the search engine in use
|
|
95
|
+
// cannot do this" — a sentence about a procurement decision, printed at a
|
|
96
|
+
// person trying to buy a phone.
|
|
97
|
+
"typo_tolerance",
|
|
98
|
+
"phrase_synonyms",
|
|
99
|
+
// A count nuance the count itself already speaks, as "N+". This is the
|
|
100
|
+
// rule `isCountNuanceOnly` encoded for one kind, generalized.
|
|
101
|
+
"exact_total",
|
|
102
|
+
]);
|
|
103
|
+
/** {@link SearchDegradationAudience} for one kind. */
|
|
104
|
+
export function degradationAudience(kind) {
|
|
105
|
+
return OPERATOR_KINDS.has(kind) ? "operator" : "reader";
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The degradations a buyer should be told about.
|
|
109
|
+
*
|
|
110
|
+
* The live defect this exists for: a classified board raised a full-screen
|
|
111
|
+
* yellow "What this search could not do: synonyms were not substituted —
|
|
112
|
+
* the search engine in use cannot do this" between the sort control and
|
|
113
|
+
* the first card, on every query, for every buyer. It was not a lie about a
|
|
114
|
+
* broken thing — stapel-search really did report `phrase_synonyms` on every
|
|
115
|
+
* query with text — which is exactly why deleting the STRING would have been
|
|
116
|
+
* the wrong fix: the next engine-capability literal would have grown its own
|
|
117
|
+
* copy of it. What is wrong is the AUDIENCE, so the audience is the thing
|
|
118
|
+
* that got a name.
|
|
119
|
+
*
|
|
120
|
+
* `variant="debug"` on `<DegradationNotice>` shows the operator's half; a
|
|
121
|
+
* host that wants it on a status page renders that.
|
|
122
|
+
*/
|
|
123
|
+
export function readerFacing(degradations) {
|
|
124
|
+
return degradations.filter((degradation) => degradationAudience(degradation.kind) === "reader");
|
|
125
|
+
}
|
|
93
126
|
//# sourceMappingURL=degradations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"degradations.js","sourceRoot":"","sources":["../../src/state/degradations.ts"],"names":[],"mappings":"AAiBA,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,MAAM,KAAK,GAAoD;IAC7D,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,kBAAkB,EAAE,oBAAoB;IACxC,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,UAAU,qBAAqB,CAAC,IAA2B;IAC/D,OAAO,mBAAmB,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,iBAAiB,CAC/B,QAAuC;IAEvC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,GAAG;gBACH,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;gBACvC,UAAU,EAAE,qBAAqB,CAAC,QAAQ,CAAC;aAC5C,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,IAAI,IAAI,SAAS;YACvB,GAAG;YACH,UAAU,EAAE,qBAAqB,CAAC,IAAI,IAAI,SAAS,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAmB,EACnB,YAA0C;IAE1C,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;AAC3E,CAAC;AAYD;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CACvB,KAAgC,EAChC,YAAiC,EACjC,UAAmB,EACnB,YAA0C;IAE1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC;IAC7C,OAAO,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAA0C;IAE1C,OAAO,CACL,YAAY,CAAC,MAAM,GAAG,CAAC;QACvB,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,CACxE,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"degradations.js","sourceRoot":"","sources":["../../src/state/degradations.ts"],"names":[],"mappings":"AAiBA,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,MAAM,KAAK,GAAoD;IAC7D,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,kBAAkB,EAAE,oBAAoB;IACxC,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,UAAU,qBAAqB,CAAC,IAA2B;IAC/D,OAAO,mBAAmB,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,iBAAiB,CAC/B,QAAuC;IAEvC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,GAAG;gBACH,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;gBACvC,UAAU,EAAE,qBAAqB,CAAC,QAAQ,CAAC;aAC5C,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,IAAI,IAAI,SAAS;YACvB,GAAG;YACH,UAAU,EAAE,qBAAqB,CAAC,IAAI,IAAI,SAAS,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAmB,EACnB,YAA0C;IAE1C,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;AAC3E,CAAC;AAYD;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CACvB,KAAgC,EAChC,YAAiC,EACjC,UAAmB,EACnB,YAA0C;IAE1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC;IAC7C,OAAO,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAA0C;IAE1C,OAAO,CACL,YAAY,CAAC,MAAM,GAAG,CAAC;QACvB,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,CACxE,CAAC;AACJ,CAAC;AAgBD,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAwB;IACzE,oEAAoE;IACpE,0EAA0E;IAC1E,gCAAgC;IAChC,gBAAgB;IAChB,iBAAiB;IACjB,uEAAuE;IACvE,8DAA8D;IAC9D,aAAa;CACd,CAAC,CAAC;AAEH,sDAAsD;AACtD,MAAM,UAAU,mBAAmB,CACjC,IAA2B;IAE3B,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAC1B,YAA0C;IAE1C,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,WAAW,EAAE,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,QAAQ,CACpE,CAAC;AACJ,CAAC"}
|
package/dist/state/facets.d.ts
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
import type { FeatureDef } from "@stapel/attributes-react";
|
|
2
2
|
import type { FacetMeta, SearchQueryState } from "../api/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Value types whose values are a BOUNDED OPTION SET — the only kind of
|
|
5
|
+
* feature a person can be offered as a filter.
|
|
6
|
+
*
|
|
7
|
+
* The list is not invented here: the ref/vocabulary-backed half is
|
|
8
|
+
* `@stapel/attributes-react`'s own `VOCABULARY_BACKED_TYPES` (the one place
|
|
9
|
+
* that knows which types are drawn from a vocabulary), and the rest are the
|
|
10
|
+
* select family plus `bool`. Everything else a category can declare — a
|
|
11
|
+
* `string`, an `int`, a `date`, a `hex_color`, a `group` — enumerates as many
|
|
12
|
+
* terms as there are documents, which is a list, not a choice.
|
|
13
|
+
*
|
|
14
|
+
* `int`/`float`/`convertible_unit` are absent here and present in
|
|
15
|
+
* `RANGE_FEATURE_TYPES` (`state/ranges.ts`): a number is narrowed with two
|
|
16
|
+
* bounds, not with a checkbox per value. They are not dropped from the panel,
|
|
17
|
+
* they are drawn by the other half of the model.
|
|
18
|
+
*/
|
|
19
|
+
export declare const FACETABLE_FEATURE_TYPES: readonly string[];
|
|
20
|
+
/**
|
|
21
|
+
* Can a person filter by the slug this feature def describes?
|
|
22
|
+
*
|
|
23
|
+
* **A missing feature def is not a "no".** `categoryFeatures` is an OPTIONAL
|
|
24
|
+
* slot and a whole deployment can run without it; a feature can also be
|
|
25
|
+
* retired between the write that indexed a value and the read that counts it.
|
|
26
|
+
* Answering "not facetable" for an absent def would blank the entire chip row
|
|
27
|
+
* for every host that never threaded the schema through — the same empty row
|
|
28
|
+
* this rule exists to fix, arrived at from the other side. So the schema can
|
|
29
|
+
* only ever REMOVE a chip it names and disowns; silence removes nothing.
|
|
30
|
+
*
|
|
31
|
+
* The same reasoning covers a def with no `config.type` at all: an untyped
|
|
32
|
+
* feature is a def that says nothing, and nothing is not a verdict.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isFacetableFeature(feature: FeatureDef | undefined): boolean;
|
|
3
35
|
/** One value of one facet. */
|
|
4
36
|
export interface FacetOption {
|
|
5
37
|
readonly value: string;
|
|
@@ -33,6 +65,31 @@ export interface BuildFacetGroupsInput {
|
|
|
33
65
|
readonly state: SearchQueryState;
|
|
34
66
|
/** The category's feature schema, for labels and option order. */
|
|
35
67
|
readonly categoryFeatures?: readonly FeatureDef[];
|
|
68
|
+
/**
|
|
69
|
+
* The envelope's `facet_labels` (stapel-search 0.4.0+, vocabulary-backed
|
|
70
|
+
* from 0.6.0): `{slug: {translatable, values: {value: caption}}}`.
|
|
71
|
+
*
|
|
72
|
+
* The PRIMARY caption source, above `categoryFeatures`. Two reasons, and
|
|
73
|
+
* the second is the one that cannot be worked around:
|
|
74
|
+
*
|
|
75
|
+
* - it is always there. The schema slot is optional and a live classified
|
|
76
|
+
* board never filled it, so its buyers read "Condition: **b-u**" and
|
|
77
|
+
* "Listing kind: **prodayu-svoe**" on the SERP and in the filter chips.
|
|
78
|
+
* - it is the only source that RESOLVED anything. A `ref_select`'s config
|
|
79
|
+
* carries an `optionsRef` pointer and no option table, so a host that
|
|
80
|
+
* threads the entire schema through still has nothing to print for
|
|
81
|
+
* `apple` or `chernyy`. The server read that vocabulary against the
|
|
82
|
+
* snapshot the documents were written with.
|
|
83
|
+
*
|
|
84
|
+
* ABSENT on a server older than 0.4.0 — absent, not empty — which is why
|
|
85
|
+
* every read of it here is optional-chained and every option falls through
|
|
86
|
+
* to the schema and then to its raw self. No labels are invented at any
|
|
87
|
+
* step.
|
|
88
|
+
*/
|
|
89
|
+
readonly facetLabels?: Readonly<Record<string, {
|
|
90
|
+
readonly translatable: boolean;
|
|
91
|
+
readonly values: Readonly<Record<string, string>>;
|
|
92
|
+
}>>;
|
|
36
93
|
/** Translator for label keys. */
|
|
37
94
|
readonly t?: (key: string) => string;
|
|
38
95
|
/** BCP-47 tag, forwarded to `formatFeatureValue` for `date` options. */
|
|
@@ -63,6 +120,13 @@ export declare function facetOptionLabel(feature: FeatureDef | undefined, value:
|
|
|
63
120
|
* person has filtered on — the last one matters: a filter whose slug fell out
|
|
64
121
|
* of the plan must stay visible, or it becomes a constraint with no control to
|
|
65
122
|
* remove it.
|
|
123
|
+
*
|
|
124
|
+
* A slug the category schema names and types as something no one can choose
|
|
125
|
+
* from (see {@link isFacetableFeature}) produces no group at all — not an
|
|
126
|
+
* empty one, because an empty group is still a heading in the panel and still
|
|
127
|
+
* a chip in the row. The APPLIED-filter clause outranks the type rule: a
|
|
128
|
+
* constraint the URL carries always gets its control back, whatever the schema
|
|
129
|
+
* now says about it, or a person is left holding a filter they cannot clear.
|
|
66
130
|
*/
|
|
67
131
|
export declare function buildFacetGroups(input: BuildFacetGroupsInput): readonly FacetGroup[];
|
|
68
132
|
//# sourceMappingURL=facets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../../src/state/facets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../../src/state/facets.ts"],"names":[],"mappings":"AAoDA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAKpD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAK3E;AAED,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;IACzC,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAClD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAC7B,MAAM,CACJ,MAAM,EACN;QAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,CACtF,CACF,CAAC;IACF,iCAAiC;IACjC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAgFD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3E,MAAM,CAkCR;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,SAAS,UAAU,EAAE,CA4EpF"}
|