{"version":3,"file":"js/channel-page.min.js","mappings":"6mBAaA,IAAqBA,EAArB,cAA8C,IAAW,CAAzD,kCAEE,UAAO,GAGP,eAAY,GAGZ,YAAS,GAGT,mBAAyB,GAkBnB,mBAAoC,gCAExC,GADA,mBAAM,0BAAN,IAAwB,EACpBC,EAAA,EAAM,SAAS,EAAE,SAAS,SAAW,OAAW,CAClD,MAAMA,EAAA,EAAM,YAAS,MAAa,CAAE,KAAM,KAAK,KAAM,SAAU,GAAI,CAAC,CAAC,EACrE,KAAK,WAAaA,EAAA,EAAM,SAAS,EACjC,MAAMC,EAAqB,KAAK,WAAW,SAC3C,KAAK,aAAeA,EAAmB,IACzC,CACF,CAAC,CAAD,CAEA,sBAA8B,CAC5B,MAAM,qBAAqB,CAC7B,CAEA,QAAU,CAxDZ,QAyDI,SAAO;AAAA;AAAA,0BAEe,KAAK,UAAU,KAAK,YAAY,CAAC;AAAA;AAAA,8BAE7B,KAAmB,GAAG;AAAA,oBAChC,KAAK,SAAS;AAAA,iBACjB,KAAK,IAAI;AAAA,kBACT,OAAK,SAAL,OAAe,IAAO;AAAA,yBACf,OAAK,gBAAL,OAAsB,IAAO;AAAA;AAAA,qBAGnD,CACF,EAxDqBF,EAkBZ,OAAS,IAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASjB,EAzBA,MADC,MAAS,CAAE,KAAM,OAAQ,UAAW,MAAO,CAAC,GAD1BA,EAEnB,oBAGA,MADC,MAAS,CAAE,KAAM,OAAQ,UAAW,YAAa,CAAC,GAJhCA,EAKnB,yBAGA,MADC,MAAS,CAAE,UAAW,IAA0B,UAAW,SAAU,CAAC,GAPpDA,EAQnB,sBAGA,MADC,MAAS,CAAE,UAAW,IAA0B,UAAW,gBAAiB,CAAC,GAV3DA,EAWnB,6BAGA,MADC,MAAM,GAbYA,EAcnB,4BAdmBA,EAArB,MADC,MAAc,oBAAoB,GACdA,CAAgB,C","sources":["webpack:///./src/js/wc/channels-page/NFBChannelDetail.ts"],"sourcesContent":["/**\n * Class NFBChannelDetail\n */\n\nimport { LitElement, html, css, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { store, RootState } from '@src/js/redux/store'\nimport { fetchChannel } from '@src/js/redux/channelsReducer'\nimport { bookmarkButtonType } from '@src/js/wc/cards/NFBDisplayWorkCard'\nimport { stringToBooleanConverter } from '@web-nfb/frontend-static/design-system/wc/_utils'\n\n@customElement('nfb-channel-detail')\nexport default class NFBChannelDetail extends LitElement {\n  @property({ type: String, attribute: 'slug' })\n  slug = ''\n\n  @property({ type: String, attribute: 'list-title' })\n  listTitle = ''\n\n  @property({ converter: stringToBooleanConverter, attribute: 'is-dark' })\n  isDark = false\n\n  @property({ converter: stringToBooleanConverter, attribute: 'is-clothesline' })\n  isClothesLine: boolean = false\n\n  @state()\n  _registryIds: number[] | null\n\n  _rootState: RootState\n\n  static styles = [css`\n    :host {\n      display: flex;\n      min-height: 180px;\n    }\n      \n    nfb-grid-list {\n      width: 100%;\n    }`\n  ]\n\n  async connectedCallback (): Promise<void> {\n    super.connectedCallback()\n    if (store.getState().channels.status === undefined) {\n      await store.dispatch(fetchChannel({ slug: this.slug, per_page: 100 }))\n      this._rootState = store.getState()\n      const channelDetailState = this._rootState.channels\n      this._registryIds = channelDetailState.list\n    }\n  }\n\n  disconnectedCallback (): void {\n    super.disconnectedCallback()\n  }\n\n  render () {\n    return html`\n    <nfb-grid-list\n      registry-id-list=\"${JSON.stringify(this._registryIds)}\"\n      include-progress-bar=\"true\"\n      bookmark-button-type=\"${bookmarkButtonType.add}\"\n      list-title=\"${this.listTitle}\"\n      list-id=\"${this.slug}\"\n      is-dark=\"${this.isDark ?? nothing}\"\n      is-clothesline=\"${this.isClothesLine ?? nothing}\"\n    >\n    </nfb-grid-list>`\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'nfb-channel-detail': NFBChannelDetail\n  }\n}\n"],"names":["NFBChannelDetail","store","channelDetailState"],"sourceRoot":""}