@fluid-topics/ft-search-selected-facets 2.2.25 → 2.2.26

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.
@@ -1,7 +1,7 @@
1
1
  import { DefaultI18nMessages, I18nMessageContext, I18nMessages } from "@fluid-topics/ft-i18n";
2
2
  export interface FtSearchSelectedFacetsMessages extends I18nMessages {
3
3
  filterGroupLabel(): string;
4
- removeFilterLabel(): string;
4
+ removeNamedFilterLabel(filter: string): string;
5
5
  }
6
6
  export declare const searchSelectedFacets: I18nMessageContext<FtSearchSelectedFacetsMessages>;
7
7
  export declare const searchSelectedFacetsDefaultMessages: DefaultI18nMessages<FtSearchSelectedFacetsMessages>;
@@ -2,5 +2,5 @@ import { I18nMessageContext, } from "@fluid-topics/ft-i18n";
2
2
  export const searchSelectedFacets = I18nMessageContext.build("designedSearchSelectedFacets");
3
3
  export const searchSelectedFacetsDefaultMessages = {
4
4
  filterGroupLabel: "Filters enabled",
5
- removeFilterLabel: "Remove filter",
5
+ removeNamedFilterLabel: "Remove filter: {0}",
6
6
  };
@@ -25,6 +25,7 @@ export declare class FtSearchSelectedFacets extends FtSearchSelectedFacets_base
25
25
  get numberOfChips(): number;
26
26
  constructor();
27
27
  protected render(): typeof nothing | import("lit").TemplateResult<1>;
28
+ private isFacetNegative;
28
29
  private renderFacet;
29
30
  private getNextChipToFocusOn;
30
31
  private determineAndApplyFocus;
@@ -65,6 +65,13 @@ export class FtSearchSelectedFacets extends withAriaNotification(withDateFormat(
65
65
  </div>
66
66
  `;
67
67
  }
68
+ isFacetNegative(key, value) {
69
+ var _a;
70
+ var _b;
71
+ return (_b = (_a = this.filters) === null || _a === void 0 ? void 0 : _a.some((filter) => { var _a, _b; return filter.key === key
72
+ && ((_a = filter.valueFilter) === null || _a === void 0 ? void 0 : _a.negative) === true
73
+ && ((_b = filter.valueFilter.values) === null || _b === void 0 ? void 0 : _b.includes(value)); })) !== null && _b !== void 0 ? _b : false;
74
+ }
68
75
  renderFacet(facetKey, facetLabel, selectedValues, value) {
69
76
  if (facetKey === "ft:publicationId") {
70
77
  return nothing;
@@ -72,13 +79,13 @@ export class FtSearchSelectedFacets extends withAriaNotification(withDateFormat(
72
79
  const keyWithNoColumn = facetKey.replace(":", "-");
73
80
  const displayValue = this.getLabelFromValue(facetKey, value);
74
81
  const displayTooltipValue = this.getBreadcrumbFromValue(facetKey, value);
75
- const label = facetLabel + ": " + displayTooltipValue;
82
+ const label = facetLabel + ": " + (this.isFacetNegative(facetKey, value) ? "NOT " : "") + displayTooltipValue;
76
83
  const noTooltip = !this.forceTooltip && this.displayLabel && displayTooltipValue == displayValue;
77
84
  const chip = html `
78
85
  <ft-chip
79
86
  part="ft-search-selected-facets ft-search-selected-facet-${keyWithNoColumn}"
80
- removable hideIconTooltip
81
- iconLabel="${searchSelectedFacets.messages.removeFilterLabel()}"
87
+ removable hideIconTooltip accessibleLabelOnIcon
88
+ iconLabel="${searchSelectedFacets.messages.removeNamedFilterLabel(label)}"
82
89
  label="${label}"
83
90
  @icon-click=${(e) => {
84
91
  var _a;
@@ -91,7 +98,7 @@ export class FtSearchSelectedFacets extends withAriaNotification(withDateFormat(
91
98
  ${this.displayLabel ? html `
92
99
  <span part="label">${facetLabel}: </span>` : nothing}
93
100
  <span part="values">
94
- ${displayValue}
101
+ ${this.isFacetNegative(facetKey, value) ? html `<strong>NOT</strong> ${displayValue}` : displayValue}
95
102
  </span>
96
103
  </ft-chip>`;
97
104
  return noTooltip ? chip : html `
@@ -167,8 +174,8 @@ export class FtSearchSelectedFacets extends withAriaNotification(withDateFormat(
167
174
  part="ft-search-selected-facets ft-search-selected-facet-search-in-document-titles-only"
168
175
  label="${label}"
169
176
  removable
170
- hideIconTooltip
171
- iconLabel="${searchSelectedFacets.messages.removeFilterLabel()}"
177
+ hideIconTooltip accessibleLabelOnIcon
178
+ iconLabel="${searchSelectedFacets.messages.removeNamedFilterLabel(label)}"
172
179
  @icon-click=${(e) => {
173
180
  var _a;
174
181
  (_a = this.stateManager) === null || _a === void 0 ? void 0 : _a.setSearchInDocumentTitlesOnly(false);
@@ -195,8 +202,8 @@ export class FtSearchSelectedFacets extends withAriaNotification(withDateFormat(
195
202
  part="ft-search-selected-facets ft-search-selected-facet-match-all-keywords"
196
203
  label="${label}"
197
204
  removable
198
- hideIconTooltip
199
- iconLabel="${searchSelectedFacets.messages.removeFilterLabel()}"
205
+ hideIconTooltip accessibleLabelOnIcon
206
+ iconLabel="${searchSelectedFacets.messages.removeNamedFilterLabel(label)}"
200
207
  @icon-click=${(e) => {
201
208
  var _a;
202
209
  (_a = this.stateManager) === null || _a === void 0 ? void 0 : _a.setKeywordMatch(FtSearchKeywordMatch.OPTIONAL);
@@ -230,9 +237,9 @@ export class FtSearchSelectedFacets extends withAriaNotification(withDateFormat(
230
237
  <ft-chip
231
238
  part="ft-search-selected-facets ft-search-selected-facet-period-filter"
232
239
  removable
233
- hideIconTooltip
240
+ hideIconTooltip accessibleLabelOnIcon
234
241
  label="${label}"
235
- iconLabel="${searchSelectedFacets.messages.removeFilterLabel()}"
242
+ iconLabel="${searchSelectedFacets.messages.removeNamedFilterLabel(label)}"
236
243
  @icon-click=${(e) => {
237
244
  var _a;
238
245
  (_a = this.stateManager) === null || _a === void 0 ? void 0 : _a.removeDateFilter(key);
@@ -253,8 +260,8 @@ export class FtSearchSelectedFacets extends withAriaNotification(withDateFormat(
253
260
  part="ft-search-selected-facets ft-search-selected-facet-period-filter"
254
261
  label="${label}"
255
262
  removable
256
- hideIconTooltip
257
- iconLabel="${searchSelectedFacets.messages.removeFilterLabel()}"
263
+ hideIconTooltip accessibleLabelOnIcon
264
+ iconLabel="${searchSelectedFacets.messages.removeNamedFilterLabel(label)}"
258
265
  @icon-click=${(e) => {
259
266
  var _a;
260
267
  (_a = this.stateManager) === null || _a === void 0 ? void 0 : _a.removeRangeFilter(key);