{"version":3,"file":"js/indigenous-cinema-list-page.min.js","mappings":"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","sources":["webpack:///./src/js/helpers/page/common/error.ts","webpack:///./src/js/sections/indigenous-cinema/_indigenous-cinema-header.ts","webpack:///./src/js/wc/indigenous-cinema/NFBIndigenousCinemaFilter.ts","webpack:///./src/sass/sections/indigenous-cinema/indigenous-cinema-list.sass","webpack:///./src/js/wc/indigenous-cinema/NFBIndigenousCinemaList.ts","webpack:///./src/sass/wc/NFBAlphaFilter.sass","webpack:///./src/js/wc/NFBAlphabetFilter.ts","webpack:///./src/sass/sections/indigenous-cinema/_reset.sass"],"sourcesContent":["import { html } from 'lit/static-html.js'\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js'\n\nexport const getNoResultFoundMessage = (isDark: boolean) => {\n  return html`\n    <div data-cy=\"no-result-error\" class=\"nfb-error-message ${isDark ? 'nfb-error-message--dark' : ''}\">\n      <p>${window.pgettext('No result found error message', 'Sorry, none of our films matched your search criteria.')}</p>\n      <ul>\n          <li>${window.pgettext('No result found error message', 'Please check to make sure you checked off the correct filters at the top of the page.')}</li>\n          <li>${window.pgettext('No result found error message', 'Try a more general search.')}</li>\n      </ul>\n      <p>${window.pgettext('No result found error message', 'Not all films from our collection are available online.')}</p>\n      <p>\n        ${window.pgettext('No result found error message', 'It’s possible that the film you’re searching for is not on NFB.ca.')}\n        <br/>\n        ${unsafeHTML(window.interpolate(window.pgettext('No result found error message', 'Please consult the <a href=\"%s\">complete NFB Collection.</a>'), [window.gettext('https://collection.nfb.ca/')]))}\n      </p>\n    </div>`\n}\n","import HorizontalNavManager from '@web-nfb/frontend-static/design-system/script/elements/HorizontalNavManager'\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  const horizontalNav = new HorizontalNavManager()\n  horizontalNav.init()\n})\n","/* ==========================================================================\n  NFBIndigenousCinemaFilter Web Component\n  ========================================================================== */\n\nimport { css, LitElement, nothing, PropertyValues } from 'lit'\nimport { html } from 'lit/static-html.js'\nimport { customElement, property, state, query } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport isEqual from 'lodash/isEqual'\n\nimport { store } from '@src/js/redux/store'\nimport { setFilter, Slider, Filter } from '@src/js/redux/indigenousCinemaReducer'\n\nimport { GTM_EVENTS, LANGUAGE_FILTER_OPTIONS, SORT_BY_FILTER_OPTIONS } from '@src/js/constants'\n\n// @ts-expect-error Lit Sass import\nimport style from '@web-nfb/frontend-static/design-system/sass/elements/select.sass?lit'\n// @ts-expect-error Lit Sass import\nimport filterStyle from '@web-nfb/frontend-static/design-system/sass/elements/filters.sass?lit'\n\nimport NFBSlider from '@web-nfb/frontend-static/design-system/wc/slider/NFBSlider'\nimport NFBSelectLegacy from '@web-nfb/frontend-static/design-system/wc/filters/NFBSelectLegacy'\n\n@customElement('nfb-indigenous-cinema-filter')\nexport default class NFBIndigenousCinemaFilter extends LitElement {\n  @property({ type: String, attribute: 'language' })\n  language = ''\n\n  @property({ type: String, attribute: 'sort' })\n  sort = ''\n\n  @state()\n  filterValues = {}\n\n  @state()\n  yearRange: Slider\n\n  @state()\n  sliderMinMax: Slider\n\n  @state()\n  defaultFilter: Filter\n\n  @query('nfb-slider')\n  _nfbSlider!: NFBSlider\n\n  @query('[data-ui-el=\"nfb-indigenous-cinema-language-filter\"]')\n  _nfbLanguageSelect!: NFBSelectLegacy\n\n  @query('[data-ui-el=\"nfb-indigenous-cinema-sort-filter\"]')\n  _nfbSortSelect!: NFBSelectLegacy\n\n  private _isInitialUpdate: boolean = true\n\n  static styles = [style, filterStyle, css`\n      nfb-slider::part(slider-control) {\n        margin-top: 0px;\n      }\n      nfb-slider::part(slider-text) {\n        max-width: 100%;\n      }\n    `]\n\n  getClasses (): Record<string, boolean> {\n    return {\n      'nfb-form': true,\n      'nfb-filters': true,\n      'nfb-form--dark': true,\n      'nfb-filters--dark': true\n    }\n  }\n\n  constructor () {\n    super()\n    this.onStateChanged = this.onStateChanged.bind(this)\n    this.clearFilter = this.clearFilter.bind(this)\n\n    store.subscribe(this.onStateChanged)\n  }\n\n  protected updated (_changedProperties: PropertyValues): void {\n    if (_changedProperties.has('filterValues') && Object.keys(this.filterValues ?? {}).length > 0) {\n      // the first time filterValues is populated reflects the page's initial state\n      // (already reported by the page's own page_view), not a user-driven change\n      if (!this._isInitialUpdate) {\n        this.sendGTMPageViewSpa(this.filterValues as Filter)\n      }\n      this._isInitialUpdate = false\n    }\n  }\n\n  onStateChanged () {\n    const { indigenousCinema } = store.getState()\n    const updatedFilters = indigenousCinema.filter!\n\n    if (!this.sliderMinMax) {\n      this.sliderMinMax = indigenousCinema.sliderMinMax!\n      this.defaultFilter = {\n        language: window.LOCALE,\n        year_min: this.sliderMinMax?.year_min,\n        year_max: this.sliderMinMax?.year_max,\n        sort: 'year:desc,title',\n        selectedLetter: ''\n      }\n    }\n\n    if (!isEqual(this.filterValues, updatedFilters)) {\n      this.yearRange = {\n        year_min: updatedFilters?.year_min,\n        year_max: updatedFilters?.year_max\n      }\n      this.filterValues = updatedFilters!\n    }\n  }\n\n  sendGTMPageViewSpa = (filterValues: Filter) => {\n    const SORT_GTM_MAP: { [key: string]: string } = {\n      title: 'alphabetical',\n      'year:desc,title': 'production_date:desc'\n    }\n\n    window.dataLayer.push({\n      event: GTM_EVENTS.PAGE_VIEW_SPA,\n      nfb_filter_type: 'language; productionYear',\n      nfb_filter_name: `${filterValues.language || 'all'}; ${filterValues.year_min}-${filterValues.year_max}`,\n      nfb_sortby_name: SORT_GTM_MAP[filterValues.sort]\n    })\n  }\n\n  clearFilter (): void {\n    store.dispatch(setFilter(this.defaultFilter))\n\n    const languageOptions: HTMLElement[] = Array.from(this._nfbLanguageSelect?.shadowRoot?.querySelector('[data-ui-el=\"nfb-form-select-trigger\"]')?.querySelectorAll('[role=\"option\"]') ?? [])\n    const selectedLanguageValue = (languageOptions.find((o) => o.dataset.value === this.defaultFilter.language) as HTMLSelectElement)\n\n    this._nfbLanguageSelect.selectOption(selectedLanguageValue)\n\n    const sortOptions: HTMLElement[] = Array.from(this._nfbSortSelect?.shadowRoot?.querySelector('[data-ui-el=\"nfb-form-select-trigger\"]')?.querySelectorAll('[role=\"option\"]') ?? [])\n    const selectedSortValue = (sortOptions.find((o) => o.dataset.value === this.defaultFilter.sort) as HTMLSelectElement)\n\n    this._nfbSortSelect.selectOption(selectedSortValue)\n\n    this._nfbSlider.handleEndKnobControl(this.defaultFilter.year_min, this.defaultFilter.year_max)\n    this._nfbSlider.dispatchMaxValueChange()\n\n    this._nfbSlider.handleStartKnobControl(this.defaultFilter.year_min, this.defaultFilter.year_max)\n    this._nfbSlider.dispatchMinValueChange()\n  }\n\n  render () {\n    if (this.sliderMinMax && Object.values(this.yearRange).every(value => value !== undefined)) {\n      return html`\n        <div class=\"${classMap(this.getClasses())}\">\n          <nfb-select-legacy\n            data-ui-el=\"nfb-indigenous-cinema-language-filter\"\n            input-id=\"indigenous-cinema-language-filter\"\n            list-id=\"indigenous-cinema-language-filter\"\n            option-list=\"${JSON.stringify(LANGUAGE_FILTER_OPTIONS)}\"\n            is-compact=\"true\"\n            is-dark=\"true\"\n            selected-value=\"${this.language}\"\n          >\n          </nfb-select-legacy>\n          <nfb-select-legacy\n            data-ui-el=\"nfb-indigenous-cinema-sort-filter\"\n            input-id=\"indigenous-cinema-sort-filter\"\n            list-id=\"indigenous-cinema-sort-filter\"\n            option-list=\"${JSON.stringify(SORT_BY_FILTER_OPTIONS)}\"\n            is-compact=\"true\"\n            is-dark=\"true\"\n            selected-value=\"${this.sort}\"\n            label=\"${window.pgettext('Indigenous cinema filters', 'Order By')}\"\n          >\n          </nfb-select-legacy>\n          <nfb-slider\n            slider-min=\"${this.sliderMinMax?.year_min}\"\n            slider-max=\"${this.sliderMinMax?.year_max}\"\n            knob-start=\"${this.yearRange?.year_min}\"\n            knob-end=\"${this.yearRange?.year_max}\"\n            input-length-max=\"4\"\n            input-length-min=\"4\"\n            slider-id=\"production-year\"\n            is-dark=\"true\"\n          >\n          </nfb-slider>\n    ${!isEqual(this.filterValues, this.defaultFilter)\n    ? html`\n      <nfb-button\n        text=\"${window.pgettext('Indigenous cinema filters', 'Clear')}\"\n        secondary-variant=\"discreet\"\n        @click=\"${this.clearFilter}\"\n        is-dark=\"true\"\n      >\n      </nfb-button>`\n    : nothing}\n        </div>`\n    }\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'nfb-indigenous-cinema-filter': NFBIndigenousCinemaFilter\n  }\n}\n","import {css} from 'lit';\nexport const styles = css`nfb-work-page-legend::part(container) {\n  margin-top: 0;\n  margin-bottom: 0;\n}\n\nnfb-see-more {\n  min-height: 300px;\n}\n\n.nfb-grid-list__container {\n  min-height: 300px;\n}\n\n.nfb-grid-list__container .nfb-error-message {\n  --nfb-error-message-link-color: #1C7A3E;\n  padding-top: 16px;\n}\n\n.nfb-grid-list__container .nfb-error-message a {\n  color: var(--nfb-error-message-link-color);\n}\n\n.nfb-grid-list__container .nfb-error-message a:focus-visible {\n  outline: none;\n  text-decoration-thickness: 4px;\n}\n\n.nfb-grid-list__container .nfb-error-message--dark {\n  --nfb-error-message-link-color: #05EE80;\n}\n\nul {\n  padding-left: revert;\n}`;\nexport default styles;\n","/**\n * Class NFBIndigenousCinemaList\n */\n\nimport { LitElement, nothing, PropertyValues } from 'lit'\nimport { html } from 'lit/static-html.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { customElement, state, property } from 'lit/decorators.js'\nimport { classMap } from 'lit-html/directives/class-map.js'\n\nimport { GTM_LIST_CATEGORY, GTM_LIST_TYPE, GTM_EVENTS, GTM_LIST_ID, DEFAULT_GRID_LIST_LENGTH } from '@src/js/constants'\nimport { getAvailabilityStatusForWork, WorkAvailabilityStatus } from '@src/js/helpers/availability'\nimport { getRestriction, getAvailabilityMessage, cardShouldBeDisabled, getNFBAddToMyListButton } from '@src/js/helpers/element/card'\nimport { getNoResultFoundMessage } from '@src/js/helpers/page/common/error'\nimport { formatDuration } from '@src/js/helpers/format'\nimport normanPaths from '@src/js/helpers/paths'\nimport { setFilter, setSliderMinMax, setCurrentPage, setSelectedLetter } from '@src/js/redux/indigenousCinemaReducer'\nimport { fetchFilms, GetFilmsParams, resetFilmList } from '@src/js/redux/filmsReducer'\nimport { store, RootState } from '@src/js/redux/store'\nimport { WorkCard } from '@src/js/redux/worksReducer'\n\n// @ts-expect-error Lit Sass import\nimport cardStyleSlot from '@web-nfb/frontend-static/design-system/wc/card/NFBCardSlot.sass?lit'\n// @ts-expect-error Lit Sass import\nimport gridListStyle from '@web-nfb/frontend-static/design-system/sass/layout/grid-list.sass?lit'\n// @ts-expect-error Lit Sass import\nimport pageStyles from '@web-nfb/frontend-static/design-system/sass/elements/page.sass?lit'\n// @ts-expect-error Lit Sass import\nimport resetStyles from '@src/sass/sections/indigenous-cinema/_reset.sass?lit'\n// @ts-expect-error Lit Sass import\nimport styles from '@src/sass/sections/indigenous-cinema/indigenous-cinema-list.sass?lit'\n\n@customElement('nfb-indigenous-cinema-list')\nexport default class NFBIndigenousCinemaList extends LitElement {\n  @property({ type: String, attribute: 'sort' })\n  sort = ''\n\n  @property({ type: Number, attribute: 'year-min' })\n  yearMin = 1939\n\n  @property({ type: Number, attribute: 'year-max' })\n  yearMax = new Date().getFullYear()\n\n  @property({ type: String, attribute: 'language' })\n  language = ''\n\n  @property({ type: String, attribute: 'selected-letter' })\n  selectedLetter = ''\n\n  @state()\n  filmList: WorkCard[] = []\n\n  @state()\n  thumbnailPattern: string | null = null\n\n  @state()\n  showSeeMore = false\n\n  @state()\n  seeMoreLoading = false\n\n  @state()\n  _isLoaded: boolean = false\n\n  @state()\n  selectedLanguage: string = window.LOCALE\n\n  @state()\n  errorMessage: string | null = null\n\n  @state()\n  alphaFilterList: object | null\n\n  @state()\n  availabilityStatus: WorkAvailabilityStatus = WorkAvailabilityStatus.PUBLIC\n\n  _rootState: RootState\n\n  static get styles () {\n    return [cardStyleSlot, gridListStyle, pageStyles, resetStyles, styles]\n  }\n\n  constructor () {\n    super()\n    this.onStateChanged = this.onStateChanged.bind(this)\n    store.subscribe(this.onStateChanged)\n  }\n\n  async firstUpdated () {\n    document.addEventListener('nfbselect:valuehaschanged', (event: any) => {\n      event.preventDefault()\n      const selectElement = (event.composedPath()[0] as HTMLElement).dataset.uiEl\n      if (selectElement === 'nfb-indigenous-cinema-sort-filter') {\n        this.sort = event.detail\n        if (event.detail === 'title') {\n          if (!this.selectedLetter) this.selectedLetter = 'a'\n        } else {\n          this.selectedLetter = ''\n        }\n        store.dispatch(setSelectedLetter(this.selectedLetter))\n      }\n      this.updateURL()\n    })\n\n    document.addEventListener('nfbslider:minvaluechange', (event: any) => {\n      event.preventDefault()\n      this.yearMin = event.detail\n      this.updateURL()\n    })\n\n    document.addEventListener('nfbslider:maxvaluechange', (event: any) => {\n      event.preventDefault()\n      this.yearMax = event.detail\n      this.updateURL()\n    })\n\n    // to populate alpha filters\n    if (!this.alphaFilterList) {\n      const params: GetFilmsParams = {\n        subset: 'nfb/indigenous-films',\n        language: '',\n        size: 0\n      }\n\n      await store.dispatch(fetchFilms(params))\n      const { films } = store.getState()\n      const yearMinDefault = films.yearRange?.min as number\n      const yearMaxDefault = films.yearRange?.max as number\n\n      if (yearMaxDefault && yearMinDefault && ((this.yearMin > yearMaxDefault) || (this.yearMax > yearMaxDefault) || (this.yearMin < yearMinDefault) || (this.yearMax < yearMinDefault))) {\n        this.yearMin = yearMinDefault\n        this.yearMax = yearMaxDefault\n      }\n\n      store.dispatch(setSliderMinMax({\n        year_min: yearMinDefault,\n        year_max: yearMaxDefault\n      }))\n\n      this.alphaFilterList = films.letterCount\n      if (!this.thumbnailPattern) this.thumbnailPattern = films.thumbnailPattern\n      this.updateURL()\n    }\n  }\n\n  async updated (_changedProperties: PropertyValues) {\n    if (_changedProperties.has('selectedLetter') && this.selectedLetter) {\n      this.updateURL()\n    }\n\n    if ((_changedProperties.has('language') && this.language) || (_changedProperties.has('yearMin') && this.yearMin) || (_changedProperties.has('yearMax') && this.yearMax) || (_changedProperties.has('selectedLetter'))) {\n      this._isLoaded = false\n\n      store.dispatch(resetFilmList())\n      store.dispatch(setCurrentPage(1))\n\n      await this.handleFetchFilms()\n\n      store.dispatch(setFilter({\n        language: this.selectedLanguage,\n        year_min: this.yearMin,\n        year_max: this.yearMax,\n        sort: this.sort,\n        selectedLetter: this.selectedLetter\n      }))\n\n      const { films } = store.getState()\n      this.filmList = films.list ?? []\n      this.errorMessage = films.apiError\n\n      this._isLoaded = true\n    }\n  }\n\n  updateURL = (): void => {\n    const languageOptions: HTMLElement[] = Array.from(document.querySelector('nfb-indigenous-cinema-filter')?.shadowRoot?.querySelector('[data-ui-el=\"nfb-indigenous-cinema-language-filter\"]')?.shadowRoot?.querySelector('[data-ui-el=\"nfb-form-select-trigger\"]')?.querySelectorAll('[role=\"option\"]') ?? [])\n\n    const sortOptions: HTMLElement[] = Array.from(document.querySelector('nfb-indigenous-cinema-filter')?.shadowRoot?.querySelector('[data-ui-el=\"nfb-indigenous-cinema-sort-filter\"]')?.shadowRoot?.querySelector('[data-ui-el=\"nfb-form-select-trigger\"]')?.querySelectorAll('[role=\"option\"]') ?? [])\n\n    const selectedLanguageValue = (languageOptions?.find((o) => o.dataset.uiSelected === 'true') as HTMLSelectElement)?.dataset.value as string\n\n    const selectedSortValue = (sortOptions?.find((o) => o.dataset.uiSelected === 'true') as HTMLSelectElement)?.dataset.value as string\n\n    if (selectedLanguageValue) this.language = this.selectedLanguage = selectedLanguageValue\n\n    const searchParams = new URLSearchParams(window.location.search)\n\n    searchParams.set('language', selectedLanguageValue)\n    searchParams.set('sort', selectedSortValue)\n    searchParams.set('year_min', this.yearMin.toString())\n    searchParams.set('year_max', this.yearMax.toString())\n\n    if (this.selectedLetter) {\n      searchParams.set('title_letter', this.selectedLetter)\n    } else {\n      searchParams.delete('title_letter')\n    }\n\n    window.history.replaceState(null, '', `?${searchParams.toString()}`)\n  }\n\n  async handleFetchFilms (page: number | undefined = undefined, size: number = DEFAULT_GRID_LIST_LENGTH) {\n    if (this.language === 'all') this.selectedLanguage = ''\n    else this.selectedLanguage = this.language\n\n    const params: GetFilmsParams = {\n      subset: 'nfb/indigenous-films',\n      language: this.selectedLanguage,\n      sort: this.sort,\n      ...(page ? { page } : {}),\n      ...(size ? { size } : {}),\n      ...(this.yearMin ? { year_min: this.yearMin } : {}),\n      ...(this.yearMax ? { year_max: this.yearMax } : {}),\n      ...(this.selectedLetter ? { title_letter: this.selectedLetter } : {})\n\n    }\n    await store.dispatch(fetchFilms(params))\n  }\n\n  onStateChanged () {\n    this._rootState = store.getState()\n\n    if (store.getState().films.status === 'succeeded') {\n      const { films } = this._rootState\n      this.filmList = films?.list ?? []\n\n      if (this.filmList.length < films.countFilms!) {\n        this.showSeeMore = true\n      } else {\n        this.showSeeMore = false\n      }\n    }\n  }\n\n  getClasses (availabilityStatus: WorkAvailabilityStatus) {\n    return {\n      'nfb-bookmarks--inactive': cardShouldBeDisabled(availabilityStatus)\n    }\n  }\n\n  getGTMAttributes (film: WorkCard, index: number): string {\n    const gtmAttribute = {\n      nfb_position: (index + 1).toString(),\n      event: GTM_EVENTS.SELECT_WORK,\n      nfb_version_title: film.title,\n      nfb_list_name: 'Cinema autochtone | Indigenous Cinema',\n      nfb_list_type: GTM_LIST_TYPE.GRID,\n      nfb_list_category: GTM_LIST_CATEGORY.SPECIAL_COLLECTION,\n      nfb_list_id: GTM_LIST_ID.INDIGENOUS_CINEMA\n    }\n\n    return JSON.stringify({\n      ...gtmAttribute,\n      nfb_version_title: film?.title\n    })\n  }\n\n  getFilmLegend (film: WorkCard) {\n    return html`\n      ${film.directors?.length\n    ? html`<nfb-work-page-creator\n        creators=\"${JSON.stringify(film.directors)}\"\n        is-unavailable=\"${cardShouldBeDisabled(this.availabilityStatus)}\"\n        is-dark=\"true\"\n      ></nfb-work-page-creator>`\n    : nothing}\n      <div class=\"nfb-legend\">\n        <nfb-work-page-legend \n          year=\"${film.year}\"\n          running-time=\"${formatDuration(film.duration)}\"\n        >\n        </nfb-work-page-legend>\n      </div>\n    `\n  }\n\n  getFilmCard (film: WorkCard, index: number) {\n    const availabilityStatus = getAvailabilityStatusForWork(film)\n    const href = normanPaths.film.replace('{slug}', film.slug)\n    const cardId = `card-${film?.id}`\n\n    return html`\n      <nfb-card\n        part=\"nfb-card\"\n        data-ui-el=\"${cardId}\"\n        class=\"${classMap(this.getClasses(availabilityStatus))}\"\n        title=\"${film.title}\"\n        is-unavailable=\"${cardShouldBeDisabled(availabilityStatus)}\"\n        href=\"${href}\"\n        default-thumbnail=\"${window.FALLBACK_THUMBNAIL_PATTERN.replace('{path}', window.FALLBACK_THUMBNAIL_PATH)}\"\n        thumbnail-path=\"${film.thumbnail}\"\n        thumbnail-url-pattern=\"${this.thumbnailPattern}\"\n        gtm-attributes=\"${this.getGTMAttributes(film, index) ?? nothing}\"\n        is-dark=\"true\"\n        is-rounded=\"true\"\n        hover-icon-name=\"ctrl-play\"\n      >\n        <div slot=\"legend\">\n          ${getRestriction(film, availabilityStatus, true, this._rootState.user)}\n          ${getAvailabilityMessage(availabilityStatus, film, true)}\n          ${this.getFilmLegend(film)}\n        </div>\n        ${getNFBAddToMyListButton(film.id, film.title, true)}\n      </nfb-card>\n    `\n  }\n\n  getSeeMoreCard () {\n    if (!this.filmList?.length || !this.showSeeMore) return nothing\n\n    return html`\n      <nfb-see-more\n        .seeMoreClick=\"${this.seeMoreButtonClick}\"\n        data-ui-el=\"carousel-card\"\n        text=\"${window.gettext('See more')}\"\n        is-dark=\"true\"\n      ></nfb-see-more>\n    `\n  }\n\n  seeMoreButtonClick = async () => {\n    this.seeMoreLoading = true\n    const currentPage = store.getState().indigenousCinema.currentPage\n    const nextPage = currentPage + 1\n\n    store.dispatch(setCurrentPage(nextPage))\n    await this.handleFetchFilms(currentPage)\n    this.seeMoreLoading = false\n  }\n\n  onAlphaFilterClick = (event: Event) => {\n    this.selectedLetter = (event.composedPath()[0] as HTMLElement).dataset.value ?? ''\n    store.dispatch(setSelectedLetter(this.selectedLetter))\n  }\n\n  render () {\n    if (this.errorMessage) {\n      return html`\n        <div class=\"nfb-grid-list__container\" data-cy=\"error-message\">\n        ${this.errorMessage}\n        </div>\n      `\n    }\n    return html`\n      <div class=\"nfb-grid-list__container\">\n  ${this._isLoaded ? nothing : html`<nfb-spinner is-loading=\"true\" size=\"sm\"></nfb-spinner>`}\n  ${this.selectedLetter\n    ? html`\n        <nfb-alpha-filter\n          include-number=\"true\"\n          selected-letter=\"${this.selectedLetter}\"\n          is-dark=\"true\"\n          list=\"${JSON.stringify(this.alphaFilterList)}\"\n          .onClick=${this.onAlphaFilterClick}\n        >\n        </nfb-alpha-filter>\n        <div class=\"nfb-page__title\">\n        <h1 class=\"${this.selectedLetter ? 'nfb-page__title--uppercase' : nothing}\">${this.selectedLetter}<span> (${store.getState().films.countFilms})</span></h1>\n        </div>\n        `\n    : nothing}\n        ${this.filmList && this.filmList.length === 0 && this._isLoaded ? getNoResultFoundMessage(true) : nothing}\n        <div class=\"nfb-grid-list nfb-grid-list--dark\">\n          ${this.filmList && this._isLoaded ? repeat(this.filmList, film => film.id, (film, index) => this.getFilmCard(film, index)) : nothing}\n          ${this.getSeeMoreCard()}\n        </div>\n      </div>\n    `\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'nfb-indigenous-cinema-list': NFBIndigenousCinemaList\n  }\n}\n","import {css} from 'lit';\nexport const styles = css`.nfb-alpha-filter {\n  --nfb-alpha-filter-hover-color: #1C7A3E;\n  --nfb-alpha-filter-text-color: #000000;\n  --nfb-alpha-filter-disabled-color: #B3B2B6;\n  font-family: \"Public Sans\", Georgia, serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-style: normal;\n  font-weight: normal;\n  font-size: 1rem;\n  line-height: 1.5rem;\n  color: #000;\n  text-align: center;\n}\n\n.nfb-alpha-filter ul {\n  list-style-type: none;\n  padding: 0;\n  margin: 0;\n}\n\n.nfb-alpha-filter li {\n  display: inline-block;\n  list-style-type: none;\n}\n\n.nfb-alpha-filter__letter {\n  text-transform: uppercase;\n  display: inline-block;\n  margin: 0;\n  cursor: pointer;\n  text-decoration: none;\n  outline: none;\n  padding-left: 0.25rem;\n  padding-right: 0.25rem;\n  color: var(--nfb-alpha-filter-text-color);\n}\n\n.nfb-alpha-filter__letter:hover {\n  color: var(--nfb-alpha-filter-hover-color);\n  text-decoration: underline;\n}\n\n.nfb-alpha-filter__letter:focus-visible {\n  color: var(--nfb-alpha-filter-hover-color);\n}\n\n.nfb-alpha-filter__letter--selected, .nfb-alpha-filter__letter:focus-visible {\n  text-decoration: underline;\n  text-decoration-thickness: 3px;\n}\n\n.nfb-alpha-filter__letter--disabled {\n  pointer-events: none;\n  cursor: not-allowed;\n  text-decoration: none;\n  color: var(--nfb-alpha-filter-disabled-color);\n}\n\n.nfb-alpha-filter.nfb-alpha-filter--dark {\n  --nfb-alpha-filter-hover-color: #05EE80;\n  --nfb-alpha-filter-text-color: #FFFFFF;\n  --nfb-alpha-filter-disabled-color: #626065;\n}`;\nexport default styles;\n","/* ==========================================================================\n  NFBAlphaFilter Web Component\n  ========================================================================== */\n\nimport { LitElement, nothing } from 'lit'\nimport { html } from 'lit/static-html.js'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nimport { stringToBooleanConverter } from '@web-nfb/frontend-static/design-system/wc/_utils'\n\n// @ts-expect-error Lit Sass import\nimport style from '@src/sass/wc/NFBAlphaFilter.sass?lit'\n\ninterface AlphaObject {\n  [key: string]: string | undefined\n}\n\n@customElement('nfb-alpha-filter')\nexport default class NFBAlphaFilter extends LitElement {\n  @property({ converter: stringToBooleanConverter, attribute: 'is-dark' })\n  isDark = false\n\n  @property({ type: String, attribute: 'selected-letter' })\n  selectedLetter = ''\n\n  @property({ converter: stringToBooleanConverter, attribute: 'include-number' })\n  includeNumber = false\n\n  @property({ type: Object, attribute: 'list' })\n  list: AlphaObject\n\n  @property()\n  onClick: (e: Event) => void = () => {}\n\n  static styles = [style]\n\n  _alphabet: string[] = 'abcdefghijklmnopqrstuvwxyz'.split('')\n\n  connectedCallback (): void {\n    super.connectedCallback()\n    if (this.includeNumber) {\n      this._alphabet = '#abcdefghijklmnopqrstuvwxyz'.split('')\n    }\n  }\n\n  getClasses (): Record<string, boolean> {\n    return {\n      'nfb-alpha-filter': true,\n      'nfb-alpha-filter--dark': this.isDark\n    }\n  }\n\n  getLetterClasses (letter: string): Record<string, boolean> {\n    return {\n      'nfb-alpha-filter__letter': true,\n      'nfb-alpha-filter__letter--selected': letter === this.selectedLetter,\n      'nfb-alpha-filter__letter--disabled': this.isLetterDisabled(letter)\n    }\n  }\n\n  isLetterDisabled (letter: string): boolean {\n    // If list is not defined, all letters should be active\n    if (!this.list) {\n      return false\n    }\n\n    return this.list[letter] === undefined\n  }\n\n  onKeydown (e: KeyboardEvent): void {\n    // Mimic onClick for Enter and Space event\n    const key: string = e.key\n\n    switch (key) {\n    case 'Enter':\n    case ' ':\n      this.onClick(e)\n      break\n    }\n  }\n\n  render () {\n    return html`\n      <div class=\"${classMap(this.getClasses())}\">\n        <ul>\n          ${this._alphabet.map((letter) => html`\n            <li>\n              <span\n                class=\"${classMap(this.getLetterClasses(letter))}\"\n                tabindex=\"${this.isLetterDisabled(letter) ? nothing : '0'}\"\n                @click=${this.onClick}\n                @keydown=\"${this.onKeydown}\"\n                data-value=\"${letter}\"\n              >\n                ${letter}\n              </span>\n            </li>\n          `)}\n        </ul>\n      </div>`\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'nfb-alpha-filter': NFBAlphaFilter\n  }\n}\n","import {css} from 'lit';\nexport const styles = css`.nfb-indigenous-cinema {\n  min-height: 200px;\n}\n\nul {\n  padding-left: 0;\n}\n\na {\n  text-decoration: none;\n}\n\na:focus-visible {\n  outline: none;\n  text-decoration: underline;\n  color: var(--nfb-listing-link-hover) !important;\n}\n\n.nfb-listing {\n  color: var(--nfb-listing-color) !important;\n}\n\n.nfb-page__title--uppercase {\n  text-transform: uppercase;\n}`;\nexport default styles;\n"],"names":["getNoResultFoundMessage","isDark","NFBIndigenousCinemaFilter","filterValues","SORT_GTM_MAP","store","_changedProperties","indigenousCinema","updatedFilters","selectedLanguageValue","o","selectedSortValue","value","NFBIndigenousCinemaList","languageOptions","sortOptions","searchParams","currentPage","nextPage","event","params","films","yearMinDefault","yearMaxDefault","page","size","availabilityStatus","card","film","index","gtmAttribute","format","href","cardId","repeat","NFBAlphaFilter","letter","e"],"sourceRoot":""}