marketplacepos 2.4.6 → 2.4.8

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.
Files changed (88) hide show
  1. package/Marketplace/assets/lbd/_sidebar-and-main-panel.scss +1 -1
  2. package/Marketplace/assets/version-adjustment-v5.scss +9 -0
  3. package/Marketplace/common.js +238 -0
  4. package/Marketplace/common.js.map +1 -0
  5. package/Marketplace/default-node_modules_angular_forms_fesm2020_forms_mjs.js +9551 -0
  6. package/Marketplace/default-node_modules_angular_forms_fesm2020_forms_mjs.js.map +1 -0
  7. package/Marketplace/default-node_modules_angular_material_fesm2020_paginator_mjs.js +797 -0
  8. package/Marketplace/default-node_modules_angular_material_fesm2020_paginator_mjs.js.map +1 -0
  9. package/Marketplace/default-node_modules_angular_material_fesm2020_slide-toggle_mjs.js +669 -0
  10. package/Marketplace/default-node_modules_angular_material_fesm2020_slide-toggle_mjs.js.map +1 -0
  11. package/Marketplace/default-node_modules_ng-select_ng-select_fesm2020_ng-select-ng-select_mjs.js +4632 -0
  12. package/Marketplace/default-node_modules_ng-select_ng-select_fesm2020_ng-select-ng-select_mjs.js.map +1 -0
  13. package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-node_modules_angular_material_fesm2020_date-e7a231.js +6841 -0
  14. package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-node_modules_angular_material_fesm2020_date-e7a231.js.map +1 -0
  15. package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-src_app_services_biggerPicture_service_ts-s-b16afe.js +3316 -0
  16. package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-src_app_services_biggerPicture_service_ts-s-b16afe.js.map +1 -0
  17. package/Marketplace/default-src_app_model_enums_FilterType_enum_ts-src_app_sharing-module_table_table_component_ts.js +6219 -0
  18. package/Marketplace/default-src_app_model_enums_FilterType_enum_ts-src_app_sharing-module_table_table_component_ts.js.map +1 -0
  19. package/Marketplace/default-src_app_sharing-module_datepicker_datepicker_component_ts.js +19965 -0
  20. package/Marketplace/default-src_app_sharing-module_datepicker_datepicker_component_ts.js.map +1 -0
  21. package/Marketplace/index.html +23 -22
  22. package/Marketplace/main.js +622 -0
  23. package/Marketplace/main.js.map +1 -0
  24. package/Marketplace/polyfills.js +3398 -0
  25. package/Marketplace/polyfills.js.map +1 -0
  26. package/Marketplace/runtime.js +346 -0
  27. package/Marketplace/runtime.js.map +1 -0
  28. package/Marketplace/scripts.js +9 -0
  29. package/Marketplace/scripts.js.map +1 -0
  30. package/Marketplace/src_app_login_login_module_ts.js +651 -0
  31. package/Marketplace/src_app_login_login_module_ts.js.map +1 -0
  32. package/Marketplace/src_app_menu_ReportOrder_order_order_module_ts.js +872 -0
  33. package/Marketplace/src_app_menu_ReportOrder_order_order_module_ts.js.map +1 -0
  34. package/Marketplace/src_app_menu_ReportOrder_product-statistic_product-statistic_module_ts.js +422 -0
  35. package/Marketplace/src_app_menu_ReportOrder_product-statistic_product-statistic_module_ts.js.map +1 -0
  36. package/Marketplace/src_app_menu_ReportOrder_report_module_ts.js +283 -0
  37. package/Marketplace/src_app_menu_ReportOrder_report_module_ts.js.map +1 -0
  38. package/Marketplace/src_app_menu_channels_channels_module_ts.js +9605 -0
  39. package/Marketplace/src_app_menu_channels_channels_module_ts.js.map +1 -0
  40. package/Marketplace/src_app_menu_inventory_inventory_module_ts.js +1547 -0
  41. package/Marketplace/src_app_menu_inventory_inventory_module_ts.js.map +1 -0
  42. package/Marketplace/src_app_menu_logistic_logistic_module_ts.js +245 -0
  43. package/Marketplace/src_app_menu_logistic_logistic_module_ts.js.map +1 -0
  44. package/Marketplace/src_app_menu_menu_module_ts.js +40326 -0
  45. package/Marketplace/src_app_menu_menu_module_ts.js.map +1 -0
  46. package/Marketplace/src_app_menu_notification_notification_module_ts.js +285 -0
  47. package/Marketplace/src_app_menu_notification_notification_module_ts.js.map +1 -0
  48. package/Marketplace/src_app_menu_object-log_logs_module_ts.js +1817 -0
  49. package/Marketplace/src_app_menu_object-log_logs_module_ts.js.map +1 -0
  50. package/Marketplace/src_app_menu_orders_orders_module_ts.js +4867 -0
  51. package/Marketplace/src_app_menu_orders_orders_module_ts.js.map +1 -0
  52. package/Marketplace/src_app_menu_price_price_module_ts.js +1885 -0
  53. package/Marketplace/src_app_menu_price_price_module_ts.js.map +1 -0
  54. package/Marketplace/src_app_menu_products_product_module_ts.js +2692 -0
  55. package/Marketplace/src_app_menu_products_product_module_ts.js.map +1 -0
  56. package/Marketplace/styles.css +16565 -0
  57. package/Marketplace/styles.css.map +1 -0
  58. package/Marketplace/vendor.js +71624 -0
  59. package/Marketplace/vendor.js.map +1 -0
  60. package/package.json +1 -1
  61. package/Marketplace/162.4f60927eda97cc16.js +0 -1
  62. package/Marketplace/171.9284c660e58d6f8c.js +0 -1
  63. package/Marketplace/174.981a3e729681507b.js +0 -1
  64. package/Marketplace/25.ba3606ad0ea92b4a.js +0 -1
  65. package/Marketplace/360.4fa1f449dc516500.js +0 -1
  66. package/Marketplace/369.d711344db7113e55.js +0 -1
  67. package/Marketplace/387.6e9471375d261f28.js +0 -1
  68. package/Marketplace/3rdpartylicenses.txt +0 -568
  69. package/Marketplace/463.e1b8208c6f571003.js +0 -1
  70. package/Marketplace/512.96a1a3c8c51a8727.js +0 -1
  71. package/Marketplace/516.57bcab321d07d544.js +0 -1
  72. package/Marketplace/585.9e916b668a91cc94.js +0 -1
  73. package/Marketplace/6.fc79ecc0c0a33462.js +0 -1
  74. package/Marketplace/61.481724edf2d23475.js +0 -1
  75. package/Marketplace/616.fb179a9605c3e98c.js +0 -1
  76. package/Marketplace/716.8918af413ba6d384.js +0 -1
  77. package/Marketplace/717.03a2e00d3bca2d89.js +0 -1
  78. package/Marketplace/739.82b92600f9519019.js +0 -1
  79. package/Marketplace/796.d34bd45b5a924fca.js +0 -1
  80. package/Marketplace/832.40bafce037098f88.js +0 -1
  81. package/Marketplace/874.63ae9bf5eecf410e.js +0 -1
  82. package/Marketplace/983.e83c887fe86ec996.js +0 -1
  83. package/Marketplace/common.3f5874655db24424.js +0 -1
  84. package/Marketplace/main.f2cf6124e7df7f02.js +0 -1
  85. package/Marketplace/polyfills.8d85b0533e3f867a.js +0 -1
  86. package/Marketplace/runtime.ba9ecd190eb3a539.js +0 -1
  87. package/Marketplace/scripts.09af772bfa77d50d.js +0 -1
  88. package/Marketplace/styles.dc183203b654c19c.css +0 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-src_app_menu_nav-tab_nav-tab_component_ts-src_app_services_biggerPicture_service_ts-s-b16afe.js","mappings":"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","sources":["./src/app/menu/nav-tab/nav-tab.component.ts","./src/app/menu/nav-tab/nav-tab.component.html","./src/app/services/biggerPicture.service.ts","./src/app/services/infinite-pagination/infinite-pagination.service.ts","./node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js","./node_modules/bigger-picture/dist/bigger-picture.mjs"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, Input, NgModule } from '@angular/core';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nexport interface NavTabMenu {\r\n Title: string,\r\n Url: string,\r\n Description?: string,\r\n}\r\n\r\n@Component({\r\n selector: 'nav-tab',\r\n templateUrl: './nav-tab.component.html',\r\n styleUrls: ['./nav-tab.component.scss']\r\n})\r\nexport class NavTabComponent {\r\n @Input() Tabs: NavTabMenu[];\r\n \r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n MatTooltipModule\r\n ],\r\n declarations: [\r\n NavTabComponent\r\n ],\r\n exports: [\r\n NavTabComponent\r\n ]\r\n})\r\nexport class NavTabModule { }\r\n","<ul class=\"nav navbar-nav navbar-left nav-tab-arrow\">\r\n <li routerLinkActive=\"active\" class=\"nav-item me-6\" *ngFor=\"let tabMenu of Tabs\">\r\n <a class=\"nav-link nav-link-arrow mb-0\" routerLink=\"{{tabMenu.Url}}\" [title]=\"tabMenu.Description ? tabMenu.Description : ''\">\r\n {{tabMenu.Title}}\r\n </a>\r\n </li>\r\n</ul>","import { Injectable } from \"@angular/core\";\r\nimport BiggerPicture from \"bigger-picture\";\r\nimport { Constants } from \"../model/Constants\";\r\n\r\nconst bp = BiggerPicture({\r\n target: document.body,\r\n});\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class BiggerPictureService {\r\n constructor() {}\r\n\r\n async openBiggerPicture(ev: PointerEvent, imageUrl: string) {\r\n ev.preventDefault();\r\n try {\r\n const imgObj = await Constants.getImageInfo(imageUrl);\r\n bp.open({\r\n items: [imgObj],\r\n intro: \"fadeup\",\r\n });\r\n } catch (error) {\r\n alert(error);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, concatMap, filter, map, Observable, scan, shareReplay, Subject, takeUntil, tap, withLatestFrom } from 'rxjs';\r\nimport { HttpService } from '../http.service';\r\n\r\nexport interface FetchDataResponse<T> {\r\n Data: T[]\r\n}\r\n\r\nexport interface Pagination {\r\n PageNumber: number;\r\n RowCount: number;\r\n text?: string;\r\n ChannelID?: string;\r\n filterModel?: number;\r\n ScanFull?: boolean;\r\n sync?: boolean;\r\n IsMarketplaceAppActive?: boolean;\r\n UpdatedProduct?: boolean;\r\n Async?: boolean\r\n HiddenIPOSInventory?:boolean\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfinitePaginationService<T> {\r\n data$: Observable<T[]>;\r\n fetchDataEndpoint: string;\r\n\r\n /** Notify to fetch data with loader*/\r\n pagination$ = new BehaviorSubject<Pagination>(null);\r\n\r\n footerPageNumber: number;\r\n hideCount: boolean;\r\n disableNextButton: boolean;\r\n goToLastPage: boolean;\r\n\r\n private destroy$: Subject<boolean>;\r\n\r\n constructor(private http: HttpService) {\r\n this.destroy$ = new Subject();\r\n this.data$ = this.paginationFunction();\r\n }\r\n\r\n onNextPage(pagination: Pagination) {\r\n pagination.PageNumber += 1;\r\n this.pagination$.next(pagination);\r\n }\r\n\r\n setPageNumberFooter(pagination: Pagination) {\r\n this.footerPageNumber = pagination.PageNumber;\r\n }\r\n\r\n setPaginationButtonState(pagination:Pagination, dataLength: number) {\r\n if (dataLength == 0) {\r\n this.disableNextButton = true;\r\n }\r\n else {\r\n this.disableNextButton = (dataLength < (pagination.RowCount * pagination.PageNumber)) ? false : true;\r\n }\r\n }\r\n\r\n resetToFirstPage(pagination: Pagination) {\r\n pagination.PageNumber = 1;\r\n this.pagination$.next(pagination);\r\n this.hideCount = true;\r\n this.goToLastPage = false;\r\n }\r\n\r\n getAllData(pagination: Pagination, totalDataLength: number) {\r\n pagination.RowCount = totalDataLength;\r\n this.pagination$.next(pagination);\r\n this.goToLastPage = true;\r\n }\r\n\r\n public destroy() {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n this.pagination$ = null;\r\n this.pagination$ = new BehaviorSubject(null);\r\n this.data$ = this.paginationFunction();\r\n }\r\n\r\n private paginationFunction() {\r\n return this.pagination$.pipe(\r\n takeUntil(this.destroy$),\r\n filter((pagination: Pagination) => pagination != null),\r\n concatMap((pagination: Pagination) => {\r\n return this.http.post<FetchDataResponse<T>>(`/API/${this.fetchDataEndpoint}`, JSON.stringify(pagination))\r\n .pipe(\r\n map((response: FetchDataResponse<T>) => response.Data),\r\n )\r\n }),\r\n withLatestFrom(this.pagination$),\r\n scan((acc, value) => {\r\n const [previousData, pagination] = acc;\r\n const [nextData] = value;\r\n return pagination.PageNumber == 1 ? [nextData, pagination] : [previousData.concat(nextData), pagination]\r\n }),\r\n tap(([data, pagination]: [T[], Pagination]) => {\r\n this.setPageNumberFooter(pagination);\r\n this.setPaginationButtonState(pagination, (data).length)\r\n }),\r\n map(([data]) => data as T[]),\r\n shareReplay()\r\n );\r\n }\r\n}\r\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { identity } from '../util/identity';\nimport { noop } from '../util/noop';\nimport { popResultSelector } from '../util/args';\nexport function withLatestFrom(...inputs) {\n const project = popResultSelector(inputs);\n return operate((source, subscriber) => {\n const len = inputs.length;\n const otherValues = new Array(len);\n let hasValue = inputs.map(() => false);\n let ready = false;\n for (let i = 0; i < len; i++) {\n innerFrom(inputs[i]).subscribe(createOperatorSubscriber(subscriber, (value) => {\n otherValues[i] = value;\n if (!ready && !hasValue[i]) {\n hasValue[i] = true;\n (ready = hasValue.every(identity)) && (hasValue = null);\n }\n }, noop));\n }\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (ready) {\n const values = [value, ...otherValues];\n subscriber.next(project ? project(...values) : values);\n }\n }));\n });\n}\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction run(fn) {\n return fn();\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nlet now = () => globalThis.performance.now()\n ;\nlet raf = cb => requestAnimationFrame(cb) ;\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value);\n }\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nlet stylesheet;\nlet active = 0;\nlet current_rules = {};\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\n// function hash(str) {\n// let hash = 5381;\n// let i = str.length;\n// while (i--)\n// hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n// return hash >>> 0;\n// }\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `_bp_${Math.round(Math.random() * 1e9)}_${uid}`;\n if (!current_rules[name]) {\n if (!stylesheet) {\n const style = element('style');\n document.head.appendChild(style);\n stylesheet = style.sheet;\n }\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n node.style.animation = (node.style.animation || '')\n .split(', ')\n .filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('_bp') === -1 // remove all Svelte animations\n )\n .join(', ');\n if (name && !--active)\n clear_rules();\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n current_rules = {};\n });\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\n\nconst dirty_components = [];\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: {},\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: {},\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction cubicOut(t) {\n const f = t - 1.0;\n return f * f * f + 1.0;\n}\n\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 } = {}) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\n\nconst subscriber_queue = [];\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = new Set();\n function set(new_value) {\n if (not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\n\nfunction get_interpolator(a, b) {\n if (a === b || a !== a)\n return () => a;\n const type = typeof a;\n if (Array.isArray(a)) {\n const arr = b.map((bi, i) => {\n return get_interpolator(a[i], bi);\n });\n return t => arr.map(fn => fn(t));\n }\n if (type === 'number') {\n const delta = b - a;\n return t => a + t * delta;\n }\n \n}\nfunction tweened(value, defaults = {}) {\n const store = writable(value);\n let task;\n let target_value = value;\n function set(new_value, opts) {\n if (value == null) {\n store.set(value = new_value);\n return Promise.resolve();\n }\n target_value = new_value;\n let previous_task = task;\n let started = false;\n let { delay = 0, duration = 400, easing = identity, interpolate = get_interpolator } = assign(assign({}, defaults), opts);\n if (duration === 0) {\n if (previous_task) {\n previous_task.abort();\n previous_task = null;\n }\n store.set(value = target_value);\n return Promise.resolve();\n }\n const start = now() + delay;\n let fn;\n task = loop(now => {\n if (now < start)\n return true;\n if (!started) {\n fn = interpolate(value, new_value);\n if (typeof duration === 'function')\n duration = duration(value, new_value);\n started = true;\n }\n if (previous_task) {\n previous_task.abort();\n previous_task = null;\n }\n const elapsed = now - start;\n if (elapsed > duration) {\n store.set(value = new_value);\n return false;\n }\n // @ts-ignore\n store.set(value = fn(easing(elapsed / duration)));\n return true;\n });\n return task.promise;\n }\n return {\n set,\n update: (fn, opts) => set(fn(target_value, value), opts),\n subscribe: store.subscribe\n };\n}\n\n/** true if gallery is in the process of closing */\nconst closing = writable(0);\n\n/** store if user prefers reduced motion */\nconst prefersReducedMotion = globalThis.matchMedia?.(\n\t'(prefers-reduced-motion: reduce)'\n).matches;\n\n/** default options for tweens / transitions */\nconst defaultTweenOptions = (duration) => ({\n\teasing: cubicOut,\n\tduration: prefersReducedMotion ? 0 : duration,\n});\n\n/* src/components/loading.svelte generated by Svelte v3.47.0 */\n\nfunction create_if_block$2(ctx) {\n\tlet div;\n\tlet div_intro;\n\tlet div_outro;\n\tlet current;\n\tlet if_block = !/*$closing*/ ctx[2] && create_if_block_1$2();\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tif (if_block) if_block.c();\n\t\t\tattr(div, \"class\", \"bp-load\");\n\t\t\tset_style(div, \"background-image\", \"url(\" + /*thumb*/ ctx[0] + \")\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tif (if_block) if_block.m(div, null);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (!/*$closing*/ ctx[2]) {\n\t\t\t\tif (if_block) ; else {\n\t\t\t\t\tif_block = create_if_block_1$2();\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(div, null);\n\t\t\t\t}\n\t\t\t} else if (if_block) {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = null;\n\t\t\t}\n\n\t\t\tif (!current || dirty & /*thumb*/ 1) {\n\t\t\t\tset_style(div, \"background-image\", \"url(\" + /*thumb*/ ctx[0] + \")\");\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\n\t\t\tadd_render_callback(() => {\n\t\t\t\tif (div_outro) div_outro.end(1);\n\t\t\t\tdiv_intro = create_in_transition(div, fly, { duration: /*loaded*/ ctx[1] ? 400 : 0 });\n\t\t\t\tdiv_intro.start();\n\t\t\t});\n\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\tif (div_intro) div_intro.invalidate();\n\n\t\t\tif (local) {\n\t\t\t\tdiv_outro = create_out_transition(div, fly, { duration: 480 });\n\t\t\t}\n\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tif (if_block) if_block.d();\n\t\t\tif (detaching && div_outro) div_outro.end();\n\t\t}\n\t};\n}\n\n// (12:2) {#if !$closing}\nfunction create_if_block_1$2(ctx) {\n\tlet span0;\n\tlet span1;\n\n\treturn {\n\t\tc() {\n\t\t\tspan0 = element(\"span\");\n\t\t\tspan1 = element(\"span\");\n\t\t\tattr(span0, \"class\", \"bp-bar\");\n\t\t\tattr(span1, \"class\", \"bp-o\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, span0, anchor);\n\t\t\tinsert(target, span1, anchor);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(span0);\n\t\t\tif (detaching) detach(span1);\n\t\t}\n\t};\n}\n\nfunction create_fragment$4(ctx) {\n\tlet if_block_anchor;\n\tlet if_block = (!/*loaded*/ ctx[1] || /*$closing*/ ctx[2]) && create_if_block$2(ctx);\n\n\treturn {\n\t\tc() {\n\t\t\tif (if_block) if_block.c();\n\t\t\tif_block_anchor = empty();\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tif (if_block) if_block.m(target, anchor);\n\t\t\tinsert(target, if_block_anchor, anchor);\n\t\t},\n\t\tp(ctx, [dirty]) {\n\t\t\tif (!/*loaded*/ ctx[1] || /*$closing*/ ctx[2]) {\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty & /*loaded, $closing*/ 6) {\n\t\t\t\t\t\ttransition_in(if_block, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block = create_if_block$2(ctx);\n\t\t\t\t\tif_block.c();\n\t\t\t\t\ttransition_in(if_block, 1);\n\t\t\t\t\tif_block.m(if_block_anchor.parentNode, if_block_anchor);\n\t\t\t\t}\n\t\t\t} else if (if_block) {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_block, 1, 1, () => {\n\t\t\t\t\tif_block = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\ttransition_in(if_block);\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(if_block);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (if_block) if_block.d(detaching);\n\t\t\tif (detaching) detach(if_block_anchor);\n\t\t}\n\t};\n}\n\nfunction instance$4($$self, $$props, $$invalidate) {\n\tlet $closing;\n\tcomponent_subscribe($$self, closing, $$value => $$invalidate(2, $closing = $$value));\n\tlet { thumb } = $$props;\n\tlet { loaded } = $$props;\n\n\t$$self.$$set = $$props => {\n\t\tif ('thumb' in $$props) $$invalidate(0, thumb = $$props.thumb);\n\t\tif ('loaded' in $$props) $$invalidate(1, loaded = $$props.loaded);\n\t};\n\n\treturn [thumb, loaded, $closing];\n}\n\nclass Loading extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\t\tinit(this, options, instance$4, create_fragment$4, not_equal, { thumb: 0, loaded: 1 });\n\t}\n}\n\n/* src/components/image.svelte generated by Svelte v3.47.0 */\n\nfunction create_if_block_1$1(ctx) {\n\tlet img;\n\tlet img_srcset_value;\n\tlet img_sizes_value;\n\tlet img_alt_value;\n\tlet img_outro;\n\tlet current;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"srcset\", img_srcset_value = /*activeItem*/ ctx[7].img);\n\t\t\tattr(img, \"sizes\", img_sizes_value = /*opts*/ ctx[8].sizes || `${/*sizes*/ ctx[1]}px`);\n\t\t\tattr(img, \"alt\", img_alt_value = /*activeItem*/ ctx[7].alt);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (!current || dirty[0] & /*sizes*/ 2 && img_sizes_value !== (img_sizes_value = /*opts*/ ctx[8].sizes || `${/*sizes*/ ctx[1]}px`)) {\n\t\t\t\tattr(img, \"sizes\", img_sizes_value);\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\tif (img_outro) img_outro.end(1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\timg_outro = create_out_transition(img, fly, {});\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t\tif (detaching && img_outro) img_outro.end();\n\t\t}\n\t};\n}\n\n// (367:10) {#if showLoader}\nfunction create_if_block$1(ctx) {\n\tlet loading;\n\tlet current;\n\n\tloading = new Loading({\n\t\t\tprops: {\n\t\t\t\tthumb: /*activeItem*/ ctx[7].thumb,\n\t\t\t\tloaded: /*loaded*/ ctx[2]\n\t\t\t}\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tcreate_component(loading.$$.fragment);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tmount_component(loading, target, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tconst loading_changes = {};\n\t\t\tif (dirty[0] & /*loaded*/ 4) loading_changes.loaded = /*loaded*/ ctx[2];\n\t\t\tloading.$set(loading_changes);\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(loading.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(loading.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tdestroy_component(loading, detaching);\n\t\t}\n\t};\n}\n\nfunction create_fragment$3(ctx) {\n\tlet div1;\n\tlet div0;\n\tlet if_block0_anchor;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\tlet if_block0 = /*loaded*/ ctx[2] && create_if_block_1$1(ctx);\n\tlet if_block1 = /*showLoader*/ ctx[3] && create_if_block$1(ctx);\n\n\treturn {\n\t\tc() {\n\t\t\tdiv1 = element(\"div\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tif (if_block0) if_block0.c();\n\t\t\tif_block0_anchor = empty();\n\t\t\tif (if_block1) if_block1.c();\n\t\t\tattr(div0, \"class\", \"bp-img\");\n\t\t\tset_style(div0, \"background-image\", \"url(\" + /*activeItem*/ ctx[7].thumb + \")\");\n\t\t\tset_style(div0, \"width\", /*$imageDimensions*/ ctx[0][0] + \"px\");\n\t\t\tset_style(div0, \"height\", /*$imageDimensions*/ ctx[0][1] + \"px\");\n\t\t\tset_style(div0, \"transform\", \"translate3d(\" + (/*$imageDimensions*/ ctx[0][0] / -2 + /*$zoomDragTranslate*/ ctx[6][0]) + \"px, \" + (/*$imageDimensions*/ ctx[0][1] / -2 + /*$zoomDragTranslate*/ ctx[6][1]) + \"px, 0)\");\n\t\t\tattr(div1, \"class\", \"bp-img-wrap\");\n\t\t\ttoggle_class(div1, \"bp-drag\", /*pointerDown*/ ctx[4]);\n\t\t\ttoggle_class(div1, \"bp-close\", /*closingWhileZoomed*/ ctx[5]);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div1, anchor);\n\t\t\tappend(div1, div0);\n\t\t\tif (if_block0) if_block0.m(div0, null);\n\t\t\tappend(div0, if_block0_anchor);\n\t\t\tif (if_block1) if_block1.m(div0, null);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\taction_destroyer(/*onMount*/ ctx[17].call(null, div0)),\n\t\t\t\t\tlisten(div1, \"wheel\", /*onWheel*/ ctx[12]),\n\t\t\t\t\tlisten(div1, \"pointerdown\", /*onPointerDown*/ ctx[13]),\n\t\t\t\t\tlisten(div1, \"pointermove\", /*onPointerMove*/ ctx[14]),\n\t\t\t\t\tlisten(div1, \"pointerup\", /*onPointerUp*/ ctx[16]),\n\t\t\t\t\tlisten(div1, \"pointercancel\", /*removeEventFromCache*/ ctx[15])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (/*loaded*/ ctx[2]) {\n\t\t\t\tif (if_block0) {\n\t\t\t\t\tif_block0.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty[0] & /*loaded*/ 4) {\n\t\t\t\t\t\ttransition_in(if_block0, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block0 = create_if_block_1$1(ctx);\n\t\t\t\t\tif_block0.c();\n\t\t\t\t\ttransition_in(if_block0, 1);\n\t\t\t\t\tif_block0.m(div0, if_block0_anchor);\n\t\t\t\t}\n\t\t\t} else if (if_block0) {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_block0, 1, 1, () => {\n\t\t\t\t\tif_block0 = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t}\n\n\t\t\tif (/*showLoader*/ ctx[3]) {\n\t\t\t\tif (if_block1) {\n\t\t\t\t\tif_block1.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty[0] & /*showLoader*/ 8) {\n\t\t\t\t\t\ttransition_in(if_block1, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block1 = create_if_block$1(ctx);\n\t\t\t\t\tif_block1.c();\n\t\t\t\t\ttransition_in(if_block1, 1);\n\t\t\t\t\tif_block1.m(div0, null);\n\t\t\t\t}\n\t\t\t} else if (if_block1) {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_block1, 1, 1, () => {\n\t\t\t\t\tif_block1 = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*$imageDimensions*/ 1) {\n\t\t\t\tset_style(div0, \"width\", /*$imageDimensions*/ ctx[0][0] + \"px\");\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*$imageDimensions*/ 1) {\n\t\t\t\tset_style(div0, \"height\", /*$imageDimensions*/ ctx[0][1] + \"px\");\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*$imageDimensions, $zoomDragTranslate*/ 65) {\n\t\t\t\tset_style(div0, \"transform\", \"translate3d(\" + (/*$imageDimensions*/ ctx[0][0] / -2 + /*$zoomDragTranslate*/ ctx[6][0]) + \"px, \" + (/*$imageDimensions*/ ctx[0][1] / -2 + /*$zoomDragTranslate*/ ctx[6][1]) + \"px, 0)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*pointerDown*/ 16) {\n\t\t\t\ttoggle_class(div1, \"bp-drag\", /*pointerDown*/ ctx[4]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*closingWhileZoomed*/ 32) {\n\t\t\t\ttoggle_class(div1, \"bp-close\", /*closingWhileZoomed*/ ctx[5]);\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(if_block0);\n\t\t\ttransition_in(if_block1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(if_block0);\n\t\t\ttransition_out(if_block1);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div1);\n\t\t\tif (if_block0) if_block0.d();\n\t\t\tif (if_block1) if_block1.d();\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance$3($$self, $$props, $$invalidate) {\n\tlet $zoomed;\n\tlet $zoomDragTranslate;\n\tlet $closing;\n\tlet $imageDimensions;\n\tcomponent_subscribe($$self, closing, $$value => $$invalidate(22, $closing = $$value));\n\tlet { props } = $$props;\n\tlet { smallScreen } = $$props;\n\tlet { activeItem, opts, prev, next, zoomed, container } = props;\n\tcomponent_subscribe($$self, zoomed, value => $$invalidate(21, $zoomed = value));\n\tlet maxZoom = activeItem.maxZoom || opts.maxZoom || 10;\n\tlet calculatedDimensions = props.calculateDimensions(activeItem);\n\n\t/** value of sizes attribute */\n\tlet sizes = calculatedDimensions[0];\n\n\t/** tracks load state of image */\n\tlet loaded, showLoader;\n\n\t/** stores pinch info if multiple touch events active */\n\tlet pinchDetails;\n\n\t/** image html element (.bp-img) */\n\tlet bpImg;\n\n\t/** track distance for pinch events */\n\tlet prevDiff = 0;\n\n\tlet pointerDown, hasDragged;\n\tlet dragStartX, dragStartY;\n\n\t/** zoomDragTranslate values on start of drag */\n\tlet dragStartTranslateX, dragStartTranslateY;\n\n\t/** if true, adds class to .bp-wrap to avoid image cropping */\n\tlet closingWhileZoomed;\n\n\tconst naturalWidth = +activeItem.width;\n\n\t/** store positions for drag inertia */\n\tconst dragPositions = [];\n\n\t/** cache pointer events to handle pinch */\n\tconst pointerCache = new Map();\n\n\t/** tween to control image size */\n\tconst imageDimensions = tweened(calculatedDimensions, defaultTweenOptions(400));\n\n\tcomponent_subscribe($$self, imageDimensions, value => $$invalidate(0, $imageDimensions = value));\n\n\t/** translate transform for pointerDown */\n\tconst zoomDragTranslate = tweened([0, 0], defaultTweenOptions(400));\n\n\tcomponent_subscribe($$self, zoomDragTranslate, value => $$invalidate(6, $zoomDragTranslate = value));\n\n\t/** calculate translate position with bounds */\n\tconst boundTranslateValues = ([x, y], newDimensions = $imageDimensions) => {\n\t\t// image drag translate bounds\n\t\tconst maxTranslateX = (newDimensions[0] - container.w) / 2;\n\n\t\tconst maxTranslateY = (newDimensions[1] - container.h) / 2;\n\n\t\t// x max drag\n\t\tif (maxTranslateX < 0) {\n\t\t\tx = 0;\n\t\t} else if (x > maxTranslateX) {\n\t\t\tif (smallScreen) {\n\t\t\t\t// bound to left side (allow slight over drag)\n\t\t\t\tx = pointerDown\n\t\t\t\t? maxTranslateX + (x - maxTranslateX) / 10\n\t\t\t\t: maxTranslateX;\n\n\t\t\t\t// previous item if dragged past threshold\n\t\t\t\tif (x > maxTranslateX + 20) {\n\t\t\t\t\t// pointerdown = undefined to stop pointermove from running again\n\t\t\t\t\t$$invalidate(4, pointerDown = prev());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tx = maxTranslateX;\n\t\t\t}\n\t\t} else if (x < -maxTranslateX) {\n\t\t\t// bound to right side (allow slight over drag)\n\t\t\tif (smallScreen) {\n\t\t\t\tx = pointerDown\n\t\t\t\t? -maxTranslateX - (-maxTranslateX - x) / 10\n\t\t\t\t: -maxTranslateX;\n\n\t\t\t\t// next item if dragged past threshold\n\t\t\t\tif (x < -maxTranslateX - 20) {\n\t\t\t\t\t// pointerdown = undefined to stop pointermove from running again\n\t\t\t\t\t$$invalidate(4, pointerDown = next());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tx = -maxTranslateX;\n\t\t\t}\n\t\t}\n\n\t\t// y max drag\n\t\tif (maxTranslateY < 0) {\n\t\t\ty = 0;\n\t\t} else if (y > maxTranslateY) {\n\t\t\ty = maxTranslateY;\n\t\t} else if (y < -maxTranslateY) {\n\t\t\ty = -maxTranslateY;\n\t\t}\n\n\t\treturn [x, y];\n\t};\n\n\t/** updates zoom level in or out based on amt value */\n\tconst changeZoom = (e, amt = maxZoom) => {\n\t\tif ($closing) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxWidth = calculatedDimensions[0] * maxZoom;\n\t\tconst [currentImageWidth, currentImageHeight] = $imageDimensions;\n\t\tlet newWidth = currentImageWidth + currentImageWidth * amt;\n\t\tlet newHeight = currentImageHeight + currentImageHeight * amt;\n\n\t\tif (amt > 0) {\n\t\t\tif (newWidth > maxWidth) {\n\t\t\t\t// requesting size large than max zoom\n\t\t\t\tnewWidth = maxWidth;\n\n\t\t\t\tnewHeight = calculatedDimensions[1] * maxZoom;\n\t\t\t}\n\n\t\t\tif (newWidth > naturalWidth) {\n\t\t\t\t// if requesting zoom larger than natural size\n\t\t\t\tnewWidth = naturalWidth;\n\n\t\t\t\tnewHeight = +activeItem.height;\n\t\t\t}\n\t\t} else if (newWidth < calculatedDimensions[0]) {\n\t\t\t// if requesting image smaller than starting size\n\t\t\timageDimensions.set(calculatedDimensions);\n\n\t\t\treturn zoomDragTranslate.set([0, 0]);\n\t\t}\n\n\t\tlet { x, y, width, height } = bpImg.getBoundingClientRect();\n\n\t\t// distance clicked from center of image\n\t\tconst offsetX = e.clientX - x - width / 2;\n\n\t\tconst offsetY = e.clientY - y - height / 2;\n\t\tx = -offsetX * (newWidth / width) + offsetX;\n\t\ty = -offsetY * (newHeight / height) + offsetY;\n\t\tconst newDimensions = [newWidth, newHeight];\n\n\t\t// set new dimensions and update sizes property\n\t\timageDimensions.set(newDimensions).then(() => {\n\t\t\t$$invalidate(1, sizes = Math.round(Math.max(sizes, newWidth)));\n\t\t});\n\n\t\t// update translate value\n\t\tzoomDragTranslate.set(boundTranslateValues([$zoomDragTranslate[0] + x, $zoomDragTranslate[1] + y], newDimensions));\n\t};\n\n\tconst onWheel = e => {\n\t\t// return if scrolling past inline gallery w/ wheel\n\t\tif (opts.inline && !$zoomed) {\n\t\t\treturn;\n\t\t}\n\n\t\t// preventDefault to stop scrolling on zoomed inline image\n\t\te.preventDefault();\n\n\t\t// change zoom on wheel\n\t\tchangeZoom(e, e.deltaY / -300);\n\t};\n\n\t/** on drag start, store initial position and image translate values */\n\tconst onPointerDown = e => {\n\t\t// don't run if right click\n\t\tif (e.button !== 2) {\n\t\t\te.preventDefault();\n\t\t\t$$invalidate(4, pointerDown = true);\n\t\t\tpointerCache.set(e.pointerId, e);\n\t\t\tdragStartX = e.clientX;\n\t\t\tdragStartY = e.clientY;\n\t\t\tdragStartTranslateX = $zoomDragTranslate[0];\n\t\t\tdragStartTranslateY = $zoomDragTranslate[1];\n\t\t}\n\t};\n\n\t/** on drag, update image translate val */\n\tconst onPointerMove = e => {\n\t\tif (pointerCache.size > 1) {\n\t\t\t// if multiple pointer events, pass to handlePinch function\n\t\t\t$$invalidate(4, pointerDown = false);\n\n\t\t\treturn opts.noPinch?.(container.el) || handlePinch(e);\n\t\t}\n\n\t\tif (!pointerDown) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet x = e.clientX;\n\t\tlet y = e.clientY;\n\n\t\t// store positions in dragPositions for inertia\n\t\t// set hasDragged if > 2 pointer move events\n\t\thasDragged = dragPositions.push({ x, y }) > 2;\n\n\t\t// overall drag diff from start location\n\t\tx = x - dragStartX;\n\n\t\ty = y - dragStartY;\n\n\t\t// handle unzoomed left / right / up swipes\n\t\tif (!$zoomed) {\n\t\t\t// close if swipe up\n\t\t\tif (y < -90) {\n\t\t\t\t$$invalidate(4, pointerDown = !opts.noClose && props.close());\n\t\t\t}\n\n\t\t\t// only handle left / right if not swiping vertically\n\t\t\tif (Math.abs(y) < 30) {\n\t\t\t\t// previous if swipe left\n\t\t\t\tif (x > 40) {\n\t\t\t\t\t// pointerdown = undefined to stop pointermove from running again\n\t\t\t\t\t$$invalidate(4, pointerDown = prev());\n\t\t\t\t}\n\n\t\t\t\t// next if swipe right\n\t\t\t\tif (x < -40) {\n\t\t\t\t\t// pointerdown = undefined to stop pointermove from running again\n\t\t\t\t\t$$invalidate(4, pointerDown = next());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// image drag when zoomed\n\t\tif ($zoomed && hasDragged && !$closing) {\n\t\t\tzoomDragTranslate.set(boundTranslateValues([dragStartTranslateX + x, dragStartTranslateY + y]), { duration: 0 });\n\t\t}\n\t};\n\n\tconst handlePinch = e => {\n\t\t// update event in cache and get values\n\t\tconst [p1, p2] = pointerCache.set(e.pointerId, e).values();\n\n\t\t// Calculate the distance between the two pointers\n\t\tconst dx = p1.clientX - p2.clientX;\n\n\t\tconst dy = p1.clientY - p2.clientY;\n\t\tconst curDiff = Math.hypot(dx, dy);\n\n\t\t// cache the original pinch center\n\t\tpinchDetails = pinchDetails || {\n\t\t\tclientX: (p1.clientX + p2.clientX) / 2,\n\t\t\tclientY: (p1.clientY + p2.clientY) / 2\n\t\t};\n\n\t\t// scale image\n\t\tchangeZoom(pinchDetails, ((prevDiff || curDiff) - curDiff) / -35);\n\n\t\t// Cache the distance for the next move event\n\t\tprevDiff = curDiff;\n\t};\n\n\t/** remove event from pointer event cache */\n\tconst removeEventFromCache = e => pointerCache.delete(e.pointerId);\n\n\tfunction onPointerUp(e) {\n\t\tremoveEventFromCache(e);\n\n\t\tif (pinchDetails) {\n\t\t\t// reset prevDiff and clear pointerDown to trigger return below\n\t\t\t$$invalidate(4, pointerDown = prevDiff = 0);\n\n\t\t\t// set pinchDetails to null after last finger lifts\n\t\t\tpinchDetails = pointerCache.size ? pinchDetails : null;\n\t\t}\n\n\t\t// make sure pointer events don't carry over to next image\n\t\tif (!pointerDown) {\n\t\t\treturn;\n\t\t}\n\n\t\t$$invalidate(4, pointerDown = false);\n\n\t\t// close if overlay is clicked\n\t\tif (e.target === this && !opts.noClose) {\n\t\t\treturn props.close();\n\t\t}\n\n\t\t// add drag inertia / snap back to bounds\n\t\tif (hasDragged) {\n\t\t\tconst [posOne, posTwo, posThree] = dragPositions.slice(-3);\n\t\t\tconst xDiff = posTwo.x - posThree.x;\n\t\t\tconst yDiff = posTwo.y - posThree.y;\n\n\t\t\tif (Math.hypot(xDiff, yDiff) > 5) {\n\t\t\t\tzoomDragTranslate.set(boundTranslateValues([\n\t\t\t\t\t$zoomDragTranslate[0] - (posOne.x - posThree.x) * 5,\n\t\t\t\t\t$zoomDragTranslate[1] - (posOne.y - posThree.y) * 5\n\t\t\t\t]));\n\t\t\t}\n\t\t} else if (!opts.onImageClick?.(container.el, activeItem)) {\n\t\t\tchangeZoom(e, $zoomed ? -maxZoom : maxZoom);\n\t\t}\n\n\t\t// reset pointer states\n\t\thasDragged = false;\n\n\t\t// reset dragPositions\n\t\tdragPositions.length = 0;\n\t}\n\n\tconst onMount = node => {\n\t\tbpImg = node;\n\n\t\t// handle globalThis resize\n\t\tprops.setResizeFunc(() => {\n\t\t\t$$invalidate(20, calculatedDimensions = props.calculateDimensions(activeItem));\n\n\t\t\t// adjust image size / zoom on resize, but not on mobile because\n\t\t\t// some browsers (ios safari 15) constantly resize screen on drag\n\t\t\tif (opts.inline || !smallScreen) {\n\t\t\t\timageDimensions.set(calculatedDimensions);\n\t\t\t\tzoomDragTranslate.set([0, 0]);\n\t\t\t}\n\t\t});\n\n\t\t// decode initial image before rendering\n\t\tprops.loadImage(activeItem).then(() => {\n\t\t\t$$invalidate(2, loaded = true);\n\t\t\tprops.preloadNext();\n\t\t});\n\n\t\t// show loading indicator if needed\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\t$$invalidate(3, showLoader = !loaded);\n\t\t\t},\n\t\t\t250\n\t\t);\n\t};\n\n\t$$self.$$set = $$props => {\n\t\t\n\t\tif ('smallScreen' in $$props) $$invalidate(19, smallScreen = $$props.smallScreen);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[0] & /*$imageDimensions, calculatedDimensions*/ 1048577) {\n\t\t\tzoomed.set($imageDimensions[0] - 10 > calculatedDimensions[0]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*$closing, $zoomed, calculatedDimensions*/ 7340032) {\n\t\t\t// if zoomed while closing, zoom out image and add class\n\t\t\t// to change contain value on .bp-wrap to avoid cropping\n\t\t\tif ($closing && $zoomed && !opts.intro) {\n\t\t\t\tconst closeTweenOpts = defaultTweenOptions(480);\n\t\t\t\tzoomDragTranslate.set([0, 0], closeTweenOpts);\n\t\t\t\timageDimensions.set(calculatedDimensions, closeTweenOpts);\n\t\t\t\t$$invalidate(5, closingWhileZoomed = true);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\t$imageDimensions,\n\t\tsizes,\n\t\tloaded,\n\t\tshowLoader,\n\t\tpointerDown,\n\t\tclosingWhileZoomed,\n\t\t$zoomDragTranslate,\n\t\tactiveItem,\n\t\topts,\n\t\tzoomed,\n\t\timageDimensions,\n\t\tzoomDragTranslate,\n\t\tonWheel,\n\t\tonPointerDown,\n\t\tonPointerMove,\n\t\tremoveEventFromCache,\n\t\tonPointerUp,\n\t\tonMount,\n\t\tprops,\n\t\tsmallScreen,\n\t\tcalculatedDimensions,\n\t\t$zoomed,\n\t\t$closing\n\t];\n}\n\nclass Image extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\t\tinit(this, options, instance$3, create_fragment$3, not_equal, { props: 18, smallScreen: 19 }, null, [-1, -1]);\n\t}\n}\n\n/* src/components/iframe.svelte generated by Svelte v3.47.0 */\n\nfunction create_fragment$2(ctx) {\n\tlet div;\n\tlet iframe;\n\tlet loading;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\n\tloading = new Loading({\n\t\t\tprops: {\n\t\t\t\tthumb: /*activeItem*/ ctx[2].thumb,\n\t\t\t\tloaded: /*loaded*/ ctx[0]\n\t\t\t}\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tiframe = element(\"iframe\");\n\t\t\tcreate_component(loading.$$.fragment);\n\t\t\tattr(iframe, \"allow\", \"autoplay; fullscreen\");\n\t\t\tattr(iframe, \"title\", /*activeItem*/ ctx[2].title);\n\t\t\tattr(div, \"class\", \"bp-if\");\n\t\t\tset_style(div, \"width\", /*dimensions*/ ctx[1][0] + \"px\");\n\t\t\tset_style(div, \"height\", /*dimensions*/ ctx[1][1] + \"px\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tappend(div, iframe);\n\t\t\tmount_component(loading, div, null);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\taction_destroyer(/*addSrc*/ ctx[3].call(null, iframe)),\n\t\t\t\t\tlisten(iframe, \"load\", /*load_handler*/ ctx[5])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, [dirty]) {\n\t\t\tconst loading_changes = {};\n\t\t\tif (dirty & /*loaded*/ 1) loading_changes.loaded = /*loaded*/ ctx[0];\n\t\t\tloading.$set(loading_changes);\n\n\t\t\tif (!current || dirty & /*dimensions*/ 2) {\n\t\t\t\tset_style(div, \"width\", /*dimensions*/ ctx[1][0] + \"px\");\n\t\t\t}\n\n\t\t\tif (!current || dirty & /*dimensions*/ 2) {\n\t\t\t\tset_style(div, \"height\", /*dimensions*/ ctx[1][1] + \"px\");\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(loading.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(loading.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tdestroy_component(loading);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance$2($$self, $$props, $$invalidate) {\n\tlet { props } = $$props;\n\tlet loaded, dimensions;\n\tconst { activeItem } = props;\n\tconst setDimensions = () => $$invalidate(1, dimensions = props.calculateDimensions(activeItem));\n\tsetDimensions();\n\tprops.setResizeFunc(setDimensions);\n\n\t// add src ourselves to avoid src_url_equal call (svelte stuff)\n\tconst addSrc = node => node.src = activeItem.iframe;\n\n\tconst load_handler = () => $$invalidate(0, loaded = true);\n\n\t\n\n\treturn [loaded, dimensions, activeItem, addSrc, props, load_handler];\n}\n\nclass Iframe extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\t\tinit(this, options, instance$2, create_fragment$2, not_equal, { props: 4 });\n\t}\n}\n\n/* src/components/video.svelte generated by Svelte v3.47.0 */\n\nfunction create_fragment$1(ctx) {\n\tlet div;\n\tlet loading;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\n\tloading = new Loading({\n\t\t\tprops: {\n\t\t\t\tthumb: /*activeItem*/ ctx[2].thumb,\n\t\t\t\tloaded: /*loaded*/ ctx[0]\n\t\t\t}\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tcreate_component(loading.$$.fragment);\n\t\t\tattr(div, \"class\", \"bp-vid\");\n\t\t\tset_style(div, \"width\", /*dimensions*/ ctx[1][0] + \"px\");\n\t\t\tset_style(div, \"height\", /*dimensions*/ ctx[1][1] + \"px\");\n\t\t\tset_style(div, \"background-image\", \"url(\" + /*activeItem*/ ctx[2].thumb + \")\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tmount_component(loading, div, null);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = action_destroyer(/*onMount*/ ctx[3].call(null, div));\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, [dirty]) {\n\t\t\tconst loading_changes = {};\n\t\t\tif (dirty & /*loaded*/ 1) loading_changes.loaded = /*loaded*/ ctx[0];\n\t\t\tloading.$set(loading_changes);\n\n\t\t\tif (!current || dirty & /*dimensions*/ 2) {\n\t\t\t\tset_style(div, \"width\", /*dimensions*/ ctx[1][0] + \"px\");\n\t\t\t}\n\n\t\t\tif (!current || dirty & /*dimensions*/ 2) {\n\t\t\t\tset_style(div, \"height\", /*dimensions*/ ctx[1][1] + \"px\");\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(loading.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(loading.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tdestroy_component(loading);\n\t\t\tmounted = false;\n\t\t\tdispose();\n\t\t}\n\t};\n}\n\nfunction instance$1($$self, $$props, $$invalidate) {\n\tlet { props } = $$props;\n\tlet loaded, dimensions;\n\tconst { activeItem } = props;\n\tconst setDimensions = () => $$invalidate(1, dimensions = props.calculateDimensions(activeItem));\n\tsetDimensions();\n\tprops.setResizeFunc(setDimensions);\n\n\t/** adds attributes to a node */\n\tconst addAttributes = (node, obj) => {\n\t\tfor (const key in obj) {\n\t\t\tattr(node, key, obj[key]);\n\t\t}\n\t};\n\n\t/** create audo / video element */\n\tconst onMount = node => {\n\t\tlet mediaElement;\n\n\t\t/** takes supplied object and creates elements in video */\n\t\tconst appendToVideo = (tag, arr) => {\n\t\t\tif (!Array.isArray(arr)) {\n\t\t\t\tarr = JSON.parse(arr);\n\t\t\t}\n\n\t\t\tfor (const obj of arr) {\n\t\t\t\t// create media element if it doesn't exist\n\t\t\t\tif (!mediaElement) {\n\t\t\t\t\tmediaElement = element((obj.type?.includes('audio')) ? 'audio' : 'video');\n\n\t\t\t\t\taddAttributes(mediaElement, {\n\t\t\t\t\t\tcontrols: true,\n\t\t\t\t\t\tautoplay: true,\n\t\t\t\t\t\tplaysinline: true,\n\t\t\t\t\t\ttabindex: '0'\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// add sources / tracks to media element\n\t\t\t\tconst el = element(tag);\n\n\t\t\t\taddAttributes(el, obj);\n\t\t\t\tappend(mediaElement, el);\n\t\t\t}\n\t\t};\n\n\t\tappendToVideo('source', activeItem.sources);\n\t\tappendToVideo('track', activeItem.tracks || []);\n\t\tlisten(mediaElement, 'canplay', () => $$invalidate(0, loaded = true));\n\t\tappend(node, mediaElement);\n\t};\n\n\t\n\n\treturn [loaded, dimensions, activeItem, onMount, props];\n}\n\nclass Video extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\t\tinit(this, options, instance$1, create_fragment$1, not_equal, { props: 4 });\n\t}\n}\n\n/* src/bigger-picture.svelte generated by Svelte v3.47.0 */\n\nfunction create_if_block(ctx) {\n\tlet div2;\n\tlet div0;\n\tlet div0_outro;\n\tlet previous_key = /*activeItem*/ ctx[6].i;\n\tlet div1;\n\tlet button;\n\tlet div1_outro;\n\tlet containerActions_action;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\tlet key_block = create_key_block(ctx);\n\tlet if_block = /*items*/ ctx[0].length > 1 && create_if_block_1(ctx);\n\n\treturn {\n\t\tc() {\n\t\t\tdiv2 = element(\"div\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tkey_block.c();\n\t\t\tdiv1 = element(\"div\");\n\t\t\tbutton = element(\"button\");\n\t\t\tif (if_block) if_block.c();\n\t\t\tattr(button, \"class\", \"bp-x\");\n\t\t\tattr(button, \"title\", \"Close\");\n\t\t\tattr(button, \"aria-label\", \"Close\");\n\t\t\tattr(div1, \"class\", \"bp-controls\");\n\t\t\tattr(div2, \"class\", \"bp-wrap\");\n\t\t\ttoggle_class(div2, \"bp-zoomed\", /*$zoomed*/ ctx[10]);\n\t\t\ttoggle_class(div2, \"bp-inline\", /*inline*/ ctx[8]);\n\t\t\ttoggle_class(div2, \"bp-small\", /*smallScreen*/ ctx[7]);\n\t\t\ttoggle_class(div2, \"bp-noclose\", /*opts*/ ctx[5].noClose);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div2, anchor);\n\t\t\tappend(div2, div0);\n\t\t\tkey_block.m(div2, null);\n\t\t\tappend(div2, div1);\n\t\t\tappend(div1, button);\n\t\t\tif (if_block) if_block.m(div1, null);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(button, \"click\", /*close*/ ctx[1]),\n\t\t\t\t\taction_destroyer(containerActions_action = /*containerActions*/ ctx[14].call(null, div2))\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*activeItem*/ 64 && not_equal(previous_key, previous_key = /*activeItem*/ ctx[6].i)) {\n\t\t\t\tgroup_outros();\n\t\t\t\ttransition_out(key_block, 1, 1, noop);\n\t\t\t\tcheck_outros();\n\t\t\t\tkey_block = create_key_block(ctx);\n\t\t\t\tkey_block.c();\n\t\t\t\ttransition_in(key_block);\n\t\t\t\tkey_block.m(div2, div1);\n\t\t\t} else {\n\t\t\t\tkey_block.p(ctx, dirty);\n\t\t\t}\n\n\t\t\tif (/*items*/ ctx[0].length > 1) {\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t\t} else {\n\t\t\t\t\tif_block = create_if_block_1(ctx);\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(div1, null);\n\t\t\t\t}\n\t\t\t} else if (if_block) {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = null;\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*$zoomed*/ 1024) {\n\t\t\t\ttoggle_class(div2, \"bp-zoomed\", /*$zoomed*/ ctx[10]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*inline*/ 256) {\n\t\t\t\ttoggle_class(div2, \"bp-inline\", /*inline*/ ctx[8]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*smallScreen*/ 128) {\n\t\t\t\ttoggle_class(div2, \"bp-small\", /*smallScreen*/ ctx[7]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*opts*/ 32) {\n\t\t\t\ttoggle_class(div2, \"bp-noclose\", /*opts*/ ctx[5].noClose);\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\tif (div0_outro) div0_outro.end(1);\n\t\t\ttransition_in(key_block);\n\t\t\tif (div1_outro) div1_outro.end(1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\tdiv0_outro = create_out_transition(div0, fly, { duration: 480 });\n\t\t\ttransition_out(key_block);\n\t\t\tdiv1_outro = create_out_transition(div1, fly, {});\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div2);\n\t\t\tif (detaching && div0_outro) div0_outro.end();\n\t\t\tkey_block.d(detaching);\n\t\t\tif (if_block) if_block.d();\n\t\t\tif (detaching && div1_outro) div1_outro.end();\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\n// (319:199) {:else}\nfunction create_else_block(ctx) {\n\tlet div;\n\tlet raw_value = /*activeItem*/ ctx[6].html + \"\";\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tattr(div, \"class\", \"bp-html\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tdiv.innerHTML = raw_value;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*activeItem*/ 64 && raw_value !== (raw_value = /*activeItem*/ ctx[6].html + \"\")) div.innerHTML = raw_value;\t\t},\n\t\ti: noop,\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\n// (319:165) \nfunction create_if_block_5(ctx) {\n\tlet iframe;\n\tlet current;\n\n\tiframe = new Iframe({\n\t\t\tprops: { props: /*getChildProps*/ ctx[13]() }\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tcreate_component(iframe.$$.fragment);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tmount_component(iframe, target, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp: noop,\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(iframe.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(iframe.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tdestroy_component(iframe, detaching);\n\t\t}\n\t};\n}\n\n// (319:104) \nfunction create_if_block_4(ctx) {\n\tlet video;\n\tlet current;\n\n\tvideo = new Video({\n\t\t\tprops: { props: /*getChildProps*/ ctx[13]() }\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tcreate_component(video.$$.fragment);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tmount_component(video, target, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp: noop,\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(video.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(video.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tdestroy_component(video, detaching);\n\t\t}\n\t};\n}\n\n// (319:4) {#if activeItem.img}\nfunction create_if_block_3(ctx) {\n\tlet imageitem;\n\tlet current;\n\n\timageitem = new Image({\n\t\t\tprops: {\n\t\t\t\tprops: /*getChildProps*/ ctx[13](),\n\t\t\t\tsmallScreen: /*smallScreen*/ ctx[7]\n\t\t\t}\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tcreate_component(imageitem.$$.fragment);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tmount_component(imageitem, target, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tconst imageitem_changes = {};\n\t\t\tif (dirty[0] & /*smallScreen*/ 128) imageitem_changes.smallScreen = /*smallScreen*/ ctx[7];\n\t\t\timageitem.$set(imageitem_changes);\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(imageitem.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(imageitem.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tdestroy_component(imageitem, detaching);\n\t\t}\n\t};\n}\n\n// (319:267) {#if activeItem.caption}\nfunction create_if_block_2(ctx) {\n\tlet div;\n\tlet raw_value = /*activeItem*/ ctx[6].caption + \"\";\n\tlet div_outro;\n\tlet current;\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tattr(div, \"class\", \"bp-cap\");\n\t\t\tattr(div, \"tabindex\", \"0\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tdiv.innerHTML = raw_value;\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif ((!current || dirty[0] & /*activeItem*/ 64) && raw_value !== (raw_value = /*activeItem*/ ctx[6].caption + \"\")) div.innerHTML = raw_value;\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\tif (div_outro) div_outro.end(1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\tdiv_outro = create_out_transition(div, fly, { duration: 200 });\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tif (detaching && div_outro) div_outro.end();\n\t\t}\n\t};\n}\n\n// (308:37) {#key activeItem.i}\nfunction create_key_block(ctx) {\n\tlet div;\n\tlet current_block_type_index;\n\tlet if_block0;\n\tlet div_intro;\n\tlet div_outro;\n\tlet if_block1_anchor;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\tconst if_block_creators = [create_if_block_3, create_if_block_4, create_if_block_5, create_else_block];\n\tconst if_blocks = [];\n\n\tfunction select_block_type(ctx, dirty) {\n\t\tif (/*activeItem*/ ctx[6].img) return 0;\n\t\tif (/*activeItem*/ ctx[6].sources) return 1;\n\t\tif (/*activeItem*/ ctx[6].iframe) return 2;\n\t\treturn 3;\n\t}\n\n\tcurrent_block_type_index = select_block_type(ctx);\n\tif_block0 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);\n\tlet if_block1 = /*activeItem*/ ctx[6].caption && create_if_block_2(ctx);\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tif_block0.c();\n\t\t\tif (if_block1) if_block1.c();\n\t\t\tif_block1_anchor = empty();\n\t\t\tattr(div, \"class\", \"bp-inner\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tif_blocks[current_block_type_index].m(div, null);\n\t\t\tif (if_block1) if_block1.m(target, anchor);\n\t\t\tinsert(target, if_block1_anchor, anchor);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(div, \"pointerdown\", /*pointerdown_handler*/ ctx[21]),\n\t\t\t\t\tlisten(div, \"pointerup\", /*pointerup_handler*/ ctx[22])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tlet previous_block_index = current_block_type_index;\n\t\t\tcurrent_block_type_index = select_block_type(ctx);\n\n\t\t\tif (current_block_type_index === previous_block_index) {\n\t\t\t\tif_blocks[current_block_type_index].p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_blocks[previous_block_index], 1, 1, () => {\n\t\t\t\t\tif_blocks[previous_block_index] = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t\tif_block0 = if_blocks[current_block_type_index];\n\n\t\t\t\tif (!if_block0) {\n\t\t\t\t\tif_block0 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);\n\t\t\t\t\tif_block0.c();\n\t\t\t\t} else {\n\t\t\t\t\tif_block0.p(ctx, dirty);\n\t\t\t\t}\n\n\t\t\t\ttransition_in(if_block0, 1);\n\t\t\t\tif_block0.m(div, null);\n\t\t\t}\n\n\t\t\tif (/*activeItem*/ ctx[6].caption) {\n\t\t\t\tif (if_block1) {\n\t\t\t\t\tif_block1.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty[0] & /*activeItem*/ 64) {\n\t\t\t\t\t\ttransition_in(if_block1, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block1 = create_if_block_2(ctx);\n\t\t\t\t\tif_block1.c();\n\t\t\t\t\ttransition_in(if_block1, 1);\n\t\t\t\t\tif_block1.m(if_block1_anchor.parentNode, if_block1_anchor);\n\t\t\t\t}\n\t\t\t} else if (if_block1) {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_block1, 1, 1, () => {\n\t\t\t\t\tif_block1 = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(if_block0);\n\n\t\t\tadd_render_callback(() => {\n\t\t\t\tif (div_outro) div_outro.end(1);\n\t\t\t\tdiv_intro = create_in_transition(div, /*mediaTransition*/ ctx[12], true);\n\t\t\t\tdiv_intro.start();\n\t\t\t});\n\n\t\t\ttransition_in(if_block1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(if_block0);\n\t\t\tif (div_intro) div_intro.invalidate();\n\t\t\tdiv_outro = create_out_transition(div, /*mediaTransition*/ ctx[12], false);\n\t\t\ttransition_out(if_block1);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tif_blocks[current_block_type_index].d();\n\t\t\tif (detaching && div_outro) div_outro.end();\n\t\t\tif (if_block1) if_block1.d(detaching);\n\t\t\tif (detaching) detach(if_block1_anchor);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\n// (319:522) {#if items.length > 1}\nfunction create_if_block_1(ctx) {\n\tlet div;\n\tlet raw_value = `${/*position*/ ctx[4] + 1} / ${/*items*/ ctx[0].length}` + \"\";\n\tlet button0;\n\tlet button1;\n\tlet mounted;\n\tlet dispose;\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tbutton0 = element(\"button\");\n\t\t\tbutton1 = element(\"button\");\n\t\t\tattr(div, \"class\", \"bp-count\");\n\t\t\tattr(button0, \"class\", \"bp-prev\");\n\t\t\tattr(button0, \"title\", \"Previous\");\n\t\t\tattr(button0, \"aria-label\", \"Previous\");\n\t\t\tattr(button1, \"class\", \"bp-next\");\n\t\t\tattr(button1, \"title\", \"Next\");\n\t\t\tattr(button1, \"aria-label\", \"Next\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tdiv.innerHTML = raw_value;\n\t\t\tinsert(target, button0, anchor);\n\t\t\tinsert(target, button1, anchor);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(button0, \"click\", /*prev*/ ctx[2]),\n\t\t\t\t\tlisten(button1, \"click\", /*next*/ ctx[3])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*position, items*/ 17 && raw_value !== (raw_value = `${/*position*/ ctx[4] + 1} / ${/*items*/ ctx[0].length}` + \"\")) div.innerHTML = raw_value;\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tif (detaching) detach(button0);\n\t\t\tif (detaching) detach(button1);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction create_fragment(ctx) {\n\tlet if_block_anchor;\n\tlet current;\n\tlet if_block = /*items*/ ctx[0] && create_if_block(ctx);\n\n\treturn {\n\t\tc() {\n\t\t\tif (if_block) if_block.c();\n\t\t\tif_block_anchor = empty();\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tif (if_block) if_block.m(target, anchor);\n\t\t\tinsert(target, if_block_anchor, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (/*items*/ ctx[0]) {\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty[0] & /*items*/ 1) {\n\t\t\t\t\t\ttransition_in(if_block, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block = create_if_block(ctx);\n\t\t\t\t\tif_block.c();\n\t\t\t\t\ttransition_in(if_block, 1);\n\t\t\t\t\tif_block.m(if_block_anchor.parentNode, if_block_anchor);\n\t\t\t\t}\n\t\t\t} else if (if_block) {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_block, 1, 1, () => {\n\t\t\t\t\tif_block = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(if_block);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(if_block);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (if_block) if_block.d(detaching);\n\t\t\tif (detaching) detach(if_block_anchor);\n\t\t}\n\t};\n}\n\nfunction instance($$self, $$props, $$invalidate) {\n\tlet $zoomed;\n\tlet { items = undefined } = $$props;\n\tlet { target = undefined } = $$props;\n\tconst html = document.documentElement;\n\n\t/** index of current active item */\n\tlet position;\n\n\t/** options passed via open method */\n\tlet opts;\n\n\t/** bool tracks open state */\n\tlet isOpen;\n\n\t/** dom element to restore focus to on close */\n\tlet focusTrigger;\n\n\t/** bool true if container width < 769 */\n\tlet smallScreen;\n\n\t/** bool value of inline option passed in open method */\n\tlet inline;\n\n\t/** when position is set */\n\tlet movement;\n\n\t/** stores target on pointerdown (ref for overlay close) */\n\tlet clickedEl;\n\n\t/** active item object */\n\tlet activeItem;\n\n\t/** true if activeItem is html */\n\tlet activeItemIsHtml;\n\n\t/** function set by child component to run when container resized */\n\tlet resizeFunc;\n\n\t/** used by child components to set resize function */\n\tconst setResizeFunc = fn => resizeFunc = fn;\n\n\t/** container element (el) / width (w) / height (h) */\n\tconst container = {};\n\n\t// /** true if image is currently zoomed past starting size */\n\tconst zoomed = writable(0);\n\n\tcomponent_subscribe($$self, zoomed, value => $$invalidate(10, $zoomed = value));\n\n\tconst open = options => {\n\t\t$$invalidate(5, opts = options);\n\t\t$$invalidate(8, inline = opts.inline);\n\t\tconst openItems = opts.items;\n\n\t\t// add class to hide scroll if not inline gallery\n\t\tif (!inline && html.scrollHeight > html.clientHeight) {\n\t\t\thtml.classList.add('bp-lock');\n\t\t}\n\n\t\t// update trigger element to restore focus\n\t\tfocusTrigger = document.activeElement;\n\n\t\t$$invalidate(20, container.w = target.offsetWidth, container);\n\n\t\t$$invalidate(\n\t\t\t20,\n\t\t\tcontainer.h = target === document.body\n\t\t\t? globalThis.innerHeight\n\t\t\t: target.clientHeight,\n\t\t\tcontainer\n\t\t);\n\n\t\t$$invalidate(7, smallScreen = container.w < 769);\n\t\t$$invalidate(4, position = opts.position || 0);\n\n\t\t// make array w/ dataset to work with\n\t\tif (Array.isArray(openItems)) {\n\t\t\t// array was passed\n\t\t\t$$invalidate(0, items = openItems.map((item, i) => {\n\t\t\t\t// override gallery position if needed\n\t\t\t\tif (opts.el && opts.el === item.element) {\n\t\t\t\t\t$$invalidate(4, position = i);\n\t\t\t\t}\n\n\t\t\t\treturn { i, ...item };\n\t\t\t}));\n\t\t} else {\n\t\t\t// nodelist / node was passed\n\t\t\t$$invalidate(0, items = (openItems.length ? [...openItems] : [openItems]).map((element, i) => {\n\t\t\t\t// override gallery position if needed\n\t\t\t\tif (opts.el === element) {\n\t\t\t\t\t$$invalidate(4, position = i);\n\t\t\t\t}\n\n\t\t\t\treturn { element, i, ...element.dataset };\n\t\t\t}));\n\t\t}\n\t};\n\n\tconst close = () => {\n\t\topts.onClose?.(container.el, activeItem);\n\t\tclosing.set(true);\n\t\t$$invalidate(0, items = null);\n\n\t\t// restore focus to trigger element\n\t\tfocusTrigger?.focus({ preventScroll: true });\n\t};\n\n\tconst prev = () => setPosition(position - 1);\n\tconst next = () => setPosition(position + 1);\n\n\tconst setPosition = index => {\n\t\tmovement = index - position;\n\t\t$$invalidate(4, position = getNextPosition(index));\n\t};\n\n\t/**\n * returns next gallery position (looped if neccessary)\n * @param {number} index\n */\n\tconst getNextPosition = index => (index + items.length) % items.length;\n\n\tconst onKeydown = e => {\n\t\tconst { key, shiftKey } = e;\n\n\t\tif (key === 'Escape') {\n\t\t\t!opts.noClose && close();\n\t\t} else if (key === 'ArrowRight') {\n\t\t\tnext();\n\t\t} else if (key === 'ArrowLeft') {\n\t\t\tprev();\n\t\t} else if (key === 'Tab') {\n\t\t\t// trap focus on tab press\n\t\t\tconst { activeElement } = document;\n\n\t\t\t// allow browser to handle tab into video controls only\n\t\t\tif (shiftKey || !activeElement.controls) {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst { focusWrap = container.el } = opts;\n\t\t\t\tconst tabbable = [...focusWrap.querySelectorAll('*')].filter(node => node.tabIndex >= 0);\n\t\t\t\tlet index = tabbable.indexOf(activeElement);\n\t\t\t\tindex += tabbable.length + (shiftKey ? -1 : 1);\n\t\t\t\ttabbable[index % tabbable.length].focus();\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n * calculate dimensions of height / width resized to fit within container\n * @param {object} item object with height / width properties\n * @returns {Array} [width: number, height: number]\n */\n\tconst calculateDimensions = ({ width = 1920, height = 1080 }) => {\n\t\tconst { scale = 0.99 } = opts;\n\t\tconst ratio = Math.min(1, container.w / width * scale, container.h / height * scale);\n\n\t\t// round number so we don't use a float as the sizes attribute\n\t\treturn [Math.round(width * ratio), Math.round(height * ratio)];\n\t};\n\n\t/** preloads images for previous and next items in gallery */\n\tconst preloadNext = () => {\n\t\tif (items) {\n\t\t\tconst nextItem = items[getNextPosition(position + 1)];\n\t\t\tconst prevItem = items[getNextPosition(position - 1)];\n\t\t\t!nextItem.preload && loadImage(nextItem);\n\t\t\t!prevItem.preload && loadImage(prevItem);\n\t\t}\n\t};\n\n\t/** loads / decodes image for item */\n\tconst loadImage = item => {\n\t\tif (item.img) {\n\t\t\tconst image = element('img');\n\t\t\timage.sizes = opts.sizes || `${calculateDimensions(item)[0]}px`;\n\t\t\timage.srcset = item.img;\n\t\t\titem.preload = true;\n\t\t\treturn image.decode();\n\t\t}\n\t};\n\n\t/** svelte transition to control opening / changing */\n\tconst mediaTransition = (node, isEntering) => {\n\t\tif (!isOpen || !items) {\n\t\t\t// entrance / exit transition\n\t\t\t$$invalidate(18, isOpen = isEntering);\n\n\t\t\treturn opts.intro\n\t\t\t? fly(node, { y: isEntering ? 10 : -10 })\n\t\t\t: scaleIn(node);\n\t\t}\n\n\t\t// forward / backward transition\n\t\treturn fly(node, {\n\t\t\tx: (movement > 0 ? 20 : -20) * (isEntering ? 1 : -1),\n\t\t\tduration: 250\n\t\t});\n\t};\n\n\t/** custom svelte transition for entrance zoom */\n\tconst scaleIn = node => {\n\t\tlet dimensions;\n\n\t\tif (activeItemIsHtml) {\n\t\t\tconst bpItem = node.firstChild.firstChild;\n\t\t\tdimensions = [bpItem.clientWidth, bpItem.clientHeight];\n\t\t} else {\n\t\t\tdimensions = calculateDimensions(activeItem);\n\t\t}\n\n\t\t// rect is bounding rect of trigger element\n\t\tconst rect = (activeItem.element || focusTrigger).getBoundingClientRect();\n\n\t\tconst leftOffset = rect.left - (container.w - rect.width) / 2;\n\t\tconst centerTop = rect.top - (container.h - rect.height) / 2;\n\t\tconst scaleWidth = rect.width / dimensions[0];\n\t\tconst scaleHeight = rect.height / dimensions[1];\n\n\t\treturn {\n\t\t\tduration: 480,\n\t\t\teasing: cubicOut,\n\t\t\tcss: (t, u) => {\n\t\t\t\treturn `transform:translate3d(${leftOffset * u}px, ${centerTop * u}px, 0) scale3d(${scaleWidth + t * (1 - scaleWidth)}, ${scaleHeight + t * (1 - scaleHeight)}, 1)`;\n\t\t\t}\n\t\t};\n\t};\n\n\t/** provides object w/ needed funcs / data to child components */\n\tconst getChildProps = () => ({\n\t\tactiveItem,\n\t\tcalculateDimensions,\n\t\tloadImage,\n\t\tpreloadNext,\n\t\topts,\n\t\tprev,\n\t\tnext,\n\t\tclose,\n\t\tsetResizeFunc,\n\t\tzoomed,\n\t\tcontainer\n\t});\n\n\t/** code to run on mount / destroy */\n\tconst containerActions = node => {\n\t\t$$invalidate(20, container.el = node, container);\n\t\tlet removeKeydownListener;\n\t\tlet roActive;\n\t\topts.onOpen?.(container.el, activeItem);\n\n\t\t// don't use keyboard events for inline galleries\n\t\tif (!inline) {\n\t\t\tremoveKeydownListener = listen(globalThis, 'keydown', onKeydown);\n\t\t}\n\n\t\t// set up resize observer\n\t\tconst ro = new ResizeObserver(entries => {\n\t\t\t\t// use roActive to avoid running on initial open\n\t\t\t\tif (roActive) {\n\t\t\t\t\t$$invalidate(20, container.w = entries[0].contentRect.width, container);\n\t\t\t\t\t$$invalidate(20, container.h = entries[0].contentRect.height, container);\n\t\t\t\t\t$$invalidate(7, smallScreen = container.w < 769);\n\n\t\t\t\t\t// run child component resize function\n\t\t\t\t\tresizeFunc?.();\n\n\t\t\t\t\t// run user defined onResize function\n\t\t\t\t\topts.onResize?.(container.el, activeItem);\n\t\t\t\t}\n\n\t\t\t\troActive = true;\n\t\t\t});\n\n\t\tro.observe(node);\n\n\t\treturn {\n\t\t\tdestroy() {\n\t\t\t\tro.disconnect();\n\t\t\t\tremoveKeydownListener?.();\n\t\t\t\tclosing.set(false);\n\n\t\t\t\t// remove class hiding scroll\n\t\t\t\thtml.classList.remove('bp-lock');\n\n\t\t\t\topts.onClosed?.();\n\t\t\t}\n\t\t};\n\t};\n\n\tconst pointerdown_handler = e => $$invalidate(9, clickedEl = e.target);\n\n\tconst pointerup_handler = function (e) {\n\t\t// only close if left click on self and not dragged\n\t\tif (e.button !== 2 && e.target === this && clickedEl === this) {\n\t\t\t!opts.noClose && close();\n\t\t}\n\t};\n\n\t$$self.$$set = $$props => {\n\t\tif ('items' in $$props) $$invalidate(0, items = $$props.items);\n\t\tif ('target' in $$props) $$invalidate(15, target = $$props.target);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[0] & /*items, position, activeItem, isOpen, activeItemIsHtml, opts, container*/ 1835121) {\n\t\t\tif (items) {\n\t\t\t\t// update active item when position changes\n\t\t\t\t$$invalidate(6, activeItem = items[position]);\n\n\t\t\t\t$$invalidate(19, activeItemIsHtml = activeItem.hasOwnProperty('html'));\n\n\t\t\t\tif (isOpen) {\n\t\t\t\t\t// clear child resize function if html\n\t\t\t\t\tactiveItemIsHtml && setResizeFunc(null);\n\n\t\t\t\t\t// run onUpdate when items updated\n\t\t\t\t\topts.onUpdate?.(container.el, activeItem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\titems,\n\t\tclose,\n\t\tprev,\n\t\tnext,\n\t\tposition,\n\t\topts,\n\t\tactiveItem,\n\t\tsmallScreen,\n\t\tinline,\n\t\tclickedEl,\n\t\t$zoomed,\n\t\tzoomed,\n\t\tmediaTransition,\n\t\tgetChildProps,\n\t\tcontainerActions,\n\t\ttarget,\n\t\topen,\n\t\tsetPosition,\n\t\tisOpen,\n\t\tactiveItemIsHtml,\n\t\tcontainer,\n\t\tpointerdown_handler,\n\t\tpointerup_handler\n\t];\n}\n\nclass Bigger_picture extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\n\t\tinit(\n\t\t\tthis,\n\t\t\toptions,\n\t\t\tinstance,\n\t\t\tcreate_fragment,\n\t\t\tnot_equal,\n\t\t\t{\n\t\t\t\titems: 0,\n\t\t\t\ttarget: 15,\n\t\t\t\topen: 16,\n\t\t\t\tclose: 1,\n\t\t\t\tprev: 2,\n\t\t\t\tnext: 3,\n\t\t\t\tsetPosition: 17\n\t\t\t},\n\t\t\tnull,\n\t\t\t[-1, -1]\n\t\t);\n\t}\n\n\tget items() {\n\t\treturn this.$$.ctx[0];\n\t}\n\n\n\n\tget target() {\n\t\treturn this.$$.ctx[15];\n\t}\n\n\n\n\tget open() {\n\t\treturn this.$$.ctx[16];\n\t}\n\n\tget close() {\n\t\treturn this.$$.ctx[1];\n\t}\n\n\tget prev() {\n\t\treturn this.$$.ctx[2];\n\t}\n\n\tget next() {\n\t\treturn this.$$.ctx[3];\n\t}\n\n\tget setPosition() {\n\t\treturn this.$$.ctx[17];\n\t}\n}\n\n/**\n * Initializes BiggerPicture\n * @param {{target: HTMLElement}} options\n * @returns BiggerPicture instance\n */\nfunction biggerPicture (options) {\n\treturn new Bigger_picture({\n\t\t...options,\n\t\tprops: options,\n\t})\n}\n\nexport { biggerPicture as default };\n"],"names":["BiggerPicture","Constants","bp","target","document","body","BiggerPictureService","constructor","openBiggerPicture","ev","imageUrl","preventDefault","imgObj","getImageInfo","open","items","intro","error","alert","factory","providedIn","operate","createOperatorSubscriber","innerFrom","identity","noop","popResultSelector","withLatestFrom","inputs","project","source","subscriber","len","length","otherValues","Array","hasValue","map","ready","i","subscribe","value","every","values","next","x","assign","tar","src","k","run","fn","run_all","fns","forEach","is_function","thing","not_equal","a","b","is_empty","obj","Object","keys","store","callbacks","unsub","unsubscribe","component_subscribe","component","callback","$$","on_destroy","push","action_destroyer","action_result","destroy","now","globalThis","performance","raf","cb","requestAnimationFrame","tasks","Set","run_tasks","task","c","delete","f","size","loop","promise","Promise","fulfill","add","abort","append","node","appendChild","insert","anchor","insertBefore","detach","parentNode","removeChild","element","name","createElement","text","data","createTextNode","empty","listen","event","handler","options","addEventListener","removeEventListener","attr","attribute","removeAttribute","getAttribute","setAttribute","set_style","key","important","style","removeProperty","setProperty","toggle_class","toggle","classList","custom_event","type","detail","bubbles","e","createEvent","initCustomEvent","stylesheet","active","current_rules","create_rule","duration","delay","ease","uid","step","keyframes","p","t","rule","Math","round","random","head","sheet","insertRule","cssRules","animation","delete_rule","split","filter","anim","indexOf","join","clear_rules","deleteRule","current_component","set_current_component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","resolve","update_scheduled","schedule_update","then","flush","add_render_callback","seen_callbacks","flushidx","saved_component","update","pop","has","clear","fragment","before_update","dirty","ctx","after_update","wait","dispatch","direction","kind","dispatchEvent","outroing","outros","group_outros","r","check_outros","transition_in","block","local","transition_out","o","d","null_transition","create_in_transition","params","config","running","animation_name","cleanup","go","easing","tick","css","start_time","end_time","started","start","invalidate","end","create_out_transition","group","reset","create_component","mount_component","customElement","on_mount","m","new_on_destroy","destroy_component","detaching","make_dirty","fill","init","instance","create_fragment","props","append_styles","parent_component","bound","on_disconnect","context","Map","skip_bound","root","ret","rest","SvelteComponent","$destroy","$on","index","splice","$set","$$props","$$set","cubicOut","fly","y","opacity","getComputedStyle","target_opacity","transform","od","u","subscriber_queue","writable","stop","subscribers","set","new_value","run_queue","get_interpolator","isArray","arr","bi","delta","tweened","defaults","target_value","opts","previous_task","interpolate","elapsed","closing","prefersReducedMotion","matchMedia","matches","defaultTweenOptions","create_if_block$2","div","div_intro","div_outro","current","if_block","create_if_block_1$2","new_ctx","span0","span1","create_fragment$4","if_block_anchor","instance$4","$$self","$$invalidate","$closing","$$value","thumb","loaded","Loading","create_if_block_1$1","img","img_srcset_value","img_sizes_value","img_alt_value","img_outro","sizes","alt","create_if_block$1","loading","loading_changes","create_fragment$3","div1","div0","if_block0_anchor","mounted","dispose","if_block0","if_block1","call","instance$3","$zoomed","$zoomDragTranslate","$imageDimensions","smallScreen","activeItem","prev","zoomed","container","maxZoom","calculatedDimensions","calculateDimensions","showLoader","pinchDetails","bpImg","prevDiff","pointerDown","hasDragged","dragStartX","dragStartY","dragStartTranslateX","dragStartTranslateY","closingWhileZoomed","naturalWidth","width","dragPositions","pointerCache","imageDimensions","zoomDragTranslate","boundTranslateValues","newDimensions","maxTranslateX","w","maxTranslateY","h","changeZoom","amt","maxWidth","currentImageWidth","currentImageHeight","newWidth","newHeight","height","getBoundingClientRect","offsetX","clientX","offsetY","clientY","max","onWheel","inline","deltaY","onPointerDown","button","pointerId","onPointerMove","noPinch","el","handlePinch","noClose","close","abs","p1","p2","dx","dy","curDiff","hypot","removeEventFromCache","onPointerUp","posOne","posTwo","posThree","slice","xDiff","yDiff","onImageClick","onMount","setResizeFunc","loadImage","preloadNext","setTimeout","closeTweenOpts","Image","create_fragment$2","iframe","title","instance$2","dimensions","setDimensions","addSrc","load_handler","Iframe","create_fragment$1","instance$1","addAttributes","mediaElement","appendToVideo","tag","JSON","parse","includes","controls","autoplay","playsinline","tabindex","sources","tracks","Video","create_if_block","div2","div0_outro","previous_key","div1_outro","containerActions_action","key_block","create_key_block","create_if_block_1","create_else_block","raw_value","html","innerHTML","create_if_block_5","create_if_block_4","video","create_if_block_3","imageitem","imageitem_changes","create_if_block_2","caption","current_block_type_index","if_block1_anchor","if_block_creators","if_blocks","select_block_type","previous_block_index","button0","button1","undefined","documentElement","position","isOpen","focusTrigger","movement","clickedEl","activeItemIsHtml","resizeFunc","openItems","scrollHeight","clientHeight","activeElement","offsetWidth","innerHeight","item","dataset","onClose","focus","preventScroll","setPosition","getNextPosition","onKeydown","shiftKey","focusWrap","tabbable","querySelectorAll","tabIndex","scale","ratio","min","nextItem","prevItem","preload","image","srcset","decode","mediaTransition","isEntering","scaleIn","bpItem","firstChild","clientWidth","rect","leftOffset","left","centerTop","top","scaleWidth","scaleHeight","getChildProps","containerActions","removeKeydownListener","roActive","onOpen","ro","ResizeObserver","entries","contentRect","onResize","observe","disconnect","remove","onClosed","pointerdown_handler","pointerup_handler","hasOwnProperty","onUpdate","Bigger_picture","biggerPicture","default"],"sourceRoot":"webpack:///"}