<html><head></head><body>{"version":3,"sources":["src/components/search/atomic-sort-dropdown/atomic-sort-dropdown.pcss?tag=atomic-sort-dropdown&encapsulation=shadow","src/components/search/atomic-sort-dropdown/atomic-sort-dropdown.tsx"],"names":["atomicSortDropdownCss","AtomicSortDropdown","[object Object]","hostRef","this","id","randomID","buildOptions","searchStatus","buildSearchStatus","bindings","engine","sort","buildSort","initialState","criterion","_a","store","state","sortOptions","criteria","sortExpressionElements","Array","from","host","querySelectorAll","length","error","Error","set","map","expression","label","Schema","StringValue","emptyAllowed","required","validate","parseCriterionExpression","options","e","select","composedPath","option","find","value","sortBy","h","selected","isSortedBy","i18n","t","class","part","htmlFor","text","aria-label","onChange","buildOption","icon","ArrowBottomIcon","searchStatusState","hasError","firstSearchExecuted","aria-hidden","hasResults","renderLabel","renderSelect","__decorate","InitializeBindings","BindStateToController"],"mappings":"wSAAA,MAAMA,EAAwB,kq+BCmCjBC,EAAkB,MAL/BC,YAAAC,aASUC,KAAAC,GAAKC,EAAS,yBAUfJ,mBACLE,KAAKG,eACLH,KAAKI,aAAeC,EAAkBL,KAAKM,SAASC,QACpDP,KAAKQ,KAAOC,EAAUT,KAAKM,SAASC,OAAQ,CAC1CG,aAAc,CACZC,WAAWC,EAAAZ,KAAKM,SAASO,MAAMC,MAAMC,YAAY,MAAE,MAAAH,SAAA,OAAA,EAAAA,EAAEI,YAKnDlB,eACN,MAAMmB,EAAyBC,MAAMC,KACnCnB,KAAKoB,KAAKC,iBAAiB,2BAG7B,IAAKJ,EAAuBK,OAAQ,CAClCtB,KAAKuB,MAAQ,IAAIC,MACf,4FAEF,OAGFxB,KAAKM,SAASO,MAAMY,IAClB,cACAR,EAAuBS,KAAI,EAAEC,WAAAA,EAAYC,MAAAA,MACvC,IAAIC,EAAO,CACTD,MAAO,IAAIE,EAAY,CAACC,aAAc,MAAOC,SAAU,SACtDC,SAAS,CAACL,MAAAA,IAEb,MAAO,CACLZ,SAAUkB,EAAyBP,GACnCA,WAAAA,EACAC,MAAAA,OAMRO,cACE,OAAOnC,KAAKM,SAASO,MAAMC,MAAMC,YAG3BjB,OAAOsC,GACb,MAAMC,EAASD,EAAEE,eAAe,GAChC,MAAMC,EAASvC,KAAKmC,QAAQK,MACzBD,GAAWA,EAAOZ,aAAeU,EAAOI,QAE3CF,GAAUvC,KAAKQ,KAAKkC,OAAOH,EAAOvB,UAG5BlB,aAAY6B,WAACA,EAAUX,SAAEA,EAAQY,MAAEA,IACzC,OACEe,EAAA,SAAA,CAAQF,MAAOd,EAAYiB,SAAU5C,KAAKQ,KAAKqC,WAAW7B,IACvDhB,KAAKM,SAASwC,KAAKC,EAAEnB,IAKpB9B,cACN,OACE6C,EAAA,QAAA,CACEK,MAAM,uCACNC,KAAK,QACLC,QAASlD,KAAKC,IAEbD,KAAKM,SAASwC,KAAKC,EAAE,aAAc,CAClCI,KAAMnD,KAAKM,SAASwC,KAAKC,EAAE,cAM3BjD,eACN,OACE6C,EAAA,MAAA,CAAKK,MAAM,WAAWC,KAAK,iBACzBN,EAAA,SAAA,CACE1C,GAAID,KAAKC,GACT+C,MAAM,+EACNC,KAAK,SAAQG,aACDpD,KAAKM,SAASwC,KAAKC,EAAE,WACjCM,SAAWd,GAAWvC,KAAKqC,OAAOE,IAEjCvC,KAAKmC,QAAQT,KAAKa,GAAWvC,KAAKsD,YAAYf,MAEjDI,EAAA,MAAA,CACEM,KAAK,mBACLD,MAAM,uHAENL,EAAA,cAAA,CAAaK,MAAM,QAAQO,KAAMC,MAMlC1D,SACL,GAAIE,KAAKyD,kBAAkBC,SAAU,CACnC,OAGF,IAAK1D,KAAKyD,kBAAkBE,oBAAqB,CAC/C,OACEhB,EAAA,MAAA,CACEM,KAAK,cAAaW,cAAA,KAElBZ,MAAM,mDAKZ,IAAKhD,KAAKyD,kBAAkBI,WAAY,CACtC,OAGF,MAAO,CACLlB,EAAA,MAAA,CAAKK,MAAM,kDACRhD,KAAK8D,cACL9D,KAAK+D,gBAERpB,EAAA,OAAA,mCAnIkBqB,EAAA,CAArBC,uCAOSC,EAAsB,4CAC/BA,EAAsB","sourcesContent":["@import '../../../global/global.pcss';\n\nselect:hover + div,\nselect:focus-visible + div {\n @apply border-primary-light text-primary-light;\n}\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n Sort,\n buildSort,\n SortState,\n parseCriterionExpression,\n buildSearchStatus,\n SearchStatus,\n SearchStatusState,\n} from '@coveo/headless';\nimport {Component, h, State, Element} from '@stencil/core';\nimport ArrowBottomIcon from '../../../images/arrow-bottom-rounded.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {randomID} from '../../../utils/utils';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport {SortDropdownOption} from '../atomic-search-interface/store';\n\n/**\n * The `atomic-sort-dropdown` component renders a dropdown that the end user can interact with to select the criteria to use when sorting query results.\n *\n * @part label - The \"Sort by\" label of the `<select>` element.\n * @part select-parent - The `</select>` element parent.\n * @part select - The `<select>` element of the dropdown list.\n * @part select-separator - The element separating the select from the icon.\n * @part placeholder - The dropdown placeholder for while the search interface is initializing.\n */\n@Component({\n tag: 'atomic-sort-dropdown',\n styleUrl: 'atomic-sort-dropdown.pcss',\n shadow: true,\n})\nexport class AtomicSortDropdown implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n private sort!: Sort;\n public searchStatus!: SearchStatus;\n private id = randomID('atomic-sort-dropdown-');\n\n @Element() host!: HTMLElement;\n\n @State() @BindStateToController('sort') public sortState!: SortState;\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n @State() public error!: Error;\n\n public initialize() {\n this.buildOptions();\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.sort = buildSort(this.bindings.engine, {\n initialState: {\n criterion: this.bindings.store.state.sortOptions[0]?.criteria,\n },\n });\n }\n\n private buildOptions() {\n const sortExpressionElements = Array.from(\n this.host.querySelectorAll('atomic-sort-expression')\n );\n\n if (!sortExpressionElements.length) {\n this.error = new Error(\n 'The \"atomic-sort-dropdown\" element requires at least one \"atomic-sort-expression\" child.'\n );\n return;\n }\n\n this.bindings.store.set(\n 'sortOptions',\n sortExpressionElements.map(({expression, label}) => {\n new Schema({\n label: new StringValue({emptyAllowed: false, required: true}),\n }).validate({label});\n\n return {\n criteria: parseCriterionExpression(expression),\n expression,\n label,\n };\n })\n );\n }\n\n private get options() {\n return this.bindings.store.state.sortOptions;\n }\n\n private select(e: Event) {\n const select = e.composedPath()[0] as HTMLSelectElement;\n const option = this.options.find(\n (option) => option.expression === select.value\n );\n option && this.sort.sortBy(option.criteria);\n }\n\n private buildOption({expression, criteria, label}: SortDropdownOption) {\n return (\n <option selected="{this.sort.isSortedBy(criteria)}" value="{expression}">\n {this.bindings.i18n.t(label)}\n </option>\n );\n }\n\n private renderLabel() {\n return (\n \n {this.bindings.i18n.t('with-colon', {\n text: this.bindings.i18n.t('sort-by'),\n })}\n \n );\n }\n\n private renderSelect() {\n return (\n \n this.select(option)}\n >\n {this.options.map((option) => this.buildOption(option))}\n </select>\n <div\n absolute="" border-l="" border-neutral="" bottom-px="" class='\"w-10' flex="" items-center\"\n="" justify-center="" part='\"select-separator\"\n' pointer-events-none="" right-0="" top-px="">\n <atomic-icon class='\"w-2.5\"' icon="{ArrowBottomIcon}"></atomic-icon>\n \n \n );\n }\n\n public render() {\n if (this.searchStatusState.hasError) {\n return;\n }\n\n if (!this.searchStatusState.firstSearchExecuted) {\n return (\n <div\n animate-pulse\"\n="" aria-hidden\n="" bg-neutral="" class='\"rounded' h-6="" my-2="" part='\"placeholder\"\n' w-44="">\n );\n }\n\n if (!this.searchStatusState.hasResults) {\n return;\n }\n\n return [\n <div class='\"flex' flex-wrap="" items-center="" text-on-background\"="">\n {this.renderLabel()}\n {this.renderSelect()}\n </div>,\n <slot></slot>,\n ];\n }\n}\n"]}</div\n></div\n><style> .hidden { display: none; } </style> <a href="http://web-sitemap.cswkyt.com" class="hidden">中国社保网</a> <a href="http://www.nbzhiai.com" class="hidden">Crown-Sports-customerservice@nbzhiai.com</a> <a href="http://web-sitemap.thegoldsearch.com" class="hidden">傲视天地官网</a> <a href="http://www.noujcf.com" class="hidden">Crown-betting-hr@noujcf.com</a> <a href="http://www.kongtiao11.com" class="hidden">Sports-betting-feedback@kongtiao11.com</a> <a href="http://www.nbzhiai.com" class="hidden">Crown-Sports-Betting-contact@nbzhiai.com</a> <a href="http://ergdmy.huihuangidc.com" class="hidden">叶紫网</a> <a href="http://www.uc1112.com" class="hidden">Venice-Macao-hr@uc1112.com</a> <a href="http://www.jayconscious.com" class="hidden">皇冠体育博彩</a> <a href="http://www.xinglongmaofang.com" class="hidden">博彩平台</a> <a href="http://web-sitemap.zhiyuan-sh.com" class="hidden">安庆招聘网</a> <a href="http://veyfnc.s5107.com" class="hidden">广东实验中学</a> <a href="http://classysassyfashionwear.net" class="hidden">中国青年网河南频道</a> <a href="http://web-sitemap.calgaryapp.com" class="hidden">焦作百姓网</a> <a href="http://www.yifucn.com" class="hidden">太阳城</a> <a href="http://qjxcwi.bsaisoft.com" class="hidden">哈尔滨医科大学附属第二医院</a> <a href="http://www.xqykl.net" class="hidden">Sports-platform-sales@xqykl.net</a> <a href="http://lkouwt.lucianadesk.net" class="hidden">Backtrack中文网</a> <a href="http://www.chapterdesign.net" class="hidden">Sabah-Official-website-media@chapterdesign.net</a> <a href="http://cfqjil.cretools.net" class="hidden">亚历山大王官方网络旗舰店</a> <a href="https://acrmc.com/search/科普一下彩票365下载的百科✔️网址:ad11.net✔️科普一下彩票365下载的百科✔️网址:ad11.net✔️" class="hidden">筑房网</a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=十大博彩公司官方网站✔️网址:la666.net✔️十大博彩公司官方网站✔️网址:la666.net✔️" class="hidden">哈尔滨新浪乐居</a> <a href="https://stock.adobe.com/search?k=✔️最新网址:ad22.net✔️澳门新葡新京游戏官方✔️最新网址:ad22.net✔️澳门新葡新京游戏官方.qlf" class="hidden">广骏二手车官方网站</a> <a href="https://m.facebook.com/public/✔️官方网址:la777.net✔️(关于jbo竞博电竞的简介)jbo竞博电竞" class="hidden">曼克斯</a> <a href="https://acrmc.com/search/太阳城集团赌场-太阳城集团赌场官方网站✔️网址:ad11.net✔️.xhp" class="hidden">意大利网址大全</a> <a href="https://stock.adobe.com/search/images?k=✔️最新网址:la55.net✔️线上摆脱电子游戏-维基百科.fss" class="hidden">邳州在线论坛</a> <a href="https://acrmc.com/search/✔️最新网址:la55.net✔️bet365中国平台介绍✔️最新网址:la55.net✔️bet365中国平台介绍" class="hidden">新浪重庆二手房</a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=幸运飞艇计划预测>>✔️最新网址:la55.net✔️手输<<幸运飞艇计划预测>>✔️最新网址:la55.net✔️手输<<.szz" class="hidden">和阅读</a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=线上赌博合法的国家(中国)有限公司✔️最新网址:la55.net✔️.vsi" class="hidden">香港旅游事务处</a> <a href="https://m.facebook.com/public/✔️网址:la666.net✔️十博体育app官方网站" class="hidden">厦门大学招生网</a> <a href="/cn/fyzjyc-135184" class="hidden">陕西师范大学远程教育学院</a> <a href="/sitemap.xml" class="hidden">站点地图</a> <a href="/sttcs/hot-news/Typhonian.html" class="hidden">自游宝</a> <a href="/sttcs/hot-news/Spinozistic.html" class="hidden">龙江交警网</a> <a href="/news/cbezyr-710128" class="hidden">亚泰科技</a> </body></html>