{"version":3,"sources":["webpack://LefCoveoExtension/webpack/bootstrap","webpack://LefCoveoExtension/./src/LazyIndex.ts","webpack://LefCoveoExtension/./src/ui/CollapsibleFacet/lazyCollapseCategoryFacet.ts","webpack://LefCoveoExtension/./src/ui/CollapsibleFacet/lazyCollapseFacet.ts","webpack://LefCoveoExtension/external \"Coveo\""],"names":[],"mappings":"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","file":"lef.coveo.extension.lazy.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/LazyIndex.ts\");\n","// This entry point defines all the component that should be included in your extension.\r\n\r\nexport { lazyCollapseCategoryFacet } from \"./ui/CollapsibleFacet/lazyCollapseCategoryFacet\";\r\nexport { lazyCollapseFacet } from \"./ui/CollapsibleFacet/lazyCollapseFacet\";\r\n","import {\r\n    $$,\r\n    AccessibleButton,\r\n    CategoryFacet,\r\n    CategoryFacetHeader,\r\n    ComponentOptions,\r\n    FacetHeader,\r\n    ICategoryFacetHeaderOptions,\r\n    ICategoryFacetOptions,\r\n    IComponentBindings,\r\n    IComponentDefinition,\r\n    l,\r\n    SVGDom,\r\n    SVGIcons\r\n} from \"coveo-search-ui\";\r\n\r\nexport interface ICollapsibleCategoryFacetHeaderOptions extends ICategoryFacetHeaderOptions {\r\n    useOuterCollapse?: boolean;\r\n    isCollapsed?: boolean;\r\n}\r\n\r\nexport interface ICollapsibleCategoryFacetOptions extends ICategoryFacetOptions {\r\n    useOuterCollapse?: boolean;\r\n    isCollapsed?: boolean;\r\n}\r\n\r\nexport function lazyCollapseCategoryFacet() {\r\n    // Wait for the 'Facet' promise to resolve, then return the 'CollapseFacet' implementation.\r\n    return Coveo.load<IComponentDefinition>(\"CategoryFacet\").then((categoryFacet) => {\r\n    //     class CollapsibleCategoryFacetHeader extends CategoryFacetHeader {\r\n    //         public element: HTMLElement;\r\n\r\n    //         private toggleSection: HTMLElement;\r\n    //         private toggleIcon: HTMLElement;\r\n\r\n    //         constructor(public options: ICollapsibleCategoryFacetHeaderOptions) {\r\n    //             super(options);\r\n\r\n    //             // this.element = document.createElement(\"div\");\r\n    //             // $$(this.element).addClass(\"coveo-facet-header\");\r\n\r\n    //             if (this.options.isCollapsed) {\r\n    //                 $$(this.element).addClass(\"coveo-facet-collapsed\");\r\n    //             }\r\n    //         }\r\n\r\n    //         public build(): HTMLElement {\r\n    //             // const waitElement = this.buildWaitAnimation();\r\n\r\n    //             // const titleSection = $$(\r\n    //             //     \"div\",\r\n    //             //     {\r\n    //             //         \"className\": \"coveo-category-facet-title\",\r\n    //             //         \"role\": \"heading\",\r\n    //             //         \"aria-level\": \"2\",\r\n    //             //         \"aria-label\": `${l(\"FacetTitle\", this.options.title)}.`,\r\n    //             //     },\r\n    //             //     this.options.title\r\n    //             // );\r\n    //             // this.element = $$(\"div\", { className: \"coveo-category-facet-header\" }, titleSection).el;\r\n    //             // $$(this.element).append(waitElement);\r\n\r\n    //             // const eraserElement = this.buildEraser();\r\n    //             // $$(this.element).append(eraserElement);\r\n\r\n    //             this.element = super.build();\r\n\r\n    //             const collapseSection = $$(\"div\", {\r\n    //                 className: \"coveo-facet-header-collapse-section\",\r\n    //             });\r\n\r\n    //             if (this.options.useOuterCollapse) {\r\n    //                 this.toggleSection = this.buildToggleSection();\r\n\r\n    //                 collapseSection.append(this.toggleSection);\r\n    //             }\r\n    //             $$(collapseSection.el).insertAfter($$(this.element).find(\".coveo-facet-header-title-section\"));\r\n\r\n    //             return this.element;\r\n    //         }\r\n\r\n    //         // private buildWaitAnimation(): HTMLElement {\r\n    //         //     const waitElement = $$(\"div\", { className: CategoryFacet.WAIT_ELEMENT_CLASS }, SVGIcons.icons.loading).el;\r\n    //         //     SVGDom.addClassToSVGInContainer(waitElement, \"coveo-category-facet-header-wait-animation-svg\");\r\n    //         //     waitElement.style.visibility = \"hidden\";\r\n    //         //     return waitElement;\r\n    //         // }\r\n\r\n    //         // private buildEraser() {\r\n    //         //     const eraserElement = $$(\"div\", {\r\n    //         //         className: \"coveo-category-facet-header-eraser coveo-facet-header-eraser\",\r\n    //         //     }, SVGIcons.icons.mainClear).el;\r\n\r\n    //         //     SVGDom.addClassToSVGInContainer(eraserElement, \"coveo-facet-header-eraser-svg\");\r\n\r\n    //         //     const onClearClick = () => {\r\n    //         //         this.options.categoryFacet.reset();\r\n    //         //     };\r\n\r\n    //         //     new AccessibleButton()\r\n    //         //         .withElement(eraserElement)\r\n    //         //         .withLabel(l(\"Clear\", this.options.title))\r\n    //         //         .withClickAction(onClearClick)\r\n    //         //         .withEnterKeyboardAction(onClearClick)\r\n    //         //         .build();\r\n\r\n    //         //     return eraserElement;\r\n    //         // }\r\n\r\n    //         private buildToggleSection() {\r\n    //             const self = this;\r\n    //             const toggleSection = this.buildSection(\"coveo-facet-collapse-section-toggle\");\r\n    //             const iconClass = this.options.isCollapsed ? \"lef-chevron-down\" : \"lef-chevron-up\";\r\n    //             this.toggleIcon = this.buildIcon(iconClass);\r\n    //             toggleSection.append(this.toggleIcon);\r\n    //             const titleElem = $$(this.element).find(\".coveo-facet-header-title-section\");\r\n    //             if (titleElem) {\r\n    //                 $$(titleElem).on(\"click\", function () { self.toggleFacet(); });\r\n    //             }\r\n    //             toggleSection.on(\"click\", function () { self.toggleFacet(); });\r\n    //             return toggleSection.el;\r\n    //         }\r\n\r\n    //         private buildSection(className: string) {\r\n    //             const section = $$(\"div\");\r\n    //             section.addClass([\"coveo-facet-collapse-section\", className]);\r\n    //             return section;\r\n    //         }\r\n\r\n    //         private buildIcon(iconClass?: string) {\r\n    //             if (iconClass) {\r\n    //                 const icon = $$(\"div\", { className: iconClass });\r\n    //                 return icon.el;\r\n    //             }\r\n    //         }\r\n\r\n    //         private toggleFacet() {\r\n    //             $$(this.element).toggleClass(\"coveo-facet-collapsed\");\r\n    //             $$(this.toggleIcon).toggleClass(\"lef-chevron-up\");\r\n    //             $$(this.toggleIcon).toggleClass(\"lef-chevron-down\");\r\n    //         }\r\n    //     }\r\n\r\n        class CollapsibleCategoryFacet extends CategoryFacet {\r\n            static ID = \"CollapsibleCategoryFacet\";\r\n            static parent = CategoryFacet;\r\n\r\n            static options: ICollapsibleCategoryFacetOptions = {\r\n                field: ComponentOptions.buildFieldOption({ required: true }),\r\n                isCollapsed: ComponentOptions.buildBooleanOption({ defaultValue: false }),\r\n                useOuterCollapse: ComponentOptions.buildBooleanOption({ defaultValue: true }),\r\n            };\r\n\r\n            public options: ICollapsibleCategoryFacetOptions;\r\n            \r\n            private facetHeader: CategoryFacetHeader;\r\n            private headerElement: HTMLElement;\r\n            private toggleSection: HTMLElement;\r\n            private toggleIcon: HTMLElement;\r\n\r\n\r\n            constructor(public element: HTMLElement,\r\n                options: ICollapsibleCategoryFacetOptions,\r\n                bindings?: IComponentBindings) {\r\n                super(element, ComponentOptions.initComponentOptions(element, CollapsibleCategoryFacet, options), bindings);\r\n                // , CollapsibleCategoryFacet.ID);\r\n\r\n                // this.options.enableCollapse = options.enableCollapse && !options.useOuterCollapse;\r\n                this.options.isCollapsed = options.isCollapsed && options.useOuterCollapse;\r\n            }\r\n\r\n            public buildFacetHeader() {\r\n                // const facetHeader = new CategoryFacetHeader({ categoryFacet: this, title: this.options.title });\r\n                // this.headerElement = facetHeader.build();\r\n                // $$(this.element).prepend(this.headerElement);\r\n\r\n                const facetHeader = new CategoryFacetHeader({ // CollapsibleCategoryFacetHeader\r\n                    categoryFacet: this,\r\n                    title: this.options.title,\r\n                    // useOuterCollapse: true,\r\n                    // isCollapsed: this.options.isCollapsed\r\n                });\r\n                this.facetHeader = facetHeader;\r\n                this.headerElement = facetHeader.build();\r\n\r\n                const collapseSection = $$(\"div\", {\r\n                    className: \"coveo-facet-header-collapse-section\",\r\n                });\r\n\r\n                if (this.options.useOuterCollapse) {\r\n                    this.toggleSection = this.buildToggleSection();\r\n\r\n                    collapseSection.append(this.toggleSection);\r\n                }\r\n                $$(collapseSection.el).insertAfter($$(this.headerElement).find(\".coveo-facet-header-title-section\"));\r\n\r\n                $$(this.element).prepend(this.headerElement);\r\n            }\r\n\r\n            private buildToggleSection() {\r\n                const self = this;\r\n                const toggleSection = this.buildSection(\"coveo-facet-collapse-section-toggle\");\r\n                const iconClass = this.options.isCollapsed ? \"lef-chevron-down\" : \"lef-chevron-up\";\r\n                this.toggleIcon = this.buildIcon(iconClass);\r\n                toggleSection.append(this.toggleIcon);\r\n                const titleElem = $$(this.element).find(\".coveo-facet-header-title-section\");\r\n                if (titleElem) {\r\n                    $$(titleElem).on(\"click\", function () { self.toggleFacet(); });\r\n                }\r\n                toggleSection.on(\"click\", function () { self.toggleFacet(); });\r\n                return toggleSection.el;\r\n            }\r\n\r\n            private buildSection(className: string) {\r\n                const section = $$(\"div\");\r\n                section.addClass([\"coveo-facet-collapse-section\", className]);\r\n                return section;\r\n            }\r\n\r\n            private buildIcon(iconClass?: string) {\r\n                if (iconClass) {\r\n                    const icon = $$(\"div\", { className: iconClass });\r\n                    return icon.el;\r\n                }\r\n            }\r\n\r\n            private toggleFacet() {\r\n                $$(this.headerElement).toggleClass(\"coveo-facet-collapsed\");\r\n                $$(this.toggleIcon).toggleClass(\"lef-chevron-up\");\r\n                $$(this.toggleIcon).toggleClass(\"lef-chevron-down\");\r\n            }\r\n        }\r\n\r\n        Coveo.Initialization.registerAutoCreateComponent(CollapsibleCategoryFacet);\r\n        return CollapsibleCategoryFacet;\r\n    });\r\n}\r\n// Register the 'CollapseFacet' lazy component using the previously defined function.\r\nCoveo.LazyInitialization.registerLazyComponent(\"CollapsibleCategoryFacet\", lazyCollapseCategoryFacet);\r\n","import {\r\n    $$,\r\n    ComponentOptions,\r\n    Facet,\r\n    FacetHeader,\r\n    FacetSettings,\r\n    FacetSort,\r\n    IComponentBindings,\r\n    IComponentDefinition,\r\n    IFacetHeaderOptions,\r\n    IFacetOptions\r\n} from \"coveo-search-ui\";\r\n\r\nexport interface ICollapsibleFacetHeaderOptions extends IFacetHeaderOptions {\r\n    useOuterCollapse?: boolean;\r\n    isCollapsed?: boolean;\r\n}\r\n\r\nexport interface ICollapsibleFacetOptions extends IFacetOptions {\r\n    useOuterCollapse?: boolean;\r\n    isCollapsed?: boolean;\r\n}\r\n\r\nexport function lazyCollapseFacet() {\r\n    // Wait for the 'Facet' promise to resolve, then return the 'CollapseFacet' implementation.\r\n    return Coveo.load<IComponentDefinition>(\"Facet\").then((facet) => {\r\n        class CollapsibleFacetHeader extends FacetHeader {\r\n            private toggleSection: HTMLElement;\r\n            private toggleIcon: HTMLElement;\r\n\r\n            constructor(public options: ICollapsibleFacetHeaderOptions) {\r\n                super(options);\r\n\r\n                if (this.options.isCollapsed) {\r\n                    $$(this.options.facetElement).addClass(\"coveo-facet-collapsed\");\r\n                }\r\n            }\r\n\r\n            public build(): HTMLElement {\r\n                this.element = super.build();\r\n\r\n                const collapseSection = $$(\"div\", {\r\n                    className: \"coveo-facet-header-collapse-section\"\r\n                });\r\n\r\n                if (this.options.useOuterCollapse) {\r\n                    this.toggleSection = this.buildToggleSection();\r\n\r\n                    collapseSection.append(this.toggleSection);\r\n                }\r\n                $$(collapseSection.el).insertAfter($$(this.element).find(\".coveo-facet-header-title-section\"));\r\n\r\n                return this.element;\r\n            }\r\n\r\n            private buildToggleSection() {\r\n                const self = this;\r\n                const toggleSection = this.buildSection(\"coveo-facet-collapse-section-toggle\");\r\n                const iconClass = this.options.isCollapsed ? \"lef-chevron-down\" : \"lef-chevron-up\";\r\n                this.toggleIcon = this.buildIcon(iconClass);\r\n                toggleSection.append(this.toggleIcon);\r\n                const titleElem = $$(this.element).find(\".coveo-facet-header-title-section\");\r\n                if (titleElem) {\r\n                    $$(titleElem).on(\"click\", function () { self.toggleFacet(); });\r\n                }\r\n                toggleSection.on(\"click\", function () { self.toggleFacet(); });\r\n                return toggleSection.el;\r\n            }\r\n\r\n            private buildSection(className: string) {\r\n                const section = $$(\"div\");\r\n                section.addClass([\"coveo-facet-collapse-section\", className]);\r\n                return section;\r\n            }\r\n\r\n            private buildIcon(iconClass?: string) {\r\n                if (iconClass) {\r\n                    const icon = $$(\"div\", { className: iconClass });\r\n                    return icon.el;\r\n                }\r\n            }\r\n\r\n            private toggleFacet() {\r\n                $$(this.options.facetElement).toggleClass(\"coveo-facet-collapsed\");\r\n                $$(this.toggleIcon).toggleClass(\"lef-chevron-up\");\r\n                $$(this.toggleIcon).toggleClass(\"lef-chevron-down\");\r\n            }\r\n        }\r\n\r\n        class CollapsibleFacet extends Facet {\r\n            static ID = \"CollapsibleFacet\";\r\n            static parent = Facet;\r\n\r\n            static options: ICollapsibleFacetOptions = {\r\n                useOuterCollapse: ComponentOptions.buildBooleanOption({ defaultValue: true }),\r\n                isCollapsed: ComponentOptions.buildBooleanOption({ defaultValue: false })\r\n            };\r\n\r\n            public options: ICollapsibleFacetOptions;\r\n\r\n            constructor(public element: HTMLElement,\r\n                options: ICollapsibleFacetOptions,\r\n                bindings?: IComponentBindings) {\r\n                super(element, ComponentOptions.initComponentOptions(element, CollapsibleFacet, options), bindings, CollapsibleFacet.ID);\r\n\r\n                this.options.enableCollapse = options.enableCollapse && !options.useOuterCollapse;\r\n                this.options.isCollapsed = options.isCollapsed && options.useOuterCollapse;\r\n            }\r\n\r\n            public facetHeader: CollapsibleFacetHeader;\r\n\r\n            private buildHeader() {\r\n                let icon = this.options.headerIcon;\r\n                if (this.options.headerIcon == this.options.field) {\r\n                    icon = undefined;\r\n                }\r\n                this.facetHeader = new CollapsibleFacetHeader({\r\n                    facetElement: this.element,\r\n                    title: this.options.title,\r\n                    icon: icon,\r\n                    field: <string>this.options.field,\r\n                    enableClearElement: true,\r\n                    enableCollapseElement: this.options.enableCollapse,\r\n                    facet: this,\r\n                    settingsKlass: this.options.enableSettings ? FacetSettings : undefined,\r\n                    sortKlass: FacetSort,\r\n                    availableSorts: this.options.availableSorts,\r\n                    useOuterCollapse: true,\r\n                    isCollapsed: this.options.isCollapsed\r\n                });\r\n                const built = this.facetHeader.build();\r\n                this.facetSettings = this.facetHeader.settings;\r\n                this.facetSort = this.facetHeader.sort;\r\n                return built;\r\n            }\r\n        }\r\n\r\n        Coveo.Initialization.registerAutoCreateComponent(CollapsibleFacet);\r\n        return CollapsibleFacet;\r\n    });\r\n}\r\n// Register the 'CollapseFacet' lazy component using the previously defined function.\r\nCoveo.LazyInitialization.registerLazyComponent(\"CollapsibleFacet\", lazyCollapseFacet);\r\n","module.exports = Coveo;"],"sourceRoot":""}