@skyux/filter-bar 13.11.5 → 13.13.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-filter-bar-testing.mjs","sources":["../tmp-esm2022/testing/modules/filter-bar/filter-item-harness.js","../tmp-esm2022/testing/modules/filter-bar/filter-bar-harness.js","../tmp-esm2022/testing/skyux-filter-bar-testing.js"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n/**\n * Harness to interact with a filter item component in tests.\n */\nexport class SkyFilterItemHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-filter-item-base'; }\n #getButton = this.locatorFor('button.sky-filter-bar-btn');\n #getFilterName = this.locatorFor('span.sky-filter-item-name');\n #getFilterValue = this.locatorForOptional('span.sky-filter-item-value');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFilterBarItemHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyFilterItemHarness.getDataSkyIdPredicate(filters)\n .addOption('filterId', filters.filterId, async (harness, filterId) => {\n const harnessId = await (await harness.#getButton()).getAttribute('data-filter-id');\n return await HarnessPredicate.stringMatches(harnessId, filterId);\n })\n .addOption('labelText', filters.labelText, async (harness, labelText) => {\n const harnessName = await harness.getLabelText();\n return await HarnessPredicate.stringMatches(harnessName, labelText);\n });\n }\n /**\n * Clicks the filter item to open its modal.\n */\n async click() {\n return await (await this.#getButton()).click();\n }\n /**\n * Gets the filter item value.\n */\n async getFilterValue() {\n return await (await this.#getFilterValue())?.text();\n }\n /**\n * Gets the filter item label.\n */\n async getLabelText() {\n return await (await this.#getFilterName()).text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9maWx0ZXItYmFyL3Rlc3Rpbmcvc3JjL21vZHVsZXMvZmlsdGVyLWJhci9maWx0ZXItaXRlbS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQUMzRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsc0JBQXNCLENBQUM7SUFFcEQsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMxRCxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlELGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUV4RTs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFvQztRQUVwQyxPQUFPLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQzthQUN2RCxTQUFTLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNuRSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQ3RCLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUMzQixDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQzthQUNELFNBQVMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ3RFLE1BQU0sV0FBVyxHQUFHLE1BQU0sT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2pELE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZpbHRlckl0ZW1IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vZmlsdGVyLWl0ZW0taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIHRvIGludGVyYWN0IHdpdGggYSBmaWx0ZXIgaXRlbSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGaWx0ZXJJdGVtSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmlsdGVyLWl0ZW0tYmFzZSc7XG5cbiAgI2dldEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLnNreS1maWx0ZXItYmFyLWJ0bicpO1xuICAjZ2V0RmlsdGVyTmFtZSA9IHRoaXMubG9jYXRvckZvcignc3Bhbi5za3ktZmlsdGVyLWl0ZW0tbmFtZScpO1xuICAjZ2V0RmlsdGVyVmFsdWUgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnc3Bhbi5za3ktZmlsdGVyLWl0ZW0tdmFsdWUnKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RmlsdGVyQmFySXRlbUhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGaWx0ZXJJdGVtSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5RmlsdGVySXRlbUhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5RmlsdGVySXRlbUhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpXG4gICAgICAuYWRkT3B0aW9uKCdmaWx0ZXJJZCcsIGZpbHRlcnMuZmlsdGVySWQsIGFzeW5jIChoYXJuZXNzLCBmaWx0ZXJJZCkgPT4ge1xuICAgICAgICBjb25zdCBoYXJuZXNzSWQgPSBhd2FpdCAoXG4gICAgICAgICAgYXdhaXQgaGFybmVzcy4jZ2V0QnV0dG9uKClcbiAgICAgICAgKS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmlsdGVyLWlkJyk7XG4gICAgICAgIHJldHVybiBhd2FpdCBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzc0lkLCBmaWx0ZXJJZCk7XG4gICAgICB9KVxuICAgICAgLmFkZE9wdGlvbignbGFiZWxUZXh0JywgZmlsdGVycy5sYWJlbFRleHQsIGFzeW5jIChoYXJuZXNzLCBsYWJlbFRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaGFybmVzc05hbWUgPSBhd2FpdCBoYXJuZXNzLmdldExhYmVsVGV4dCgpO1xuICAgICAgICByZXR1cm4gYXdhaXQgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGhhcm5lc3NOYW1lLCBsYWJlbFRleHQpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBmaWx0ZXIgaXRlbSB0byBvcGVuIGl0cyBtb2RhbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbHRlciBpdGVtIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZpbHRlclZhbHVlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGaWx0ZXJWYWx1ZSgpKT8udGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbHRlciBpdGVtIGxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExhYmVsVGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0RmlsdGVyTmFtZSgpKS50ZXh0KCk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkySelectionModalHarness } from '@skyux/lookup/testing';\nimport { SkyFilterItemHarness } from './filter-item-harness';\n/**\n * Harness for interacting with a filter bar component in tests.\n */\nexport class SkyFilterBarHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-filter-bar'; }\n #documentRootLocator = this.documentRootLocatorFactory();\n #getClearFiltersButton = this.locatorForOptional('.sky-filter-bar-clear-filters');\n #getFilterPickerButton = this.locatorForOptional('.sky-filter-bar-filter-picker');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFilterBarHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyFilterBarHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the clear filters button.\n */\n async clickClearFilters() {\n const button = await this.#getClearFiltersButton();\n if (!button) {\n throw new Error('Unable to find clear filters button because no filters are set');\n }\n await button.click();\n }\n /**\n * Gets a specific filter item based on the filter criteria.\n * @param filter The filter criteria.\n */\n async getItem(filter) {\n return await this.locatorFor(SkyFilterItemHarness.with(filter))();\n }\n /**\n * Gets an array of filter items based on the filter criteria.\n * If no filter is provided, returns all filter items.\n * @param filters The optional filter criteria.\n */\n async getItems(filters) {\n return await this.locatorForAll(SkyFilterItemHarness.with(filters || {}))();\n }\n /**\n * Checks if the filter bar has active filters.\n */\n async hasActiveFilters() {\n const clearButton = await this.#getClearFiltersButton();\n return !!clearButton;\n }\n /**\n * Checks if the filter picker button is visible.\n */\n async hasFilterPicker() {\n const pickerButton = await this.#getFilterPickerButton();\n return !!pickerButton;\n }\n /**\n * Clicks the filter picker button and returns a harness for the selection modal that it opened.\n */\n async openFilterPicker() {\n const button = await this.#getFilterPickerButton();\n if (!button) {\n throw new Error('Filter picker button not found');\n }\n await button.click();\n return await this.#documentRootLocator.locatorFor(SkySelectionModalHarness)();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZpbHRlci1iYXIvdGVzdGluZy9zcmMvbW9kdWxlcy9maWx0ZXItYmFyL2ZpbHRlci1iYXItaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc3RDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFDMUQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLGdCQUFnQixDQUFDO0lBRTlDLG9CQUFvQixHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBRXpELHNCQUFzQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDOUMsK0JBQStCLENBQ2hDLENBQUM7SUFDRixzQkFBc0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQzlDLCtCQUErQixDQUNoQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBbUM7UUFFbkMsT0FBTyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FDYixnRUFBZ0UsQ0FDakUsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLE9BQU8sQ0FDbEIsTUFBbUM7UUFFbkMsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxRQUFRLENBQ25CLE9BQXFDO1FBRXJDLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN4RCxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN6RCxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsTUFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFckIsT0FBTyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQy9DLHdCQUF3QixDQUN6QixFQUFFLENBQUM7SUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9sb29rdXAvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZpbHRlckJhckhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWx0ZXItYmFyLWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lGaWx0ZXJJdGVtSGFybmVzcyB9IGZyb20gJy4vZmlsdGVyLWl0ZW0taGFybmVzcyc7XG5pbXBvcnQgeyBTa3lGaWx0ZXJJdGVtSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2ZpbHRlci1pdGVtLWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGZpbHRlciBiYXIgY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5RmlsdGVyQmFySGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmlsdGVyLWJhcic7XG5cbiAgI2RvY3VtZW50Um9vdExvY2F0b3IgPSB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCk7XG5cbiAgI2dldENsZWFyRmlsdGVyc0J1dHRvbiA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICcuc2t5LWZpbHRlci1iYXItY2xlYXItZmlsdGVycycsXG4gICk7XG4gICNnZXRGaWx0ZXJQaWNrZXJCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAnLnNreS1maWx0ZXItYmFyLWZpbHRlci1waWNrZXInLFxuICApO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGaWx0ZXJCYXJIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RmlsdGVyQmFySGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5RmlsdGVyQmFySGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lGaWx0ZXJCYXJIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGNsZWFyIGZpbHRlcnMgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrQ2xlYXJGaWx0ZXJzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldENsZWFyRmlsdGVyc0J1dHRvbigpO1xuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gZmluZCBjbGVhciBmaWx0ZXJzIGJ1dHRvbiBiZWNhdXNlIG5vIGZpbHRlcnMgYXJlIHNldCcsXG4gICAgICApO1xuICAgIH1cbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgc3BlY2lmaWMgZmlsdGVyIGl0ZW0gYmFzZWQgb24gdGhlIGZpbHRlciBjcml0ZXJpYS5cbiAgICogQHBhcmFtIGZpbHRlciBUaGUgZmlsdGVyIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEl0ZW0oXG4gICAgZmlsdGVyOiBTa3lGaWx0ZXJJdGVtSGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8U2t5RmlsdGVySXRlbUhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreUZpbHRlckl0ZW1IYXJuZXNzLndpdGgoZmlsdGVyKSkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFuIGFycmF5IG9mIGZpbHRlciBpdGVtcyBiYXNlZCBvbiB0aGUgZmlsdGVyIGNyaXRlcmlhLlxuICAgKiBJZiBubyBmaWx0ZXIgaXMgcHJvdmlkZWQsIHJldHVybnMgYWxsIGZpbHRlciBpdGVtcy5cbiAgICogQHBhcmFtIGZpbHRlcnMgVGhlIG9wdGlvbmFsIGZpbHRlciBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRJdGVtcyhcbiAgICBmaWx0ZXJzPzogU2t5RmlsdGVySXRlbUhhcm5lc3NGaWx0ZXJzLFxuICApOiBQcm9taXNlPFNreUZpbHRlckl0ZW1IYXJuZXNzW10+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yQWxsKFNreUZpbHRlckl0ZW1IYXJuZXNzLndpdGgoZmlsdGVycyB8fCB7fSkpKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBmaWx0ZXIgYmFyIGhhcyBhY3RpdmUgZmlsdGVycy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNBY3RpdmVGaWx0ZXJzKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGNsZWFyQnV0dG9uID0gYXdhaXQgdGhpcy4jZ2V0Q2xlYXJGaWx0ZXJzQnV0dG9uKCk7XG4gICAgcmV0dXJuICEhY2xlYXJCdXR0b247XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBmaWx0ZXIgcGlja2VyIGJ1dHRvbiBpcyB2aXNpYmxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0ZpbHRlclBpY2tlcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBwaWNrZXJCdXR0b24gPSBhd2FpdCB0aGlzLiNnZXRGaWx0ZXJQaWNrZXJCdXR0b24oKTtcbiAgICByZXR1cm4gISFwaWNrZXJCdXR0b247XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBmaWx0ZXIgcGlja2VyIGJ1dHRvbiBhbmQgcmV0dXJucyBhIGhhcm5lc3MgZm9yIHRoZSBzZWxlY3Rpb24gbW9kYWwgdGhhdCBpdCBvcGVuZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgb3BlbkZpbHRlclBpY2tlcigpOiBQcm9taXNlPFNreVNlbGVjdGlvbk1vZGFsSGFybmVzcz4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldEZpbHRlclBpY2tlckJ1dHRvbigpO1xuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZpbHRlciBwaWNrZXIgYnV0dG9uIG5vdCBmb3VuZCcpO1xuICAgIH1cbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLiNkb2N1bWVudFJvb3RMb2NhdG9yLmxvY2F0b3JGb3IoXG4gICAgICBTa3lTZWxlY3Rpb25Nb2RhbEhhcm5lc3MsXG4gICAgKSgpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtZmlsdGVyLWJhci10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZpbHRlci1iYXIvdGVzdGluZy9zcmMvc2t5dXgtZmlsdGVyLWJhci10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-filter-bar-testing.mjs","sources":["../../../../../libs/components/filter-bar/testing/src/modules/filter-bar/filter-item-harness.ts","../../../../../libs/components/filter-bar/testing/src/modules/filter-bar/filter-bar-harness.ts","../../../../../libs/components/filter-bar/testing/src/skyux-filter-bar-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyFilterItemHarnessFilters } from './filter-item-harness-filters';\n\n/**\n * Harness to interact with a filter item component in tests.\n */\nexport class SkyFilterItemHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-filter-item-base';\n\n #getButton = this.locatorFor('button.sky-filter-bar-btn');\n #getFilterName = this.locatorFor('span.sky-filter-item-name');\n #getFilterValue = this.locatorForOptional('span.sky-filter-item-value');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFilterBarItemHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyFilterItemHarnessFilters,\n ): HarnessPredicate<SkyFilterItemHarness> {\n return SkyFilterItemHarness.getDataSkyIdPredicate(filters)\n .addOption('filterId', filters.filterId, async (harness, filterId) => {\n const harnessId = await (\n await harness.#getButton()\n ).getAttribute('data-filter-id');\n return await HarnessPredicate.stringMatches(harnessId, filterId);\n })\n .addOption('labelText', filters.labelText, async (harness, labelText) => {\n const harnessName = await harness.getLabelText();\n return await HarnessPredicate.stringMatches(harnessName, labelText);\n });\n }\n\n /**\n * Clicks the filter item to open its modal.\n */\n public async click(): Promise<void> {\n return await (await this.#getButton()).click();\n }\n\n /**\n * Gets the filter item value.\n */\n public async getFilterValue(): Promise<string | undefined> {\n return await (await this.#getFilterValue())?.text();\n }\n\n /**\n * Gets the filter item label.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getFilterName()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkySelectionModalHarness } from '@skyux/lookup/testing';\n\nimport { SkyFilterBarHarnessFilters } from './filter-bar-harness-filters';\nimport { SkyFilterItemHarness } from './filter-item-harness';\nimport { SkyFilterItemHarnessFilters } from './filter-item-harness-filters';\n\n/**\n * Harness for interacting with a filter bar component in tests.\n */\nexport class SkyFilterBarHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-filter-bar';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getClearFiltersButton = this.locatorForOptional(\n '.sky-filter-bar-clear-filters',\n );\n #getFilterPickerButton = this.locatorForOptional(\n '.sky-filter-bar-filter-picker',\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFilterBarHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyFilterBarHarnessFilters,\n ): HarnessPredicate<SkyFilterBarHarness> {\n return SkyFilterBarHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the clear filters button.\n */\n public async clickClearFilters(): Promise<void> {\n const button = await this.#getClearFiltersButton();\n if (!button) {\n throw new Error(\n 'Unable to find clear filters button because no filters are set',\n );\n }\n await button.click();\n }\n\n /**\n * Gets a specific filter item based on the filter criteria.\n * @param filter The filter criteria.\n */\n public async getItem(\n filter: SkyFilterItemHarnessFilters,\n ): Promise<SkyFilterItemHarness> {\n return await this.locatorFor(SkyFilterItemHarness.with(filter))();\n }\n\n /**\n * Gets an array of filter items based on the filter criteria.\n * If no filter is provided, returns all filter items.\n * @param filters The optional filter criteria.\n */\n public async getItems(\n filters?: SkyFilterItemHarnessFilters,\n ): Promise<SkyFilterItemHarness[]> {\n return await this.locatorForAll(SkyFilterItemHarness.with(filters || {}))();\n }\n\n /**\n * Checks if the filter bar has active filters.\n */\n public async hasActiveFilters(): Promise<boolean> {\n const clearButton = await this.#getClearFiltersButton();\n return !!clearButton;\n }\n\n /**\n * Checks if the filter picker button is visible.\n */\n public async hasFilterPicker(): Promise<boolean> {\n const pickerButton = await this.#getFilterPickerButton();\n return !!pickerButton;\n }\n\n /**\n * Clicks the filter picker button and returns a harness for the selection modal that it opened.\n */\n public async openFilterPicker(): Promise<SkySelectionModalHarness> {\n const button = await this.#getFilterPickerButton();\n if (!button) {\n throw new Error('Filter picker button not found');\n }\n await button.click();\n\n return await this.#documentRootLocator.locatorFor(\n SkySelectionModalHarness,\n )();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -270,13 +270,20 @@ class SkyFilterBarComponent {
|
|
|
270
270
|
#getExistingFilterItems() {
|
|
271
271
|
/* istanbul ignore next: safety check */
|
|
272
272
|
const selectedIds = this.selectedFilterIds() ?? [];
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
.map((
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
273
|
+
const filterItems = this.filterItems();
|
|
274
|
+
return selectedIds
|
|
275
|
+
.map((selectedId) => {
|
|
276
|
+
const filterItem = filterItems.find((item) => item.filterId() === selectedId);
|
|
277
|
+
/* istanbul ignore next: safety check */
|
|
278
|
+
return filterItem
|
|
279
|
+
? {
|
|
280
|
+
filterId: filterItem.filterId(),
|
|
281
|
+
labelText: filterItem.labelText(),
|
|
282
|
+
filterValue: filterItem.filterValue(),
|
|
283
|
+
}
|
|
284
|
+
: undefined;
|
|
285
|
+
})
|
|
286
|
+
.filter((item) => !!item);
|
|
280
287
|
}
|
|
281
288
|
#handleFilterSelection(selectedFilters, existingFilters) {
|
|
282
289
|
const { newFilterItems, removedFilterItems } = this.#processFilterChanges(selectedFilters, existingFilters);
|
|
@@ -540,6 +547,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
540
547
|
|
|
541
548
|
/**
|
|
542
549
|
* The context object that is provided to a filter modal.
|
|
550
|
+
* @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.
|
|
551
|
+
* @typeParam TData - The type of the additional context data. Defaults to `Record<string, unknown>`.
|
|
543
552
|
*/
|
|
544
553
|
class SkyFilterItemModalContext {
|
|
545
554
|
constructor(args) {
|
|
@@ -551,6 +560,8 @@ class SkyFilterItemModalContext {
|
|
|
551
560
|
|
|
552
561
|
/**
|
|
553
562
|
* A specialized `SkyModalInstance` wrapper.
|
|
563
|
+
* @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.
|
|
564
|
+
* @typeParam TData - The type of the additional context data. Defaults to `Record<string, unknown>`.
|
|
554
565
|
*/
|
|
555
566
|
class SkyFilterItemModalInstance {
|
|
556
567
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-filter-bar.mjs","sources":["../tmp-esm2022/lib/modules/shared/sky-filter-bar-resources.module.js","../tmp-esm2022/lib/modules/filter-bar/filter-bar.service.js","../tmp-esm2022/lib/modules/filter-bar/filter-items/filter-item.token.js","../tmp-esm2022/lib/modules/filter-bar/filter-bar.component.js","../tmp-esm2022/lib/modules/filter-bar/filter-items/filter-item-base.component.js","../tmp-esm2022/lib/modules/filter-bar/filter-items/filter-item-lookup.component.js","../tmp-esm2022/lib/modules/filter-bar/models/filter-item-modal-context.js","../tmp-esm2022/lib/modules/filter-bar/models/filter-item-modal-instance.js","../tmp-esm2022/lib/modules/filter-bar/filter-items/filter-item-modal.component.js","../tmp-esm2022/lib/modules/filter-bar/filter-bar.module.js","../tmp-esm2022/skyux-filter-bar.js"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-filter-bar' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';\nimport * as i0 from \"@angular/core\";\nconst RESOURCES = {\n 'EN-US': {\n skyux_filter_bar_clear_filters_confirm_apply_label: {\n message: 'Clear values',\n },\n skyux_filter_bar_clear_filters_confirm_body: {\n message: 'This will not remove any filters, but any values you have set will be removed.',\n },\n skyux_filter_bar_clear_filters_confirm_cancel_label: { message: 'Cancel' },\n skyux_filter_bar_clear_filters_confirm_title: {\n message: 'Are you sure you want to reset all filters to their original values?',\n },\n skyux_filter_bar_clear_filters_label: { message: 'Clear all values' },\n skyux_filter_bar_filter_label: { message: 'Filters' },\n skyux_filter_bar_filter_picker_descriptor: { message: 'filters' },\n skyux_filter_item_n_selected: { message: '{0} selected' },\n },\n 'FR-CA': {\n skyux_filter_bar_clear_filters_confirm_apply_label: {\n message: 'Effacer les valeurs',\n },\n skyux_filter_bar_clear_filters_confirm_body: {\n message: 'Ceci ne supprimera aucun filtre, mais toutes les valeurs que vous avez définies seront supprimées.',\n },\n skyux_filter_bar_clear_filters_confirm_cancel_label: { message: 'Annuler' },\n skyux_filter_bar_clear_filters_confirm_title: {\n message: 'Voulez-vous vraiment réinitialiser tous les filtres à leurs valeurs d’origine?',\n },\n skyux_filter_bar_clear_filters_label: {\n message: 'Effacer toutes les valeurs',\n },\n skyux_filter_bar_filter_label: { message: 'Filtres' },\n skyux_filter_bar_filter_picker_descriptor: { message: 'filtres' },\n skyux_filter_item_n_selected: { message: '{0} sélectionné' },\n },\n};\nSkyLibResourcesService.addResources(RESOURCES);\n/**\n * Import into any component library module that needs to use resource strings.\n */\nexport class SkyFilterBarResourcesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarResourcesModule, exports: [SkyI18nModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarResourcesModule, imports: [SkyI18nModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarResourcesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [SkyI18nModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWZpbHRlci1iYXItcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9maWx0ZXItYmFyL3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LWZpbHRlci1iYXItcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asa0RBQWtELEVBQUU7WUFDbEQsT0FBTyxFQUFFLGNBQWM7U0FDeEI7UUFDRCwyQ0FBMkMsRUFBRTtZQUMzQyxPQUFPLEVBQ0wsZ0ZBQWdGO1NBQ25GO1FBQ0QsbURBQW1ELEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQzFFLDRDQUE0QyxFQUFFO1lBQzVDLE9BQU8sRUFDTCxzRUFBc0U7U0FDekU7UUFDRCxvQ0FBb0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtRQUNyRSw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7UUFDckQseUNBQXlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQ2pFLDRCQUE0QixFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtLQUMxRDtJQUNELE9BQU8sRUFBRTtRQUNQLGtEQUFrRCxFQUFFO1lBQ2xELE9BQU8sRUFBRSxxQkFBcUI7U0FDL0I7UUFDRCwyQ0FBMkMsRUFBRTtZQUMzQyxPQUFPLEVBQ0wsb0dBQW9HO1NBQ3ZHO1FBQ0QsbURBQW1ELEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQzNFLDRDQUE0QyxFQUFFO1lBQzVDLE9BQU8sRUFDTCxnRkFBZ0Y7U0FDbkY7UUFDRCxvQ0FBb0MsRUFBRTtZQUNwQyxPQUFPLEVBQUUsNEJBQTRCO1NBQ3RDO1FBQ0QsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQ3JELHlDQUF5QyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUNqRSw0QkFBNEIsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRTtLQUM3RDtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sMkJBQTJCOytHQUEzQiwyQkFBMkI7Z0hBQTNCLDJCQUEyQixZQUY1QixhQUFhO2dIQUVaLDJCQUEyQixZQUY1QixhQUFhOzs0RkFFWiwyQkFBMkI7a0JBSHZDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1maWx0ZXItYmFyJyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuY29uc3QgUkVTT1VSQ0VTOiBSZWNvcmQ8c3RyaW5nLCBTa3lMaWJSZXNvdXJjZXM+ID0ge1xuICAnRU4tVVMnOiB7XG4gICAgc2t5dXhfZmlsdGVyX2Jhcl9jbGVhcl9maWx0ZXJzX2NvbmZpcm1fYXBwbHlfbGFiZWw6IHtcbiAgICAgIG1lc3NhZ2U6ICdDbGVhciB2YWx1ZXMnLFxuICAgIH0sXG4gICAgc2t5dXhfZmlsdGVyX2Jhcl9jbGVhcl9maWx0ZXJzX2NvbmZpcm1fYm9keToge1xuICAgICAgbWVzc2FnZTpcbiAgICAgICAgJ1RoaXMgd2lsbCBub3QgcmVtb3ZlIGFueSBmaWx0ZXJzLCBidXQgYW55IHZhbHVlcyB5b3UgaGF2ZSBzZXQgd2lsbCBiZSByZW1vdmVkLicsXG4gICAgfSxcbiAgICBza3l1eF9maWx0ZXJfYmFyX2NsZWFyX2ZpbHRlcnNfY29uZmlybV9jYW5jZWxfbGFiZWw6IHsgbWVzc2FnZTogJ0NhbmNlbCcgfSxcbiAgICBza3l1eF9maWx0ZXJfYmFyX2NsZWFyX2ZpbHRlcnNfY29uZmlybV90aXRsZToge1xuICAgICAgbWVzc2FnZTpcbiAgICAgICAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCBhbGwgZmlsdGVycyB0byB0aGVpciBvcmlnaW5hbCB2YWx1ZXM/JyxcbiAgICB9LFxuICAgIHNreXV4X2ZpbHRlcl9iYXJfY2xlYXJfZmlsdGVyc19sYWJlbDogeyBtZXNzYWdlOiAnQ2xlYXIgYWxsIHZhbHVlcycgfSxcbiAgICBza3l1eF9maWx0ZXJfYmFyX2ZpbHRlcl9sYWJlbDogeyBtZXNzYWdlOiAnRmlsdGVycycgfSxcbiAgICBza3l1eF9maWx0ZXJfYmFyX2ZpbHRlcl9waWNrZXJfZGVzY3JpcHRvcjogeyBtZXNzYWdlOiAnZmlsdGVycycgfSxcbiAgICBza3l1eF9maWx0ZXJfaXRlbV9uX3NlbGVjdGVkOiB7IG1lc3NhZ2U6ICd7MH0gc2VsZWN0ZWQnIH0sXG4gIH0sXG4gICdGUi1DQSc6IHtcbiAgICBza3l1eF9maWx0ZXJfYmFyX2NsZWFyX2ZpbHRlcnNfY29uZmlybV9hcHBseV9sYWJlbDoge1xuICAgICAgbWVzc2FnZTogJ0VmZmFjZXIgbGVzIHZhbGV1cnMnLFxuICAgIH0sXG4gICAgc2t5dXhfZmlsdGVyX2Jhcl9jbGVhcl9maWx0ZXJzX2NvbmZpcm1fYm9keToge1xuICAgICAgbWVzc2FnZTpcbiAgICAgICAgJ0NlY2kgbmUgc3VwcHJpbWVyYSBhdWN1biBmaWx0cmUsIG1haXMgdG91dGVzIGxlcyB2YWxldXJzIHF1ZSB2b3VzIGF2ZXogZMOpZmluaWVzIHNlcm9udCBzdXBwcmltw6llcy4nLFxuICAgIH0sXG4gICAgc2t5dXhfZmlsdGVyX2Jhcl9jbGVhcl9maWx0ZXJzX2NvbmZpcm1fY2FuY2VsX2xhYmVsOiB7IG1lc3NhZ2U6ICdBbm51bGVyJyB9LFxuICAgIHNreXV4X2ZpbHRlcl9iYXJfY2xlYXJfZmlsdGVyc19jb25maXJtX3RpdGxlOiB7XG4gICAgICBtZXNzYWdlOlxuICAgICAgICAnVm91bGV6LXZvdXMgdnJhaW1lbnQgcsOpaW5pdGlhbGlzZXIgdG91cyBsZXMgZmlsdHJlcyDDoCBsZXVycyB2YWxldXJzIGTigJlvcmlnaW5lPycsXG4gICAgfSxcbiAgICBza3l1eF9maWx0ZXJfYmFyX2NsZWFyX2ZpbHRlcnNfbGFiZWw6IHtcbiAgICAgIG1lc3NhZ2U6ICdFZmZhY2VyIHRvdXRlcyBsZXMgdmFsZXVycycsXG4gICAgfSxcbiAgICBza3l1eF9maWx0ZXJfYmFyX2ZpbHRlcl9sYWJlbDogeyBtZXNzYWdlOiAnRmlsdHJlcycgfSxcbiAgICBza3l1eF9maWx0ZXJfYmFyX2ZpbHRlcl9waWNrZXJfZGVzY3JpcHRvcjogeyBtZXNzYWdlOiAnZmlsdHJlcycgfSxcbiAgICBza3l1eF9maWx0ZXJfaXRlbV9uX3NlbGVjdGVkOiB7IG1lc3NhZ2U6ICd7MH0gc8OpbGVjdGlvbm7DqScgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpbHRlckJhclJlc291cmNlc01vZHVsZSB7fVxuIl19","import { Injectable } from '@angular/core';\nimport { ReplaySubject, Subject, filter, map } from 'rxjs';\nimport * as i0 from \"@angular/core\";\n/**\n * Service for filter items to emit value changes to the filter bar.\n * @internal\n */\nexport class SkyFilterBarService {\n constructor() {\n this.#filterItemUpdates = new Subject();\n this.#filterValueUpdates = new ReplaySubject();\n /**\n * Observable stream of filter item updates.\n */\n this.filterItemUpdated = this.#filterItemUpdates.asObservable();\n }\n #filterItemUpdates;\n #filterValueUpdates;\n /**\n * Filtered observable stream of filter value updates.\n * @param filterId the\n * @returns\n */\n getFilterValueUpdates(filterId) {\n return this.#filterValueUpdates.pipe(filter((update) => update.filterId === filterId), map((item) => item.filterValue));\n }\n /**\n * Emit a filter value update.\n */\n updateFilter(filter) {\n this.#filterItemUpdates.next(filter);\n }\n updateFilters(filters) {\n for (const filter of filters) {\n this.#filterValueUpdates.next(filter);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZpbHRlci1iYXIvc3JjL2xpYi9tb2R1bGVzL2ZpbHRlci1iYXIvZmlsdGVyLWJhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLdkU7OztHQUdHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVXLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUEwQixDQUFDO1FBQzNELHdCQUFtQixHQUFHLElBQUksYUFBYSxFQUEwQixDQUFDO1FBRTNFOztXQUVHO1FBQ2Esc0JBQWlCLEdBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQTJCMUM7SUFsQ1Usa0JBQWtCLENBQXlDO0lBQzNELG1CQUFtQixDQUErQztJQVEzRTs7OztPQUlHO0lBQ0kscUJBQXFCLENBQzFCLFFBQWdCO1FBRWhCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDbEMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxFQUNoRCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDaEMsQ0FBQztJQUNKLENBQUM7SUFDRDs7T0FFRztJQUNJLFlBQVksQ0FBQyxNQUE4QjtRQUNoRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBaUM7UUFDcEQsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDOytHQWxDVSxtQkFBbUI7bUhBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5RmlsdGVyQmFyRmlsdGVySXRlbSB9IGZyb20gJy4vbW9kZWxzL2ZpbHRlci1iYXItZmlsdGVyLWl0ZW0nO1xuaW1wb3J0IHsgU2t5RmlsdGVyQmFyRmlsdGVyVmFsdWUgfSBmcm9tICcuL21vZGVscy9maWx0ZXItYmFyLWZpbHRlci12YWx1ZSc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgZmlsdGVyIGl0ZW1zIHRvIGVtaXQgdmFsdWUgY2hhbmdlcyB0byB0aGUgZmlsdGVyIGJhci5cbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5RmlsdGVyQmFyU2VydmljZSB7XG4gIHJlYWRvbmx5ICNmaWx0ZXJJdGVtVXBkYXRlcyA9IG5ldyBTdWJqZWN0PFNreUZpbHRlckJhckZpbHRlckl0ZW0+KCk7XG4gIHJlYWRvbmx5ICNmaWx0ZXJWYWx1ZVVwZGF0ZXMgPSBuZXcgUmVwbGF5U3ViamVjdDxTa3lGaWx0ZXJCYXJGaWx0ZXJJdGVtPigpO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHN0cmVhbSBvZiBmaWx0ZXIgaXRlbSB1cGRhdGVzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZpbHRlckl0ZW1VcGRhdGVkOiBPYnNlcnZhYmxlPFNreUZpbHRlckJhckZpbHRlckl0ZW0+ID1cbiAgICB0aGlzLiNmaWx0ZXJJdGVtVXBkYXRlcy5hc09ic2VydmFibGUoKTtcblxuICAvKipcbiAgICogRmlsdGVyZWQgb2JzZXJ2YWJsZSBzdHJlYW0gb2YgZmlsdGVyIHZhbHVlIHVwZGF0ZXMuXG4gICAqIEBwYXJhbSBmaWx0ZXJJZCB0aGVcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyBnZXRGaWx0ZXJWYWx1ZVVwZGF0ZXMoXG4gICAgZmlsdGVySWQ6IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTxTa3lGaWx0ZXJCYXJGaWx0ZXJWYWx1ZSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLiNmaWx0ZXJWYWx1ZVVwZGF0ZXMucGlwZShcbiAgICAgIGZpbHRlcigodXBkYXRlKSA9PiB1cGRhdGUuZmlsdGVySWQgPT09IGZpbHRlcklkKSxcbiAgICAgIG1hcCgoaXRlbSkgPT4gaXRlbS5maWx0ZXJWYWx1ZSksXG4gICAgKTtcbiAgfVxuICAvKipcbiAgICogRW1pdCBhIGZpbHRlciB2YWx1ZSB1cGRhdGUuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlRmlsdGVyKGZpbHRlcjogU2t5RmlsdGVyQmFyRmlsdGVySXRlbSk6IHZvaWQge1xuICAgIHRoaXMuI2ZpbHRlckl0ZW1VcGRhdGVzLm5leHQoZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGaWx0ZXJzKGZpbHRlcnM6IFNreUZpbHRlckJhckZpbHRlckl0ZW1bXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgZmlsdGVyIG9mIGZpbHRlcnMpIHtcbiAgICAgIHRoaXMuI2ZpbHRlclZhbHVlVXBkYXRlcy5uZXh0KGZpbHRlcik7XG4gICAgfVxuICB9XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\n/**\n * A token for filter bar items.\n * @internal\n */\nexport const SKY_FILTER_ITEM = new InjectionToken('SKY_FILTER_ITEM');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0udG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9zcmMvbGliL21vZHVsZXMvZmlsdGVyLWJhci9maWx0ZXItaXRlbXMvZmlsdGVyLWl0ZW0udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQy9DLGlCQUFpQixDQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RmlsdGVySXRlbSB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItaXRlbSc7XG5cbi8qKlxuICogQSB0b2tlbiBmb3IgZmlsdGVyIGJhciBpdGVtcy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgU0tZX0ZJTFRFUl9JVEVNID0gbmV3IEluamVjdGlvblRva2VuPFNreUZpbHRlckl0ZW0+KFxuICAnU0tZX0ZJTFRFUl9JVEVNJyxcbik7XG4iXX0=","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, contentChildren, effect, inject, model, untracked, } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport { SkyFilterStateService } from '@skyux/lists';\nimport { SkySelectionModalService, } from '@skyux/lookup';\nimport { SkyConfirmService, SkyConfirmType, } from '@skyux/modals';\nimport { of } from 'rxjs';\nimport { SkyFilterBarResourcesModule } from '../shared/sky-filter-bar-resources.module';\nimport { SkyFilterBarService } from './filter-bar.service';\nimport { SKY_FILTER_ITEM } from './filter-items/filter-item.token';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/icon\";\nimport * as i2 from \"@skyux/layout\";\nimport * as i3 from \"@skyux/i18n\";\n/**\n * The top-level filter bar component.\n */\nexport class SkyFilterBarComponent {\n #confirmSvc;\n #filterBarSvc;\n #filterStateSvc;\n #filterItemUpdated;\n #modalSvc;\n #resourceSvc;\n #sourceId;\n #strings;\n constructor() {\n /**\n * An array of filter items containing the IDs and values of the filters that have been set.\n */\n this.appliedFilters = model(...(ngDevMode ? [undefined, { debugName: \"appliedFilters\" }] : []));\n /**\n * An array of filter IDs that the user has selected using the built-in selection modal. Setting this input to undefined results in all filters being displayed.\n */\n this.selectedFilterIds = model(...(ngDevMode ? [undefined, { debugName: \"selectedFilterIds\" }] : []));\n this.filterItems = contentChildren(SKY_FILTER_ITEM, ...(ngDevMode ? [{ debugName: \"filterItems\" }] : []));\n this.visibleFilters = computed(() => {\n const items = this.filterItems();\n const selectedFilters = this.selectedFilterIds();\n const visibleFilters = [];\n if (items) {\n if (selectedFilters) {\n for (const id of selectedFilters) {\n visibleFilters.push(items.find((item) => item.filterId() === id));\n }\n }\n else {\n for (const item of items) {\n visibleFilters.push(item);\n }\n }\n }\n return visibleFilters.filter((item) => !!item);\n }, ...(ngDevMode ? [{ debugName: \"visibleFilters\" }] : []));\n this.#confirmSvc = inject(SkyConfirmService);\n this.#filterBarSvc = inject(SkyFilterBarService);\n this.#filterStateSvc = inject(SkyFilterStateService, { optional: true });\n this.#filterItemUpdated = toSignal(this.#filterBarSvc.filterItemUpdated);\n this.#modalSvc = inject(SkySelectionModalService);\n this.#resourceSvc = inject(SkyLibResourcesService);\n this.#sourceId = 'skyFilterBar';\n this.#strings = toSignal(this.#resourceSvc.getStrings({\n descriptor: 'skyux_filter_bar_filter_picker_descriptor',\n title: 'skyux_filter_bar_clear_filters_confirm_title',\n body: 'skyux_filter_bar_clear_filters_confirm_body',\n save: 'skyux_filter_bar_clear_filters_confirm_apply_label',\n cancel: 'skyux_filter_bar_clear_filters_confirm_cancel_label',\n }));\n /* istanbul ignore next */\n this.#filterAsyncSearchFn = (args) => {\n const items = this.filterItems().map((item) => ({\n filterId: item.filterId(),\n labelText: item.labelText(),\n }));\n const results = args.searchText\n ? items.filter((item) => item.labelText\n .toLocaleUpperCase()\n .includes(args.searchText.toLocaleUpperCase()))\n : items;\n return of({\n items: results,\n totalCount: items.length,\n });\n };\n // Subscribe to filter value updates from child filter items\n effect(() => {\n const updatedFilter = this.#filterItemUpdated();\n if (updatedFilter) {\n this.#updateFilter(updatedFilter);\n }\n });\n // Push filter value updates to child filter items\n effect(() => {\n const filters = this.appliedFilters();\n this.#updateFilters(filters);\n });\n // If a filter state service is present, subscribe to its updates and reflect into local signals.\n if (this.#filterStateSvc) {\n const filterStateUpdates = toSignal(this.#filterStateSvc.getFilterStateUpdates(this.#sourceId));\n effect(() => {\n const data = filterStateUpdates();\n if (data) {\n this.appliedFilters.set(data.appliedFilters);\n this.selectedFilterIds.set(data.selectedFilterIds);\n }\n });\n }\n }\n openFilters() {\n const strings = this.#strings();\n const existingFilters = this.#getExistingFilterItems();\n /* istanbul ignore if: safety check */\n if (!strings) {\n return;\n }\n const filterArgs = {\n selectionDescriptor: strings.descriptor,\n descriptorProperty: 'labelText',\n idProperty: 'filterId',\n selectMode: 'multiple',\n value: existingFilters,\n searchAsync: this.#filterAsyncSearchFn,\n };\n const modalInstance = this.#modalSvc.open(filterArgs);\n modalInstance.closed.subscribe((closeArgs) => {\n if (closeArgs.reason === 'save') {\n this.#handleFilterSelection(closeArgs.selectedItems, existingFilters);\n }\n });\n }\n clearFilters() {\n const strings = this.#strings();\n /* istanbul ignore if: safety check */\n if (!strings) {\n return;\n }\n const config = {\n message: strings.title,\n body: strings.body,\n type: SkyConfirmType.Custom,\n buttons: [\n {\n action: 'save',\n text: strings.save,\n styleType: 'primary',\n },\n {\n action: 'cancel',\n text: strings.cancel,\n styleType: 'link',\n },\n ],\n };\n const instance = this.#confirmSvc.open(config);\n instance.closed.subscribe((result) => {\n if (result.action === 'save') {\n this.appliedFilters.set(undefined);\n this.#updateFilterData();\n }\n });\n }\n #getExistingFilterItems() {\n /* istanbul ignore next: safety check */\n const selectedIds = this.selectedFilterIds() ?? [];\n return this.filterItems()\n .filter((item) => selectedIds.includes(item.filterId()))\n .map((item) => ({\n filterId: item.filterId(),\n labelText: item.labelText(),\n filterValue: item.filterValue(),\n }));\n }\n #handleFilterSelection(selectedFilters, existingFilters) {\n const { newFilterItems, removedFilterItems } = this.#processFilterChanges(selectedFilters, existingFilters);\n const selectedIds = newFilterItems.map((item) => item.filterId);\n this.selectedFilterIds.set(selectedIds);\n if (removedFilterItems.length) {\n this.#updateFilters(removedFilterItems);\n const newFilters = newFilterItems.filter((filter) => !!filter.filterValue);\n this.appliedFilters.set(newFilters.length ? newFilters : undefined);\n }\n this.#updateFilterData();\n }\n #processFilterChanges(selectedFilters, existingFilters) {\n const newFilterItems = [];\n const removedFilterItems = [];\n // Process existing filters\n for (const existingFilter of existingFilters) {\n if (this.#isFilterSelected(existingFilter.filterId, selectedFilters)) {\n newFilterItems.push({\n filterId: existingFilter.filterId,\n filterValue: existingFilter.filterValue,\n });\n }\n else {\n removedFilterItems.push({ filterId: existingFilter.filterId });\n }\n }\n // Add newly selected filters\n if (selectedFilters) {\n for (const selectedFilter of selectedFilters) {\n if (!this.#isFilterInList(selectedFilter.filterId, newFilterItems)) {\n newFilterItems.push({ filterId: selectedFilter.filterId });\n }\n }\n }\n return { newFilterItems, removedFilterItems };\n }\n #isFilterSelected(filterId, selectedFilters) {\n return !!selectedFilters?.find((selectedFilter) => selectedFilter.filterId === filterId);\n }\n #isFilterInList(filterId, filterList) {\n return !!filterList.find((filter) => filter.filterId === filterId);\n }\n /* istanbul ignore next */\n #filterAsyncSearchFn;\n #updateFilter(updatedFilter) {\n const filters = untracked(() => this.appliedFilters()) ?? [];\n const newFilterValues = [];\n let replaceFilter = false;\n for (const filterValue of filters) {\n if (filterValue.filterId === updatedFilter.filterId) {\n if (updatedFilter.filterValue) {\n newFilterValues.push(updatedFilter);\n }\n else {\n this.#updateFilters([updatedFilter]);\n }\n replaceFilter = true;\n }\n else {\n newFilterValues.push(filterValue);\n }\n }\n if (!replaceFilter && updatedFilter.filterValue) {\n newFilterValues.push(updatedFilter);\n }\n this.appliedFilters.set(newFilterValues.length ? newFilterValues : undefined);\n this.#updateFilterData();\n }\n #updateFilters(updatedFilters) {\n if (updatedFilters?.length) {\n this.#filterBarSvc.updateFilters(updatedFilters);\n }\n else {\n this.#filterBarSvc.updateFilters(untracked(() => this.filterItems()).map((filterItem) => ({\n filterId: filterItem.filterId(),\n })));\n }\n }\n #updateFilterData() {\n if (this.#filterStateSvc) {\n const appliedFilters = untracked(() => this.appliedFilters());\n const selectedFilterIds = untracked(() => this.selectedFilterIds());\n this.#filterStateSvc.updateFilterState({\n appliedFilters,\n selectedFilterIds,\n }, this.#sourceId);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyFilterBarComponent, isStandalone: true, selector: \"sky-filter-bar\", inputs: { appliedFilters: { classPropertyName: \"appliedFilters\", publicName: \"appliedFilters\", isSignal: true, isRequired: false, transformFunction: null }, selectedFilterIds: { classPropertyName: \"selectedFilterIds\", publicName: \"selectedFilterIds\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { appliedFilters: \"appliedFiltersChange\", selectedFilterIds: \"selectedFilterIdsChange\" }, providers: [SkyFilterBarService], queries: [{ propertyName: \"filterItems\", predicate: SKY_FILTER_ITEM, isSignal: true }], ngImport: i0, template: \"<sky-toolbar class=\\\"sky-filter-bar-toolbar\\\">\\n <sky-toolbar-item>\\n <span class=\\\"sky-font-data-label\\\">{{\\n 'skyux_filter_bar_filter_label' | skyLibResources\\n }}</span>\\n </sky-toolbar-item>\\n @if (!!selectedFilterIds()) {\\n <sky-toolbar-item>\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-filter-bar-filter-picker sky-btn sky-filter-bar-btn sky-btn-default sky-btn-icon\\\"\\n (click)=\\\"openFilters()\\\"\\n >\\n <sky-icon iconName=\\\"filter\\\" />\\n </button>\\n </sky-toolbar-item>\\n }\\n @for (filter of visibleFilters(); track filter.filterId()) {\\n <sky-toolbar-item>\\n <ng-container *ngTemplateOutlet=\\\"filter.templateRef() ?? null\\\" />\\n </sky-toolbar-item>\\n }\\n @if (appliedFilters()?.length) {\\n <sky-toolbar-item>\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-filter-bar-clear-filters sky-btn sky-filter-bar-btn sky-btn-link\\\"\\n (click)=\\\"clearFilters()\\\"\\n >\\n {{ 'skyux_filter_bar_clear_filters_label' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n }\\n</sky-toolbar>\\n\", styles: [\":host{display:block}:host-context(.sky-theme-modern) .sky-filter-bar-toolbar{--sky-override-toolbar-container-padding: var( --sky-comp-filter_bar-space-inset-top ) var(--sky-comp-filter_bar-space-inset-right) var(--sky-comp-filter_bar-space-inset-bottom) var(--sky-comp-filter_bar-space-inset-left)}:host-context(.sky-data-manager-toolbar){border-top:var(--sky-override-toolbar-border-top-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider))}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: SkyFilterBarResourcesModule }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i1.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i2.λ37, selector: \"sky-toolbar\", inputs: [\"listDescriptor\"] }, { kind: \"component\", type: i2.λ39, selector: \"sky-toolbar-item\" }, { kind: \"pipe\", type: i3.SkyLibResourcesPipe, name: \"skyLibResources\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-filter-bar', imports: [\n NgTemplateOutlet,\n SkyFilterBarResourcesModule,\n SkyIconModule,\n SkyToolbarModule,\n ], providers: [SkyFilterBarService], template: \"<sky-toolbar class=\\\"sky-filter-bar-toolbar\\\">\\n <sky-toolbar-item>\\n <span class=\\\"sky-font-data-label\\\">{{\\n 'skyux_filter_bar_filter_label' | skyLibResources\\n }}</span>\\n </sky-toolbar-item>\\n @if (!!selectedFilterIds()) {\\n <sky-toolbar-item>\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-filter-bar-filter-picker sky-btn sky-filter-bar-btn sky-btn-default sky-btn-icon\\\"\\n (click)=\\\"openFilters()\\\"\\n >\\n <sky-icon iconName=\\\"filter\\\" />\\n </button>\\n </sky-toolbar-item>\\n }\\n @for (filter of visibleFilters(); track filter.filterId()) {\\n <sky-toolbar-item>\\n <ng-container *ngTemplateOutlet=\\\"filter.templateRef() ?? null\\\" />\\n </sky-toolbar-item>\\n }\\n @if (appliedFilters()?.length) {\\n <sky-toolbar-item>\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-filter-bar-clear-filters sky-btn sky-filter-bar-btn sky-btn-link\\\"\\n (click)=\\\"clearFilters()\\\"\\n >\\n {{ 'skyux_filter_bar_clear_filters_label' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n }\\n</sky-toolbar>\\n\", styles: [\":host{display:block}:host-context(.sky-theme-modern) .sky-filter-bar-toolbar{--sky-override-toolbar-container-padding: var( --sky-comp-filter_bar-space-inset-top ) var(--sky-comp-filter_bar-space-inset-right) var(--sky-comp-filter_bar-space-inset-bottom) var(--sky-comp-filter_bar-space-inset-left)}:host-context(.sky-data-manager-toolbar){border-top:var(--sky-override-toolbar-border-top-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider))}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { appliedFilters: [{ type: i0.Input, args: [{ isSignal: true, alias: \"appliedFilters\", required: false }] }, { type: i0.Output, args: [\"appliedFiltersChange\"] }], selectedFilterIds: [{ type: i0.Input, args: [{ isSignal: true, alias: \"selectedFilterIds\", required: false }] }, { type: i0.Output, args: [\"selectedFilterIdsChange\"] }], filterItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SKY_FILTER_ITEM), { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9zcmMvbGliL21vZHVsZXMvZmlsdGVyLWJhci9maWx0ZXItYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9maWx0ZXItYmFyL3NyYy9saWIvbW9kdWxlcy9maWx0ZXItYmFyL2ZpbHRlci1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsZUFBZSxFQUNmLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckUsT0FBTyxFQUlMLHdCQUF3QixHQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNE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LGFBQWEsQ0FDOUIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdkQsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUU7YUFDaEMsQ0FBQyxDQUFDLENBQ0osQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQzlELE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FDcEM7Z0JBQ0UsY0FBYztnQkFDZCxpQkFBaUI7YUFDbEIsRUFDRCxJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzsrR0FyVFUscUJBQXFCO21HQUFyQixxQkFBcUIsMmRBSnJCLENBQUMsbUJBQW1CLENBQUMsc0RBaUJpQixlQUFlLDZDQ2pFbEUsa2xDQWtDQSwwaUJEU0ksZ0JBQWdCLG1KQUNoQiwyQkFBMkIsOEJBQzNCLGFBQWEscUlBQ2IsZ0JBQWdCOzs0RkFNUCxxQkFBcUI7a0JBWmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLFdBQ2pCO3dCQUNQLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3dCQUMzQixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakIsYUFDVSxDQUFDLG1CQUFtQixDQUFDO3djQWlCaUIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkcmVuLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgbW9kZWwsXG4gIHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2ljb24nO1xuaW1wb3J0IHsgU2t5VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9sYXlvdXQnO1xuaW1wb3J0IHsgU2t5RmlsdGVyU3RhdGUsIFNreUZpbHRlclN0YXRlU2VydmljZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5pbXBvcnQge1xuICBTa3lTZWxlY3Rpb25Nb2RhbE9wZW5BcmdzLFxuICBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaEFyZ3MsXG4gIFNreVNlbGVjdGlvbk1vZGFsU2VhcmNoUmVzdWx0LFxuICBTa3lTZWxlY3Rpb25Nb2RhbFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9sb29rdXAnO1xuaW1wb3J0IHtcbiAgU2t5Q29uZmlybUNvbmZpZyxcbiAgU2t5Q29uZmlybVNlcnZpY2UsXG4gIFNreUNvbmZpcm1UeXBlLFxufSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5RmlsdGVyQmFyUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1maWx0ZXItYmFyLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lGaWx0ZXJCYXJTZXJ2aWNlIH0gZnJvbSAnLi9maWx0ZXItYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0tZX0ZJTFRFUl9JVEVNIH0gZnJvbSAnLi9maWx0ZXItaXRlbXMvZmlsdGVyLWl0ZW0udG9rZW4nO1xuaW1wb3J0IHsgU2t5RmlsdGVyQmFyRmlsdGVySXRlbSB9IGZyb20gJy4vbW9kZWxzL2ZpbHRlci1iYXItZmlsdGVyLWl0ZW0nO1xuaW1wb3J0IHsgU2t5RmlsdGVyQmFySXRlbSB9IGZyb20gJy4vbW9kZWxzL2ZpbHRlci1iYXItaXRlbSc7XG5pbXBvcnQgeyBTa3lGaWx0ZXJJdGVtIH0gZnJvbSAnLi9tb2RlbHMvZmlsdGVyLWl0ZW0nO1xuXG4vKipcbiAqIFRoZSB0b3AtbGV2ZWwgZmlsdGVyIGJhciBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1maWx0ZXItYmFyJyxcbiAgaW1wb3J0czogW1xuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgU2t5RmlsdGVyQmFyUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5VG9vbGJhck1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbU2t5RmlsdGVyQmFyU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ZpbHRlci1iYXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGaWx0ZXJCYXJDb21wb25lbnQge1xuICAvKipcbiAgICogQW4gYXJyYXkgb2YgZmlsdGVyIGl0ZW1zIGNvbnRhaW5pbmcgdGhlIElEcyBhbmQgdmFsdWVzIG9mIHRoZSBmaWx0ZXJzIHRoYXQgaGF2ZSBiZWVuIHNldC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhcHBsaWVkRmlsdGVycyA9IG1vZGVsPFxuICAgIFNreUZpbHRlckJhckZpbHRlckl0ZW1bXSB8IHVuZGVmaW5lZFxuICA+KCk7XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIGZpbHRlciBJRHMgdGhhdCB0aGUgdXNlciBoYXMgc2VsZWN0ZWQgdXNpbmcgdGhlIGJ1aWx0LWluIHNlbGVjdGlvbiBtb2RhbC4gU2V0dGluZyB0aGlzIGlucHV0IHRvIHVuZGVmaW5lZCByZXN1bHRzIGluIGFsbCBmaWx0ZXJzIGJlaW5nIGRpc3BsYXllZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZEZpbHRlcklkcyA9IG1vZGVsPHN0cmluZ1tdIHwgdW5kZWZpbmVkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJJdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihTS1lfRklMVEVSX0lURU0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2aXNpYmxlRmlsdGVycyA9IGNvbXB1dGVkKCgpOiBTa3lGaWx0ZXJJdGVtW10gPT4ge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5maWx0ZXJJdGVtcygpO1xuICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVycyA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZHMoKTtcblxuICAgIGNvbnN0IHZpc2libGVGaWx0ZXJzOiAoU2t5RmlsdGVySXRlbSB8IHVuZGVmaW5lZClbXSA9IFtdO1xuXG4gICAgaWYgKGl0ZW1zKSB7XG4gICAgICBpZiAoc2VsZWN0ZWRGaWx0ZXJzKSB7XG4gICAgICAgIGZvciAoY29uc3QgaWQgb2Ygc2VsZWN0ZWRGaWx0ZXJzKSB7XG4gICAgICAgICAgdmlzaWJsZUZpbHRlcnMucHVzaChpdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmZpbHRlcklkKCkgPT09IGlkKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgIHZpc2libGVGaWx0ZXJzLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmlzaWJsZUZpbHRlcnMuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuICB9KTtcblxuICByZWFkb25seSAjY29uZmlybVN2YyA9IGluamVjdChTa3lDb25maXJtU2VydmljZSk7XG4gIHJlYWRvbmx5ICNmaWx0ZXJCYXJTdmMgPSBpbmplY3QoU2t5RmlsdGVyQmFyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNmaWx0ZXJTdGF0ZVN2YyA9IGluamVjdChTa3lGaWx0ZXJTdGF0ZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHJlYWRvbmx5ICNmaWx0ZXJJdGVtVXBkYXRlZCA9IHRvU2lnbmFsKHRoaXMuI2ZpbHRlckJhclN2Yy5maWx0ZXJJdGVtVXBkYXRlZCk7XG4gIHJlYWRvbmx5ICNtb2RhbFN2YyA9IGluamVjdChTa3lTZWxlY3Rpb25Nb2RhbFNlcnZpY2UpO1xuICByZWFkb25seSAjcmVzb3VyY2VTdmMgPSBpbmplY3QoU2t5TGliUmVzb3VyY2VzU2VydmljZSk7XG4gIHJlYWRvbmx5ICNzb3VyY2VJZCA9ICdza3lGaWx0ZXJCYXInO1xuICByZWFkb25seSAjc3RyaW5ncyA9IHRvU2lnbmFsKFxuICAgIHRoaXMuI3Jlc291cmNlU3ZjLmdldFN0cmluZ3Moe1xuICAgICAgZGVzY3JpcHRvcjogJ3NreXV4X2ZpbHRlcl9iYXJfZmlsdGVyX3BpY2tlcl9kZXNjcmlwdG9yJyxcbiAgICAgIHRpdGxlOiAnc2t5dXhfZmlsdGVyX2Jhcl9jbGVhcl9maWx0ZXJzX2NvbmZpcm1fdGl0bGUnLFxuICAgICAgYm9keTogJ3NreXV4X2ZpbHRlcl9iYXJfY2xlYXJfZmlsdGVyc19jb25maXJtX2JvZHknLFxuICAgICAgc2F2ZTogJ3NreXV4X2ZpbHRlcl9iYXJfY2xlYXJfZmlsdGVyc19jb25maXJtX2FwcGx5X2xhYmVsJyxcbiAgICAgIGNhbmNlbDogJ3NreXV4X2ZpbHRlcl9iYXJfY2xlYXJfZmlsdGVyc19jb25maXJtX2NhbmNlbF9sYWJlbCcsXG4gICAgfSksXG4gICk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gU3Vic2NyaWJlIHRvIGZpbHRlciB2YWx1ZSB1cGRhdGVzIGZyb20gY2hpbGQgZmlsdGVyIGl0ZW1zXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZWRGaWx0ZXIgPSB0aGlzLiNmaWx0ZXJJdGVtVXBkYXRlZCgpO1xuICAgICAgaWYgKHVwZGF0ZWRGaWx0ZXIpIHtcbiAgICAgICAgdGhpcy4jdXBkYXRlRmlsdGVyKHVwZGF0ZWRGaWx0ZXIpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gUHVzaCBmaWx0ZXIgdmFsdWUgdXBkYXRlcyB0byBjaGlsZCBmaWx0ZXIgaXRlbXNcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgZmlsdGVycyA9IHRoaXMuYXBwbGllZEZpbHRlcnMoKTtcbiAgICAgIHRoaXMuI3VwZGF0ZUZpbHRlcnMoZmlsdGVycyk7XG4gICAgfSk7XG5cbiAgICAvLyBJZiBhIGZpbHRlciBzdGF0ZSBzZXJ2aWNlIGlzIHByZXNlbnQsIHN1YnNjcmliZSB0byBpdHMgdXBkYXRlcyBhbmQgcmVmbGVjdCBpbnRvIGxvY2FsIHNpZ25hbHMuXG4gICAgaWYgKHRoaXMuI2ZpbHRlclN0YXRlU3ZjKSB7XG4gICAgICBjb25zdCBmaWx0ZXJTdGF0ZVVwZGF0ZXMgPSB0b1NpZ25hbDxTa3lGaWx0ZXJTdGF0ZT4oXG4gICAgICAgIHRoaXMuI2ZpbHRlclN0YXRlU3ZjLmdldEZpbHRlclN0YXRlVXBkYXRlcyh0aGlzLiNzb3VyY2VJZCksXG4gICAgICApO1xuXG4gICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0gZmlsdGVyU3RhdGVVcGRhdGVzKCk7XG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgdGhpcy5hcHBsaWVkRmlsdGVycy5zZXQoZGF0YS5hcHBsaWVkRmlsdGVycyk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcklkcy5zZXQoZGF0YS5zZWxlY3RlZEZpbHRlcklkcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvcGVuRmlsdGVycygpOiB2b2lkIHtcbiAgICBjb25zdCBzdHJpbmdzID0gdGhpcy4jc3RyaW5ncygpO1xuICAgIGNvbnN0IGV4aXN0aW5nRmlsdGVycyA9IHRoaXMuI2dldEV4aXN0aW5nRmlsdGVySXRlbXMoKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZjogc2FmZXR5IGNoZWNrICovXG4gICAgaWYgKCFzdHJpbmdzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyQXJnczogU2t5U2VsZWN0aW9uTW9kYWxPcGVuQXJncyA9IHtcbiAgICAgIHNlbGVjdGlvbkRlc2NyaXB0b3I6IHN0cmluZ3MuZGVzY3JpcHRvcixcbiAgICAgIGRlc2NyaXB0b3JQcm9wZXJ0eTogJ2xhYmVsVGV4dCcsXG4gICAgICBpZFByb3BlcnR5OiAnZmlsdGVySWQnLFxuICAgICAgc2VsZWN0TW9kZTogJ211bHRpcGxlJyxcbiAgICAgIHZhbHVlOiBleGlzdGluZ0ZpbHRlcnMsXG4gICAgICBzZWFyY2hBc3luYzogdGhpcy4jZmlsdGVyQXN5bmNTZWFyY2hGbixcbiAgICB9O1xuXG4gICAgY29uc3QgbW9kYWxJbnN0YW5jZSA9IHRoaXMuI21vZGFsU3ZjLm9wZW4oZmlsdGVyQXJncyk7XG5cbiAgICBtb2RhbEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKGNsb3NlQXJncykgPT4ge1xuICAgICAgaWYgKGNsb3NlQXJncy5yZWFzb24gPT09ICdzYXZlJykge1xuICAgICAgICB0aGlzLiNoYW5kbGVGaWx0ZXJTZWxlY3Rpb24oXG4gICAgICAgICAgY2xvc2VBcmdzLnNlbGVjdGVkSXRlbXMgYXMgU2t5RmlsdGVyQmFySXRlbVtdIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIGV4aXN0aW5nRmlsdGVycyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjbGVhckZpbHRlcnMoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RyaW5ncyA9IHRoaXMuI3N0cmluZ3MoKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZjogc2FmZXR5IGNoZWNrICovXG4gICAgaWYgKCFzdHJpbmdzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlnOiBTa3lDb25maXJtQ29uZmlnID0ge1xuICAgICAgbWVzc2FnZTogc3RyaW5ncy50aXRsZSxcbiAgICAgIGJvZHk6IHN0cmluZ3MuYm9keSxcbiAgICAgIHR5cGU6IFNreUNvbmZpcm1UeXBlLkN1c3RvbSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFjdGlvbjogJ3NhdmUnLFxuICAgICAgICAgIHRleHQ6IHN0cmluZ3Muc2F2ZSxcbiAgICAgICAgICBzdHlsZVR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGFjdGlvbjogJ2NhbmNlbCcsXG4gICAgICAgICAgdGV4dDogc3RyaW5ncy5jYW5jZWwsXG4gICAgICAgICAgc3R5bGVUeXBlOiAnbGluaycsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuI2NvbmZpcm1TdmMub3Blbihjb25maWcpO1xuXG4gICAgaW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0LmFjdGlvbiA9PT0gJ3NhdmUnKSB7XG4gICAgICAgIHRoaXMuYXBwbGllZEZpbHRlcnMuc2V0KHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMuI3VwZGF0ZUZpbHRlckRhdGEoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gICNnZXRFeGlzdGluZ0ZpbHRlckl0ZW1zKCk6IFNreUZpbHRlckJhckl0ZW1bXSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IHNhZmV0eSBjaGVjayAqL1xuICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gdGhpcy5zZWxlY3RlZEZpbHRlcklkcygpID8/IFtdO1xuICAgIHJldHVybiB0aGlzLmZpbHRlckl0ZW1zKClcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IHNlbGVjdGVkSWRzLmluY2x1ZGVzKGl0ZW0uZmlsdGVySWQoKSkpXG4gICAgICAubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICBmaWx0ZXJJZDogaXRlbS5maWx0ZXJJZCgpLFxuICAgICAgICBsYWJlbFRleHQ6IGl0ZW0ubGFiZWxUZXh0KCksXG4gICAgICAgIGZpbHRlclZhbHVlOiBpdGVtLmZpbHRlclZhbHVlKCksXG4gICAgICB9KSk7XG4gIH1cblxuICAjaGFuZGxlRmlsdGVyU2VsZWN0aW9uKFxuICAgIHNlbGVjdGVkRmlsdGVyczogU2t5RmlsdGVyQmFySXRlbVtdIHwgdW5kZWZpbmVkLFxuICAgIGV4aXN0aW5nRmlsdGVyczogU2t5RmlsdGVyQmFySXRlbVtdLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCB7IG5ld0ZpbHRlckl0ZW1zLCByZW1vdmVkRmlsdGVySXRlbXMgfSA9IHRoaXMuI3Byb2Nlc3NGaWx0ZXJDaGFuZ2VzKFxuICAgICAgc2VsZWN0ZWRGaWx0ZXJzLFxuICAgICAgZXhpc3RpbmdGaWx0ZXJzLFxuICAgICk7XG5cbiAgICBjb25zdCBzZWxlY3RlZElkcyA9IG5ld0ZpbHRlckl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5maWx0ZXJJZCk7XG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcklkcy5zZXQoc2VsZWN0ZWRJZHMpO1xuXG4gICAgaWYgKHJlbW92ZWRGaWx0ZXJJdGVtcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUZpbHRlcnMocmVtb3ZlZEZpbHRlckl0ZW1zKTtcbiAgICAgIGNvbnN0IG5ld0ZpbHRlcnMgPSBuZXdGaWx0ZXJJdGVtcy5maWx0ZXIoXG4gICAgICAgIChmaWx0ZXIpID0+ICEhZmlsdGVyLmZpbHRlclZhbHVlLFxuICAgICAgKTtcbiAgICAgIHRoaXMuYXBwbGllZEZpbHRlcnMuc2V0KG5ld0ZpbHRlcnMubGVuZ3RoID8gbmV3RmlsdGVycyA6IHVuZGVmaW5lZCk7XG4gICAgfVxuICAgIHRoaXMuI3VwZGF0ZUZpbHRlckRhdGEoKTtcbiAgfVxuXG4gICNwcm9jZXNzRmlsdGVyQ2hhbmdlcyhcbiAgICBzZWxlY3RlZEZpbHRlcnM6IFNreUZpbHRlckJhckl0ZW1bXSB8IHVuZGVmaW5lZCxcbiAgICBleGlzdGluZ0ZpbHRlcnM6IFNreUZpbHRlckJhckl0ZW1bXSxcbiAgKToge1xuICAgIG5ld0ZpbHRlckl0ZW1zOiBTa3lGaWx0ZXJCYXJGaWx0ZXJJdGVtW107XG4gICAgcmVtb3ZlZEZpbHRlckl0ZW1zOiBTa3lGaWx0ZXJCYXJGaWx0ZXJJdGVtW107XG4gIH0ge1xuICAgIGNvbnN0IG5ld0ZpbHRlckl0ZW1zOiBTa3lGaWx0ZXJCYXJGaWx0ZXJJdGVtW10gPSBbXTtcbiAgICBjb25zdCByZW1vdmVkRmlsdGVySXRlbXM6IFNreUZpbHRlckJhckZpbHRlckl0ZW1bXSA9IFtdO1xuXG4gICAgLy8gUHJvY2VzcyBleGlzdGluZyBmaWx0ZXJzXG4gICAgZm9yIChjb25zdCBleGlzdGluZ0ZpbHRlciBvZiBleGlzdGluZ0ZpbHRlcnMpIHtcbiAgICAgIGlmICh0aGlzLiNpc0ZpbHRlclNlbGVjdGVkKGV4aXN0aW5nRmlsdGVyLmZpbHRlcklkLCBzZWxlY3RlZEZpbHRlcnMpKSB7XG4gICAgICAgIG5ld0ZpbHRlckl0ZW1zLnB1c2goe1xuICAgICAgICAgIGZpbHRlcklkOiBleGlzdGluZ0ZpbHRlci5maWx0ZXJJZCxcbiAgICAgICAgICBmaWx0ZXJWYWx1ZTogZXhpc3RpbmdGaWx0ZXIuZmlsdGVyVmFsdWUsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVtb3ZlZEZpbHRlckl0ZW1zLnB1c2goeyBmaWx0ZXJJZDogZXhpc3RpbmdGaWx0ZXIuZmlsdGVySWQgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIG5ld2x5IHNlbGVjdGVkIGZpbHRlcnNcbiAgICBpZiAoc2VsZWN0ZWRGaWx0ZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IHNlbGVjdGVkRmlsdGVyIG9mIHNlbGVjdGVkRmlsdGVycykge1xuICAgICAgICBpZiAoIXRoaXMuI2lzRmlsdGVySW5MaXN0KHNlbGVjdGVkRmlsdGVyLmZpbHRlcklkLCBuZXdGaWx0ZXJJdGVtcykpIHtcbiAgICAgICAgICBuZXdGaWx0ZXJJdGVtcy5wdXNoKHsgZmlsdGVySWQ6IHNlbGVjdGVkRmlsdGVyLmZpbHRlcklkIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgbmV3RmlsdGVySXRlbXMsIHJlbW92ZWRGaWx0ZXJJdGVtcyB9O1xuICB9XG5cbiAgI2lzRmlsdGVyU2VsZWN0ZWQoXG4gICAgZmlsdGVySWQ6IHN0cmluZyxcbiAgICBzZWxlY3RlZEZpbHRlcnM6IFNreUZpbHRlckJhckl0ZW1bXSB8IHVuZGVmaW5lZCxcbiAgKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhc2VsZWN0ZWRGaWx0ZXJzPy5maW5kKFxuICAgICAgKHNlbGVjdGVkRmlsdGVyKSA9PiBzZWxlY3RlZEZpbHRlci5maWx0ZXJJZCA9PT0gZmlsdGVySWQsXG4gICAgKTtcbiAgfVxuXG4gICNpc0ZpbHRlckluTGlzdChcbiAgICBmaWx0ZXJJZDogc3RyaW5nLFxuICAgIGZpbHRlckxpc3Q6IFNreUZpbHRlckJhckZpbHRlckl0ZW1bXSxcbiAgKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhZmlsdGVyTGlzdC5maW5kKChmaWx0ZXIpID0+IGZpbHRlci5maWx0ZXJJZCA9PT0gZmlsdGVySWQpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgI2ZpbHRlckFzeW5jU2VhcmNoRm4gPSAoXG4gICAgYXJnczogU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hBcmdzLFxuICApOiBPYnNlcnZhYmxlPFNreVNlbGVjdGlvbk1vZGFsU2VhcmNoUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmZpbHRlckl0ZW1zKCkubWFwKChpdGVtKSA9PiAoe1xuICAgICAgZmlsdGVySWQ6IGl0ZW0uZmlsdGVySWQoKSxcbiAgICAgIGxhYmVsVGV4dDogaXRlbS5sYWJlbFRleHQoKSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXJncy5zZWFyY2hUZXh0XG4gICAgICA/IGl0ZW1zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgICAgICBpdGVtLmxhYmVsVGV4dFxuICAgICAgICAgICAgLnRvTG9jYWxlVXBwZXJDYXNlKClcbiAgICAgICAgICAgIC5pbmNsdWRlcyhhcmdzLnNlYXJjaFRleHQudG9Mb2NhbGVVcHBlckNhc2UoKSksXG4gICAgICAgIClcbiAgICAgIDogaXRlbXM7XG5cbiAgICByZXR1cm4gb2Yoe1xuICAgICAgaXRlbXM6IHJlc3VsdHMsXG4gICAgICB0b3RhbENvdW50OiBpdGVtcy5sZW5ndGgsXG4gICAgfSk7XG4gIH07XG5cbiAgI3VwZGF0ZUZpbHRlcih1cGRhdGVkRmlsdGVyOiBTa3lGaWx0ZXJCYXJGaWx0ZXJJdGVtKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVycyA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLmFwcGxpZWRGaWx0ZXJzKCkpID8/IFtdO1xuICAgIGNvbnN0IG5ld0ZpbHRlclZhbHVlczogU2t5RmlsdGVyQmFyRmlsdGVySXRlbVtdID0gW107XG5cbiAgICBsZXQgcmVwbGFjZUZpbHRlciA9IGZhbHNlO1xuICAgIGZvciAoY29uc3QgZmlsdGVyVmFsdWUgb2YgZmlsdGVycykge1xuICAgICAgaWYgKGZpbHRlclZhbHVlLmZpbHRlcklkID09PSB1cGRhdGVkRmlsdGVyLmZpbHRlcklkKSB7XG4gICAgICAgIGlmICh1cGRhdGVkRmlsdGVyLmZpbHRlclZhbHVlKSB7XG4gICAgICAgICAgbmV3RmlsdGVyVmFsdWVzLnB1c2godXBkYXRlZEZpbHRlcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlRmlsdGVycyhbdXBkYXRlZEZpbHRlcl0pO1xuICAgICAgICB9XG4gICAgICAgIHJlcGxhY2VGaWx0ZXIgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3RmlsdGVyVmFsdWVzLnB1c2goZmlsdGVyVmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghcmVwbGFjZUZpbHRlciAmJiB1cGRhdGVkRmlsdGVyLmZpbHRlclZhbHVlKSB7XG4gICAgICBuZXdGaWx0ZXJWYWx1ZXMucHVzaCh1cGRhdGVkRmlsdGVyKTtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGxpZWRGaWx0ZXJzLnNldChcbiAgICAgIG5ld0ZpbHRlclZhbHVlcy5sZW5ndGggPyBuZXdGaWx0ZXJWYWx1ZXMgOiB1bmRlZmluZWQsXG4gICAgKTtcbiAgICB0aGlzLiN1cGRhdGVGaWx0ZXJEYXRhKCk7XG4gIH1cblxuICAjdXBkYXRlRmlsdGVycyh1cGRhdGVkRmlsdGVyczogU2t5RmlsdGVyQmFyRmlsdGVySXRlbVtdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHVwZGF0ZWRGaWx0ZXJzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuI2ZpbHRlckJhclN2Yy51cGRhdGVGaWx0ZXJzKHVwZGF0ZWRGaWx0ZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jZmlsdGVyQmFyU3ZjLnVwZGF0ZUZpbHRlcnMoXG4gICAgICAgIHVudHJhY2tlZCgoKSA9PiB0aGlzLmZpbHRlckl0ZW1zKCkpLm1hcCgoZmlsdGVySXRlbSkgPT4gKHtcbiAgICAgICAgICBmaWx0ZXJJZDogZmlsdGVySXRlbS5maWx0ZXJJZCgpLFxuICAgICAgICB9KSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVGaWx0ZXJEYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNmaWx0ZXJTdGF0ZVN2Yykge1xuICAgICAgY29uc3QgYXBwbGllZEZpbHRlcnMgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5hcHBsaWVkRmlsdGVycygpKTtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVySWRzID0gdW50cmFja2VkKCgpID0+IHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZHMoKSk7XG4gICAgICB0aGlzLiNmaWx0ZXJTdGF0ZVN2Yy51cGRhdGVGaWx0ZXJTdGF0ZShcbiAgICAgICAge1xuICAgICAgICAgIGFwcGxpZWRGaWx0ZXJzLFxuICAgICAgICAgIHNlbGVjdGVkRmlsdGVySWRzLFxuICAgICAgICB9LFxuICAgICAgICB0aGlzLiNzb3VyY2VJZCxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCI8c2t5LXRvb2xiYXIgY2xhc3M9XCJza3ktZmlsdGVyLWJhci10b29sYmFyXCI+XG4gIDxza3ktdG9vbGJhci1pdGVtPlxuICAgIDxzcGFuIGNsYXNzPVwic2t5LWZvbnQtZGF0YS1sYWJlbFwiPnt7XG4gICAgICAnc2t5dXhfZmlsdGVyX2Jhcl9maWx0ZXJfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgfX08L3NwYW4+XG4gIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgQGlmICghIXNlbGVjdGVkRmlsdGVySWRzKCkpIHtcbiAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic2t5LWZpbHRlci1iYXItZmlsdGVyLXBpY2tlciBza3ktYnRuIHNreS1maWx0ZXItYmFyLWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1pY29uXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5GaWx0ZXJzKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJmaWx0ZXJcIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICB9XG4gIEBmb3IgKGZpbHRlciBvZiB2aXNpYmxlRmlsdGVycygpOyB0cmFjayBmaWx0ZXIuZmlsdGVySWQoKSkge1xuICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpbHRlci50ZW1wbGF0ZVJlZigpID8/IG51bGxcIiAvPlxuICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgfVxuICBAaWYgKGFwcGxpZWRGaWx0ZXJzKCk/Lmxlbmd0aCkge1xuICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJza3ktZmlsdGVyLWJhci1jbGVhci1maWx0ZXJzIHNreS1idG4gc2t5LWZpbHRlci1iYXItYnRuIHNreS1idG4tbGlua1wiXG4gICAgICAgIChjbGljayk9XCJjbGVhckZpbHRlcnMoKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdza3l1eF9maWx0ZXJfYmFyX2NsZWFyX2ZpbHRlcnNfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gIH1cbjwvc2t5LXRvb2xiYXI+XG4iXX0=","import { Component, input, output } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/icon\";\n/**\n * A filter bar item that is displayed by the other typed filter items.\n * This component contains a common template and styling that gets rendered as part of the consumer DOM.\n * @internal\n */\nexport class SkyFilterItemBaseComponent {\n constructor() {\n /**\n * A unique identifier for the filter item.\n * @required\n */\n this.filterId = input.required(...(ngDevMode ? [{ debugName: \"filterId\" }] : []));\n /**\n * The value for the filter item.\n */\n this.filterValue = input(...(ngDevMode ? [undefined, { debugName: \"filterValue\" }] : []));\n /**\n * The label to display for the filter item.\n */\n this.labelText = input.required(...(ngDevMode ? [{ debugName: \"labelText\" }] : []));\n /**\n * Fires when the user clicks the filter item.\n */\n this.itemClick = output();\n }\n onClick() {\n this.itemClick.emit();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterItemBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyFilterItemBaseComponent, isStandalone: true, selector: \"sky-filter-item-base\", inputs: { filterId: { classPropertyName: \"filterId\", publicName: \"filterId\", isSignal: true, isRequired: true, transformFunction: null }, filterValue: { classPropertyName: \"filterValue\", publicName: \"filterValue\", isSignal: true, isRequired: false, transformFunction: null }, labelText: { classPropertyName: \"labelText\", publicName: \"labelText\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { itemClick: \"itemClick\" }, ngImport: i0, template: \"@let value = filterValue();\\n<button\\n aria-haspopup=\\\"dialog\\\"\\n class=\\\"sky-btn sky-filter-bar-btn sky-btn-default\\\"\\n type=\\\"button\\\"\\n [attr.aria-pressed]=\\\"!!value\\\"\\n [attr.data-filter-id]=\\\"filterId()\\\"\\n [class.sky-filter-bar-btn-selected]=\\\"!!value\\\"\\n (click)=\\\"onClick()\\\"\\n>\\n <span class=\\\"sky-filter-item-title\\\"\\n ><span class=\\\"sky-filter-item-name\\\">{{ labelText() }}</span>\\n @if (value) {\\n <span>:</span>\\n }\\n </span>\\n @if (value) {\\n <span class=\\\"sky-filter-item-value\\\">{{\\n value.displayValue ?? value.value\\n }}</span>\\n }\\n <span class=\\\"sky-filter-item-caret\\\">\\n <sky-icon iconName=\\\"chevron-down\\\" />\\n </span>\\n</button>\\n\", styles: [\"button.sky-filter-bar-btn:not(.sky-theme-modern *){--sky-override-filter-bar-button-gap-spacing: 10px;--sky-override-filter-bar-button-selected-background-color: #c1e8fb}:host{display:block}.sky-filter-bar-btn{display:flex;max-width:300px}.sky-filter-item-title,.sky-filter-item-value{margin-right:var(--sky-override-filter-bar-button-gap-spacing, var(--sky-space-gap-action_group-m))}.sky-filter-item-value{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.sky-filter-item-caret{flex-grow:1}.sky-filter-bar-btn.sky-filter-bar-btn-selected:not(:hover,:focus-visible,:active,:disabled){box-shadow:inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-selected_soft)}.sky-filter-bar-btn.sky-filter-bar-btn-selected,.sky-filter-bar-btn.sky-filter-bar-btn-selected:hover,.sky-filter-bar-btn.sky-filter-bar-btn-selected:focus-visible,.sky-filter-bar-btn.sky-filter-bar-btn-selected:active,.sky-filter-bar-btn.sky-filter-bar-btn-selected:not(:disabled){background-color:var(--sky-override-filter-bar-button-selected-background-color, var(--sky-color-background-selected-soft))}.sky-filter-bar-btn.sky-filter-bar-btn-selected .sky-filter-item-title{color:var(--sky-color-text-deemphasized)}.sky-filter-bar-btn.sky-filter-bar-btn-selected .sky-filter-item-value,.sky-filter-bar-btn.sky-filter-bar-btn-selected .sky-filter-item-caret{color:var(--sky-color-text-action);font-weight:var(--sky-font-style-emphasized)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i1.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterItemBaseComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-filter-item-base', imports: [SkyIconModule], template: \"@let value = filterValue();\\n<button\\n aria-haspopup=\\\"dialog\\\"\\n class=\\\"sky-btn sky-filter-bar-btn sky-btn-default\\\"\\n type=\\\"button\\\"\\n [attr.aria-pressed]=\\\"!!value\\\"\\n [attr.data-filter-id]=\\\"filterId()\\\"\\n [class.sky-filter-bar-btn-selected]=\\\"!!value\\\"\\n (click)=\\\"onClick()\\\"\\n>\\n <span class=\\\"sky-filter-item-title\\\"\\n ><span class=\\\"sky-filter-item-name\\\">{{ labelText() }}</span>\\n @if (value) {\\n <span>:</span>\\n }\\n </span>\\n @if (value) {\\n <span class=\\\"sky-filter-item-value\\\">{{\\n value.displayValue ?? value.value\\n }}</span>\\n }\\n <span class=\\\"sky-filter-item-caret\\\">\\n <sky-icon iconName=\\\"chevron-down\\\" />\\n </span>\\n</button>\\n\", styles: [\"button.sky-filter-bar-btn:not(.sky-theme-modern *){--sky-override-filter-bar-button-gap-spacing: 10px;--sky-override-filter-bar-button-selected-background-color: #c1e8fb}:host{display:block}.sky-filter-bar-btn{display:flex;max-width:300px}.sky-filter-item-title,.sky-filter-item-value{margin-right:var(--sky-override-filter-bar-button-gap-spacing, var(--sky-space-gap-action_group-m))}.sky-filter-item-value{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.sky-filter-item-caret{flex-grow:1}.sky-filter-bar-btn.sky-filter-bar-btn-selected:not(:hover,:focus-visible,:active,:disabled){box-shadow:inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-selected_soft)}.sky-filter-bar-btn.sky-filter-bar-btn-selected,.sky-filter-bar-btn.sky-filter-bar-btn-selected:hover,.sky-filter-bar-btn.sky-filter-bar-btn-selected:focus-visible,.sky-filter-bar-btn.sky-filter-bar-btn-selected:active,.sky-filter-bar-btn.sky-filter-bar-btn-selected:not(:disabled){background-color:var(--sky-override-filter-bar-button-selected-background-color, var(--sky-color-background-selected-soft))}.sky-filter-bar-btn.sky-filter-bar-btn-selected .sky-filter-item-title{color:var(--sky-color-text-deemphasized)}.sky-filter-bar-btn.sky-filter-bar-btn-selected .sky-filter-item-value,.sky-filter-bar-btn.sky-filter-bar-btn-selected .sky-filter-item-caret{color:var(--sky-color-text-action);font-weight:var(--sky-font-style-emphasized)}\\n\"] }]\n }], propDecorators: { filterId: [{ type: i0.Input, args: [{ isSignal: true, alias: \"filterId\", required: true }] }], filterValue: [{ type: i0.Input, args: [{ isSignal: true, alias: \"filterValue\", required: false }] }], labelText: [{ type: i0.Input, args: [{ isSignal: true, alias: \"labelText\", required: true }] }], itemClick: [{ type: i0.Output, args: [\"itemClick\"] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0tYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9zcmMvbGliL21vZHVsZXMvZmlsdGVyLWJhci9maWx0ZXItaXRlbXMvZmlsdGVyLWl0ZW0tYmFzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9zcmMvbGliL21vZHVsZXMvZmlsdGVyLWJhci9maWx0ZXItaXRlbXMvZmlsdGVyLWl0ZW0tYmFzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBSTVDOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCO0lBTnZDO1FBT0U7OztXQUdHO1FBQ2EsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLG1EQUFVLENBQUM7UUFFcEQ7O1dBRUc7UUFDYSxnQkFBVyxHQUFHLEtBQUssaUVBQTJCLENBQUM7UUFFL0Q7O1dBRUc7UUFDYSxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsb0RBQVUsQ0FBQztRQUVyRDs7V0FFRztRQUNhLGNBQVMsR0FBRyxNQUFNLEVBQVEsQ0FBQztLQUs1QztJQUhXLE9BQU87UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBeEJVLDBCQUEwQjttR0FBMUIsMEJBQTBCLDhnQkNoQnZDLHlyQkF5QkEsNjhDRGJZLGFBQWE7OzRGQUlaLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSxzQkFBc0IsV0FDdkIsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5cbmltcG9ydCB7IFNreUZpbHRlckJhckZpbHRlclZhbHVlIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1iYXItZmlsdGVyLXZhbHVlJztcblxuLyoqXG4gKiBBIGZpbHRlciBiYXIgaXRlbSB0aGF0IGlzIGRpc3BsYXllZCBieSB0aGUgb3RoZXIgdHlwZWQgZmlsdGVyIGl0ZW1zLlxuICogVGhpcyBjb21wb25lbnQgY29udGFpbnMgYSBjb21tb24gdGVtcGxhdGUgYW5kIHN0eWxpbmcgdGhhdCBnZXRzIHJlbmRlcmVkIGFzIHBhcnQgb2YgdGhlIGNvbnN1bWVyIERPTS5cbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZmlsdGVyLWl0ZW0tYmFzZScsXG4gIGltcG9ydHM6IFtTa3lJY29uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1pdGVtLWJhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItaXRlbS1iYXNlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpbHRlckl0ZW1CYXNlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBmaWx0ZXIgaXRlbS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVySWQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBmb3IgdGhlIGZpbHRlciBpdGVtLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZpbHRlclZhbHVlID0gaW5wdXQ8U2t5RmlsdGVyQmFyRmlsdGVyVmFsdWU+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBsYWJlbCB0byBkaXNwbGF5IGZvciB0aGUgZmlsdGVyIGl0ZW0uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbGFiZWxUZXh0ID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSB1c2VyIGNsaWNrcyB0aGUgZmlsdGVyIGl0ZW0uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXRlbUNsaWNrID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iLCJAbGV0IHZhbHVlID0gZmlsdGVyVmFsdWUoKTtcbjxidXR0b25cbiAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gIGNsYXNzPVwic2t5LWJ0biBza3ktZmlsdGVyLWJhci1idG4gc2t5LWJ0bi1kZWZhdWx0XCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIFthdHRyLmFyaWEtcHJlc3NlZF09XCIhIXZhbHVlXCJcbiAgW2F0dHIuZGF0YS1maWx0ZXItaWRdPVwiZmlsdGVySWQoKVwiXG4gIFtjbGFzcy5za3ktZmlsdGVyLWJhci1idG4tc2VsZWN0ZWRdPVwiISF2YWx1ZVwiXG4gIChjbGljayk9XCJvbkNsaWNrKClcIlxuPlxuICA8c3BhbiBjbGFzcz1cInNreS1maWx0ZXItaXRlbS10aXRsZVwiXG4gICAgPjxzcGFuIGNsYXNzPVwic2t5LWZpbHRlci1pdGVtLW5hbWVcIj57eyBsYWJlbFRleHQoKSB9fTwvc3Bhbj5cbiAgICBAaWYgKHZhbHVlKSB7XG4gICAgICA8c3Bhbj46PC9zcGFuPlxuICAgIH1cbiAgPC9zcGFuPlxuICBAaWYgKHZhbHVlKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJza3ktZmlsdGVyLWl0ZW0tdmFsdWVcIj57e1xuICAgICAgdmFsdWUuZGlzcGxheVZhbHVlID8/IHZhbHVlLnZhbHVlXG4gICAgfX08L3NwYW4+XG4gIH1cbiAgPHNwYW4gY2xhc3M9XCJza3ktZmlsdGVyLWl0ZW0tY2FyZXRcIj5cbiAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJjaGV2cm9uLWRvd25cIiAvPlxuICA8L3NwYW4+XG48L2J1dHRvbj5cbiJdfQ==","import { Component, EventEmitter, Output, TemplateRef, inject, input, viewChild, } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkySelectionModalService } from '@skyux/lookup';\nimport { of } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\nimport { SkyFilterBarService } from '../filter-bar.service';\nimport { SkyFilterItemBaseComponent } from './filter-item-base.component';\nimport { SKY_FILTER_ITEM } from './filter-item.token';\nimport * as i0 from \"@angular/core\";\n/**\n * A filter bar item that opens a selection modal for complex filter configuration.\n * Use this component for lookup-type filter fields where users select one or more\n * options from a list of values.\n */\nexport class SkyFilterItemLookupComponent {\n constructor() {\n /**\n * A unique identifier for the filter item.\n * @required\n */\n this.filterId = input.required(...(ngDevMode ? [{ debugName: \"filterId\" }] : []));\n /**\n * The label to display for the filter item.\n * @required\n */\n this.labelText = input.required(...(ngDevMode ? [{ debugName: \"labelText\" }] : []));\n /**\n * The object property to display for each filter value in the selection modal when users open the filter.\n * @required\n */\n this.searchDescriptorProperty = input.required(...(ngDevMode ? [{ debugName: \"searchDescriptorProperty\" }] : []));\n /**\n * The object property that represents a unique identifier for each filter value in the selection modal when users open the filter.\n * @required\n */\n this.searchIdProperty = input.required(...(ngDevMode ? [{ debugName: \"searchIdProperty\" }] : []));\n /**\n * Fires when users enter search information and allows results to be\n * returned via an observable. The event also fires with empty search text\n * when the filter is opened.\n * @required\n */\n this.searchAsync = new EventEmitter();\n this.templateRef = viewChild((TemplateRef), ...(ngDevMode ? [{ debugName: \"templateRef\" }] : []));\n this.#filterBarSvc = inject(SkyFilterBarService);\n this.#selectionModalSvc = inject(SkySelectionModalService);\n this.#resourceSvc = inject(SkyLibResourcesService);\n this.filterValue = toSignal(toObservable(this.filterId).pipe(switchMap((filterId) => this.#filterBarSvc.getFilterValueUpdates(filterId))));\n }\n #filterBarSvc;\n #selectionModalSvc;\n #resourceSvc;\n ngAfterViewInit() {\n /* istanbul ignore if: safety check */\n if (!this.searchAsync.observed) {\n throw new Error('The SkyFilterItemLookupComponent requires the `searchAsync` output to have an observer.');\n }\n }\n openFilter() {\n const filterId = this.filterId();\n const filterValue = this.filterValue();\n const descriptorProperty = this.searchDescriptorProperty();\n const idProperty = this.searchIdProperty();\n const instance = this.#selectionModalSvc.open({\n descriptorProperty: descriptorProperty,\n idProperty: idProperty,\n searchAsync: (args) => {\n const searchAsyncArgs = {\n filterId: filterId,\n offset: args.offset,\n searchText: args.searchText,\n continuationData: args.continuationData,\n };\n this.searchAsync.emit(searchAsyncArgs);\n return searchAsyncArgs.result;\n },\n selectMode: 'multiple',\n value: filterValue?.value,\n });\n instance.closed\n .pipe(switchMap((args) => {\n if (args.reason !== 'save') {\n return of(undefined);\n }\n const selected = args.selectedItems;\n if (!selected?.length) {\n return of({ value: undefined });\n }\n if (selected.length === 1) {\n const item = selected[0];\n return of({\n value: selected,\n displayValue: item[descriptorProperty],\n });\n }\n // Multiple selections: get localized \"n selected\" string.\n return this.#resourceSvc\n .getString('skyux_filter_item_n_selected', selected.length)\n .pipe(take(1), map((displayValue) => ({\n value: selected,\n displayValue,\n })));\n }))\n .subscribe((filter) => {\n // no filter means the modal was not saved\n if (filter) {\n let filterValue;\n // no filter value means the save result was empty, so emit undefined\n if (filter.value) {\n filterValue = filter;\n }\n this.#filterBarSvc.updateFilter({\n filterId: this.filterId(),\n filterValue,\n });\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterItemLookupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.3.15\", type: SkyFilterItemLookupComponent, isStandalone: true, selector: \"sky-filter-item-lookup\", inputs: { filterId: { classPropertyName: \"filterId\", publicName: \"filterId\", isSignal: true, isRequired: true, transformFunction: null }, labelText: { classPropertyName: \"labelText\", publicName: \"labelText\", isSignal: true, isRequired: true, transformFunction: null }, searchDescriptorProperty: { classPropertyName: \"searchDescriptorProperty\", publicName: \"searchDescriptorProperty\", isSignal: true, isRequired: true, transformFunction: null }, searchIdProperty: { classPropertyName: \"searchIdProperty\", publicName: \"searchIdProperty\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { searchAsync: \"searchAsync\" }, providers: [\n { provide: SKY_FILTER_ITEM, useExisting: SkyFilterItemLookupComponent },\n ], viewQueries: [{ propertyName: \"templateRef\", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], ngImport: i0, template: \"<ng-template #templateRef>\\n <sky-filter-item-base\\n [filterId]=\\\"filterId()\\\"\\n [filterValue]=\\\"filterValue()\\\"\\n [labelText]=\\\"labelText()\\\"\\n (itemClick)=\\\"openFilter()\\\"\\n />\\n</ng-template>\\n\", dependencies: [{ kind: \"component\", type: SkyFilterItemBaseComponent, selector: \"sky-filter-item-base\", inputs: [\"filterId\", \"filterValue\", \"labelText\"], outputs: [\"itemClick\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterItemLookupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-filter-item-lookup', imports: [SkyFilterItemBaseComponent], providers: [\n { provide: SKY_FILTER_ITEM, useExisting: SkyFilterItemLookupComponent },\n ], template: \"<ng-template #templateRef>\\n <sky-filter-item-base\\n [filterId]=\\\"filterId()\\\"\\n [filterValue]=\\\"filterValue()\\\"\\n [labelText]=\\\"labelText()\\\"\\n (itemClick)=\\\"openFilter()\\\"\\n />\\n</ng-template>\\n\" }]\n }], propDecorators: { filterId: [{ type: i0.Input, args: [{ isSignal: true, alias: \"filterId\", required: true }] }], labelText: [{ type: i0.Input, args: [{ isSignal: true, alias: \"labelText\", required: true }] }], searchDescriptorProperty: [{ type: i0.Input, args: [{ isSignal: true, alias: \"searchDescriptorProperty\", required: true }] }], searchIdProperty: [{ type: i0.Input, args: [{ isSignal: true, alias: \"searchIdProperty\", required: true }] }], searchAsync: [{\n type: Output\n }], templateRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0tbG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9maWx0ZXItYmFyL3NyYy9saWIvbW9kdWxlcy9maWx0ZXItYmFyL2ZpbHRlci1pdGVtcy9maWx0ZXItaXRlbS1sb29rdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZpbHRlci1iYXIvc3JjL2xpYi9tb2R1bGVzL2ZpbHRlci1iYXIvZmlsdGVyLWl0ZW1zL2ZpbHRlci1pdGVtLWxvb2t1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSzVELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFdEQ7Ozs7R0FJRztBQVNILE1BQU0sT0FB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Z0VDM0U5RCxvTkFRQSw0Q0R5QlksMEJBQTBCOzs0RkFNekIsNEJBQTRCO2tCQVJ4QyxTQUFTOytCQUNFLHdCQUF3QixXQUN6QixDQUFDLDBCQUEwQixDQUFDLGFBRTFCO3dCQUNULEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLDhCQUE4QixFQUFFO3FCQUN4RTs7c0JBbUNBLE1BQU07K0VBR2lDLFdBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvbG9va3VwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lGaWx0ZXJCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vZmlsdGVyLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUZpbHRlckJhckZpbHRlclZhbHVlIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1iYXItZmlsdGVyLXZhbHVlJztcbmltcG9ydCB7IFNreUZpbHRlckl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLWl0ZW0nO1xuaW1wb3J0IHsgU2t5RmlsdGVySXRlbUxvb2t1cFNlYXJjaEFzeW5jQXJncyB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItaXRlbS1sb29rdXAtc2VhcmNoLWFzeW5jLWFyZ3MnO1xuXG5pbXBvcnQgeyBTa3lGaWx0ZXJJdGVtQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWl0ZW0tYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU0tZX0ZJTFRFUl9JVEVNIH0gZnJvbSAnLi9maWx0ZXItaXRlbS50b2tlbic7XG5cbi8qKlxuICogQSBmaWx0ZXIgYmFyIGl0ZW0gdGhhdCBvcGVucyBhIHNlbGVjdGlvbiBtb2RhbCBmb3IgY29tcGxleCBmaWx0ZXIgY29uZmlndXJhdGlvbi5cbiAqIFVzZSB0aGlzIGNvbXBvbmVudCBmb3IgbG9va3VwLXR5cGUgZmlsdGVyIGZpZWxkcyB3aGVyZSB1c2VycyBzZWxlY3Qgb25lIG9yIG1vcmVcbiAqIG9wdGlvbnMgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZmlsdGVyLWl0ZW0tbG9va3VwJyxcbiAgaW1wb3J0czogW1NreUZpbHRlckl0ZW1CYXNlQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1pdGVtLWxvb2t1cC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogU0tZX0ZJTFRFUl9JVEVNLCB1c2VFeGlzdGluZzogU2t5RmlsdGVySXRlbUxvb2t1cENvbXBvbmVudCB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGaWx0ZXJJdGVtTG9va3VwQ29tcG9uZW50XG4gIGltcGxlbWVudHMgU2t5RmlsdGVySXRlbSwgQWZ0ZXJWaWV3SW5pdFxue1xuICAvKipcbiAgICogQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZpbHRlciBpdGVtLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmaWx0ZXJJZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGRpc3BsYXkgZm9yIHRoZSBmaWx0ZXIgaXRlbS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbGFiZWxUZXh0ID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0IHByb3BlcnR5IHRvIGRpc3BsYXkgZm9yIGVhY2ggZmlsdGVyIHZhbHVlIGluIHRoZSBzZWxlY3Rpb24gbW9kYWwgd2hlbiB1c2VycyBvcGVuIHRoZSBmaWx0ZXIuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNlYXJjaERlc2NyaXB0b3JQcm9wZXJ0eSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCBwcm9wZXJ0eSB0aGF0IHJlcHJlc2VudHMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgZWFjaCBmaWx0ZXIgdmFsdWUgaW4gdGhlIHNlbGVjdGlvbiBtb2RhbCB3aGVuIHVzZXJzIG9wZW4gdGhlIGZpbHRlci5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoSWRQcm9wZXJ0eSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBlbnRlciBzZWFyY2ggaW5mb3JtYXRpb24gYW5kIGFsbG93cyByZXN1bHRzIHRvIGJlXG4gICAqIHJldHVybmVkIHZpYSBhbiBvYnNlcnZhYmxlLiBUaGUgZXZlbnQgYWxzbyBmaXJlcyB3aXRoIGVtcHR5IHNlYXJjaCB0ZXh0XG4gICAqIHdoZW4gdGhlIGZpbHRlciBpcyBvcGVuZWQuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hBc3luYyA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RmlsdGVySXRlbUxvb2t1cFNlYXJjaEFzeW5jQXJncz4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVSZWYgPSB2aWV3Q2hpbGQoVGVtcGxhdGVSZWY8dW5rbm93bj4pO1xuXG4gIHJlYWRvbmx5ICNmaWx0ZXJCYXJTdmMgPSBpbmplY3QoU2t5RmlsdGVyQmFyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNzZWxlY3Rpb25Nb2RhbFN2YyA9IGluamVjdChTa3lTZWxlY3Rpb25Nb2RhbFNlcnZpY2UpO1xuICByZWFkb25seSAjcmVzb3VyY2VTdmMgPSBpbmplY3QoU2t5TGliUmVzb3VyY2VzU2VydmljZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZpbHRlclZhbHVlID0gdG9TaWduYWwoXG4gICAgdG9PYnNlcnZhYmxlKHRoaXMuZmlsdGVySWQpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGZpbHRlcklkKSA9PlxuICAgICAgICB0aGlzLiNmaWx0ZXJCYXJTdmMuZ2V0RmlsdGVyVmFsdWVVcGRhdGVzKGZpbHRlcklkKSxcbiAgICAgICksXG4gICAgKSxcbiAgKTtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZjogc2FmZXR5IGNoZWNrICovXG4gICAgaWYgKCF0aGlzLnNlYXJjaEFzeW5jLm9ic2VydmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdUaGUgU2t5RmlsdGVySXRlbUxvb2t1cENvbXBvbmVudCByZXF1aXJlcyB0aGUgYHNlYXJjaEFzeW5jYCBvdXRwdXQgdG8gaGF2ZSBhbiBvYnNlcnZlci4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbkZpbHRlcigpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJJZCA9IHRoaXMuZmlsdGVySWQoKTtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHRoaXMuZmlsdGVyVmFsdWUoKTtcbiAgICBjb25zdCBkZXNjcmlwdG9yUHJvcGVydHkgPSB0aGlzLnNlYXJjaERlc2NyaXB0b3JQcm9wZXJ0eSgpO1xuICAgIGNvbnN0IGlkUHJvcGVydHkgPSB0aGlzLnNlYXJjaElkUHJvcGVydHkoKTtcblxuICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy4jc2VsZWN0aW9uTW9kYWxTdmMub3Blbih7XG4gICAgICBkZXNjcmlwdG9yUHJvcGVydHk6IGRlc2NyaXB0b3JQcm9wZXJ0eSxcbiAgICAgIGlkUHJvcGVydHk6IGlkUHJvcGVydHksXG4gICAgICBzZWFyY2hBc3luYzogKGFyZ3MpID0+IHtcbiAgICAgICAgY29uc3Qgc2VhcmNoQXN5bmNBcmdzOiBTa3lGaWx0ZXJJdGVtTG9va3VwU2VhcmNoQXN5bmNBcmdzID0ge1xuICAgICAgICAgIGZpbHRlcklkOiBmaWx0ZXJJZCxcbiAgICAgICAgICBvZmZzZXQ6IGFyZ3Mub2Zmc2V0LFxuICAgICAgICAgIHNlYXJjaFRleHQ6IGFyZ3Muc2VhcmNoVGV4dCxcbiAgICAgICAgICBjb250aW51YXRpb25EYXRhOiBhcmdzLmNvbnRpbnVhdGlvbkRhdGEsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5zZWFyY2hBc3luYy5lbWl0KHNlYXJjaEFzeW5jQXJncyk7XG5cbiAgICAgICAgcmV0dXJuIHNlYXJjaEFzeW5jQXJncy5yZXN1bHQ7XG4gICAgICB9LFxuICAgICAgc2VsZWN0TW9kZTogJ211bHRpcGxlJyxcbiAgICAgIHZhbHVlOiBmaWx0ZXJWYWx1ZT8udmFsdWUgYXMgdW5rbm93bltdIHwgdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgaW5zdGFuY2UuY2xvc2VkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChhcmdzKTogT2JzZXJ2YWJsZTxTa3lGaWx0ZXJCYXJGaWx0ZXJWYWx1ZSB8IHVuZGVmaW5lZD4gPT4ge1xuICAgICAgICAgIGlmIChhcmdzLnJlYXNvbiAhPT0gJ3NhdmUnKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IGFyZ3Muc2VsZWN0ZWRJdGVtcztcbiAgICAgICAgICBpZiAoIXNlbGVjdGVkPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBvZih7IHZhbHVlOiB1bmRlZmluZWQgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlbGVjdGVkLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHNlbGVjdGVkWzBdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgICAgICAgICByZXR1cm4gb2Yoe1xuICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWQsXG4gICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogaXRlbVtkZXNjcmlwdG9yUHJvcGVydHldIGFzIHN0cmluZyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE11bHRpcGxlIHNlbGVjdGlvbnM6IGdldCBsb2NhbGl6ZWQgXCJuIHNlbGVjdGVkXCIgc3RyaW5nLlxuICAgICAgICAgIHJldHVybiB0aGlzLiNyZXNvdXJjZVN2Y1xuICAgICAgICAgICAgLmdldFN0cmluZygnc2t5dXhfZmlsdGVyX2l0ZW1fbl9zZWxlY3RlZCcsIHNlbGVjdGVkLmxlbmd0aClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICBtYXAoKGRpc3BsYXlWYWx1ZSkgPT4gKHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgZGlzcGxheVZhbHVlLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAvLyBubyBmaWx0ZXIgbWVhbnMgdGhlIG1vZGFsIHdhcyBub3Qgc2F2ZWRcbiAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgIGxldCBmaWx0ZXJWYWx1ZTogU2t5RmlsdGVyQmFyRmlsdGVyVmFsdWUgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgLy8gbm8gZmlsdGVyIHZhbHVlIG1lYW5zIHRoZSBzYXZlIHJlc3VsdCB3YXMgZW1wdHksIHNvIGVtaXQgdW5kZWZpbmVkXG4gICAgICAgICAgaWYgKGZpbHRlci52YWx1ZSkge1xuICAgICAgICAgICAgZmlsdGVyVmFsdWUgPSBmaWx0ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuI2ZpbHRlckJhclN2Yy51cGRhdGVGaWx0ZXIoe1xuICAgICAgICAgICAgZmlsdGVySWQ6IHRoaXMuZmlsdGVySWQoKSxcbiAgICAgICAgICAgIGZpbHRlclZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZj5cbiAgPHNreS1maWx0ZXItaXRlbS1iYXNlXG4gICAgW2ZpbHRlcklkXT1cImZpbHRlcklkKClcIlxuICAgIFtmaWx0ZXJWYWx1ZV09XCJmaWx0ZXJWYWx1ZSgpXCJcbiAgICBbbGFiZWxUZXh0XT1cImxhYmVsVGV4dCgpXCJcbiAgICAoaXRlbUNsaWNrKT1cIm9wZW5GaWx0ZXIoKVwiXG4gIC8+XG48L25nLXRlbXBsYXRlPlxuIl19","/**\n * The context object that is provided to a filter modal.\n */\nexport class SkyFilterItemModalContext {\n constructor(args) {\n this.filterLabelText = args.filterLabelText;\n this.filterValue = args.filterValue;\n this.additionalContext = args.additionalContext;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0tbW9kYWwtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9maWx0ZXItYmFyL3NyYy9saWIvbW9kdWxlcy9maWx0ZXItYmFyL21vZGVscy9maWx0ZXItaXRlbS1tb2RhbC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUF5QjtJQWVwQyxZQUFZLElBSVg7UUFDQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RmlsdGVyQmFyRmlsdGVyVmFsdWUgfSBmcm9tICcuL2ZpbHRlci1iYXItZmlsdGVyLXZhbHVlJztcblxuLyoqXG4gKiBUaGUgY29udGV4dCBvYmplY3QgdGhhdCBpcyBwcm92aWRlZCB0byBhIGZpbHRlciBtb2RhbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZpbHRlckl0ZW1Nb2RhbENvbnRleHQ8VERhdGEgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGZpbHRlci4gV2UgcmVjb21tZW5kIHVzaW5nIHRoaXMgdmFsdWUgZm9yIHRoZSBtb2RhbCdzIGhlYWRpbmcuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyTGFiZWxUZXh0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIGZpbHRlci5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmaWx0ZXJWYWx1ZT86IFNreUZpbHRlckJhckZpbHRlclZhbHVlO1xuICAvKipcbiAgICogQW4gdW50eXBlZCBwcm9wZXJ0eSB0aGF0IGNhbiB0cmFjayBhbnkgY29uZmlnIGluZm9ybWF0aW9uIHJlbGV2YW50IHRvIHRoZSBmaWx0ZXIgbW9kYWxcbiAgICogdGhhdCBleGlzdGluZyBvcHRpb25zIGRvIG5vdCBpbmNsdWRlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFkZGl0aW9uYWxDb250ZXh0PzogVERhdGE7XG5cbiAgY29uc3RydWN0b3IoYXJnczoge1xuICAgIGZpbHRlckxhYmVsVGV4dDogc3RyaW5nO1xuICAgIGZpbHRlclZhbHVlPzogU2t5RmlsdGVyQmFyRmlsdGVyVmFsdWU7XG4gICAgYWRkaXRpb25hbENvbnRleHQ/OiBURGF0YTtcbiAgfSkge1xuICAgIHRoaXMuZmlsdGVyTGFiZWxUZXh0ID0gYXJncy5maWx0ZXJMYWJlbFRleHQ7XG4gICAgdGhpcy5maWx0ZXJWYWx1ZSA9IGFyZ3MuZmlsdGVyVmFsdWU7XG4gICAgdGhpcy5hZGRpdGlvbmFsQ29udGV4dCA9IGFyZ3MuYWRkaXRpb25hbENvbnRleHQ7XG4gIH1cbn1cbiJdfQ==","/**\n * A specialized `SkyModalInstance` wrapper.\n */\nexport class SkyFilterItemModalInstance {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0tbW9kYWwtaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9zcmMvbGliL21vZHVsZXMvZmlsdGVyLWJhci9tb2RlbHMvZmlsdGVyLWl0ZW0tbW9kYWwtaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLDBCQUEwQjtDQWtCL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGaWx0ZXJJdGVtTW9kYWxDb250ZXh0IH0gZnJvbSAnLi9maWx0ZXItaXRlbS1tb2RhbC1jb250ZXh0JztcbmltcG9ydCB7IFNreUZpbHRlckl0ZW1Nb2RhbFNhdmVkQXJncyB9IGZyb20gJy4vZmlsdGVyLWl0ZW0tbW9kYWwtc2F2ZWQtYXJncyc7XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCBgU2t5TW9kYWxJbnN0YW5jZWAgd3JhcHBlci5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNreUZpbHRlckl0ZW1Nb2RhbEluc3RhbmNlPFxuICBURGF0YSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiB7XG4gIC8qKlxuICAgKiBUaGUgY29udGV4dCBwcm92aWRlZCB0byB0aGUgZmlsdGVyIG1vZGFsIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjb250ZXh0OiBTa3lGaWx0ZXJJdGVtTW9kYWxDb250ZXh0PFREYXRhPjtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCBpbnN0YW5jZSB3aXRoIGByZWFzb249XCJjYW5jZWxcImAuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY2FuY2VsKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgaW5zdGFuY2Ugd2l0aCBgcmVhc29uPVwic2F2ZVwiYC5cbiAgICogQHBhcmFtIGFyZ3NcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBzYXZlKGFyZ3M6IFNreUZpbHRlckl0ZW1Nb2RhbFNhdmVkQXJncyk6IHZvaWQ7XG59XG4iXX0=","import { Component, DestroyRef, EnvironmentInjector, EventEmitter, Injector, Output, TemplateRef, inject, input, runInInjectionContext, viewChild, } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { SkyModalService } from '@skyux/modals';\nimport { Subject, of } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\nimport { SkyFilterBarService } from '../filter-bar.service';\nimport { SkyFilterItemModalContext } from '../models/filter-item-modal-context';\nimport { SkyFilterItemModalInstance } from '../models/filter-item-modal-instance';\nimport { SkyFilterItemBaseComponent } from './filter-item-base.component';\nimport { SKY_FILTER_ITEM } from './filter-item.token';\nimport * as i0 from \"@angular/core\";\n/**\n * A filter bar item that opens a modal for complex filter configuration.\n * Use this component when your filter requires a rich UI with multiple inputs,\n * date pickers, or other complex controls that don't fit in an inline filter.\n */\nexport class SkyFilterItemModalComponent {\n constructor() {\n /**\n * A unique identifier for the filter item.\n * @required\n */\n this.filterId = input.required(...(ngDevMode ? [{ debugName: \"filterId\" }] : []));\n /**\n * The label to display for the filter item.\n * @required\n */\n this.labelText = input.required(...(ngDevMode ? [{ debugName: \"labelText\" }] : []));\n /**\n * The modal component to display when the user selects the filter.\n * The component needs to inject a `SkyFilterItemModalInstance` object on instantiation to receive the modal instance and context from the modal service.\n * The return value of the modal save action needs to be a `SkyFilterBarFilterValue`.\n * @required\n */\n this.modalComponent = input.required(...(ngDevMode ? [{ debugName: \"modalComponent\" }] : []));\n /**\n * The size of the modal to display. The valid options are `\"small\"`, `\"medium\"`, `\"large\"`, and `\"fullScreen\"`.\n */\n this.modalSize = input.required(...(ngDevMode ? [{ debugName: \"modalSize\" }] : []));\n /**\n * Fires when the user clicks the filter item. To pass additional context data to a filter modal, consumers\n * must subscribe to this event and return the context using the observable property on the event args.\n */\n this.modalOpened = new EventEmitter();\n this.templateRef = viewChild((TemplateRef), ...(ngDevMode ? [{ debugName: \"templateRef\" }] : []));\n this.#environmentInjector = inject(EnvironmentInjector);\n this.#modalSvc = inject(SkyModalService);\n this.#filterBarSvc = inject(SkyFilterBarService);\n this.filterValue = toSignal(toObservable(this.filterId).pipe(switchMap((filterId) => this.#filterBarSvc.getFilterValueUpdates(filterId))));\n }\n #environmentInjector;\n #modalSvc;\n #filterBarSvc;\n openFilter() {\n const modalComponent = this.modalComponent();\n const modalSize = this.modalSize();\n const labelText = this.labelText();\n const filterValue = this.filterValue();\n this.#openFilterCallback().subscribe((additionalContext) => {\n const context = new SkyFilterItemModalContext({\n filterLabelText: labelText,\n filterValue,\n additionalContext,\n });\n const injector = Injector.create({\n parent: this.#environmentInjector,\n providers: [{ provide: SkyFilterItemModalContext, useValue: context }],\n });\n runInInjectionContext(injector, () => {\n const destroyRef = injector.get(DestroyRef);\n const saved = new Subject();\n const canceled = new Subject();\n const context = inject(SkyFilterItemModalContext);\n const filterModalInstance = {\n context,\n cancel() {\n canceled.next();\n canceled.complete();\n },\n save(result) {\n saved.next(result);\n saved.complete();\n },\n };\n canceled\n .pipe(takeUntilDestroyed(destroyRef))\n .subscribe(() => instance.cancel());\n saved\n .pipe(takeUntilDestroyed(destroyRef))\n .subscribe((result) => instance.save(result.filterValue));\n const modalConfig = {\n providers: [\n {\n provide: SkyFilterItemModalInstance,\n useValue: filterModalInstance,\n },\n ],\n };\n if (modalSize === 'fullScreen') {\n modalConfig.fullPage = true;\n }\n else {\n modalConfig.size = modalSize;\n }\n const instance = this.#modalSvc.open(modalComponent, modalConfig);\n instance.closed.subscribe((args) => {\n if (args.reason === 'save') {\n this.#filterBarSvc.updateFilter({\n filterId: this.filterId(),\n filterValue: args.data,\n });\n }\n });\n });\n });\n }\n #openFilterCallback() {\n if (this.modalOpened.observed) {\n const args = {\n filterId: this.filterId(),\n };\n this.modalOpened.emit(args);\n return args.data?.pipe(take(1)) || of(undefined);\n }\n return of(undefined);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterItemModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.3.15\", type: SkyFilterItemModalComponent, isStandalone: true, selector: \"sky-filter-item-modal\", inputs: { filterId: { classPropertyName: \"filterId\", publicName: \"filterId\", isSignal: true, isRequired: true, transformFunction: null }, labelText: { classPropertyName: \"labelText\", publicName: \"labelText\", isSignal: true, isRequired: true, transformFunction: null }, modalComponent: { classPropertyName: \"modalComponent\", publicName: \"modalComponent\", isSignal: true, isRequired: true, transformFunction: null }, modalSize: { classPropertyName: \"modalSize\", publicName: \"modalSize\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { modalOpened: \"modalOpened\" }, providers: [\n { provide: SKY_FILTER_ITEM, useExisting: SkyFilterItemModalComponent },\n ], viewQueries: [{ propertyName: \"templateRef\", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], ngImport: i0, template: \"<ng-template #templateRef>\\n <sky-filter-item-base\\n [filterId]=\\\"filterId()\\\"\\n [filterValue]=\\\"filterValue()\\\"\\n [labelText]=\\\"labelText()\\\"\\n (itemClick)=\\\"openFilter()\\\"\\n />\\n</ng-template>\\n\", dependencies: [{ kind: \"component\", type: SkyFilterItemBaseComponent, selector: \"sky-filter-item-base\", inputs: [\"filterId\", \"filterValue\", \"labelText\"], outputs: [\"itemClick\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterItemModalComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-filter-item-modal', imports: [SkyFilterItemBaseComponent], providers: [\n { provide: SKY_FILTER_ITEM, useExisting: SkyFilterItemModalComponent },\n ], template: \"<ng-template #templateRef>\\n <sky-filter-item-base\\n [filterId]=\\\"filterId()\\\"\\n [filterValue]=\\\"filterValue()\\\"\\n [labelText]=\\\"labelText()\\\"\\n (itemClick)=\\\"openFilter()\\\"\\n />\\n</ng-template>\\n\" }]\n }], propDecorators: { filterId: [{ type: i0.Input, args: [{ isSignal: true, alias: \"filterId\", required: true }] }], labelText: [{ type: i0.Input, args: [{ isSignal: true, alias: \"labelText\", required: true }] }], modalComponent: [{ type: i0.Input, args: [{ isSignal: true, alias: \"modalComponent\", required: true }] }], modalSize: [{ type: i0.Input, args: [{ isSignal: true, alias: \"modalSize\", required: true }] }], modalOpened: [{\n type: Output\n }], templateRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0tbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZpbHRlci1iYXIvc3JjL2xpYi9tb2R1bGVzL2ZpbHRlci1iYXIvZmlsdGVyLWl0ZW1zL2ZpbHRlci1pdGVtLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9maWx0ZXItYmFyL3NyYy9saWIvbW9kdWxlcy9maWx0ZXItYmFyL2ZpbHRlci1pdGVtcy9maWx0ZXItaXRlbS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLFFBQVEsRUFDUixNQUFNLEVBQ04sV0FBVyxFQUVYLE1BQU0sRUFDTixLQUFLLEVBQ0wscUJBQXFCLEVBQ3JCLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBa0MsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBYyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFLbEYsT0FBTyxFQUFF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Q0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEdBQXdDO2dCQUNoRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTthQUMxQixDQUFDO1lBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7K0dBeElVLDJCQUEyQjttR0FBM0IsMkJBQTJCLGlwQkFKM0I7WUFDVCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFO1NBQ3ZFLHVFQXVDdUMsQ0FBQSxXQUFvQixDQUFBLGdFQ25GOUQsb05BUUEsNENEZ0NZLDBCQUEwQjs7NEZBTXpCLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDRSx1QkFBdUIsV0FDeEIsQ0FBQywwQkFBMEIsQ0FBQyxhQUUxQjt3QkFDVCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyw2QkFBNkIsRUFBRTtxQkFDdkU7O3NCQW9DQSxNQUFNOytFQUdpQyxXQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RvcixcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSwgU2t5TW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUZpbHRlckJhclNlcnZpY2UgfSBmcm9tICcuLi9maWx0ZXItYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RmlsdGVySXRlbSB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItaXRlbSc7XG5pbXBvcnQgeyBTa3lGaWx0ZXJJdGVtTW9kYWwgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLWl0ZW0tbW9kYWwnO1xuaW1wb3J0IHsgU2t5RmlsdGVySXRlbU1vZGFsQ29udGV4dCB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItaXRlbS1tb2RhbC1jb250ZXh0JztcbmltcG9ydCB7IFNreUZpbHRlckl0ZW1Nb2RhbEluc3RhbmNlIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1pdGVtLW1vZGFsLWluc3RhbmNlJztcbmltcG9ydCB7IFNreUZpbHRlckl0ZW1Nb2RhbE9wZW5lZEFyZ3MgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLWl0ZW0tbW9kYWwtb3BlbmVkLWFyZ3MnO1xuaW1wb3J0IHsgU2t5RmlsdGVySXRlbU1vZGFsU2F2ZWRBcmdzIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1pdGVtLW1vZGFsLXNhdmVkLWFyZ3MnO1xuaW1wb3J0IHsgU2t5RmlsdGVySXRlbU1vZGFsU2l6ZVR5cGUgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLWl0ZW0tbW9kYWwtc2l6ZSc7XG5cbmltcG9ydCB7IFNreUZpbHRlckl0ZW1CYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXItaXRlbS1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTS1lfRklMVEVSX0lURU0gfSBmcm9tICcuL2ZpbHRlci1pdGVtLnRva2VuJztcblxuLyoqXG4gKiBBIGZpbHRlciBiYXIgaXRlbSB0aGF0IG9wZW5zIGEgbW9kYWwgZm9yIGNvbXBsZXggZmlsdGVyIGNvbmZpZ3VyYXRpb24uXG4gKiBVc2UgdGhpcyBjb21wb25lbnQgd2hlbiB5b3VyIGZpbHRlciByZXF1aXJlcyBhIHJpY2ggVUkgd2l0aCBtdWx0aXBsZSBpbnB1dHMsXG4gKiBkYXRlIHBpY2tlcnMsIG9yIG90aGVyIGNvbXBsZXggY29udHJvbHMgdGhhdCBkb24ndCBmaXQgaW4gYW4gaW5saW5lIGZpbHRlci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZpbHRlci1pdGVtLW1vZGFsJyxcbiAgaW1wb3J0czogW1NreUZpbHRlckl0ZW1CYXNlQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1pdGVtLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBTS1lfRklMVEVSX0lURU0sIHVzZUV4aXN0aW5nOiBTa3lGaWx0ZXJJdGVtTW9kYWxDb21wb25lbnQgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmlsdGVySXRlbU1vZGFsQ29tcG9uZW50PFxuICBURGF0YSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkLFxuPiBpbXBsZW1lbnRzIFNreUZpbHRlckl0ZW1cbntcbiAgLyoqXG4gICAqIEEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBmaWx0ZXIgaXRlbS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVySWQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBsYWJlbCB0byBkaXNwbGF5IGZvciB0aGUgZmlsdGVyIGl0ZW0uXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxhYmVsVGV4dCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIG1vZGFsIGNvbXBvbmVudCB0byBkaXNwbGF5IHdoZW4gdGhlIHVzZXIgc2VsZWN0cyB0aGUgZmlsdGVyLlxuICAgKiBUaGUgY29tcG9uZW50IG5lZWRzIHRvIGluamVjdCBhIGBTa3lGaWx0ZXJJdGVtTW9kYWxJbnN0YW5jZWAgb2JqZWN0IG9uIGluc3RhbnRpYXRpb24gdG8gcmVjZWl2ZSB0aGUgbW9kYWwgaW5zdGFuY2UgYW5kIGNvbnRleHQgZnJvbSB0aGUgbW9kYWwgc2VydmljZS5cbiAgICogVGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgbW9kYWwgc2F2ZSBhY3Rpb24gbmVlZHMgdG8gYmUgYSBgU2t5RmlsdGVyQmFyRmlsdGVyVmFsdWVgLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtb2RhbENvbXBvbmVudCA9XG4gICAgaW5wdXQucmVxdWlyZWQ8VHlwZTxTa3lGaWx0ZXJJdGVtTW9kYWw8VERhdGE+Pj4oKTtcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIG1vZGFsIHRvIGRpc3BsYXkuIFRoZSB2YWxpZCBvcHRpb25zIGFyZSBgXCJzbWFsbFwiYCwgYFwibWVkaXVtXCJgLCBgXCJsYXJnZVwiYCwgYW5kIGBcImZ1bGxTY3JlZW5cImAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbW9kYWxTaXplID0gaW5wdXQucmVxdWlyZWQ8U2t5RmlsdGVySXRlbU1vZGFsU2l6ZVR5cGU+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBmaWx0ZXIgaXRlbS4gVG8gcGFzcyBhZGRpdGlvbmFsIGNvbnRleHQgZGF0YSB0byBhIGZpbHRlciBtb2RhbCwgY29uc3VtZXJzXG4gICAqIG11c3Qgc3Vic2NyaWJlIHRvIHRoaXMgZXZlbnQgYW5kIHJldHVybiB0aGUgY29udGV4dCB1c2luZyB0aGUgb2JzZXJ2YWJsZSBwcm9wZXJ0eSBvbiB0aGUgZXZlbnQgYXJncy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbW9kYWxPcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUZpbHRlckl0ZW1Nb2RhbE9wZW5lZEFyZ3M8VERhdGE+PigpO1xuXG4gIHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IHZpZXdDaGlsZChUZW1wbGF0ZVJlZjx1bmtub3duPik7XG5cbiAgcmVhZG9ubHkgI2Vudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gIHJlYWRvbmx5ICNtb2RhbFN2YyA9IGluamVjdChTa3lNb2RhbFNlcnZpY2UpO1xuICByZWFkb25seSAjZmlsdGVyQmFyU3ZjID0gaW5qZWN0KFNreUZpbHRlckJhclNlcnZpY2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmaWx0ZXJWYWx1ZSA9IHRvU2lnbmFsKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmZpbHRlcklkKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChmaWx0ZXJJZCkgPT5cbiAgICAgICAgdGhpcy4jZmlsdGVyQmFyU3ZjLmdldEZpbHRlclZhbHVlVXBkYXRlcyhmaWx0ZXJJZCksXG4gICAgICApLFxuICAgICksXG4gICk7XG5cbiAgcHJvdGVjdGVkIG9wZW5GaWx0ZXIoKTogdm9pZCB7XG4gICAgY29uc3QgbW9kYWxDb21wb25lbnQgPSB0aGlzLm1vZGFsQ29tcG9uZW50KCk7XG4gICAgY29uc3QgbW9kYWxTaXplID0gdGhpcy5tb2RhbFNpemUoKTtcbiAgICBjb25zdCBsYWJlbFRleHQgPSB0aGlzLmxhYmVsVGV4dCgpO1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdGhpcy5maWx0ZXJWYWx1ZSgpO1xuXG4gICAgdGhpcy4jb3BlbkZpbHRlckNhbGxiYWNrKCkuc3Vic2NyaWJlKChhZGRpdGlvbmFsQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBTa3lGaWx0ZXJJdGVtTW9kYWxDb250ZXh0PFREYXRhPih7XG4gICAgICAgIGZpbHRlckxhYmVsVGV4dDogbGFiZWxUZXh0LFxuICAgICAgICBmaWx0ZXJWYWx1ZSxcbiAgICAgICAgYWRkaXRpb25hbENvbnRleHQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICBwYXJlbnQ6IHRoaXMuI2Vudmlyb25tZW50SW5qZWN0b3IsXG4gICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogU2t5RmlsdGVySXRlbU1vZGFsQ29udGV4dCwgdXNlVmFsdWU6IGNvbnRleHQgfV0sXG4gICAgICB9KTtcblxuICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3Rvci5nZXQoRGVzdHJveVJlZik7XG5cbiAgICAgICAgY29uc3Qgc2F2ZWQgPSBuZXcgU3ViamVjdDxTa3lGaWx0ZXJJdGVtTW9kYWxTYXZlZEFyZ3M+KCk7XG4gICAgICAgIGNvbnN0IGNhbmNlbGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgICBjb25zdCBjb250ZXh0ID0gaW5qZWN0PFNreUZpbHRlckl0ZW1Nb2RhbENvbnRleHQ8VERhdGE+PihcbiAgICAgICAgICBTa3lGaWx0ZXJJdGVtTW9kYWxDb250ZXh0LFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlck1vZGFsSW5zdGFuY2U6IFNreUZpbHRlckl0ZW1Nb2RhbEluc3RhbmNlPFREYXRhPiA9IHtcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIGNhbmNlbCgpIHtcbiAgICAgICAgICAgIGNhbmNlbGVkLm5leHQoKTtcbiAgICAgICAgICAgIGNhbmNlbGVkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzYXZlKHJlc3VsdCkge1xuICAgICAgICAgICAgc2F2ZWQubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgc2F2ZWQuY29tcGxldGUoKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIGNhbmNlbGVkXG4gICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKGRlc3Ryb3lSZWYpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gaW5zdGFuY2UuY2FuY2VsKCkpO1xuICAgICAgICBzYXZlZFxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChkZXN0cm95UmVmKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IGluc3RhbmNlLnNhdmUocmVzdWx0LmZpbHRlclZhbHVlKSk7XG5cbiAgICAgICAgY29uc3QgbW9kYWxDb25maWc6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSA9IHtcbiAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvdmlkZTogU2t5RmlsdGVySXRlbU1vZGFsSW5zdGFuY2UsXG4gICAgICAgICAgICAgIHVzZVZhbHVlOiBmaWx0ZXJNb2RhbEluc3RhbmNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgICAgICBpZiAobW9kYWxTaXplID09PSAnZnVsbFNjcmVlbicpIHtcbiAgICAgICAgICBtb2RhbENvbmZpZy5mdWxsUGFnZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbW9kYWxDb25maWcuc2l6ZSA9IG1vZGFsU2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy4jbW9kYWxTdmMub3Blbihtb2RhbENvbXBvbmVudCwgbW9kYWxDb25maWcpO1xuXG4gICAgICAgIGluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgICAgICBpZiAoYXJncy5yZWFzb24gPT09ICdzYXZlJykge1xuICAgICAgICAgICAgdGhpcy4jZmlsdGVyQmFyU3ZjLnVwZGF0ZUZpbHRlcih7XG4gICAgICAgICAgICAgIGZpbHRlcklkOiB0aGlzLmZpbHRlcklkKCksXG4gICAgICAgICAgICAgIGZpbHRlclZhbHVlOiBhcmdzLmRhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAjb3BlbkZpbHRlckNhbGxiYWNrKCk6IE9ic2VydmFibGU8VERhdGEgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAodGhpcy5tb2RhbE9wZW5lZC5vYnNlcnZlZCkge1xuICAgICAgY29uc3QgYXJnczogU2t5RmlsdGVySXRlbU1vZGFsT3BlbmVkQXJnczxURGF0YT4gPSB7XG4gICAgICAgIGZpbHRlcklkOiB0aGlzLmZpbHRlcklkKCksXG4gICAgICB9O1xuICAgICAgdGhpcy5tb2RhbE9wZW5lZC5lbWl0KGFyZ3MpO1xuICAgICAgcmV0dXJuIGFyZ3MuZGF0YT8ucGlwZSh0YWtlKDEpKSB8fCBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmPlxuICA8c2t5LWZpbHRlci1pdGVtLWJhc2VcbiAgICBbZmlsdGVySWRdPVwiZmlsdGVySWQoKVwiXG4gICAgW2ZpbHRlclZhbHVlXT1cImZpbHRlclZhbHVlKClcIlxuICAgIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0KClcIlxuICAgIChpdGVtQ2xpY2spPVwib3BlbkZpbHRlcigpXCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { SkyFilterBarComponent } from './filter-bar.component';\nimport { SkyFilterItemLookupComponent } from './filter-items/filter-item-lookup.component';\nimport { SkyFilterItemModalComponent } from './filter-items/filter-item-modal.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyFilterBarModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarModule, imports: [SkyFilterBarComponent,\n SkyFilterItemModalComponent,\n SkyFilterItemLookupComponent], exports: [SkyFilterBarComponent,\n SkyFilterItemModalComponent,\n SkyFilterItemLookupComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarModule, imports: [SkyFilterBarComponent,\n SkyFilterItemModalComponent,\n SkyFilterItemLookupComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFilterBarModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n SkyFilterBarComponent,\n SkyFilterItemModalComponent,\n SkyFilterItemLookupComponent,\n ],\n exports: [\n SkyFilterBarComponent,\n SkyFilterItemModalComponent,\n SkyFilterItemLookupComponent,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9zcmMvbGliL21vZHVsZXMvZmlsdGVyLWJhci9maWx0ZXItYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQWN6RixNQUFNLE9BQU8sa0JBQWtCOytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixZQVYzQixxQkFBcUI7WUFDckIsMkJBQTJCO1lBQzNCLDRCQUE0QixhQUc1QixxQkFBcUI7WUFDckIsMkJBQTJCO1lBQzNCLDRCQUE0QjtnSEFHbkIsa0JBQWtCLFlBVjNCLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0IsNEJBQTRCOzs0RkFRbkIsa0JBQWtCO2tCQVo5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7d0JBQ3JCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQiwyQkFBMkI7d0JBQzNCLDRCQUE0QjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lGaWx0ZXJCYXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUZpbHRlckl0ZW1Mb29rdXBDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci1pdGVtcy9maWx0ZXItaXRlbS1sb29rdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUZpbHRlckl0ZW1Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWl0ZW1zL2ZpbHRlci1pdGVtLW1vZGFsLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTa3lGaWx0ZXJCYXJDb21wb25lbnQsXG4gICAgU2t5RmlsdGVySXRlbU1vZGFsQ29tcG9uZW50LFxuICAgIFNreUZpbHRlckl0ZW1Mb29rdXBDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lGaWx0ZXJCYXJDb21wb25lbnQsXG4gICAgU2t5RmlsdGVySXRlbU1vZGFsQ29tcG9uZW50LFxuICAgIFNreUZpbHRlckl0ZW1Mb29rdXBDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpbHRlckJhck1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtZmlsdGVyLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9maWx0ZXItYmFyL3NyYy9za3l1eC1maWx0ZXItYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-filter-bar.mjs","sources":["../../../../../libs/components/filter-bar/src/lib/modules/shared/sky-filter-bar-resources.module.ts","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-bar.service.ts","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-items/filter-item.token.ts","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-bar.component.ts","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-bar.component.html","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-items/filter-item-base.component.ts","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-items/filter-item-base.component.html","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-items/filter-item-lookup.component.ts","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-items/filter-item-lookup.component.html","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/models/filter-item-modal-context.ts","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/models/filter-item-modal-instance.ts","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-items/filter-item-modal.component.ts","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-items/filter-item-modal.component.html","../../../../../libs/components/filter-bar/src/lib/modules/filter-bar/filter-bar.module.ts","../../../../../libs/components/filter-bar/src/skyux-filter-bar.ts"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-filter-bar' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_filter_bar_clear_filters_confirm_apply_label: {\n message: 'Clear values',\n },\n skyux_filter_bar_clear_filters_confirm_body: {\n message:\n 'This will not remove any filters, but any values you have set will be removed.',\n },\n skyux_filter_bar_clear_filters_confirm_cancel_label: { message: 'Cancel' },\n skyux_filter_bar_clear_filters_confirm_title: {\n message:\n 'Are you sure you want to reset all filters to their original values?',\n },\n skyux_filter_bar_clear_filters_label: { message: 'Clear all values' },\n skyux_filter_bar_filter_label: { message: 'Filters' },\n skyux_filter_bar_filter_picker_descriptor: { message: 'filters' },\n skyux_filter_item_n_selected: { message: '{0} selected' },\n },\n 'FR-CA': {\n skyux_filter_bar_clear_filters_confirm_apply_label: {\n message: 'Effacer les valeurs',\n },\n skyux_filter_bar_clear_filters_confirm_body: {\n message:\n 'Ceci ne supprimera aucun filtre, mais toutes les valeurs que vous avez définies seront supprimées.',\n },\n skyux_filter_bar_clear_filters_confirm_cancel_label: { message: 'Annuler' },\n skyux_filter_bar_clear_filters_confirm_title: {\n message:\n 'Voulez-vous vraiment réinitialiser tous les filtres à leurs valeurs d’origine?',\n },\n skyux_filter_bar_clear_filters_label: {\n message: 'Effacer toutes les valeurs',\n },\n skyux_filter_bar_filter_label: { message: 'Filtres' },\n skyux_filter_bar_filter_picker_descriptor: { message: 'filtres' },\n skyux_filter_item_n_selected: { message: '{0} sélectionné' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyFilterBarResourcesModule {}\n","import { Injectable } from '@angular/core';\n\nimport { Observable, ReplaySubject, Subject, filter, map } from 'rxjs';\n\nimport { SkyFilterBarFilterItem } from './models/filter-bar-filter-item';\nimport { SkyFilterBarFilterValue } from './models/filter-bar-filter-value';\n\n/**\n * Service for filter items to emit value changes to the filter bar.\n * @internal\n */\n@Injectable()\nexport class SkyFilterBarService {\n readonly #filterItemUpdates = new Subject<SkyFilterBarFilterItem>();\n readonly #filterValueUpdates = new ReplaySubject<SkyFilterBarFilterItem>();\n\n /**\n * Observable stream of filter item updates.\n */\n public readonly filterItemUpdated: Observable<SkyFilterBarFilterItem> =\n this.#filterItemUpdates.asObservable();\n\n /**\n * Filtered observable stream of filter value updates.\n * @param filterId the\n * @returns\n */\n public getFilterValueUpdates<TValue = unknown>(\n filterId: string,\n ): Observable<SkyFilterBarFilterValue<TValue> | undefined> {\n return this.#filterValueUpdates.pipe(\n filter((update) => update.filterId === filterId),\n map(\n (item) =>\n item.filterValue as SkyFilterBarFilterValue<TValue> | undefined,\n ),\n );\n }\n /**\n * Emit a filter value update.\n */\n public updateFilter(filter: SkyFilterBarFilterItem): void {\n this.#filterItemUpdates.next(filter);\n }\n\n public updateFilters(filters: SkyFilterBarFilterItem[]): void {\n for (const filter of filters) {\n this.#filterValueUpdates.next(filter);\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { SkyFilterItem } from '../models/filter-item';\n\n/**\n * A token for filter bar items.\n * @internal\n */\nexport const SKY_FILTER_ITEM = new InjectionToken<SkyFilterItem>(\n 'SKY_FILTER_ITEM',\n);\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n computed,\n contentChildren,\n effect,\n inject,\n model,\n untracked,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport { SkyFilterState, SkyFilterStateService } from '@skyux/lists';\nimport {\n SkySelectionModalOpenArgs,\n SkySelectionModalSearchArgs,\n SkySelectionModalSearchResult,\n SkySelectionModalService,\n} from '@skyux/lookup';\nimport {\n SkyConfirmConfig,\n SkyConfirmService,\n SkyConfirmType,\n} from '@skyux/modals';\n\nimport { Observable, of } from 'rxjs';\n\nimport { SkyFilterBarResourcesModule } from '../shared/sky-filter-bar-resources.module';\n\nimport { SkyFilterBarService } from './filter-bar.service';\nimport { SKY_FILTER_ITEM } from './filter-items/filter-item.token';\nimport { SkyFilterBarFilterItem } from './models/filter-bar-filter-item';\nimport { SkyFilterBarItem } from './models/filter-bar-item';\nimport { SkyFilterItem } from './models/filter-item';\n\n/**\n * The top-level filter bar component.\n */\n@Component({\n selector: 'sky-filter-bar',\n imports: [\n NgTemplateOutlet,\n SkyFilterBarResourcesModule,\n SkyIconModule,\n SkyToolbarModule,\n ],\n providers: [SkyFilterBarService],\n templateUrl: './filter-bar.component.html',\n styleUrl: './filter-bar.component.scss',\n})\nexport class SkyFilterBarComponent {\n /**\n * An array of filter items containing the IDs and values of the filters that have been set.\n */\n public readonly appliedFilters = model<\n SkyFilterBarFilterItem[] | undefined\n >();\n\n /**\n * An array of filter IDs that the user has selected using the built-in selection modal. Setting this input to undefined results in all filters being displayed.\n */\n public readonly selectedFilterIds = model<string[] | undefined>();\n\n protected readonly filterItems = contentChildren(SKY_FILTER_ITEM);\n\n protected readonly visibleFilters = computed((): SkyFilterItem[] => {\n const items = this.filterItems();\n const selectedFilters = this.selectedFilterIds();\n\n const visibleFilters: (SkyFilterItem | undefined)[] = [];\n\n if (items) {\n if (selectedFilters) {\n for (const id of selectedFilters) {\n visibleFilters.push(items.find((item) => item.filterId() === id));\n }\n } else {\n for (const item of items) {\n visibleFilters.push(item);\n }\n }\n }\n\n return visibleFilters.filter((item) => !!item);\n });\n\n readonly #confirmSvc = inject(SkyConfirmService);\n readonly #filterBarSvc = inject(SkyFilterBarService);\n readonly #filterStateSvc = inject(SkyFilterStateService, { optional: true });\n readonly #filterItemUpdated = toSignal(this.#filterBarSvc.filterItemUpdated);\n readonly #modalSvc = inject(SkySelectionModalService);\n readonly #resourceSvc = inject(SkyLibResourcesService);\n readonly #sourceId = 'skyFilterBar';\n readonly #strings = toSignal(\n this.#resourceSvc.getStrings({\n descriptor: 'skyux_filter_bar_filter_picker_descriptor',\n title: 'skyux_filter_bar_clear_filters_confirm_title',\n body: 'skyux_filter_bar_clear_filters_confirm_body',\n save: 'skyux_filter_bar_clear_filters_confirm_apply_label',\n cancel: 'skyux_filter_bar_clear_filters_confirm_cancel_label',\n }),\n );\n\n constructor() {\n // Subscribe to filter value updates from child filter items\n effect(() => {\n const updatedFilter = this.#filterItemUpdated();\n if (updatedFilter) {\n this.#updateFilter(updatedFilter);\n }\n });\n\n // Push filter value updates to child filter items\n effect(() => {\n const filters = this.appliedFilters();\n this.#updateFilters(filters);\n });\n\n // If a filter state service is present, subscribe to its updates and reflect into local signals.\n if (this.#filterStateSvc) {\n const filterStateUpdates = toSignal<SkyFilterState>(\n this.#filterStateSvc.getFilterStateUpdates(this.#sourceId),\n );\n\n effect(() => {\n const data = filterStateUpdates();\n if (data) {\n this.appliedFilters.set(data.appliedFilters);\n this.selectedFilterIds.set(data.selectedFilterIds);\n }\n });\n }\n }\n\n protected openFilters(): void {\n const strings = this.#strings();\n const existingFilters = this.#getExistingFilterItems();\n\n /* istanbul ignore if: safety check */\n if (!strings) {\n return;\n }\n\n const filterArgs: SkySelectionModalOpenArgs = {\n selectionDescriptor: strings.descriptor,\n descriptorProperty: 'labelText',\n idProperty: 'filterId',\n selectMode: 'multiple',\n value: existingFilters,\n searchAsync: this.#filterAsyncSearchFn,\n };\n\n const modalInstance = this.#modalSvc.open(filterArgs);\n\n modalInstance.closed.subscribe((closeArgs) => {\n if (closeArgs.reason === 'save') {\n this.#handleFilterSelection(\n closeArgs.selectedItems as SkyFilterBarItem[] | undefined,\n existingFilters,\n );\n }\n });\n }\n\n protected clearFilters(): void {\n const strings = this.#strings();\n\n /* istanbul ignore if: safety check */\n if (!strings) {\n return;\n }\n\n const config: SkyConfirmConfig = {\n message: strings.title,\n body: strings.body,\n type: SkyConfirmType.Custom,\n buttons: [\n {\n action: 'save',\n text: strings.save,\n styleType: 'primary',\n },\n {\n action: 'cancel',\n text: strings.cancel,\n styleType: 'link',\n },\n ],\n };\n\n const instance = this.#confirmSvc.open(config);\n\n instance.closed.subscribe((result) => {\n if (result.action === 'save') {\n this.appliedFilters.set(undefined);\n this.#updateFilterData();\n }\n });\n }\n\n #getExistingFilterItems(): SkyFilterBarItem[] {\n /* istanbul ignore next: safety check */\n const selectedIds = this.selectedFilterIds() ?? [];\n const filterItems = this.filterItems();\n\n return selectedIds\n .map((selectedId) => {\n const filterItem = filterItems.find(\n (item) => item.filterId() === selectedId,\n );\n\n /* istanbul ignore next: safety check */\n return filterItem\n ? {\n filterId: filterItem.filterId(),\n labelText: filterItem.labelText(),\n filterValue: filterItem.filterValue(),\n }\n : undefined;\n })\n .filter((item) => !!item);\n }\n\n #handleFilterSelection(\n selectedFilters: SkyFilterBarItem[] | undefined,\n existingFilters: SkyFilterBarItem[],\n ): void {\n const { newFilterItems, removedFilterItems } = this.#processFilterChanges(\n selectedFilters,\n existingFilters,\n );\n\n const selectedIds = newFilterItems.map((item) => item.filterId);\n this.selectedFilterIds.set(selectedIds);\n\n if (removedFilterItems.length) {\n this.#updateFilters(removedFilterItems);\n const newFilters = newFilterItems.filter(\n (filter) => !!filter.filterValue,\n );\n this.appliedFilters.set(newFilters.length ? newFilters : undefined);\n }\n this.#updateFilterData();\n }\n\n #processFilterChanges(\n selectedFilters: SkyFilterBarItem[] | undefined,\n existingFilters: SkyFilterBarItem[],\n ): {\n newFilterItems: SkyFilterBarFilterItem[];\n removedFilterItems: SkyFilterBarFilterItem[];\n } {\n const newFilterItems: SkyFilterBarFilterItem[] = [];\n const removedFilterItems: SkyFilterBarFilterItem[] = [];\n\n // Process existing filters\n for (const existingFilter of existingFilters) {\n if (this.#isFilterSelected(existingFilter.filterId, selectedFilters)) {\n newFilterItems.push({\n filterId: existingFilter.filterId,\n filterValue: existingFilter.filterValue,\n });\n } else {\n removedFilterItems.push({ filterId: existingFilter.filterId });\n }\n }\n\n // Add newly selected filters\n if (selectedFilters) {\n for (const selectedFilter of selectedFilters) {\n if (!this.#isFilterInList(selectedFilter.filterId, newFilterItems)) {\n newFilterItems.push({ filterId: selectedFilter.filterId });\n }\n }\n }\n\n return { newFilterItems, removedFilterItems };\n }\n\n #isFilterSelected(\n filterId: string,\n selectedFilters: SkyFilterBarItem[] | undefined,\n ): boolean {\n return !!selectedFilters?.find(\n (selectedFilter) => selectedFilter.filterId === filterId,\n );\n }\n\n #isFilterInList(\n filterId: string,\n filterList: SkyFilterBarFilterItem[],\n ): boolean {\n return !!filterList.find((filter) => filter.filterId === filterId);\n }\n\n /* istanbul ignore next */\n #filterAsyncSearchFn = (\n args: SkySelectionModalSearchArgs,\n ): Observable<SkySelectionModalSearchResult> => {\n const items = this.filterItems().map((item) => ({\n filterId: item.filterId(),\n labelText: item.labelText(),\n }));\n\n const results = args.searchText\n ? items.filter((item) =>\n item.labelText\n .toLocaleUpperCase()\n .includes(args.searchText.toLocaleUpperCase()),\n )\n : items;\n\n return of({\n items: results,\n totalCount: items.length,\n });\n };\n\n #updateFilter(updatedFilter: SkyFilterBarFilterItem): void {\n const filters = untracked(() => this.appliedFilters()) ?? [];\n const newFilterValues: SkyFilterBarFilterItem[] = [];\n\n let replaceFilter = false;\n for (const filterValue of filters) {\n if (filterValue.filterId === updatedFilter.filterId) {\n if (updatedFilter.filterValue) {\n newFilterValues.push(updatedFilter);\n } else {\n this.#updateFilters([updatedFilter]);\n }\n replaceFilter = true;\n } else {\n newFilterValues.push(filterValue);\n }\n }\n\n if (!replaceFilter && updatedFilter.filterValue) {\n newFilterValues.push(updatedFilter);\n }\n\n this.appliedFilters.set(\n newFilterValues.length ? newFilterValues : undefined,\n );\n this.#updateFilterData();\n }\n\n #updateFilters(updatedFilters: SkyFilterBarFilterItem[] | undefined): void {\n if (updatedFilters?.length) {\n this.#filterBarSvc.updateFilters(updatedFilters);\n } else {\n this.#filterBarSvc.updateFilters(\n untracked(() => this.filterItems()).map((filterItem) => ({\n filterId: filterItem.filterId(),\n })),\n );\n }\n }\n\n #updateFilterData(): void {\n if (this.#filterStateSvc) {\n const appliedFilters = untracked(() => this.appliedFilters());\n const selectedFilterIds = untracked(() => this.selectedFilterIds());\n this.#filterStateSvc.updateFilterState(\n {\n appliedFilters,\n selectedFilterIds,\n },\n this.#sourceId,\n );\n }\n }\n}\n","<sky-toolbar class=\"sky-filter-bar-toolbar\">\n <sky-toolbar-item>\n <span class=\"sky-font-data-label\">{{\n 'skyux_filter_bar_filter_label' | skyLibResources\n }}</span>\n </sky-toolbar-item>\n @if (!!selectedFilterIds()) {\n <sky-toolbar-item>\n <button\n type=\"button\"\n class=\"sky-filter-bar-filter-picker sky-btn sky-filter-bar-btn sky-btn-default sky-btn-icon\"\n (click)=\"openFilters()\"\n >\n <sky-icon iconName=\"filter\" />\n </button>\n </sky-toolbar-item>\n }\n @for (filter of visibleFilters(); track filter.filterId()) {\n <sky-toolbar-item>\n <ng-container *ngTemplateOutlet=\"filter.templateRef() ?? null\" />\n </sky-toolbar-item>\n }\n @if (appliedFilters()?.length) {\n <sky-toolbar-item>\n <button\n type=\"button\"\n class=\"sky-filter-bar-clear-filters sky-btn sky-filter-bar-btn sky-btn-link\"\n (click)=\"clearFilters()\"\n >\n {{ 'skyux_filter_bar_clear_filters_label' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n }\n</sky-toolbar>\n","import { Component, input, output } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { SkyFilterBarFilterValue } from '../models/filter-bar-filter-value';\n\n/**\n * A filter bar item that is displayed by the other typed filter items.\n * This component contains a common template and styling that gets rendered as part of the consumer DOM.\n * @internal\n */\n@Component({\n selector: 'sky-filter-item-base',\n imports: [SkyIconModule],\n templateUrl: './filter-item-base.component.html',\n styleUrls: ['./filter-item-base.component.scss'],\n})\nexport class SkyFilterItemBaseComponent {\n /**\n * A unique identifier for the filter item.\n * @required\n */\n public readonly filterId = input.required<string>();\n\n /**\n * The value for the filter item.\n */\n public readonly filterValue = input<SkyFilterBarFilterValue>();\n\n /**\n * The label to display for the filter item.\n */\n public readonly labelText = input.required<string>();\n\n /**\n * Fires when the user clicks the filter item.\n */\n public readonly itemClick = output<void>();\n\n protected onClick(): void {\n this.itemClick.emit();\n }\n}\n","@let value = filterValue();\n<button\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-filter-bar-btn sky-btn-default\"\n type=\"button\"\n [attr.aria-pressed]=\"!!value\"\n [attr.data-filter-id]=\"filterId()\"\n [class.sky-filter-bar-btn-selected]=\"!!value\"\n (click)=\"onClick()\"\n>\n <span class=\"sky-filter-item-title\"\n ><span class=\"sky-filter-item-name\">{{ labelText() }}</span>\n @if (value) {\n <span>:</span>\n }\n </span>\n @if (value) {\n <span class=\"sky-filter-item-value\">{{\n value.displayValue ?? value.value\n }}</span>\n }\n <span class=\"sky-filter-item-caret\">\n <sky-icon iconName=\"chevron-down\" />\n </span>\n</button>\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Output,\n TemplateRef,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkySelectionModalService } from '@skyux/lookup';\n\nimport { Observable, of } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\n\nimport { SkyFilterBarService } from '../filter-bar.service';\nimport { SkyFilterBarFilterValue } from '../models/filter-bar-filter-value';\nimport { SkyFilterItem } from '../models/filter-item';\nimport { SkyFilterItemLookupSearchAsyncArgs } from '../models/filter-item-lookup-search-async-args';\n\nimport { SkyFilterItemBaseComponent } from './filter-item-base.component';\nimport { SKY_FILTER_ITEM } from './filter-item.token';\n\n/**\n * A filter bar item that opens a selection modal for complex filter configuration.\n * Use this component for lookup-type filter fields where users select one or more\n * options from a list of values.\n */\n@Component({\n selector: 'sky-filter-item-lookup',\n imports: [SkyFilterItemBaseComponent],\n templateUrl: './filter-item-lookup.component.html',\n providers: [\n { provide: SKY_FILTER_ITEM, useExisting: SkyFilterItemLookupComponent },\n ],\n})\nexport class SkyFilterItemLookupComponent<TValue = unknown>\n implements SkyFilterItem<TValue[]>, AfterViewInit\n{\n /**\n * A unique identifier for the filter item.\n * @required\n */\n public readonly filterId = input.required<string>();\n\n /**\n * The label to display for the filter item.\n * @required\n */\n public readonly labelText = input.required<string>();\n\n /**\n * The object property to display for each filter value in the selection modal when users open the filter.\n * @required\n */\n public readonly searchDescriptorProperty = input.required<string>();\n\n /**\n * The object property that represents a unique identifier for each filter value in the selection modal when users open the filter.\n * @required\n */\n public readonly searchIdProperty = input.required<string>();\n\n /**\n * Fires when users enter search information and allows results to be\n * returned via an observable. The event also fires with empty search text\n * when the filter is opened.\n * @required\n */\n @Output()\n public searchAsync = new EventEmitter<\n SkyFilterItemLookupSearchAsyncArgs<TValue>\n >();\n\n public readonly templateRef = viewChild(TemplateRef<unknown>);\n\n readonly #filterBarSvc = inject(SkyFilterBarService);\n readonly #selectionModalSvc = inject(SkySelectionModalService);\n readonly #resourceSvc = inject(SkyLibResourcesService);\n\n public readonly filterValue = toSignal(\n toObservable(this.filterId).pipe(\n switchMap((filterId) =>\n this.#filterBarSvc.getFilterValueUpdates<TValue[]>(filterId),\n ),\n ),\n );\n\n public ngAfterViewInit(): void {\n /* istanbul ignore if: safety check */\n if (!this.searchAsync.observed) {\n throw new Error(\n 'The SkyFilterItemLookupComponent requires the `searchAsync` output to have an observer.',\n );\n }\n }\n\n protected openFilter(): void {\n const filterId = this.filterId();\n const filterValue = this.filterValue();\n const descriptorProperty = this.searchDescriptorProperty();\n const idProperty = this.searchIdProperty();\n\n const instance = this.#selectionModalSvc.open({\n descriptorProperty: descriptorProperty,\n idProperty: idProperty,\n searchAsync: (args) => {\n const searchAsyncArgs: SkyFilterItemLookupSearchAsyncArgs<TValue> = {\n filterId: filterId,\n offset: args.offset,\n searchText: args.searchText,\n continuationData: args.continuationData,\n };\n\n this.searchAsync.emit(searchAsyncArgs);\n\n return searchAsyncArgs.result;\n },\n selectMode: 'multiple',\n value: filterValue?.value,\n });\n\n instance.closed\n .pipe(\n switchMap(\n (\n args,\n ): Observable<\n SkyFilterBarFilterValue<TValue[] | undefined> | undefined\n > => {\n if (args.reason !== 'save') {\n return of(undefined);\n }\n\n const selected = args.selectedItems as TValue[];\n if (!selected?.length) {\n return of({ value: undefined });\n }\n\n if (selected.length === 1) {\n const item = selected[0] as Record<string, unknown>;\n\n return of({\n value: selected,\n displayValue: item[descriptorProperty] as string,\n });\n }\n\n // Multiple selections: get localized \"n selected\" string.\n return this.#resourceSvc\n .getString('skyux_filter_item_n_selected', selected.length)\n .pipe(\n take(1),\n map((displayValue) => ({\n value: selected,\n displayValue,\n })),\n );\n },\n ),\n )\n .subscribe((filter) => {\n // no filter means the modal was not saved\n if (filter) {\n let filterValue: SkyFilterBarFilterValue<TValue[]> | undefined;\n // no filter value means the save result was empty, so emit undefined\n if (filter.value) {\n filterValue = filter as SkyFilterBarFilterValue<TValue[]>;\n }\n this.#filterBarSvc.updateFilter({\n filterId: this.filterId(),\n filterValue,\n });\n }\n });\n }\n}\n","<ng-template #templateRef>\n <sky-filter-item-base\n [filterId]=\"filterId()\"\n [filterValue]=\"filterValue()\"\n [labelText]=\"labelText()\"\n (itemClick)=\"openFilter()\"\n />\n</ng-template>\n","import { SkyFilterBarFilterValue } from './filter-bar-filter-value';\n\n/**\n * The context object that is provided to a filter modal.\n * @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.\n * @typeParam TData - The type of the additional context data. Defaults to `Record<string, unknown>`.\n */\nexport class SkyFilterItemModalContext<\n TData = Record<string, unknown>,\n TValue = unknown,\n> {\n /**\n * The name of the filter. We recommend using this value for the modal's heading.\n */\n public readonly filterLabelText: string;\n /**\n * The value of the filter.\n */\n public readonly filterValue?: SkyFilterBarFilterValue<TValue>;\n /**\n * An untyped property that can track any config information relevant to the filter modal\n * that existing options do not include.\n */\n public readonly additionalContext?: TData;\n\n constructor(args: {\n filterLabelText: string;\n filterValue?: SkyFilterBarFilterValue<TValue>;\n additionalContext?: TData;\n }) {\n this.filterLabelText = args.filterLabelText;\n this.filterValue = args.filterValue;\n this.additionalContext = args.additionalContext;\n }\n}\n","import { SkyFilterItemModalContext } from './filter-item-modal-context';\nimport { SkyFilterItemModalSavedArgs } from './filter-item-modal-saved-args';\n\n/**\n * A specialized `SkyModalInstance` wrapper.\n * @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.\n * @typeParam TData - The type of the additional context data. Defaults to `Record<string, unknown>`.\n */\nexport abstract class SkyFilterItemModalInstance<\n TData = Record<string, unknown>,\n TValue = unknown,\n> {\n /**\n * The context provided to the filter modal component.\n */\n public abstract readonly context: SkyFilterItemModalContext<TData, TValue>;\n\n /**\n * Closes the modal instance with `reason=\"cancel\"`.\n */\n public abstract cancel(): void;\n\n /**\n * Closes the modal instance with `reason=\"save\"`.\n * @param args\n */\n public abstract save(args: SkyFilterItemModalSavedArgs<TValue>): void;\n}\n","import {\n Component,\n DestroyRef,\n EnvironmentInjector,\n EventEmitter,\n Injector,\n Output,\n TemplateRef,\n Type,\n inject,\n input,\n runInInjectionContext,\n viewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { SkyModalConfigurationInterface, SkyModalService } from '@skyux/modals';\n\nimport { Observable, Subject, of } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\n\nimport { SkyFilterBarService } from '../filter-bar.service';\nimport { SkyFilterItem } from '../models/filter-item';\nimport { SkyFilterItemModal } from '../models/filter-item-modal';\nimport { SkyFilterItemModalContext } from '../models/filter-item-modal-context';\nimport { SkyFilterItemModalInstance } from '../models/filter-item-modal-instance';\nimport { SkyFilterItemModalOpenedArgs } from '../models/filter-item-modal-opened-args';\nimport { SkyFilterItemModalSavedArgs } from '../models/filter-item-modal-saved-args';\nimport { SkyFilterItemModalSizeType } from '../models/filter-item-modal-size';\n\nimport { SkyFilterItemBaseComponent } from './filter-item-base.component';\nimport { SKY_FILTER_ITEM } from './filter-item.token';\n\n/**\n * A filter bar item that opens a modal for complex filter configuration.\n * Use this component when your filter requires a rich UI with multiple inputs,\n * date pickers, or other complex controls that don't fit in an inline filter.\n */\n@Component({\n selector: 'sky-filter-item-modal',\n imports: [SkyFilterItemBaseComponent],\n templateUrl: './filter-item-modal.component.html',\n providers: [\n { provide: SKY_FILTER_ITEM, useExisting: SkyFilterItemModalComponent },\n ],\n})\nexport class SkyFilterItemModalComponent<\n TData = Record<string, unknown> | undefined,\n TValue = unknown,\n> implements SkyFilterItem<TValue>\n{\n /**\n * A unique identifier for the filter item.\n * @required\n */\n public readonly filterId = input.required<string>();\n\n /**\n * The label to display for the filter item.\n * @required\n */\n public readonly labelText = input.required<string>();\n\n /**\n * The modal component to display when the user selects the filter.\n * The component needs to inject a `SkyFilterItemModalInstance` object on instantiation to receive the modal instance and context from the modal service.\n * The return value of the modal save action needs to be a `SkyFilterBarFilterValue`.\n * @required\n */\n public readonly modalComponent =\n input.required<Type<SkyFilterItemModal<TData, TValue>>>();\n\n /**\n * The size of the modal to display. The valid options are `\"small\"`, `\"medium\"`, `\"large\"`, and `\"fullScreen\"`.\n */\n public readonly modalSize = input.required<SkyFilterItemModalSizeType>();\n\n /**\n * Fires when the user clicks the filter item. To pass additional context data to a filter modal, consumers\n * must subscribe to this event and return the context using the observable property on the event args.\n */\n @Output()\n public modalOpened = new EventEmitter<SkyFilterItemModalOpenedArgs<TData>>();\n\n public readonly templateRef = viewChild(TemplateRef<unknown>);\n\n readonly #environmentInjector = inject(EnvironmentInjector);\n readonly #modalSvc = inject(SkyModalService);\n readonly #filterBarSvc = inject(SkyFilterBarService);\n\n public readonly filterValue = toSignal(\n toObservable(this.filterId).pipe(\n switchMap((filterId) =>\n this.#filterBarSvc.getFilterValueUpdates<TValue>(filterId),\n ),\n ),\n );\n\n protected openFilter(): void {\n const modalComponent = this.modalComponent();\n const modalSize = this.modalSize();\n const labelText = this.labelText();\n const filterValue = this.filterValue();\n\n this.#openFilterCallback().subscribe((additionalContext) => {\n const context = new SkyFilterItemModalContext<TData, TValue>({\n filterLabelText: labelText,\n filterValue,\n additionalContext,\n });\n\n const injector = Injector.create({\n parent: this.#environmentInjector,\n providers: [{ provide: SkyFilterItemModalContext, useValue: context }],\n });\n\n runInInjectionContext(injector, () => {\n const destroyRef = injector.get(DestroyRef);\n\n const saved = new Subject<SkyFilterItemModalSavedArgs<TValue>>();\n const canceled = new Subject<void>();\n\n const context = inject<SkyFilterItemModalContext<TData, TValue>>(\n SkyFilterItemModalContext,\n );\n\n const filterModalInstance: SkyFilterItemModalInstance<TData, TValue> = {\n context,\n cancel() {\n canceled.next();\n canceled.complete();\n },\n save(result) {\n saved.next(result);\n saved.complete();\n },\n };\n\n canceled\n .pipe(takeUntilDestroyed(destroyRef))\n .subscribe(() => instance.cancel());\n saved\n .pipe(takeUntilDestroyed(destroyRef))\n .subscribe((result) => instance.save(result.filterValue));\n\n const modalConfig: SkyModalConfigurationInterface = {\n providers: [\n {\n provide: SkyFilterItemModalInstance,\n useValue: filterModalInstance,\n },\n ],\n };\n if (modalSize === 'fullScreen') {\n modalConfig.fullPage = true;\n } else {\n modalConfig.size = modalSize;\n }\n\n const instance = this.#modalSvc.open(modalComponent, modalConfig);\n\n instance.closed.subscribe((args) => {\n if (args.reason === 'save') {\n this.#filterBarSvc.updateFilter({\n filterId: this.filterId(),\n filterValue: args.data,\n });\n }\n });\n });\n });\n }\n\n #openFilterCallback(): Observable<TData | undefined> {\n if (this.modalOpened.observed) {\n const args: SkyFilterItemModalOpenedArgs<TData> = {\n filterId: this.filterId(),\n };\n this.modalOpened.emit(args);\n return args.data?.pipe(take(1)) || of(undefined);\n }\n\n return of(undefined);\n }\n}\n","<ng-template #templateRef>\n <sky-filter-item-base\n [filterId]=\"filterId()\"\n [filterValue]=\"filterValue()\"\n [labelText]=\"labelText()\"\n (itemClick)=\"openFilter()\"\n />\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { SkyFilterBarComponent } from './filter-bar.component';\nimport { SkyFilterItemLookupComponent } from './filter-items/filter-item-lookup.component';\nimport { SkyFilterItemModalComponent } from './filter-items/filter-item-modal.component';\n\n@NgModule({\n imports: [\n SkyFilterBarComponent,\n SkyFilterItemModalComponent,\n SkyFilterItemLookupComponent,\n ],\n exports: [\n SkyFilterBarComponent,\n SkyFilterItemModalComponent,\n SkyFilterItemLookupComponent,\n ],\n})\nexport class SkyFilterBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -6,25 +6,27 @@ import { Observable } from 'rxjs';
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Represents a value for a filter item.
|
|
9
|
+
* @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.
|
|
9
10
|
*/
|
|
10
|
-
|
|
11
|
-
}
|
|
11
|
+
type SkyFilterBarFilterValue<TValue = unknown> = SkyFilterStateFilterValue<TValue>;
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Represents a specific filter item and its selected value, if any.
|
|
15
|
+
* @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.
|
|
15
16
|
*/
|
|
16
|
-
interface SkyFilterBarFilterItem extends SkyFilterStateFilterItem {
|
|
17
|
+
interface SkyFilterBarFilterItem<TValue = unknown> extends SkyFilterStateFilterItem<TValue> {
|
|
17
18
|
/**
|
|
18
19
|
* The value of the filter item.
|
|
19
20
|
*/
|
|
20
|
-
filterValue?: SkyFilterBarFilterValue
|
|
21
|
+
filterValue?: SkyFilterBarFilterValue<TValue>;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
/**
|
|
24
25
|
* Defines the common properties various filter item types must implement to work with the filter bar component.
|
|
26
|
+
* @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.
|
|
25
27
|
* @internal
|
|
26
28
|
*/
|
|
27
|
-
interface SkyFilterItem {
|
|
29
|
+
interface SkyFilterItem<TValue = unknown> {
|
|
28
30
|
/**
|
|
29
31
|
* A unique identifier for the filter item.
|
|
30
32
|
*/
|
|
@@ -42,7 +44,7 @@ interface SkyFilterItem {
|
|
|
42
44
|
* The value of the filter item.
|
|
43
45
|
* @internal
|
|
44
46
|
*/
|
|
45
|
-
filterValue: Signal<SkyFilterBarFilterValue | undefined>;
|
|
47
|
+
filterValue: Signal<SkyFilterBarFilterValue<TValue> | undefined>;
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
/**
|
|
@@ -53,13 +55,13 @@ declare class SkyFilterBarComponent {
|
|
|
53
55
|
/**
|
|
54
56
|
* An array of filter items containing the IDs and values of the filters that have been set.
|
|
55
57
|
*/
|
|
56
|
-
readonly appliedFilters: _angular_core.ModelSignal<SkyFilterBarFilterItem[] | undefined>;
|
|
58
|
+
readonly appliedFilters: _angular_core.ModelSignal<SkyFilterBarFilterItem<unknown>[] | undefined>;
|
|
57
59
|
/**
|
|
58
60
|
* An array of filter IDs that the user has selected using the built-in selection modal. Setting this input to undefined results in all filters being displayed.
|
|
59
61
|
*/
|
|
60
62
|
readonly selectedFilterIds: _angular_core.ModelSignal<string[] | undefined>;
|
|
61
|
-
protected readonly filterItems: _angular_core.Signal<readonly SkyFilterItem[]>;
|
|
62
|
-
protected readonly visibleFilters: _angular_core.Signal<SkyFilterItem[]>;
|
|
63
|
+
protected readonly filterItems: _angular_core.Signal<readonly SkyFilterItem<unknown>[]>;
|
|
64
|
+
protected readonly visibleFilters: _angular_core.Signal<SkyFilterItem<unknown>[]>;
|
|
63
65
|
constructor();
|
|
64
66
|
protected openFilters(): void;
|
|
65
67
|
protected clearFilters(): void;
|
|
@@ -69,8 +71,10 @@ declare class SkyFilterBarComponent {
|
|
|
69
71
|
|
|
70
72
|
/**
|
|
71
73
|
* The context object that is provided to a filter modal.
|
|
74
|
+
* @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.
|
|
75
|
+
* @typeParam TData - The type of the additional context data. Defaults to `Record<string, unknown>`.
|
|
72
76
|
*/
|
|
73
|
-
declare class SkyFilterItemModalContext<TData = Record<string, unknown
|
|
77
|
+
declare class SkyFilterItemModalContext<TData = Record<string, unknown>, TValue = unknown> {
|
|
74
78
|
/**
|
|
75
79
|
* The name of the filter. We recommend using this value for the modal's heading.
|
|
76
80
|
*/
|
|
@@ -78,7 +82,7 @@ declare class SkyFilterItemModalContext<TData = Record<string, unknown>> {
|
|
|
78
82
|
/**
|
|
79
83
|
* The value of the filter.
|
|
80
84
|
*/
|
|
81
|
-
readonly filterValue?: SkyFilterBarFilterValue
|
|
85
|
+
readonly filterValue?: SkyFilterBarFilterValue<TValue>;
|
|
82
86
|
/**
|
|
83
87
|
* An untyped property that can track any config information relevant to the filter modal
|
|
84
88
|
* that existing options do not include.
|
|
@@ -86,29 +90,32 @@ declare class SkyFilterItemModalContext<TData = Record<string, unknown>> {
|
|
|
86
90
|
readonly additionalContext?: TData;
|
|
87
91
|
constructor(args: {
|
|
88
92
|
filterLabelText: string;
|
|
89
|
-
filterValue?: SkyFilterBarFilterValue
|
|
93
|
+
filterValue?: SkyFilterBarFilterValue<TValue>;
|
|
90
94
|
additionalContext?: TData;
|
|
91
95
|
});
|
|
92
96
|
}
|
|
93
97
|
|
|
94
98
|
/**
|
|
95
99
|
* Arguments passed back from a filter modal when the user has saved.
|
|
100
|
+
* @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.
|
|
96
101
|
*/
|
|
97
|
-
interface SkyFilterItemModalSavedArgs {
|
|
102
|
+
interface SkyFilterItemModalSavedArgs<TValue = unknown> {
|
|
98
103
|
/**
|
|
99
104
|
* The filter value.
|
|
100
105
|
*/
|
|
101
|
-
filterValue: SkyFilterBarFilterValue | undefined;
|
|
106
|
+
filterValue: SkyFilterBarFilterValue<TValue> | undefined;
|
|
102
107
|
}
|
|
103
108
|
|
|
104
109
|
/**
|
|
105
110
|
* A specialized `SkyModalInstance` wrapper.
|
|
111
|
+
* @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.
|
|
112
|
+
* @typeParam TData - The type of the additional context data. Defaults to `Record<string, unknown>`.
|
|
106
113
|
*/
|
|
107
|
-
declare abstract class SkyFilterItemModalInstance<TData = Record<string, unknown
|
|
114
|
+
declare abstract class SkyFilterItemModalInstance<TData = Record<string, unknown>, TValue = unknown> {
|
|
108
115
|
/**
|
|
109
116
|
* The context provided to the filter modal component.
|
|
110
117
|
*/
|
|
111
|
-
abstract readonly context: SkyFilterItemModalContext<TData>;
|
|
118
|
+
abstract readonly context: SkyFilterItemModalContext<TData, TValue>;
|
|
112
119
|
/**
|
|
113
120
|
* Closes the modal instance with `reason="cancel"`.
|
|
114
121
|
*/
|
|
@@ -117,17 +124,17 @@ declare abstract class SkyFilterItemModalInstance<TData = Record<string, unknown
|
|
|
117
124
|
* Closes the modal instance with `reason="save"`.
|
|
118
125
|
* @param args
|
|
119
126
|
*/
|
|
120
|
-
abstract save(args: SkyFilterItemModalSavedArgs): void;
|
|
127
|
+
abstract save(args: SkyFilterItemModalSavedArgs<TValue>): void;
|
|
121
128
|
}
|
|
122
129
|
|
|
123
130
|
/**
|
|
124
131
|
* A type marker for passing context object data types into the filter modal component.
|
|
125
132
|
*/
|
|
126
|
-
interface SkyFilterItemModal<TData = Record<string, unknown> | undefined> {
|
|
133
|
+
interface SkyFilterItemModal<TData = Record<string, unknown> | undefined, TValue = unknown> {
|
|
127
134
|
/**
|
|
128
135
|
* The filter modal instance to be injected into the component.
|
|
129
136
|
*/
|
|
130
|
-
readonly modalInstance: SkyFilterItemModalInstance<TData>;
|
|
137
|
+
readonly modalInstance: SkyFilterItemModalInstance<TData, TValue>;
|
|
131
138
|
}
|
|
132
139
|
|
|
133
140
|
/**
|
|
@@ -151,7 +158,7 @@ type SkyFilterItemModalSizeType = 'small' | 'medium' | 'large' | 'fullScreen';
|
|
|
151
158
|
* Use this component when your filter requires a rich UI with multiple inputs,
|
|
152
159
|
* date pickers, or other complex controls that don't fit in an inline filter.
|
|
153
160
|
*/
|
|
154
|
-
declare class SkyFilterItemModalComponent<TData = Record<string, unknown> | undefined> implements SkyFilterItem {
|
|
161
|
+
declare class SkyFilterItemModalComponent<TData = Record<string, unknown> | undefined, TValue = unknown> implements SkyFilterItem<TValue> {
|
|
155
162
|
#private;
|
|
156
163
|
/**
|
|
157
164
|
* A unique identifier for the filter item.
|
|
@@ -169,7 +176,7 @@ declare class SkyFilterItemModalComponent<TData = Record<string, unknown> | unde
|
|
|
169
176
|
* The return value of the modal save action needs to be a `SkyFilterBarFilterValue`.
|
|
170
177
|
* @required
|
|
171
178
|
*/
|
|
172
|
-
readonly modalComponent: _angular_core.InputSignal<Type<SkyFilterItemModal<TData>>>;
|
|
179
|
+
readonly modalComponent: _angular_core.InputSignal<Type<SkyFilterItemModal<TData, TValue>>>;
|
|
173
180
|
/**
|
|
174
181
|
* The size of the modal to display. The valid options are `"small"`, `"medium"`, `"large"`, and `"fullScreen"`.
|
|
175
182
|
*/
|
|
@@ -180,16 +187,17 @@ declare class SkyFilterItemModalComponent<TData = Record<string, unknown> | unde
|
|
|
180
187
|
*/
|
|
181
188
|
modalOpened: EventEmitter<SkyFilterItemModalOpenedArgs<TData>>;
|
|
182
189
|
readonly templateRef: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
183
|
-
readonly filterValue: _angular_core.Signal<_skyux_filter_bar.SkyFilterBarFilterValue | undefined>;
|
|
190
|
+
readonly filterValue: _angular_core.Signal<_skyux_filter_bar.SkyFilterBarFilterValue<TValue> | undefined>;
|
|
184
191
|
protected openFilter(): void;
|
|
185
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkyFilterItemModalComponent<any>, never>;
|
|
186
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkyFilterItemModalComponent<any>, "sky-filter-item-modal", never, { "filterId": { "alias": "filterId"; "required": true; "isSignal": true; }; "labelText": { "alias": "labelText"; "required": true; "isSignal": true; }; "modalComponent": { "alias": "modalComponent"; "required": true; "isSignal": true; }; "modalSize": { "alias": "modalSize"; "required": true; "isSignal": true; }; }, { "modalOpened": "modalOpened"; }, never, never, true, never>;
|
|
192
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkyFilterItemModalComponent<any, any>, never>;
|
|
193
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkyFilterItemModalComponent<any, any>, "sky-filter-item-modal", never, { "filterId": { "alias": "filterId"; "required": true; "isSignal": true; }; "labelText": { "alias": "labelText"; "required": true; "isSignal": true; }; "modalComponent": { "alias": "modalComponent"; "required": true; "isSignal": true; }; "modalSize": { "alias": "modalSize"; "required": true; "isSignal": true; }; }, { "modalOpened": "modalOpened"; }, never, never, true, never>;
|
|
187
194
|
}
|
|
188
195
|
|
|
189
196
|
/**
|
|
190
197
|
* The result of searching for items to display in a filter item lookup selection modal.
|
|
198
|
+
* @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.
|
|
191
199
|
*/
|
|
192
|
-
interface SkyFilterItemLookupSearchAsyncResult {
|
|
200
|
+
interface SkyFilterItemLookupSearchAsyncResult<TValue = unknown> {
|
|
193
201
|
/**
|
|
194
202
|
* Data provided on "load more" search result requests. Use this property for
|
|
195
203
|
* information such as a continuation token for paged database queries.
|
|
@@ -204,7 +212,7 @@ interface SkyFilterItemLookupSearchAsyncResult {
|
|
|
204
212
|
* the search criteria, set the `hasMore` property to `true`. More records can be lazy-loaded
|
|
205
213
|
* as users scrolls through the search results.
|
|
206
214
|
*/
|
|
207
|
-
items:
|
|
215
|
+
items: TValue[];
|
|
208
216
|
/**
|
|
209
217
|
* The total number of records that match the search criteria, including items not returned in
|
|
210
218
|
* the current list.
|
|
@@ -215,8 +223,9 @@ interface SkyFilterItemLookupSearchAsyncResult {
|
|
|
215
223
|
/**
|
|
216
224
|
* Arguments passed when an asynchronous search is executed from the selection modal opened by a
|
|
217
225
|
* filter item lookup component.
|
|
226
|
+
* @typeParam TValue - The type of the filter value. Defaults to `unknown` for backward compatibility.
|
|
218
227
|
*/
|
|
219
|
-
interface SkyFilterItemLookupSearchAsyncArgs {
|
|
228
|
+
interface SkyFilterItemLookupSearchAsyncArgs<TValue = unknown> {
|
|
220
229
|
/**
|
|
221
230
|
* The unique identifier for the filter.
|
|
222
231
|
*/
|
|
@@ -241,7 +250,7 @@ interface SkyFilterItemLookupSearchAsyncArgs {
|
|
|
241
250
|
* when the event fires so the filter item lookup component can subscribe
|
|
242
251
|
* to it and then display the results.
|
|
243
252
|
*/
|
|
244
|
-
result?: Observable<SkyFilterItemLookupSearchAsyncResult
|
|
253
|
+
result?: Observable<SkyFilterItemLookupSearchAsyncResult<TValue>>;
|
|
245
254
|
}
|
|
246
255
|
|
|
247
256
|
/**
|
|
@@ -249,7 +258,7 @@ interface SkyFilterItemLookupSearchAsyncArgs {
|
|
|
249
258
|
* Use this component for lookup-type filter fields where users select one or more
|
|
250
259
|
* options from a list of values.
|
|
251
260
|
*/
|
|
252
|
-
declare class SkyFilterItemLookupComponent implements SkyFilterItem
|
|
261
|
+
declare class SkyFilterItemLookupComponent<TValue = unknown> implements SkyFilterItem<TValue[]>, AfterViewInit {
|
|
253
262
|
#private;
|
|
254
263
|
/**
|
|
255
264
|
* A unique identifier for the filter item.
|
|
@@ -277,13 +286,13 @@ declare class SkyFilterItemLookupComponent implements SkyFilterItem, AfterViewIn
|
|
|
277
286
|
* when the filter is opened.
|
|
278
287
|
* @required
|
|
279
288
|
*/
|
|
280
|
-
searchAsync: EventEmitter<SkyFilterItemLookupSearchAsyncArgs
|
|
289
|
+
searchAsync: EventEmitter<SkyFilterItemLookupSearchAsyncArgs<TValue>>;
|
|
281
290
|
readonly templateRef: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
282
|
-
readonly filterValue: _angular_core.Signal<SkyFilterBarFilterValue | undefined>;
|
|
291
|
+
readonly filterValue: _angular_core.Signal<SkyFilterBarFilterValue<TValue[]> | undefined>;
|
|
283
292
|
ngAfterViewInit(): void;
|
|
284
293
|
protected openFilter(): void;
|
|
285
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkyFilterItemLookupComponent
|
|
286
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkyFilterItemLookupComponent
|
|
294
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkyFilterItemLookupComponent<any>, never>;
|
|
295
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkyFilterItemLookupComponent<any>, "sky-filter-item-lookup", never, { "filterId": { "alias": "filterId"; "required": true; "isSignal": true; }; "labelText": { "alias": "labelText"; "required": true; "isSignal": true; }; "searchDescriptorProperty": { "alias": "searchDescriptorProperty"; "required": true; "isSignal": true; }; "searchIdProperty": { "alias": "searchIdProperty"; "required": true; "isSignal": true; }; }, { "searchAsync": "searchAsync"; }, never, never, true, never>;
|
|
287
296
|
}
|
|
288
297
|
|
|
289
298
|
declare class SkyFilterBarModule {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/filter-bar",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.13.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
"@angular/cdk": "^20.2.14",
|
|
20
20
|
"@angular/common": "^20.3.15",
|
|
21
21
|
"@angular/core": "^20.3.15",
|
|
22
|
-
"@skyux/core": "13.
|
|
23
|
-
"@skyux/i18n": "13.
|
|
24
|
-
"@skyux/icon": "13.
|
|
25
|
-
"@skyux/layout": "13.
|
|
26
|
-
"@skyux/lists": "13.
|
|
27
|
-
"@skyux/lookup": "13.
|
|
28
|
-
"@skyux/modals": "13.
|
|
22
|
+
"@skyux/core": "13.13.0",
|
|
23
|
+
"@skyux/i18n": "13.13.0",
|
|
24
|
+
"@skyux/icon": "13.13.0",
|
|
25
|
+
"@skyux/layout": "13.13.0",
|
|
26
|
+
"@skyux/lists": "13.13.0",
|
|
27
|
+
"@skyux/lookup": "13.13.0",
|
|
28
|
+
"@skyux/modals": "13.13.0"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"tslib": "^2.8.1"
|