{"mappings":"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","sources":["","scripts/navigationPage.js","scripts/modules/navigationFilters.js"],"sourcesContent":["(function () {\n/**\n * Filter and sort links items based on user input.\n */ function $06102d116e7fdc4e$export$d0e0de50c701304c() {\n const searchInput = document.querySelector('#pdm-filters__search');\n const departmentSelect = document.querySelector('#pdm-filters__department');\n const itemContainer = document.querySelector('[data-filter-container]');\n const noResultsMessage = document.querySelector('#pdm-filters-no-results');\n const searchQuery = searchInput.value;\n const selectedDepartment = departmentSelect.value;\n const items = itemContainer.querySelectorAll('.pdm-archive-item');\n const filteredItems = Array.from(items).filter((item)=>{\n const name = item.getAttribute('data-filterable-name').toLowerCase();\n const department = item.getAttribute('data-filterable-department').toLowerCase();\n return (searchQuery === '' || name.includes(searchQuery.toLowerCase())) && (selectedDepartment === '' || department === selectedDepartment);\n });\n items.forEach((item)=>{\n if (filteredItems.includes(item)) item.setAttribute('data-visible', true);\n else item.setAttribute('data-visible', false);\n if (filteredItems.length === 0) noResultsMessage.setAttribute('data-visible', true);\n else noResultsMessage.setAttribute('data-visible', false);\n });\n}\n/**\n * Trigger the filter change with animation if available.\n *\n * @param {Event} event The click event.\n */ function $06102d116e7fdc4e$export$e845d36deafad43b(event) {\n event.preventDefault();\n if (!document.startViewTransition) $06102d116e7fdc4e$export$d0e0de50c701304c(event);\n else document.startViewTransition(()=>{\n $06102d116e7fdc4e$export$d0e0de50c701304c(event);\n });\n}\n/**\n * Reset the form to its default state.\n *\n * @param {Event} event The click event.\n */ function $06102d116e7fdc4e$var$handleFormReset(event) {\n event.preventDefault();\n const searchInput = document.querySelector('#pdm-filters__search');\n const departmentSelect = document.querySelector('#pdm-filters__department');\n const itemContainer = document.querySelector('[data-filter-container]');\n const noResultsMessage = document.querySelector('#pdm-filters-no-results');\n searchInput.value = '';\n departmentSelect.value = '';\n const items = itemContainer.querySelectorAll('.pdm-archive-item');\n items.forEach((item)=>{\n item.setAttribute('data-visible', true);\n });\n noResultsMessage.setAttribute('data-visible', false);\n}\n/**\n * Set a cookie with a specified name, value, and expiration days.\n *\n * @param {string} name The name of the cookie.\n * @param {string} value The value of the cookie.\n * @param {number} days The number of days until the cookie expires.\n */ function $06102d116e7fdc4e$var$setCookie(name, value, days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 86400000);\n const expires = 'expires=' + date.toUTCString();\n document.cookie = name + '=' + value + ';' + expires + ';path=/';\n}\n/**\n * Add event listeners to the filter and sort controls.\n */ function $06102d116e7fdc4e$export$c7059dc44e1c851f() {\n const applyButton = document.querySelector('.pdm-filters__button[type=\"submit\"]');\n applyButton.addEventListener('click', $06102d116e7fdc4e$export$e845d36deafad43b);\n const resetButton = document.querySelector('.pdm-filters__button[type=\"reset\"]');\n resetButton.addEventListener('click', $06102d116e7fdc4e$var$handleFormReset);\n const gridLayoutToggle = document.querySelector('[data-layout-toggle=\"grid\"]');\n const listLayoutToggle = document.querySelector('[data-layout-toggle=\"list\"]');\n const itemContainer = document.querySelector('[data-filter-container]');\n gridLayoutToggle.addEventListener('click', (event)=>{\n event.preventDefault();\n itemContainer.classList.remove('pdm-archive-list');\n itemContainer.classList.add('pdm-archive-grid');\n gridLayoutToggle.setAttribute('data-layout-active', true);\n listLayoutToggle.setAttribute('data-layout-active', false);\n $06102d116e7fdc4e$var$setCookie('layout_preference', 'grid', 30); // Set cookie for grid layout.\n });\n listLayoutToggle.addEventListener('click', (event)=>{\n event.preventDefault();\n itemContainer.classList.remove('pdm-archive-grid');\n itemContainer.classList.add('pdm-archive-list');\n gridLayoutToggle.setAttribute('data-layout-active', false);\n listLayoutToggle.setAttribute('data-layout-active', true);\n $06102d116e7fdc4e$var$setCookie('layout_preference', 'list', 30); // Set cookie for list layout.\n });\n // Check for a URL parameter to set the department filter.\n const urlParams = new URLSearchParams(window.location.search);\n const departmentParam = urlParams.get('department');\n if (departmentParam) {\n document.querySelector('#pdm-filters__department').value = departmentParam;\n $06102d116e7fdc4e$export$d0e0de50c701304c();\n }\n}\n\n\n// run all functions on page load.\ndocument.addEventListener('DOMContentLoaded', function() {\n (0, $06102d116e7fdc4e$export$c7059dc44e1c851f)();\n});\n\n})();\n//# sourceMappingURL=navigationPage.js.map\n","import { navigationFilters } from './modules/navigationFilters';\n\n// run all functions on page load.\ndocument.addEventListener('DOMContentLoaded', function () {\n\tnavigationFilters();\n});\n","/**\n * Filter and sort links items based on user input.\n */\nfunction filterAndSort() {\n\tconst searchInput = document.querySelector('#pdm-filters__search');\n\tconst departmentSelect = document.querySelector('#pdm-filters__department');\n\tconst itemContainer = document.querySelector('[data-filter-container]');\n\tconst noResultsMessage = document.querySelector('#pdm-filters-no-results');\n\n\tconst searchQuery = searchInput.value;\n\tconst selectedDepartment = departmentSelect.value;\n\n\tconst items = itemContainer.querySelectorAll('.pdm-archive-item');\n\n\tconst filteredItems = Array.from(items).filter((item) => {\n\t\tconst name = item.getAttribute('data-filterable-name').toLowerCase();\n\t\tconst department = item\n\t\t\t.getAttribute('data-filterable-department')\n\t\t\t.toLowerCase();\n\n\t\treturn (\n\t\t\t(searchQuery === '' || name.includes(searchQuery.toLowerCase())) &&\n\t\t\t(selectedDepartment === '' || department === selectedDepartment)\n\t\t);\n\t});\n\n\titems.forEach((item) => {\n\t\tif (filteredItems.includes(item)) {\n\t\t\titem.setAttribute('data-visible', true);\n\t\t} else {\n\t\t\titem.setAttribute('data-visible', false);\n\t\t}\n\n\t\tif (filteredItems.length === 0) {\n\t\t\tnoResultsMessage.setAttribute('data-visible', true);\n\t\t} else {\n\t\t\tnoResultsMessage.setAttribute('data-visible', false);\n\t\t}\n\t});\n}\n\n/**\n * Trigger the filter change with animation if available.\n *\n * @param {Event} event The click event.\n */\nfunction handleFilterChange(event) {\n\tevent.preventDefault();\n\n\tif (!document.startViewTransition) {\n\t\tfilterAndSort(event);\n\t} else {\n\t\tdocument.startViewTransition(() => {\n\t\t\tfilterAndSort(event);\n\t\t});\n\t}\n}\n\n/**\n * Reset the form to its default state.\n *\n * @param {Event} event The click event.\n */\nfunction handleFormReset(event) {\n\tevent.preventDefault();\n\n\tconst searchInput = document.querySelector('#pdm-filters__search');\n\tconst departmentSelect = document.querySelector('#pdm-filters__department');\n\tconst itemContainer = document.querySelector('[data-filter-container]');\n\tconst noResultsMessage = document.querySelector('#pdm-filters-no-results');\n\n\tsearchInput.value = '';\n\tdepartmentSelect.value = '';\n\n\tconst items = itemContainer.querySelectorAll('.pdm-archive-item');\n\n\titems.forEach((item) => {\n\t\titem.setAttribute('data-visible', true);\n\t});\n\n\tnoResultsMessage.setAttribute('data-visible', false);\n}\n\n/**\n * Set a cookie with a specified name, value, and expiration days.\n *\n * @param {string} name The name of the cookie.\n * @param {string} value The value of the cookie.\n * @param {number} days The number of days until the cookie expires.\n */\nfunction setCookie(name, value, days) {\n\tconst date = new Date();\n\tdate.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n\tconst expires = 'expires=' + date.toUTCString();\n\tdocument.cookie = name + '=' + value + ';' + expires + ';path=/';\n}\n\n/**\n * Add event listeners to the filter and sort controls.\n */\nfunction navigationFilters() {\n\tconst applyButton = document.querySelector(\n\t\t'.pdm-filters__button[type=\"submit\"]'\n\t);\n\tapplyButton.addEventListener('click', handleFilterChange);\n\tconst resetButton = document.querySelector(\n\t\t'.pdm-filters__button[type=\"reset\"]'\n\t);\n\tresetButton.addEventListener('click', handleFormReset);\n\n\tconst gridLayoutToggle = document.querySelector(\n\t\t'[data-layout-toggle=\"grid\"]'\n\t);\n\tconst listLayoutToggle = document.querySelector(\n\t\t'[data-layout-toggle=\"list\"]'\n\t);\n\tconst itemContainer = document.querySelector('[data-filter-container]');\n\n\tgridLayoutToggle.addEventListener('click', (event) => {\n\t\tevent.preventDefault();\n\t\titemContainer.classList.remove('pdm-archive-list');\n\t\titemContainer.classList.add('pdm-archive-grid');\n\t\tgridLayoutToggle.setAttribute('data-layout-active', true);\n\t\tlistLayoutToggle.setAttribute('data-layout-active', false);\n\t\tsetCookie('layout_preference', 'grid', 30); // Set cookie for grid layout.\n\t});\n\n\tlistLayoutToggle.addEventListener('click', (event) => {\n\t\tevent.preventDefault();\n\t\titemContainer.classList.remove('pdm-archive-grid');\n\t\titemContainer.classList.add('pdm-archive-list');\n\t\tgridLayoutToggle.setAttribute('data-layout-active', false);\n\t\tlistLayoutToggle.setAttribute('data-layout-active', true);\n\t\tsetCookie('layout_preference', 'list', 30); // Set cookie for list layout.\n\t});\n\n\t// Check for a URL parameter to set the department filter.\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst departmentParam = urlParams.get('department');\n\tif (departmentParam) {\n\t\tdocument.querySelector('#pdm-filters__department').value =\n\t\t\tdepartmentParam;\n\t\tfilterAndSort();\n\t}\n}\n\nexport { navigationFilters, filterAndSort, handleFilterChange };\n"],"names":["$06102d116e7fdc4e$export$d0e0de50c701304c","searchInput","document","querySelector","departmentSelect","itemContainer","noResultsMessage","searchQuery","value","selectedDepartment","items","querySelectorAll","filteredItems","Array","from","filter","item","name","getAttribute","toLowerCase","department","includes","forEach","setAttribute","length","$06102d116e7fdc4e$export$e845d36deafad43b","event","preventDefault","startViewTransition","$06102d116e7fdc4e$var$handleFormReset","$06102d116e7fdc4e$var$setCookie","days","date","Date","setTime","getTime","expires","toUTCString","cookie","addEventListener","applyButton","resetButton","gridLayoutToggle","listLayoutToggle","classList","remove","add","departmentParam","urlParams","URLSearchParams","window","location","search","get"],"version":3,"file":"navigationPage.js.map"}