{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"jQuery\"","webpack:///./FrontEnd/scripts/modules/general/pagination.js","webpack:///./FrontEnd/scripts/pagination-module.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","4","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","jQuery","AtomTemplates","elName","isSelfClosing","elContent","elClass","elAttr","regularElement","selfClosingElement","listContent","listClass","listAttr","itemContent","itemClass","itemAttr","linkContent","linkHref","linkClass","linkAttr","xlinkId","svgClass","svgAttr","MoleculeTemplates","direction","pageHref","isActive","isReversed","options","back","iconId","classActive","classDisabled","ariaLabel","forward","icon","item","link","el","has","less","class","more","dots","isActivePage","isFirstPage","isLastPage","number","Pagination","paginationSelector","dataDirKey","this","$pagination","$","isRtl","String","toLocaleLowerCase","init","isInitialized","render","on","calculatedData","itemsWidths","getItemsWidthsInPixels","calculatePages","pageSwitcherWidth","totalPagesQuantity","pageNumbers","isMustShowLeftDots","isMustShowRightDots","dotsIndicatorWidth","pageSize","getPageSize","html","parseHTML","list","getItems","join","occupiedWith","currentPageNumber","getCurrentPage","getTotalPagesCount","availableWidth","width","paginationCapacity","Math","floor","pageNumberWidth","startPageNumber","isShouldShift","round","isCanShift","trunc","Array","from","_","currentPageXlg","matchMedia","matches","currentPageLg","pageSizeXlg","pageSizeLg","totalPagesXlg","totalPagesLg","searchParams","URLSearchParams","location","search","paginationItems","set","pageNumber","pathname","toString","unshift","indicator","pageSwitcher"],"mappings":"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","file":"pagination-module.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t4: 0\n \t};\n\n \tvar deferredModules = [];\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 = \"/dist/scripts/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([312,0,8]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = jQuery;","// eslint-disable-next-line max-classes-per-file\nimport $ from 'jquery';\nimport { debounce } from 'lodash';\n\n/**\n * @desc Basic building blocks of pagination component.\n */\nclass AtomTemplates {\n /**\n * @desc Generic element template.\n * @param {Object} options\n * @param {string} options.elName\n * @param {boolean} options.isSelfClosing\n * @param {string} options.elContent\n * @param {string} options.elClass\n * @param {string} options.elAttr\n * @returns {string}\n */\n static el({\n elName = '', isSelfClosing = false, elContent = '', elClass = '', elAttr = '',\n }) {\n const regularElement = `\n <${elName} ${elClass ? `class=\"${elClass}\"` : ''} ${elAttr} >${elContent}\n `;\n\n const selfClosingElement = `\n <${elName} ${elClass ? `class=\"${elClass}\"` : ''} ${elAttr} />\n `;\n\n return isSelfClosing ? selfClosingElement : regularElement;\n }\n\n /**\n * @desc Pagination list template.\n * @param {Object} options\n * @param {string} options.listContent\n * @param {string} options.listClass\n * @param {string} options.listAttr\n * @returns {string}\n */\n static list({ listContent = '', listClass = '', listAttr = '' } = {}) {\n return `\n \n `;\n }\n\n /**\n * @desc Pagination item template.\n * @param {Object} options\n * @param {string} options.itemContent\n * @param {string} options.itemClass\n * @param {string} options.itemAttr\n * @returns {string}\n */\n static item({ itemContent = '', itemClass = '', itemAttr = '' } = {}) {\n return `\n
  • ${itemContent}
  • \n `;\n }\n\n /**\n * @desc Pagination link template.\n * @param {Object} options\n * @param {string} options.linkContent\n * @param {string} options.linkHref\n * @param {string} options.linkClass\n * @param {string} options.linkAttr\n * @returns {string}\n */\n static link({\n linkContent = '', linkHref = '#', linkClass = '', linkAttr = '',\n } = {}) {\n return `\n ${linkContent}\n `;\n }\n\n /**\n * @desc Pagination icon template.\n * @param {Object} options\n * @param {string} options.xlinkId\n * @param {string} options.svgClass\n * @param {string} options.svgAttr\n * @returns {string}\n */\n static icon({ xlinkId = '', svgClass = '', svgAttr = '' } = {}) {\n return `\n \n \n \n `;\n }\n\n /**\n * @desc Pagination dots template.\n * @returns {string}\n */\n static dots() {\n return `\n \n `;\n }\n}\n\n/**\n * @desc Composite building blocks of pagination component.\n */\nclass MoleculeTemplates {\n /**\n * @desc Page switcher.\n * @param {Object} options\n * @param {('back'|'forward')} options.direction\n * @param {string} options.pageHref\n * @param {boolean} options.isActive\n * @return {string}\n */\n static pageSwitcher({\n direction = 'back', pageHref = '#', isActive = false, isReversed = false,\n } = {}) {\n const options = {\n back: {\n iconId: 'pagination-previous-page',\n classActive: 'pagination-list__item--move-back',\n classDisabled: 'pagination-list__item--move-back pagination-list__item--disabled',\n ariaLabel: 'Previous page',\n },\n forward: {\n iconId: 'pagination-next-page',\n classActive: 'pagination-list__item--move-forward',\n classDisabled: 'pagination-list__item--move-forward pagination-list__item--disabled',\n ariaLabel: 'Next page',\n },\n };\n\n const icon = AtomTemplates.icon({\n xlinkId: options[direction].iconId,\n svgClass: isReversed ? 'rotate180' : '',\n });\n\n return AtomTemplates.item({\n itemClass: isActive\n ? options[direction].classActive\n : options[direction].classDisabled,\n itemContent: isActive\n ? AtomTemplates.link({\n linkAttr: `aria-label=\"${options[direction].ariaLabel}\"`,\n linkContent: icon,\n linkHref: pageHref,\n })\n : AtomTemplates.el({\n elName: 'span',\n elClass: 'pagination-list__item-link',\n elContent: icon,\n }),\n });\n }\n\n /**\n * @desc Shows whether we have more or less pages to display or not.\n * @param {Object} options\n * @param {('less'|'more')} options.has\n * @returns {string}\n */\n static indicator({ has = 'less' }) {\n const options = {\n less: {\n class: 'pagination-list__item--has-less',\n },\n more: {\n class: 'pagination-list__item--has-more',\n },\n };\n\n return AtomTemplates.item({\n itemClass: `pagination-list__item--indicator ${options[has].class}`,\n itemContent: AtomTemplates.dots(),\n });\n }\n\n /**\n * @desc Pagination 'page number'.\n * @returns {string}\n */\n static pageNumber({\n isActivePage = false, isFirstPage = false, isLastPage = false, pageHref = '#', number = 1,\n } = {}) {\n let itemClass = 'pagination-list__item--page-number';\n\n if (isActivePage) {\n itemClass += ' pagination-list__item--active';\n }\n\n if (isFirstPage) {\n itemClass += ' pagination-list__item--page-number-first';\n }\n\n if (isLastPage) {\n itemClass += ' pagination-list__item--page-number-last';\n }\n\n if (number >= 100 && number < 1000) {\n itemClass += ' pagination-list__item--font-sm';\n } else if (number >= 1000 && number < 10000) {\n itemClass += ' pagination-list__item--font-xs';\n } else if (number >= 10000) {\n itemClass += ' pagination-list__item--font-xxs';\n }\n\n return AtomTemplates.item({\n itemClass,\n itemContent: AtomTemplates.link({\n linkHref: pageHref,\n linkContent: number,\n }),\n });\n }\n}\n\nexport default class Pagination {\n /**\n * @param {string} paginationSelector\n * @param {string} dataDirKey\n */\n constructor(paginationSelector, dataDirKey = 'dir') {\n this.$pagination = $(paginationSelector);\n this.isRtl = String(this.$pagination.data(dataDirKey)).toLocaleLowerCase() === 'rtl';\n\n this.init();\n }\n\n /**\n * @desc Returns widths of pagination items (page numbers, arrow buttons, dots) in pixels.\n */\n static getItemsWidthsInPixels() {\n return {\n pageNumberWidth: 38,\n pageSwitcherWidth: 32,\n dotsIndicatorWidth: 16,\n };\n }\n\n /**\n * @desc Init module.\n */\n init() {\n this.isInitialized = true;\n\n if (!this.$pagination.length) {\n this.isInitialized = false;\n\n return;\n }\n\n this.render();\n\n $(window).on('resize', debounce(() => this.render(), 200));\n }\n\n /**\n * @desc Render pagination list.\n */\n render() {\n const itemsWidths = Pagination.getItemsWidthsInPixels();\n\n const {\n totalPagesQuantity,\n pageNumbers,\n } = this.calculatePages(itemsWidths.pageSwitcherWidth * 2);\n\n const isMustShowLeftDots = pageNumbers[0] > 1;\n const isMustShowRightDots = pageNumbers[pageNumbers.length - 1] < totalPagesQuantity;\n\n let calculatedData;\n\n if (\n (isMustShowLeftDots && !isMustShowRightDots)\n || (!isMustShowLeftDots && isMustShowRightDots)\n ) {\n calculatedData = this\n .calculatePages((itemsWidths.pageSwitcherWidth * 2) + itemsWidths.dotsIndicatorWidth);\n } else if (isMustShowLeftDots && isMustShowRightDots) {\n calculatedData = this\n .calculatePages((itemsWidths.pageSwitcherWidth * 2) + (itemsWidths.dotsIndicatorWidth * 2));\n } else {\n calculatedData = this.calculatePages(itemsWidths.pageSwitcherWidth * 2);\n }\n\n const pageSize = this.getPageSize();\n\n this.$pagination.html(\n $.parseHTML(\n AtomTemplates.list({\n listContent: Pagination.getItems({ ...calculatedData, ...{ pageSize }, isReversed: this.isRtl }).join(''),\n }),\n ),\n );\n }\n\n /**\n * @desc Returns array of pagination items (side arrows, dots indicators, page numbers).\n * @param {Object} options\n * @param {number} options.totalPagesQuantity\n * @param {number} options.currentPageNumber\n * @param {number} options.paginationCapacity\n * @param {number[]} options.pageNumbers\n * @return {string[]}\n */\n static getItems({\n totalPagesQuantity = 0, currentPageNumber = 0, paginationCapacity = 0,\n pageNumbers = [], isReversed = false, pageSize,\n } = {}) {\n const searchParams = new URLSearchParams(window.location.search);\n\n /**\n * @desc Create an array of page numbers controls.\n */\n const paginationItems = Array\n .from(\n { length: paginationCapacity },\n (_, i) => {\n searchParams.set('page', pageNumbers[i]);\n\n if (pageSize) {\n searchParams.set('pagesize', pageSize);\n }\n\n return MoleculeTemplates.pageNumber({\n isActivePage: pageNumbers[i] === currentPageNumber,\n isFirstPage: i === 0,\n isLastPage: i === paginationCapacity - 1,\n pageHref: `${window.location.pathname}?${searchParams.toString()}`,\n number: pageNumbers[i],\n });\n },\n );\n\n /**\n * @desc If necessary, add three points to the left.\n */\n if (pageNumbers[0] > 1) {\n paginationItems.unshift(MoleculeTemplates.indicator({ has: 'less' }));\n }\n\n /**\n * @desc Adds \"switcher to the previous page\" button.\n */\n searchParams.set('page', currentPageNumber - 1);\n paginationItems.unshift(MoleculeTemplates.pageSwitcher({\n direction: 'back',\n isActive: currentPageNumber > 1,\n pageHref: `${window.location.pathname}?${searchParams.toString()}`,\n isReversed,\n }));\n\n /**\n * @desc If necessary, add three points to the right.\n */\n if (pageNumbers[pageNumbers.length - 1] < totalPagesQuantity) {\n paginationItems.push(MoleculeTemplates.indicator({ has: 'more' }));\n }\n\n /**\n * @desc Adds \"switcher to the next page\" button.\n */\n searchParams.set('page', currentPageNumber + 1);\n paginationItems.push(MoleculeTemplates.pageSwitcher({\n direction: 'forward',\n isActive: currentPageNumber < totalPagesQuantity,\n pageHref: `${window.location.pathname}?${searchParams.toString()}`,\n isReversed,\n }));\n\n return paginationItems;\n }\n\n /**\n * @desc Calculate pagination.\n */\n calculatePages(occupiedWith) {\n const currentPageNumber = this.getCurrentPage();\n const totalPagesQuantity = this.getTotalPagesCount();\n const availableWidth = this.$pagination.width();\n\n /**\n * @desc Calculate how many page numbers can be displayed in pagination.\n * @type {number}\n */\n let paginationCapacity = Math\n .floor((availableWidth - occupiedWith) / Pagination.getItemsWidthsInPixels().pageNumberWidth);\n\n /**\n * @desc If we are able to display more pages than we have, then pick the total page number.\n */\n if (paginationCapacity > totalPagesQuantity) {\n paginationCapacity = totalPagesQuantity;\n }\n\n /**\n * @desc Calculate position reaching which we have to shift the pagination.\n * @type {number}\n */\n const rubiconPosition = Math.round(paginationCapacity / 2);\n\n /**\n * @desc Shows whether we reached rubicon position or not.\n * @type {boolean}\n */\n const isShouldShift = currentPageNumber >= rubiconPosition;\n\n /**\n * @desc Shows whether we can shift the pagination or not.\n * (is there at least one element to display beyond currently displayed pages)\n * @type {boolean}\n */\n const isCanShift = (\n currentPageNumber + Math.trunc(paginationCapacity / 2) + 1\n ) <= totalPagesQuantity;\n\n let startPageNumber;\n\n if (!isShouldShift) {\n startPageNumber = 1;\n } else if (isShouldShift && !isCanShift) {\n startPageNumber = totalPagesQuantity - paginationCapacity + 1;\n } else {\n startPageNumber = (currentPageNumber - Math.trunc(paginationCapacity / 2)) || 1;\n }\n\n const pageNumbers = Array.from({ length: paginationCapacity }, (_, i) => startPageNumber + i);\n\n return {\n totalPagesQuantity,\n currentPageNumber,\n paginationCapacity,\n pageNumbers,\n };\n }\n\n getCurrentPage() {\n const currentPageXlg = this.$pagination.data('current-page-xlg');\n\n if (currentPageXlg && window.matchMedia('(min-width: 1024px)').matches) {\n return currentPageXlg;\n }\n\n const currentPageLg = this.$pagination.data('current-page-lg');\n\n if (currentPageLg && window.matchMedia('(min-width: 768px)').matches) {\n return currentPageLg;\n }\n\n const currentPageXxs = this.$pagination.data('current-page-xxs');\n\n if (currentPageXxs) {\n return currentPageXxs;\n }\n\n return this.$pagination.data('current-page');\n }\n\n getPageSize() {\n const pageSizeXlg = this.$pagination.data('page-size-xlg');\n\n if (pageSizeXlg && window.matchMedia('(min-width: 1024px)').matches) {\n return pageSizeXlg;\n }\n\n const pageSizeLg = this.$pagination.data('page-size-lg');\n\n if (pageSizeLg && window.matchMedia('(min-width: 768px)').matches) {\n return pageSizeLg;\n }\n\n const pageSizeXxs = this.$pagination.data('page-size-xxs');\n\n if (pageSizeXxs) {\n return pageSizeXxs;\n }\n\n return this.$pagination.data('page-size');\n }\n\n getTotalPagesCount() {\n const totalPagesXlg = this.$pagination.data('total-pages-xlg');\n\n if (totalPagesXlg && window.matchMedia('(min-width: 1024px)').matches) {\n return totalPagesXlg;\n }\n\n const totalPagesLg = this.$pagination.data('total-pages-lg');\n\n if (totalPagesLg && window.matchMedia('(min-width: 768px)').matches) {\n return totalPagesLg;\n }\n\n const totalPagesXxs = this.$pagination.data('total-pages-xxs');\n\n if (totalPagesXxs) {\n return totalPagesXxs;\n }\n\n return this.$pagination.data('total-pages');\n }\n}\n","import $ from 'jquery';\nimport Pagination from './modules/general/pagination';\n\n/* eslint-disable no-new */\n$(() => {\n new Pagination('.js-pagination');\n});\n/* eslint-enable no-new */\n"],"sourceRoot":""}