@allurereport/web-components 3.20.1 → 3.22.0
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.
- package/dist/Attachment-D75lkuAG.js +2 -0
- package/dist/Attachment-D75lkuAG.js.map +1 -0
- package/dist/Attachment-Du2XgmQc.d.ts +26 -0
- package/dist/Attachment.d.ts +5 -0
- package/dist/Attachment.js +2 -0
- package/dist/Attachment.js.map +1 -0
- package/dist/AttachmentCode-BaFv0Nkk.js +2 -0
- package/dist/AttachmentCode-BaFv0Nkk.js.map +1 -0
- package/dist/AttachmentImageDiff-BXiyAOHw.js +2 -0
- package/dist/AttachmentImageDiff-BXiyAOHw.js.map +1 -0
- package/dist/AttachmentTable-xY7Ovinb.js +2 -0
- package/dist/AttachmentTable-xY7Ovinb.js.map +1 -0
- package/dist/BarChart-DVqwZDOJ.js +2 -0
- package/dist/BarChart-DVqwZDOJ.js.map +1 -0
- package/dist/BarChartRenderer-DyfCJzro.js +2 -0
- package/dist/BarChartRenderer-DyfCJzro.js.map +1 -0
- package/dist/ChartWidget.d.ts +13 -0
- package/dist/ChartWidget.js +2 -0
- package/dist/ChartWidget.js.map +1 -0
- package/dist/CodeViewer.d.ts +9 -0
- package/dist/CodeViewer.js +2 -0
- package/dist/CodeViewer.js.map +1 -0
- package/dist/CurrentStatusChartWidget.d.ts +16 -0
- package/dist/CurrentStatusChartWidget.js +2 -0
- package/dist/CurrentStatusChartWidget.js.map +1 -0
- package/dist/DurationDynamicsChartWidget.d.ts +12 -0
- package/dist/DurationDynamicsChartWidget.js +2 -0
- package/dist/DurationDynamicsChartWidget.js.map +1 -0
- package/dist/DurationsChartWidget.d.ts +12 -0
- package/dist/DurationsChartWidget.js +2 -0
- package/dist/DurationsChartWidget.js.map +1 -0
- package/dist/EmptyDataStub-BuH_D_lp.js +2 -0
- package/dist/EmptyDataStub-BuH_D_lp.js.map +1 -0
- package/dist/FunnelChartRenderer-CLesVf61.js +2 -0
- package/dist/FunnelChartRenderer-CLesVf61.js.map +1 -0
- package/dist/Grid.d.ts +20 -0
- package/dist/Grid.js +2 -0
- package/dist/Grid.js.map +1 -0
- package/dist/GridItem-DNsiFecD.js +8 -0
- package/dist/GridItem-DNsiFecD.js.map +1 -0
- package/dist/HeatMapChartRenderer-BrBfW8zd.js +2 -0
- package/dist/HeatMapChartRenderer-BrBfW8zd.js.map +1 -0
- package/dist/HeatMapWidget-CwCccKA9.js +2 -0
- package/dist/HeatMapWidget-CwCccKA9.js.map +1 -0
- package/dist/HeatMapWidget.d.ts +5 -0
- package/dist/HeatMapWidget.js +2 -0
- package/dist/HeatMapWidget.js.map +1 -0
- package/dist/HtmlPreview-NgG4sciW.js +2 -0
- package/dist/HtmlPreview-NgG4sciW.js.map +1 -0
- package/dist/HttpAttachment-A7AWm-d9.js +2 -0
- package/dist/HttpAttachment-A7AWm-d9.js.map +1 -0
- package/dist/MarkdownPreview-C-NFR_X3.js +4 -0
- package/dist/MarkdownPreview-C-NFR_X3.js.map +1 -0
- package/dist/MermaidPreview-DHvqVM10.js +2 -0
- package/dist/MermaidPreview-DHvqVM10.js.map +1 -0
- package/dist/PieChartRenderer-CBEEPgfv.js +2 -0
- package/dist/PieChartRenderer-CBEEPgfv.js.map +1 -0
- package/dist/StabilityDistributionWidget.d.ts +12 -0
- package/dist/StabilityDistributionWidget.js +2 -0
- package/dist/StabilityDistributionWidget.js.map +1 -0
- package/dist/StatusAgePyramidChartWidget.d.ts +15 -0
- package/dist/StatusAgePyramidChartWidget.js +2 -0
- package/dist/StatusAgePyramidChartWidget.js.map +1 -0
- package/dist/StatusDynamicsChartWidget.d.ts +22 -0
- package/dist/StatusDynamicsChartWidget.js +2 -0
- package/dist/StatusDynamicsChartWidget.js.map +1 -0
- package/dist/StatusTransitionsChartWidget.d.ts +14 -0
- package/dist/StatusTransitionsChartWidget.js +2 -0
- package/dist/StatusTransitionsChartWidget.js.map +1 -0
- package/dist/SuccessRatePieChart.d.ts +11 -0
- package/dist/SuccessRatePieChart.js +2 -0
- package/dist/SuccessRatePieChart.js.map +1 -0
- package/dist/TestBaseGrowthDynamicsChartWidget.d.ts +13 -0
- package/dist/TestBaseGrowthDynamicsChartWidget.js +2 -0
- package/dist/TestBaseGrowthDynamicsChartWidget.js.map +1 -0
- package/dist/TestingPyramidWidget.d.ts +20 -0
- package/dist/TestingPyramidWidget.js +2 -0
- package/dist/TestingPyramidWidget.js.map +1 -0
- package/dist/Timeline-BkaMlh1L.js +2 -0
- package/dist/Timeline-BkaMlh1L.js.map +1 -0
- package/dist/Timeline.d.ts +46 -0
- package/dist/Timeline.js +2 -0
- package/dist/Timeline.js.map +1 -0
- package/dist/TrSeveritiesChartWidget.d.ts +13 -0
- package/dist/TrSeveritiesChartWidget.js +2 -0
- package/dist/TrSeveritiesChartWidget.js.map +1 -0
- package/dist/TreeMapChartRenderer-4eHZtCVj.js +2 -0
- package/dist/TreeMapChartRenderer-4eHZtCVj.js.map +1 -0
- package/dist/TreeMapChartWidget-CWMvuICi.js +2 -0
- package/dist/TreeMapChartWidget-CWMvuICi.js.map +1 -0
- package/dist/TreeMapChartWidget.d.ts +7 -0
- package/dist/TreeMapChartWidget.js +2 -0
- package/dist/TreeMapChartWidget.js.map +1 -0
- package/dist/_baseSlice-DybH-rwG.js +2 -0
- package/dist/_baseSlice-DybH-rwG.js.map +1 -0
- package/dist/_commonjsHelpers-bbZql6IY.js +2 -0
- package/dist/_commonjsHelpers-bbZql6IY.js.map +1 -0
- package/dist/_stringToArray-99CYzIaW.js +2 -0
- package/dist/_stringToArray-99CYzIaW.js.map +1 -0
- package/dist/array-Z5whfZ28.js +2 -0
- package/dist/array-Z5whfZ28.js.map +1 -0
- package/dist/clipboard-CO7bSAxL.js +2 -0
- package/dist/clipboard-CO7bSAxL.js.map +1 -0
- package/dist/clsx-BnvTIEMY.js +2 -0
- package/dist/clsx-BnvTIEMY.js.map +1 -0
- package/dist/components/ArrowButton/index.d.ts +16 -0
- package/dist/components/ArrowButton/index.d.ts.map +1 -0
- package/dist/components/Attachment/Attachment.d.ts +10 -0
- package/dist/components/Attachment/Attachment.d.ts.map +1 -0
- package/dist/components/Attachment/AttachmentCode.d.ts +6 -0
- package/dist/components/Attachment/AttachmentCode.d.ts.map +1 -0
- package/dist/components/Attachment/AttachmentEmpty.d.ts +5 -0
- package/dist/components/Attachment/AttachmentEmpty.d.ts.map +1 -0
- package/dist/components/Attachment/AttachmentImage.d.ts +3 -0
- package/dist/components/Attachment/AttachmentImage.d.ts.map +1 -0
- package/dist/components/Attachment/AttachmentImageDiff.d.ts +3 -0
- package/dist/components/Attachment/AttachmentImageDiff.d.ts.map +1 -0
- package/dist/components/Attachment/AttachmentTable.d.ts +3 -0
- package/dist/components/Attachment/AttachmentTable.d.ts.map +1 -0
- package/dist/components/Attachment/AttachmentVideo.d.ts +3 -0
- package/dist/components/Attachment/AttachmentVideo.d.ts.map +1 -0
- package/dist/components/Attachment/CodeViewer.d.ts +8 -0
- package/dist/components/Attachment/CodeViewer.d.ts.map +1 -0
- package/dist/components/Attachment/HtmlPreview.d.ts +8 -0
- package/dist/components/Attachment/HtmlPreview.d.ts.map +1 -0
- package/dist/components/Attachment/HttpAttachment.d.ts +4 -0
- package/dist/components/Attachment/HttpAttachment.d.ts.map +1 -0
- package/dist/components/Attachment/MarkdownPreview.d.ts +8 -0
- package/dist/components/Attachment/MarkdownPreview.d.ts.map +1 -0
- package/dist/components/Attachment/MermaidPreview.d.ts +8 -0
- package/dist/components/Attachment/MermaidPreview.d.ts.map +1 -0
- package/dist/components/Attachment/htmlPreviewDocument.d.ts +3 -0
- package/dist/components/Attachment/htmlPreviewDocument.d.ts.map +1 -0
- package/dist/components/Attachment/iframe.d.ts +2 -0
- package/dist/components/Attachment/iframe.d.ts.map +1 -0
- package/dist/components/Attachment/index.d.ts +12 -0
- package/dist/components/Attachment/index.d.ts.map +1 -0
- package/dist/components/Attachment/mermaid.d.ts +3 -0
- package/dist/components/Attachment/mermaid.d.ts.map +1 -0
- package/dist/components/Attachment/model.d.ts +14 -0
- package/dist/components/Attachment/model.d.ts.map +1 -0
- package/dist/components/Attachment/prism-global.d.ts +2 -0
- package/dist/components/Attachment/prism-global.d.ts.map +1 -0
- package/dist/components/Attachment/prism-setup.d.ts +10 -0
- package/dist/components/Attachment/prism-setup.d.ts.map +1 -0
- package/dist/components/Button/index.d.ts +128 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Charts/BarChart/BarChart.d.ts +40 -0
- package/dist/components/Charts/BarChart/BarChart.d.ts.map +1 -0
- package/dist/components/Charts/BarChart/BarChartTooltip.d.ts +12 -0
- package/dist/components/Charts/BarChart/BarChartTooltip.d.ts.map +1 -0
- package/dist/components/Charts/BarChart/BottomAxisLine.d.ts +3 -0
- package/dist/components/Charts/BarChart/BottomAxisLine.d.ts.map +1 -0
- package/dist/components/Charts/BarChart/Layers.d.ts +23 -0
- package/dist/components/Charts/BarChart/Layers.d.ts.map +1 -0
- package/dist/components/Charts/BarChart/TrendLinesLayer.d.ts +8 -0
- package/dist/components/Charts/BarChart/TrendLinesLayer.d.ts.map +1 -0
- package/dist/components/Charts/BarChart/context.d.ts +7 -0
- package/dist/components/Charts/BarChart/context.d.ts.map +1 -0
- package/dist/components/Charts/BarChart/utils.d.ts +13 -0
- package/dist/components/Charts/BarChart/utils.d.ts.map +1 -0
- package/dist/components/Charts/BarChartRenderer.d.ts +3 -0
- package/dist/components/Charts/BarChartRenderer.d.ts.map +1 -0
- package/dist/components/Charts/ChartTooltip/index.d.ts +6 -0
- package/dist/components/Charts/ChartTooltip/index.d.ts.map +1 -0
- package/dist/components/Charts/ChartTooltip/useChartTooltip.d.ts +14 -0
- package/dist/components/Charts/ChartTooltip/useChartTooltip.d.ts.map +1 -0
- package/dist/components/Charts/ChartWidget.d.ts +4 -0
- package/dist/components/Charts/ChartWidget.d.ts.map +1 -0
- package/dist/components/Charts/ChartWidget.types.d.ts +7 -0
- package/dist/components/Charts/ChartWidget.types.d.ts.map +1 -0
- package/dist/components/Charts/CurrentStatusChartWidget/AdditionalStats.d.ts +10 -0
- package/dist/components/Charts/CurrentStatusChartWidget/AdditionalStats.d.ts.map +1 -0
- package/dist/components/Charts/CurrentStatusChartWidget/constants.d.ts +9 -0
- package/dist/components/Charts/CurrentStatusChartWidget/constants.d.ts.map +1 -0
- package/dist/components/Charts/CurrentStatusChartWidget/index.d.ts +4 -0
- package/dist/components/Charts/CurrentStatusChartWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/CurrentStatusChartWidget/parts.d.ts +11 -0
- package/dist/components/Charts/CurrentStatusChartWidget/parts.d.ts.map +1 -0
- package/dist/components/Charts/CurrentStatusChartWidget/types.d.ts +19 -0
- package/dist/components/Charts/CurrentStatusChartWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/CurrentStatusChartWidget/utils.d.ts +25 -0
- package/dist/components/Charts/CurrentStatusChartWidget/utils.d.ts.map +1 -0
- package/dist/components/Charts/DurationDynamicsChartWidget/index.d.ts +4 -0
- package/dist/components/Charts/DurationDynamicsChartWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/DurationDynamicsChartWidget/types.d.ts +8 -0
- package/dist/components/Charts/DurationDynamicsChartWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/DurationsChartWidget/index.d.ts +4 -0
- package/dist/components/Charts/DurationsChartWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/DurationsChartWidget/types.d.ts +8 -0
- package/dist/components/Charts/DurationsChartWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/EmptyDataStub/EmptyDataStub.d.ts +10 -0
- package/dist/components/Charts/EmptyDataStub/EmptyDataStub.d.ts.map +1 -0
- package/dist/components/Charts/EmptyDataStub/index.d.ts +2 -0
- package/dist/components/Charts/EmptyDataStub/index.d.ts.map +1 -0
- package/dist/components/Charts/FunnelChartRenderer.d.ts +3 -0
- package/dist/components/Charts/FunnelChartRenderer.d.ts.map +1 -0
- package/dist/components/Charts/HeatMap/HeatMap.d.ts +4 -0
- package/dist/components/Charts/HeatMap/HeatMap.d.ts.map +1 -0
- package/dist/components/Charts/HeatMap/Tooltip.d.ts +3 -0
- package/dist/components/Charts/HeatMap/Tooltip.d.ts.map +1 -0
- package/dist/components/Charts/HeatMap/config.d.ts +21 -0
- package/dist/components/Charts/HeatMap/config.d.ts.map +1 -0
- package/dist/components/Charts/HeatMap/index.d.ts +4 -0
- package/dist/components/Charts/HeatMap/index.d.ts.map +1 -0
- package/dist/components/Charts/HeatMap/types.d.ts +15 -0
- package/dist/components/Charts/HeatMap/types.d.ts.map +1 -0
- package/dist/components/Charts/HeatMapChartRenderer.d.ts +3 -0
- package/dist/components/Charts/HeatMapChartRenderer.d.ts.map +1 -0
- package/dist/components/Charts/HeatMapWidget/HeatMapWidget.d.ts +4 -0
- package/dist/components/Charts/HeatMapWidget/HeatMapWidget.d.ts.map +1 -0
- package/dist/components/Charts/HeatMapWidget/index.d.ts +3 -0
- package/dist/components/Charts/HeatMapWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/HeatMapWidget/types.d.ts +6 -0
- package/dist/components/Charts/HeatMapWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/Legend/LegendIndicator/index.d.ts +6 -0
- package/dist/components/Charts/Legend/LegendIndicator/index.d.ts.map +1 -0
- package/dist/components/Charts/Legend/LegendItem/index.d.ts +5 -0
- package/dist/components/Charts/Legend/LegendItem/index.d.ts.map +1 -0
- package/dist/components/Charts/Legend/LegendItem/types.d.ts +17 -0
- package/dist/components/Charts/Legend/LegendItem/types.d.ts.map +1 -0
- package/dist/components/Charts/Legend/index.d.ts +6 -0
- package/dist/components/Charts/Legend/index.d.ts.map +1 -0
- package/dist/components/Charts/PieChartRenderer.d.ts +3 -0
- package/dist/components/Charts/PieChartRenderer.d.ts.map +1 -0
- package/dist/components/Charts/StabilityDistributionWidget/index.d.ts +4 -0
- package/dist/components/Charts/StabilityDistributionWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/StabilityDistributionWidget/types.d.ts +8 -0
- package/dist/components/Charts/StabilityDistributionWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/StatusAgePyramidChartWidget/index.d.ts +4 -0
- package/dist/components/Charts/StatusAgePyramidChartWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/StatusAgePyramidChartWidget/types.d.ts +11 -0
- package/dist/components/Charts/StatusAgePyramidChartWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/StatusDynamicsChartWidget/index.d.ts +4 -0
- package/dist/components/Charts/StatusDynamicsChartWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/StatusDynamicsChartWidget/types.d.ts +18 -0
- package/dist/components/Charts/StatusDynamicsChartWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/StatusTransitionsChartWidget/index.d.ts +4 -0
- package/dist/components/Charts/StatusTransitionsChartWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/StatusTransitionsChartWidget/types.d.ts +10 -0
- package/dist/components/Charts/StatusTransitionsChartWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/SuccessRatePieChart/index.d.ts +9 -0
- package/dist/components/Charts/SuccessRatePieChart/index.d.ts.map +1 -0
- package/dist/components/Charts/SuccessRatePieChart/successRate.d.ts +6 -0
- package/dist/components/Charts/SuccessRatePieChart/successRate.d.ts.map +1 -0
- package/dist/components/Charts/TestBaseGrowthDynamicsChartWidget/index.d.ts +4 -0
- package/dist/components/Charts/TestBaseGrowthDynamicsChartWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/TestBaseGrowthDynamicsChartWidget/types.d.ts +10 -0
- package/dist/components/Charts/TestBaseGrowthDynamicsChartWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/TestingPyramidWidget/index.d.ts +19 -0
- package/dist/components/Charts/TestingPyramidWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/TrSeveritiesChartWidget/index.d.ts +4 -0
- package/dist/components/Charts/TrSeveritiesChartWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/TrSeveritiesChartWidget/types.d.ts +9 -0
- package/dist/components/Charts/TrSeveritiesChartWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChart/Node.d.ts +3 -0
- package/dist/components/Charts/TreeMapChart/Node.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChart/TreeMapChart.d.ts +6 -0
- package/dist/components/Charts/TreeMapChart/TreeMapChart.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChart/TreeMapLegend/TreeMapLegend.d.ts +4 -0
- package/dist/components/Charts/TreeMapChart/TreeMapLegend/TreeMapLegend.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChart/TreeMapLegend/index.d.ts +3 -0
- package/dist/components/Charts/TreeMapChart/TreeMapLegend/index.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChart/TreeMapLegend/types.d.ts +8 -0
- package/dist/components/Charts/TreeMapChart/TreeMapLegend/types.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChart/TreeMapTooltip/TreeMapTooltip.d.ts +10 -0
- package/dist/components/Charts/TreeMapChart/TreeMapTooltip/TreeMapTooltip.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChart/config.d.ts +4 -0
- package/dist/components/Charts/TreeMapChart/config.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChart/index.d.ts +4 -0
- package/dist/components/Charts/TreeMapChart/index.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChart/types.d.ts +27 -0
- package/dist/components/Charts/TreeMapChart/types.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChart/utils.d.ts +5 -0
- package/dist/components/Charts/TreeMapChart/utils.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChartRenderer.d.ts +3 -0
- package/dist/components/Charts/TreeMapChartRenderer.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChartWidget/TreeMapChartWidget.d.ts +9 -0
- package/dist/components/Charts/TreeMapChartWidget/TreeMapChartWidget.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChartWidget/hooks.d.ts +4 -0
- package/dist/components/Charts/TreeMapChartWidget/hooks.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChartWidget/index.d.ts +4 -0
- package/dist/components/Charts/TreeMapChartWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/TreeMapChartWidget/types.d.ts +11 -0
- package/dist/components/Charts/TreeMapChartWidget/types.d.ts.map +1 -0
- package/dist/components/Charts/TrendChart/TrendChart.d.ts +4 -0
- package/dist/components/Charts/TrendChart/TrendChart.d.ts.map +1 -0
- package/dist/components/Charts/TrendChart/config.d.ts +13 -0
- package/dist/components/Charts/TrendChart/config.d.ts.map +1 -0
- package/dist/components/Charts/TrendChart/constants.d.ts +2 -0
- package/dist/components/Charts/TrendChart/constants.d.ts.map +1 -0
- package/dist/components/Charts/TrendChart/index.d.ts +5 -0
- package/dist/components/Charts/TrendChart/index.d.ts.map +1 -0
- package/dist/components/Charts/TrendChart/theme.d.ts +32 -0
- package/dist/components/Charts/TrendChart/theme.d.ts.map +1 -0
- package/dist/components/Charts/TrendChart/types.d.ts +53 -0
- package/dist/components/Charts/TrendChart/types.d.ts.map +1 -0
- package/dist/components/Charts/TrendChart/utils.d.ts +7 -0
- package/dist/components/Charts/TrendChart/utils.d.ts.map +1 -0
- package/dist/components/Charts/TrendChartWidget/index.d.ts +26 -0
- package/dist/components/Charts/TrendChartWidget/index.d.ts.map +1 -0
- package/dist/components/Charts/config.d.ts +12 -0
- package/dist/components/Charts/config.d.ts.map +1 -0
- package/dist/components/Charts/hooks/useTooltip.d.ts +9 -0
- package/dist/components/Charts/hooks/useTooltip.d.ts.map +1 -0
- package/dist/components/Charts/utils.d.ts +12 -0
- package/dist/components/Charts/utils.d.ts.map +1 -0
- package/dist/components/Counter/index.d.ts +10 -0
- package/dist/components/Counter/index.d.ts.map +1 -0
- package/dist/components/DimensionsProvider/index.d.ts +8 -0
- package/dist/components/DimensionsProvider/index.d.ts.map +1 -0
- package/dist/components/EmptyView/index.d.ts +16 -0
- package/dist/components/EmptyView/index.d.ts.map +1 -0
- package/dist/components/Grid/Grid.d.ts +28 -0
- package/dist/components/Grid/Grid.d.ts.map +1 -0
- package/dist/components/Grid/components/GridItem/GridItem.d.ts +21 -0
- package/dist/components/Grid/components/GridItem/GridItem.d.ts.map +1 -0
- package/dist/components/Grid/components/GridItem/components/DragHandle/DragHandle.d.ts +6 -0
- package/dist/components/Grid/components/GridItem/components/DragHandle/DragHandle.d.ts.map +1 -0
- package/dist/components/Grid/components/GridItem/components/DragHandle/components/DragHandleIcon.d.ts +6 -0
- package/dist/components/Grid/components/GridItem/components/DragHandle/components/DragHandleIcon.d.ts.map +1 -0
- package/dist/components/Grid/components/GridItem/components/DragHandle/components/index.d.ts +2 -0
- package/dist/components/Grid/components/GridItem/components/DragHandle/components/index.d.ts.map +1 -0
- package/dist/components/Grid/components/GridItem/components/DragHandle/index.d.ts +2 -0
- package/dist/components/Grid/components/GridItem/components/DragHandle/index.d.ts.map +1 -0
- package/dist/components/Grid/components/GridItem/components/index.d.ts +2 -0
- package/dist/components/Grid/components/GridItem/components/index.d.ts.map +1 -0
- package/dist/components/Grid/components/GridItem/index.d.ts +3 -0
- package/dist/components/Grid/components/GridItem/index.d.ts.map +1 -0
- package/dist/components/Grid/constants.d.ts +4 -0
- package/dist/components/Grid/constants.d.ts.map +1 -0
- package/dist/components/Grid/hooks/index.d.ts +2 -0
- package/dist/components/Grid/hooks/index.d.ts.map +1 -0
- package/dist/components/Grid/hooks/useSortable.d.ts +10 -0
- package/dist/components/Grid/hooks/useSortable.d.ts.map +1 -0
- package/dist/components/Grid/index.d.ts +5 -0
- package/dist/components/Grid/index.d.ts.map +1 -0
- package/dist/components/IconLabel/index.d.ts +10 -0
- package/dist/components/IconLabel/index.d.ts.map +1 -0
- package/dist/components/ImageDiff/index.d.ts +9 -0
- package/dist/components/ImageDiff/index.d.ts.map +1 -0
- package/dist/components/ImageDiff/src/DiffModeSelector.d.ts +2 -0
- package/dist/components/ImageDiff/src/DiffModeSelector.d.ts.map +1 -0
- package/dist/components/ImageDiff/src/DiffModeView.d.ts +2 -0
- package/dist/components/ImageDiff/src/DiffModeView.d.ts.map +1 -0
- package/dist/components/ImageDiff/src/Image.d.ts +3 -0
- package/dist/components/ImageDiff/src/Image.d.ts.map +1 -0
- package/dist/components/ImageDiff/src/Wrapper.d.ts +11 -0
- package/dist/components/ImageDiff/src/Wrapper.d.ts.map +1 -0
- package/dist/components/ImageDiff/src/hooks.d.ts +37 -0
- package/dist/components/ImageDiff/src/hooks.d.ts.map +1 -0
- package/dist/components/ImageDiff/src/i18n.d.ts +9 -0
- package/dist/components/ImageDiff/src/i18n.d.ts.map +1 -0
- package/dist/components/ImageDiff/src/model.d.ts +20 -0
- package/dist/components/ImageDiff/src/model.d.ts.map +1 -0
- package/dist/components/ImageDiff/src/utils.d.ts +7 -0
- package/dist/components/ImageDiff/src/utils.d.ts.map +1 -0
- package/dist/components/Label/index.d.ts +3 -0
- package/dist/components/Label/index.d.ts.map +1 -0
- package/dist/components/LanguagePicker/index.d.ts +8 -0
- package/dist/components/LanguagePicker/index.d.ts.map +1 -0
- package/dist/components/LazyComponent/index.d.ts +12 -0
- package/dist/components/LazyComponent/index.d.ts.map +1 -0
- package/dist/components/Link/index.d.ts +9 -0
- package/dist/components/Link/index.d.ts.map +1 -0
- package/dist/components/LinkifiedText/index.d.ts +6 -0
- package/dist/components/LinkifiedText/index.d.ts.map +1 -0
- package/dist/components/Loadable/index.d.ts +16 -0
- package/dist/components/Loadable/index.d.ts.map +1 -0
- package/dist/components/Menu/index.d.ts +49 -0
- package/dist/components/Menu/index.d.ts.map +1 -0
- package/dist/components/MiddleEllipsis/index.d.ts +27 -0
- package/dist/components/MiddleEllipsis/index.d.ts.map +1 -0
- package/dist/components/Modal/Gallery.d.ts +5 -0
- package/dist/components/Modal/Gallery.d.ts.map +1 -0
- package/dist/components/Modal/Thumb.d.ts +10 -0
- package/dist/components/Modal/Thumb.d.ts.map +1 -0
- package/dist/components/Modal/index.d.ts +25 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/OverviewLink/index.d.ts +16 -0
- package/dist/components/OverviewLink/index.d.ts.map +1 -0
- package/dist/components/PageLoader/index.d.ts +2 -0
- package/dist/components/PageLoader/index.d.ts.map +1 -0
- package/dist/components/ReportLogo/index.d.ts +5 -0
- package/dist/components/ReportLogo/index.d.ts.map +1 -0
- package/dist/components/ReportLogoFull/index.d.ts +4 -0
- package/dist/components/ReportLogoFull/index.d.ts.map +1 -0
- package/dist/components/ReportSummaryCard/components/MetadataItem/index.d.ts +16 -0
- package/dist/components/ReportSummaryCard/components/MetadataItem/index.d.ts.map +1 -0
- package/dist/components/ReportSummaryCard/index.d.ts +8 -0
- package/dist/components/ReportSummaryCard/index.d.ts.map +1 -0
- package/dist/components/ReportSummaryCard/model.d.ts +22 -0
- package/dist/components/ReportSummaryCard/model.d.ts.map +1 -0
- package/dist/components/SearchBox/index.d.ts +13 -0
- package/dist/components/SearchBox/index.d.ts.map +1 -0
- package/dist/components/Spinner/index.d.ts +5 -0
- package/dist/components/Spinner/index.d.ts.map +1 -0
- package/dist/components/StatusLabel/index.d.ts +8 -0
- package/dist/components/StatusLabel/index.d.ts.map +1 -0
- package/dist/components/SvgIcon/index.d.ts +124 -0
- package/dist/components/SvgIcon/index.d.ts.map +1 -0
- package/dist/components/Tabs/index.d.ts +27 -0
- package/dist/components/Tabs/index.d.ts.map +1 -0
- package/dist/components/Tag/index.d.ts +10 -0
- package/dist/components/Tag/index.d.ts.map +1 -0
- package/dist/components/ThemeButton/index.d.ts +7 -0
- package/dist/components/ThemeButton/index.d.ts.map +1 -0
- package/dist/components/ThemeProvider/index.d.ts +7 -0
- package/dist/components/ThemeProvider/index.d.ts.map +1 -0
- package/dist/components/Timeline/DurationRange.d.ts +30 -0
- package/dist/components/Timeline/DurationRange.d.ts.map +1 -0
- package/dist/components/Timeline/GroupTooltip.d.ts +9 -0
- package/dist/components/Timeline/GroupTooltip.d.ts.map +1 -0
- package/dist/components/Timeline/ResponsiveWrapper/context.d.ts +6 -0
- package/dist/components/Timeline/ResponsiveWrapper/context.d.ts.map +1 -0
- package/dist/components/Timeline/ResponsiveWrapper/index.d.ts +7 -0
- package/dist/components/Timeline/ResponsiveWrapper/index.d.ts.map +1 -0
- package/dist/components/Timeline/SegmentTooltip.d.ts +7 -0
- package/dist/components/Timeline/SegmentTooltip.d.ts.map +1 -0
- package/dist/components/Timeline/TimeOverview.d.ts +21 -0
- package/dist/components/Timeline/TimeOverview.d.ts.map +1 -0
- package/dist/components/Timeline/Timeline.d.ts +23 -0
- package/dist/components/Timeline/Timeline.d.ts.map +1 -0
- package/dist/components/Timeline/hooks/useDurationRange.d.ts +7 -0
- package/dist/components/Timeline/hooks/useDurationRange.d.ts.map +1 -0
- package/dist/components/Timeline/index.d.ts +2 -0
- package/dist/components/Timeline/index.d.ts.map +1 -0
- package/dist/components/Timeline/types.d.ts +35 -0
- package/dist/components/Timeline/types.d.ts.map +1 -0
- package/dist/components/Timeline/utils.d.ts +27 -0
- package/dist/components/Timeline/utils.d.ts.map +1 -0
- package/dist/components/Toggle/index.d.ts +10 -0
- package/dist/components/Toggle/index.d.ts.map +1 -0
- package/dist/components/Tooltip/index.d.ts +36 -0
- package/dist/components/Tooltip/index.d.ts.map +1 -0
- package/dist/components/Tree/Tree.d.ts +27 -0
- package/dist/components/Tree/Tree.d.ts.map +1 -0
- package/dist/components/Tree/TreeHeader.d.ts +18 -0
- package/dist/components/Tree/TreeHeader.d.ts.map +1 -0
- package/dist/components/Tree/TreeItem.d.ts +25 -0
- package/dist/components/Tree/TreeItem.d.ts.map +1 -0
- package/dist/components/Tree/TreeItemIcon.d.ts +10 -0
- package/dist/components/Tree/TreeItemIcon.d.ts.map +1 -0
- package/dist/components/Tree/TreeItemInfo/index.d.ts +14 -0
- package/dist/components/Tree/TreeItemInfo/index.d.ts.map +1 -0
- package/dist/components/Tree/TreeItemInfo/utils.d.ts +3 -0
- package/dist/components/Tree/TreeItemInfo/utils.d.ts.map +1 -0
- package/dist/components/Tree/TreeItemRetries/index.d.ts +5 -0
- package/dist/components/Tree/TreeItemRetries/index.d.ts.map +1 -0
- package/dist/components/Tree/TreeSection.d.ts +12 -0
- package/dist/components/Tree/TreeSection.d.ts.map +1 -0
- package/dist/components/Tree/TreeStatusBar.d.ts +14 -0
- package/dist/components/Tree/TreeStatusBar.d.ts.map +1 -0
- package/dist/components/Tree/index.d.ts +7 -0
- package/dist/components/Tree/index.d.ts.map +1 -0
- package/dist/components/Typography/index.d.ts +37 -0
- package/dist/components/Typography/index.d.ts.map +1 -0
- package/dist/components/Widget/index.d.ts +9 -0
- package/dist/components/Widget/index.d.ts.map +1 -0
- package/dist/config-DZ-BTm2e.js +2 -0
- package/dist/config-DZ-BTm2e.js.map +1 -0
- package/dist/constants-BhEoR-GZ.js +2 -0
- package/dist/constants-BhEoR-GZ.js.map +1 -0
- package/dist/core.d.ts +577 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +2 -0
- package/dist/core.js.map +1 -0
- package/dist/floating-ui.dom-PEni3-qj.js +2 -0
- package/dist/floating-ui.dom-PEni3-qj.js.map +1 -0
- package/dist/hooks/useDebouncedCallback.d.ts +6 -0
- package/dist/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/hooks/useElementTruncation.d.ts +9 -0
- package/dist/hooks/useElementTruncation.d.ts.map +1 -0
- package/dist/identity-DzNdV8kh.js +2 -0
- package/dist/identity-DzNdV8kh.js.map +1 -0
- package/dist/index-B-4syZ2J.d.ts +25 -0
- package/dist/index-B9kLHMy9.d.ts +19 -0
- package/dist/index-BJ3L12TJ.js +2 -0
- package/dist/index-BJ3L12TJ.js.map +1 -0
- package/dist/index-BniCQn-f.js +2 -0
- package/dist/index-BniCQn-f.js.map +1 -0
- package/dist/index-BrOvQRuo.js +2 -0
- package/dist/index-BrOvQRuo.js.map +1 -0
- package/dist/index-CHmhJlCy.js +2 -0
- package/dist/index-CHmhJlCy.js.map +1 -0
- package/dist/index-CMG20_7S.js +2 -0
- package/dist/index-CMG20_7S.js.map +1 -0
- package/dist/index-CXgF3Yhl.js +2 -0
- package/dist/index-CXgF3Yhl.js.map +1 -0
- package/dist/index-CZJiaWZN.js +2 -0
- package/dist/index-CZJiaWZN.js.map +1 -0
- package/dist/index-CljGQaiY.js +2 -0
- package/dist/index-CljGQaiY.js.map +1 -0
- package/dist/index-DRO8HSfm.js +2 -0
- package/dist/index-DRO8HSfm.js.map +1 -0
- package/dist/index-DZlENr_C.js +2 -0
- package/dist/index-DZlENr_C.js.map +1 -0
- package/dist/index-D_2wjrUN.js +2 -0
- package/dist/index-D_2wjrUN.js.map +1 -0
- package/dist/index-Dj8HmckV.js +2 -0
- package/dist/index-Dj8HmckV.js.map +1 -0
- package/dist/index-QmAJXsgx.d.ts +50 -0
- package/dist/index-wexsN8zu.js +2 -0
- package/dist/index-wexsN8zu.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +44 -806
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -25
- package/dist/index.js.map +1 -1
- package/dist/index.module-BKdNahiA.js +2 -0
- package/dist/index.module-BKdNahiA.js.map +1 -0
- package/dist/line-Dnk6WnzK.js +2 -0
- package/dist/line-Dnk6WnzK.js.map +1 -0
- package/dist/linear-CZyKfBBG.js +2 -0
- package/dist/linear-CZyKfBBG.js.map +1 -0
- package/dist/nivo-annotations-B2rsOOOb.js +2 -0
- package/dist/nivo-annotations-B2rsOOOb.js.map +1 -0
- package/dist/nivo-axes-Ce1dH5CY.js +2 -0
- package/dist/nivo-axes-Ce1dH5CY.js.map +1 -0
- package/dist/nivo-colors-DSqwed4A.js +3 -0
- package/dist/nivo-colors-DSqwed4A.js.map +1 -0
- package/dist/nivo-legends-0WTLJ5Sd.js +2 -0
- package/dist/nivo-legends-0WTLJ5Sd.js.map +1 -0
- package/dist/omit-DhTTm08t.js +2 -0
- package/dist/omit-DhTTm08t.js.map +1 -0
- package/dist/prism-global-DdhG-WkK.js +18 -0
- package/dist/prism-global-DdhG-WkK.js.map +1 -0
- package/dist/successRate-BKeIquyk.js +2 -0
- package/dist/successRate-BKeIquyk.js.map +1 -0
- package/dist/successRate-De1K9gog.d.ts +3 -0
- package/dist/time-Dfkn_dVS.js +2 -0
- package/dist/time-Dfkn_dVS.js.map +1 -0
- package/dist/toNumber-DEBMlvT0.js +2 -0
- package/dist/toNumber-DEBMlvT0.js.map +1 -0
- package/dist/toString-CTcEQi-b.js +2 -0
- package/dist/toString-CTcEQi-b.js.map +1 -0
- package/dist/truncate-DRv_tZCJ.js +2 -0
- package/dist/truncate-DRv_tZCJ.js.map +1 -0
- package/dist/upperFirst-D5eOlcn2.js +2 -0
- package/dist/upperFirst-D5eOlcn2.js.map +1 -0
- package/dist/useTooltip-DhzO0u9M.js +2 -0
- package/dist/useTooltip-DhzO0u9M.js.map +1 -0
- package/dist/utcTime-wBDrZaMa.js +2 -0
- package/dist/utcTime-wBDrZaMa.js.map +1 -0
- package/dist/utils-C1Oqs14G.js +6 -0
- package/dist/utils-C1Oqs14G.js.map +1 -0
- package/dist/utils-DNKsxZkE.js +2 -0
- package/dist/utils-DNKsxZkE.js.map +1 -0
- package/package.json +163 -20
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{u as t,c as e}from"./clsx-BnvTIEMY.js";import{useEffect as n,useRef as o,useMemo as i}from"preact/hooks";import{a as r,S as a}from"./index-D_2wjrUN.js";
|
|
2
|
+
/**!
|
|
3
|
+
* Sortable 1.15.7
|
|
4
|
+
* @author RubaXa <trash@rubaxa.org>
|
|
5
|
+
* @author owenm <owen23355@gmail.com>
|
|
6
|
+
* @license MIT
|
|
7
|
+
*/function l(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,e);if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(){return s=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)({}).hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},s.apply(null,arguments)}function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function u(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?c(Object(n),!0).forEach((function(e){l(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function d(t){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d(t)}function h(t){if("undefined"!=typeof window&&window.navigator)return!!/*@__PURE__*/navigator.userAgent.match(t)}var f=h(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),p=h(/Edge/i),g=h(/firefox/i),v=h(/safari/i)&&!h(/chrome/i)&&!h(/android/i),m=h(/iP(ad|od|hone)/i),b=h(/chrome/i)&&h(/android/i),w={capture:!1,passive:!1};function y(t,e,n){t.addEventListener(e,n,!f&&w)}function E(t,e,n){t.removeEventListener(e,n,!f&&w)}function _(t,e){if(e){if(">"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function D(t){return t.host&&t!==document&&t.host.nodeType&&t.host!==t?t.host:t.parentNode}function S(t,e,n,o){if(t){n=n||document;do{if(null!=e&&(">"===e[0]?t.parentNode===n&&_(t,e):_(t,e))||o&&t===n)return t;if(t===n)break}while(t=D(t))}return null}var T,C=/\s+/g;function N(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var o=(" "+t.className+" ").replace(C," ").replace(" "+e+" "," ");t.className=(o+(n?" "+e:"")).replace(C," ")}}function x(t,e,n){var o=t&&t.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in o||-1!==e.indexOf("webkit")||(e="-webkit-"+e),o[e]=n+("string"==typeof n?"":"px")}}function O(t,e){var n="";if("string"==typeof t)n=t;else do{var o=x(t,"transform");o&&"none"!==o&&(n=o+" "+n)}while(!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function A(t,e,n){if(t){var o=t.getElementsByTagName(e),i=0,r=o.length;if(n)for(;i<r;i++)n(o[i],i);return o}return[]}function M(){var t=document.scrollingElement;return t||document.documentElement}function P(t,e,n,o,i){if(t.getBoundingClientRect||t===window){var r,a,l,s,c,u,d;if(t!==window&&t.parentNode&&t!==M()?(a=(r=t.getBoundingClientRect()).top,l=r.left,s=r.bottom,c=r.right,u=r.height,d=r.width):(a=0,l=0,s=window.innerHeight,c=window.innerWidth,u=window.innerHeight,d=window.innerWidth),(e||n)&&t!==window&&(i=i||t.parentNode,!f))do{if(i&&i.getBoundingClientRect&&("none"!==x(i,"transform")||n&&"static"!==x(i,"position"))){var h=i.getBoundingClientRect();a-=h.top+parseInt(x(i,"border-top-width")),l-=h.left+parseInt(x(i,"border-left-width")),s=a+r.height,c=l+r.width;break}}while(i=i.parentNode);if(o&&t!==window){var p=O(i||t),g=p&&p.a,v=p&&p.d;p&&(s=(a/=v)+(u/=v),c=(l/=g)+(d/=g))}return{top:a,left:l,bottom:s,right:c,width:d,height:u}}}function I(t,e,n){for(var o=B(t,!0),i=P(t)[e];o;){if(!(i>=P(o)[n]))return o;if(o===M())break;o=B(o,!1)}return!1}function k(t,e,n,o){for(var i=0,r=0,a=t.children;r<a.length;){if("none"!==a[r].style.display&&a[r]!==Lt.ghost&&(o||a[r]!==Lt.dragged)&&S(a[r],n.draggable,t,!1)){if(i===e)return a[r];i++}r++}return null}function X(t,e){for(var n=t.lastElementChild;n&&(n===Lt.ghost||"none"===x(n,"display")||e&&!_(n,e));)n=n.previousElementSibling;return n||null}function Y(t,e){var n=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)"TEMPLATE"===t.nodeName.toUpperCase()||t===Lt.clone||e&&!_(t,e)||n++;return n}function R(t){var e=0,n=0,o=M();if(t)do{var i=O(t),r=i.a,a=i.d;e+=t.scrollLeft*r,n+=t.scrollTop*a}while(t!==o&&(t=t.parentNode));return[e,n]}function B(t,e){if(!t||!t.getBoundingClientRect)return M();var n=t,o=!1;do{if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var i=x(n);if(n.clientWidth<n.scrollWidth&&("auto"==i.overflowX||"scroll"==i.overflowX)||n.clientHeight<n.scrollHeight&&("auto"==i.overflowY||"scroll"==i.overflowY)){if(!n.getBoundingClientRect||n===document.body)return M();if(o||e)return n;o=!0}}}while(n=n.parentNode);return M()}function F(t,e){return Math.round(t.top)===Math.round(e.top)&&Math.round(t.left)===Math.round(e.left)&&Math.round(t.height)===Math.round(e.height)&&Math.round(t.width)===Math.round(e.width)}function j(t,e){return function(){if(!T){var n=arguments;1===n.length?t.call(this,n[0]):t.apply(this,n),T=setTimeout((function(){T=void 0}),e)}}}function H(t,e,n){t.scrollLeft+=e,t.scrollTop+=n}function L(t){var e=window.Polymer,n=window.jQuery||window.Zepto;return e&&e.dom?e.dom(t).cloneNode(!0):n?n(t).clone(!0)[0]:t.cloneNode(!0)}function W(t,e,n){var o={};return Array.from(t.children).forEach((function(i){var r,a,l,s;if(S(i,e.draggable,t,!1)&&!i.animated&&i!==n){var c=P(i);o.left=Math.min(null!==(r=o.left)&&void 0!==r?r:1/0,c.left),o.top=Math.min(null!==(a=o.top)&&void 0!==a?a:1/0,c.top),o.right=Math.max(null!==(l=o.right)&&void 0!==l?l:-1/0,c.right),o.bottom=Math.max(null!==(s=o.bottom)&&void 0!==s?s:-1/0,c.bottom)}})),o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}var z="Sortable"+(new Date).getTime();function G(){var t,e=[];return{captureAnimationState:function(){(e=[],this.options.animation)&&[].slice.call(this.el.children).forEach((function(t){if("none"!==x(t,"display")&&t!==Lt.ghost){e.push({target:t,rect:P(t)});var n=u({},e[e.length-1].rect);if(t.thisAnimationDuration){var o=O(t,!0);o&&(n.top-=o.f,n.left-=o.e)}t.fromRect=n}}))},addAnimationState:function(t){e.push(t)},removeAnimationState:function(t){e.splice(function(t,e){for(var n in t)if(t.hasOwnProperty(n))for(var o in e)if(e.hasOwnProperty(o)&&e[o]===t[n][o])return Number(n);return-1}(e,{target:t}),1)},animateAll:function(n){var o=this;if(!this.options.animation)return clearTimeout(t),void("function"==typeof n&&n());var i=!1,r=0;e.forEach((function(t){var e=0,n=t.target,a=n.fromRect,l=P(n),s=n.prevFromRect,c=n.prevToRect,u=t.rect,d=O(n,!0);d&&(l.top-=d.f,l.left-=d.e),n.toRect=l,n.thisAnimationDuration&&F(s,l)&&!F(a,l)&&(u.top-l.top)/(u.left-l.left)==(a.top-l.top)/(a.left-l.left)&&(e=function(t,e,n,o){return Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))/Math.sqrt(Math.pow(e.top-n.top,2)+Math.pow(e.left-n.left,2))*o.animation}(u,s,c,o.options)),F(l,a)||(n.prevFromRect=a,n.prevToRect=l,e||(e=o.options.animation),o.animate(n,u,l,e)),e&&(i=!0,r=Math.max(r,e),clearTimeout(n.animationResetTimer),n.animationResetTimer=setTimeout((function(){n.animationTime=0,n.prevFromRect=null,n.fromRect=null,n.prevToRect=null,n.thisAnimationDuration=null}),e),n.thisAnimationDuration=e)})),clearTimeout(t),i?t=setTimeout((function(){"function"==typeof n&&n()}),r):"function"==typeof n&&n(),e=[]},animate:function(t,e,n,o){if(o){x(t,"transition",""),x(t,"transform","");var i=O(this.el),r=i&&i.a,a=i&&i.d,l=(e.left-n.left)/(r||1),s=(e.top-n.top)/(a||1);t.animatingX=!!l,t.animatingY=!!s,x(t,"transform","translate3d("+l+"px,"+s+"px,0)"),this.forRepaintDummy=function(t){return t.offsetWidth}(t),x(t,"transition","transform "+o+"ms"+(this.options.easing?" "+this.options.easing:"")),x(t,"transform","translate3d(0,0,0)"),"number"==typeof t.animated&&clearTimeout(t.animated),t.animated=setTimeout((function(){x(t,"transition",""),x(t,"transform",""),t.animated=!1,t.animatingX=!1,t.animatingY=!1}),o)}}}}var q=[],U={initializeByDefault:!0},V={mount:function(t){for(var e in U)U.hasOwnProperty(e)&&!(e in t)&&(t[e]=U[e]);q.forEach((function(e){if(e.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")})),q.push(t)},pluginEvent:function(t,e,n){var o=this;this.eventCanceled=!1,n.cancel=function(){o.eventCanceled=!0};var i=t+"Global";q.forEach((function(o){e[o.pluginName]&&(e[o.pluginName][i]&&e[o.pluginName][i](u({sortable:e},n)),e.options[o.pluginName]&&e[o.pluginName][t]&&e[o.pluginName][t](u({sortable:e},n)))}))},initializePlugins:function(t,e,n,o){for(var i in q.forEach((function(o){var i=o.pluginName;if(t.options[i]||o.initializeByDefault){var r=new o(t,e,t.options);r.sortable=t,r.options=t.options,t[i]=r,s(n,r.defaults)}})),t.options)if(t.options.hasOwnProperty(i)){var r=this.modifyOption(t,i,t.options[i]);void 0!==r&&(t.options[i]=r)}},getEventProperties:function(t,e){var n={};return q.forEach((function(o){"function"==typeof o.eventProperties&&s(n,o.eventProperties.call(e[o.pluginName],t))})),n},modifyOption:function(t,e,n){var o;return q.forEach((function(i){t[i.pluginName]&&i.optionListeners&&"function"==typeof i.optionListeners[e]&&(o=i.optionListeners[e].call(t[i.pluginName],n))})),o}};var Z=["evt"],$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.evt,i=function(t,e){if(null==t)return{};var n,o,i=function(t,e){if(null==t)return{};var n={};for(var o in t)if({}.hasOwnProperty.call(t,o)){if(-1!==e.indexOf(o))continue;n[o]=t[o]}return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(o=0;o<r.length;o++)n=r[o],-1===e.indexOf(n)&&{}.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}(n,Z);V.pluginEvent.bind(Lt)(t,e,u({dragEl:K,parentEl:J,ghostEl:tt,rootEl:et,nextEl:nt,lastDownEl:ot,cloneEl:it,cloneHidden:rt,dragStarted:bt,putSortable:dt,activeSortable:Lt.active,originalEvent:o,oldIndex:at,oldDraggableIndex:st,newIndex:lt,newDraggableIndex:ct,hideGhostForTarget:Bt,unhideGhostForTarget:Ft,cloneNowHidden:function(){rt=!0},cloneNowShown:function(){rt=!1},dispatchSortableEvent:function(t){Q({sortable:e,name:t,originalEvent:o})}},i))};function Q(t){!function(t){var e=t.sortable,n=t.rootEl,o=t.name,i=t.targetEl,r=t.cloneEl,a=t.toEl,l=t.fromEl,s=t.oldIndex,c=t.newIndex,d=t.oldDraggableIndex,h=t.newDraggableIndex,g=t.originalEvent,v=t.putSortable,m=t.extraEventProperties;if(e=e||n&&n[z]){var b,w=e.options,y="on"+o.charAt(0).toUpperCase()+o.substr(1);!window.CustomEvent||f||p?(b=document.createEvent("Event")).initEvent(o,!0,!0):b=new CustomEvent(o,{bubbles:!0,cancelable:!0}),b.to=a||n,b.from=l||n,b.item=i||n,b.clone=r,b.oldIndex=s,b.newIndex=c,b.oldDraggableIndex=d,b.newDraggableIndex=h,b.originalEvent=g,b.pullMode=v?v.lastPutMode:void 0;var E=u(u({},m),V.getEventProperties(o,e));for(var _ in E)b[_]=E[_];n&&n.dispatchEvent(b),w[y]&&w[y].call(e,b)}}(u({putSortable:dt,cloneEl:it,targetEl:K,rootEl:et,oldIndex:at,oldDraggableIndex:st,newIndex:lt,newDraggableIndex:ct},t))}var K,J,tt,et,nt,ot,it,rt,at,lt,st,ct,ut,dt,ht,ft,pt,gt,vt,mt,bt,wt,yt,Et,_t,Dt=!1,St=!1,Tt=[],Ct=!1,Nt=!1,xt=[],Ot=!1,At=[],Mt="undefined"!=typeof document,Pt=m,It=p||f?"cssFloat":"float",kt=Mt&&!b&&!m&&"draggable"in document.createElement("div"),Xt=function(){if(Mt){if(f)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),Yt=function(t,e){var n=x(t),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=k(t,0,e),r=k(t,1,e),a=i&&x(i),l=r&&x(r),s=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+P(i).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+P(r).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&a.float&&"none"!==a.float){var u="left"===a.float?"left":"right";return!r||"both"!==l.clear&&l.clear!==u?"horizontal":"vertical"}return i&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||s>=o&&"none"===n[It]||r&&"none"===n[It]&&s+c>o)?"vertical":"horizontal"},Rt=function(t){function e(t,n){return function(o,i,r,a){var l=o.options.group.name&&i.options.group.name&&o.options.group.name===i.options.group.name;if(null==t&&(n||l))return!0;if(null==t||!1===t)return!1;if(n&&"clone"===t)return t;if("function"==typeof t)return e(t(o,i,r,a),n)(o,i,r,a);var s=(n?o:i).options.group.name;return!0===t||"string"==typeof t&&t===s||t.join&&t.indexOf(s)>-1}}var n={},o=t.group;o&&"object"==d(o)||(o={name:o}),n.name=o.name,n.checkPull=e(o.pull,!0),n.checkPut=e(o.put),n.revertClone=o.revertClone,t.group=n},Bt=function(){!Xt&&tt&&x(tt,"display","none")},Ft=function(){!Xt&&tt&&x(tt,"display","")};Mt&&!b&&document.addEventListener("click",(function(t){if(St)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),St=!1,!1}),!0);var jt=function(t){if(K){t=t.touches?t.touches[0]:t;var e=(i=t.clientX,r=t.clientY,Tt.some((function(t){var e=t[z].options.emptyInsertThreshold;if(e&&!X(t)){var n=P(t),o=i>=n.left-e&&i<=n.right+e,l=r>=n.top-e&&r<=n.bottom+e;return o&&l?a=t:void 0}})),a);if(e){var n={};for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[z]._onDragOver(n)}}var i,r,a},Ht=function(t){K&&K.parentNode[z]._isOutsideThisEl(t.target)};function Lt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=s({},e),t[z]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Yt(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Lt.supportPointer&&"PointerEvent"in window&&(!v||m),emptyInsertThreshold:5};for(var o in V.initializePlugins(this,t,n),n)!(o in e)&&(e[o]=n[o]);for(var i in Rt(e),this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&kt,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?y(t,"pointerdown",this._onTapStart):(y(t,"mousedown",this._onTapStart),y(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(y(t,"dragover",this),y(t,"dragenter",this)),Tt.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),s(this,G())}function Wt(t,e,n,o,i,r,a,l){var s,c,u=t[z],d=u.options.onMove;return!window.CustomEvent||f||p?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=o,s.related=i||e,s.relatedRect=r||P(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),d&&(c=d.call(u,s,a)),c}function zt(t){t.draggable=!1}function Gt(){Ot=!1}function qt(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,o=0;n--;)o+=e.charCodeAt(n);return o.toString(36)}function Ut(t){return setTimeout(t,0)}function Vt(t){return clearTimeout(t)}Lt.prototype={constructor:Lt,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(wt=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,K):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,n=this.el,o=this.options,i=o.preventOnFilter,r=t.type,a=t.touches&&t.touches[0]||t.pointerType&&"touch"===t.pointerType&&t,l=(a||t).target,s=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,c=o.filter;if(function(t){At.length=0;var e=t.getElementsByTagName("input"),n=e.length;for(;n--;){var o=e[n];o.checked&&At.push(o)}}(n),!K&&!(/mousedown|pointerdown/.test(r)&&0!==t.button||o.disabled)&&!s.isContentEditable&&(this.nativeDraggable||!v||!l||"SELECT"!==l.tagName.toUpperCase())&&!((l=S(l,o.draggable,n,!1))&&l.animated||ot===l)){if(at=Y(l),st=Y(l,o.draggable),"function"==typeof c){if(c.call(this,t,l,this))return Q({sortable:e,rootEl:s,name:"filter",targetEl:l,toEl:n,fromEl:n}),$("filter",e,{evt:t}),void(i&&t.preventDefault())}else if(c&&(c=c.split(",").some((function(o){if(o=S(s,o.trim(),n,!1))return Q({sortable:e,rootEl:o,name:"filter",targetEl:l,fromEl:n,toEl:n}),$("filter",e,{evt:t}),!0}))))return void(i&&t.preventDefault());o.handle&&!S(s,o.handle,n,!1)||this._prepareDragStart(t,a,l)}}},_prepareDragStart:function(t,e,n){var o,i=this,r=i.el,a=i.options,l=r.ownerDocument;if(n&&!K&&n.parentNode===r){var s=P(n);if(et=r,J=(K=n).parentNode,nt=K.nextSibling,ot=n,ut=a.group,Lt.dragged=K,ht={target:K,clientX:(e||t).clientX,clientY:(e||t).clientY},vt=ht.clientX-s.left,mt=ht.clientY-s.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,K.style["will-change"]="all",o=function(){$("delayEnded",i,{evt:t}),Lt.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!g&&i.nativeDraggable&&(K.draggable=!0),i._triggerDragStart(t,e),Q({sortable:i,name:"choose",originalEvent:t}),N(K,a.chosenClass,!0))},a.ignore.split(",").forEach((function(t){A(K,t.trim(),zt)})),y(l,"dragover",jt),y(l,"mousemove",jt),y(l,"touchmove",jt),a.supportPointer?(y(l,"pointerup",i._onDrop),!this.nativeDraggable&&y(l,"pointercancel",i._onDrop)):(y(l,"mouseup",i._onDrop),y(l,"touchend",i._onDrop),y(l,"touchcancel",i._onDrop)),g&&this.nativeDraggable&&(this.options.touchStartThreshold=4,K.draggable=!0),$("delayStart",this,{evt:t}),!a.delay||a.delayOnTouchOnly&&!e||this.nativeDraggable&&(p||f))o();else{if(Lt.eventCanceled)return void this._onDrop();a.supportPointer?(y(l,"pointerup",i._disableDelayedDrag),y(l,"pointercancel",i._disableDelayedDrag)):(y(l,"mouseup",i._disableDelayedDrag),y(l,"touchend",i._disableDelayedDrag),y(l,"touchcancel",i._disableDelayedDrag)),y(l,"mousemove",i._delayedDragTouchMoveHandler),y(l,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&y(l,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(o,a.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){K&&zt(K),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;E(t,"mouseup",this._disableDelayedDrag),E(t,"touchend",this._disableDelayedDrag),E(t,"touchcancel",this._disableDelayedDrag),E(t,"pointerup",this._disableDelayedDrag),E(t,"pointercancel",this._disableDelayedDrag),E(t,"mousemove",this._delayedDragTouchMoveHandler),E(t,"touchmove",this._delayedDragTouchMoveHandler),E(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?y(document,"pointermove",this._onTouchMove):y(document,e?"touchmove":"mousemove",this._onTouchMove):(y(K,"dragend",this),y(et,"dragstart",this._onDragStart));try{document.selection?Ut((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){if(Dt=!1,et&&K){$("dragStarted",this,{evt:e}),this.nativeDraggable&&y(document,"dragover",Ht);var n=this.options;!t&&N(K,n.dragClass,!1),N(K,n.ghostClass,!0),Lt.active=this,t&&this._appendGhost(),Q({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(ft){this._lastX=ft.clientX,this._lastY=ft.clientY,Bt();for(var t=document.elementFromPoint(ft.clientX,ft.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(ft.clientX,ft.clientY))!==e;)e=t;if(K.parentNode[z]._isOutsideThisEl(t),e)do{if(e[z]){if(e[z]._onDragOver({clientX:ft.clientX,clientY:ft.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}t=e}while(e=D(e));Ft()}},_onTouchMove:function(t){if(ht){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,i=t.touches?t.touches[0]:t,r=tt&&O(tt,!0),a=tt&&r&&r.a,l=tt&&r&&r.d,s=Pt&&_t&&R(_t),c=(i.clientX-ht.clientX+o.x)/(a||1)+(s?s[0]-xt[0]:0)/(a||1),u=(i.clientY-ht.clientY+o.y)/(l||1)+(s?s[1]-xt[1]:0)/(l||1);if(!Lt.active&&!Dt){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}if(tt){r?(r.e+=c-(pt||0),r.f+=u-(gt||0)):r={a:1,b:0,c:0,d:1,e:c,f:u};var d="matrix(".concat(r.a,",").concat(r.b,",").concat(r.c,",").concat(r.d,",").concat(r.e,",").concat(r.f,")");x(tt,"webkitTransform",d),x(tt,"mozTransform",d),x(tt,"msTransform",d),x(tt,"transform",d),pt=c,gt=u,ft=i}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!tt){var t=this.options.fallbackOnBody?document.body:et,e=P(K,!0,Pt,!0,t),n=this.options;if(Pt){for(_t=t;"static"===x(_t,"position")&&"none"===x(_t,"transform")&&_t!==document;)_t=_t.parentNode;_t!==document.body&&_t!==document.documentElement?(_t===document&&(_t=M()),e.top+=_t.scrollTop,e.left+=_t.scrollLeft):_t=M(),xt=R(_t)}N(tt=K.cloneNode(!0),n.ghostClass,!1),N(tt,n.fallbackClass,!0),N(tt,n.dragClass,!0),x(tt,"transition",""),x(tt,"transform",""),x(tt,"box-sizing","border-box"),x(tt,"margin",0),x(tt,"top",e.top),x(tt,"left",e.left),x(tt,"width",e.width),x(tt,"height",e.height),x(tt,"opacity","0.8"),x(tt,"position",Pt?"absolute":"fixed"),x(tt,"zIndex","100000"),x(tt,"pointerEvents","none"),Lt.ghost=tt,t.appendChild(tt),x(tt,"transform-origin",vt/parseInt(tt.style.width)*100+"% "+mt/parseInt(tt.style.height)*100+"%")}},_onDragStart:function(t,e){var n=this,o=t.dataTransfer,i=n.options;$("dragStart",this,{evt:t}),Lt.eventCanceled?this._onDrop():($("setupClone",this),Lt.eventCanceled||((it=L(K)).removeAttribute("id"),it.draggable=!1,it.style["will-change"]="",this._hideClone(),N(it,this.options.chosenClass,!1),Lt.clone=it),n.cloneId=Ut((function(){$("clone",n),Lt.eventCanceled||(n.options.removeCloneOnHide||et.insertBefore(it,K),n._hideClone(),Q({sortable:n,name:"clone"}))})),!e&&N(K,i.dragClass,!0),e?(St=!0,n._loopId=setInterval(n._emulateDragOver,50)):(E(document,"mouseup",n._onDrop),E(document,"touchend",n._onDrop),E(document,"touchcancel",n._onDrop),o&&(o.effectAllowed="move",i.setData&&i.setData.call(n,o,K)),y(document,"drop",n),x(K,"transform","translateZ(0)")),Dt=!0,n._dragStartId=Ut(n._dragStarted.bind(n,e,t)),y(document,"selectstart",n),bt=!0,window.getSelection().removeAllRanges(),v&&x(document.body,"user-select","none"))},_onDragOver:function(t){var e,n,o,i,r=this.el,a=t.target,l=this.options,s=l.group,c=Lt.active,d=ut===s,h=l.sort,f=dt||c,p=this,g=!1;if(!Ot){if(void 0!==t.preventDefault&&t.cancelable&&t.preventDefault(),a=S(a,l.draggable,r,!0),B("dragOver"),Lt.eventCanceled)return g;if(K.contains(t.target)||a.animated&&a.animatingX&&a.animatingY||p._ignoreWhileAnimating===a)return j(!1);if(St=!1,c&&!l.disabled&&(d?h||(o=J!==et):dt===this||(this.lastPutMode=ut.checkPull(this,c,K,t))&&s.checkPut(this,c,K,t))){if(i="vertical"===this._getDirection(t,a),e=P(K),B("dragOverValid"),Lt.eventCanceled)return g;if(o)return J=et,F(),this._hideClone(),B("revert"),Lt.eventCanceled||(nt?et.insertBefore(K,nt):et.appendChild(K)),j(!0);var v=X(r,l.draggable);if(!v||function(t,e,n){var o=P(X(n.el,n.options.draggable)),i=W(n.el,n.options,tt),r=10;return e?t.clientX>i.right+r||t.clientY>o.bottom&&t.clientX>o.left:t.clientY>i.bottom+r||t.clientX>o.right&&t.clientY>o.top}(t,i,this)&&!v.animated){if(v===K)return j(!1);if(v&&r===t.target&&(a=v),a&&(n=P(a)),!1!==Wt(et,r,K,e,a,n,t,!!a))return F(),v&&v.nextSibling?r.insertBefore(K,v.nextSibling):r.appendChild(K),J=r,L(),j(!0)}else if(v&&function(t,e,n){var o=P(k(n.el,0,n.options,!0)),i=W(n.el,n.options,tt),r=10;return e?t.clientX<i.left-r||t.clientY<o.top&&t.clientX<o.right:t.clientY<i.top-r||t.clientY<o.bottom&&t.clientX<o.left}(t,i,this)){var m=k(r,0,l,!0);if(m===K)return j(!1);if(n=P(a=m),!1!==Wt(et,r,K,e,a,n,t,!1))return F(),r.insertBefore(K,m),J=r,L(),j(!0)}else if(a.parentNode===r){n=P(a);var b,w,y,E=K.parentNode!==r,_=!function(t,e,n){var o=n?t.left:t.top,i=n?t.right:t.bottom,r=n?t.width:t.height,a=n?e.left:e.top,l=n?e.right:e.bottom,s=n?e.width:e.height;return o===a||i===l||o+r/2===a+s/2}(K.animated&&K.toRect||e,a.animated&&a.toRect||n,i),D=i?"top":"left",T=I(a,"top","top")||I(K,"top","top"),C=T?T.scrollTop:void 0;if(wt!==a&&(w=n[D],Ct=!1,Nt=!_&&l.invertSwap||E),b=function(t,e,n,o,i,r,a,l){var s=o?t.clientY:t.clientX,c=o?n.height:n.width,u=o?n.top:n.left,d=o?n.bottom:n.right,h=!1;if(!a)if(l&&Et<c*i){if(!Ct&&(1===yt?s>u+c*r/2:s<d-c*r/2)&&(Ct=!0),Ct)h=!0;else if(1===yt?s<u+Et:s>d-Et)return-yt}else if(s>u+c*(1-i)/2&&s<d-c*(1-i)/2)return function(t){return Y(K)<Y(t)?1:-1}(e);if((h=h||a)&&(s<u+c*r/2||s>d-c*r/2))return s>u+c/2?1:-1;return 0}(t,a,n,i,_?1:l.swapThreshold,null==l.invertedSwapThreshold?l.swapThreshold:l.invertedSwapThreshold,Nt,wt===a),0!==b){var O=Y(K);do{O-=b,y=J.children[O]}while(y&&("none"===x(y,"display")||y===tt))}if(0===b||y===a)return j(!1);wt=a,yt=b;var A=a.nextElementSibling,M=!1,R=Wt(et,r,K,e,a,n,t,M=1===b);if(!1!==R)return 1!==R&&-1!==R||(M=1===R),Ot=!0,setTimeout(Gt,30),F(),M&&!A?r.appendChild(K):a.parentNode.insertBefore(K,M?A:a),T&&H(T,0,C-T.scrollTop),J=K.parentNode,void 0===w||Nt||(Et=Math.abs(w-P(a)[D])),L(),j(!0)}if(r.contains(K))return j(!1)}return!1}function B(l,s){$(l,p,u({evt:t,isOwner:d,axis:i?"vertical":"horizontal",revert:o,dragRect:e,targetRect:n,canSort:h,fromSortable:f,target:a,completed:j,onMove:function(n,o){return Wt(et,r,K,e,n,P(n),t,o)},changed:L},s))}function F(){B("dragOverAnimationCapture"),p.captureAnimationState(),p!==f&&f.captureAnimationState()}function j(e){return B("dragOverCompleted",{insertion:e}),e&&(d?c._hideClone():c._showClone(p),p!==f&&(N(K,dt?dt.options.ghostClass:c.options.ghostClass,!1),N(K,l.ghostClass,!0)),dt!==p&&p!==Lt.active?dt=p:p===Lt.active&&dt&&(dt=null),f===p&&(p._ignoreWhileAnimating=a),p.animateAll((function(){B("dragOverAnimationComplete"),p._ignoreWhileAnimating=null})),p!==f&&(f.animateAll(),f._ignoreWhileAnimating=null)),(a===K&&!K.animated||a===r&&!a.animated)&&(wt=null),l.dragoverBubble||t.rootEl||a===document||(K.parentNode[z]._isOutsideThisEl(t.target),!e&&jt(t)),!l.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),g=!0}function L(){lt=Y(K),ct=Y(K,l.draggable),Q({sortable:p,name:"change",toEl:r,newIndex:lt,newDraggableIndex:ct,originalEvent:t})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){E(document,"mousemove",this._onTouchMove),E(document,"touchmove",this._onTouchMove),E(document,"pointermove",this._onTouchMove),E(document,"dragover",jt),E(document,"mousemove",jt),E(document,"touchmove",jt)},_offUpEvents:function(){var t=this.el.ownerDocument;E(t,"mouseup",this._onDrop),E(t,"touchend",this._onDrop),E(t,"pointerup",this._onDrop),E(t,"pointercancel",this._onDrop),E(t,"touchcancel",this._onDrop),E(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;lt=Y(K),ct=Y(K,n.draggable),$("drop",this,{evt:t}),J=K&&K.parentNode,lt=Y(K),ct=Y(K,n.draggable),Lt.eventCanceled||(Dt=!1,Nt=!1,Ct=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Vt(this.cloneId),Vt(this._dragStartId),this.nativeDraggable&&(E(document,"drop",this),E(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),v&&x(document.body,"user-select",""),x(K,"transform",""),t&&(bt&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),tt&&tt.parentNode&&tt.parentNode.removeChild(tt),(et===J||dt&&"clone"!==dt.lastPutMode)&&it&&it.parentNode&&it.parentNode.removeChild(it),K&&(this.nativeDraggable&&E(K,"dragend",this),zt(K),K.style["will-change"]="",bt&&!Dt&&N(K,dt?dt.options.ghostClass:this.options.ghostClass,!1),N(K,this.options.chosenClass,!1),Q({sortable:this,name:"unchoose",toEl:J,newIndex:null,newDraggableIndex:null,originalEvent:t}),et!==J?(lt>=0&&(Q({rootEl:J,name:"add",toEl:J,fromEl:et,originalEvent:t}),Q({sortable:this,name:"remove",toEl:J,originalEvent:t}),Q({rootEl:J,name:"sort",toEl:J,fromEl:et,originalEvent:t}),Q({sortable:this,name:"sort",toEl:J,originalEvent:t})),dt&&dt.save()):lt!==at&<>=0&&(Q({sortable:this,name:"update",toEl:J,originalEvent:t}),Q({sortable:this,name:"sort",toEl:J,originalEvent:t})),Lt.active&&(null!=lt&&-1!==lt||(lt=at,ct=st),Q({sortable:this,name:"end",toEl:J,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){$("nulling",this),et=K=J=tt=nt=it=ot=rt=ht=ft=bt=lt=ct=at=st=wt=yt=dt=ut=Lt.dragged=Lt.ghost=Lt.clone=Lt.active=null;var t=this.el;At.forEach((function(e){t.contains(e)&&(e.checked=!0)})),At.length=pt=gt=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":K&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move");t.cancelable&&t.preventDefault()}(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],n=this.el.children,o=0,i=n.length,r=this.options;o<i;o++)S(t=n[o],r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||qt(t));return e},sort:function(t,e){var n={},o=this.el;this.toArray().forEach((function(t,e){var i=o.children[e];S(i,this.options.draggable,o,!1)&&(n[t]=i)}),this),e&&this.captureAnimationState(),t.forEach((function(t){n[t]&&(o.removeChild(n[t]),o.appendChild(n[t]))})),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return S(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var n=this.options;if(void 0===e)return n[t];var o=V.modifyOption(this,t,e);n[t]=void 0!==o?o:e,"group"===t&&Rt(n)},destroy:function(){$("destroy",this);var t=this.el;t[z]=null,E(t,"mousedown",this._onTapStart),E(t,"touchstart",this._onTapStart),E(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(E(t,"dragover",this),E(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),(function(t){t.removeAttribute("draggable")})),this._onDrop(),this._disableDelayedDragEvents(),Tt.splice(Tt.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!rt){if($("hideClone",this),Lt.eventCanceled)return;x(it,"display","none"),this.options.removeCloneOnHide&&it.parentNode&&it.parentNode.removeChild(it),rt=!0}},_showClone:function(t){if("clone"===t.lastPutMode){if(rt){if($("showClone",this),Lt.eventCanceled)return;K.parentNode!=et||this.options.group.revertClone?nt?et.insertBefore(it,nt):et.appendChild(it):et.insertBefore(it,K),this.options.group.revertClone&&this.animate(K,it),x(it,"display",""),rt=!1}}else this._hideClone()}},Mt&&y(document,"touchmove",(function(t){(Lt.active||Dt)&&t.cancelable&&t.preventDefault()})),Lt.utils={on:y,off:E,css:x,find:A,is:function(t,e){return!!S(t,e,t,!1)},extend:function(t,e){if(t&&e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},throttle:j,closest:S,toggleClass:N,clone:L,index:Y,nextTick:Ut,cancelNextTick:Vt,detectDirection:Yt,getChild:k,expando:z},Lt.get=function(t){return t[z]},Lt.mount=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e[0].constructor===Array&&(e=e[0]),e.forEach((function(t){if(!t.prototype||!t.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(t));t.utils&&(Lt.utils=u(u({},Lt.utils),t.utils)),V.mount(t)}))},Lt.create=function(t,e){return new Lt(t,e)},Lt.version="1.15.7";var Zt,$t,Qt,Kt,Jt,te,ee=[],ne=!1;function oe(){ee.forEach((function(t){clearInterval(t.pid)})),ee=[]}function ie(){clearInterval(te)}var re,ae=j((function(t,e,n,o){if(e.scroll){var i,r=(t.touches?t.touches[0]:t).clientX,a=(t.touches?t.touches[0]:t).clientY,l=e.scrollSensitivity,s=e.scrollSpeed,c=M(),u=!1;$t!==n&&($t=n,oe(),Zt=e.scroll,i=e.scrollFn,!0===Zt&&(Zt=B(n,!0)));var d=0,h=Zt;do{var f=h,p=P(f),g=p.top,v=p.bottom,m=p.left,b=p.right,w=p.width,y=p.height,E=void 0,_=void 0,D=f.scrollWidth,S=f.scrollHeight,T=x(f),C=f.scrollLeft,N=f.scrollTop;f===c?(E=w<D&&("auto"===T.overflowX||"scroll"===T.overflowX||"visible"===T.overflowX),_=y<S&&("auto"===T.overflowY||"scroll"===T.overflowY||"visible"===T.overflowY)):(E=w<D&&("auto"===T.overflowX||"scroll"===T.overflowX),_=y<S&&("auto"===T.overflowY||"scroll"===T.overflowY));var O=E&&(Math.abs(b-r)<=l&&C+w<D)-(Math.abs(m-r)<=l&&!!C),A=_&&(Math.abs(v-a)<=l&&N+y<S)-(Math.abs(g-a)<=l&&!!N);if(!ee[d])for(var I=0;I<=d;I++)ee[I]||(ee[I]={});ee[d].vx==O&&ee[d].vy==A&&ee[d].el===f||(ee[d].el=f,ee[d].vx=O,ee[d].vy=A,clearInterval(ee[d].pid),0==O&&0==A||(u=!0,ee[d].pid=setInterval(function(){o&&0===this.layer&&Lt.active._onTouchMove(Jt);var e=ee[this.layer].vy?ee[this.layer].vy*s:0,n=ee[this.layer].vx?ee[this.layer].vx*s:0;"function"==typeof i&&"continue"!==i.call(Lt.dragged.parentNode[z],n,e,t,Jt,ee[this.layer].el)||H(ee[this.layer].el,n,e)}.bind({layer:d}),24))),d++}while(e.bubbleScroll&&h!==c&&(h=B(h,!1)));ne=u}}),30),le=function(t){var e=t.originalEvent,n=t.putSortable,o=t.dragEl,i=t.activeSortable,r=t.dispatchSortableEvent,a=t.hideGhostForTarget,l=t.unhideGhostForTarget;if(e){var s=n||i;a();var c=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,u=document.elementFromPoint(c.clientX,c.clientY);l(),s&&!s.el.contains(u)&&(r("spill"),this.onSpill({dragEl:o,putSortable:n}))}};function se(){}function ce(){}se.prototype={startIndex:null,dragStart:function(t){var e=t.oldDraggableIndex;this.startIndex=e},onSpill:function(t){var e=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var o=k(this.sortable.el,this.startIndex,this.options);o?this.sortable.el.insertBefore(e,o):this.sortable.el.appendChild(e),this.sortable.animateAll(),n&&n.animateAll()},drop:le},s(se,{pluginName:"revertOnSpill"}),ce.prototype={onSpill:function(t){var e=t.dragEl,n=t.putSortable||this.sortable;n.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),n.animateAll()},drop:le},s(ce,{pluginName:"removeOnSpill"}),Lt.mount(new function(){function t(){for(var t in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===t.charAt(0)&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}return t.prototype={dragStarted:function(t){var e=t.originalEvent;this.sortable.nativeDraggable?y(document,"dragover",this._handleAutoScroll):this.options.supportPointer?y(document,"pointermove",this._handleFallbackAutoScroll):e.touches?y(document,"touchmove",this._handleFallbackAutoScroll):y(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var e=t.originalEvent;this.options.dragOverBubble||e.rootEl||this._handleAutoScroll(e)},drop:function(){this.sortable.nativeDraggable?E(document,"dragover",this._handleAutoScroll):(E(document,"pointermove",this._handleFallbackAutoScroll),E(document,"touchmove",this._handleFallbackAutoScroll),E(document,"mousemove",this._handleFallbackAutoScroll)),ie(),oe(),clearTimeout(T),T=void 0},nulling:function(){Jt=$t=Zt=ne=te=Qt=Kt=null,ee.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(t,e){var n=this,o=(t.touches?t.touches[0]:t).clientX,i=(t.touches?t.touches[0]:t).clientY,r=document.elementFromPoint(o,i);if(Jt=t,e||this.options.forceAutoScrollFallback||p||f||v){ae(t,this.options,r,e);var a=B(r,!0);!ne||te&&o===Qt&&i===Kt||(te&&ie(),te=setInterval((function(){var r=B(document.elementFromPoint(o,i),!0);r!==a&&(a=r,oe()),ae(t,n.options,r,e)}),10),Qt=o,Kt=i)}else{if(!this.options.bubbleScroll||B(r,!0)===M())return void oe();ae(t,this.options,B(r,!1),!1)}}},s(t,{pluginName:"scroll",initializeByDefault:!0})}),Lt.mount(ce,se);const ue="dnd-drag-handle",de="dnd-drag-enabled";Lt.mount(new function(){function t(){this.defaults={swapClass:"sortable-swap-highlight"}}return t.prototype={dragStart:function(t){var e=t.dragEl;re=e},dragOverValid:function(t){var e=t.completed,n=t.target,o=t.onMove,i=t.activeSortable,r=t.changed,a=t.cancel;if(i.options.swap){var l=this.sortable.el,s=this.options;if(n&&n!==l){var c=re;!1!==o(n)?(N(n,s.swapClass,!0),re=n):re=null,c&&c!==re&&N(c,s.swapClass,!1)}r(),e(!0),a()}},drop:function(t){var e=t.activeSortable,n=t.putSortable,o=t.dragEl,i=n||this.sortable,r=this.options;re&&N(re,r.swapClass,!1),re&&(r.swap||n&&n.options.swap)&&o!==re&&(i.captureAnimationState(),i!==e&&e.captureAnimationState(),function(t,e){var n,o,i=t.parentNode,r=e.parentNode;if(!i||!r||i.isEqualNode(e)||r.isEqualNode(t))return;n=Y(t),o=Y(e),i.isEqualNode(r)&&n<o&&o++;i.insertBefore(e,i.children[n]),r.insertBefore(t,r.children[o])}(o,re),i.animateAll(),i!==e&&e.animateAll())},nulling:function(){re=null}},s(t,{pluginName:"swap",eventProperties:function(){return{swapItem:re}}})});var he="styles_grid__bgsAQ";const fe=({className:r,options:a,kind:l="default",children:s,...c})=>{const u=o(null);return((t,e)=>{n((()=>{if(t.current){const n=Lt.create(t.current,{animation:150,handle:`.${ue}`,draggable:`.${de}`,...e});return()=>{n.destroy()}}}),[t,e])})(u,i((()=>({...a,..."swap"===l&&{swap:!0,swapClass:"dnd-drag-swap-highlight"}})),[a,l])),t("div",{ref:u,className:e(he,r),...c,children:s})},pe=({className:e})=>t(a,{id:r.draggable,className:e});var ge="styles_drag-handle__2DC4-";const ve=({className:n})=>t("div",{className:e(ge,ue,n),children:t(pe,{})});var me="styles_grid-item__-kGp3",be="styles_grid-item-content__hZ5TS",we="styles_grid-item-handle__OyO7A";const ye=({className:n,children:o,dndEnabled:i=!1,...r})=>t("div",{...r,className:e(me,{[de]:i},n),children:[t("div",{className:be,children:o}),i&&t(ve,{className:we})]});export{fe as G,ye as a};
|
|
8
|
+
//# sourceMappingURL=GridItem-DNsiFecD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridItem-DNsiFecD.js","sources":["../../../node_modules/sortablejs/modular/sortable.esm.js","../src/components/Grid/constants.ts","../src/components/Grid/hooks/useSortable.ts","../src/components/Grid/Grid.tsx","../src/components/Grid/components/GridItem/components/DragHandle/components/DragHandleIcon.tsx","../src/components/Grid/components/GridItem/components/DragHandle/DragHandle.tsx","../src/components/Grid/components/GridItem/GridItem.tsx"],"sourcesContent":["/**!\n * Sortable 1.15.7\n * @author\tRubaXa <trash@rubaxa.org>\n * @author\towenm <owen23355@gmail.com>\n * @license MIT\n */\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = _objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nvar version = \"1.15.7\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !! /*@__PURE__*/navigator.userAgent.match(pattern);\n }\n}\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\nfunction matches( /**HTMLElement*/el, /**String*/selector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n return false;\n}\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType && el.host !== el ? el.host : el.parentNode;\n}\nfunction closest( /**HTMLElement*/el, /**String*/selector, /**HTMLElement*/ctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n return null;\n}\nvar R_SPACE = /\\s+/g;\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\nfunction css(el, prop, val) {\n var style = el && el.style;\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n } while (!selfOnly && (el = el.parentNode));\n }\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n return matrixFn && new matrixFn(appliedTransforms);\n}\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n return list;\n }\n return [];\n}\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n\n/**\r\n * Returns the \"bounding client rect\" of given element\r\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\r\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\r\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\r\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\r\n * @param {[HTMLElement]} container The parent the element will be placed in\r\n * @return {Object} The boundingClientRect of el, with specified adjustments\r\n */\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode;\n\n // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect();\n\n // Set relative to edges of padding box of container\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n } while (container = container.parentNode);\n }\n }\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n\n/**\r\n * Checks if a side of an element is scrolled past a side of its parents\r\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\r\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\r\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\r\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\r\n */\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n\n /* jshint boss:true */\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n return false;\n}\n\n/**\r\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\r\n * and non-draggable elements\r\n * @param {HTMLElement} el The parent element\r\n * @param {Number} childNum The index of the child\r\n * @param {Object} options Parent Sortable's options\r\n * @return {HTMLElement} The child at index childNum, or null if not found\r\n */\nfunction getChild(el, childNum, options, includeDragEl) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n currentChild++;\n }\n i++;\n }\n return null;\n}\n\n/**\r\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\r\n * @param {HTMLElement} el Parent element\r\n * @param {selector} selector Any other elements that should be ignored\r\n * @return {HTMLElement} The last child, ignoring ghostEl\r\n */\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n return last || null;\n}\n\n/**\r\n * Returns the index of an element within its parent for a selected set of\r\n * elements\r\n * @param {HTMLElement} el\r\n * @param {selector} selector\r\n * @return {number}\r\n */\nfunction index(el, selector) {\n var index = 0;\n if (!el || !el.parentNode) {\n return -1;\n }\n\n /* jshint boss:true */\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n return index;\n}\n\n/**\r\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\r\n * The value is returned in real pixels.\r\n * @param {HTMLElement} el\r\n * @return {Array} Offsets in the format of [left, top]\r\n */\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n return [offsetLeft, offsetTop];\n}\n\n/**\r\n * Returns the index of the object within the given array\r\n * @param {Array} arr Array that may or may not hold the object\r\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\r\n * @return {Number} The index of the object in the array, or -1\r\n */\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n return -1;\n}\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n } while (elem = elem.parentNode);\n return getWindowScrollingElement();\n}\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n return dst;\n}\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\nvar _throttleTimeout;\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\nfunction getChildContainingRectFromElement(container, options, ghostEl) {\n var rect = {};\n Array.from(container.children).forEach(function (child) {\n var _rect$left, _rect$top, _rect$right, _rect$bottom;\n if (!closest(child, options.draggable, container, false) || child.animated || child === ghostEl) return;\n var childRect = getRect(child);\n rect.left = Math.min((_rect$left = rect.left) !== null && _rect$left !== void 0 ? _rect$left : Infinity, childRect.left);\n rect.top = Math.min((_rect$top = rect.top) !== null && _rect$top !== void 0 ? _rect$top : Infinity, childRect.top);\n rect.right = Math.max((_rect$right = rect.right) !== null && _rect$right !== void 0 ? _rect$right : -Infinity, childRect.right);\n rect.bottom = Math.max((_rect$bottom = rect.bottom) !== null && _rect$bottom !== void 0 ? _rect$bottom : -Infinity, childRect.bottom);\n });\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect);\n\n // If animating: compensate for current animation\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n target.toRect = toRect;\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) &&\n // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n }\n\n // if fromRect != toRect: animate\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n if (!time) {\n time = _this.options.animation;\n }\n _this.animate(target, animatingRect, toRect, time);\n }\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n this.forRepaintDummy = repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\nfunction repaint(target) {\n return target.offsetWidth;\n}\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n plugins.forEach(function (p) {\n if (p.pluginName === plugin.pluginName) {\n throw \"Sortable: Cannot mount plugin \".concat(plugin.pluginName, \" more than once\");\n }\n });\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n this.eventCanceled = false;\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return;\n // Fire global events if it exists in this sortable\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({\n sortable: sortable\n }, evt));\n }\n\n // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread2({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized;\n\n // Add default options from plugin\n _extends(defaults, initialized.defaults);\n });\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return;\n\n // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1);\n // Support for new CustomEvent feature\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name, sortable));\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar _excluded = [\"evt\"];\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, _excluded);\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread2({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\n ghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n\n _silent = false,\n savedInputChecked = [];\n\n/** @const */\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\n supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return;\n // false when <= IE11\n if (IE11OrLess) {\n return false;\n }\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n }(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n },\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n },\n /**\r\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\r\n * @param {Number} x X position\r\n * @param {Number} y Y position\r\n * @return {HTMLElement} Element of the first found nearest Sortable\r\n */\n _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n var threshold = sortable[expando].options.emptyInsertThreshold;\n if (!threshold || lastChild(sortable)) return;\n var rect = getRect(sortable),\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n if (insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n },\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n var group = {};\n var originalGroup = options.group;\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n },\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n },\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n };\n\n// #1184 fix - Prevent click event on fallback if dragged but item not changed position\nif (documentExists && !ChromeForAndroid) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n if (nearest) {\n // Create imitation event\n var event = {};\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n nearest[expando]._onDragOver(event);\n }\n }\n};\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n\n/**\r\n * @class Sortable\r\n * @param {HTMLElement} el\r\n * @param {Object} [options]\r\n */\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n this.el = el; // root element\n this.options = options = _extends({}, options);\n\n // Export instance\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n // Disabled on Safari: #1571; Enabled on Safari IOS: #2244\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window && (!Safari || IOS),\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults);\n\n // Set default options\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n _prepareGroup(options);\n\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n // Setup drag mode\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n }\n\n // Bind events\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n sortables.push(this.el);\n\n // Restore sorting\n options.store && options.store.get && this.sort(options.store.get(this) || []);\n\n // Add animation state manager\n _extends(this, AnimationStateManager());\n}\nSortable.prototype = /** @lends Sortable.prototype */{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart( /** Event|TouchEvent */evt) {\n if (!evt.cancelable) return;\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n _saveInputCheckedState(el);\n\n // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n if (dragEl) {\n return;\n }\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n }\n\n // cancel dnd if original target is content editable\n if (originalTarget.isContentEditable) {\n return;\n }\n\n // Safari ignores further event handling after mousedown\n if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === 'SELECT') {\n return;\n }\n target = closest(target, options.draggable, el, false);\n if (target && target.animated) {\n return;\n }\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n }\n\n // Get the index of the dragged element within its parent\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable);\n\n // Check filter\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n if (filter) {\n preventOnFilter && evt.preventDefault();\n return; // cancel dnd\n }\n }\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n }\n\n // Prepare `dragstart`\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart( /** Event */evt, /** Touch */touch, /** HTMLElement */target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n if (Sortable.eventCanceled) {\n _this._onDrop();\n return;\n }\n // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n _this._disableDelayedDragEvents();\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n }\n\n // Bind the events: dragstart/dragend\n _this._triggerDragStart(evt, touch);\n\n // Drag start event\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n });\n\n // Chosen item\n toggleClass(dragEl, options.chosenClass, true);\n };\n\n // Disable \"draggable\"\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n if (options.supportPointer) {\n on(ownerDocument, 'pointerup', _this._onDrop);\n // Native D&D triggers pointercancel\n !this.nativeDraggable && on(ownerDocument, 'pointercancel', _this._onDrop);\n } else {\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop);\n }\n\n // Make dragEl draggable (must be before delay for FireFox)\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n pluginEvent('delayStart', this, {\n evt: evt\n });\n\n // Delay is impossible for native DnD in Edge or IE\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n return;\n }\n // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n if (options.supportPointer) {\n on(ownerDocument, 'pointerup', _this._disableDelayedDrag);\n on(ownerDocument, 'pointercancel', _this._disableDelayedDrag);\n } else {\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n }\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler( /** TouchEvent|PointerEvent **/e) {\n var touch = e.touches ? e.touches[0] : e;\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'pointerup', this._disableDelayedDrag);\n off(ownerDocument, 'pointercancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart( /** Event */evt, /** Touch */touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n try {\n if (document.selection) {\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n awaitingDragStarted = false;\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n var options = this.options;\n\n // Apply effect\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost();\n\n // Drag start event\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n _hideGhostForTarget();\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n target = parent; // store last element\n }\n /* jshint boss:true */ while (parent = getParentOrHost(parent));\n }\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove( /**TouchEvent*/evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1);\n\n // only set the status to dragging, when we are actually dragging\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n this._onDragStart(evt, true);\n }\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options;\n\n // Position absolutely\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl);\n\n // Set transform-origin\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart( /**Event*/evt, /**boolean*/fallback) {\n var _this = this;\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n if (Sortable.eventCanceled) {\n this._onDrop();\n return;\n }\n pluginEvent('setupClone', this);\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.removeAttribute(\"id\");\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n this._hideClone();\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n }\n\n // #1143: IFrame support workaround\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n _this._hideClone();\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true);\n\n // Set proper drop events\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n on(document, 'drop', _this);\n\n // #1276 fix:\n css(dragEl, 'transform', 'translateZ(0)');\n }\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n window.getSelection().removeAllRanges();\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver( /**Event*/evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n if (_silent) return;\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread2({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n }\n\n // Capture animation state\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n _this.captureAnimationState();\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n }\n\n // Return invocation when dragEl is inserted (or completed)\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n }\n\n // Animation\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n }\n\n // Null lastTarget if it is not inside a previously swapped element\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n }\n\n // no bubbling and not fallback\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n\n // Do not detect for empty insert if already inserted\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n }\n\n // Call when dragEl has been inserted\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n ignoreNextClick = false;\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n if (revert) {\n parentEl = rootEl; // actualization\n capture();\n this._hideClone();\n dragOverEvent('revert');\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n return completed(true);\n }\n var elLastChild = lastChild(el, options.draggable);\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // Insert to end of list\n\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n }\n\n // if there is a last element, it is the target\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n if (target) {\n targetRect = getRect(target);\n }\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n if (elLastChild && elLastChild.nextSibling) {\n // the last draggable element is not the last node\n el.insertBefore(dragEl, elLastChild.nextSibling);\n } else {\n el.appendChild(dragEl);\n }\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {\n // Insert to start of list\n var firstChild = getChild(el, 0, options, true);\n if (firstChild === dragEl) {\n return completed(false);\n }\n target = firstChild;\n targetRect = getRect(target);\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {\n capture();\n el.insertBefore(dragEl, firstChild);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n }\n // If dragEl is already beside target: Do not insert\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n }\n\n // Undo chrome's scroll adjustment (has no effect on other browsers)\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n parentEl = dragEl.parentNode; // actualization\n\n // must be done before animation\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n changed();\n return completed(true);\n }\n }\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'pointercancel', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop( /**Event*/evt) {\n var el = this.el,\n options = this.options;\n\n // Get the index of the dragged element within its parent\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode;\n\n // Get again after plugin event\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n if (Sortable.eventCanceled) {\n this._nulling();\n return;\n }\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n _cancelNextTick(this.cloneId);\n _cancelNextTick(this._dragStartId);\n\n // Unbind events\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n this._offMoveEvents();\n this._offUpEvents();\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n css(dragEl, 'transform', '');\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n _disableDraggable(dragEl);\n dragEl.style['will-change'] = '';\n\n // Remove classes\n // ghostClass is added in dragStarted\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n toggleClass(dragEl, this.options.chosenClass, false);\n\n // Drag stop event\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n // Remove event\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n });\n\n // drag from one list and drop into another\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n });\n\n // Save sorting\n this.save();\n }\n }\n }\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n var el = this.el;\n savedInputChecked.forEach(function (checkEl) {\n if (el.contains(checkEl)) {\n checkEl.checked = true;\n }\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent( /**Event*/evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n break;\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n _globalDragOver(evt);\n }\n break;\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n /**\r\n * Serializes the item into an array of string.\r\n * @returns {String[]}\r\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n for (; i < n; i++) {\n el = children[i];\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n return order;\n },\n /**\r\n * Sorts the elements according to the array.\r\n * @param {String[]} order order of the items\r\n */\n sort: function sort(order, useAnimation) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n useAnimation && this.captureAnimationState();\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n useAnimation && this.animateAll();\n },\n /**\r\n * Save the current sorting\r\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n /**\r\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\r\n * @param {HTMLElement} el\r\n * @param {String} [selector] default: `options.draggable`\r\n * @returns {HTMLElement|null}\r\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n /**\r\n * Set/get option\r\n * @param {string} name\r\n * @param {*} [value]\r\n * @returns {*}\r\n */\n option: function option(name, value) {\n var options = this.options;\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n /**\r\n * Destroy\r\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n }\n // Remove draggable attributes\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n this._onDrop();\n this._disableDelayedDragEvents();\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n return;\n }\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return;\n\n // show clone at dragEl or original position\n if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\nfunction _globalDragOver( /**Event*/evt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n evt.cancelable && evt.preventDefault();\n}\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal;\n // Support for new CustomEvent feature\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n return retVal;\n}\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\nfunction _unsilent() {\n _silent = false;\n}\nfunction _ghostIsFirst(evt, vertical, sortable) {\n var firstElRect = getRect(getChild(sortable.el, 0, sortable.options, true));\n var childContainingRect = getChildContainingRectFromElement(sortable.el, sortable.options, ghostEl);\n var spacer = 10;\n return vertical ? evt.clientX < childContainingRect.left - spacer || evt.clientY < firstElRect.top && evt.clientX < firstElRect.right : evt.clientY < childContainingRect.top - spacer || evt.clientY < firstElRect.bottom && evt.clientX < firstElRect.left;\n}\nfunction _ghostIsLast(evt, vertical, sortable) {\n var lastElRect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var childContainingRect = getChildContainingRectFromElement(sortable.el, sortable.options, ghostEl);\n var spacer = 10;\n return vertical ? evt.clientX > childContainingRect.right + spacer || evt.clientY > lastElRect.bottom && evt.clientX > lastElRect.left : evt.clientY > childContainingRect.bottom + spacer || evt.clientX > lastElRect.right && evt.clientY > lastElRect.top;\n}\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n invert = invert || invertSwap;\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n return 0;\n}\n\n/**\r\n * Gets the direction dragEl must be swapped relative to target in order to make it\r\n * seem that dragEl has been \"inserted\" into that element's position\r\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\r\n * @return {Number} Direction dragEl must be swapped\r\n */\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n\n/**\r\n * Generate id\r\n * @param {HTMLElement} el\r\n * @returns {String}\r\n * @private\r\n */\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n while (i--) {\n sum += str.charCodeAt(i);\n }\n return sum.toString(36);\n}\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n}\n\n// Fixed #973:\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n}\n\n// Export utils\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild,\n expando: expando\n};\n\n/**\r\n * Get the Sortable instance of an element\r\n * @param {HTMLElement} element The element\r\n * @return {Sortable|undefined} The instance of Sortable\r\n */\nSortable.get = function (element) {\n return element[expando];\n};\n\n/**\r\n * Mount a plugin to Sortable\r\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\r\n */\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n if (plugin.utils) Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n\n/**\r\n * Create sortable instance\r\n * @param {HTMLElement} el\r\n * @param {Object} [options]\r\n */\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n};\n\n// Export\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n forceAutoScrollFallback: false,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n };\n\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt;\n\n // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback);\n\n // Listener for pointer element change\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval();\n // Detect for pointer elem change, emulating native DnD behaviour\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn;\n\n // New scroll root, set scrollEl\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n var layersOut = 0;\n var currentParent = scrollEl;\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n }\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\nfunction Revert() {}\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n this.sortable.animateAll();\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\nfunction Remove() {}\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\n multiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\n folding = false,\n // Folding any other time\n dragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n if (!sortable.options.avoidImplicitDeselect) {\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n }\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n avoidImplicitDeselect: false,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n dataTransfer.setData('Text', data);\n }\n };\n }\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n sortable._hideClone();\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n });\n\n // Sort multi-drag elements\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n\n sortable.captureAnimationState();\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n }\n\n // Remove all auxiliary multidrag items from el, if sorting enabled\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n initialFolding = false;\n // If leaving sort:false root, or already folding - Fold to new location\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute);\n\n // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n }\n\n // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n activeSortable._showClone(sortable);\n\n // Unfold animation for clones if showing from hidden\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children;\n\n // Multi-drag selection\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvent: evt\n });\n\n // Modifier activated, select from last to dragEl\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n (function () {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n var filter = options.filter;\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n // Check if element is draggable\n if (!closest(children[i], options.draggable, parentEl, false)) continue;\n // Check if element is filtered\n var filtered = filter && (typeof filter === 'function' ? filter.call(sortable, evt, children[i], sortable) : filter.split(',').some(function (criteria) {\n return closest(children[i], criteria.trim(), parentEl, false);\n }));\n if (filtered) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvent: evt\n });\n }\n })();\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvent: evt\n });\n }\n }\n\n // Multi-drag drop\n if (dragStarted && this.isMultiDrag) {\n folding = false;\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect;\n\n // Prepare unfold animation\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n }\n\n // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n multiDragIndex++;\n });\n\n // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n if (update) {\n dispatchSortableEvent('update');\n dispatchSortableEvent('sort');\n }\n }\n }\n\n // Must be done after capturing individual rects (scroll bar)\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n multiDragSortable = toSortable;\n }\n\n // Remove clones if necessary\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return;\n\n // Only deselect if selection is in this sortable\n if (multiDragSortable !== this.sortable) return;\n\n // Only deselect if target is not item in this sortable\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return;\n\n // Only deselect if left click\n if (evt && evt.button !== 0) return;\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvent: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n multiDragSortable = sortable;\n }\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n });\n\n // multiDragElements will already be sorted if folding\n var newIndex;\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n return key;\n }\n }\n });\n}\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n",null,null,null,null,null,null],"names":["_defineProperty","e","r","t","i","Symbol","toPrimitive","call","TypeError","String","Number","_toPrimitive","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","_extends","assign","bind","n","arguments","length","hasOwnProperty","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","push","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","_typeof","iterator","constructor","prototype","userAgent","pattern","window","navigator","match","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","on","el","event","fn","addEventListener","off","removeEventListener","matches","selector","substring","msMatchesSelector","webkitMatchesSelector","_","getParentOrHost","host","document","nodeType","parentNode","closest","ctx","includeCTX","_throttleTimeout","R_SPACE","toggleClass","name","state","classList","className","replace","css","prop","val","style","defaultView","getComputedStyle","currentStyle","indexOf","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","find","tagName","list","getElementsByTagName","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","getBoundingClientRect","elRect","top","left","bottom","right","height","width","innerHeight","innerWidth","containerRect","parseInt","elMatrix","scaleX","a","scaleY","d","isScrolledPast","elSide","parentSide","parent","getParentAutoScrollElement","elSideVal","getChild","childNum","options","includeDragEl","currentChild","children","display","Sortable","ghost","dragged","draggable","lastChild","last","lastElementChild","previousElementSibling","index","nodeName","toUpperCase","clone","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","includeSelf","elem","gotSelf","clientWidth","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","body","isRectEqual","rect1","rect2","Math","round","throttle","callback","ms","args","this","setTimeout","scrollBy","x","y","Polymer","$","jQuery","Zepto","dom","cloneNode","getChildContainingRectFromElement","ghostEl","rect","Array","from","child","_rect$left","_rect$top","_rect$right","_rect$bottom","animated","childRect","min","Infinity","max","expando","Date","getTime","AnimationStateManager","animationCallbackId","animationStates","captureAnimationState","animation","slice","target","fromRect","thisAnimationDuration","childMatrix","f","addAnimationState","removeAnimationState","splice","arr","obj","key","indexOfObject","animateAll","_this","clearTimeout","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","sqrt","pow","calculateRealTime","animate","animationResetTimer","currentRect","duration","translateX","translateY","animatingX","animatingY","forRepaintDummy","offsetWidth","repaint","easing","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","option","p","pluginName","concat","pluginEvent","eventName","sortable","evt","eventCanceled","cancel","eventNameGlobal","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","_excluded","_ref","undefined","originalEvent","data","_objectWithoutPropertiesLoose","propertyIsEnumerable","_objectWithoutProperties","dragEl","parentEl","rootEl","nextEl","lastDownEl","cloneEl","cloneHidden","dragStarted","moved","putSortable","activeSortable","active","oldIndex","oldDraggableIndex","newIndex","newDraggableIndex","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","info","targetEl","toEl","fromEl","extraEventProperties","onName","charAt","substr","CustomEvent","createEvent","initEvent","bubbles","cancelable","to","item","pullMode","lastPutMode","allEventProperties","dispatchEvent","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","createElement","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginLeft","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","split","touchingSideChild2","clear","_prepareGroup","toFn","pull","sameGroup","group","otherGroup","join","originalGroup","checkPull","checkPut","put","revertClone","preventDefault","stopPropagation","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","some","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","ret","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","toString","sort","disabled","store","handle","test","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","get","_onMove","dragRect","targetRect","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_generateId","str","src","href","sum","charCodeAt","_nextTick","_cancelNextTick","id","contains","_getDirection","type","touch","pointerType","originalTarget","shadowRoot","path","composedPath","root","inputs","idx","checked","_saveInputCheckedState","button","isContentEditable","criteria","trim","_prepareDragStart","dragStartFn","ownerDocument","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","floor","_onTouchMove","_onDragStart","selection","empty","getSelection","removeAllRanges","err","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","ghostMatrix","relativeScrollOffset","dx","dy","b","c","cssMatrix","appendChild","removeAttribute","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","revert","vertical","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","lastElRect","childContainingRect","spacer","_ghostIsLast","changed","firstElRect","_ghostIsFirst","firstChild","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_dragElInRowColumn","side1","scrolledPastTop","scrollBefore","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_getSwapDirection","dragIndex","nextElementSibling","after","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","removeChild","save","checkEl","handleEvent","dropEffect","_globalDragOver","toArray","order","getAttribute","useAnimation","items","set","destroy","querySelectorAll","utils","is","extend","dst","nextTick","cancelNextTick","detectDirection","element","_len","_key","create","version","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","clearAutoScrolls","autoScroll","pid","clearPointerElemChangedInterval","lastSwapEl","isFallback","scroll","scrollCustomFn","sens","scrollSensitivity","speed","scrollSpeed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","bubbleScroll","drop","toSortable","changedTouches","onSpill","Revert","Remove","startIndex","dragStart","_ref2","_ref3","_ref4","parentSortable","AutoScroll","forceAutoScrollFallback","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","dragOverBubble","nulling","ogElemScroller","newElem","DEFAULT_HANDLE_CLASSNAME","DEFAULT_DRAG_ENABLED_CLASSNAME","Swap","swapClass","dragOverValid","swap","prevSwapEl","n1","n2","i1","i2","p1","p2","isEqualNode","swapNodes","swapItem","Grid","kind","restProps","containerRef","useRef","useSortable","ref","useEffect","current","useMemo","_jsx","clsx","styles","DragHandleIcon","SvgIcon","allureIcons","DragHandle","GridItem","dndEnabled","_jsxs"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{u as t}from"./clsx-BnvTIEMY.js";import{C as o}from"./constants-BhEoR-GZ.js";import{H as i}from"./HeatMapWidget-CwCccKA9.js";import"preact";import"./index-CMG20_7S.js";import"./index-Dj8HmckV.js";import"react";import"./nivo-colors-DSqwed4A.js";import"./_commonjsHelpers-bbZql6IY.js";import"./toString-CTcEQi-b.js";import"./index.module-BKdNahiA.js";import"./linear-CZyKfBBG.js";import"./array-Z5whfZ28.js";import"react-dom";import"./nivo-axes-Ce1dH5CY.js";import"./nivo-annotations-B2rsOOOb.js";import"./omit-DhTTm08t.js";import"./_baseSlice-DybH-rwG.js";import"./utcTime-wBDrZaMa.js";import"./nivo-legends-0WTLJ5Sd.js";import"preact/hooks";import"./index-DZlENr_C.js";import"./config-DZ-BTm2e.js";import"./EmptyDataStub-BuH_D_lp.js";import"./utils-DNKsxZkE.js";import"./identity-DzNdV8kh.js";import"node:crypto";import"./utils-C1Oqs14G.js";import"./index-BniCQn-f.js";const r=({chartData:r,empty:s})=>r.type===o.ProblemsDistribution?t(i,{title:r.title,data:r.data,translations:{"no-results":s("no-results")}}):null;export{r as ChartRenderer};
|
|
2
|
+
//# sourceMappingURL=HeatMapChartRenderer-BrBfW8zd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeatMapChartRenderer-BrBfW8zd.js","sources":["../src/components/Charts/HeatMapChartRenderer.tsx"],"sourcesContent":[null],"names":["ChartRenderer","chartData","empty","type","ChartType","ProblemsDistribution","_jsx","HeatMapWidget","title","data","translations"],"mappings":"22BAKO,MAAMA,EAAgBA,EAAGC,YAAWC,WACjCD,EAAUE,OACXC,EAAUC,qBAEXC,EAACC,EAAa,CACZC,MAAOP,EAAUO,MACjBC,KAAMR,EAAUQ,KAChBC,aAAc,CAAE,aAAcR,EAAM,iBAKjC"}
|