@prefecthq/prefect-ui-library 2.1.2 → 2.1.3

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 (301) hide show
  1. package/dist/{FlowRunsPageWithDefaultFilter-0469aea4.mjs → FlowRunsPageWithDefaultFilter-ac42a53a.mjs} +2 -2
  2. package/dist/{FlowRunsPageWithDefaultFilter-0469aea4.mjs.map → FlowRunsPageWithDefaultFilter-ac42a53a.mjs.map} +1 -1
  3. package/dist/{index-0c751607.mjs → index-0a299f59.mjs} +8089 -7966
  4. package/dist/index-0a299f59.mjs.map +1 -0
  5. package/dist/prefect-ui-library.mjs +1 -1
  6. package/dist/prefect-ui-library.umd.js +71 -71
  7. package/dist/prefect-ui-library.umd.js.map +1 -1
  8. package/dist/style.css +1 -1
  9. package/dist/types/demo/components/ComponentPage.vue.d.ts +18 -23
  10. package/dist/types/demo/components/HashLink.vue.d.ts +14 -9
  11. package/dist/types/src/components/ActivityChart.vue.d.ts +19 -34
  12. package/dist/types/src/components/ArtifactCard.vue.d.ts +18 -23
  13. package/dist/types/src/components/ArtifactDataMarkdown.vue.d.ts +13 -10
  14. package/dist/types/src/components/ArtifactDataRaw.vue.d.ts +13 -10
  15. package/dist/types/src/components/ArtifactDataResult.vue.d.ts +13 -10
  16. package/dist/types/src/components/ArtifactDataTable.vue.d.ts +13 -10
  17. package/dist/types/src/components/ArtifactDataUnknown.vue.d.ts +13 -10
  18. package/dist/types/src/components/ArtifactDataView.vue.d.ts +13 -10
  19. package/dist/types/src/components/ArtifactDescription.vue.d.ts +13 -10
  20. package/dist/types/src/components/ArtifactDetails.vue.d.ts +15 -16
  21. package/dist/types/src/components/ArtifactKeyIconText.vue.d.ts +13 -10
  22. package/dist/types/src/components/ArtifactMenu.vue.d.ts +14 -11
  23. package/dist/types/src/components/ArtifactResultCard.vue.d.ts +15 -16
  24. package/dist/types/src/components/ArtifactTimeline.vue.d.ts +13 -10
  25. package/dist/types/src/components/ArtifactTimelineItemContent.vue.d.ts +19 -24
  26. package/dist/types/src/components/ArtifactTimelineItemDate.vue.d.ts +15 -16
  27. package/dist/types/src/components/ArtifactTypeSelect.vue.d.ts +15 -12
  28. package/dist/types/src/components/BlockCapabilityBlockDocumentInput.vue.d.ts +19 -20
  29. package/dist/types/src/components/BlockCreateModal.vue.d.ts +27 -0
  30. package/dist/types/src/components/BlockDocument.vue.d.ts +14 -11
  31. package/dist/types/src/components/BlockDocumentCard.vue.d.ts +13 -10
  32. package/dist/types/src/components/BlockDocumentCombobox.vue.d.ts +19 -26
  33. package/dist/types/src/components/BlockDocumentInput.vue.d.ts +19 -20
  34. package/dist/types/src/components/BlockDocumentKeyValue.vue.d.ts +13 -10
  35. package/dist/types/src/components/BlockDocumentMenu.vue.d.ts +15 -12
  36. package/dist/types/src/components/BlockDocumentsTable.vue.d.ts +15 -12
  37. package/dist/types/src/components/BlockIconText.vue.d.ts +13 -10
  38. package/dist/types/src/components/BlockSchemaCapabilities.vue.d.ts +15 -16
  39. package/dist/types/src/components/BlockSchemaCapabilitySelect.vue.d.ts +15 -12
  40. package/dist/types/src/components/BlockSchemaCreateForm.vue.d.ts +15 -12
  41. package/dist/types/src/components/BlockSchemaEditForm.vue.d.ts +19 -28
  42. package/dist/types/src/components/BlockTypeCard.vue.d.ts +14 -11
  43. package/dist/types/src/components/BlockTypeCardLayout.vue.d.ts +14 -11
  44. package/dist/types/src/components/BlockTypeCardPreview.vue.d.ts +14 -11
  45. package/dist/types/src/components/BlockTypeList.vue.d.ts +21 -20
  46. package/dist/types/src/components/BlockTypeSelect.vue.d.ts +15 -12
  47. package/dist/types/src/components/BlockTypeSnippet.vue.d.ts +15 -16
  48. package/dist/types/src/components/CodeBanner.vue.d.ts +18 -23
  49. package/dist/types/src/components/CollectionCardPreview.vue.d.ts +13 -10
  50. package/dist/types/src/components/CollectionItemCard.vue.d.ts +14 -11
  51. package/dist/types/src/components/ColorModeSelect.vue.d.ts +15 -12
  52. package/dist/types/src/components/ColorModeSelectOption.vue.d.ts +14 -10
  53. package/dist/types/src/components/ConcurrencyLimitActiveRuns.vue.d.ts +13 -10
  54. package/dist/types/src/components/ConcurrencyLimitDetails.vue.d.ts +15 -16
  55. package/dist/types/src/components/ConcurrencyLimitMenu.vue.d.ts +15 -12
  56. package/dist/types/src/components/ConcurrencyLimitResetModal.vue.d.ts +17 -20
  57. package/dist/types/src/components/ConcurrencyLimitV2Menu.vue.d.ts +15 -12
  58. package/dist/types/src/components/ConcurrencyLimitV2Toggle.vue.d.ts +15 -12
  59. package/dist/types/src/components/ConcurrencyLimitsCreateModal.vue.d.ts +15 -12
  60. package/dist/types/src/components/ConcurrencyLimitsV2CreateModal.vue.d.ts +15 -12
  61. package/dist/types/src/components/ConcurrencyLimitsV2UpdateModal.vue.d.ts +17 -20
  62. package/dist/types/src/components/ConcurrencyTableActiveSlots.vue.d.ts +13 -10
  63. package/dist/types/src/components/ConfirmDeleteModal.vue.d.ts +37 -36
  64. package/dist/types/src/components/ConfirmStateChangeModal.vue.d.ts +31 -28
  65. package/dist/types/src/components/CopyOverflowMenuItem.vue.d.ts +15 -18
  66. package/dist/types/src/components/CopyableWrapper.vue.d.ts +14 -11
  67. package/dist/types/src/components/CronScheduleForm.vue.d.ts +29 -18
  68. package/dist/types/src/components/CumulativeTaskRunsCard.vue.d.ts +13 -10
  69. package/dist/types/src/components/DashboardWorkPoolCard.vue.d.ts +15 -18
  70. package/dist/types/src/components/DashboardWorkPoolCardDetail.vue.d.ts +14 -11
  71. package/dist/types/src/components/DashboardWorkPoolFlowRunCompleteness.vue.d.ts +15 -16
  72. package/dist/types/src/components/DashboardWorkPoolFlowRunsTotal.vue.d.ts +15 -16
  73. package/dist/types/src/components/DashboardWorkPoolLateCount.vue.d.ts +15 -16
  74. package/dist/types/src/components/DashboardWorkPoolsCard.vue.d.ts +13 -10
  75. package/dist/types/src/components/DateInput.vue.d.ts +23 -36
  76. package/dist/types/src/components/DateRangeInput.vue.d.ts +19 -26
  77. package/dist/types/src/components/DateRangeInputWithFlowRunHistory.vue.d.ts +15 -12
  78. package/dist/types/src/components/DeploymentCombobox.vue.d.ts +17 -18
  79. package/dist/types/src/components/DeploymentComboboxOption.vue.d.ts +15 -16
  80. package/dist/types/src/components/DeploymentConfiguration.vue.d.ts +13 -10
  81. package/dist/types/src/components/DeploymentCustomRunOverflowMenuItem.vue.d.ts +14 -11
  82. package/dist/types/src/components/DeploymentDescription.vue.d.ts +13 -10
  83. package/dist/types/src/components/DeploymentDescriptionEmptyState.vue.d.ts +13 -10
  84. package/dist/types/src/components/DeploymentDetails.vue.d.ts +17 -18
  85. package/dist/types/src/components/DeploymentForm.vue.d.ts +15 -12
  86. package/dist/types/src/components/DeploymentIconText.vue.d.ts +13 -10
  87. package/dist/types/src/components/DeploymentList.vue.d.ts +17 -16
  88. package/dist/types/src/components/DeploymentListItem.vue.d.ts +15 -12
  89. package/dist/types/src/components/DeploymentMenu.vue.d.ts +17 -18
  90. package/dist/types/src/components/DeploymentQuickRunOverflowMenuItem.vue.d.ts +16 -19
  91. package/dist/types/src/components/DeploymentRelationships.vue.d.ts +13 -10
  92. package/dist/types/src/components/DeploymentTagsInput.vue.d.ts +19 -24
  93. package/dist/types/src/components/DeploymentToggle.vue.d.ts +15 -12
  94. package/dist/types/src/components/DeploymentsCount.vue.d.ts +13 -10
  95. package/dist/types/src/components/DeploymentsDeleteButton.vue.d.ts +15 -12
  96. package/dist/types/src/components/DeploymentsTable.vue.d.ts +15 -10
  97. package/dist/types/src/components/DocumentationButton.vue.d.ts +14 -11
  98. package/dist/types/src/components/DurationIconText.vue.d.ts +13 -10
  99. package/dist/types/src/components/ExtraInfoModal.vue.d.ts +14 -11
  100. package/dist/types/src/components/FlowActivityChart.vue.d.ts +13 -10
  101. package/dist/types/src/components/FlowCombobox.vue.d.ts +17 -18
  102. package/dist/types/src/components/FlowDetails.vue.d.ts +15 -16
  103. package/dist/types/src/components/FlowIconText.vue.d.ts +13 -10
  104. package/dist/types/src/components/FlowList.vue.d.ts +17 -16
  105. package/dist/types/src/components/FlowListItem.vue.d.ts +19 -24
  106. package/dist/types/src/components/FlowMenu.vue.d.ts +15 -12
  107. package/dist/types/src/components/FlowRouterLink.vue.d.ts +18 -23
  108. package/dist/types/src/components/FlowRunArtifacts.vue.d.ts +14 -11
  109. package/dist/types/src/components/FlowRunBreadCrumbs.vue.d.ts +13 -10
  110. package/dist/types/src/components/FlowRunCancelButton.vue.d.ts +13 -10
  111. package/dist/types/src/components/FlowRunCancelModal.vue.d.ts +17 -20
  112. package/dist/types/src/components/FlowRunCreateForm.vue.d.ts +19 -24
  113. package/dist/types/src/components/FlowRunDeployment.vue.d.ts +13 -10
  114. package/dist/types/src/components/FlowRunDetails.vue.d.ts +15 -16
  115. package/dist/types/src/components/FlowRunFilteredList.vue.d.ts +19 -24
  116. package/dist/types/src/components/FlowRunFlow.vue.d.ts +13 -10
  117. package/dist/types/src/components/FlowRunHistoryCard.vue.d.ts +13 -10
  118. package/dist/types/src/components/FlowRunIconText.vue.d.ts +13 -10
  119. package/dist/types/src/components/FlowRunList.vue.d.ts +19 -24
  120. package/dist/types/src/components/FlowRunListItem.vue.d.ts +19 -24
  121. package/dist/types/src/components/FlowRunLogs.vue.d.ts +13 -10
  122. package/dist/types/src/components/FlowRunMenu.vue.d.ts +17 -18
  123. package/dist/types/src/components/FlowRunParentFlowRun.vue.d.ts +13 -10
  124. package/dist/types/src/components/FlowRunPauseButton.vue.d.ts +13 -10
  125. package/dist/types/src/components/FlowRunPauseModal.vue.d.ts +17 -20
  126. package/dist/types/src/components/FlowRunPopOver.vue.d.ts +13 -10
  127. package/dist/types/src/components/FlowRunPopOverContent.vue.d.ts +13 -10
  128. package/dist/types/src/components/FlowRunResults.vue.d.ts +14 -11
  129. package/dist/types/src/components/FlowRunResumeButton.vue.d.ts +13 -10
  130. package/dist/types/src/components/FlowRunResumeModal.vue.d.ts +17 -20
  131. package/dist/types/src/components/FlowRunRetryButton.vue.d.ts +13 -10
  132. package/dist/types/src/components/FlowRunRetryModal.vue.d.ts +19 -28
  133. package/dist/types/src/components/FlowRunStartTime.vue.d.ts +13 -10
  134. package/dist/types/src/components/FlowRunStateTypeCount.vue.d.ts +16 -16
  135. package/dist/types/src/components/FlowRunStateTypeEmpty.vue.d.ts +14 -10
  136. package/dist/types/src/components/FlowRunStateTypeTabDescription.vue.d.ts +16 -16
  137. package/dist/types/src/components/FlowRunStateTypeTabs.vue.d.ts +14 -9
  138. package/dist/types/src/components/FlowRunSubFlows.vue.d.ts +13 -10
  139. package/dist/types/src/components/FlowRunTagsInput.vue.d.ts +19 -24
  140. package/dist/types/src/components/FlowRunTaskCount.vue.d.ts +13 -10
  141. package/dist/types/src/components/FlowRunTaskRuns.vue.d.ts +13 -10
  142. package/dist/types/src/components/FlowRunTimeline.vue.d.ts +21 -34
  143. package/dist/types/src/components/FlowRunTimelineOptions.vue.d.ts +17 -20
  144. package/dist/types/src/components/FlowRunTimelineSelectionPanel.vue.d.ts +19 -20
  145. package/dist/types/src/components/FlowRunTimelineSubFlowRunDetails.vue.d.ts +13 -10
  146. package/dist/types/src/components/FlowRunTimelineTaskDetails.vue.d.ts +13 -10
  147. package/dist/types/src/components/FlowRunWorkPool.vue.d.ts +13 -10
  148. package/dist/types/src/components/FlowRunWorkQueue.vue.d.ts +17 -22
  149. package/dist/types/src/components/FlowRunsAccordion.vue.d.ts +16 -18
  150. package/dist/types/src/components/FlowRunsAccordionContent.vue.d.ts +17 -22
  151. package/dist/types/src/components/FlowRunsAccordionHeader.vue.d.ts +23 -48
  152. package/dist/types/src/components/FlowRunsBarChart.vue.d.ts +15 -16
  153. package/dist/types/src/components/FlowRunsDeleteButton.vue.d.ts +15 -12
  154. package/dist/types/src/components/FlowRunsPageWithDefaultFilter.vue.d.ts +17 -14
  155. package/dist/types/src/components/FlowRunsScatterPlot.vue.d.ts +17 -22
  156. package/dist/types/src/components/FlowRunsSort.vue.d.ts +16 -12
  157. package/dist/types/src/components/FlowsDeleteButton.vue.d.ts +15 -12
  158. package/dist/types/src/components/FlowsTable.vue.d.ts +15 -10
  159. package/dist/types/src/components/IntervalScheduleForm.vue.d.ts +29 -18
  160. package/dist/types/src/components/JsonInput.vue.d.ts +21 -30
  161. package/dist/types/src/components/ListItemMeta.vue.d.ts +14 -9
  162. package/dist/types/src/components/ListItemMetaFlowRun.vue.d.ts +16 -15
  163. package/dist/types/src/components/LogLevelLabel.vue.d.ts +14 -10
  164. package/dist/types/src/components/LogLevelSelect.vue.d.ts +16 -12
  165. package/dist/types/src/components/LogRow.vue.d.ts +13 -10
  166. package/dist/types/src/components/LogoImage.vue.d.ts +28 -19
  167. package/dist/types/src/components/LogsContainer.vue.d.ts +15 -12
  168. package/dist/types/src/components/LogsSort.vue.d.ts +16 -12
  169. package/dist/types/src/components/MarketingBanner.vue.d.ts +18 -21
  170. package/dist/types/src/components/NotificationDetails.vue.d.ts +17 -26
  171. package/dist/types/src/components/NotificationForm.vue.d.ts +17 -16
  172. package/dist/types/src/components/NotificationMenu.vue.d.ts +15 -12
  173. package/dist/types/src/components/NotificationStatusSelect.vue.d.ts +16 -12
  174. package/dist/types/src/components/NotificationToggle.vue.d.ts +15 -12
  175. package/dist/types/src/components/NotificationsTable.vue.d.ts +15 -12
  176. package/dist/types/src/components/PageHeading.vue.d.ts +28 -19
  177. package/dist/types/src/components/PageHeadingArtifact.vue.d.ts +13 -10
  178. package/dist/types/src/components/PageHeadingArtifactKey.vue.d.ts +13 -10
  179. package/dist/types/src/components/PageHeadingBlock.vue.d.ts +15 -12
  180. package/dist/types/src/components/PageHeadingBlockEdit.vue.d.ts +13 -10
  181. package/dist/types/src/components/PageHeadingBlocksCatalogCreate.vue.d.ts +13 -10
  182. package/dist/types/src/components/PageHeadingBlocksCatalogView.vue.d.ts +13 -10
  183. package/dist/types/src/components/PageHeadingConcurrencyLimit.vue.d.ts +13 -10
  184. package/dist/types/src/components/PageHeadingDeployment.vue.d.ts +15 -12
  185. package/dist/types/src/components/PageHeadingDeploymentEdit.vue.d.ts +13 -10
  186. package/dist/types/src/components/PageHeadingFlow.vue.d.ts +15 -12
  187. package/dist/types/src/components/PageHeadingFlowCollection.vue.d.ts +13 -10
  188. package/dist/types/src/components/PageHeadingFlowRun.vue.d.ts +15 -12
  189. package/dist/types/src/components/PageHeadingFlowRunCreate.vue.d.ts +13 -10
  190. package/dist/types/src/components/PageHeadingFlowRuns.vue.d.ts +14 -9
  191. package/dist/types/src/components/PageHeadingTaskRun.vue.d.ts +15 -12
  192. package/dist/types/src/components/PageHeadingWorkPool.vue.d.ts +15 -12
  193. package/dist/types/src/components/PageHeadingWorkPoolEdit.vue.d.ts +13 -10
  194. package/dist/types/src/components/PageHeadingWorkPoolQueue.vue.d.ts +17 -20
  195. package/dist/types/src/components/PageHeadingWorkPoolQueueCreate.vue.d.ts +13 -10
  196. package/dist/types/src/components/PageHeadingWorkPoolQueueEdit.vue.d.ts +15 -18
  197. package/dist/types/src/components/PageHeadingWorkQueue.vue.d.ts +15 -12
  198. package/dist/types/src/components/PageHeadingWorkQueueEdit.vue.d.ts +13 -10
  199. package/dist/types/src/components/ParametersTable.vue.d.ts +13 -10
  200. package/dist/types/src/components/ProcessTypeBadge.vue.d.ts +13 -10
  201. package/dist/types/src/components/QuickRunParametersModal.vue.d.ts +17 -20
  202. package/dist/types/src/components/ResultsCount.vue.d.ts +28 -19
  203. package/dist/types/src/components/RowGridLayoutList.vue.d.ts +14 -11
  204. package/dist/types/src/components/RunMenu.vue.d.ts +13 -10
  205. package/dist/types/src/components/SaveFilterModal.vue.d.ts +15 -12
  206. package/dist/types/src/components/SavedFiltersDeleteModal.vue.d.ts +17 -20
  207. package/dist/types/src/components/SavedFiltersMenu.vue.d.ts +15 -12
  208. package/dist/types/src/components/ScheduleFieldset.vue.d.ts +19 -26
  209. package/dist/types/src/components/ScheduleFormModal.vue.d.ts +15 -10
  210. package/dist/types/src/components/SchemaForm.vue.d.ts +17 -18
  211. package/dist/types/src/components/SchemaFormFields.vue.d.ts +15 -16
  212. package/dist/types/src/components/SchemaFormFieldsWithValues.vue.d.ts +17 -20
  213. package/dist/types/src/components/SchemaFormInput.vue.d.ts +15 -18
  214. package/dist/types/src/components/SchemaFormProperties.vue.d.ts +15 -18
  215. package/dist/types/src/components/SchemaFormProperty.vue.d.ts +15 -18
  216. package/dist/types/src/components/SchemaFormPropertyAllOf.vue.d.ts +15 -18
  217. package/dist/types/src/components/SchemaFormPropertyAnyOf.vue.d.ts +15 -18
  218. package/dist/types/src/components/SchemaInput.vue.d.ts +19 -26
  219. package/dist/types/src/components/SchemaPropertiesKeyValues.vue.d.ts +17 -24
  220. package/dist/types/src/components/SchemaPropertyBlockKeyValue.vue.d.ts +15 -18
  221. package/dist/types/src/components/SchemaPropertyKeyValue.vue.d.ts +18 -25
  222. package/dist/types/src/components/SearchInput.vue.d.ts +33 -28
  223. package/dist/types/src/components/SelectedCount.vue.d.ts +28 -19
  224. package/dist/types/src/components/SeparatedList.vue.d.ts +14 -11
  225. package/dist/types/src/components/StateBadge.vue.d.ts +17 -22
  226. package/dist/types/src/components/StateIcon.vue.d.ts +29 -19
  227. package/dist/types/src/components/StateListItem.vue.d.ts +23 -34
  228. package/dist/types/src/components/StateNameSelect.vue.d.ts +19 -24
  229. package/dist/types/src/components/StateSelect.vue.d.ts +19 -24
  230. package/dist/types/src/components/StatisticKeyValue.vue.d.ts +19 -28
  231. package/dist/types/src/components/SubmitButton.vue.d.ts +26 -11
  232. package/dist/types/src/components/TaskRunArtifacts.vue.d.ts +14 -11
  233. package/dist/types/src/components/TaskRunDetails.vue.d.ts +15 -16
  234. package/dist/types/src/components/TaskRunIconText.vue.d.ts +13 -10
  235. package/dist/types/src/components/TaskRunList.vue.d.ts +19 -24
  236. package/dist/types/src/components/TaskRunListItem.vue.d.ts +19 -24
  237. package/dist/types/src/components/TaskRunLogs.vue.d.ts +13 -10
  238. package/dist/types/src/components/TaskRunsSort.vue.d.ts +15 -12
  239. package/dist/types/src/components/TimeSpanFilter.vue.d.ts +17 -18
  240. package/dist/types/src/components/TimezoneSelect.vue.d.ts +19 -24
  241. package/dist/types/src/components/ToastFlowRunCreate.vue.d.ts +21 -38
  242. package/dist/types/src/components/UseDeploymentSlot.vue.d.ts +14 -11
  243. package/dist/types/src/components/UseFlowSlot.vue.d.ts +14 -11
  244. package/dist/types/src/components/VariableCreateModal.vue.d.ts +15 -12
  245. package/dist/types/src/components/VariableEditModal.vue.d.ts +17 -20
  246. package/dist/types/src/components/VariableMenu.vue.d.ts +15 -12
  247. package/dist/types/src/components/VariableTagsInput.vue.d.ts +17 -18
  248. package/dist/types/src/components/VariablesDeleteButton.vue.d.ts +15 -12
  249. package/dist/types/src/components/VariablesTable.vue.d.ts +15 -10
  250. package/dist/types/src/components/WorkPoolAverageLateTime.vue.d.ts +15 -16
  251. package/dist/types/src/components/WorkPoolBaseJobTemplateFormSection.vue.d.ts +15 -12
  252. package/dist/types/src/components/WorkPoolCard.vue.d.ts +15 -12
  253. package/dist/types/src/components/WorkPoolCombobox.vue.d.ts +21 -30
  254. package/dist/types/src/components/WorkPoolCreateWizardStepInformation.vue.d.ts +17 -20
  255. package/dist/types/src/components/WorkPoolCreateWizardStepInfrastructureConfiguration.vue.d.ts +17 -20
  256. package/dist/types/src/components/WorkPoolCreateWizardStepInfrastructureType.vue.d.ts +17 -20
  257. package/dist/types/src/components/WorkPoolDetails.vue.d.ts +15 -16
  258. package/dist/types/src/components/WorkPoolEditForm.vue.d.ts +13 -10
  259. package/dist/types/src/components/WorkPoolIconText.vue.d.ts +13 -10
  260. package/dist/types/src/components/WorkPoolLastPolled.vue.d.ts +13 -10
  261. package/dist/types/src/components/WorkPoolLateIndicator.vue.d.ts +13 -10
  262. package/dist/types/src/components/WorkPoolList.vue.d.ts +15 -12
  263. package/dist/types/src/components/WorkPoolMenu.vue.d.ts +15 -12
  264. package/dist/types/src/components/WorkPoolQueueCombobox.vue.d.ts +21 -32
  265. package/dist/types/src/components/WorkPoolQueueCreateForm.vue.d.ts +13 -10
  266. package/dist/types/src/components/WorkPoolQueueDetails.vue.d.ts +17 -24
  267. package/dist/types/src/components/WorkPoolQueueEditForm.vue.d.ts +15 -18
  268. package/dist/types/src/components/WorkPoolQueueMenu.vue.d.ts +17 -20
  269. package/dist/types/src/components/WorkPoolQueueStatusArray.vue.d.ts +13 -10
  270. package/dist/types/src/components/WorkPoolQueueStatusBadge.vue.d.ts +15 -18
  271. package/dist/types/src/components/WorkPoolQueueStatusIcon.vue.d.ts +15 -18
  272. package/dist/types/src/components/WorkPoolQueueToggle.vue.d.ts +17 -20
  273. package/dist/types/src/components/WorkPoolQueueUpcomingFlowRunsList.vue.d.ts +15 -18
  274. package/dist/types/src/components/WorkPoolQueuesDeleteButton.vue.d.ts +17 -20
  275. package/dist/types/src/components/WorkPoolQueuesTable.vue.d.ts +13 -10
  276. package/dist/types/src/components/WorkPoolStatusBadge.vue.d.ts +13 -10
  277. package/dist/types/src/components/WorkPoolStatusIcon.vue.d.ts +13 -10
  278. package/dist/types/src/components/WorkPoolToggle.vue.d.ts +15 -12
  279. package/dist/types/src/components/WorkPoolTypeSelect.vue.d.ts +17 -18
  280. package/dist/types/src/components/WorkQueueCombobox.vue.d.ts +21 -30
  281. package/dist/types/src/components/WorkQueueDetails.vue.d.ts +15 -16
  282. package/dist/types/src/components/WorkQueueEditForm.vue.d.ts +15 -12
  283. package/dist/types/src/components/WorkQueueFlowRunsList.vue.d.ts +13 -10
  284. package/dist/types/src/components/WorkQueueIconText.vue.d.ts +17 -22
  285. package/dist/types/src/components/WorkQueueLastPolled.vue.d.ts +13 -10
  286. package/dist/types/src/components/WorkQueueLateIndicator.vue.d.ts +13 -10
  287. package/dist/types/src/components/WorkQueueMenu.vue.d.ts +15 -12
  288. package/dist/types/src/components/WorkQueueStatusBadge.vue.d.ts +13 -10
  289. package/dist/types/src/components/WorkQueueStatusIcon.vue.d.ts +13 -10
  290. package/dist/types/src/components/WorkQueueToggle.vue.d.ts +15 -12
  291. package/dist/types/src/components/WorkQueuesDeleteButton.vue.d.ts +15 -12
  292. package/dist/types/src/components/WorkQueuesTable.vue.d.ts +15 -12
  293. package/dist/types/src/components/WorkerStatusBadge.vue.d.ts +13 -10
  294. package/dist/types/src/components/WorkerStatusIcon.vue.d.ts +14 -10
  295. package/dist/types/src/components/WorkersLateIndicator.vue.d.ts +15 -16
  296. package/dist/types/src/components/WorkersTable.vue.d.ts +13 -10
  297. package/dist/types/src/components/WorkspaceDashboardFlowRunsCard.vue.d.ts +13 -10
  298. package/dist/{viewport.es-88169ec4-47dee0b4.mjs → viewport.es-88169ec4-14c08196.mjs} +2 -2
  299. package/dist/{viewport.es-88169ec4-47dee0b4.mjs.map → viewport.es-88169ec4-14c08196.mjs.map} +1 -1
  300. package/package.json +6 -6
  301. package/dist/index-0c751607.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.es-88169ec4-47dee0b4.mjs","sources":["../node_modules/@prefecthq/graphs/dist/viewport.es-88169ec4.mjs"],"sourcesContent":["import { P as c, R as b, T as C, C as P } from \"./index-d123a5cb.mjs\";\nimport \"vue\";\nclass u {\n constructor(t) {\n this.parent = t, this.paused = !1;\n }\n destroy() {\n }\n down(t) {\n return !1;\n }\n move(t) {\n return !1;\n }\n up(t) {\n return !1;\n }\n wheel(t) {\n return !1;\n }\n update(t) {\n }\n resize() {\n }\n reset() {\n }\n pause() {\n this.paused = !0;\n }\n resume() {\n this.paused = !1;\n }\n}\nvar _ = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {};\nfunction I(l, t, e) {\n return e = {\n path: t,\n exports: {},\n require: function(n, i) {\n return k(n, i ?? e.path);\n }\n }, l(e, e.exports), e.exports;\n}\nfunction k() {\n throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\");\n}\nvar M = I(function(l, t) {\n (function() {\n var e, n;\n n = function(i) {\n return l.exports = i;\n }, e = {\n linear: function(i, s, h, o) {\n return h * i / o + s;\n },\n easeInQuad: function(i, s, h, o) {\n return h * (i /= o) * i + s;\n },\n easeOutQuad: function(i, s, h, o) {\n return -h * (i /= o) * (i - 2) + s;\n },\n easeInOutQuad: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? h / 2 * i * i + s : -h / 2 * (--i * (i - 2) - 1) + s;\n },\n easeInCubic: function(i, s, h, o) {\n return h * (i /= o) * i * i + s;\n },\n easeOutCubic: function(i, s, h, o) {\n return h * ((i = i / o - 1) * i * i + 1) + s;\n },\n easeInOutCubic: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? h / 2 * i * i * i + s : h / 2 * ((i -= 2) * i * i + 2) + s;\n },\n easeInQuart: function(i, s, h, o) {\n return h * (i /= o) * i * i * i + s;\n },\n easeOutQuart: function(i, s, h, o) {\n return -h * ((i = i / o - 1) * i * i * i - 1) + s;\n },\n easeInOutQuart: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? h / 2 * i * i * i * i + s : -h / 2 * ((i -= 2) * i * i * i - 2) + s;\n },\n easeInQuint: function(i, s, h, o) {\n return h * (i /= o) * i * i * i * i + s;\n },\n easeOutQuint: function(i, s, h, o) {\n return h * ((i = i / o - 1) * i * i * i * i + 1) + s;\n },\n easeInOutQuint: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? h / 2 * i * i * i * i * i + s : h / 2 * ((i -= 2) * i * i * i * i + 2) + s;\n },\n easeInSine: function(i, s, h, o) {\n return -h * Math.cos(i / o * (Math.PI / 2)) + h + s;\n },\n easeOutSine: function(i, s, h, o) {\n return h * Math.sin(i / o * (Math.PI / 2)) + s;\n },\n easeInOutSine: function(i, s, h, o) {\n return -h / 2 * (Math.cos(Math.PI * i / o) - 1) + s;\n },\n easeInExpo: function(i, s, h, o) {\n return i === 0 ? s : h * Math.pow(2, 10 * (i / o - 1)) + s;\n },\n easeOutExpo: function(i, s, h, o) {\n return i === o ? s + h : h * (-Math.pow(2, -10 * i / o) + 1) + s;\n },\n easeInOutExpo: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? h / 2 * Math.pow(2, 10 * (i - 1)) + s : h / 2 * (-Math.pow(2, -10 * --i) + 2) + s;\n },\n easeInCirc: function(i, s, h, o) {\n return -h * (Math.sqrt(1 - (i /= o) * i) - 1) + s;\n },\n easeOutCirc: function(i, s, h, o) {\n return h * Math.sqrt(1 - (i = i / o - 1) * i) + s;\n },\n easeInOutCirc: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? -h / 2 * (Math.sqrt(1 - i * i) - 1) + s : h / 2 * (Math.sqrt(1 - (i -= 2) * i) + 1) + s;\n },\n easeInElastic: function(i, s, h, o) {\n var r, a, p;\n return p = 1.70158, a = 0, r = h, i === 0 || (i /= o), a || (a = o * 0.3), r < Math.abs(h) ? (r = h, p = a / 4) : p = a / (2 * Math.PI) * Math.asin(h / r), -(r * Math.pow(2, 10 * (i -= 1)) * Math.sin((i * o - p) * (2 * Math.PI) / a)) + s;\n },\n easeOutElastic: function(i, s, h, o) {\n var r, a, p;\n return p = 1.70158, a = 0, r = h, i === 0 || (i /= o), a || (a = o * 0.3), r < Math.abs(h) ? (r = h, p = a / 4) : p = a / (2 * Math.PI) * Math.asin(h / r), r * Math.pow(2, -10 * i) * Math.sin((i * o - p) * (2 * Math.PI) / a) + h + s;\n },\n easeInOutElastic: function(i, s, h, o) {\n var r, a, p;\n return p = 1.70158, a = 0, r = h, i === 0 || (i /= o / 2), a || (a = o * (0.3 * 1.5)), r < Math.abs(h) ? (r = h, p = a / 4) : p = a / (2 * Math.PI) * Math.asin(h / r), i < 1 ? -0.5 * (r * Math.pow(2, 10 * (i -= 1)) * Math.sin((i * o - p) * (2 * Math.PI) / a)) + s : r * Math.pow(2, -10 * (i -= 1)) * Math.sin((i * o - p) * (2 * Math.PI) / a) * 0.5 + h + s;\n },\n easeInBack: function(i, s, h, o, r) {\n return r === void 0 && (r = 1.70158), h * (i /= o) * i * ((r + 1) * i - r) + s;\n },\n easeOutBack: function(i, s, h, o, r) {\n return r === void 0 && (r = 1.70158), h * ((i = i / o - 1) * i * ((r + 1) * i + r) + 1) + s;\n },\n easeInOutBack: function(i, s, h, o, r) {\n return r === void 0 && (r = 1.70158), (i /= o / 2) < 1 ? h / 2 * (i * i * (((r *= 1.525) + 1) * i - r)) + s : h / 2 * ((i -= 2) * i * (((r *= 1.525) + 1) * i + r) + 2) + s;\n },\n easeInBounce: function(i, s, h, o) {\n var r;\n return r = e.easeOutBounce(o - i, 0, h, o), h - r + s;\n },\n easeOutBounce: function(i, s, h, o) {\n return (i /= o) < 1 / 2.75 ? h * (7.5625 * i * i) + s : i < 2 / 2.75 ? h * (7.5625 * (i -= 1.5 / 2.75) * i + 0.75) + s : i < 2.5 / 2.75 ? h * (7.5625 * (i -= 2.25 / 2.75) * i + 0.9375) + s : h * (7.5625 * (i -= 2.625 / 2.75) * i + 0.984375) + s;\n },\n easeInOutBounce: function(i, s, h, o) {\n var r;\n return i < o / 2 ? (r = e.easeInBounce(i * 2, 0, h, o), r * 0.5 + s) : (r = e.easeOutBounce(i * 2 - o, 0, h, o), r * 0.5 + h * 0.5 + s);\n }\n }, n(e);\n }).call(_);\n});\nfunction H(l, t) {\n if (l) {\n if (typeof l == \"function\")\n return l;\n if (typeof l == \"string\")\n return M[l];\n } else\n return M[t];\n}\nconst Y = {\n removeOnInterrupt: !1,\n ease: \"linear\",\n time: 1e3\n};\nclass d extends u {\n __init() {\n this.startWidth = null;\n }\n __init2() {\n this.startHeight = null;\n }\n __init3() {\n this.deltaWidth = null;\n }\n __init4() {\n this.deltaHeight = null;\n }\n __init5() {\n this.width = null;\n }\n __init6() {\n this.height = null;\n }\n __init7() {\n this.time = 0;\n }\n constructor(t, e = {}) {\n super(t), d.prototype.__init.call(this), d.prototype.__init2.call(this), d.prototype.__init3.call(this), d.prototype.__init4.call(this), d.prototype.__init5.call(this), d.prototype.__init6.call(this), d.prototype.__init7.call(this), this.options = Object.assign({}, Y, e), this.options.ease = H(this.options.ease), this.setupPosition(), this.setupZoom(), this.time = 0;\n }\n setupPosition() {\n typeof this.options.position < \"u\" ? (this.startX = this.parent.center.x, this.startY = this.parent.center.y, this.deltaX = this.options.position.x - this.parent.center.x, this.deltaY = this.options.position.y - this.parent.center.y, this.keepCenter = !1) : this.keepCenter = !0;\n }\n setupZoom() {\n this.width = null, this.height = null, typeof this.options.scale < \"u\" ? this.width = this.parent.screenWidth / this.options.scale : typeof this.options.scaleX < \"u\" || typeof this.options.scaleY < \"u\" ? (typeof this.options.scaleX < \"u\" && (this.width = this.parent.screenWidth / this.options.scaleX), typeof this.options.scaleY < \"u\" && (this.height = this.parent.screenHeight / this.options.scaleY)) : (typeof this.options.width < \"u\" && (this.width = this.options.width), typeof this.options.height < \"u\" && (this.height = this.options.height)), this.width !== null && (this.startWidth = this.parent.screenWidthInWorldPixels, this.deltaWidth = this.width - this.startWidth), this.height !== null && (this.startHeight = this.parent.screenHeightInWorldPixels, this.deltaHeight = this.height - this.startHeight);\n }\n down() {\n return this.options.removeOnInterrupt && this.parent.plugins.remove(\"animate\"), !1;\n }\n complete() {\n this.parent.plugins.remove(\"animate\"), this.width !== null && this.parent.fitWidth(this.width, this.keepCenter, this.height === null), this.height !== null && this.parent.fitHeight(this.height, this.keepCenter, this.width === null), !this.keepCenter && this.options.position && this.parent.moveCenter(this.options.position), this.parent.emit(\"animate-end\", this.parent), this.options.callbackOnComplete && this.options.callbackOnComplete(this.parent);\n }\n update(t) {\n if (this.paused)\n return;\n this.time += t;\n const e = new c(this.parent.scale.x, this.parent.scale.y);\n if (this.time >= this.options.time) {\n const n = this.parent.width, i = this.parent.height;\n this.complete(), (n !== this.parent.width || i !== this.parent.height) && this.parent.emit(\"zoomed\", { viewport: this.parent, original: e, type: \"animate\" });\n } else {\n const n = this.options.ease(this.time, 0, 1, this.options.time);\n if (this.width !== null) {\n const i = this.startWidth, s = this.deltaWidth;\n this.parent.fitWidth(\n i + s * n,\n this.keepCenter,\n this.height === null\n );\n }\n if (this.height !== null) {\n const i = this.startHeight, s = this.deltaHeight;\n this.parent.fitHeight(\n i + s * n,\n this.keepCenter,\n this.width === null\n );\n }\n if (this.width === null ? this.parent.scale.x = this.parent.scale.y : this.height === null && (this.parent.scale.y = this.parent.scale.x), !this.keepCenter) {\n const i = this.startX, s = this.startY, h = this.deltaX, o = this.deltaY, r = new c(this.parent.x, this.parent.y);\n this.parent.moveCenter(i + h * n, s + o * n), this.parent.emit(\"moved\", { viewport: this.parent, original: r, type: \"animate\" });\n }\n (this.width || this.height) && this.parent.emit(\"zoomed\", { viewport: this.parent, original: e, type: \"animate\" });\n }\n }\n}\nfunction v(l) {\n let t, e = l[0], n = 1;\n for (; n < l.length; ) {\n const i = l[n], s = l[n + 1];\n if (n += 2, (i === \"optionalAccess\" || i === \"optionalCall\") && e == null)\n return;\n i === \"access\" || i === \"optionalAccess\" ? (t = e, e = s(e)) : (i === \"call\" || i === \"optionalCall\") && (e = s((...h) => e.call(t, ...h)), t = void 0);\n }\n return e;\n}\nconst X = {\n sides: \"all\",\n friction: 0.5,\n time: 150,\n ease: \"easeInOutSine\",\n underflow: \"center\",\n bounceBox: null\n};\nclass z extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, X, e), this.ease = H(this.options.ease, \"easeInOutSine\"), this.options.sides ? this.options.sides === \"all\" ? this.top = this.bottom = this.left = this.right = !0 : this.options.sides === \"horizontal\" ? (this.right = this.left = !0, this.top = this.bottom = !1) : this.options.sides === \"vertical\" ? (this.left = this.right = !1, this.top = this.bottom = !0) : (this.top = this.options.sides.indexOf(\"top\") !== -1, this.bottom = this.options.sides.indexOf(\"bottom\") !== -1, this.left = this.options.sides.indexOf(\"left\") !== -1, this.right = this.options.sides.indexOf(\"right\") !== -1) : this.left = this.top = this.right = this.bottom = !1;\n const n = this.options.underflow.toLowerCase();\n n === \"center\" ? (this.underflowX = 0, this.underflowY = 0) : (this.underflowX = n.indexOf(\"left\") !== -1 ? -1 : n.indexOf(\"right\") !== -1 ? 1 : 0, this.underflowY = n.indexOf(\"top\") !== -1 ? -1 : n.indexOf(\"bottom\") !== -1 ? 1 : 0), this.reset();\n }\n isActive() {\n return this.toX !== null || this.toY !== null;\n }\n down() {\n return this.toX = this.toY = null, !1;\n }\n up() {\n return this.bounce(), !1;\n }\n update(t) {\n if (!this.paused) {\n if (this.bounce(), this.toX) {\n const e = this.toX;\n e.time += t, this.parent.emit(\"moved\", { viewport: this.parent, type: \"bounce-x\" }), e.time >= this.options.time ? (this.parent.x = e.end, this.toX = null, this.parent.emit(\"bounce-x-end\", this.parent)) : this.parent.x = this.ease(e.time, e.start, e.delta, this.options.time);\n }\n if (this.toY) {\n const e = this.toY;\n e.time += t, this.parent.emit(\"moved\", { viewport: this.parent, type: \"bounce-y\" }), e.time >= this.options.time ? (this.parent.y = e.end, this.toY = null, this.parent.emit(\"bounce-y-end\", this.parent)) : this.parent.y = this.ease(e.time, e.start, e.delta, this.options.time);\n }\n }\n }\n calcUnderflowX() {\n let t;\n switch (this.underflowX) {\n case -1:\n t = 0;\n break;\n case 1:\n t = this.parent.screenWidth - this.parent.screenWorldWidth;\n break;\n default:\n t = (this.parent.screenWidth - this.parent.screenWorldWidth) / 2;\n }\n return t;\n }\n calcUnderflowY() {\n let t;\n switch (this.underflowY) {\n case -1:\n t = 0;\n break;\n case 1:\n t = this.parent.screenHeight - this.parent.screenWorldHeight;\n break;\n default:\n t = (this.parent.screenHeight - this.parent.screenWorldHeight) / 2;\n }\n return t;\n }\n oob() {\n const t = this.options.bounceBox;\n if (t) {\n const e = typeof t.x > \"u\" ? 0 : t.x, n = typeof t.y > \"u\" ? 0 : t.y, i = typeof t.width > \"u\" ? this.parent.worldWidth : t.width, s = typeof t.height > \"u\" ? this.parent.worldHeight : t.height;\n return {\n left: this.parent.left < e,\n right: this.parent.right > i,\n top: this.parent.top < n,\n bottom: this.parent.bottom > s,\n topLeft: new c(\n e * this.parent.scale.x,\n n * this.parent.scale.y\n ),\n bottomRight: new c(\n i * this.parent.scale.x - this.parent.screenWidth,\n s * this.parent.scale.y - this.parent.screenHeight\n )\n };\n }\n return {\n left: this.parent.left < 0,\n right: this.parent.right > this.parent.worldWidth,\n top: this.parent.top < 0,\n bottom: this.parent.bottom > this.parent.worldHeight,\n topLeft: new c(0, 0),\n bottomRight: new c(\n this.parent.worldWidth * this.parent.scale.x - this.parent.screenWidth,\n this.parent.worldHeight * this.parent.scale.y - this.parent.screenHeight\n )\n };\n }\n bounce() {\n if (this.paused)\n return;\n let t, e = this.parent.plugins.get(\"decelerate\", !0);\n e && (e.x || e.y) && (e.x && e.percentChangeX === v([e, \"access\", (s) => s.options, \"optionalAccess\", (s) => s.friction]) || e.y && e.percentChangeY === v([e, \"access\", (s) => s.options, \"optionalAccess\", (s) => s.friction])) && (t = this.oob(), (t.left && this.left || t.right && this.right) && (e.percentChangeX = this.options.friction), (t.top && this.top || t.bottom && this.bottom) && (e.percentChangeY = this.options.friction));\n const n = this.parent.plugins.get(\"drag\", !0) || {}, i = this.parent.plugins.get(\"pinch\", !0) || {};\n if (e = e || {}, !v([n, \"optionalAccess\", (s) => s.active]) && !v([i, \"optionalAccess\", (s) => s.active]) && (!this.toX || !this.toY) && (!e.x || !e.y)) {\n t = t || this.oob();\n const s = t.topLeft, h = t.bottomRight;\n if (!this.toX && !e.x) {\n let o = null;\n t.left && this.left ? o = this.parent.screenWorldWidth < this.parent.screenWidth ? this.calcUnderflowX() : -s.x : t.right && this.right && (o = this.parent.screenWorldWidth < this.parent.screenWidth ? this.calcUnderflowX() : -h.x), o !== null && this.parent.x !== o && (this.toX = { time: 0, start: this.parent.x, delta: o - this.parent.x, end: o }, this.parent.emit(\"bounce-x-start\", this.parent));\n }\n if (!this.toY && !e.y) {\n let o = null;\n t.top && this.top ? o = this.parent.screenWorldHeight < this.parent.screenHeight ? this.calcUnderflowY() : -s.y : t.bottom && this.bottom && (o = this.parent.screenWorldHeight < this.parent.screenHeight ? this.calcUnderflowY() : -h.y), o !== null && this.parent.y !== o && (this.toY = { time: 0, start: this.parent.y, delta: o - this.parent.y, end: o }, this.parent.emit(\"bounce-y-start\", this.parent));\n }\n }\n }\n reset() {\n this.toX = this.toY = null, this.bounce();\n }\n}\nconst A = {\n left: !1,\n right: !1,\n top: !1,\n bottom: !1,\n direction: null,\n underflow: \"center\"\n};\nclass T extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, A, e), this.options.direction && (this.options.left = this.options.direction === \"x\" || this.options.direction === \"all\" ? !0 : null, this.options.right = this.options.direction === \"x\" || this.options.direction === \"all\" ? !0 : null, this.options.top = this.options.direction === \"y\" || this.options.direction === \"all\" ? !0 : null, this.options.bottom = this.options.direction === \"y\" || this.options.direction === \"all\" ? !0 : null), this.parseUnderflow(), this.last = { x: null, y: null, scaleX: null, scaleY: null }, this.update();\n }\n parseUnderflow() {\n const t = this.options.underflow.toLowerCase();\n t === \"none\" ? this.noUnderflow = !0 : t === \"center\" ? (this.underflowX = this.underflowY = 0, this.noUnderflow = !1) : (this.underflowX = t.indexOf(\"left\") !== -1 ? -1 : t.indexOf(\"right\") !== -1 ? 1 : 0, this.underflowY = t.indexOf(\"top\") !== -1 ? -1 : t.indexOf(\"bottom\") !== -1 ? 1 : 0, this.noUnderflow = !1);\n }\n move() {\n return this.update(), !1;\n }\n update() {\n if (this.paused || this.parent.x === this.last.x && this.parent.y === this.last.y && this.parent.scale.x === this.last.scaleX && this.parent.scale.y === this.last.scaleY)\n return;\n const t = { x: this.parent.x, y: this.parent.y }, e = this.parent.plugins.decelerate || {};\n if (this.options.left !== null || this.options.right !== null) {\n let n = !1;\n if (!this.noUnderflow && this.parent.screenWorldWidth < this.parent.screenWidth)\n switch (this.underflowX) {\n case -1:\n this.parent.x !== 0 && (this.parent.x = 0, n = !0);\n break;\n case 1:\n this.parent.x !== this.parent.screenWidth - this.parent.screenWorldWidth && (this.parent.x = this.parent.screenWidth - this.parent.screenWorldWidth, n = !0);\n break;\n default:\n this.parent.x !== (this.parent.screenWidth - this.parent.screenWorldWidth) / 2 && (this.parent.x = (this.parent.screenWidth - this.parent.screenWorldWidth) / 2, n = !0);\n }\n else\n this.options.left !== null && this.parent.left < (this.options.left === !0 ? 0 : this.options.left) && (this.parent.x = -(this.options.left === !0 ? 0 : this.options.left) * this.parent.scale.x, e.x = 0, n = !0), this.options.right !== null && this.parent.right > (this.options.right === !0 ? this.parent.worldWidth : this.options.right) && (this.parent.x = -(this.options.right === !0 ? this.parent.worldWidth : this.options.right) * this.parent.scale.x + this.parent.screenWidth, e.x = 0, n = !0);\n n && this.parent.emit(\"moved\", { viewport: this.parent, original: t, type: \"clamp-x\" });\n }\n if (this.options.top !== null || this.options.bottom !== null) {\n let n = !1;\n if (!this.noUnderflow && this.parent.screenWorldHeight < this.parent.screenHeight)\n switch (this.underflowY) {\n case -1:\n this.parent.y !== 0 && (this.parent.y = 0, n = !0);\n break;\n case 1:\n this.parent.y !== this.parent.screenHeight - this.parent.screenWorldHeight && (this.parent.y = this.parent.screenHeight - this.parent.screenWorldHeight, n = !0);\n break;\n default:\n this.parent.y !== (this.parent.screenHeight - this.parent.screenWorldHeight) / 2 && (this.parent.y = (this.parent.screenHeight - this.parent.screenWorldHeight) / 2, n = !0);\n }\n else\n this.options.top !== null && this.parent.top < (this.options.top === !0 ? 0 : this.options.top) && (this.parent.y = -(this.options.top === !0 ? 0 : this.options.top) * this.parent.scale.y, e.y = 0, n = !0), this.options.bottom !== null && this.parent.bottom > (this.options.bottom === !0 ? this.parent.worldHeight : this.options.bottom) && (this.parent.y = -(this.options.bottom === !0 ? this.parent.worldHeight : this.options.bottom) * this.parent.scale.y + this.parent.screenHeight, e.y = 0, n = !0);\n n && this.parent.emit(\"moved\", { viewport: this.parent, original: t, type: \"clamp-y\" });\n }\n this.last.x = this.parent.x, this.last.y = this.parent.y, this.last.scaleX = this.parent.scale.x, this.last.scaleY = this.parent.scale.y;\n }\n reset() {\n this.update();\n }\n}\nconst E = {\n minWidth: null,\n minHeight: null,\n maxWidth: null,\n maxHeight: null,\n minScale: null,\n maxScale: null\n};\nclass L extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, E, e), this.clamp();\n }\n resize() {\n this.clamp();\n }\n clamp() {\n if (!this.paused) {\n if (this.options.minWidth || this.options.minHeight || this.options.maxWidth || this.options.maxHeight) {\n let t = this.parent.worldScreenWidth, e = this.parent.worldScreenHeight;\n if (this.options.minWidth !== null && t < this.options.minWidth) {\n const n = this.parent.scale.x;\n this.parent.fitWidth(this.options.minWidth, !1, !1, !0), this.parent.scale.y *= this.parent.scale.x / n, t = this.parent.worldScreenWidth, e = this.parent.worldScreenHeight, this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"clamp-zoom\" });\n }\n if (this.options.maxWidth !== null && t > this.options.maxWidth) {\n const n = this.parent.scale.x;\n this.parent.fitWidth(this.options.maxWidth, !1, !1, !0), this.parent.scale.y *= this.parent.scale.x / n, t = this.parent.worldScreenWidth, e = this.parent.worldScreenHeight, this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"clamp-zoom\" });\n }\n if (this.options.minHeight !== null && e < this.options.minHeight) {\n const n = this.parent.scale.y;\n this.parent.fitHeight(this.options.minHeight, !1, !1, !0), this.parent.scale.x *= this.parent.scale.y / n, t = this.parent.worldScreenWidth, e = this.parent.worldScreenHeight, this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"clamp-zoom\" });\n }\n if (this.options.maxHeight !== null && e > this.options.maxHeight) {\n const n = this.parent.scale.y;\n this.parent.fitHeight(this.options.maxHeight, !1, !1, !0), this.parent.scale.x *= this.parent.scale.y / n, this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"clamp-zoom\" });\n }\n } else if (this.options.minScale || this.options.maxScale) {\n const t = { x: null, y: null }, e = { x: null, y: null };\n if (typeof this.options.minScale == \"number\")\n t.x = this.options.minScale, t.y = this.options.minScale;\n else if (this.options.minScale !== null) {\n const s = this.options.minScale;\n t.x = typeof s.x > \"u\" ? null : s.x, t.y = typeof s.y > \"u\" ? null : s.y;\n }\n if (typeof this.options.maxScale == \"number\")\n e.x = this.options.maxScale, e.y = this.options.maxScale;\n else if (this.options.maxScale !== null) {\n const s = this.options.maxScale;\n e.x = typeof s.x > \"u\" ? null : s.x, e.y = typeof s.y > \"u\" ? null : s.y;\n }\n let n = this.parent.scale.x, i = this.parent.scale.y;\n t.x !== null && n < t.x && (n = t.x), e.x !== null && n > e.x && (n = e.x), t.y !== null && i < t.y && (i = t.y), e.y !== null && i > e.y && (i = e.y), (n !== this.parent.scale.x || i !== this.parent.scale.y) && (this.parent.scale.set(n, i), this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"clamp-zoom\" }));\n }\n }\n }\n reset() {\n this.clamp();\n }\n}\nconst D = {\n friction: 0.98,\n bounce: 0.8,\n minSpeed: 0.01\n}, f = 16;\nclass U extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, D, e), this.saved = [], this.timeSinceRelease = 0, this.reset(), this.parent.on(\"moved\", (n) => this.moved(n));\n }\n down() {\n return this.saved = [], this.x = this.y = null, !1;\n }\n isActive() {\n return !!(this.x || this.y);\n }\n move() {\n if (this.paused)\n return !1;\n const t = this.parent.input.count();\n return (t === 1 || t > 1 && !this.parent.plugins.get(\"pinch\", !0)) && (this.saved.push({ x: this.parent.x, y: this.parent.y, time: performance.now() }), this.saved.length > 60 && this.saved.splice(0, 30)), !1;\n }\n moved(t) {\n if (this.saved.length) {\n const e = this.saved[this.saved.length - 1];\n t.type === \"clamp-x\" ? e.x === t.original.x && (e.x = this.parent.x) : t.type === \"clamp-y\" && e.y === t.original.y && (e.y = this.parent.y);\n }\n }\n up() {\n if (this.parent.input.count() === 0 && this.saved.length) {\n const t = performance.now();\n for (const e of this.saved)\n if (e.time >= t - 100) {\n const n = t - e.time;\n this.x = (this.parent.x - e.x) / n, this.y = (this.parent.y - e.y) / n, this.percentChangeX = this.percentChangeY = this.options.friction, this.timeSinceRelease = 0;\n break;\n }\n }\n return !1;\n }\n activate(t) {\n t = t || {}, typeof t.x < \"u\" && (this.x = t.x, this.percentChangeX = this.options.friction), typeof t.y < \"u\" && (this.y = t.y, this.percentChangeY = this.options.friction);\n }\n update(t) {\n if (this.paused)\n return;\n const e = this.x || this.y, n = this.timeSinceRelease, i = this.timeSinceRelease + t;\n if (this.x) {\n const s = this.percentChangeX, h = Math.log(s);\n this.parent.x += this.x * f / h * (Math.pow(s, i / f) - Math.pow(s, n / f)), this.x *= Math.pow(this.percentChangeX, t / f);\n }\n if (this.y) {\n const s = this.percentChangeY, h = Math.log(s);\n this.parent.y += this.y * f / h * (Math.pow(s, i / f) - Math.pow(s, n / f)), this.y *= Math.pow(this.percentChangeY, t / f);\n }\n this.timeSinceRelease += t, this.x && this.y ? Math.abs(this.x) < this.options.minSpeed && Math.abs(this.y) < this.options.minSpeed && (this.x = 0, this.y = 0) : (Math.abs(this.x || 0) < this.options.minSpeed && (this.x = 0), Math.abs(this.y || 0) < this.options.minSpeed && (this.y = 0)), e && this.parent.emit(\"moved\", { viewport: this.parent, type: \"decelerate\" });\n }\n reset() {\n this.x = this.y = null;\n }\n}\nconst B = {\n direction: \"all\",\n pressDrag: !0,\n wheel: !0,\n wheelScroll: 1,\n reverse: !1,\n clampWheel: !1,\n underflow: \"center\",\n factor: 1,\n mouseButtons: \"all\",\n keyToPress: null,\n ignoreKeyToPressOnTouch: !1,\n lineHeight: 20,\n wheelSwapAxes: !1\n};\nclass S extends u {\n __init() {\n this.windowEventHandlers = new Array();\n }\n constructor(t, e = {}) {\n super(t), S.prototype.__init.call(this), this.options = Object.assign({}, B, e), this.moved = !1, this.reverse = this.options.reverse ? 1 : -1, this.xDirection = !this.options.direction || this.options.direction === \"all\" || this.options.direction === \"x\", this.yDirection = !this.options.direction || this.options.direction === \"all\" || this.options.direction === \"y\", this.keyIsPressed = !1, this.parseUnderflow(), this.mouseButtons(this.options.mouseButtons), this.options.keyToPress && this.handleKeyPresses(this.options.keyToPress);\n }\n handleKeyPresses(t) {\n const e = (i) => {\n t.includes(i.code) && (this.keyIsPressed = !0);\n }, n = (i) => {\n t.includes(i.code) && (this.keyIsPressed = !1);\n };\n this.addWindowEventHandler(\"keyup\", n), this.addWindowEventHandler(\"keydown\", e);\n }\n addWindowEventHandler(t, e) {\n window.addEventListener(t, e), this.windowEventHandlers.push({ event: t, handler: e });\n }\n destroy() {\n this.windowEventHandlers.forEach(({ event: t, handler: e }) => {\n window.removeEventListener(t, e);\n });\n }\n mouseButtons(t) {\n !t || t === \"all\" ? this.mouse = [!0, !0, !0] : this.mouse = [\n t.indexOf(\"left\") !== -1,\n t.indexOf(\"middle\") !== -1,\n t.indexOf(\"right\") !== -1\n ];\n }\n parseUnderflow() {\n const t = this.options.underflow.toLowerCase();\n t === \"center\" ? (this.underflowX = 0, this.underflowY = 0) : (t.includes(\"left\") ? this.underflowX = -1 : t.includes(\"right\") ? this.underflowX = 1 : this.underflowX = 0, t.includes(\"top\") ? this.underflowY = -1 : t.includes(\"bottom\") ? this.underflowY = 1 : this.underflowY = 0);\n }\n checkButtons(t) {\n const e = t.data.pointerType === \"mouse\", n = this.parent.input.count();\n return !!((n === 1 || n > 1 && !this.parent.plugins.get(\"pinch\", !0)) && (!e || this.mouse[t.data.button]));\n }\n checkKeyPress(t) {\n return !this.options.keyToPress || this.keyIsPressed || this.options.ignoreKeyToPressOnTouch && t.data.pointerType === \"touch\";\n }\n down(t) {\n return this.paused || !this.options.pressDrag ? !1 : this.checkButtons(t) && this.checkKeyPress(t) ? (this.last = { x: t.data.global.x, y: t.data.global.y }, this.current = t.data.pointerId, !0) : (this.last = null, !1);\n }\n get active() {\n return this.moved;\n }\n move(t) {\n if (this.paused || !this.options.pressDrag)\n return !1;\n if (this.last && this.current === t.data.pointerId) {\n const e = t.data.global.x, n = t.data.global.y, i = this.parent.input.count();\n if (i === 1 || i > 1 && !this.parent.plugins.get(\"pinch\", !0)) {\n const s = e - this.last.x, h = n - this.last.y;\n if (this.moved || this.xDirection && this.parent.input.checkThreshold(s) || this.yDirection && this.parent.input.checkThreshold(h)) {\n const o = { x: e, y: n };\n return this.xDirection && (this.parent.x += (o.x - this.last.x) * this.options.factor), this.yDirection && (this.parent.y += (o.y - this.last.y) * this.options.factor), this.last = o, this.moved || this.parent.emit(\"drag-start\", {\n event: t,\n screen: new c(this.last.x, this.last.y),\n world: this.parent.toWorld(new c(this.last.x, this.last.y)),\n viewport: this.parent\n }), this.moved = !0, this.parent.emit(\"moved\", { viewport: this.parent, type: \"drag\" }), !0;\n }\n } else\n this.moved = !1;\n }\n return !1;\n }\n up(t) {\n if (this.paused)\n return !1;\n const e = this.parent.input.touches;\n if (e.length === 1) {\n const n = e[0];\n return n.last && (this.last = { x: n.last.x, y: n.last.y }, this.current = n.id), this.moved = !1, !0;\n } else if (this.last && this.moved) {\n const n = new c(this.last.x, this.last.y);\n return this.parent.emit(\"drag-end\", {\n event: t,\n screen: n,\n world: this.parent.toWorld(n),\n viewport: this.parent\n }), this.last = null, this.moved = !1, !0;\n }\n return !1;\n }\n wheel(t) {\n if (this.paused)\n return !1;\n if (this.options.wheel) {\n const e = this.parent.plugins.get(\"wheel\", !0);\n if (!e || !e.options.wheelZoom && !t.ctrlKey) {\n const n = t.deltaMode ? this.options.lineHeight : 1, i = [t.deltaX, t.deltaY], [s, h] = this.options.wheelSwapAxes ? i.reverse() : i;\n return this.xDirection && (this.parent.x += s * n * this.options.wheelScroll * this.reverse), this.yDirection && (this.parent.y += h * n * this.options.wheelScroll * this.reverse), this.options.clampWheel && this.clamp(), this.parent.emit(\"wheel-scroll\", this.parent), this.parent.emit(\"moved\", { viewport: this.parent, type: \"wheel\" }), this.parent.options.passiveWheel || t.preventDefault(), this.parent.options.stopPropagation && t.stopPropagation(), !0;\n }\n }\n return !1;\n }\n resume() {\n this.last = null, this.paused = !1;\n }\n clamp() {\n const t = this.parent.plugins.get(\"decelerate\", !0) || {};\n if (this.options.clampWheel !== \"y\")\n if (this.parent.screenWorldWidth < this.parent.screenWidth)\n switch (this.underflowX) {\n case -1:\n this.parent.x = 0;\n break;\n case 1:\n this.parent.x = this.parent.screenWidth - this.parent.screenWorldWidth;\n break;\n default:\n this.parent.x = (this.parent.screenWidth - this.parent.screenWorldWidth) / 2;\n }\n else\n this.parent.left < 0 ? (this.parent.x = 0, t.x = 0) : this.parent.right > this.parent.worldWidth && (this.parent.x = -this.parent.worldWidth * this.parent.scale.x + this.parent.screenWidth, t.x = 0);\n if (this.options.clampWheel !== \"x\")\n if (this.parent.screenWorldHeight < this.parent.screenHeight)\n switch (this.underflowY) {\n case -1:\n this.parent.y = 0;\n break;\n case 1:\n this.parent.y = this.parent.screenHeight - this.parent.screenWorldHeight;\n break;\n default:\n this.parent.y = (this.parent.screenHeight - this.parent.screenWorldHeight) / 2;\n }\n else\n this.parent.top < 0 && (this.parent.y = 0, t.y = 0), this.parent.bottom > this.parent.worldHeight && (this.parent.y = -this.parent.worldHeight * this.parent.scale.y + this.parent.screenHeight, t.y = 0);\n }\n}\nconst F = {\n speed: 0,\n acceleration: null,\n radius: null\n};\nclass V extends u {\n constructor(t, e, n = {}) {\n super(t), this.target = e, this.options = Object.assign({}, F, n), this.velocity = { x: 0, y: 0 };\n }\n update(t) {\n if (this.paused)\n return;\n const e = this.parent.center;\n let n = this.target.x, i = this.target.y;\n if (this.options.radius)\n if (Math.sqrt(Math.pow(this.target.y - e.y, 2) + Math.pow(this.target.x - e.x, 2)) > this.options.radius) {\n const r = Math.atan2(this.target.y - e.y, this.target.x - e.x);\n n = this.target.x - Math.cos(r) * this.options.radius, i = this.target.y - Math.sin(r) * this.options.radius;\n } else\n return;\n const s = n - e.x, h = i - e.y;\n if (s || h)\n if (this.options.speed)\n if (this.options.acceleration) {\n const o = Math.atan2(i - e.y, n - e.x), r = Math.sqrt(Math.pow(s, 2) + Math.pow(h, 2));\n if (r) {\n const a = (Math.pow(this.velocity.x, 2) + Math.pow(this.velocity.y, 2)) / (2 * this.options.acceleration);\n r > a ? this.velocity = {\n x: Math.min(this.velocity.x + (this.options.acceleration * t, this.options.speed)),\n y: Math.min(this.velocity.y + (this.options.acceleration * t, this.options.speed))\n } : this.velocity = {\n x: Math.max(this.velocity.x - this.options.acceleration * this.options.speed, 0),\n y: Math.max(this.velocity.y - this.options.acceleration * this.options.speed, 0)\n };\n const p = Math.cos(o) * this.velocity.x, g = Math.sin(o) * this.velocity.y, y = Math.abs(p) > Math.abs(s) ? n : e.x + p, x = Math.abs(g) > Math.abs(h) ? i : e.y + g;\n this.parent.moveCenter(y, x), this.parent.emit(\"moved\", { viewport: this.parent, type: \"follow\" });\n }\n } else {\n const o = Math.atan2(i - e.y, n - e.x), r = Math.cos(o) * this.options.speed, a = Math.sin(o) * this.options.speed, p = Math.abs(r) > Math.abs(s) ? n : e.x + r, g = Math.abs(a) > Math.abs(h) ? i : e.y + a;\n this.parent.moveCenter(p, g), this.parent.emit(\"moved\", { viewport: this.parent, type: \"follow\" });\n }\n else\n this.parent.moveCenter(n, i), this.parent.emit(\"moved\", { viewport: this.parent, type: \"follow\" });\n }\n}\nconst Z = {\n radius: null,\n distance: null,\n top: null,\n bottom: null,\n left: null,\n right: null,\n speed: 8,\n reverse: !1,\n noDecelerate: !1,\n linear: !1,\n allowButtons: !1\n};\nclass N extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, Z, e), this.reverse = this.options.reverse ? 1 : -1, this.radiusSquared = typeof this.options.radius == \"number\" ? Math.pow(this.options.radius, 2) : null, this.resize();\n }\n resize() {\n const t = this.options.distance;\n t !== null ? (this.left = t, this.top = t, this.right = this.parent.screenWidth - t, this.bottom = this.parent.screenHeight - t) : this.options.radius || (this.left = this.options.left, this.top = this.options.top, this.right = this.options.right === null ? null : this.parent.screenWidth - this.options.right, this.bottom = this.options.bottom === null ? null : this.parent.screenHeight - this.options.bottom);\n }\n down() {\n return this.paused || this.options.allowButtons || (this.horizontal = this.vertical = null), !1;\n }\n move(t) {\n if (this.paused || t.data.pointerType !== \"mouse\" && t.data.identifier !== 1 || !this.options.allowButtons && t.data.buttons !== 0)\n return !1;\n const e = t.data.global.x, n = t.data.global.y;\n if (this.radiusSquared) {\n const i = this.parent.toScreen(this.parent.center);\n if (Math.pow(i.x - e, 2) + Math.pow(i.y - n, 2) >= this.radiusSquared) {\n const h = Math.atan2(i.y - n, i.x - e);\n this.options.linear ? (this.horizontal = Math.round(Math.cos(h)) * this.options.speed * this.reverse * (60 / 1e3), this.vertical = Math.round(Math.sin(h)) * this.options.speed * this.reverse * (60 / 1e3)) : (this.horizontal = Math.cos(h) * this.options.speed * this.reverse * (60 / 1e3), this.vertical = Math.sin(h) * this.options.speed * this.reverse * (60 / 1e3));\n } else\n this.horizontal && this.decelerateHorizontal(), this.vertical && this.decelerateVertical(), this.horizontal = this.vertical = 0;\n } else\n this.left !== null && e < this.left ? this.horizontal = Number(this.reverse) * this.options.speed * (60 / 1e3) : this.right !== null && e > this.right ? this.horizontal = -1 * this.reverse * this.options.speed * (60 / 1e3) : (this.decelerateHorizontal(), this.horizontal = 0), this.top !== null && n < this.top ? this.vertical = Number(this.reverse) * this.options.speed * (60 / 1e3) : this.bottom !== null && n > this.bottom ? this.vertical = -1 * this.reverse * this.options.speed * (60 / 1e3) : (this.decelerateVertical(), this.vertical = 0);\n return !1;\n }\n decelerateHorizontal() {\n const t = this.parent.plugins.get(\"decelerate\", !0);\n this.horizontal && t && !this.options.noDecelerate && t.activate({ x: this.horizontal * this.options.speed * this.reverse / (1e3 / 60) });\n }\n decelerateVertical() {\n const t = this.parent.plugins.get(\"decelerate\", !0);\n this.vertical && t && !this.options.noDecelerate && t.activate({ y: this.vertical * this.options.speed * this.reverse / (1e3 / 60) });\n }\n up() {\n return this.paused || (this.horizontal && this.decelerateHorizontal(), this.vertical && this.decelerateVertical(), this.horizontal = this.vertical = null), !1;\n }\n update() {\n if (!this.paused && (this.horizontal || this.vertical)) {\n const t = this.parent.center;\n this.horizontal && (t.x += this.horizontal * this.options.speed), this.vertical && (t.y += this.vertical * this.options.speed), this.parent.moveCenter(t), this.parent.emit(\"moved\", { viewport: this.parent, type: \"mouse-edges\" });\n }\n }\n}\nconst R = {\n noDrag: !1,\n percent: 1,\n center: null,\n factor: 1,\n axis: \"all\"\n};\nclass w extends u {\n __init() {\n this.active = !1;\n }\n __init2() {\n this.pinching = !1;\n }\n __init3() {\n this.moved = !1;\n }\n constructor(t, e = {}) {\n super(t), w.prototype.__init.call(this), w.prototype.__init2.call(this), w.prototype.__init3.call(this), this.options = Object.assign({}, R, e);\n }\n down() {\n return this.parent.input.count() >= 2 ? (this.active = !0, !0) : !1;\n }\n isAxisX() {\n return [\"all\", \"x\"].includes(this.options.axis);\n }\n isAxisY() {\n return [\"all\", \"y\"].includes(this.options.axis);\n }\n move(t) {\n if (this.paused || !this.active)\n return !1;\n const e = t.data.global.x, n = t.data.global.y, i = this.parent.input.touches;\n if (i.length >= 2) {\n const s = i[0], h = i[1], o = s.last && h.last ? Math.sqrt(Math.pow(h.last.x - s.last.x, 2) + Math.pow(h.last.y - s.last.y, 2)) : null;\n if (s.id === t.data.pointerId ? s.last = { x: e, y: n, data: t.data } : h.id === t.data.pointerId && (h.last = { x: e, y: n, data: t.data }), o) {\n let r;\n const a = {\n x: s.last.x + (h.last.x - s.last.x) / 2,\n y: s.last.y + (h.last.y - s.last.y) / 2\n };\n this.options.center || (r = this.parent.toLocal(a));\n let p = Math.sqrt(Math.pow(\n h.last.x - s.last.x,\n 2\n ) + Math.pow(h.last.y - s.last.y, 2));\n p = p === 0 ? p = 1e-10 : p;\n const g = (1 - o / p) * this.options.percent * (this.isAxisX() ? this.parent.scale.x : this.parent.scale.y);\n this.isAxisX() && (this.parent.scale.x += g), this.isAxisY() && (this.parent.scale.y += g), this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"pinch\", center: a });\n const y = this.parent.plugins.get(\"clamp-zoom\", !0);\n if (y && y.clamp(), this.options.center)\n this.parent.moveCenter(this.options.center);\n else {\n const x = this.parent.toGlobal(r);\n this.parent.x += (a.x - x.x) * this.options.factor, this.parent.y += (a.y - x.y) * this.options.factor, this.parent.emit(\"moved\", { viewport: this.parent, type: \"pinch\" });\n }\n !this.options.noDrag && this.lastCenter && (this.parent.x += (a.x - this.lastCenter.x) * this.options.factor, this.parent.y += (a.y - this.lastCenter.y) * this.options.factor, this.parent.emit(\"moved\", { viewport: this.parent, type: \"pinch\" })), this.lastCenter = a, this.moved = !0;\n } else\n this.pinching || (this.parent.emit(\"pinch-start\", this.parent), this.pinching = !0);\n return !0;\n }\n return !1;\n }\n up() {\n return this.pinching && this.parent.input.touches.length <= 1 ? (this.active = !1, this.lastCenter = null, this.pinching = !1, this.moved = !1, this.parent.emit(\"pinch-end\", this.parent), !0) : !1;\n }\n}\nconst j = {\n topLeft: !1,\n friction: 0.8,\n time: 1e3,\n ease: \"easeInOutSine\",\n interrupt: !0,\n removeOnComplete: !1,\n removeOnInterrupt: !1,\n forceStart: !1\n};\nclass q extends u {\n constructor(t, e, n, i = {}) {\n super(t), this.options = Object.assign({}, j, i), this.ease = H(i.ease, \"easeInOutSine\"), this.x = e, this.y = n, this.options.forceStart && this.snapStart();\n }\n snapStart() {\n this.percent = 0, this.snapping = { time: 0 };\n const t = this.options.topLeft ? this.parent.corner : this.parent.center;\n this.deltaX = this.x - t.x, this.deltaY = this.y - t.y, this.startX = t.x, this.startY = t.y, this.parent.emit(\"snap-start\", this.parent);\n }\n wheel() {\n return this.options.removeOnInterrupt && this.parent.plugins.remove(\"snap\"), !1;\n }\n down() {\n return this.options.removeOnInterrupt ? this.parent.plugins.remove(\"snap\") : this.options.interrupt && (this.snapping = null), !1;\n }\n up() {\n if (this.parent.input.count() === 0) {\n const t = this.parent.plugins.get(\"decelerate\", !0);\n t && (t.x || t.y) && (t.percentChangeX = t.percentChangeY = this.options.friction);\n }\n return !1;\n }\n update(t) {\n if (!this.paused && !(this.options.interrupt && this.parent.input.count() !== 0))\n if (this.snapping) {\n const e = this.snapping;\n e.time += t;\n let n, i, s;\n const h = this.startX, o = this.startY, r = this.deltaX, a = this.deltaY;\n if (e.time > this.options.time)\n n = !0, i = h + r, s = o + a;\n else {\n const p = this.ease(e.time, 0, 1, this.options.time);\n i = h + r * p, s = o + a * p;\n }\n this.options.topLeft ? this.parent.moveCorner(i, s) : this.parent.moveCenter(i, s), this.parent.emit(\"moved\", { viewport: this.parent, type: \"snap\" }), n && (this.options.removeOnComplete && this.parent.plugins.remove(\"snap\"), this.parent.emit(\"snap-end\", this.parent), this.snapping = null);\n } else {\n const e = this.options.topLeft ? this.parent.corner : this.parent.center;\n (e.x !== this.x || e.y !== this.y) && this.snapStart();\n }\n }\n}\nconst K = {\n width: 0,\n height: 0,\n time: 1e3,\n ease: \"easeInOutSine\",\n center: null,\n interrupt: !0,\n removeOnComplete: !1,\n removeOnInterrupt: !1,\n forceStart: !1,\n noMove: !1\n};\nclass G extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, K, e), this.ease = H(this.options.ease), this.xIndependent = !1, this.yIndependent = !1, this.xScale = 0, this.yScale = 0, this.options.width > 0 && (this.xScale = t.screenWidth / this.options.width, this.xIndependent = !0), this.options.height > 0 && (this.yScale = t.screenHeight / this.options.height, this.yIndependent = !0), this.xScale = this.xIndependent ? this.xScale : this.yScale, this.yScale = this.yIndependent ? this.yScale : this.xScale, this.options.time === 0 ? (t.container.scale.x = this.xScale, t.container.scale.y = this.yScale, this.options.removeOnComplete && this.parent.plugins.remove(\"snap-zoom\")) : e.forceStart && this.createSnapping();\n }\n createSnapping() {\n const t = this.parent.worldScreenWidth, e = this.parent.worldScreenHeight, n = this.parent.screenWidth / this.xScale, i = this.parent.screenHeight / this.yScale;\n this.snapping = {\n time: 0,\n startX: t,\n startY: e,\n deltaX: n - t,\n deltaY: i - e\n }, this.parent.emit(\"snap-zoom-start\", this.parent);\n }\n resize() {\n this.snapping = null, this.options.width > 0 && (this.xScale = this.parent.screenWidth / this.options.width), this.options.height > 0 && (this.yScale = this.parent.screenHeight / this.options.height), this.xScale = this.xIndependent ? this.xScale : this.yScale, this.yScale = this.yIndependent ? this.yScale : this.xScale;\n }\n wheel() {\n return this.options.removeOnInterrupt && this.parent.plugins.remove(\"snap-zoom\"), !1;\n }\n down() {\n return this.options.removeOnInterrupt ? this.parent.plugins.remove(\"snap-zoom\") : this.options.interrupt && (this.snapping = null), !1;\n }\n update(t) {\n if (this.paused || this.options.interrupt && this.parent.input.count() !== 0)\n return;\n let e;\n if (!this.options.center && !this.options.noMove && (e = this.parent.center), !this.snapping)\n (this.parent.scale.x !== this.xScale || this.parent.scale.y !== this.yScale) && this.createSnapping();\n else if (this.snapping) {\n const n = this.snapping;\n if (n.time += t, n.time >= this.options.time)\n this.parent.scale.set(this.xScale, this.yScale), this.options.removeOnComplete && this.parent.plugins.remove(\"snap-zoom\"), this.parent.emit(\"snap-zoom-end\", this.parent), this.snapping = null;\n else {\n const s = this.snapping, h = this.ease(s.time, s.startX, s.deltaX, this.options.time), o = this.ease(s.time, s.startY, s.deltaY, this.options.time);\n this.parent.scale.x = this.parent.screenWidth / h, this.parent.scale.y = this.parent.screenHeight / o;\n }\n const i = this.parent.plugins.get(\"clamp-zoom\", !0);\n i && i.clamp(), this.options.noMove || (this.options.center ? this.parent.moveCenter(this.options.center) : this.parent.moveCenter(e));\n }\n }\n resume() {\n this.snapping = null, super.resume();\n }\n}\nconst Q = {\n percent: 0.1,\n smooth: !1,\n interrupt: !0,\n reverse: !1,\n center: null,\n lineHeight: 20,\n axis: \"all\",\n keyToPress: null,\n trackpadPinch: !1,\n wheelZoom: !0\n};\nclass $ extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, Q, e), this.keyIsPressed = !1, this.options.keyToPress && this.handleKeyPresses(this.options.keyToPress);\n }\n handleKeyPresses(t) {\n window.addEventListener(\"keydown\", (e) => {\n t.includes(e.code) && (this.keyIsPressed = !0);\n }), window.addEventListener(\"keyup\", (e) => {\n t.includes(e.code) && (this.keyIsPressed = !1);\n });\n }\n checkKeyPress() {\n return !this.options.keyToPress || this.keyIsPressed;\n }\n down() {\n return this.options.interrupt && (this.smoothing = null), !1;\n }\n isAxisX() {\n return [\"all\", \"x\"].includes(this.options.axis);\n }\n isAxisY() {\n return [\"all\", \"y\"].includes(this.options.axis);\n }\n update() {\n if (this.smoothing) {\n const t = this.smoothingCenter, e = this.smoothing;\n let n;\n this.options.center || (n = this.parent.toLocal(t)), this.isAxisX() && (this.parent.scale.x += e.x), this.isAxisY() && (this.parent.scale.y += e.y), this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"wheel\" });\n const i = this.parent.plugins.get(\"clamp-zoom\", !0);\n if (i && i.clamp(), this.options.center)\n this.parent.moveCenter(this.options.center);\n else {\n const s = this.parent.toGlobal(n);\n this.parent.x += t.x - s.x, this.parent.y += t.y - s.y;\n }\n this.parent.emit(\"moved\", { viewport: this.parent, type: \"wheel\" }), this.smoothingCount++, this.smoothingCount >= this.options.smooth && (this.smoothing = null);\n }\n }\n pinch(t) {\n if (this.paused)\n return;\n const e = this.parent.input.getPointerPosition(t), n = -t.deltaY * (t.deltaMode ? this.options.lineHeight : 1) / 200, i = Math.pow(2, (1 + this.options.percent) * n);\n let s;\n this.options.center || (s = this.parent.toLocal(e)), this.isAxisX() && (this.parent.scale.x *= i), this.isAxisY() && (this.parent.scale.y *= i), this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"wheel\" });\n const h = this.parent.plugins.get(\"clamp-zoom\", !0);\n if (h && h.clamp(), this.options.center)\n this.parent.moveCenter(this.options.center);\n else {\n const o = this.parent.toGlobal(s);\n this.parent.x += e.x - o.x, this.parent.y += e.y - o.y;\n }\n this.parent.emit(\"moved\", { viewport: this.parent, type: \"wheel\" }), this.parent.emit(\n \"wheel\",\n { wheel: { dx: t.deltaX, dy: t.deltaY, dz: t.deltaZ }, event: t, viewport: this.parent }\n );\n }\n wheel(t) {\n if (this.paused || !this.checkKeyPress())\n return !1;\n if (t.ctrlKey && this.options.trackpadPinch)\n this.pinch(t);\n else if (this.options.wheelZoom) {\n const e = this.parent.input.getPointerPosition(t), i = (this.options.reverse ? -1 : 1) * -t.deltaY * (t.deltaMode ? this.options.lineHeight : 1) / 500, s = Math.pow(2, (1 + this.options.percent) * i);\n if (this.options.smooth) {\n const h = {\n x: this.smoothing ? this.smoothing.x * (this.options.smooth - this.smoothingCount) : 0,\n y: this.smoothing ? this.smoothing.y * (this.options.smooth - this.smoothingCount) : 0\n };\n this.smoothing = {\n x: ((this.parent.scale.x + h.x) * s - this.parent.scale.x) / this.options.smooth,\n y: ((this.parent.scale.y + h.y) * s - this.parent.scale.y) / this.options.smooth\n }, this.smoothingCount = 0, this.smoothingCenter = e;\n } else {\n let h;\n this.options.center || (h = this.parent.toLocal(e)), this.isAxisX() && (this.parent.scale.x *= s), this.isAxisY() && (this.parent.scale.y *= s), this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"wheel\" });\n const o = this.parent.plugins.get(\"clamp-zoom\", !0);\n if (o && o.clamp(), this.options.center)\n this.parent.moveCenter(this.options.center);\n else {\n const r = this.parent.toGlobal(h);\n this.parent.x += e.x - r.x, this.parent.y += e.y - r.y;\n }\n }\n this.parent.emit(\"moved\", { viewport: this.parent, type: \"wheel\" }), this.parent.emit(\n \"wheel\",\n { wheel: { dx: t.deltaX, dy: t.deltaY, dz: t.deltaZ }, event: t, viewport: this.parent }\n );\n }\n return !this.parent.options.passiveWheel;\n }\n}\nclass J {\n constructor(t) {\n this.viewport = t, this.touches = [], this.addListeners();\n }\n addListeners() {\n this.viewport.interactive = !0, this.viewport.forceHitArea || (this.viewport.hitArea = new b(0, 0, this.viewport.worldWidth, this.viewport.worldHeight)), this.viewport.on(\"pointerdown\", this.down, this), this.viewport.on(\"pointermove\", this.move, this), this.viewport.on(\"pointerup\", this.up, this), this.viewport.on(\"pointerupoutside\", this.up, this), this.viewport.on(\"pointercancel\", this.up, this), this.viewport.on(\"pointerout\", this.up, this), this.wheelFunction = (t) => this.handleWheel(t), this.viewport.options.divWheel.addEventListener(\n \"wheel\",\n this.wheelFunction,\n { passive: this.viewport.options.passiveWheel }\n ), this.isMouseDown = !1;\n }\n destroy() {\n this.viewport.options.divWheel.removeEventListener(\"wheel\", this.wheelFunction);\n }\n down(t) {\n if (this.viewport.pause || !this.viewport.worldVisible)\n return;\n if (t.data.pointerType === \"mouse\" ? this.isMouseDown = !0 : this.get(t.data.pointerId) || this.touches.push({ id: t.data.pointerId, last: null }), this.count() === 1) {\n this.last = t.data.global.clone();\n const n = this.viewport.plugins.get(\"decelerate\", !0), i = this.viewport.plugins.get(\"bounce\", !0);\n (!n || !n.isActive()) && (!i || !i.isActive()) ? this.clickedAvailable = !0 : this.clickedAvailable = !1;\n } else\n this.clickedAvailable = !1;\n this.viewport.plugins.down(t) && this.viewport.options.stopPropagation && t.stopPropagation();\n }\n clear() {\n this.isMouseDown = !1, this.touches = [], this.last = null;\n }\n checkThreshold(t) {\n return Math.abs(t) >= this.viewport.threshold;\n }\n move(t) {\n if (this.viewport.pause || !this.viewport.worldVisible)\n return;\n const e = this.viewport.plugins.move(t);\n if (this.clickedAvailable && this.last) {\n const n = t.data.global.x - this.last.x, i = t.data.global.y - this.last.y;\n (this.checkThreshold(n) || this.checkThreshold(i)) && (this.clickedAvailable = !1);\n }\n e && this.viewport.options.stopPropagation && t.stopPropagation();\n }\n up(t) {\n if (this.viewport.pause || !this.viewport.worldVisible)\n return;\n t.data.pointerType === \"mouse\" && (this.isMouseDown = !1), t.data.pointerType !== \"mouse\" && this.remove(t.data.pointerId);\n const e = this.viewport.plugins.up(t);\n this.clickedAvailable && this.count() === 0 && this.last && (this.viewport.emit(\"clicked\", {\n event: t,\n screen: this.last,\n world: this.viewport.toWorld(this.last),\n viewport: this\n }), this.clickedAvailable = !1), e && this.viewport.options.stopPropagation && t.stopPropagation();\n }\n getPointerPosition(t) {\n const e = new c();\n if (this.viewport.options.interaction)\n this.viewport.options.interaction.mapPositionToPoint(e, t.clientX, t.clientY);\n else if (this.viewport.options.useDivWheelForInputManager && this.viewport.options.divWheel) {\n const n = this.viewport.options.divWheel.getBoundingClientRect();\n e.x = t.clientX - n.left, e.y = t.clientY - n.top;\n } else\n e.x = t.clientX, e.y = t.clientY;\n return e;\n }\n handleWheel(t) {\n if (this.viewport.pause || !this.viewport.worldVisible || this.viewport.options.interaction && this.viewport.options.interaction.interactionDOMElement !== t.target)\n return;\n const e = this.viewport.toLocal(this.getPointerPosition(t));\n this.viewport.left <= e.x && e.x <= this.viewport.right && this.viewport.top <= e.y && e.y <= this.viewport.bottom && this.viewport.plugins.wheel(t) && !this.viewport.options.passiveWheel && t.preventDefault();\n }\n pause() {\n this.touches = [], this.isMouseDown = !1;\n }\n get(t) {\n for (const e of this.touches)\n if (e.id === t)\n return e;\n return null;\n }\n remove(t) {\n for (let e = 0; e < this.touches.length; e++)\n if (this.touches[e].id === t) {\n this.touches.splice(e, 1);\n return;\n }\n }\n count() {\n return (this.isMouseDown ? 1 : 0) + this.touches.length;\n }\n}\nfunction W(l) {\n let t, e = l[0], n = 1;\n for (; n < l.length; ) {\n const i = l[n], s = l[n + 1];\n if (n += 2, (i === \"optionalAccess\" || i === \"optionalCall\") && e == null)\n return;\n i === \"access\" || i === \"optionalAccess\" ? (t = e, e = s(e)) : (i === \"call\" || i === \"optionalCall\") && (e = s((...h) => e.call(t, ...h)), t = void 0);\n }\n return e;\n}\nconst m = [\n \"drag\",\n \"pinch\",\n \"wheel\",\n \"follow\",\n \"mouse-edges\",\n \"decelerate\",\n \"animate\",\n \"bounce\",\n \"snap-zoom\",\n \"clamp-zoom\",\n \"snap\",\n \"clamp\"\n];\nclass tt {\n constructor(t) {\n this.viewport = t, this.list = [], this.plugins = {};\n }\n add(t, e, n = m.length) {\n const i = this.plugins[t];\n i && i.destroy(), this.plugins[t] = e;\n const s = m.indexOf(t);\n s !== -1 && m.splice(s, 1), m.splice(n, 0, t), this.sort();\n }\n get(t, e) {\n return e && W([this, \"access\", (n) => n.plugins, \"access\", (n) => n[t], \"optionalAccess\", (n) => n.paused]) ? null : this.plugins[t];\n }\n update(t) {\n for (const e of this.list)\n e.update(t);\n }\n resize() {\n for (const t of this.list)\n t.resize();\n }\n reset() {\n for (const t of this.list)\n t.reset();\n }\n removeAll() {\n this.list.forEach((t) => {\n t.destroy();\n }), this.plugins = {}, this.sort();\n }\n remove(t) {\n this.plugins[t] && (W([this, \"access\", (e) => e.plugins, \"access\", (e) => e[t], \"optionalAccess\", (e) => e.destroy, \"call\", (e) => e()]), delete this.plugins[t], this.viewport.emit(`${t}-remove`), this.sort());\n }\n pause(t) {\n W([this, \"access\", (e) => e.plugins, \"access\", (e) => e[t], \"optionalAccess\", (e) => e.pause, \"call\", (e) => e()]);\n }\n resume(t) {\n W([this, \"access\", (e) => e.plugins, \"access\", (e) => e[t], \"optionalAccess\", (e) => e.resume, \"call\", (e) => e()]);\n }\n sort() {\n this.list = [];\n for (const t of m)\n this.plugins[t] && this.list.push(this.plugins[t]);\n }\n down(t) {\n let e = !1;\n for (const n of this.list)\n n.down(t) && (e = !0);\n return e;\n }\n move(t) {\n let e = !1;\n for (const n of this.viewport.plugins.list)\n n.move(t) && (e = !0);\n return e;\n }\n up(t) {\n let e = !1;\n for (const n of this.list)\n n.up(t) && (e = !0);\n return e;\n }\n wheel(t) {\n let e = !1;\n for (const n of this.list)\n n.wheel(t) && (e = !0);\n return e;\n }\n}\nconst et = {\n screenWidth: window.innerWidth,\n screenHeight: window.innerHeight,\n worldWidth: null,\n worldHeight: null,\n threshold: 5,\n passiveWheel: !0,\n stopPropagation: !1,\n forceHitArea: null,\n noTicker: !1,\n interaction: null,\n disableOnContextMenu: !1,\n ticker: C.shared\n};\nclass O extends P {\n __init() {\n this._disableOnContextMenu = (t) => t.preventDefault();\n }\n constructor(t = {}) {\n super(), O.prototype.__init.call(this), this.options = Object.assign(\n {},\n { divWheel: document.body },\n et,\n t\n ), this.screenWidth = this.options.screenWidth, this.screenHeight = this.options.screenHeight, this._worldWidth = this.options.worldWidth, this._worldHeight = this.options.worldHeight, this.forceHitArea = this.options.forceHitArea, this.threshold = this.options.threshold, this.options.divWheel = this.options.divWheel || document.body, this.options.disableOnContextMenu && this.options.divWheel.addEventListener(\"contextmenu\", this._disableOnContextMenu), this.options.noTicker || (this.tickerFunction = () => this.update(this.options.ticker.elapsedMS), this.options.ticker.add(this.tickerFunction)), this.input = new J(this), this.plugins = new tt(this);\n }\n destroy(t) {\n !this.options.noTicker && this.tickerFunction && this.options.ticker.remove(this.tickerFunction), this.options.disableOnContextMenu && this.options.divWheel.removeEventListener(\"contextmenu\", this._disableOnContextMenu), this.input.destroy(), super.destroy(t);\n }\n update(t) {\n this.pause || (this.plugins.update(t), this.lastViewport && (this.lastViewport.x !== this.x || this.lastViewport.y !== this.y ? this.moving = !0 : this.moving && (this.emit(\"moved-end\", this), this.moving = !1), this.lastViewport.scaleX !== this.scale.x || this.lastViewport.scaleY !== this.scale.y ? this.zooming = !0 : this.zooming && (this.emit(\"zoomed-end\", this), this.zooming = !1)), this.forceHitArea || (this._hitAreaDefault = new b(this.left, this.top, this.worldScreenWidth, this.worldScreenHeight), this.hitArea = this._hitAreaDefault), this._dirty = this._dirty || !this.lastViewport || this.lastViewport.x !== this.x || this.lastViewport.y !== this.y || this.lastViewport.scaleX !== this.scale.x || this.lastViewport.scaleY !== this.scale.y, this.lastViewport = {\n x: this.x,\n y: this.y,\n scaleX: this.scale.x,\n scaleY: this.scale.y\n }, this.emit(\"frame-end\", this));\n }\n resize(t = window.innerWidth, e = window.innerHeight, n, i) {\n this.screenWidth = t, this.screenHeight = e, typeof n < \"u\" && (this._worldWidth = n), typeof i < \"u\" && (this._worldHeight = i), this.plugins.resize(), this.dirty = !0;\n }\n get worldWidth() {\n return this._worldWidth ? this._worldWidth : this.width / this.scale.x;\n }\n set worldWidth(t) {\n this._worldWidth = t, this.plugins.resize();\n }\n get worldHeight() {\n return this._worldHeight ? this._worldHeight : this.height / this.scale.y;\n }\n set worldHeight(t) {\n this._worldHeight = t, this.plugins.resize();\n }\n getVisibleBounds() {\n return new b(this.left, this.top, this.worldScreenWidth, this.worldScreenHeight);\n }\n toWorld(t, e) {\n return arguments.length === 2 ? this.toLocal(new c(t, e)) : this.toLocal(t);\n }\n toScreen(t, e) {\n return arguments.length === 2 ? this.toGlobal(new c(t, e)) : this.toGlobal(t);\n }\n get worldScreenWidth() {\n return this.screenWidth / this.scale.x;\n }\n get worldScreenHeight() {\n return this.screenHeight / this.scale.y;\n }\n get screenWorldWidth() {\n return this.worldWidth * this.scale.x;\n }\n get screenWorldHeight() {\n return this.worldHeight * this.scale.y;\n }\n get center() {\n return new c(\n this.worldScreenWidth / 2 - this.x / this.scale.x,\n this.worldScreenHeight / 2 - this.y / this.scale.y\n );\n }\n set center(t) {\n this.moveCenter(t);\n }\n moveCenter(...t) {\n let e, n;\n typeof t[0] == \"number\" ? (e = t[0], n = t[1]) : (e = t[0].x, n = t[0].y);\n const i = (this.worldScreenWidth / 2 - e) * this.scale.x, s = (this.worldScreenHeight / 2 - n) * this.scale.y;\n return (this.x !== i || this.y !== s) && (this.position.set(i, s), this.plugins.reset(), this.dirty = !0), this;\n }\n get corner() {\n return new c(-this.x / this.scale.x, -this.y / this.scale.y);\n }\n set corner(t) {\n this.moveCorner(t);\n }\n moveCorner(...t) {\n let e, n;\n return t.length === 1 ? (e = -t[0].x * this.scale.x, n = -t[0].y * this.scale.y) : (e = -t[0] * this.scale.x, n = -t[1] * this.scale.y), (e !== this.x || n !== this.y) && (this.position.set(e, n), this.plugins.reset(), this.dirty = !0), this;\n }\n get screenWidthInWorldPixels() {\n return this.screenWidth / this.scale.x;\n }\n get screenHeightInWorldPixels() {\n return this.screenHeight / this.scale.y;\n }\n findFitWidth(t) {\n return this.screenWidth / t;\n }\n findFitHeight(t) {\n return this.screenHeight / t;\n }\n findFit(t, e) {\n const n = this.screenWidth / t, i = this.screenHeight / e;\n return Math.min(n, i);\n }\n findCover(t, e) {\n const n = this.screenWidth / t, i = this.screenHeight / e;\n return Math.max(n, i);\n }\n fitWidth(t = this.worldWidth, e, n = !0, i) {\n let s;\n e && (s = this.center), this.scale.x = this.screenWidth / t, n && (this.scale.y = this.scale.x);\n const h = this.plugins.get(\"clamp-zoom\", !0);\n return !i && h && h.clamp(), e && s && this.moveCenter(s), this;\n }\n fitHeight(t = this.worldHeight, e, n = !0, i) {\n let s;\n e && (s = this.center), this.scale.y = this.screenHeight / t, n && (this.scale.x = this.scale.y);\n const h = this.plugins.get(\"clamp-zoom\", !0);\n return !i && h && h.clamp(), e && s && this.moveCenter(s), this;\n }\n fitWorld(t) {\n let e;\n t && (e = this.center), this.scale.x = this.screenWidth / this.worldWidth, this.scale.y = this.screenHeight / this.worldHeight, this.scale.x < this.scale.y ? this.scale.y = this.scale.x : this.scale.x = this.scale.y;\n const n = this.plugins.get(\"clamp-zoom\", !0);\n return n && n.clamp(), t && e && this.moveCenter(e), this;\n }\n fit(t, e = this.worldWidth, n = this.worldHeight) {\n let i;\n t && (i = this.center), this.scale.x = this.screenWidth / e, this.scale.y = this.screenHeight / n, this.scale.x < this.scale.y ? this.scale.y = this.scale.x : this.scale.x = this.scale.y;\n const s = this.plugins.get(\"clamp-zoom\", !0);\n return s && s.clamp(), t && i && this.moveCenter(i), this;\n }\n setZoom(t, e) {\n let n;\n e && (n = this.center), this.scale.set(t);\n const i = this.plugins.get(\"clamp-zoom\", !0);\n return i && i.clamp(), e && n && this.moveCenter(n), this;\n }\n zoomPercent(t, e) {\n return this.setZoom(this.scale.x + this.scale.x * t, e);\n }\n zoom(t, e) {\n return this.fitWidth(t + this.worldScreenWidth, e), this;\n }\n get scaled() {\n return this.scale.x;\n }\n set scaled(t) {\n this.setZoom(t, !0);\n }\n snapZoom(t) {\n return this.plugins.add(\"snap-zoom\", new G(this, t)), this;\n }\n OOB() {\n return {\n left: this.left < 0,\n right: this.right > this.worldWidth,\n top: this.top < 0,\n bottom: this.bottom > this.worldHeight,\n cornerPoint: new c(\n this.worldWidth * this.scale.x - this.screenWidth,\n this.worldHeight * this.scale.y - this.screenHeight\n )\n };\n }\n get right() {\n return -this.x / this.scale.x + this.worldScreenWidth;\n }\n set right(t) {\n this.x = -t * this.scale.x + this.screenWidth, this.plugins.reset();\n }\n get left() {\n return -this.x / this.scale.x;\n }\n set left(t) {\n this.x = -t * this.scale.x, this.plugins.reset();\n }\n get top() {\n return -this.y / this.scale.y;\n }\n set top(t) {\n this.y = -t * this.scale.y, this.plugins.reset();\n }\n get bottom() {\n return -this.y / this.scale.y + this.worldScreenHeight;\n }\n set bottom(t) {\n this.y = -t * this.scale.y + this.screenHeight, this.plugins.reset();\n }\n get dirty() {\n return !!this._dirty;\n }\n set dirty(t) {\n this._dirty = t;\n }\n get forceHitArea() {\n return this._forceHitArea;\n }\n set forceHitArea(t) {\n t ? (this._forceHitArea = t, this.hitArea = t) : (this._forceHitArea = null, this.hitArea = new b(0, 0, this.worldWidth, this.worldHeight));\n }\n drag(t) {\n return this.plugins.add(\"drag\", new S(this, t)), this;\n }\n clamp(t) {\n return this.plugins.add(\"clamp\", new T(this, t)), this;\n }\n decelerate(t) {\n return this.plugins.add(\"decelerate\", new U(this, t)), this;\n }\n bounce(t) {\n return this.plugins.add(\"bounce\", new z(this, t)), this;\n }\n pinch(t) {\n return this.plugins.add(\"pinch\", new w(this, t)), this;\n }\n snap(t, e, n) {\n return this.plugins.add(\"snap\", new q(this, t, e, n)), this;\n }\n follow(t, e) {\n return this.plugins.add(\"follow\", new V(this, t, e)), this;\n }\n wheel(t) {\n return this.plugins.add(\"wheel\", new $(this, t)), this;\n }\n animate(t) {\n return this.plugins.add(\"animate\", new d(this, t)), this;\n }\n clampZoom(t) {\n return this.plugins.add(\"clamp-zoom\", new L(this, t)), this;\n }\n mouseEdges(t) {\n return this.plugins.add(\"mouse-edges\", new N(this, t)), this;\n }\n get pause() {\n return !!this._pause;\n }\n set pause(t) {\n this._pause = t, this.lastViewport = null, this.moving = !1, this.zooming = !1, t && this.input.pause();\n }\n ensureVisible(t, e, n, i, s) {\n s && (n > this.worldScreenWidth || i > this.worldScreenHeight) && (this.fit(!0, n, i), this.emit(\"zoomed\", { viewport: this, type: \"ensureVisible\" }));\n let h = !1;\n t < this.left ? (this.left = t, h = !0) : t + n > this.right && (this.right = t + n, h = !0), e < this.top ? (this.top = e, h = !0) : e + i > this.bottom && (this.bottom = e + i, h = !0), h && this.emit(\"moved\", { viewport: this, type: \"ensureVisible\" });\n }\n}\nexport {\n d as Animate,\n z as Bounce,\n T as Clamp,\n L as ClampZoom,\n U as Decelerate,\n S as Drag,\n V as Follow,\n J as InputManager,\n N as MouseEdges,\n w as Pinch,\n u as Plugin,\n tt as PluginManager,\n q as Snap,\n G as SnapZoom,\n O as Viewport,\n $ as Wheel\n};\n//# sourceMappingURL=viewport.es-88169ec4.mjs.map\n"],"names":["u","_","l","k","M","p","Y","d","c","X","z","T","E","D","f","U","S","F","V","r","y","N","h","R","w","j","q","K","Q","$","i","s","o","J","b","n","m","C","O","P"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"viewport.es-88169ec4-14c08196.mjs","sources":["../node_modules/@prefecthq/graphs/dist/viewport.es-88169ec4.mjs"],"sourcesContent":["import { P as c, R as b, T as C, C as P } from \"./index-d123a5cb.mjs\";\nimport \"vue\";\nclass u {\n constructor(t) {\n this.parent = t, this.paused = !1;\n }\n destroy() {\n }\n down(t) {\n return !1;\n }\n move(t) {\n return !1;\n }\n up(t) {\n return !1;\n }\n wheel(t) {\n return !1;\n }\n update(t) {\n }\n resize() {\n }\n reset() {\n }\n pause() {\n this.paused = !0;\n }\n resume() {\n this.paused = !1;\n }\n}\nvar _ = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {};\nfunction I(l, t, e) {\n return e = {\n path: t,\n exports: {},\n require: function(n, i) {\n return k(n, i ?? e.path);\n }\n }, l(e, e.exports), e.exports;\n}\nfunction k() {\n throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\");\n}\nvar M = I(function(l, t) {\n (function() {\n var e, n;\n n = function(i) {\n return l.exports = i;\n }, e = {\n linear: function(i, s, h, o) {\n return h * i / o + s;\n },\n easeInQuad: function(i, s, h, o) {\n return h * (i /= o) * i + s;\n },\n easeOutQuad: function(i, s, h, o) {\n return -h * (i /= o) * (i - 2) + s;\n },\n easeInOutQuad: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? h / 2 * i * i + s : -h / 2 * (--i * (i - 2) - 1) + s;\n },\n easeInCubic: function(i, s, h, o) {\n return h * (i /= o) * i * i + s;\n },\n easeOutCubic: function(i, s, h, o) {\n return h * ((i = i / o - 1) * i * i + 1) + s;\n },\n easeInOutCubic: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? h / 2 * i * i * i + s : h / 2 * ((i -= 2) * i * i + 2) + s;\n },\n easeInQuart: function(i, s, h, o) {\n return h * (i /= o) * i * i * i + s;\n },\n easeOutQuart: function(i, s, h, o) {\n return -h * ((i = i / o - 1) * i * i * i - 1) + s;\n },\n easeInOutQuart: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? h / 2 * i * i * i * i + s : -h / 2 * ((i -= 2) * i * i * i - 2) + s;\n },\n easeInQuint: function(i, s, h, o) {\n return h * (i /= o) * i * i * i * i + s;\n },\n easeOutQuint: function(i, s, h, o) {\n return h * ((i = i / o - 1) * i * i * i * i + 1) + s;\n },\n easeInOutQuint: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? h / 2 * i * i * i * i * i + s : h / 2 * ((i -= 2) * i * i * i * i + 2) + s;\n },\n easeInSine: function(i, s, h, o) {\n return -h * Math.cos(i / o * (Math.PI / 2)) + h + s;\n },\n easeOutSine: function(i, s, h, o) {\n return h * Math.sin(i / o * (Math.PI / 2)) + s;\n },\n easeInOutSine: function(i, s, h, o) {\n return -h / 2 * (Math.cos(Math.PI * i / o) - 1) + s;\n },\n easeInExpo: function(i, s, h, o) {\n return i === 0 ? s : h * Math.pow(2, 10 * (i / o - 1)) + s;\n },\n easeOutExpo: function(i, s, h, o) {\n return i === o ? s + h : h * (-Math.pow(2, -10 * i / o) + 1) + s;\n },\n easeInOutExpo: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? h / 2 * Math.pow(2, 10 * (i - 1)) + s : h / 2 * (-Math.pow(2, -10 * --i) + 2) + s;\n },\n easeInCirc: function(i, s, h, o) {\n return -h * (Math.sqrt(1 - (i /= o) * i) - 1) + s;\n },\n easeOutCirc: function(i, s, h, o) {\n return h * Math.sqrt(1 - (i = i / o - 1) * i) + s;\n },\n easeInOutCirc: function(i, s, h, o) {\n return (i /= o / 2) < 1 ? -h / 2 * (Math.sqrt(1 - i * i) - 1) + s : h / 2 * (Math.sqrt(1 - (i -= 2) * i) + 1) + s;\n },\n easeInElastic: function(i, s, h, o) {\n var r, a, p;\n return p = 1.70158, a = 0, r = h, i === 0 || (i /= o), a || (a = o * 0.3), r < Math.abs(h) ? (r = h, p = a / 4) : p = a / (2 * Math.PI) * Math.asin(h / r), -(r * Math.pow(2, 10 * (i -= 1)) * Math.sin((i * o - p) * (2 * Math.PI) / a)) + s;\n },\n easeOutElastic: function(i, s, h, o) {\n var r, a, p;\n return p = 1.70158, a = 0, r = h, i === 0 || (i /= o), a || (a = o * 0.3), r < Math.abs(h) ? (r = h, p = a / 4) : p = a / (2 * Math.PI) * Math.asin(h / r), r * Math.pow(2, -10 * i) * Math.sin((i * o - p) * (2 * Math.PI) / a) + h + s;\n },\n easeInOutElastic: function(i, s, h, o) {\n var r, a, p;\n return p = 1.70158, a = 0, r = h, i === 0 || (i /= o / 2), a || (a = o * (0.3 * 1.5)), r < Math.abs(h) ? (r = h, p = a / 4) : p = a / (2 * Math.PI) * Math.asin(h / r), i < 1 ? -0.5 * (r * Math.pow(2, 10 * (i -= 1)) * Math.sin((i * o - p) * (2 * Math.PI) / a)) + s : r * Math.pow(2, -10 * (i -= 1)) * Math.sin((i * o - p) * (2 * Math.PI) / a) * 0.5 + h + s;\n },\n easeInBack: function(i, s, h, o, r) {\n return r === void 0 && (r = 1.70158), h * (i /= o) * i * ((r + 1) * i - r) + s;\n },\n easeOutBack: function(i, s, h, o, r) {\n return r === void 0 && (r = 1.70158), h * ((i = i / o - 1) * i * ((r + 1) * i + r) + 1) + s;\n },\n easeInOutBack: function(i, s, h, o, r) {\n return r === void 0 && (r = 1.70158), (i /= o / 2) < 1 ? h / 2 * (i * i * (((r *= 1.525) + 1) * i - r)) + s : h / 2 * ((i -= 2) * i * (((r *= 1.525) + 1) * i + r) + 2) + s;\n },\n easeInBounce: function(i, s, h, o) {\n var r;\n return r = e.easeOutBounce(o - i, 0, h, o), h - r + s;\n },\n easeOutBounce: function(i, s, h, o) {\n return (i /= o) < 1 / 2.75 ? h * (7.5625 * i * i) + s : i < 2 / 2.75 ? h * (7.5625 * (i -= 1.5 / 2.75) * i + 0.75) + s : i < 2.5 / 2.75 ? h * (7.5625 * (i -= 2.25 / 2.75) * i + 0.9375) + s : h * (7.5625 * (i -= 2.625 / 2.75) * i + 0.984375) + s;\n },\n easeInOutBounce: function(i, s, h, o) {\n var r;\n return i < o / 2 ? (r = e.easeInBounce(i * 2, 0, h, o), r * 0.5 + s) : (r = e.easeOutBounce(i * 2 - o, 0, h, o), r * 0.5 + h * 0.5 + s);\n }\n }, n(e);\n }).call(_);\n});\nfunction H(l, t) {\n if (l) {\n if (typeof l == \"function\")\n return l;\n if (typeof l == \"string\")\n return M[l];\n } else\n return M[t];\n}\nconst Y = {\n removeOnInterrupt: !1,\n ease: \"linear\",\n time: 1e3\n};\nclass d extends u {\n __init() {\n this.startWidth = null;\n }\n __init2() {\n this.startHeight = null;\n }\n __init3() {\n this.deltaWidth = null;\n }\n __init4() {\n this.deltaHeight = null;\n }\n __init5() {\n this.width = null;\n }\n __init6() {\n this.height = null;\n }\n __init7() {\n this.time = 0;\n }\n constructor(t, e = {}) {\n super(t), d.prototype.__init.call(this), d.prototype.__init2.call(this), d.prototype.__init3.call(this), d.prototype.__init4.call(this), d.prototype.__init5.call(this), d.prototype.__init6.call(this), d.prototype.__init7.call(this), this.options = Object.assign({}, Y, e), this.options.ease = H(this.options.ease), this.setupPosition(), this.setupZoom(), this.time = 0;\n }\n setupPosition() {\n typeof this.options.position < \"u\" ? (this.startX = this.parent.center.x, this.startY = this.parent.center.y, this.deltaX = this.options.position.x - this.parent.center.x, this.deltaY = this.options.position.y - this.parent.center.y, this.keepCenter = !1) : this.keepCenter = !0;\n }\n setupZoom() {\n this.width = null, this.height = null, typeof this.options.scale < \"u\" ? this.width = this.parent.screenWidth / this.options.scale : typeof this.options.scaleX < \"u\" || typeof this.options.scaleY < \"u\" ? (typeof this.options.scaleX < \"u\" && (this.width = this.parent.screenWidth / this.options.scaleX), typeof this.options.scaleY < \"u\" && (this.height = this.parent.screenHeight / this.options.scaleY)) : (typeof this.options.width < \"u\" && (this.width = this.options.width), typeof this.options.height < \"u\" && (this.height = this.options.height)), this.width !== null && (this.startWidth = this.parent.screenWidthInWorldPixels, this.deltaWidth = this.width - this.startWidth), this.height !== null && (this.startHeight = this.parent.screenHeightInWorldPixels, this.deltaHeight = this.height - this.startHeight);\n }\n down() {\n return this.options.removeOnInterrupt && this.parent.plugins.remove(\"animate\"), !1;\n }\n complete() {\n this.parent.plugins.remove(\"animate\"), this.width !== null && this.parent.fitWidth(this.width, this.keepCenter, this.height === null), this.height !== null && this.parent.fitHeight(this.height, this.keepCenter, this.width === null), !this.keepCenter && this.options.position && this.parent.moveCenter(this.options.position), this.parent.emit(\"animate-end\", this.parent), this.options.callbackOnComplete && this.options.callbackOnComplete(this.parent);\n }\n update(t) {\n if (this.paused)\n return;\n this.time += t;\n const e = new c(this.parent.scale.x, this.parent.scale.y);\n if (this.time >= this.options.time) {\n const n = this.parent.width, i = this.parent.height;\n this.complete(), (n !== this.parent.width || i !== this.parent.height) && this.parent.emit(\"zoomed\", { viewport: this.parent, original: e, type: \"animate\" });\n } else {\n const n = this.options.ease(this.time, 0, 1, this.options.time);\n if (this.width !== null) {\n const i = this.startWidth, s = this.deltaWidth;\n this.parent.fitWidth(\n i + s * n,\n this.keepCenter,\n this.height === null\n );\n }\n if (this.height !== null) {\n const i = this.startHeight, s = this.deltaHeight;\n this.parent.fitHeight(\n i + s * n,\n this.keepCenter,\n this.width === null\n );\n }\n if (this.width === null ? this.parent.scale.x = this.parent.scale.y : this.height === null && (this.parent.scale.y = this.parent.scale.x), !this.keepCenter) {\n const i = this.startX, s = this.startY, h = this.deltaX, o = this.deltaY, r = new c(this.parent.x, this.parent.y);\n this.parent.moveCenter(i + h * n, s + o * n), this.parent.emit(\"moved\", { viewport: this.parent, original: r, type: \"animate\" });\n }\n (this.width || this.height) && this.parent.emit(\"zoomed\", { viewport: this.parent, original: e, type: \"animate\" });\n }\n }\n}\nfunction v(l) {\n let t, e = l[0], n = 1;\n for (; n < l.length; ) {\n const i = l[n], s = l[n + 1];\n if (n += 2, (i === \"optionalAccess\" || i === \"optionalCall\") && e == null)\n return;\n i === \"access\" || i === \"optionalAccess\" ? (t = e, e = s(e)) : (i === \"call\" || i === \"optionalCall\") && (e = s((...h) => e.call(t, ...h)), t = void 0);\n }\n return e;\n}\nconst X = {\n sides: \"all\",\n friction: 0.5,\n time: 150,\n ease: \"easeInOutSine\",\n underflow: \"center\",\n bounceBox: null\n};\nclass z extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, X, e), this.ease = H(this.options.ease, \"easeInOutSine\"), this.options.sides ? this.options.sides === \"all\" ? this.top = this.bottom = this.left = this.right = !0 : this.options.sides === \"horizontal\" ? (this.right = this.left = !0, this.top = this.bottom = !1) : this.options.sides === \"vertical\" ? (this.left = this.right = !1, this.top = this.bottom = !0) : (this.top = this.options.sides.indexOf(\"top\") !== -1, this.bottom = this.options.sides.indexOf(\"bottom\") !== -1, this.left = this.options.sides.indexOf(\"left\") !== -1, this.right = this.options.sides.indexOf(\"right\") !== -1) : this.left = this.top = this.right = this.bottom = !1;\n const n = this.options.underflow.toLowerCase();\n n === \"center\" ? (this.underflowX = 0, this.underflowY = 0) : (this.underflowX = n.indexOf(\"left\") !== -1 ? -1 : n.indexOf(\"right\") !== -1 ? 1 : 0, this.underflowY = n.indexOf(\"top\") !== -1 ? -1 : n.indexOf(\"bottom\") !== -1 ? 1 : 0), this.reset();\n }\n isActive() {\n return this.toX !== null || this.toY !== null;\n }\n down() {\n return this.toX = this.toY = null, !1;\n }\n up() {\n return this.bounce(), !1;\n }\n update(t) {\n if (!this.paused) {\n if (this.bounce(), this.toX) {\n const e = this.toX;\n e.time += t, this.parent.emit(\"moved\", { viewport: this.parent, type: \"bounce-x\" }), e.time >= this.options.time ? (this.parent.x = e.end, this.toX = null, this.parent.emit(\"bounce-x-end\", this.parent)) : this.parent.x = this.ease(e.time, e.start, e.delta, this.options.time);\n }\n if (this.toY) {\n const e = this.toY;\n e.time += t, this.parent.emit(\"moved\", { viewport: this.parent, type: \"bounce-y\" }), e.time >= this.options.time ? (this.parent.y = e.end, this.toY = null, this.parent.emit(\"bounce-y-end\", this.parent)) : this.parent.y = this.ease(e.time, e.start, e.delta, this.options.time);\n }\n }\n }\n calcUnderflowX() {\n let t;\n switch (this.underflowX) {\n case -1:\n t = 0;\n break;\n case 1:\n t = this.parent.screenWidth - this.parent.screenWorldWidth;\n break;\n default:\n t = (this.parent.screenWidth - this.parent.screenWorldWidth) / 2;\n }\n return t;\n }\n calcUnderflowY() {\n let t;\n switch (this.underflowY) {\n case -1:\n t = 0;\n break;\n case 1:\n t = this.parent.screenHeight - this.parent.screenWorldHeight;\n break;\n default:\n t = (this.parent.screenHeight - this.parent.screenWorldHeight) / 2;\n }\n return t;\n }\n oob() {\n const t = this.options.bounceBox;\n if (t) {\n const e = typeof t.x > \"u\" ? 0 : t.x, n = typeof t.y > \"u\" ? 0 : t.y, i = typeof t.width > \"u\" ? this.parent.worldWidth : t.width, s = typeof t.height > \"u\" ? this.parent.worldHeight : t.height;\n return {\n left: this.parent.left < e,\n right: this.parent.right > i,\n top: this.parent.top < n,\n bottom: this.parent.bottom > s,\n topLeft: new c(\n e * this.parent.scale.x,\n n * this.parent.scale.y\n ),\n bottomRight: new c(\n i * this.parent.scale.x - this.parent.screenWidth,\n s * this.parent.scale.y - this.parent.screenHeight\n )\n };\n }\n return {\n left: this.parent.left < 0,\n right: this.parent.right > this.parent.worldWidth,\n top: this.parent.top < 0,\n bottom: this.parent.bottom > this.parent.worldHeight,\n topLeft: new c(0, 0),\n bottomRight: new c(\n this.parent.worldWidth * this.parent.scale.x - this.parent.screenWidth,\n this.parent.worldHeight * this.parent.scale.y - this.parent.screenHeight\n )\n };\n }\n bounce() {\n if (this.paused)\n return;\n let t, e = this.parent.plugins.get(\"decelerate\", !0);\n e && (e.x || e.y) && (e.x && e.percentChangeX === v([e, \"access\", (s) => s.options, \"optionalAccess\", (s) => s.friction]) || e.y && e.percentChangeY === v([e, \"access\", (s) => s.options, \"optionalAccess\", (s) => s.friction])) && (t = this.oob(), (t.left && this.left || t.right && this.right) && (e.percentChangeX = this.options.friction), (t.top && this.top || t.bottom && this.bottom) && (e.percentChangeY = this.options.friction));\n const n = this.parent.plugins.get(\"drag\", !0) || {}, i = this.parent.plugins.get(\"pinch\", !0) || {};\n if (e = e || {}, !v([n, \"optionalAccess\", (s) => s.active]) && !v([i, \"optionalAccess\", (s) => s.active]) && (!this.toX || !this.toY) && (!e.x || !e.y)) {\n t = t || this.oob();\n const s = t.topLeft, h = t.bottomRight;\n if (!this.toX && !e.x) {\n let o = null;\n t.left && this.left ? o = this.parent.screenWorldWidth < this.parent.screenWidth ? this.calcUnderflowX() : -s.x : t.right && this.right && (o = this.parent.screenWorldWidth < this.parent.screenWidth ? this.calcUnderflowX() : -h.x), o !== null && this.parent.x !== o && (this.toX = { time: 0, start: this.parent.x, delta: o - this.parent.x, end: o }, this.parent.emit(\"bounce-x-start\", this.parent));\n }\n if (!this.toY && !e.y) {\n let o = null;\n t.top && this.top ? o = this.parent.screenWorldHeight < this.parent.screenHeight ? this.calcUnderflowY() : -s.y : t.bottom && this.bottom && (o = this.parent.screenWorldHeight < this.parent.screenHeight ? this.calcUnderflowY() : -h.y), o !== null && this.parent.y !== o && (this.toY = { time: 0, start: this.parent.y, delta: o - this.parent.y, end: o }, this.parent.emit(\"bounce-y-start\", this.parent));\n }\n }\n }\n reset() {\n this.toX = this.toY = null, this.bounce();\n }\n}\nconst A = {\n left: !1,\n right: !1,\n top: !1,\n bottom: !1,\n direction: null,\n underflow: \"center\"\n};\nclass T extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, A, e), this.options.direction && (this.options.left = this.options.direction === \"x\" || this.options.direction === \"all\" ? !0 : null, this.options.right = this.options.direction === \"x\" || this.options.direction === \"all\" ? !0 : null, this.options.top = this.options.direction === \"y\" || this.options.direction === \"all\" ? !0 : null, this.options.bottom = this.options.direction === \"y\" || this.options.direction === \"all\" ? !0 : null), this.parseUnderflow(), this.last = { x: null, y: null, scaleX: null, scaleY: null }, this.update();\n }\n parseUnderflow() {\n const t = this.options.underflow.toLowerCase();\n t === \"none\" ? this.noUnderflow = !0 : t === \"center\" ? (this.underflowX = this.underflowY = 0, this.noUnderflow = !1) : (this.underflowX = t.indexOf(\"left\") !== -1 ? -1 : t.indexOf(\"right\") !== -1 ? 1 : 0, this.underflowY = t.indexOf(\"top\") !== -1 ? -1 : t.indexOf(\"bottom\") !== -1 ? 1 : 0, this.noUnderflow = !1);\n }\n move() {\n return this.update(), !1;\n }\n update() {\n if (this.paused || this.parent.x === this.last.x && this.parent.y === this.last.y && this.parent.scale.x === this.last.scaleX && this.parent.scale.y === this.last.scaleY)\n return;\n const t = { x: this.parent.x, y: this.parent.y }, e = this.parent.plugins.decelerate || {};\n if (this.options.left !== null || this.options.right !== null) {\n let n = !1;\n if (!this.noUnderflow && this.parent.screenWorldWidth < this.parent.screenWidth)\n switch (this.underflowX) {\n case -1:\n this.parent.x !== 0 && (this.parent.x = 0, n = !0);\n break;\n case 1:\n this.parent.x !== this.parent.screenWidth - this.parent.screenWorldWidth && (this.parent.x = this.parent.screenWidth - this.parent.screenWorldWidth, n = !0);\n break;\n default:\n this.parent.x !== (this.parent.screenWidth - this.parent.screenWorldWidth) / 2 && (this.parent.x = (this.parent.screenWidth - this.parent.screenWorldWidth) / 2, n = !0);\n }\n else\n this.options.left !== null && this.parent.left < (this.options.left === !0 ? 0 : this.options.left) && (this.parent.x = -(this.options.left === !0 ? 0 : this.options.left) * this.parent.scale.x, e.x = 0, n = !0), this.options.right !== null && this.parent.right > (this.options.right === !0 ? this.parent.worldWidth : this.options.right) && (this.parent.x = -(this.options.right === !0 ? this.parent.worldWidth : this.options.right) * this.parent.scale.x + this.parent.screenWidth, e.x = 0, n = !0);\n n && this.parent.emit(\"moved\", { viewport: this.parent, original: t, type: \"clamp-x\" });\n }\n if (this.options.top !== null || this.options.bottom !== null) {\n let n = !1;\n if (!this.noUnderflow && this.parent.screenWorldHeight < this.parent.screenHeight)\n switch (this.underflowY) {\n case -1:\n this.parent.y !== 0 && (this.parent.y = 0, n = !0);\n break;\n case 1:\n this.parent.y !== this.parent.screenHeight - this.parent.screenWorldHeight && (this.parent.y = this.parent.screenHeight - this.parent.screenWorldHeight, n = !0);\n break;\n default:\n this.parent.y !== (this.parent.screenHeight - this.parent.screenWorldHeight) / 2 && (this.parent.y = (this.parent.screenHeight - this.parent.screenWorldHeight) / 2, n = !0);\n }\n else\n this.options.top !== null && this.parent.top < (this.options.top === !0 ? 0 : this.options.top) && (this.parent.y = -(this.options.top === !0 ? 0 : this.options.top) * this.parent.scale.y, e.y = 0, n = !0), this.options.bottom !== null && this.parent.bottom > (this.options.bottom === !0 ? this.parent.worldHeight : this.options.bottom) && (this.parent.y = -(this.options.bottom === !0 ? this.parent.worldHeight : this.options.bottom) * this.parent.scale.y + this.parent.screenHeight, e.y = 0, n = !0);\n n && this.parent.emit(\"moved\", { viewport: this.parent, original: t, type: \"clamp-y\" });\n }\n this.last.x = this.parent.x, this.last.y = this.parent.y, this.last.scaleX = this.parent.scale.x, this.last.scaleY = this.parent.scale.y;\n }\n reset() {\n this.update();\n }\n}\nconst E = {\n minWidth: null,\n minHeight: null,\n maxWidth: null,\n maxHeight: null,\n minScale: null,\n maxScale: null\n};\nclass L extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, E, e), this.clamp();\n }\n resize() {\n this.clamp();\n }\n clamp() {\n if (!this.paused) {\n if (this.options.minWidth || this.options.minHeight || this.options.maxWidth || this.options.maxHeight) {\n let t = this.parent.worldScreenWidth, e = this.parent.worldScreenHeight;\n if (this.options.minWidth !== null && t < this.options.minWidth) {\n const n = this.parent.scale.x;\n this.parent.fitWidth(this.options.minWidth, !1, !1, !0), this.parent.scale.y *= this.parent.scale.x / n, t = this.parent.worldScreenWidth, e = this.parent.worldScreenHeight, this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"clamp-zoom\" });\n }\n if (this.options.maxWidth !== null && t > this.options.maxWidth) {\n const n = this.parent.scale.x;\n this.parent.fitWidth(this.options.maxWidth, !1, !1, !0), this.parent.scale.y *= this.parent.scale.x / n, t = this.parent.worldScreenWidth, e = this.parent.worldScreenHeight, this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"clamp-zoom\" });\n }\n if (this.options.minHeight !== null && e < this.options.minHeight) {\n const n = this.parent.scale.y;\n this.parent.fitHeight(this.options.minHeight, !1, !1, !0), this.parent.scale.x *= this.parent.scale.y / n, t = this.parent.worldScreenWidth, e = this.parent.worldScreenHeight, this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"clamp-zoom\" });\n }\n if (this.options.maxHeight !== null && e > this.options.maxHeight) {\n const n = this.parent.scale.y;\n this.parent.fitHeight(this.options.maxHeight, !1, !1, !0), this.parent.scale.x *= this.parent.scale.y / n, this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"clamp-zoom\" });\n }\n } else if (this.options.minScale || this.options.maxScale) {\n const t = { x: null, y: null }, e = { x: null, y: null };\n if (typeof this.options.minScale == \"number\")\n t.x = this.options.minScale, t.y = this.options.minScale;\n else if (this.options.minScale !== null) {\n const s = this.options.minScale;\n t.x = typeof s.x > \"u\" ? null : s.x, t.y = typeof s.y > \"u\" ? null : s.y;\n }\n if (typeof this.options.maxScale == \"number\")\n e.x = this.options.maxScale, e.y = this.options.maxScale;\n else if (this.options.maxScale !== null) {\n const s = this.options.maxScale;\n e.x = typeof s.x > \"u\" ? null : s.x, e.y = typeof s.y > \"u\" ? null : s.y;\n }\n let n = this.parent.scale.x, i = this.parent.scale.y;\n t.x !== null && n < t.x && (n = t.x), e.x !== null && n > e.x && (n = e.x), t.y !== null && i < t.y && (i = t.y), e.y !== null && i > e.y && (i = e.y), (n !== this.parent.scale.x || i !== this.parent.scale.y) && (this.parent.scale.set(n, i), this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"clamp-zoom\" }));\n }\n }\n }\n reset() {\n this.clamp();\n }\n}\nconst D = {\n friction: 0.98,\n bounce: 0.8,\n minSpeed: 0.01\n}, f = 16;\nclass U extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, D, e), this.saved = [], this.timeSinceRelease = 0, this.reset(), this.parent.on(\"moved\", (n) => this.moved(n));\n }\n down() {\n return this.saved = [], this.x = this.y = null, !1;\n }\n isActive() {\n return !!(this.x || this.y);\n }\n move() {\n if (this.paused)\n return !1;\n const t = this.parent.input.count();\n return (t === 1 || t > 1 && !this.parent.plugins.get(\"pinch\", !0)) && (this.saved.push({ x: this.parent.x, y: this.parent.y, time: performance.now() }), this.saved.length > 60 && this.saved.splice(0, 30)), !1;\n }\n moved(t) {\n if (this.saved.length) {\n const e = this.saved[this.saved.length - 1];\n t.type === \"clamp-x\" ? e.x === t.original.x && (e.x = this.parent.x) : t.type === \"clamp-y\" && e.y === t.original.y && (e.y = this.parent.y);\n }\n }\n up() {\n if (this.parent.input.count() === 0 && this.saved.length) {\n const t = performance.now();\n for (const e of this.saved)\n if (e.time >= t - 100) {\n const n = t - e.time;\n this.x = (this.parent.x - e.x) / n, this.y = (this.parent.y - e.y) / n, this.percentChangeX = this.percentChangeY = this.options.friction, this.timeSinceRelease = 0;\n break;\n }\n }\n return !1;\n }\n activate(t) {\n t = t || {}, typeof t.x < \"u\" && (this.x = t.x, this.percentChangeX = this.options.friction), typeof t.y < \"u\" && (this.y = t.y, this.percentChangeY = this.options.friction);\n }\n update(t) {\n if (this.paused)\n return;\n const e = this.x || this.y, n = this.timeSinceRelease, i = this.timeSinceRelease + t;\n if (this.x) {\n const s = this.percentChangeX, h = Math.log(s);\n this.parent.x += this.x * f / h * (Math.pow(s, i / f) - Math.pow(s, n / f)), this.x *= Math.pow(this.percentChangeX, t / f);\n }\n if (this.y) {\n const s = this.percentChangeY, h = Math.log(s);\n this.parent.y += this.y * f / h * (Math.pow(s, i / f) - Math.pow(s, n / f)), this.y *= Math.pow(this.percentChangeY, t / f);\n }\n this.timeSinceRelease += t, this.x && this.y ? Math.abs(this.x) < this.options.minSpeed && Math.abs(this.y) < this.options.minSpeed && (this.x = 0, this.y = 0) : (Math.abs(this.x || 0) < this.options.minSpeed && (this.x = 0), Math.abs(this.y || 0) < this.options.minSpeed && (this.y = 0)), e && this.parent.emit(\"moved\", { viewport: this.parent, type: \"decelerate\" });\n }\n reset() {\n this.x = this.y = null;\n }\n}\nconst B = {\n direction: \"all\",\n pressDrag: !0,\n wheel: !0,\n wheelScroll: 1,\n reverse: !1,\n clampWheel: !1,\n underflow: \"center\",\n factor: 1,\n mouseButtons: \"all\",\n keyToPress: null,\n ignoreKeyToPressOnTouch: !1,\n lineHeight: 20,\n wheelSwapAxes: !1\n};\nclass S extends u {\n __init() {\n this.windowEventHandlers = new Array();\n }\n constructor(t, e = {}) {\n super(t), S.prototype.__init.call(this), this.options = Object.assign({}, B, e), this.moved = !1, this.reverse = this.options.reverse ? 1 : -1, this.xDirection = !this.options.direction || this.options.direction === \"all\" || this.options.direction === \"x\", this.yDirection = !this.options.direction || this.options.direction === \"all\" || this.options.direction === \"y\", this.keyIsPressed = !1, this.parseUnderflow(), this.mouseButtons(this.options.mouseButtons), this.options.keyToPress && this.handleKeyPresses(this.options.keyToPress);\n }\n handleKeyPresses(t) {\n const e = (i) => {\n t.includes(i.code) && (this.keyIsPressed = !0);\n }, n = (i) => {\n t.includes(i.code) && (this.keyIsPressed = !1);\n };\n this.addWindowEventHandler(\"keyup\", n), this.addWindowEventHandler(\"keydown\", e);\n }\n addWindowEventHandler(t, e) {\n window.addEventListener(t, e), this.windowEventHandlers.push({ event: t, handler: e });\n }\n destroy() {\n this.windowEventHandlers.forEach(({ event: t, handler: e }) => {\n window.removeEventListener(t, e);\n });\n }\n mouseButtons(t) {\n !t || t === \"all\" ? this.mouse = [!0, !0, !0] : this.mouse = [\n t.indexOf(\"left\") !== -1,\n t.indexOf(\"middle\") !== -1,\n t.indexOf(\"right\") !== -1\n ];\n }\n parseUnderflow() {\n const t = this.options.underflow.toLowerCase();\n t === \"center\" ? (this.underflowX = 0, this.underflowY = 0) : (t.includes(\"left\") ? this.underflowX = -1 : t.includes(\"right\") ? this.underflowX = 1 : this.underflowX = 0, t.includes(\"top\") ? this.underflowY = -1 : t.includes(\"bottom\") ? this.underflowY = 1 : this.underflowY = 0);\n }\n checkButtons(t) {\n const e = t.data.pointerType === \"mouse\", n = this.parent.input.count();\n return !!((n === 1 || n > 1 && !this.parent.plugins.get(\"pinch\", !0)) && (!e || this.mouse[t.data.button]));\n }\n checkKeyPress(t) {\n return !this.options.keyToPress || this.keyIsPressed || this.options.ignoreKeyToPressOnTouch && t.data.pointerType === \"touch\";\n }\n down(t) {\n return this.paused || !this.options.pressDrag ? !1 : this.checkButtons(t) && this.checkKeyPress(t) ? (this.last = { x: t.data.global.x, y: t.data.global.y }, this.current = t.data.pointerId, !0) : (this.last = null, !1);\n }\n get active() {\n return this.moved;\n }\n move(t) {\n if (this.paused || !this.options.pressDrag)\n return !1;\n if (this.last && this.current === t.data.pointerId) {\n const e = t.data.global.x, n = t.data.global.y, i = this.parent.input.count();\n if (i === 1 || i > 1 && !this.parent.plugins.get(\"pinch\", !0)) {\n const s = e - this.last.x, h = n - this.last.y;\n if (this.moved || this.xDirection && this.parent.input.checkThreshold(s) || this.yDirection && this.parent.input.checkThreshold(h)) {\n const o = { x: e, y: n };\n return this.xDirection && (this.parent.x += (o.x - this.last.x) * this.options.factor), this.yDirection && (this.parent.y += (o.y - this.last.y) * this.options.factor), this.last = o, this.moved || this.parent.emit(\"drag-start\", {\n event: t,\n screen: new c(this.last.x, this.last.y),\n world: this.parent.toWorld(new c(this.last.x, this.last.y)),\n viewport: this.parent\n }), this.moved = !0, this.parent.emit(\"moved\", { viewport: this.parent, type: \"drag\" }), !0;\n }\n } else\n this.moved = !1;\n }\n return !1;\n }\n up(t) {\n if (this.paused)\n return !1;\n const e = this.parent.input.touches;\n if (e.length === 1) {\n const n = e[0];\n return n.last && (this.last = { x: n.last.x, y: n.last.y }, this.current = n.id), this.moved = !1, !0;\n } else if (this.last && this.moved) {\n const n = new c(this.last.x, this.last.y);\n return this.parent.emit(\"drag-end\", {\n event: t,\n screen: n,\n world: this.parent.toWorld(n),\n viewport: this.parent\n }), this.last = null, this.moved = !1, !0;\n }\n return !1;\n }\n wheel(t) {\n if (this.paused)\n return !1;\n if (this.options.wheel) {\n const e = this.parent.plugins.get(\"wheel\", !0);\n if (!e || !e.options.wheelZoom && !t.ctrlKey) {\n const n = t.deltaMode ? this.options.lineHeight : 1, i = [t.deltaX, t.deltaY], [s, h] = this.options.wheelSwapAxes ? i.reverse() : i;\n return this.xDirection && (this.parent.x += s * n * this.options.wheelScroll * this.reverse), this.yDirection && (this.parent.y += h * n * this.options.wheelScroll * this.reverse), this.options.clampWheel && this.clamp(), this.parent.emit(\"wheel-scroll\", this.parent), this.parent.emit(\"moved\", { viewport: this.parent, type: \"wheel\" }), this.parent.options.passiveWheel || t.preventDefault(), this.parent.options.stopPropagation && t.stopPropagation(), !0;\n }\n }\n return !1;\n }\n resume() {\n this.last = null, this.paused = !1;\n }\n clamp() {\n const t = this.parent.plugins.get(\"decelerate\", !0) || {};\n if (this.options.clampWheel !== \"y\")\n if (this.parent.screenWorldWidth < this.parent.screenWidth)\n switch (this.underflowX) {\n case -1:\n this.parent.x = 0;\n break;\n case 1:\n this.parent.x = this.parent.screenWidth - this.parent.screenWorldWidth;\n break;\n default:\n this.parent.x = (this.parent.screenWidth - this.parent.screenWorldWidth) / 2;\n }\n else\n this.parent.left < 0 ? (this.parent.x = 0, t.x = 0) : this.parent.right > this.parent.worldWidth && (this.parent.x = -this.parent.worldWidth * this.parent.scale.x + this.parent.screenWidth, t.x = 0);\n if (this.options.clampWheel !== \"x\")\n if (this.parent.screenWorldHeight < this.parent.screenHeight)\n switch (this.underflowY) {\n case -1:\n this.parent.y = 0;\n break;\n case 1:\n this.parent.y = this.parent.screenHeight - this.parent.screenWorldHeight;\n break;\n default:\n this.parent.y = (this.parent.screenHeight - this.parent.screenWorldHeight) / 2;\n }\n else\n this.parent.top < 0 && (this.parent.y = 0, t.y = 0), this.parent.bottom > this.parent.worldHeight && (this.parent.y = -this.parent.worldHeight * this.parent.scale.y + this.parent.screenHeight, t.y = 0);\n }\n}\nconst F = {\n speed: 0,\n acceleration: null,\n radius: null\n};\nclass V extends u {\n constructor(t, e, n = {}) {\n super(t), this.target = e, this.options = Object.assign({}, F, n), this.velocity = { x: 0, y: 0 };\n }\n update(t) {\n if (this.paused)\n return;\n const e = this.parent.center;\n let n = this.target.x, i = this.target.y;\n if (this.options.radius)\n if (Math.sqrt(Math.pow(this.target.y - e.y, 2) + Math.pow(this.target.x - e.x, 2)) > this.options.radius) {\n const r = Math.atan2(this.target.y - e.y, this.target.x - e.x);\n n = this.target.x - Math.cos(r) * this.options.radius, i = this.target.y - Math.sin(r) * this.options.radius;\n } else\n return;\n const s = n - e.x, h = i - e.y;\n if (s || h)\n if (this.options.speed)\n if (this.options.acceleration) {\n const o = Math.atan2(i - e.y, n - e.x), r = Math.sqrt(Math.pow(s, 2) + Math.pow(h, 2));\n if (r) {\n const a = (Math.pow(this.velocity.x, 2) + Math.pow(this.velocity.y, 2)) / (2 * this.options.acceleration);\n r > a ? this.velocity = {\n x: Math.min(this.velocity.x + (this.options.acceleration * t, this.options.speed)),\n y: Math.min(this.velocity.y + (this.options.acceleration * t, this.options.speed))\n } : this.velocity = {\n x: Math.max(this.velocity.x - this.options.acceleration * this.options.speed, 0),\n y: Math.max(this.velocity.y - this.options.acceleration * this.options.speed, 0)\n };\n const p = Math.cos(o) * this.velocity.x, g = Math.sin(o) * this.velocity.y, y = Math.abs(p) > Math.abs(s) ? n : e.x + p, x = Math.abs(g) > Math.abs(h) ? i : e.y + g;\n this.parent.moveCenter(y, x), this.parent.emit(\"moved\", { viewport: this.parent, type: \"follow\" });\n }\n } else {\n const o = Math.atan2(i - e.y, n - e.x), r = Math.cos(o) * this.options.speed, a = Math.sin(o) * this.options.speed, p = Math.abs(r) > Math.abs(s) ? n : e.x + r, g = Math.abs(a) > Math.abs(h) ? i : e.y + a;\n this.parent.moveCenter(p, g), this.parent.emit(\"moved\", { viewport: this.parent, type: \"follow\" });\n }\n else\n this.parent.moveCenter(n, i), this.parent.emit(\"moved\", { viewport: this.parent, type: \"follow\" });\n }\n}\nconst Z = {\n radius: null,\n distance: null,\n top: null,\n bottom: null,\n left: null,\n right: null,\n speed: 8,\n reverse: !1,\n noDecelerate: !1,\n linear: !1,\n allowButtons: !1\n};\nclass N extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, Z, e), this.reverse = this.options.reverse ? 1 : -1, this.radiusSquared = typeof this.options.radius == \"number\" ? Math.pow(this.options.radius, 2) : null, this.resize();\n }\n resize() {\n const t = this.options.distance;\n t !== null ? (this.left = t, this.top = t, this.right = this.parent.screenWidth - t, this.bottom = this.parent.screenHeight - t) : this.options.radius || (this.left = this.options.left, this.top = this.options.top, this.right = this.options.right === null ? null : this.parent.screenWidth - this.options.right, this.bottom = this.options.bottom === null ? null : this.parent.screenHeight - this.options.bottom);\n }\n down() {\n return this.paused || this.options.allowButtons || (this.horizontal = this.vertical = null), !1;\n }\n move(t) {\n if (this.paused || t.data.pointerType !== \"mouse\" && t.data.identifier !== 1 || !this.options.allowButtons && t.data.buttons !== 0)\n return !1;\n const e = t.data.global.x, n = t.data.global.y;\n if (this.radiusSquared) {\n const i = this.parent.toScreen(this.parent.center);\n if (Math.pow(i.x - e, 2) + Math.pow(i.y - n, 2) >= this.radiusSquared) {\n const h = Math.atan2(i.y - n, i.x - e);\n this.options.linear ? (this.horizontal = Math.round(Math.cos(h)) * this.options.speed * this.reverse * (60 / 1e3), this.vertical = Math.round(Math.sin(h)) * this.options.speed * this.reverse * (60 / 1e3)) : (this.horizontal = Math.cos(h) * this.options.speed * this.reverse * (60 / 1e3), this.vertical = Math.sin(h) * this.options.speed * this.reverse * (60 / 1e3));\n } else\n this.horizontal && this.decelerateHorizontal(), this.vertical && this.decelerateVertical(), this.horizontal = this.vertical = 0;\n } else\n this.left !== null && e < this.left ? this.horizontal = Number(this.reverse) * this.options.speed * (60 / 1e3) : this.right !== null && e > this.right ? this.horizontal = -1 * this.reverse * this.options.speed * (60 / 1e3) : (this.decelerateHorizontal(), this.horizontal = 0), this.top !== null && n < this.top ? this.vertical = Number(this.reverse) * this.options.speed * (60 / 1e3) : this.bottom !== null && n > this.bottom ? this.vertical = -1 * this.reverse * this.options.speed * (60 / 1e3) : (this.decelerateVertical(), this.vertical = 0);\n return !1;\n }\n decelerateHorizontal() {\n const t = this.parent.plugins.get(\"decelerate\", !0);\n this.horizontal && t && !this.options.noDecelerate && t.activate({ x: this.horizontal * this.options.speed * this.reverse / (1e3 / 60) });\n }\n decelerateVertical() {\n const t = this.parent.plugins.get(\"decelerate\", !0);\n this.vertical && t && !this.options.noDecelerate && t.activate({ y: this.vertical * this.options.speed * this.reverse / (1e3 / 60) });\n }\n up() {\n return this.paused || (this.horizontal && this.decelerateHorizontal(), this.vertical && this.decelerateVertical(), this.horizontal = this.vertical = null), !1;\n }\n update() {\n if (!this.paused && (this.horizontal || this.vertical)) {\n const t = this.parent.center;\n this.horizontal && (t.x += this.horizontal * this.options.speed), this.vertical && (t.y += this.vertical * this.options.speed), this.parent.moveCenter(t), this.parent.emit(\"moved\", { viewport: this.parent, type: \"mouse-edges\" });\n }\n }\n}\nconst R = {\n noDrag: !1,\n percent: 1,\n center: null,\n factor: 1,\n axis: \"all\"\n};\nclass w extends u {\n __init() {\n this.active = !1;\n }\n __init2() {\n this.pinching = !1;\n }\n __init3() {\n this.moved = !1;\n }\n constructor(t, e = {}) {\n super(t), w.prototype.__init.call(this), w.prototype.__init2.call(this), w.prototype.__init3.call(this), this.options = Object.assign({}, R, e);\n }\n down() {\n return this.parent.input.count() >= 2 ? (this.active = !0, !0) : !1;\n }\n isAxisX() {\n return [\"all\", \"x\"].includes(this.options.axis);\n }\n isAxisY() {\n return [\"all\", \"y\"].includes(this.options.axis);\n }\n move(t) {\n if (this.paused || !this.active)\n return !1;\n const e = t.data.global.x, n = t.data.global.y, i = this.parent.input.touches;\n if (i.length >= 2) {\n const s = i[0], h = i[1], o = s.last && h.last ? Math.sqrt(Math.pow(h.last.x - s.last.x, 2) + Math.pow(h.last.y - s.last.y, 2)) : null;\n if (s.id === t.data.pointerId ? s.last = { x: e, y: n, data: t.data } : h.id === t.data.pointerId && (h.last = { x: e, y: n, data: t.data }), o) {\n let r;\n const a = {\n x: s.last.x + (h.last.x - s.last.x) / 2,\n y: s.last.y + (h.last.y - s.last.y) / 2\n };\n this.options.center || (r = this.parent.toLocal(a));\n let p = Math.sqrt(Math.pow(\n h.last.x - s.last.x,\n 2\n ) + Math.pow(h.last.y - s.last.y, 2));\n p = p === 0 ? p = 1e-10 : p;\n const g = (1 - o / p) * this.options.percent * (this.isAxisX() ? this.parent.scale.x : this.parent.scale.y);\n this.isAxisX() && (this.parent.scale.x += g), this.isAxisY() && (this.parent.scale.y += g), this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"pinch\", center: a });\n const y = this.parent.plugins.get(\"clamp-zoom\", !0);\n if (y && y.clamp(), this.options.center)\n this.parent.moveCenter(this.options.center);\n else {\n const x = this.parent.toGlobal(r);\n this.parent.x += (a.x - x.x) * this.options.factor, this.parent.y += (a.y - x.y) * this.options.factor, this.parent.emit(\"moved\", { viewport: this.parent, type: \"pinch\" });\n }\n !this.options.noDrag && this.lastCenter && (this.parent.x += (a.x - this.lastCenter.x) * this.options.factor, this.parent.y += (a.y - this.lastCenter.y) * this.options.factor, this.parent.emit(\"moved\", { viewport: this.parent, type: \"pinch\" })), this.lastCenter = a, this.moved = !0;\n } else\n this.pinching || (this.parent.emit(\"pinch-start\", this.parent), this.pinching = !0);\n return !0;\n }\n return !1;\n }\n up() {\n return this.pinching && this.parent.input.touches.length <= 1 ? (this.active = !1, this.lastCenter = null, this.pinching = !1, this.moved = !1, this.parent.emit(\"pinch-end\", this.parent), !0) : !1;\n }\n}\nconst j = {\n topLeft: !1,\n friction: 0.8,\n time: 1e3,\n ease: \"easeInOutSine\",\n interrupt: !0,\n removeOnComplete: !1,\n removeOnInterrupt: !1,\n forceStart: !1\n};\nclass q extends u {\n constructor(t, e, n, i = {}) {\n super(t), this.options = Object.assign({}, j, i), this.ease = H(i.ease, \"easeInOutSine\"), this.x = e, this.y = n, this.options.forceStart && this.snapStart();\n }\n snapStart() {\n this.percent = 0, this.snapping = { time: 0 };\n const t = this.options.topLeft ? this.parent.corner : this.parent.center;\n this.deltaX = this.x - t.x, this.deltaY = this.y - t.y, this.startX = t.x, this.startY = t.y, this.parent.emit(\"snap-start\", this.parent);\n }\n wheel() {\n return this.options.removeOnInterrupt && this.parent.plugins.remove(\"snap\"), !1;\n }\n down() {\n return this.options.removeOnInterrupt ? this.parent.plugins.remove(\"snap\") : this.options.interrupt && (this.snapping = null), !1;\n }\n up() {\n if (this.parent.input.count() === 0) {\n const t = this.parent.plugins.get(\"decelerate\", !0);\n t && (t.x || t.y) && (t.percentChangeX = t.percentChangeY = this.options.friction);\n }\n return !1;\n }\n update(t) {\n if (!this.paused && !(this.options.interrupt && this.parent.input.count() !== 0))\n if (this.snapping) {\n const e = this.snapping;\n e.time += t;\n let n, i, s;\n const h = this.startX, o = this.startY, r = this.deltaX, a = this.deltaY;\n if (e.time > this.options.time)\n n = !0, i = h + r, s = o + a;\n else {\n const p = this.ease(e.time, 0, 1, this.options.time);\n i = h + r * p, s = o + a * p;\n }\n this.options.topLeft ? this.parent.moveCorner(i, s) : this.parent.moveCenter(i, s), this.parent.emit(\"moved\", { viewport: this.parent, type: \"snap\" }), n && (this.options.removeOnComplete && this.parent.plugins.remove(\"snap\"), this.parent.emit(\"snap-end\", this.parent), this.snapping = null);\n } else {\n const e = this.options.topLeft ? this.parent.corner : this.parent.center;\n (e.x !== this.x || e.y !== this.y) && this.snapStart();\n }\n }\n}\nconst K = {\n width: 0,\n height: 0,\n time: 1e3,\n ease: \"easeInOutSine\",\n center: null,\n interrupt: !0,\n removeOnComplete: !1,\n removeOnInterrupt: !1,\n forceStart: !1,\n noMove: !1\n};\nclass G extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, K, e), this.ease = H(this.options.ease), this.xIndependent = !1, this.yIndependent = !1, this.xScale = 0, this.yScale = 0, this.options.width > 0 && (this.xScale = t.screenWidth / this.options.width, this.xIndependent = !0), this.options.height > 0 && (this.yScale = t.screenHeight / this.options.height, this.yIndependent = !0), this.xScale = this.xIndependent ? this.xScale : this.yScale, this.yScale = this.yIndependent ? this.yScale : this.xScale, this.options.time === 0 ? (t.container.scale.x = this.xScale, t.container.scale.y = this.yScale, this.options.removeOnComplete && this.parent.plugins.remove(\"snap-zoom\")) : e.forceStart && this.createSnapping();\n }\n createSnapping() {\n const t = this.parent.worldScreenWidth, e = this.parent.worldScreenHeight, n = this.parent.screenWidth / this.xScale, i = this.parent.screenHeight / this.yScale;\n this.snapping = {\n time: 0,\n startX: t,\n startY: e,\n deltaX: n - t,\n deltaY: i - e\n }, this.parent.emit(\"snap-zoom-start\", this.parent);\n }\n resize() {\n this.snapping = null, this.options.width > 0 && (this.xScale = this.parent.screenWidth / this.options.width), this.options.height > 0 && (this.yScale = this.parent.screenHeight / this.options.height), this.xScale = this.xIndependent ? this.xScale : this.yScale, this.yScale = this.yIndependent ? this.yScale : this.xScale;\n }\n wheel() {\n return this.options.removeOnInterrupt && this.parent.plugins.remove(\"snap-zoom\"), !1;\n }\n down() {\n return this.options.removeOnInterrupt ? this.parent.plugins.remove(\"snap-zoom\") : this.options.interrupt && (this.snapping = null), !1;\n }\n update(t) {\n if (this.paused || this.options.interrupt && this.parent.input.count() !== 0)\n return;\n let e;\n if (!this.options.center && !this.options.noMove && (e = this.parent.center), !this.snapping)\n (this.parent.scale.x !== this.xScale || this.parent.scale.y !== this.yScale) && this.createSnapping();\n else if (this.snapping) {\n const n = this.snapping;\n if (n.time += t, n.time >= this.options.time)\n this.parent.scale.set(this.xScale, this.yScale), this.options.removeOnComplete && this.parent.plugins.remove(\"snap-zoom\"), this.parent.emit(\"snap-zoom-end\", this.parent), this.snapping = null;\n else {\n const s = this.snapping, h = this.ease(s.time, s.startX, s.deltaX, this.options.time), o = this.ease(s.time, s.startY, s.deltaY, this.options.time);\n this.parent.scale.x = this.parent.screenWidth / h, this.parent.scale.y = this.parent.screenHeight / o;\n }\n const i = this.parent.plugins.get(\"clamp-zoom\", !0);\n i && i.clamp(), this.options.noMove || (this.options.center ? this.parent.moveCenter(this.options.center) : this.parent.moveCenter(e));\n }\n }\n resume() {\n this.snapping = null, super.resume();\n }\n}\nconst Q = {\n percent: 0.1,\n smooth: !1,\n interrupt: !0,\n reverse: !1,\n center: null,\n lineHeight: 20,\n axis: \"all\",\n keyToPress: null,\n trackpadPinch: !1,\n wheelZoom: !0\n};\nclass $ extends u {\n constructor(t, e = {}) {\n super(t), this.options = Object.assign({}, Q, e), this.keyIsPressed = !1, this.options.keyToPress && this.handleKeyPresses(this.options.keyToPress);\n }\n handleKeyPresses(t) {\n window.addEventListener(\"keydown\", (e) => {\n t.includes(e.code) && (this.keyIsPressed = !0);\n }), window.addEventListener(\"keyup\", (e) => {\n t.includes(e.code) && (this.keyIsPressed = !1);\n });\n }\n checkKeyPress() {\n return !this.options.keyToPress || this.keyIsPressed;\n }\n down() {\n return this.options.interrupt && (this.smoothing = null), !1;\n }\n isAxisX() {\n return [\"all\", \"x\"].includes(this.options.axis);\n }\n isAxisY() {\n return [\"all\", \"y\"].includes(this.options.axis);\n }\n update() {\n if (this.smoothing) {\n const t = this.smoothingCenter, e = this.smoothing;\n let n;\n this.options.center || (n = this.parent.toLocal(t)), this.isAxisX() && (this.parent.scale.x += e.x), this.isAxisY() && (this.parent.scale.y += e.y), this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"wheel\" });\n const i = this.parent.plugins.get(\"clamp-zoom\", !0);\n if (i && i.clamp(), this.options.center)\n this.parent.moveCenter(this.options.center);\n else {\n const s = this.parent.toGlobal(n);\n this.parent.x += t.x - s.x, this.parent.y += t.y - s.y;\n }\n this.parent.emit(\"moved\", { viewport: this.parent, type: \"wheel\" }), this.smoothingCount++, this.smoothingCount >= this.options.smooth && (this.smoothing = null);\n }\n }\n pinch(t) {\n if (this.paused)\n return;\n const e = this.parent.input.getPointerPosition(t), n = -t.deltaY * (t.deltaMode ? this.options.lineHeight : 1) / 200, i = Math.pow(2, (1 + this.options.percent) * n);\n let s;\n this.options.center || (s = this.parent.toLocal(e)), this.isAxisX() && (this.parent.scale.x *= i), this.isAxisY() && (this.parent.scale.y *= i), this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"wheel\" });\n const h = this.parent.plugins.get(\"clamp-zoom\", !0);\n if (h && h.clamp(), this.options.center)\n this.parent.moveCenter(this.options.center);\n else {\n const o = this.parent.toGlobal(s);\n this.parent.x += e.x - o.x, this.parent.y += e.y - o.y;\n }\n this.parent.emit(\"moved\", { viewport: this.parent, type: \"wheel\" }), this.parent.emit(\n \"wheel\",\n { wheel: { dx: t.deltaX, dy: t.deltaY, dz: t.deltaZ }, event: t, viewport: this.parent }\n );\n }\n wheel(t) {\n if (this.paused || !this.checkKeyPress())\n return !1;\n if (t.ctrlKey && this.options.trackpadPinch)\n this.pinch(t);\n else if (this.options.wheelZoom) {\n const e = this.parent.input.getPointerPosition(t), i = (this.options.reverse ? -1 : 1) * -t.deltaY * (t.deltaMode ? this.options.lineHeight : 1) / 500, s = Math.pow(2, (1 + this.options.percent) * i);\n if (this.options.smooth) {\n const h = {\n x: this.smoothing ? this.smoothing.x * (this.options.smooth - this.smoothingCount) : 0,\n y: this.smoothing ? this.smoothing.y * (this.options.smooth - this.smoothingCount) : 0\n };\n this.smoothing = {\n x: ((this.parent.scale.x + h.x) * s - this.parent.scale.x) / this.options.smooth,\n y: ((this.parent.scale.y + h.y) * s - this.parent.scale.y) / this.options.smooth\n }, this.smoothingCount = 0, this.smoothingCenter = e;\n } else {\n let h;\n this.options.center || (h = this.parent.toLocal(e)), this.isAxisX() && (this.parent.scale.x *= s), this.isAxisY() && (this.parent.scale.y *= s), this.parent.emit(\"zoomed\", { viewport: this.parent, type: \"wheel\" });\n const o = this.parent.plugins.get(\"clamp-zoom\", !0);\n if (o && o.clamp(), this.options.center)\n this.parent.moveCenter(this.options.center);\n else {\n const r = this.parent.toGlobal(h);\n this.parent.x += e.x - r.x, this.parent.y += e.y - r.y;\n }\n }\n this.parent.emit(\"moved\", { viewport: this.parent, type: \"wheel\" }), this.parent.emit(\n \"wheel\",\n { wheel: { dx: t.deltaX, dy: t.deltaY, dz: t.deltaZ }, event: t, viewport: this.parent }\n );\n }\n return !this.parent.options.passiveWheel;\n }\n}\nclass J {\n constructor(t) {\n this.viewport = t, this.touches = [], this.addListeners();\n }\n addListeners() {\n this.viewport.interactive = !0, this.viewport.forceHitArea || (this.viewport.hitArea = new b(0, 0, this.viewport.worldWidth, this.viewport.worldHeight)), this.viewport.on(\"pointerdown\", this.down, this), this.viewport.on(\"pointermove\", this.move, this), this.viewport.on(\"pointerup\", this.up, this), this.viewport.on(\"pointerupoutside\", this.up, this), this.viewport.on(\"pointercancel\", this.up, this), this.viewport.on(\"pointerout\", this.up, this), this.wheelFunction = (t) => this.handleWheel(t), this.viewport.options.divWheel.addEventListener(\n \"wheel\",\n this.wheelFunction,\n { passive: this.viewport.options.passiveWheel }\n ), this.isMouseDown = !1;\n }\n destroy() {\n this.viewport.options.divWheel.removeEventListener(\"wheel\", this.wheelFunction);\n }\n down(t) {\n if (this.viewport.pause || !this.viewport.worldVisible)\n return;\n if (t.data.pointerType === \"mouse\" ? this.isMouseDown = !0 : this.get(t.data.pointerId) || this.touches.push({ id: t.data.pointerId, last: null }), this.count() === 1) {\n this.last = t.data.global.clone();\n const n = this.viewport.plugins.get(\"decelerate\", !0), i = this.viewport.plugins.get(\"bounce\", !0);\n (!n || !n.isActive()) && (!i || !i.isActive()) ? this.clickedAvailable = !0 : this.clickedAvailable = !1;\n } else\n this.clickedAvailable = !1;\n this.viewport.plugins.down(t) && this.viewport.options.stopPropagation && t.stopPropagation();\n }\n clear() {\n this.isMouseDown = !1, this.touches = [], this.last = null;\n }\n checkThreshold(t) {\n return Math.abs(t) >= this.viewport.threshold;\n }\n move(t) {\n if (this.viewport.pause || !this.viewport.worldVisible)\n return;\n const e = this.viewport.plugins.move(t);\n if (this.clickedAvailable && this.last) {\n const n = t.data.global.x - this.last.x, i = t.data.global.y - this.last.y;\n (this.checkThreshold(n) || this.checkThreshold(i)) && (this.clickedAvailable = !1);\n }\n e && this.viewport.options.stopPropagation && t.stopPropagation();\n }\n up(t) {\n if (this.viewport.pause || !this.viewport.worldVisible)\n return;\n t.data.pointerType === \"mouse\" && (this.isMouseDown = !1), t.data.pointerType !== \"mouse\" && this.remove(t.data.pointerId);\n const e = this.viewport.plugins.up(t);\n this.clickedAvailable && this.count() === 0 && this.last && (this.viewport.emit(\"clicked\", {\n event: t,\n screen: this.last,\n world: this.viewport.toWorld(this.last),\n viewport: this\n }), this.clickedAvailable = !1), e && this.viewport.options.stopPropagation && t.stopPropagation();\n }\n getPointerPosition(t) {\n const e = new c();\n if (this.viewport.options.interaction)\n this.viewport.options.interaction.mapPositionToPoint(e, t.clientX, t.clientY);\n else if (this.viewport.options.useDivWheelForInputManager && this.viewport.options.divWheel) {\n const n = this.viewport.options.divWheel.getBoundingClientRect();\n e.x = t.clientX - n.left, e.y = t.clientY - n.top;\n } else\n e.x = t.clientX, e.y = t.clientY;\n return e;\n }\n handleWheel(t) {\n if (this.viewport.pause || !this.viewport.worldVisible || this.viewport.options.interaction && this.viewport.options.interaction.interactionDOMElement !== t.target)\n return;\n const e = this.viewport.toLocal(this.getPointerPosition(t));\n this.viewport.left <= e.x && e.x <= this.viewport.right && this.viewport.top <= e.y && e.y <= this.viewport.bottom && this.viewport.plugins.wheel(t) && !this.viewport.options.passiveWheel && t.preventDefault();\n }\n pause() {\n this.touches = [], this.isMouseDown = !1;\n }\n get(t) {\n for (const e of this.touches)\n if (e.id === t)\n return e;\n return null;\n }\n remove(t) {\n for (let e = 0; e < this.touches.length; e++)\n if (this.touches[e].id === t) {\n this.touches.splice(e, 1);\n return;\n }\n }\n count() {\n return (this.isMouseDown ? 1 : 0) + this.touches.length;\n }\n}\nfunction W(l) {\n let t, e = l[0], n = 1;\n for (; n < l.length; ) {\n const i = l[n], s = l[n + 1];\n if (n += 2, (i === \"optionalAccess\" || i === \"optionalCall\") && e == null)\n return;\n i === \"access\" || i === \"optionalAccess\" ? (t = e, e = s(e)) : (i === \"call\" || i === \"optionalCall\") && (e = s((...h) => e.call(t, ...h)), t = void 0);\n }\n return e;\n}\nconst m = [\n \"drag\",\n \"pinch\",\n \"wheel\",\n \"follow\",\n \"mouse-edges\",\n \"decelerate\",\n \"animate\",\n \"bounce\",\n \"snap-zoom\",\n \"clamp-zoom\",\n \"snap\",\n \"clamp\"\n];\nclass tt {\n constructor(t) {\n this.viewport = t, this.list = [], this.plugins = {};\n }\n add(t, e, n = m.length) {\n const i = this.plugins[t];\n i && i.destroy(), this.plugins[t] = e;\n const s = m.indexOf(t);\n s !== -1 && m.splice(s, 1), m.splice(n, 0, t), this.sort();\n }\n get(t, e) {\n return e && W([this, \"access\", (n) => n.plugins, \"access\", (n) => n[t], \"optionalAccess\", (n) => n.paused]) ? null : this.plugins[t];\n }\n update(t) {\n for (const e of this.list)\n e.update(t);\n }\n resize() {\n for (const t of this.list)\n t.resize();\n }\n reset() {\n for (const t of this.list)\n t.reset();\n }\n removeAll() {\n this.list.forEach((t) => {\n t.destroy();\n }), this.plugins = {}, this.sort();\n }\n remove(t) {\n this.plugins[t] && (W([this, \"access\", (e) => e.plugins, \"access\", (e) => e[t], \"optionalAccess\", (e) => e.destroy, \"call\", (e) => e()]), delete this.plugins[t], this.viewport.emit(`${t}-remove`), this.sort());\n }\n pause(t) {\n W([this, \"access\", (e) => e.plugins, \"access\", (e) => e[t], \"optionalAccess\", (e) => e.pause, \"call\", (e) => e()]);\n }\n resume(t) {\n W([this, \"access\", (e) => e.plugins, \"access\", (e) => e[t], \"optionalAccess\", (e) => e.resume, \"call\", (e) => e()]);\n }\n sort() {\n this.list = [];\n for (const t of m)\n this.plugins[t] && this.list.push(this.plugins[t]);\n }\n down(t) {\n let e = !1;\n for (const n of this.list)\n n.down(t) && (e = !0);\n return e;\n }\n move(t) {\n let e = !1;\n for (const n of this.viewport.plugins.list)\n n.move(t) && (e = !0);\n return e;\n }\n up(t) {\n let e = !1;\n for (const n of this.list)\n n.up(t) && (e = !0);\n return e;\n }\n wheel(t) {\n let e = !1;\n for (const n of this.list)\n n.wheel(t) && (e = !0);\n return e;\n }\n}\nconst et = {\n screenWidth: window.innerWidth,\n screenHeight: window.innerHeight,\n worldWidth: null,\n worldHeight: null,\n threshold: 5,\n passiveWheel: !0,\n stopPropagation: !1,\n forceHitArea: null,\n noTicker: !1,\n interaction: null,\n disableOnContextMenu: !1,\n ticker: C.shared\n};\nclass O extends P {\n __init() {\n this._disableOnContextMenu = (t) => t.preventDefault();\n }\n constructor(t = {}) {\n super(), O.prototype.__init.call(this), this.options = Object.assign(\n {},\n { divWheel: document.body },\n et,\n t\n ), this.screenWidth = this.options.screenWidth, this.screenHeight = this.options.screenHeight, this._worldWidth = this.options.worldWidth, this._worldHeight = this.options.worldHeight, this.forceHitArea = this.options.forceHitArea, this.threshold = this.options.threshold, this.options.divWheel = this.options.divWheel || document.body, this.options.disableOnContextMenu && this.options.divWheel.addEventListener(\"contextmenu\", this._disableOnContextMenu), this.options.noTicker || (this.tickerFunction = () => this.update(this.options.ticker.elapsedMS), this.options.ticker.add(this.tickerFunction)), this.input = new J(this), this.plugins = new tt(this);\n }\n destroy(t) {\n !this.options.noTicker && this.tickerFunction && this.options.ticker.remove(this.tickerFunction), this.options.disableOnContextMenu && this.options.divWheel.removeEventListener(\"contextmenu\", this._disableOnContextMenu), this.input.destroy(), super.destroy(t);\n }\n update(t) {\n this.pause || (this.plugins.update(t), this.lastViewport && (this.lastViewport.x !== this.x || this.lastViewport.y !== this.y ? this.moving = !0 : this.moving && (this.emit(\"moved-end\", this), this.moving = !1), this.lastViewport.scaleX !== this.scale.x || this.lastViewport.scaleY !== this.scale.y ? this.zooming = !0 : this.zooming && (this.emit(\"zoomed-end\", this), this.zooming = !1)), this.forceHitArea || (this._hitAreaDefault = new b(this.left, this.top, this.worldScreenWidth, this.worldScreenHeight), this.hitArea = this._hitAreaDefault), this._dirty = this._dirty || !this.lastViewport || this.lastViewport.x !== this.x || this.lastViewport.y !== this.y || this.lastViewport.scaleX !== this.scale.x || this.lastViewport.scaleY !== this.scale.y, this.lastViewport = {\n x: this.x,\n y: this.y,\n scaleX: this.scale.x,\n scaleY: this.scale.y\n }, this.emit(\"frame-end\", this));\n }\n resize(t = window.innerWidth, e = window.innerHeight, n, i) {\n this.screenWidth = t, this.screenHeight = e, typeof n < \"u\" && (this._worldWidth = n), typeof i < \"u\" && (this._worldHeight = i), this.plugins.resize(), this.dirty = !0;\n }\n get worldWidth() {\n return this._worldWidth ? this._worldWidth : this.width / this.scale.x;\n }\n set worldWidth(t) {\n this._worldWidth = t, this.plugins.resize();\n }\n get worldHeight() {\n return this._worldHeight ? this._worldHeight : this.height / this.scale.y;\n }\n set worldHeight(t) {\n this._worldHeight = t, this.plugins.resize();\n }\n getVisibleBounds() {\n return new b(this.left, this.top, this.worldScreenWidth, this.worldScreenHeight);\n }\n toWorld(t, e) {\n return arguments.length === 2 ? this.toLocal(new c(t, e)) : this.toLocal(t);\n }\n toScreen(t, e) {\n return arguments.length === 2 ? this.toGlobal(new c(t, e)) : this.toGlobal(t);\n }\n get worldScreenWidth() {\n return this.screenWidth / this.scale.x;\n }\n get worldScreenHeight() {\n return this.screenHeight / this.scale.y;\n }\n get screenWorldWidth() {\n return this.worldWidth * this.scale.x;\n }\n get screenWorldHeight() {\n return this.worldHeight * this.scale.y;\n }\n get center() {\n return new c(\n this.worldScreenWidth / 2 - this.x / this.scale.x,\n this.worldScreenHeight / 2 - this.y / this.scale.y\n );\n }\n set center(t) {\n this.moveCenter(t);\n }\n moveCenter(...t) {\n let e, n;\n typeof t[0] == \"number\" ? (e = t[0], n = t[1]) : (e = t[0].x, n = t[0].y);\n const i = (this.worldScreenWidth / 2 - e) * this.scale.x, s = (this.worldScreenHeight / 2 - n) * this.scale.y;\n return (this.x !== i || this.y !== s) && (this.position.set(i, s), this.plugins.reset(), this.dirty = !0), this;\n }\n get corner() {\n return new c(-this.x / this.scale.x, -this.y / this.scale.y);\n }\n set corner(t) {\n this.moveCorner(t);\n }\n moveCorner(...t) {\n let e, n;\n return t.length === 1 ? (e = -t[0].x * this.scale.x, n = -t[0].y * this.scale.y) : (e = -t[0] * this.scale.x, n = -t[1] * this.scale.y), (e !== this.x || n !== this.y) && (this.position.set(e, n), this.plugins.reset(), this.dirty = !0), this;\n }\n get screenWidthInWorldPixels() {\n return this.screenWidth / this.scale.x;\n }\n get screenHeightInWorldPixels() {\n return this.screenHeight / this.scale.y;\n }\n findFitWidth(t) {\n return this.screenWidth / t;\n }\n findFitHeight(t) {\n return this.screenHeight / t;\n }\n findFit(t, e) {\n const n = this.screenWidth / t, i = this.screenHeight / e;\n return Math.min(n, i);\n }\n findCover(t, e) {\n const n = this.screenWidth / t, i = this.screenHeight / e;\n return Math.max(n, i);\n }\n fitWidth(t = this.worldWidth, e, n = !0, i) {\n let s;\n e && (s = this.center), this.scale.x = this.screenWidth / t, n && (this.scale.y = this.scale.x);\n const h = this.plugins.get(\"clamp-zoom\", !0);\n return !i && h && h.clamp(), e && s && this.moveCenter(s), this;\n }\n fitHeight(t = this.worldHeight, e, n = !0, i) {\n let s;\n e && (s = this.center), this.scale.y = this.screenHeight / t, n && (this.scale.x = this.scale.y);\n const h = this.plugins.get(\"clamp-zoom\", !0);\n return !i && h && h.clamp(), e && s && this.moveCenter(s), this;\n }\n fitWorld(t) {\n let e;\n t && (e = this.center), this.scale.x = this.screenWidth / this.worldWidth, this.scale.y = this.screenHeight / this.worldHeight, this.scale.x < this.scale.y ? this.scale.y = this.scale.x : this.scale.x = this.scale.y;\n const n = this.plugins.get(\"clamp-zoom\", !0);\n return n && n.clamp(), t && e && this.moveCenter(e), this;\n }\n fit(t, e = this.worldWidth, n = this.worldHeight) {\n let i;\n t && (i = this.center), this.scale.x = this.screenWidth / e, this.scale.y = this.screenHeight / n, this.scale.x < this.scale.y ? this.scale.y = this.scale.x : this.scale.x = this.scale.y;\n const s = this.plugins.get(\"clamp-zoom\", !0);\n return s && s.clamp(), t && i && this.moveCenter(i), this;\n }\n setZoom(t, e) {\n let n;\n e && (n = this.center), this.scale.set(t);\n const i = this.plugins.get(\"clamp-zoom\", !0);\n return i && i.clamp(), e && n && this.moveCenter(n), this;\n }\n zoomPercent(t, e) {\n return this.setZoom(this.scale.x + this.scale.x * t, e);\n }\n zoom(t, e) {\n return this.fitWidth(t + this.worldScreenWidth, e), this;\n }\n get scaled() {\n return this.scale.x;\n }\n set scaled(t) {\n this.setZoom(t, !0);\n }\n snapZoom(t) {\n return this.plugins.add(\"snap-zoom\", new G(this, t)), this;\n }\n OOB() {\n return {\n left: this.left < 0,\n right: this.right > this.worldWidth,\n top: this.top < 0,\n bottom: this.bottom > this.worldHeight,\n cornerPoint: new c(\n this.worldWidth * this.scale.x - this.screenWidth,\n this.worldHeight * this.scale.y - this.screenHeight\n )\n };\n }\n get right() {\n return -this.x / this.scale.x + this.worldScreenWidth;\n }\n set right(t) {\n this.x = -t * this.scale.x + this.screenWidth, this.plugins.reset();\n }\n get left() {\n return -this.x / this.scale.x;\n }\n set left(t) {\n this.x = -t * this.scale.x, this.plugins.reset();\n }\n get top() {\n return -this.y / this.scale.y;\n }\n set top(t) {\n this.y = -t * this.scale.y, this.plugins.reset();\n }\n get bottom() {\n return -this.y / this.scale.y + this.worldScreenHeight;\n }\n set bottom(t) {\n this.y = -t * this.scale.y + this.screenHeight, this.plugins.reset();\n }\n get dirty() {\n return !!this._dirty;\n }\n set dirty(t) {\n this._dirty = t;\n }\n get forceHitArea() {\n return this._forceHitArea;\n }\n set forceHitArea(t) {\n t ? (this._forceHitArea = t, this.hitArea = t) : (this._forceHitArea = null, this.hitArea = new b(0, 0, this.worldWidth, this.worldHeight));\n }\n drag(t) {\n return this.plugins.add(\"drag\", new S(this, t)), this;\n }\n clamp(t) {\n return this.plugins.add(\"clamp\", new T(this, t)), this;\n }\n decelerate(t) {\n return this.plugins.add(\"decelerate\", new U(this, t)), this;\n }\n bounce(t) {\n return this.plugins.add(\"bounce\", new z(this, t)), this;\n }\n pinch(t) {\n return this.plugins.add(\"pinch\", new w(this, t)), this;\n }\n snap(t, e, n) {\n return this.plugins.add(\"snap\", new q(this, t, e, n)), this;\n }\n follow(t, e) {\n return this.plugins.add(\"follow\", new V(this, t, e)), this;\n }\n wheel(t) {\n return this.plugins.add(\"wheel\", new $(this, t)), this;\n }\n animate(t) {\n return this.plugins.add(\"animate\", new d(this, t)), this;\n }\n clampZoom(t) {\n return this.plugins.add(\"clamp-zoom\", new L(this, t)), this;\n }\n mouseEdges(t) {\n return this.plugins.add(\"mouse-edges\", new N(this, t)), this;\n }\n get pause() {\n return !!this._pause;\n }\n set pause(t) {\n this._pause = t, this.lastViewport = null, this.moving = !1, this.zooming = !1, t && this.input.pause();\n }\n ensureVisible(t, e, n, i, s) {\n s && (n > this.worldScreenWidth || i > this.worldScreenHeight) && (this.fit(!0, n, i), this.emit(\"zoomed\", { viewport: this, type: \"ensureVisible\" }));\n let h = !1;\n t < this.left ? (this.left = t, h = !0) : t + n > this.right && (this.right = t + n, h = !0), e < this.top ? (this.top = e, h = !0) : e + i > this.bottom && (this.bottom = e + i, h = !0), h && this.emit(\"moved\", { viewport: this, type: \"ensureVisible\" });\n }\n}\nexport {\n d as Animate,\n z as Bounce,\n T as Clamp,\n L as ClampZoom,\n U as Decelerate,\n S as Drag,\n V as Follow,\n J as InputManager,\n N as MouseEdges,\n w as Pinch,\n u as Plugin,\n tt as PluginManager,\n q as Snap,\n G as SnapZoom,\n O as Viewport,\n $ as Wheel\n};\n//# sourceMappingURL=viewport.es-88169ec4.mjs.map\n"],"names":["u","_","l","k","M","p","Y","d","c","X","z","T","E","D","f","U","S","F","V","r","y","N","h","R","w","j","q","K","Q","$","i","s","o","J","b","n","m","C","O","P"],"mappings":"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","x_google_ignoreList":[0]}