{"version":3,"file":"4372.3d72440b6278de454e44.js","mappings":"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","sources":["webpack://grafana/./public/app/features/dashboard/components/DashboardLoading/DashboardFailed.tsx","webpack://grafana/./public/app/features/dashboard/components/DashboardLoading/DashboardLoading.tsx","webpack://grafana/./public/app/features/dashboard/components/RepeatRowSelect/RepeatRowSelect.tsx","webpack://grafana/./public/app/features/dashboard/components/AddLibraryPanelWidget/AddLibraryPanelWidget.tsx","webpack://grafana/./public/app/features/dashboard/components/AddPanelWidget/AddPanelWidget.tsx","webpack://grafana/./public/app/features/dashboard/components/RowOptions/RowOptionsForm.tsx","webpack://grafana/./public/app/features/dashboard/components/RowOptions/RowOptionsModal.tsx","webpack://grafana/./public/app/features/dashboard/components/RowOptions/RowOptionsButton.tsx","webpack://grafana/./public/app/features/dashboard/components/DashboardRow/DashboardRow.tsx","webpack://grafana/./public/app/features/dashboard/dashgrid/DashboardEmpty.tsx","webpack://grafana/./public/app/features/dashboard/dashgrid/DashboardGrid.tsx","webpack://grafana/./.yarn/__virtual__/react-draggable-virtual-8807133088/3/opt/drone/yarncache/react-draggable-npm-4.4.4-f0b7a5c546-b8258a5893.zip/node_modules/react-draggable/build/cjs/Draggable.js","webpack://grafana/./.yarn/__virtual__/react-draggable-virtual-8807133088/3/opt/drone/yarncache/react-draggable-npm-4.4.4-f0b7a5c546-b8258a5893.zip/node_modules/react-draggable/build/cjs/DraggableCore.js","webpack://grafana/./.yarn/__virtual__/react-draggable-virtual-8807133088/3/opt/drone/yarncache/react-draggable-npm-4.4.4-f0b7a5c546-b8258a5893.zip/node_modules/react-draggable/build/cjs/cjs.js","webpack://grafana/./.yarn/__virtual__/react-draggable-virtual-8807133088/3/opt/drone/yarncache/react-draggable-npm-4.4.4-f0b7a5c546-b8258a5893.zip/node_modules/react-draggable/build/cjs/utils/domFns.js","webpack://grafana/./.yarn/__virtual__/react-draggable-virtual-8807133088/3/opt/drone/yarncache/react-draggable-npm-4.4.4-f0b7a5c546-b8258a5893.zip/node_modules/react-draggable/build/cjs/utils/getPrefix.js","webpack://grafana/./.yarn/__virtual__/react-draggable-virtual-8807133088/3/opt/drone/yarncache/react-draggable-npm-4.4.4-f0b7a5c546-b8258a5893.zip/node_modules/react-draggable/build/cjs/utils/log.js","webpack://grafana/./.yarn/__virtual__/react-draggable-virtual-8807133088/3/opt/drone/yarncache/react-draggable-npm-4.4.4-f0b7a5c546-b8258a5893.zip/node_modules/react-draggable/build/cjs/utils/positionFns.js","webpack://grafana/./.yarn/__virtual__/react-draggable-virtual-8807133088/3/opt/drone/yarncache/react-draggable-npm-4.4.4-f0b7a5c546-b8258a5893.zip/node_modules/react-draggable/build/cjs/utils/shims.js","webpack://grafana/./.yarn/__virtual__/react-grid-layout-virtual-3d00dcc91b/3/opt/drone/yarncache/react-grid-layout-npm-1.3.4-e416174768-f56c8c452a.zip/node_modules/react-grid-layout/build/GridItem.js","webpack://grafana/./.yarn/__virtual__/react-grid-layout-virtual-3d00dcc91b/3/opt/drone/yarncache/react-grid-layout-npm-1.3.4-e416174768-f56c8c452a.zip/node_modules/react-grid-layout/build/ReactGridLayout.js","webpack://grafana/./.yarn/__virtual__/react-grid-layout-virtual-3d00dcc91b/3/opt/drone/yarncache/react-grid-layout-npm-1.3.4-e416174768-f56c8c452a.zip/node_modules/react-grid-layout/build/ReactGridLayoutPropTypes.js","webpack://grafana/./.yarn/__virtual__/react-grid-layout-virtual-3d00dcc91b/3/opt/drone/yarncache/react-grid-layout-npm-1.3.4-e416174768-f56c8c452a.zip/node_modules/react-grid-layout/build/ResponsiveReactGridLayout.js","webpack://grafana/./.yarn/__virtual__/react-grid-layout-virtual-3d00dcc91b/3/opt/drone/yarncache/react-grid-layout-npm-1.3.4-e416174768-f56c8c452a.zip/node_modules/react-grid-layout/build/calculateUtils.js","webpack://grafana/./.yarn/__virtual__/react-grid-layout-virtual-3d00dcc91b/3/opt/drone/yarncache/react-grid-layout-npm-1.3.4-e416174768-f56c8c452a.zip/node_modules/react-grid-layout/build/components/WidthProvider.js","webpack://grafana/./.yarn/__virtual__/react-grid-layout-virtual-3d00dcc91b/3/opt/drone/yarncache/react-grid-layout-npm-1.3.4-e416174768-f56c8c452a.zip/node_modules/react-grid-layout/build/fastRGLPropsEqual.js","webpack://grafana/./.yarn/__virtual__/react-grid-layout-virtual-3d00dcc91b/3/opt/drone/yarncache/react-grid-layout-npm-1.3.4-e416174768-f56c8c452a.zip/node_modules/react-grid-layout/build/responsiveUtils.js","webpack://grafana/./.yarn/__virtual__/react-grid-layout-virtual-3d00dcc91b/3/opt/drone/yarncache/react-grid-layout-npm-1.3.4-e416174768-f56c8c452a.zip/node_modules/react-grid-layout/build/utils.js","webpack://grafana/./.yarn/__virtual__/react-grid-layout-virtual-3d00dcc91b/3/opt/drone/yarncache/react-grid-layout-npm-1.3.4-e416174768-f56c8c452a.zip/node_modules/react-grid-layout/index.js"],"sourcesContent":["import { css } from '@emotion/css';\nimport React from 'react';\n\nimport { Alert } from '@grafana/ui';\nimport { getMessageFromError } from 'app/core/utils/errors';\nimport { DashboardInitError, AppNotificationSeverity } from 'app/types';\n\nexport interface Props {\n initError?: DashboardInitError;\n}\n\nexport const DashboardFailed = ({ initError }: Props) => {\n if (!initError) {\n return null;\n }\n\n return (\n
\n \n {getMessageFromError(initError.error)}\n \n
\n );\n};\n\nexport const styles = {\n dashboardLoading: css`\n height: 60vh;\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n};\n","import { css, keyframes } from '@emotion/css';\nimport React from 'react';\n\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { locationService } from '@grafana/runtime';\nimport { Button, HorizontalGroup, Spinner, useStyles2, VerticalGroup } from '@grafana/ui';\nimport { DashboardInitPhase } from 'app/types';\n\nexport interface Props {\n initPhase: DashboardInitPhase;\n}\n\nexport const DashboardLoading = ({ initPhase }: Props) => {\n const styles = useStyles2(getStyles);\n const cancelVariables = () => {\n locationService.push('/');\n };\n\n return (\n
\n
\n \n \n {initPhase}\n {' '}\n \n \n \n \n
\n
\n );\n};\n\nexport const getStyles = (theme: GrafanaTheme2) => {\n // Amount of time we want to pass before we start showing loading spinner\n const slowStartThreshold = '0.5s';\n\n const invisibleToVisible = keyframes`\n 0% { opacity: 0%; }\n 100% { opacity: 100%; }\n `;\n\n return {\n dashboardLoading: css`\n height: 60vh;\n display: flex;\n opacity: 0%;\n align-items: center;\n justify-content: center;\n animation: ${invisibleToVisible} 0s step-end ${slowStartThreshold} 1 normal forwards;\n `,\n dashboardLoadingText: css`\n font-size: ${theme.typography.h4.fontSize};\n `,\n };\n};\n","import React, { useCallback, useMemo } from 'react';\n\nimport { SelectableValue } from '@grafana/data';\nimport { Select } from '@grafana/ui';\nimport { useSelector } from 'app/types';\n\nimport { getLastKey, getVariablesByKey } from '../../../variables/state/selectors';\n\nexport interface Props {\n id?: string;\n repeat?: string | null;\n onChange: (name: string | null) => void;\n}\n\nexport const RepeatRowSelect = ({ repeat, onChange, id }: Props) => {\n const variables = useSelector((state) => {\n return getVariablesByKey(getLastKey(state), state);\n });\n\n const variableOptions = useMemo(() => {\n const options: Array> = variables.map((item) => {\n return { label: item.name, value: item.name };\n });\n\n if (options.length === 0) {\n options.unshift({\n label: 'No template variables found',\n value: null,\n });\n }\n\n options.unshift({\n label: 'Disable repeating',\n value: null,\n });\n\n return options;\n }, [variables]);\n\n const onSelectChange = useCallback((option: SelectableValue) => onChange(option.value!), [onChange]);\n\n return \n \n \n \n \n {warning && (\n \n {warning}\n \n )}\n \n \n \n \n \n )}\n \n );\n};\n","import { css } from '@emotion/css';\nimport React from 'react';\n\nimport { Modal, stylesFactory } from '@grafana/ui';\n\nimport { OnRowOptionsUpdate, RowOptionsForm } from './RowOptionsForm';\n\nexport interface RowOptionsModalProps {\n title: string;\n repeat?: string | null;\n warning?: React.ReactNode;\n onDismiss: () => void;\n onUpdate: OnRowOptionsUpdate;\n}\n\nexport const RowOptionsModal = ({ repeat, title, onDismiss, onUpdate, warning }: RowOptionsModalProps) => {\n const styles = getStyles();\n return (\n \n \n \n );\n};\n\nconst getStyles = stylesFactory(() => {\n return {\n modal: css`\n label: RowOptionsModal;\n width: 500px;\n `,\n };\n});\n","import React from 'react';\n\nimport { Icon, ModalsController } from '@grafana/ui';\n\nimport { OnRowOptionsUpdate } from './RowOptionsForm';\nimport { RowOptionsModal } from './RowOptionsModal';\n\nexport interface RowOptionsButtonProps {\n title: string;\n repeat?: string | null;\n onUpdate: OnRowOptionsUpdate;\n warning?: React.ReactNode;\n}\n\nexport const RowOptionsButton = ({ repeat, title, onUpdate, warning }: RowOptionsButtonProps) => {\n const onUpdateChange = (hideModal: () => void) => (title: string, repeat?: string | null) => {\n onUpdate(title, repeat);\n hideModal();\n };\n\n return (\n \n {({ showModal, hideModal }) => {\n return (\n {\n showModal(RowOptionsModal, {\n title,\n repeat,\n onDismiss: hideModal,\n onUpdate: onUpdateChange(hideModal),\n warning,\n });\n }}\n >\n \n \n );\n }}\n \n );\n};\n\nRowOptionsButton.displayName = 'RowOptionsButton';\n","import classNames from 'classnames';\nimport { indexOf } from 'lodash';\nimport React from 'react';\nimport { Unsubscribable } from 'rxjs';\n\nimport { selectors } from '@grafana/e2e-selectors';\nimport { getTemplateSrv, RefreshEvent } from '@grafana/runtime';\nimport { Icon, TextLink } from '@grafana/ui';\nimport appEvents from 'app/core/app_events';\nimport { SHARED_DASHBOARD_QUERY } from 'app/plugins/datasource/dashboard/types';\n\nimport { ShowConfirmModalEvent } from '../../../../types/events';\nimport { DashboardModel } from '../../state/DashboardModel';\nimport { PanelModel } from '../../state/PanelModel';\nimport { RowOptionsButton } from '../RowOptions/RowOptionsButton';\n\nexport interface DashboardRowProps {\n panel: PanelModel;\n dashboard: DashboardModel;\n}\n\nexport class DashboardRow extends React.Component {\n sub?: Unsubscribable;\n\n componentDidMount() {\n this.sub = this.props.dashboard.events.subscribe(RefreshEvent, this.onVariableUpdated);\n }\n\n componentWillUnmount() {\n if (this.sub) {\n this.sub.unsubscribe();\n }\n }\n\n onVariableUpdated = () => {\n this.forceUpdate();\n };\n\n onToggle = () => {\n this.props.dashboard.toggleRow(this.props.panel);\n };\n\n getWarning = () => {\n const panels = !!this.props.panel.panels?.length\n ? this.props.panel.panels\n : this.props.dashboard.getRowPanels(indexOf(this.props.dashboard.panels, this.props.panel));\n const isAnyPanelUsingDashboardDS = panels.some((p) => p.datasource?.uid === SHARED_DASHBOARD_QUERY);\n if (isAnyPanelUsingDashboardDS) {\n return (\n
\n

\n Panels in this row use the {SHARED_DASHBOARD_QUERY} data source. These panels will reference the panel in\n the original row, not the ones in the repeated rows.\n

\n \n Learn more\n \n
\n );\n }\n\n return undefined;\n };\n\n onUpdate = (title: string, repeat?: string | null) => {\n this.props.panel.setProperty('title', title);\n this.props.panel.setProperty('repeat', repeat ?? undefined);\n this.props.panel.render();\n this.props.dashboard.processRepeats();\n this.forceUpdate();\n };\n\n onDelete = () => {\n appEvents.publish(\n new ShowConfirmModalEvent({\n title: 'Delete row',\n text: 'Are you sure you want to remove this row and all its panels?',\n altActionText: 'Delete row only',\n icon: 'trash-alt',\n onConfirm: () => {\n this.props.dashboard.removeRow(this.props.panel, true);\n },\n onAltAction: () => {\n this.props.dashboard.removeRow(this.props.panel, false);\n },\n })\n );\n };\n\n render() {\n const classes = classNames({\n 'dashboard-row': true,\n 'dashboard-row--collapsed': this.props.panel.collapsed,\n });\n\n const title = getTemplateSrv().replace(this.props.panel.title, this.props.panel.scopedVars, 'text');\n const count = this.props.panel.panels ? this.props.panel.panels.length : 0;\n const panels = count === 1 ? 'panel' : 'panels';\n const canEdit = this.props.dashboard.meta.canEdit === true;\n\n return (\n
\n \n \n {title}\n \n ({count} {panels})\n \n \n {canEdit && (\n
\n \n \n
\n )}\n {this.props.panel.collapsed === true && (\n /* disabling the a11y rules here as the button handles keyboard interactions */\n /* this is just to provide a better experience for mouse users */\n /* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n
\n  \n
\n )}\n {canEdit &&
}\n
\n );\n }\n}\n","import { css, cx } from '@emotion/css';\nimport React from 'react';\n\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { selectors } from '@grafana/e2e-selectors';\nimport { config, locationService, reportInteraction } from '@grafana/runtime';\nimport { Button, useStyles2, Text } from '@grafana/ui';\nimport { Trans } from 'app/core/internationalization';\nimport { DashboardModel } from 'app/features/dashboard/state';\nimport { onAddLibraryPanel, onCreateNewPanel, onImportDashboard } from 'app/features/dashboard/utils/dashboard';\nimport { useDispatch, useSelector } from 'app/types';\n\nimport { setInitialDatasource } from '../state/reducers';\n\nexport interface Props {\n dashboard: DashboardModel;\n canCreate: boolean;\n}\n\nconst DashboardEmpty = ({ dashboard, canCreate }: Props) => {\n const styles = useStyles2(getStyles);\n const dispatch = useDispatch();\n const initialDatasource = useSelector((state) => state.dashboard.initialDatasource);\n\n return (\n
\n
\n
\n
\n \n \n Start your new dashboard by adding a visualization\n \n \n
\n
\n \n \n Select a data source and then query and visualize your data with charts, stats and tables or create\n lists, markdowns and other widgets.\n \n \n
\n {\n const id = onCreateNewPanel(dashboard, initialDatasource);\n reportInteraction('dashboards_emptydashboard_clicked', { item: 'add_visualization' });\n locationService.partial({ editPanel: id, firstPanel: true });\n dispatch(setInitialDatasource(undefined));\n }}\n disabled={!canCreate}\n >\n Add visualization\n \n
\n
\n {config.featureToggles.vizAndWidgetSplit && (\n
\n
\n \n Add a widget\n \n
\n
\n \n Create lists, markdowns and other widgets\n \n
\n {\n reportInteraction('dashboards_emptydashboard_clicked', { item: 'add_widget' });\n locationService.partial({ addWidget: true });\n }}\n disabled={!canCreate}\n >\n Add widget\n \n
\n )}\n
\n
\n \n Import panel\n \n
\n
\n \n \n Add visualizations that are shared with other dashboards.\n \n \n
\n {\n reportInteraction('dashboards_emptydashboard_clicked', { item: 'import_from_library' });\n onAddLibraryPanel(dashboard);\n }}\n disabled={!canCreate}\n >\n Add library panel\n \n
\n
\n
\n \n Import a dashboard\n \n
\n
\n \n \n Import dashboards from files or grafana.com.\n \n \n
\n {\n reportInteraction('dashboards_emptydashboard_clicked', { item: 'import_dashboard' });\n onImportDashboard();\n }}\n disabled={!canCreate}\n >\n Import dashboard\n \n
\n
\n
\n
\n );\n};\n\nexport default DashboardEmpty;\n\nfunction getStyles(theme: GrafanaTheme2) {\n return {\n wrapper: css({\n label: 'dashboard-empty-wrapper',\n flexDirection: 'column',\n maxWidth: '890px',\n gap: theme.spacing.gridSize * 4,\n paddingTop: theme.spacing(2),\n\n [theme.breakpoints.up('sm')]: {\n paddingTop: theme.spacing(12),\n },\n }),\n containerBox: css({\n label: 'container-box',\n flexDirection: 'column',\n boxSizing: 'border-box',\n border: '1px dashed rgba(110, 159, 255, 0.5)',\n }),\n centeredContent: css({\n label: 'centered',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }),\n visualizationContainer: css({\n label: 'visualization-container',\n padding: theme.spacing.gridSize * 4,\n }),\n others: css({\n width: '100%',\n label: 'others-wrapper',\n alignItems: 'stretch',\n flexDirection: 'row',\n gap: theme.spacing.gridSize * 4,\n\n [theme.breakpoints.down('md')]: {\n flexDirection: 'column',\n },\n }),\n widgetContainer: css({\n label: 'widget-container',\n padding: theme.spacing.gridSize * 3,\n flex: 1,\n }),\n rowContainer: css({\n label: 'row-container',\n padding: theme.spacing.gridSize * 3,\n flex: 1,\n }),\n libraryContainer: css({\n label: 'library-container',\n padding: theme.spacing.gridSize * 3,\n flex: 1,\n }),\n headerBig: css({\n marginBottom: theme.spacing.gridSize * 2,\n }),\n headerSmall: css({\n marginBottom: theme.spacing.gridSize,\n }),\n bodyBig: css({\n maxWidth: '75%',\n marginBottom: theme.spacing.gridSize * 4,\n }),\n bodySmall: css({\n marginBottom: theme.spacing.gridSize * 3,\n }),\n };\n}\n","import classNames from 'classnames';\nimport React, { PureComponent, CSSProperties } from 'react';\nimport ReactGridLayout, { ItemCallback } from 'react-grid-layout';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { Subscription } from 'rxjs';\n\nimport { config } from '@grafana/runtime';\nimport { GRID_CELL_HEIGHT, GRID_CELL_VMARGIN, GRID_COLUMN_COUNT } from 'app/core/constants';\nimport { contextSrv } from 'app/core/services/context_srv';\nimport { DashboardPanelsChangedEvent } from 'app/types/events';\n\nimport { AddLibraryPanelWidget } from '../components/AddLibraryPanelWidget';\nimport { AddPanelWidget } from '../components/AddPanelWidget';\nimport { DashboardRow } from '../components/DashboardRow';\nimport { DashboardModel, PanelModel } from '../state';\nimport { GridPos } from '../state/PanelModel';\n\nimport DashboardEmpty from './DashboardEmpty';\nimport { DashboardPanel } from './DashboardPanel';\n\nexport interface Props {\n dashboard: DashboardModel;\n isEditable: boolean;\n editPanel: PanelModel | null;\n viewPanel: PanelModel | null;\n hidePanelMenus?: boolean;\n}\nexport class DashboardGrid extends PureComponent {\n private panelMap: { [key: string]: PanelModel } = {};\n private eventSubs = new Subscription();\n private windowHeight = 1200;\n private windowWidth = 1920;\n private gridWidth = 0;\n /** Used to keep track of mobile panel layout position */\n private lastPanelBottom = 0;\n private isLayoutInitialized = false;\n\n constructor(props: Props) {\n super(props);\n }\n\n componentDidMount() {\n const { dashboard } = this.props;\n this.eventSubs.add(dashboard.events.subscribe(DashboardPanelsChangedEvent, this.triggerForceUpdate));\n }\n\n componentWillUnmount() {\n this.eventSubs.unsubscribe();\n }\n\n buildLayout() {\n const layout: ReactGridLayout.Layout[] = [];\n this.panelMap = {};\n\n for (const panel of this.props.dashboard.panels) {\n if (!panel.key) {\n panel.key = `panel-${panel.id}-${Date.now()}`;\n }\n this.panelMap[panel.key] = panel;\n\n if (!panel.gridPos) {\n console.log('panel without gridpos');\n continue;\n }\n\n const panelPos: ReactGridLayout.Layout = {\n i: panel.key,\n x: panel.gridPos.x,\n y: panel.gridPos.y,\n w: panel.gridPos.w,\n h: panel.gridPos.h,\n };\n\n if (panel.type === 'row') {\n panelPos.w = GRID_COLUMN_COUNT;\n panelPos.h = 1;\n panelPos.isResizable = false;\n panelPos.isDraggable = panel.collapsed;\n }\n\n layout.push(panelPos);\n }\n\n return layout;\n }\n\n onLayoutChange = (newLayout: ReactGridLayout.Layout[]) => {\n for (const newPos of newLayout) {\n this.panelMap[newPos.i!].updateGridPos(newPos, this.isLayoutInitialized);\n }\n\n if (this.isLayoutInitialized) {\n this.isLayoutInitialized = true;\n }\n\n this.props.dashboard.sortPanelsByGridPos();\n this.forceUpdate();\n };\n\n triggerForceUpdate = () => {\n this.forceUpdate();\n };\n\n updateGridPos = (item: ReactGridLayout.Layout, layout: ReactGridLayout.Layout[]) => {\n this.panelMap[item.i!].updateGridPos(item);\n };\n\n onResize: ItemCallback = (layout, oldItem, newItem) => {\n const panel = this.panelMap[newItem.i!];\n panel.updateGridPos(newItem);\n };\n\n onResizeStop: ItemCallback = (layout, oldItem, newItem) => {\n this.updateGridPos(newItem, layout);\n };\n\n onDragStop: ItemCallback = (layout, oldItem, newItem) => {\n this.updateGridPos(newItem, layout);\n };\n\n getPanelScreenPos(panel: PanelModel, gridWidth: number): { top: number; bottom: number } {\n let top = 0;\n\n // mobile layout\n if (gridWidth < config.theme2.breakpoints.values.md) {\n // In mobile layout panels are stacked so we just add the panel vertical margin to the last panel bottom position\n top = this.lastPanelBottom + GRID_CELL_VMARGIN;\n } else {\n // For top position we need to add back the vertical margin removed by translateGridHeightToScreenHeight\n top = translateGridHeightToScreenHeight(panel.gridPos.y) + GRID_CELL_VMARGIN;\n }\n\n this.lastPanelBottom = top + translateGridHeightToScreenHeight(panel.gridPos.h);\n\n return { top, bottom: this.lastPanelBottom };\n }\n\n renderPanels(gridWidth: number, isDashboardDraggable: boolean) {\n const panelElements = [];\n\n // Reset last panel bottom\n this.lastPanelBottom = 0;\n\n // This is to avoid layout re-flows, accessing window.innerHeight can trigger re-flow\n // We assume here that if width change height might have changed as well\n if (this.gridWidth !== gridWidth) {\n this.windowHeight = window.innerHeight ?? 1000;\n this.windowWidth = window.innerWidth;\n this.gridWidth = gridWidth;\n }\n\n for (const panel of this.props.dashboard.panels) {\n const panelClasses = classNames({ 'react-grid-item--fullscreen': panel.isViewing });\n\n panelElements.push(\n \n {(width: number, height: number) => {\n return this.renderPanel(panel, width, height, isDashboardDraggable);\n }}\n \n );\n }\n\n return panelElements;\n }\n\n renderPanel(panel: PanelModel, width: number, height: number, isDraggable: boolean) {\n if (panel.type === 'row') {\n return ;\n }\n\n // Todo: Remove this when we remove the emptyDashboardPage toggle\n if (panel.type === 'add-panel') {\n return ;\n }\n\n if (panel.type === 'add-library-panel') {\n return ;\n }\n\n return (\n \n );\n }\n\n /**\n * Without this hack the move animations are triggered on initial load and all panels fly into position.\n * This can be quite distracting and make the dashboard appear to less snappy.\n */\n onGetWrapperDivRef = (ref: HTMLDivElement | null) => {\n if (ref && contextSrv.user.authenticatedBy !== 'render') {\n setTimeout(() => {\n ref.classList.add('react-grid-layout--enable-move-animations');\n }, 50);\n }\n };\n\n render() {\n const { isEditable, dashboard } = this.props;\n\n if (config.featureToggles.emptyDashboardPage && dashboard.panels.length === 0) {\n return ;\n }\n\n /**\n * We have a parent with \"flex: 1 1 0\" we need to reset it to \"flex: 1 1 auto\" to have the AutoSizer\n * properly working. For more information go here:\n * https://github.com/bvaughn/react-virtualized/blob/master/docs/usingAutoSizer.md#can-i-use-autosizer-within-a-flex-container\n */\n return (\n
\n \n {({ width }) => {\n if (width === 0) {\n return null;\n }\n\n // Disable draggable if mobile device, solving an issue with unintentionally\n // moving panels. https://github.com/grafana/grafana/issues/18497\n const draggable = width <= config.theme2.breakpoints.values.md ? false : isEditable;\n\n return (\n /**\n * The children is using a width of 100% so we need to guarantee that it is wrapped\n * in an element that has the calculated size given by the AutoSizer. The AutoSizer\n * has a width of 0 and will let its content overflow its div.\n */\n
\n \n {this.renderPanels(width, draggable)}\n \n
\n );\n }}\n
\n
\n );\n }\n}\n\ninterface GrafanaGridItemProps extends React.HTMLAttributes {\n gridWidth?: number;\n gridPos?: GridPos;\n isViewing: boolean;\n windowHeight: number;\n windowWidth: number;\n children: any;\n}\n\n/**\n * A hacky way to intercept the react-layout-grid item dimensions and pass them to DashboardPanel\n */\nconst GrafanaGridItem = React.forwardRef((props, ref) => {\n const theme = config.theme2;\n let width = 100;\n let height = 100;\n\n const { gridWidth, gridPos, isViewing, windowHeight, windowWidth, ...divProps } = props;\n const style: CSSProperties = props.style ?? {};\n\n if (isViewing) {\n // In fullscreen view mode a single panel take up full width & 85% height\n width = gridWidth!;\n height = windowHeight * 0.85;\n style.height = height;\n style.width = '100%';\n } else if (windowWidth < theme.breakpoints.values.md) {\n // Mobile layout is a bit different, every panel take up full width\n width = props.gridWidth!;\n height = translateGridHeightToScreenHeight(gridPos!.h);\n style.height = height;\n style.width = '100%';\n } else {\n // Normal grid layout. The grid framework passes width and height directly to children as style props.\n if (props.style) {\n const { width: styleWidth, height: styleHeight } = props.style;\n if (styleWidth != null) {\n width = typeof styleWidth === 'number' ? styleWidth : parseFloat(styleWidth);\n }\n if (styleHeight != null) {\n height = typeof styleHeight === 'number' ? styleHeight : parseFloat(styleHeight);\n }\n }\n }\n\n // props.children[0] is our main children. RGL adds the drag handle at props.children[1]\n return (\n
\n {/* Pass width and height to children as render props */}\n {[props.children[0](width, height), props.children.slice(1)]}\n
\n );\n});\n\n/**\n * This translates grid height dimensions to real pixels\n */\nfunction translateGridHeightToScreenHeight(gridHeight: number): number {\n return gridHeight * (GRID_CELL_HEIGHT + GRID_CELL_VMARGIN) - GRID_CELL_VMARGIN;\n}\n\nGrafanaGridItem.displayName = 'GridItemWithDimensions';\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"DraggableCore\", {\n enumerable: true,\n get: function get() {\n return _DraggableCore.default;\n }\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _clsx2 = _interopRequireDefault(require(\"clsx\"));\n\nvar _domFns = require(\"./utils/domFns\");\n\nvar _positionFns = require(\"./utils/positionFns\");\n\nvar _shims = require(\"./utils/shims\");\n\nvar _DraggableCore = _interopRequireDefault(require(\"./DraggableCore\"));\n\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\n\nvar _excluded = [\"axis\", \"bounds\", \"children\", \"defaultPosition\", \"defaultClassName\", \"defaultClassNameDragging\", \"defaultClassNameDragged\", \"position\", \"positionOffset\", \"scale\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n//\n// Define \n//\nvar Draggable = /*#__PURE__*/function (_React$Component) {\n _inherits(Draggable, _React$Component);\n\n var _super = _createSuper(Draggable);\n\n function Draggable(props\n /*: DraggableProps*/\n ) {\n var _this;\n\n _classCallCheck(this, Draggable);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (e, coreData) {\n (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.\n\n var shouldStart = _this.props.onStart(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData)); // Kills start event on core as well, so move handlers are never bound.\n\n\n if (shouldStart === false) return false;\n\n _this.setState({\n dragging: true,\n dragged: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (e, coreData) {\n if (!_this.state.dragging) return false;\n (0, _log.default)('Draggable: onDrag: %j', coreData);\n var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);\n var newState\n /*: $Shape*/\n = {\n x: uiData.x,\n y: uiData.y\n }; // Keep within bounds.\n\n if (_this.props.bounds) {\n // Save original x and y.\n var x = newState.x,\n y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n\n newState.x += _this.state.slackX;\n newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.\n\n var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),\n _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),\n newStateX = _getBoundPosition2[0],\n newStateY = _getBoundPosition2[1];\n\n newState.x = newStateX;\n newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.\n\n newState.slackX = _this.state.slackX + (x - newState.x);\n newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.\n\n uiData.x = newState.x;\n uiData.y = newState.y;\n uiData.deltaX = newState.x - _this.state.x;\n uiData.deltaY = newState.y - _this.state.y;\n } // Short-circuit if user's callback killed it.\n\n\n var shouldUpdate = _this.props.onDrag(e, uiData);\n\n if (shouldUpdate === false) return false;\n\n _this.setState(newState);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (e, coreData) {\n if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.\n\n var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));\n\n if (shouldContinue === false) return false;\n (0, _log.default)('Draggable: onDragStop: %j', coreData);\n var newState\n /*: $Shape*/\n = {\n dragging: false,\n slackX: 0,\n slackY: 0\n }; // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n\n var controlled = Boolean(_this.props.position);\n\n if (controlled) {\n var _this$props$position = _this.props.position,\n x = _this$props$position.x,\n y = _this$props$position.y;\n newState.x = x;\n newState.y = y;\n }\n\n _this.setState(newState);\n });\n\n _this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n // Whether or not we have been dragged before.\n dragged: false,\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n prevPropsPosition: _objectSpread({}, props.position),\n // Used for compensating for out-of-bounds drags\n slackX: 0,\n slackY: 0,\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n\n if (props.position && !(props.onDrag || props.onStop)) {\n // eslint-disable-next-line no-console\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');\n }\n\n return _this;\n }\n\n _createClass(Draggable, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {\n this.setState({\n isElementSVG: true\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.setState({\n dragging: false\n }); // prevents invariant if unmounted while dragging\n } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n\n }, {\n key: \"findDOMNode\",\n value: function findDOMNode()\n /*: ?HTMLElement*/\n {\n var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;\n\n return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 ? void 0 : (_this$props$nodeRef = _this$props.nodeRef) === null || _this$props$nodeRef === void 0 ? void 0 : _this$props$nodeRef.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);\n }\n }, {\n key: \"render\",\n value: function render()\n /*: ReactElement*/\n {\n var _clsx;\n\n var _this$props2 = this.props,\n axis = _this$props2.axis,\n bounds = _this$props2.bounds,\n children = _this$props2.children,\n defaultPosition = _this$props2.defaultPosition,\n defaultClassName = _this$props2.defaultClassName,\n defaultClassNameDragging = _this$props2.defaultClassNameDragging,\n defaultClassNameDragged = _this$props2.defaultClassNameDragged,\n position = _this$props2.position,\n positionOffset = _this$props2.positionOffset,\n scale = _this$props2.scale,\n draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);\n\n var style = {};\n var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.\n\n var controlled = Boolean(position);\n var draggable = !controlled || this.state.dragging;\n var validPosition = position || defaultPosition;\n var transformOpts = {\n // Set left if horizontal drag is enabled\n x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,\n // Set top if vertical drag is enabled\n y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y\n }; // If this element was SVG, we use the `transform` attribute.\n\n if (this.state.isElementSVG) {\n svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);\n } // Mark with class while dragging\n\n\n var className = (0, _clsx2.default)(children.props.className || '', defaultClassName, (_clsx = {}, _defineProperty(_clsx, defaultClassNameDragging, this.state.dragging), _defineProperty(_clsx, defaultClassNameDragged, this.state.dragged), _clsx)); // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n\n return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop\n }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {\n className: className,\n style: _objectSpread(_objectSpread({}, children.props.style), style),\n transform: svgTransform\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: // React 16.3+\n // Arity (props, state)\n function getDerivedStateFromProps(_ref, _ref2)\n /*: ?$Shape*/\n {\n var position = _ref.position;\n var prevPropsPosition = _ref2.prevPropsPosition;\n\n // Set x/y if a new position is provided in props that is different than the previous.\n if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {\n (0, _log.default)('Draggable: getDerivedStateFromProps %j', {\n position: position,\n prevPropsPosition: prevPropsPosition\n });\n return {\n x: position.x,\n y: position.y,\n prevPropsPosition: _objectSpread({}, position)\n };\n }\n\n return null;\n }\n }]);\n\n return Draggable;\n}(React.Component);\n\nexports.default = Draggable;\n\n_defineProperty(Draggable, \"displayName\", 'Draggable');\n\n_defineProperty(Draggable, \"propTypes\", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
Content
\n *
\n * );\n * }\n * });\n * ```\n */\n bounds: _propTypes.default.oneOfType([_propTypes.default.shape({\n left: _propTypes.default.number,\n right: _propTypes.default.number,\n top: _propTypes.default.number,\n bottom: _propTypes.default.number\n }), _propTypes.default.string, _propTypes.default.oneOf([false])]),\n defaultClassName: _propTypes.default.string,\n defaultClassNameDragging: _propTypes.default.string,\n defaultClassNameDragged: _propTypes.default.string,\n\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n defaultPosition: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n positionOffset: _propTypes.default.shape({\n x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])\n }),\n\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n position: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n}));\n\n_defineProperty(Draggable, \"defaultProps\", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {\n axis: 'both',\n bounds: false,\n defaultClassName: 'react-draggable',\n defaultClassNameDragging: 'react-draggable-dragging',\n defaultClassNameDragged: 'react-draggable-dragged',\n defaultPosition: {\n x: 0,\n y: 0\n },\n scale: 1\n}));","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _domFns = require(\"./utils/domFns\");\n\nvar _positionFns = require(\"./utils/positionFns\");\n\nvar _shims = require(\"./utils/shims\");\n\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Simple abstraction for dragging events names.\nvar eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n}; // Default to mouse events.\n\nvar dragEventFor = eventsFor.mouse;\n/*:: type DraggableCoreState = {\n dragging: boolean,\n lastX: number,\n lastY: number,\n touchIdentifier: ?number\n};*/\n\n/*:: export type DraggableData = {\n node: HTMLElement,\n x: number, y: number,\n deltaX: number, deltaY: number,\n lastX: number, lastY: number,\n};*/\n\n/*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/\n\n/*:: export type ControlPosition = {x: number, y: number};*/\n\n/*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/\n\n/*:: export type DraggableCoreDefaultProps = {\n allowAnyClick: boolean,\n disabled: boolean,\n enableUserSelectHack: boolean,\n onStart: DraggableEventHandler,\n onDrag: DraggableEventHandler,\n onStop: DraggableEventHandler,\n onMouseDown: (e: MouseEvent) => void,\n scale: number,\n};*/\n\n/*:: export type DraggableCoreProps = {\n ...DraggableCoreDefaultProps,\n cancel: string,\n children: ReactElement,\n offsetParent: HTMLElement,\n grid: [number, number],\n handle: string,\n nodeRef?: ?React.ElementRef,\n};*/\n\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\nvar DraggableCore = /*#__PURE__*/function (_React$Component) {\n _inherits(DraggableCore, _React$Component);\n\n var _super = _createSuper(DraggableCore);\n\n function DraggableCore() {\n var _this;\n\n _classCallCheck(this, DraggableCore);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n dragging: false,\n // Used while dragging to determine deltas.\n lastX: NaN,\n lastY: NaN,\n touchIdentifier: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"handleDragStart\", function (e) {\n // Make it possible to attach event handlers on top of this one.\n _this.props.onMouseDown(e); // Only accept left-clicks.\n\n\n if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)\n\n var thisNode = _this.findDOMNode();\n\n if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {\n throw new Error(' not mounted on DragStart!');\n }\n\n var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.\n\n if (_this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || _this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, _this.props.handle, thisNode) || _this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, _this.props.cancel, thisNode)) {\n return;\n } // Prevent scrolling on mobile devices, like ipad/iphone.\n // Important that this is after handle/cancel.\n\n\n if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n\n var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);\n\n _this.setState({\n touchIdentifier: touchIdentifier\n }); // Get the current drag point from the event. This is used as the offset.\n\n\n var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));\n if (position == null) return; // not possible but satisfies flow\n\n var x = position.x,\n y = position.y; // Create an event object with all the data parents need to make a decision here.\n\n var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);\n (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.\n\n (0, _log.default)('calling', _this.props.onStart);\n\n var shouldUpdate = _this.props.onStart(e, coreEvent);\n\n if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n\n if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n\n _this.setState({\n dragging: true,\n lastX: x,\n lastY: y\n }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n\n\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleDrag\", function (e) {\n // Get the current drag point from the event. This is used as the offset.\n var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));\n if (position == null) return;\n var x = position.x,\n y = position.y; // Snap to grid if prop has been provided\n\n if (Array.isArray(_this.props.grid)) {\n var deltaX = x - _this.state.lastX,\n deltaY = y - _this.state.lastY;\n\n var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);\n\n var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);\n\n deltaX = _snapToGrid2[0];\n deltaY = _snapToGrid2[1];\n if (!deltaX && !deltaY) return; // skip useless drag\n\n x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;\n }\n\n var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);\n (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.\n\n var shouldUpdate = _this.props.onDrag(e, coreEvent);\n\n if (shouldUpdate === false || _this.mounted === false) {\n try {\n // $FlowIgnore\n _this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n var event = ((document.createEvent('MouseEvents')\n /*: any*/\n )\n /*: MouseTouchEvent*/\n ); // I see why this insanity was deprecated\n // $FlowIgnore\n\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n\n _this.handleDragStop(event);\n }\n\n return;\n }\n\n _this.setState({\n lastX: x,\n lastY: y\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleDragStop\", function (e) {\n if (!_this.state.dragging) return;\n var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));\n if (position == null) return;\n var x = position.x,\n y = position.y;\n var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler\n\n var shouldContinue = _this.props.onStop(e, coreEvent);\n\n if (shouldContinue === false || _this.mounted === false) return false;\n\n var thisNode = _this.findDOMNode();\n\n if (thisNode) {\n // Remove user-select hack\n if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);\n }\n\n (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.\n\n _this.setState({\n dragging: false,\n lastX: NaN,\n lastY: NaN\n });\n\n if (thisNode) {\n // Remove event handlers\n (0, _log.default)('DraggableCore: Removing handlers');\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseDown\", function (e) {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return _this.handleDragStart(e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseUp\", function (e) {\n dragEventFor = eventsFor.mouse;\n return _this.handleDragStop(e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTouchStart\", function (e) {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return _this.handleDragStart(e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTouchEnd\", function (e) {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return _this.handleDragStop(e);\n });\n\n return _this;\n }\n\n _createClass(DraggableCore, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n\n var thisNode = this.findDOMNode();\n\n if (thisNode) {\n (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n\n var thisNode = this.findDOMNode();\n\n if (thisNode) {\n var ownerDocument = thisNode.ownerDocument;\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);\n }\n } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n\n }, {\n key: \"findDOMNode\",\n value: function findDOMNode()\n /*: ?HTMLElement*/\n {\n var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;\n\n return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 ? void 0 : (_this$props$nodeRef = _this$props.nodeRef) === null || _this$props$nodeRef === void 0 ? void 0 : _this$props$nodeRef.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);\n }\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element*/\n {\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onMouseUp: this.onMouseUp,\n // onTouchStart is added on `componentDidMount` so they can be added with\n // {passive: false}, which allows it to cancel. See\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n onTouchEnd: this.onTouchEnd\n });\n }\n }]);\n\n return DraggableCore;\n}(React.Component);\n\nexports.default = DraggableCore;\n\n_defineProperty(DraggableCore, \"displayName\", 'DraggableCore');\n\n_defineProperty(DraggableCore, \"propTypes\", {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: _propTypes.default.bool,\n\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: _propTypes.default.bool,\n\n /**\n * `offsetParent`, if set, uses the passed DOM node to compute drag offsets\n * instead of using the parent node.\n */\n offsetParent: function offsetParent(props\n /*: DraggableCoreProps*/\n , propName\n /*: $Keys*/\n ) {\n if (props[propName] && props[propName].nodeType !== 1) {\n throw new Error('Draggable\\'s offsetParent must be a DOM Node.');\n }\n },\n\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
\n *
Click me to drag
\n *
This is some other content
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n handle: _propTypes.default.string,\n\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n *
\n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n cancel: _propTypes.default.string,\n\n /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.\n * Unfortunately, in order for to work properly, we need raw access\n * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`\n * as in this example:\n *\n * function MyComponent() {\n * const nodeRef = React.useRef(null);\n * return (\n * \n *
Example Target
\n *
\n * );\n * }\n *\n * This can be used for arbitrarily nested components, so long as the ref ends up\n * pointing to the actual child DOM node and not a custom component.\n */\n nodeRef: _propTypes.default.object,\n\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: _propTypes.default.func,\n\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: _propTypes.default.func,\n\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: _propTypes.default.func,\n\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: _propTypes.default.func,\n\n /**\n * `scale`, if set, applies scaling while dragging an element\n */\n scale: _propTypes.default.number,\n\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n\n_defineProperty(DraggableCore, \"defaultProps\", {\n allowAnyClick: false,\n // by default only accept left click\n disabled: false,\n enableUserSelectHack: true,\n onStart: function onStart() {},\n onDrag: function onDrag() {},\n onStop: function onStop() {},\n onMouseDown: function onMouseDown() {},\n scale: 1\n});","\"use strict\";\n\nvar _require = require('./Draggable'),\n Draggable = _require.default,\n DraggableCore = _require.DraggableCore; // Previous versions of this lib exported as the root export. As to no-// them, or TypeScript, we export *both* as the root and as 'default'.\n// See https://github.com/mzabriskie/react-draggable/pull/254\n// and https://github.com/mzabriskie/react-draggable/issues/266\n\n\nmodule.exports = Draggable;\nmodule.exports.default = Draggable;\nmodule.exports.DraggableCore = DraggableCore;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.matchesSelector = matchesSelector;\nexports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;\nexports.addEvent = addEvent;\nexports.removeEvent = removeEvent;\nexports.outerHeight = outerHeight;\nexports.outerWidth = outerWidth;\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\nexports.offsetXYFromParent = offsetXYFromParent;\nexports.createCSSTransform = createCSSTransform;\nexports.createSVGTransform = createSVGTransform;\nexports.getTranslation = getTranslation;\nexports.getTouch = getTouch;\nexports.getTouchIdentifier = getTouchIdentifier;\nexports.addUserSelectStyles = addUserSelectStyles;\nexports.removeUserSelectStyles = removeUserSelectStyles;\nexports.addClassName = addClassName;\nexports.removeClassName = removeClassName;\n\nvar _shims = require(\"./shims\");\n\nvar _getPrefix = _interopRequireWildcard(require(\"./getPrefix\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar matchesSelectorFunc = '';\n\nfunction matchesSelector(el\n/*: Node*/\n, selector\n/*: string*/\n)\n/*: boolean*/\n{\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {\n // $FlowIgnore: Doesn't think elements are indexable\n return (0, _shims.isFunction)(el[method]);\n });\n } // Might not be found entirely (not an Element?) - in that case, bail\n // $FlowIgnore: Doesn't think elements are indexable\n\n\n if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable\n\n return el[matchesSelectorFunc](selector);\n} // Works up the tree to the draggable itself attempting to match selector.\n\n\nfunction matchesSelectorAndParentsTo(el\n/*: Node*/\n, selector\n/*: string*/\n, baseNode\n/*: Node*/\n)\n/*: boolean*/\n{\n var node = el;\n\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n node = node.parentNode;\n } while (node);\n\n return false;\n}\n\nfunction addEvent(el\n/*: ?Node*/\n, event\n/*: string*/\n, handler\n/*: Function*/\n, inputOptions\n/*: Object*/\n)\n/*: void*/\n{\n if (!el) return;\n\n var options = _objectSpread({\n capture: true\n }, inputOptions); // $FlowIgnore[method-unbinding]\n\n\n if (el.addEventListener) {\n el.addEventListener(event, handler, options);\n } else if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\n\nfunction removeEvent(el\n/*: ?Node*/\n, event\n/*: string*/\n, handler\n/*: Function*/\n, inputOptions\n/*: Object*/\n)\n/*: void*/\n{\n if (!el) return;\n\n var options = _objectSpread({\n capture: true\n }, inputOptions); // $FlowIgnore[method-unbinding]\n\n\n if (el.removeEventListener) {\n el.removeEventListener(event, handler, options);\n } else if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\n\nfunction outerHeight(node\n/*: HTMLElement*/\n)\n/*: number*/\n{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n var height = node.clientHeight;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height += (0, _shims.int)(computedStyle.borderTopWidth);\n height += (0, _shims.int)(computedStyle.borderBottomWidth);\n return height;\n}\n\nfunction outerWidth(node\n/*: HTMLElement*/\n)\n/*: number*/\n{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n var width = node.clientWidth;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width += (0, _shims.int)(computedStyle.borderLeftWidth);\n width += (0, _shims.int)(computedStyle.borderRightWidth);\n return width;\n}\n\nfunction innerHeight(node\n/*: HTMLElement*/\n)\n/*: number*/\n{\n var height = node.clientHeight;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height -= (0, _shims.int)(computedStyle.paddingTop);\n height -= (0, _shims.int)(computedStyle.paddingBottom);\n return height;\n}\n\nfunction innerWidth(node\n/*: HTMLElement*/\n)\n/*: number*/\n{\n var width = node.clientWidth;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width -= (0, _shims.int)(computedStyle.paddingLeft);\n width -= (0, _shims.int)(computedStyle.paddingRight);\n return width;\n}\n/*:: interface EventWithOffset {\n clientX: number, clientY: number\n}*/\n\n\n// Get from offsetParent\nfunction offsetXYFromParent(evt\n/*: EventWithOffset*/\n, offsetParent\n/*: HTMLElement*/\n, scale\n/*: number*/\n)\n/*: ControlPosition*/\n{\n var isBody = offsetParent === offsetParent.ownerDocument.body;\n var offsetParentRect = isBody ? {\n left: 0,\n top: 0\n } : offsetParent.getBoundingClientRect();\n var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;\n var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;\n return {\n x: x,\n y: y\n };\n}\n\nfunction createCSSTransform(controlPos\n/*: ControlPosition*/\n, positionOffset\n/*: PositionOffsetControlPosition*/\n)\n/*: Object*/\n{\n var translation = getTranslation(controlPos, positionOffset, 'px');\n return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);\n}\n\nfunction createSVGTransform(controlPos\n/*: ControlPosition*/\n, positionOffset\n/*: PositionOffsetControlPosition*/\n)\n/*: string*/\n{\n var translation = getTranslation(controlPos, positionOffset, '');\n return translation;\n}\n\nfunction getTranslation(_ref2, positionOffset\n/*: PositionOffsetControlPosition*/\n, unitSuffix\n/*: string*/\n)\n/*: string*/\n{\n var x = _ref2.x,\n y = _ref2.y;\n var translation = \"translate(\".concat(x).concat(unitSuffix, \",\").concat(y).concat(unitSuffix, \")\");\n\n if (positionOffset) {\n var defaultX = \"\".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);\n var defaultY = \"\".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);\n translation = \"translate(\".concat(defaultX, \", \").concat(defaultY, \")\") + translation;\n }\n\n return translation;\n}\n\nfunction getTouch(e\n/*: MouseTouchEvent*/\n, identifier\n/*: number*/\n)\n/*: ?{clientX: number, clientY: number}*/\n{\n return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {\n return identifier === t.identifier;\n }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {\n return identifier === t.identifier;\n });\n}\n\nfunction getTouchIdentifier(e\n/*: MouseTouchEvent*/\n)\n/*: ?number*/\n{\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n} // User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\n// Note we're passing `document` b/c we could be iframed\n\n\nfunction addUserSelectStyles(doc\n/*: ?Document*/\n) {\n if (!doc) return;\n var styleEl = doc.getElementById('react-draggable-style-el');\n\n if (!styleEl) {\n styleEl = doc.createElement('style');\n styleEl.type = 'text/css';\n styleEl.id = 'react-draggable-style-el';\n styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\\n';\n styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\\n';\n doc.getElementsByTagName('head')[0].appendChild(styleEl);\n }\n\n if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');\n}\n\nfunction removeUserSelectStyles(doc\n/*: ?Document*/\n) {\n if (!doc) return;\n\n try {\n if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE\n\n if (doc.selection) {\n // $FlowIgnore: IE\n doc.selection.empty();\n } else {\n // Remove selection caused by scroll, unless it's a focused input\n // (we use doc.defaultView in case we're in an iframe)\n var selection = (doc.defaultView || window).getSelection();\n\n if (selection && selection.type !== 'Caret') {\n selection.removeAllRanges();\n }\n }\n } catch (e) {// probably IE\n }\n}\n\nfunction addClassName(el\n/*: HTMLElement*/\n, className\n/*: string*/\n) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n if (!el.className.match(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\")))) {\n el.className += \" \".concat(className);\n }\n }\n}\n\nfunction removeClassName(el\n/*: HTMLElement*/\n, className\n/*: string*/\n) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\"), 'g'), '');\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getPrefix = getPrefix;\nexports.browserPrefixToKey = browserPrefixToKey;\nexports.browserPrefixToStyle = browserPrefixToStyle;\nexports.default = void 0;\nvar prefixes = ['Moz', 'Webkit', 'O', 'ms'];\n\nfunction getPrefix()\n/*: string*/\n{\n var _window$document, _window$document$docu;\n\n var prop\n /*: string*/\n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n // Ensure we're running in an environment where there is actually a global\n // `window` obj\n if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access\n // path may not exist, so bail out if it doesn't.\n\n var style = (_window$document = window.document) === null || _window$document === void 0 ? void 0 : (_window$document$docu = _window$document.documentElement) === null || _window$document$docu === void 0 ? void 0 : _window$document$docu.style;\n if (!style) return '';\n if (prop in style) return '';\n\n for (var i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n\n return '';\n}\n\nfunction browserPrefixToKey(prop\n/*: string*/\n, prefix\n/*: string*/\n)\n/*: string*/\n{\n return prefix ? \"\".concat(prefix).concat(kebabToTitleCase(prop)) : prop;\n}\n\nfunction browserPrefixToStyle(prop\n/*: string*/\n, prefix\n/*: string*/\n)\n/*: string*/\n{\n return prefix ? \"-\".concat(prefix.toLowerCase(), \"-\").concat(prop) : prop;\n}\n\nfunction kebabToTitleCase(str\n/*: string*/\n)\n/*: string*/\n{\n var out = '';\n var shouldCapitalize = true;\n\n for (var i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n\n return out;\n} // Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\n\n\nvar _default = (getPrefix()\n/*: string*/\n);\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\n\n/*eslint no-console:0*/\nfunction log() {\n var _console;\n\n if (undefined) (_console = console).log.apply(_console, arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getBoundPosition = getBoundPosition;\nexports.snapToGrid = snapToGrid;\nexports.canDragX = canDragX;\nexports.canDragY = canDragY;\nexports.getControlPosition = getControlPosition;\nexports.createCoreData = createCoreData;\nexports.createDraggableData = createDraggableData;\n\nvar _shims = require(\"./shims\");\n\nvar _domFns = require(\"./domFns\");\n\nfunction getBoundPosition(draggable\n/*: Draggable*/\n, x\n/*: number*/\n, y\n/*: number*/\n)\n/*: [number, number]*/\n{\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y]; // Clone new bounds\n\n var bounds = draggable.props.bounds;\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n var node = findDOMNode(draggable);\n\n if (typeof bounds === 'string') {\n var ownerDocument = node.ownerDocument;\n var ownerWindow = ownerDocument.defaultView;\n var boundNode;\n\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = ownerDocument.querySelector(bounds);\n }\n\n if (!(boundNode instanceof ownerWindow.HTMLElement)) {\n throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n\n var boundNodeEl\n /*: HTMLElement*/\n = boundNode; // for Flow, can't seem to refine correctly\n\n var nodeStyle = ownerWindow.getComputedStyle(node);\n var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n\n bounds = {\n left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),\n top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),\n right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),\n bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)\n };\n } // Keep x and y below right and bottom limits...\n\n\n if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);\n if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.\n\n if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);\n if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);\n return [x, y];\n}\n\nfunction snapToGrid(grid\n/*: [number, number]*/\n, pendingX\n/*: number*/\n, pendingY\n/*: number*/\n)\n/*: [number, number]*/\n{\n var x = Math.round(pendingX / grid[0]) * grid[0];\n var y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\n\nfunction canDragX(draggable\n/*: Draggable*/\n)\n/*: boolean*/\n{\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\n\nfunction canDragY(draggable\n/*: Draggable*/\n)\n/*: boolean*/\n{\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n} // Get {x, y} positions from event.\n\n\nfunction getControlPosition(e\n/*: MouseTouchEvent*/\n, touchIdentifier\n/*: ?number*/\n, draggableCore\n/*: DraggableCore*/\n)\n/*: ?ControlPosition*/\n{\n var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n\n var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.\n\n var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;\n return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);\n} // Create an data object exposed by 's events\n\n\nfunction createCoreData(draggable\n/*: DraggableCore*/\n, x\n/*: number*/\n, y\n/*: number*/\n)\n/*: DraggableData*/\n{\n var state = draggable.state;\n var isStart = !(0, _shims.isNum)(state.lastX);\n var node = findDOMNode(draggable);\n\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node: node,\n deltaX: 0,\n deltaY: 0,\n lastX: x,\n lastY: y,\n x: x,\n y: y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node: node,\n deltaX: x - state.lastX,\n deltaY: y - state.lastY,\n lastX: state.lastX,\n lastY: state.lastY,\n x: x,\n y: y\n };\n }\n} // Create an data exposed by 's events\n\n\nfunction createDraggableData(draggable\n/*: Draggable*/\n, coreData\n/*: DraggableData*/\n)\n/*: DraggableData*/\n{\n var scale = draggable.props.scale;\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX / scale,\n y: draggable.state.y + coreData.deltaY / scale,\n deltaX: coreData.deltaX / scale,\n deltaY: coreData.deltaY / scale,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n} // A lot faster than stringify/parse\n\n\nfunction cloneBounds(bounds\n/*: Bounds*/\n)\n/*: Bounds*/\n{\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\n\nfunction findDOMNode(draggable\n/*: Draggable | DraggableCore*/\n)\n/*: HTMLElement*/\n{\n var node = draggable.findDOMNode();\n\n if (!node) {\n throw new Error(': Unmounted during event!');\n } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME\n\n\n return node;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findInArray = findInArray;\nexports.isFunction = isFunction;\nexports.isNum = isNum;\nexports.int = int;\nexports.dontSetMe = dontSetMe;\n\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array\n/*: Array | TouchList*/\n, callback\n/*: Function*/\n)\n/*: any*/\n{\n for (var i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\n\nfunction isFunction(func\n/*: any*/\n)\n/*: boolean %checks*/\n{\n // $FlowIgnore[method-unbinding]\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\n\nfunction isNum(num\n/*: any*/\n)\n/*: boolean %checks*/\n{\n return typeof num === 'number' && !isNaN(num);\n}\n\nfunction int(a\n/*: string*/\n)\n/*: number*/\n{\n return parseInt(a, 10);\n}\n\nfunction dontSetMe(props\n/*: Object*/\n, propName\n/*: string*/\n, componentName\n/*: string*/\n)\n/*: ?Error*/\n{\n if (props[propName]) {\n return new Error(\"Invalid prop \".concat(propName, \" passed to \").concat(componentName, \" - do not set this, set it on the child.\"));\n }\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDraggable = require(\"react-draggable\");\n\nvar _reactResizable = require(\"react-resizable\");\n\nvar _utils = require(\"./utils\");\n\nvar _calculateUtils = require(\"./calculateUtils\");\n\nvar _ReactGridLayoutPropTypes = require(\"./ReactGridLayoutPropTypes\");\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * An individual item within a ReactGridLayout.\n */\nvar GridItem = /*#__PURE__*/function (_React$Component) {\n _inherits(GridItem, _React$Component);\n\n var _super = _createSuper(GridItem);\n\n function GridItem() {\n var _this;\n\n _classCallCheck(this, GridItem);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n resizing: null,\n dragging: null,\n className: \"\"\n });\n\n _defineProperty(_assertThisInitialized(_this), \"elementRef\", /*#__PURE__*/_react.default.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (e, _ref) {\n var node = _ref.node;\n var _this$props = _this.props,\n onDragStart = _this$props.onDragStart,\n transformScale = _this$props.transformScale;\n if (!onDragStart) return;\n var newPosition\n /*: PartialPosition*/\n = {\n top: 0,\n left: 0\n }; // TODO: this wont work on nested parents\n\n var offsetParent = node.offsetParent;\n if (!offsetParent) return;\n var parentRect = offsetParent.getBoundingClientRect();\n var clientRect = node.getBoundingClientRect();\n var cLeft = clientRect.left / transformScale;\n var pLeft = parentRect.left / transformScale;\n var cTop = clientRect.top / transformScale;\n var pTop = parentRect.top / transformScale;\n newPosition.left = cLeft - pLeft + offsetParent.scrollLeft;\n newPosition.top = cTop - pTop + offsetParent.scrollTop;\n\n _this.setState({\n dragging: newPosition\n }); // Call callback with this data\n\n\n var _calcXY = (0, _calculateUtils.calcXY)(_this.getPositionParams(), newPosition.top, newPosition.left, _this.props.w, _this.props.h),\n x = _calcXY.x,\n y = _calcXY.y;\n\n return onDragStart.call(_assertThisInitialized(_this), _this.props.i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n var onDrag = _this.props.onDrag;\n if (!onDrag) return;\n\n if (!_this.state.dragging) {\n throw new Error(\"onDrag called before onDragStart.\");\n }\n\n var top = _this.state.dragging.top + deltaY;\n var left = _this.state.dragging.left + deltaX;\n var _this$props2 = _this.props,\n isBounded = _this$props2.isBounded,\n i = _this$props2.i,\n w = _this$props2.w,\n h = _this$props2.h,\n containerWidth = _this$props2.containerWidth;\n\n var positionParams = _this.getPositionParams(); // Boundary calculations; keeps items within the grid\n\n\n if (isBounded) {\n var offsetParent = node.offsetParent;\n\n if (offsetParent) {\n var _this$props3 = _this.props,\n margin = _this$props3.margin,\n rowHeight = _this$props3.rowHeight;\n var bottomBoundary = offsetParent.clientHeight - (0, _calculateUtils.calcGridItemWHPx)(h, rowHeight, margin[1]);\n top = (0, _calculateUtils.clamp)(top, 0, bottomBoundary);\n var colWidth = (0, _calculateUtils.calcGridColWidth)(positionParams);\n var rightBoundary = containerWidth - (0, _calculateUtils.calcGridItemWHPx)(w, colWidth, margin[0]);\n left = (0, _calculateUtils.clamp)(left, 0, rightBoundary);\n }\n }\n\n var newPosition\n /*: PartialPosition*/\n = {\n top: top,\n left: left\n };\n\n _this.setState({\n dragging: newPosition\n }); // Call callback with this data\n\n\n var _calcXY2 = (0, _calculateUtils.calcXY)(positionParams, top, left, w, h),\n x = _calcXY2.x,\n y = _calcXY2.y;\n\n return onDrag.call(_assertThisInitialized(_this), i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (e, _ref3) {\n var node = _ref3.node;\n var onDragStop = _this.props.onDragStop;\n if (!onDragStop) return;\n\n if (!_this.state.dragging) {\n throw new Error(\"onDragEnd called before onDragStart.\");\n }\n\n var _this$props4 = _this.props,\n w = _this$props4.w,\n h = _this$props4.h,\n i = _this$props4.i;\n var _this$state$dragging = _this.state.dragging,\n left = _this$state$dragging.left,\n top = _this$state$dragging.top;\n var newPosition\n /*: PartialPosition*/\n = {\n top: top,\n left: left\n };\n\n _this.setState({\n dragging: null\n });\n\n var _calcXY3 = (0, _calculateUtils.calcXY)(_this.getPositionParams(), top, left, w, h),\n x = _calcXY3.x,\n y = _calcXY3.y;\n\n return onDragStop.call(_assertThisInitialized(_this), i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStop\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResizeStop\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStart\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResizeStart\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResize\");\n });\n\n return _this;\n }\n\n _createClass(GridItem, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps\n /*: Props*/\n , nextState\n /*: State*/\n )\n /*: boolean*/\n {\n // We can't deeply compare children. If the developer memoizes them, we can\n // use this optimization.\n if (this.props.children !== nextProps.children) return true;\n if (this.props.droppingPosition !== nextProps.droppingPosition) return true; // TODO memoize these calculations so they don't take so long?\n\n var oldPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(this.props), this.props.x, this.props.y, this.props.w, this.props.h, this.state);\n var newPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(nextProps), nextProps.x, nextProps.y, nextProps.w, nextProps.h, nextState);\n return !(0, _utils.fastPositionEqual)(oldPosition, newPosition) || this.props.useCSSTransforms !== nextProps.useCSSTransforms;\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.moveDroppingItem({});\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props*/\n ) {\n this.moveDroppingItem(prevProps);\n } // When a droppingPosition is present, this means we should fire a move event, as if we had moved\n // this element by `x, y` pixels.\n\n }, {\n key: \"moveDroppingItem\",\n value: function moveDroppingItem(prevProps\n /*: Props*/\n ) {\n var droppingPosition = this.props.droppingPosition;\n if (!droppingPosition) return;\n var node = this.elementRef.current; // Can't find DOM node (are we unmounted?)\n\n if (!node) return;\n var prevDroppingPosition = prevProps.droppingPosition || {\n left: 0,\n top: 0\n };\n var dragging = this.state.dragging;\n var shouldDrag = dragging && droppingPosition.left !== prevDroppingPosition.left || droppingPosition.top !== prevDroppingPosition.top;\n\n if (!dragging) {\n this.onDragStart(droppingPosition.e, {\n node: node,\n deltaX: droppingPosition.left,\n deltaY: droppingPosition.top\n });\n } else if (shouldDrag) {\n var deltaX = droppingPosition.left - dragging.left;\n var deltaY = droppingPosition.top - dragging.top;\n this.onDrag(droppingPosition.e, {\n node: node,\n deltaX: deltaX,\n deltaY: deltaY\n });\n }\n }\n }, {\n key: \"getPositionParams\",\n value: function getPositionParams()\n /*: PositionParams*/\n {\n var props\n /*: Props*/\n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n return {\n cols: props.cols,\n containerPadding: props.containerPadding,\n containerWidth: props.containerWidth,\n margin: props.margin,\n maxRows: props.maxRows,\n rowHeight: props.rowHeight\n };\n }\n /**\n * This is where we set the grid item's absolute placement. It gets a little tricky because we want to do it\n * well when server rendering, and the only way to do that properly is to use percentage width/left because\n * we don't know exactly what the browser viewport is.\n * Unfortunately, CSS Transforms, which are great for performance, break in this instance because a percentage\n * left is relative to the item itself, not its container! So we cannot use them on the server rendering pass.\n *\n * @param {Object} pos Position object with width, height, left, top.\n * @return {Object} Style object.\n */\n\n }, {\n key: \"createStyle\",\n value: function createStyle(pos\n /*: Position*/\n )\n /*: { [key: string]: ?string }*/\n {\n var _this$props5 = this.props,\n usePercentages = _this$props5.usePercentages,\n containerWidth = _this$props5.containerWidth,\n useCSSTransforms = _this$props5.useCSSTransforms;\n var style; // CSS Transforms support (default)\n\n if (useCSSTransforms) {\n style = (0, _utils.setTransform)(pos);\n } else {\n // top,left (slow)\n style = (0, _utils.setTopLeft)(pos); // This is used for server rendering.\n\n if (usePercentages) {\n style.left = (0, _utils.perc)(pos.left / containerWidth);\n style.width = (0, _utils.perc)(pos.width / containerWidth);\n }\n }\n\n return style;\n }\n /**\n * Mix a Draggable instance into a child.\n * @param {Element} child Child element.\n * @return {Element} Child wrapped in Draggable.\n */\n\n }, {\n key: \"mixinDraggable\",\n value: function mixinDraggable(child\n /*: ReactElement*/\n , isDraggable\n /*: boolean*/\n )\n /*: ReactElement*/\n {\n return /*#__PURE__*/_react.default.createElement(_reactDraggable.DraggableCore, {\n disabled: !isDraggable,\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop,\n handle: this.props.handle,\n cancel: \".react-resizable-handle\" + (this.props.cancel ? \",\" + this.props.cancel : \"\"),\n scale: this.props.transformScale,\n nodeRef: this.elementRef\n }, child);\n }\n /**\n * Mix a Resizable instance into a child.\n * @param {Element} child Child element.\n * @param {Object} position Position object (pixel values)\n * @return {Element} Child wrapped in Resizable.\n */\n\n }, {\n key: \"mixinResizable\",\n value: function mixinResizable(child\n /*: ReactElement*/\n , position\n /*: Position*/\n , isResizable\n /*: boolean*/\n )\n /*: ReactElement*/\n {\n var _this$props6 = this.props,\n cols = _this$props6.cols,\n x = _this$props6.x,\n minW = _this$props6.minW,\n minH = _this$props6.minH,\n maxW = _this$props6.maxW,\n maxH = _this$props6.maxH,\n transformScale = _this$props6.transformScale,\n resizeHandles = _this$props6.resizeHandles,\n resizeHandle = _this$props6.resizeHandle;\n var positionParams = this.getPositionParams(); // This is the max possible width - doesn't go to infinity because of the width of the window\n\n var maxWidth = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, cols - x, 0).width; // Calculate min/max constraints using our min & maxes\n\n var mins = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, minW, minH);\n var maxes = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, maxW, maxH);\n var minConstraints = [mins.width, mins.height];\n var maxConstraints = [Math.min(maxes.width, maxWidth), Math.min(maxes.height, Infinity)];\n return /*#__PURE__*/_react.default.createElement(_reactResizable.Resizable // These are opts for the resize handle itself\n , {\n draggableOpts: {\n disabled: !isResizable\n },\n className: isResizable ? undefined : \"react-resizable-hide\",\n width: position.width,\n height: position.height,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n onResizeStop: this.onResizeStop,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n transformScale: transformScale,\n resizeHandles: resizeHandles,\n handle: resizeHandle\n }, child);\n }\n /**\n * onDragStart event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n\n }, {\n key: \"onResizeHandler\",\n value:\n /**\n * Wrapper around drag events to provide more useful data.\n * All drag events call the function with the given handler name,\n * with the signature (index, x, y).\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n function onResizeHandler(e\n /*: Event*/\n , _ref4, handlerName\n /*: string*/\n )\n /*: void*/\n {\n var node = _ref4.node,\n size = _ref4.size;\n var handler = this.props[handlerName];\n if (!handler) return;\n var _this$props7 = this.props,\n cols = _this$props7.cols,\n x = _this$props7.x,\n y = _this$props7.y,\n i = _this$props7.i,\n maxH = _this$props7.maxH,\n minH = _this$props7.minH;\n var _this$props8 = this.props,\n minW = _this$props8.minW,\n maxW = _this$props8.maxW; // Get new XY\n\n var _calcWH = (0, _calculateUtils.calcWH)(this.getPositionParams(), size.width, size.height, x, y),\n w = _calcWH.w,\n h = _calcWH.h; // minW should be at least 1 (TODO propTypes validation?)\n\n\n minW = Math.max(minW, 1); // maxW should be at most (cols - x)\n\n maxW = Math.min(maxW, cols - x); // Min/max capping\n\n w = (0, _calculateUtils.clamp)(w, minW, maxW);\n h = (0, _calculateUtils.clamp)(h, minH, maxH);\n this.setState({\n resizing: handlerName === \"onResizeStop\" ? null : size\n });\n handler.call(this, i, w, h, {\n e: e,\n node: node,\n size: size\n });\n }\n }, {\n key: \"render\",\n value: function render()\n /*: ReactNode*/\n {\n var _this$props9 = this.props,\n x = _this$props9.x,\n y = _this$props9.y,\n w = _this$props9.w,\n h = _this$props9.h,\n isDraggable = _this$props9.isDraggable,\n isResizable = _this$props9.isResizable,\n droppingPosition = _this$props9.droppingPosition,\n useCSSTransforms = _this$props9.useCSSTransforms;\n var pos = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(), x, y, w, h, this.state);\n\n var child = _react.default.Children.only(this.props.children); // Create the child element. We clone the existing element but modify its className and style.\n\n\n var newChild = /*#__PURE__*/_react.default.cloneElement(child, {\n ref: this.elementRef,\n className: (0, _clsx.default)(\"react-grid-item\", child.props.className, this.props.className, {\n static: this.props.static,\n resizing: Boolean(this.state.resizing),\n \"react-draggable\": isDraggable,\n \"react-draggable-dragging\": Boolean(this.state.dragging),\n dropping: Boolean(droppingPosition),\n cssTransforms: useCSSTransforms\n }),\n // We can set the width and height on the child, but unfortunately we can't set the position.\n style: _objectSpread(_objectSpread(_objectSpread({}, this.props.style), child.props.style), this.createStyle(pos))\n }); // Resizable support. This is usually on but the user can toggle it off.\n\n\n newChild = this.mixinResizable(newChild, pos, isResizable); // Draggable support. This is always on, except for with placeholders.\n\n newChild = this.mixinDraggable(newChild, isDraggable);\n return newChild;\n }\n }]);\n\n return GridItem;\n}(_react.default.Component);\n\nexports.default = GridItem;\n\n_defineProperty(GridItem, \"propTypes\", {\n // Children must be only a single element\n children: _propTypes.default.element,\n // General grid attributes\n cols: _propTypes.default.number.isRequired,\n containerWidth: _propTypes.default.number.isRequired,\n rowHeight: _propTypes.default.number.isRequired,\n margin: _propTypes.default.array.isRequired,\n maxRows: _propTypes.default.number.isRequired,\n containerPadding: _propTypes.default.array.isRequired,\n // These are all in grid units\n x: _propTypes.default.number.isRequired,\n y: _propTypes.default.number.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired,\n // All optional\n minW: function minW(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minWidth not Number\");\n if (value > props.w || value > props.maxW) return new Error(\"minWidth larger than item width/maxWidth\");\n },\n maxW: function maxW(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxWidth not Number\");\n if (value < props.w || value < props.minW) return new Error(\"maxWidth smaller than item width/minWidth\");\n },\n minH: function minH(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minHeight not Number\");\n if (value > props.h || value > props.maxH) return new Error(\"minHeight larger than item height/maxHeight\");\n },\n maxH: function maxH(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxHeight not Number\");\n if (value < props.h || value < props.minH) return new Error(\"maxHeight smaller than item height/minHeight\");\n },\n // ID is nice to have for callbacks\n i: _propTypes.default.string.isRequired,\n // Resize handle options\n resizeHandles: _ReactGridLayoutPropTypes.resizeHandleAxesType,\n resizeHandle: _ReactGridLayoutPropTypes.resizeHandleType,\n // Functions\n onDragStop: _propTypes.default.func,\n onDragStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onResizeStop: _propTypes.default.func,\n onResizeStart: _propTypes.default.func,\n onResize: _propTypes.default.func,\n // Flags\n isDraggable: _propTypes.default.bool.isRequired,\n isResizable: _propTypes.default.bool.isRequired,\n isBounded: _propTypes.default.bool.isRequired,\n static: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool.isRequired,\n transformScale: _propTypes.default.number,\n // Others\n className: _propTypes.default.string,\n // Selector for draggable handle\n handle: _propTypes.default.string,\n // Selector for draggable cancel (see react-draggable)\n cancel: _propTypes.default.string,\n // Current position of a dropping element\n droppingPosition: _propTypes.default.shape({\n e: _propTypes.default.object.isRequired,\n left: _propTypes.default.number.isRequired,\n top: _propTypes.default.number.isRequired\n })\n});\n\n_defineProperty(GridItem, \"defaultProps\", {\n className: \"\",\n cancel: \"\",\n handle: \"\",\n minH: 1,\n minW: 1,\n maxH: Infinity,\n maxW: Infinity,\n transformScale: 1\n});","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _utils = require(\"./utils\");\n\nvar _calculateUtils = require(\"./calculateUtils\");\n\nvar _GridItem = _interopRequireDefault(require(\"./GridItem\"));\n\nvar _ReactGridLayoutPropTypes = _interopRequireDefault(require(\"./ReactGridLayoutPropTypes\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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 _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// End Types\nvar layoutClassName = \"react-grid-layout\";\nvar isFirefox = false; // Try...catch will protect from navigator not existing (e.g. node) or a bad implementation of navigator\n\ntry {\n isFirefox = /firefox/i.test(navigator.userAgent);\n} catch (e) {\n /* Ignore */\n}\n/**\n * A reactive, fluid grid layout with draggable, resizable components.\n */\n\n\nvar ReactGridLayout = /*#__PURE__*/function (_React$Component) {\n _inherits(ReactGridLayout, _React$Component);\n\n var _super = _createSuper(ReactGridLayout);\n\n function ReactGridLayout() {\n var _this;\n\n _classCallCheck(this, ReactGridLayout);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n activeDrag: null,\n layout: (0, _utils.synchronizeLayoutWithChildren)(_this.props.layout, _this.props.children, _this.props.cols, // Legacy support for verticalCompact: false\n (0, _utils.compactType)(_this.props), _this.props.allowOverlap),\n mounted: false,\n oldDragItem: null,\n oldLayout: null,\n oldResizeItem: null,\n droppingDOMNode: null,\n children: []\n });\n\n _defineProperty(_assertThisInitialized(_this), \"dragEnterCounter\", 0);\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (i\n /*: string*/\n , x\n /*: number*/\n , y\n /*: number*/\n , _ref) {\n var e = _ref.e,\n node = _ref.node;\n var layout = _this.state.layout;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n _this.setState({\n oldDragItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: layout\n });\n\n return _this.props.onDragStart(layout, l, l, null, e, node);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (i, x, y, _ref2) {\n var e = _ref2.e,\n node = _ref2.node;\n var oldDragItem = _this.state.oldDragItem;\n var layout = _this.state.layout;\n var _this$props = _this.props,\n cols = _this$props.cols,\n allowOverlap = _this$props.allowOverlap,\n preventCollision = _this$props.preventCollision;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return; // Create placeholder (display only)\n\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n }; // Move the element to the dragged location.\n\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(_this.props), cols, allowOverlap);\n\n _this.props.onDrag(layout, oldDragItem, l, placeholder, e, node);\n\n _this.setState({\n layout: allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols),\n activeDrag: placeholder\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (i, x, y, _ref3) {\n var e = _ref3.e,\n node = _ref3.node;\n if (!_this.state.activeDrag) return;\n var oldDragItem = _this.state.oldDragItem;\n var layout = _this.state.layout;\n var _this$props2 = _this.props,\n cols = _this$props2.cols,\n preventCollision = _this$props2.preventCollision,\n allowOverlap = _this$props2.allowOverlap;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return; // Move the element here\n\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(_this.props), cols, allowOverlap);\n\n _this.props.onDragStop(layout, oldDragItem, l, null, e, node); // Set state\n\n\n var newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols);\n var oldLayout = _this.state.oldLayout;\n\n _this.setState({\n activeDrag: null,\n layout: newLayout,\n oldDragItem: null,\n oldLayout: null\n });\n\n _this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStart\", function (i, w, h, _ref4) {\n var e = _ref4.e,\n node = _ref4.node;\n var layout = _this.state.layout;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n _this.setState({\n oldResizeItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: _this.state.layout\n });\n\n _this.props.onResizeStart(layout, l, l, null, e, node);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function (i, w, h, _ref5) {\n var e = _ref5.e,\n node = _ref5.node;\n var _this$state = _this.state,\n layout = _this$state.layout,\n oldResizeItem = _this$state.oldResizeItem;\n var _this$props3 = _this.props,\n cols = _this$props3.cols,\n preventCollision = _this$props3.preventCollision,\n allowOverlap = _this$props3.allowOverlap;\n\n var _withLayoutItem = (0, _utils.withLayoutItem)(layout, i, function (l) {\n // Something like quad tree should be used\n // to find collisions faster\n var hasCollisions;\n\n if (preventCollision && !allowOverlap) {\n var collisions = (0, _utils.getAllCollisions)(layout, _objectSpread(_objectSpread({}, l), {}, {\n w: w,\n h: h\n })).filter(function (layoutItem) {\n return layoutItem.i !== l.i;\n });\n hasCollisions = collisions.length > 0; // If we're colliding, we need adjust the placeholder.\n\n // If we're colliding, we need adjust the placeholder.\n if (hasCollisions) {\n // adjust w && h to maximum allowed space\n var leastX = Infinity,\n leastY = Infinity;\n collisions.forEach(function (layoutItem) {\n if (layoutItem.x > l.x) leastX = Math.min(leastX, layoutItem.x);\n if (layoutItem.y > l.y) leastY = Math.min(leastY, layoutItem.y);\n });\n if (Number.isFinite(leastX)) l.w = leastX - l.x;\n if (Number.isFinite(leastY)) l.h = leastY - l.y;\n }\n }\n\n if (!hasCollisions) {\n // Set new width and height.\n l.w = w;\n l.h = h;\n }\n\n return l;\n }),\n _withLayoutItem2 = _slicedToArray(_withLayoutItem, 2),\n newLayout = _withLayoutItem2[0],\n l = _withLayoutItem2[1]; // Shouldn't ever happen, but typechecking makes it necessary\n\n\n if (!l) return; // Create placeholder element (display only)\n\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n static: true,\n i: i\n };\n\n _this.props.onResize(newLayout, oldResizeItem, l, placeholder, e, node); // Re-compact the newLayout and set the drag placeholder.\n\n\n _this.setState({\n layout: allowOverlap ? newLayout : (0, _utils.compact)(newLayout, (0, _utils.compactType)(_this.props), cols),\n activeDrag: placeholder\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStop\", function (i, w, h, _ref6) {\n var e = _ref6.e,\n node = _ref6.node;\n var _this$state2 = _this.state,\n layout = _this$state2.layout,\n oldResizeItem = _this$state2.oldResizeItem;\n var _this$props4 = _this.props,\n cols = _this$props4.cols,\n allowOverlap = _this$props4.allowOverlap;\n var l = (0, _utils.getLayoutItem)(layout, i);\n\n _this.props.onResizeStop(layout, oldResizeItem, l, null, e, node); // Set state\n\n\n var newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols);\n var oldLayout = _this.state.oldLayout;\n\n _this.setState({\n activeDrag: null,\n layout: newLayout,\n oldResizeItem: null,\n oldLayout: null\n });\n\n _this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragOver\", function (e) {\n var _e$nativeEvent$target;\n\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation(); // we should ignore events from layout's children in Firefox\n // to avoid unpredictable jumping of a dropping placeholder\n // FIXME remove this hack\n\n if (isFirefox && // $FlowIgnore can't figure this out\n !((_e$nativeEvent$target = e.nativeEvent.target) !== null && _e$nativeEvent$target !== void 0 && _e$nativeEvent$target.classList.contains(layoutClassName))) {\n return false;\n }\n\n var _this$props5 = _this.props,\n droppingItem = _this$props5.droppingItem,\n onDropDragOver = _this$props5.onDropDragOver,\n margin = _this$props5.margin,\n cols = _this$props5.cols,\n rowHeight = _this$props5.rowHeight,\n maxRows = _this$props5.maxRows,\n width = _this$props5.width,\n containerPadding = _this$props5.containerPadding,\n transformScale = _this$props5.transformScale; // Allow user to customize the dropping item or short-circuit the drop based on the results\n // of the `onDragOver(e: Event)` callback.\n\n var onDragOverResult = onDropDragOver === null || onDropDragOver === void 0 ? void 0 : onDropDragOver(e);\n\n if (onDragOverResult === false) {\n if (_this.state.droppingDOMNode) {\n _this.removeDroppingPlaceholder();\n }\n\n return false;\n }\n\n var finalDroppingItem = _objectSpread(_objectSpread({}, droppingItem), onDragOverResult);\n\n var layout = _this.state.layout; // This is relative to the DOM element that this event fired for.\n\n var _e$nativeEvent = e.nativeEvent,\n layerX = _e$nativeEvent.layerX,\n layerY = _e$nativeEvent.layerY;\n var droppingPosition = {\n left: layerX / transformScale,\n top: layerY / transformScale,\n e: e\n };\n\n if (!_this.state.droppingDOMNode) {\n var positionParams\n /*: PositionParams*/\n = {\n cols: cols,\n margin: margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n containerWidth: width,\n containerPadding: containerPadding || margin\n };\n var calculatedPosition = (0, _calculateUtils.calcXY)(positionParams, layerY, layerX, finalDroppingItem.w, finalDroppingItem.h);\n\n _this.setState({\n droppingDOMNode: /*#__PURE__*/React.createElement(\"div\", {\n key: finalDroppingItem.i\n }),\n droppingPosition: droppingPosition,\n layout: [].concat(_toConsumableArray(layout), [_objectSpread(_objectSpread({}, finalDroppingItem), {}, {\n x: calculatedPosition.x,\n y: calculatedPosition.y,\n static: false,\n isDraggable: true\n })])\n });\n } else if (_this.state.droppingPosition) {\n var _this$state$droppingP = _this.state.droppingPosition,\n left = _this$state$droppingP.left,\n top = _this$state$droppingP.top;\n var shouldUpdatePosition = left != layerX || top != layerY;\n\n if (shouldUpdatePosition) {\n _this.setState({\n droppingPosition: droppingPosition\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"removeDroppingPlaceholder\", function () {\n var _this$props6 = _this.props,\n droppingItem = _this$props6.droppingItem,\n cols = _this$props6.cols;\n var layout = _this.state.layout;\n var newLayout = (0, _utils.compact)(layout.filter(function (l) {\n return l.i !== droppingItem.i;\n }), (0, _utils.compactType)(_this.props), cols);\n\n _this.setState({\n layout: newLayout,\n droppingDOMNode: null,\n activeDrag: null,\n droppingPosition: undefined\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragLeave\", function (e) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n _this.dragEnterCounter--; // onDragLeave can be triggered on each layout's child.\n // But we know that count of dragEnter and dragLeave events\n // will be balanced after leaving the layout's container\n // so we can increase and decrease count of dragEnter and\n // when it'll be equal to 0 we'll remove the placeholder\n\n if (_this.dragEnterCounter === 0) {\n _this.removeDroppingPlaceholder();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragEnter\", function (e) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n _this.dragEnterCounter++;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrop\", function (e\n /*: Event*/\n ) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n var droppingItem = _this.props.droppingItem;\n var layout = _this.state.layout;\n var item = layout.find(function (l) {\n return l.i === droppingItem.i;\n }); // reset dragEnter counter on drop\n\n _this.dragEnterCounter = 0;\n\n _this.removeDroppingPlaceholder();\n\n _this.props.onDrop(layout, item, e);\n });\n\n return _this;\n }\n\n _createClass(ReactGridLayout, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setState({\n mounted: true\n }); // Possibly call back with layout on mount. This should be done after correcting the layout width\n // to ensure we don't rerender with the wrong width.\n\n this.onLayoutMaybeChanged(this.state.layout, this.props.layout);\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps\n /*: Props*/\n , nextState\n /*: State*/\n )\n /*: boolean*/\n {\n return (// NOTE: this is almost always unequal. Therefore the only way to get better performance\n // from SCU is if the user intentionally memoizes children. If they do, and they can\n // handle changes properly, performance will increase.\n this.props.children !== nextProps.children || !(0, _utils.fastRGLPropsEqual)(this.props, nextProps, _lodash.default) || this.state.activeDrag !== nextState.activeDrag || this.state.mounted !== nextState.mounted || this.state.droppingPosition !== nextState.droppingPosition\n );\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props*/\n , prevState\n /*: State*/\n ) {\n if (!this.state.activeDrag) {\n var newLayout = this.state.layout;\n var oldLayout = prevState.layout;\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n }\n }\n /**\n * Calculates a pixel value for the container.\n * @return {String} Container height in pixels.\n */\n\n }, {\n key: \"containerHeight\",\n value: function containerHeight()\n /*: ?string*/\n {\n if (!this.props.autoSize) return;\n var nbRow = (0, _utils.bottom)(this.state.layout);\n var containerPaddingY = this.props.containerPadding ? this.props.containerPadding[1] : this.props.margin[1];\n return nbRow * this.props.rowHeight + (nbRow - 1) * this.props.margin[1] + containerPaddingY * 2 + \"px\";\n }\n /**\n * When dragging starts\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n }, {\n key: \"onLayoutMaybeChanged\",\n value: function onLayoutMaybeChanged(newLayout\n /*: Layout*/\n , oldLayout\n /*: ?Layout*/\n ) {\n if (!oldLayout) oldLayout = this.state.layout;\n\n if (!(0, _lodash.default)(oldLayout, newLayout)) {\n this.props.onLayoutChange(newLayout);\n }\n }\n }, {\n key: \"placeholder\",\n value:\n /**\n * Create a placeholder object.\n * @return {Element} Placeholder div.\n */\n function placeholder()\n /*: ?ReactElement*/\n {\n var activeDrag = this.state.activeDrag;\n if (!activeDrag) return null;\n var _this$props7 = this.props,\n width = _this$props7.width,\n cols = _this$props7.cols,\n margin = _this$props7.margin,\n containerPadding = _this$props7.containerPadding,\n rowHeight = _this$props7.rowHeight,\n maxRows = _this$props7.maxRows,\n useCSSTransforms = _this$props7.useCSSTransforms,\n transformScale = _this$props7.transformScale; // {...this.state.activeDrag} is pretty slow, actually\n\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n w: activeDrag.w,\n h: activeDrag.h,\n x: activeDrag.x,\n y: activeDrag.y,\n i: activeDrag.i,\n className: \"react-grid-placeholder\",\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n isDraggable: false,\n isResizable: false,\n isBounded: false,\n useCSSTransforms: useCSSTransforms,\n transformScale: transformScale\n }, /*#__PURE__*/React.createElement(\"div\", null));\n }\n /**\n * Given a grid item, set its style attributes & surround in a .\n * @param {Element} child React element.\n * @return {Element} Element wrapped in draggable and properly placed.\n */\n\n }, {\n key: \"processGridItem\",\n value: function processGridItem(child\n /*: ReactElement*/\n , isDroppingItem\n /*: boolean*/\n )\n /*: ?ReactElement*/\n {\n if (!child || !child.key) return;\n var l = (0, _utils.getLayoutItem)(this.state.layout, String(child.key));\n if (!l) return null;\n var _this$props8 = this.props,\n width = _this$props8.width,\n cols = _this$props8.cols,\n margin = _this$props8.margin,\n containerPadding = _this$props8.containerPadding,\n rowHeight = _this$props8.rowHeight,\n maxRows = _this$props8.maxRows,\n isDraggable = _this$props8.isDraggable,\n isResizable = _this$props8.isResizable,\n isBounded = _this$props8.isBounded,\n useCSSTransforms = _this$props8.useCSSTransforms,\n transformScale = _this$props8.transformScale,\n draggableCancel = _this$props8.draggableCancel,\n draggableHandle = _this$props8.draggableHandle,\n resizeHandles = _this$props8.resizeHandles,\n resizeHandle = _this$props8.resizeHandle;\n var _this$state3 = this.state,\n mounted = _this$state3.mounted,\n droppingPosition = _this$state3.droppingPosition; // Determine user manipulations possible.\n // If an item is static, it can't be manipulated by default.\n // Any properties defined directly on the grid item will take precedence.\n\n var draggable = typeof l.isDraggable === \"boolean\" ? l.isDraggable : !l.static && isDraggable;\n var resizable = typeof l.isResizable === \"boolean\" ? l.isResizable : !l.static && isResizable;\n var resizeHandlesOptions = l.resizeHandles || resizeHandles; // isBounded set on child if set on parent, and child is not explicitly false\n\n var bounded = draggable && isBounded && l.isBounded !== false;\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n cancel: draggableCancel,\n handle: draggableHandle,\n onDragStop: this.onDragStop,\n onDragStart: this.onDragStart,\n onDrag: this.onDrag,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n onResizeStop: this.onResizeStop,\n isDraggable: draggable,\n isResizable: resizable,\n isBounded: bounded,\n useCSSTransforms: useCSSTransforms && mounted,\n usePercentages: !mounted,\n transformScale: transformScale,\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n i: l.i,\n minH: l.minH,\n minW: l.minW,\n maxH: l.maxH,\n maxW: l.maxW,\n static: l.static,\n droppingPosition: isDroppingItem ? droppingPosition : undefined,\n resizeHandles: resizeHandlesOptions,\n resizeHandle: resizeHandle\n }, child);\n } // Called while dragging an element. Part of browser native drag/drop API.\n // Native event target might be the layout itself, or an element within the layout.\n\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element<\"div\">*/\n {\n var _this2 = this;\n\n var _this$props9 = this.props,\n className = _this$props9.className,\n style = _this$props9.style,\n isDroppable = _this$props9.isDroppable,\n innerRef = _this$props9.innerRef;\n var mergedClassName = (0, _clsx.default)(layoutClassName, className);\n\n var mergedStyle = _objectSpread({\n height: this.containerHeight()\n }, style);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: innerRef,\n className: mergedClassName,\n style: mergedStyle,\n onDrop: isDroppable ? this.onDrop : _utils.noop,\n onDragLeave: isDroppable ? this.onDragLeave : _utils.noop,\n onDragEnter: isDroppable ? this.onDragEnter : _utils.noop,\n onDragOver: isDroppable ? this.onDragOver : _utils.noop\n }, React.Children.map(this.props.children, function (child) {\n return _this2.processGridItem(child);\n }), isDroppable && this.state.droppingDOMNode && this.processGridItem(this.state.droppingDOMNode, true), this.placeholder());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps\n /*: Props*/\n , prevState\n /*: State*/\n )\n /*: $Shape | null*/\n {\n var newLayoutBase;\n\n if (prevState.activeDrag) {\n return null;\n } // Legacy support for compactType\n // Allow parent to set layout directly.\n\n\n if (!(0, _lodash.default)(nextProps.layout, prevState.propsLayout) || nextProps.compactType !== prevState.compactType) {\n newLayoutBase = nextProps.layout;\n } else if (!(0, _utils.childrenEqual)(nextProps.children, prevState.children)) {\n // If children change, also regenerate the layout. Use our state\n // as the base in case because it may be more up to date than\n // what is in props.\n newLayoutBase = prevState.layout;\n } // We need to regenerate the layout.\n\n\n if (newLayoutBase) {\n var newLayout = (0, _utils.synchronizeLayoutWithChildren)(newLayoutBase, nextProps.children, nextProps.cols, (0, _utils.compactType)(nextProps), nextProps.allowOverlap);\n return {\n layout: newLayout,\n // We need to save these props to state for using\n // getDerivedStateFromProps instead of componentDidMount (in which we would get extra rerender)\n compactType: nextProps.compactType,\n children: nextProps.children,\n propsLayout: nextProps.layout\n };\n }\n\n return null;\n }\n }]);\n\n return ReactGridLayout;\n}(React.Component);\n\nexports.default = ReactGridLayout;\n\n_defineProperty(ReactGridLayout, \"displayName\", \"ReactGridLayout\");\n\n_defineProperty(ReactGridLayout, \"propTypes\", _ReactGridLayoutPropTypes.default);\n\n_defineProperty(ReactGridLayout, \"defaultProps\", {\n autoSize: true,\n cols: 12,\n className: \"\",\n style: {},\n draggableHandle: \"\",\n draggableCancel: \"\",\n containerPadding: null,\n rowHeight: 150,\n maxRows: Infinity,\n // infinite vertical growth\n layout: [],\n margin: [10, 10],\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n allowOverlap: false,\n isDroppable: false,\n useCSSTransforms: true,\n transformScale: 1,\n verticalCompact: true,\n compactType: \"vertical\",\n preventCollision: false,\n droppingItem: {\n i: \"__dropping-elem__\",\n h: 1,\n w: 1\n },\n resizeHandles: [\"se\"],\n onLayoutChange: _utils.noop,\n onDragStart: _utils.noop,\n onDrag: _utils.noop,\n onDragStop: _utils.noop,\n onResizeStart: _utils.noop,\n onResize: _utils.noop,\n onResizeStop: _utils.noop,\n onDrop: _utils.noop,\n onDropDragOver: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resizeHandleType = exports.resizeHandleAxesType = exports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Defines which resize handles should be rendered (default: 'se')\n// Allows for any combination of:\n// 's' - South handle (bottom-center)\n// 'w' - West handle (left-center)\n// 'e' - East handle (right-center)\n// 'n' - North handle (top-center)\n// 'sw' - Southwest handle (bottom-left)\n// 'nw' - Northwest handle (top-left)\n// 'se' - Southeast handle (bottom-right)\n// 'ne' - Northeast handle (top-right)\nvar resizeHandleAxesType\n/*: ReactPropsChainableTypeChecker*/\n= _propTypes.default.arrayOf(_propTypes.default.oneOf([\"s\", \"w\", \"e\", \"n\", \"sw\", \"nw\", \"se\", \"ne\"])); // Custom component for resize handles\n\n\nexports.resizeHandleAxesType = resizeHandleAxesType;\n\nvar resizeHandleType\n/*: ReactPropsChainableTypeChecker*/\n= _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]);\n/*:: export type Props = {|\n className: string,\n style: Object,\n width: number,\n autoSize: boolean,\n cols: number,\n draggableCancel: string,\n draggableHandle: string,\n verticalCompact: boolean,\n compactType: CompactType,\n layout: Layout,\n margin: [number, number],\n containerPadding: ?[number, number],\n rowHeight: number,\n maxRows: number,\n isBounded: boolean,\n isDraggable: boolean,\n isResizable: boolean,\n isDroppable: boolean,\n preventCollision: boolean,\n useCSSTransforms: boolean,\n transformScale: number,\n droppingItem: $Shape,\n resizeHandles: ResizeHandleAxis[],\n resizeHandle?: ResizeHandle,\n allowOverlap: boolean,\n\n // Callbacks\n onLayoutChange: Layout => void,\n onDrag: EventCallback,\n onDragStart: EventCallback,\n onDragStop: EventCallback,\n onResize: EventCallback,\n onResizeStart: EventCallback,\n onResizeStop: EventCallback,\n onDropDragOver: (e: DragOverEvent) => ?({| w?: number, h?: number |} | false),\n onDrop: (layout: Layout, item: ?LayoutItem, e: Event) => void,\n children: ReactChildrenArray>,\n innerRef?: Ref<\"div\">\n|};*/\n\n/*:: export type DefaultProps = $Diff<\n Props,\n {\n children: ReactChildrenArray>,\n width: number\n }\n>;*/\n\n\nexports.resizeHandleType = resizeHandleType;\nvar _default = {\n //\n // Basic props\n //\n className: _propTypes.default.string,\n style: _propTypes.default.object,\n // This can be set explicitly. If it is not set, it will automatically\n // be set to the container width. Note that resizes will *not* cause this to adjust.\n // If you need that behavior, use WidthProvider.\n width: _propTypes.default.number,\n // If true, the container height swells and contracts to fit contents\n autoSize: _propTypes.default.bool,\n // # of cols.\n cols: _propTypes.default.number,\n // A selector that will not be draggable.\n draggableCancel: _propTypes.default.string,\n // A selector for the draggable handler\n draggableHandle: _propTypes.default.string,\n // Deprecated\n verticalCompact: function verticalCompact(props\n /*: Props*/\n ) {\n if (props.verticalCompact === false && process.env.NODE_ENV !== \"production\") {\n console.warn( // eslint-disable-line no-console\n \"`verticalCompact` on is deprecated and will be removed soon. \" + 'Use `compactType`: \"horizontal\" | \"vertical\" | null.');\n }\n },\n // Choose vertical or hotizontal compaction\n compactType: (_propTypes.default.oneOf([\"vertical\", \"horizontal\"])\n /*: ReactPropsChainableTypeChecker*/\n ),\n // layout is an array of object with the format:\n // {x: Number, y: Number, w: Number, h: Number, i: String}\n layout: function layout(props\n /*: Props*/\n ) {\n var layout = props.layout; // I hope you're setting the data-grid property on the grid items\n\n if (layout === undefined) return;\n\n require(\"./utils\").validateLayout(layout, \"layout\");\n },\n //\n // Grid Dimensions\n //\n // Margin between items [x, y] in px\n margin: (_propTypes.default.arrayOf(_propTypes.default.number)\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Padding inside the container [x, y] in px\n containerPadding: (_propTypes.default.arrayOf(_propTypes.default.number)\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Rows have a static height, but you can change this based on breakpoints if you like\n rowHeight: _propTypes.default.number,\n // Default Infinity, but you can specify a max here if you like.\n // Note that this isn't fully fleshed out and won't error if you specify a layout that\n // extends beyond the row capacity. It will, however, not allow users to drag/resize\n // an item past the barrier. They can push items beyond the barrier, though.\n // Intentionally not documented for this reason.\n maxRows: _propTypes.default.number,\n //\n // Flags\n //\n isBounded: _propTypes.default.bool,\n isDraggable: _propTypes.default.bool,\n isResizable: _propTypes.default.bool,\n // If true, grid can be placed one over the other.\n allowOverlap: _propTypes.default.bool,\n // If true, grid items won't change position when being dragged over.\n preventCollision: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool,\n // parent layout transform scale\n transformScale: _propTypes.default.number,\n // If true, an external element can trigger onDrop callback with a specific grid position as a parameter\n isDroppable: _propTypes.default.bool,\n // Resize handle options\n resizeHandles: resizeHandleAxesType,\n resizeHandle: resizeHandleType,\n //\n // Callbacks\n //\n // Callback so you can save the layout. Calls after each drag & resize stops.\n onLayoutChange: _propTypes.default.func,\n // Calls when drag starts. Callback is of the signature (layout, oldItem, newItem, placeholder, e, ?node).\n // All callbacks below have the same signature. 'start' and 'stop' callbacks omit the 'placeholder'.\n onDragStart: _propTypes.default.func,\n // Calls on each drag movement.\n onDrag: _propTypes.default.func,\n // Calls when drag is complete.\n onDragStop: _propTypes.default.func,\n //Calls when resize starts.\n onResizeStart: _propTypes.default.func,\n // Calls when resize movement happens.\n onResize: _propTypes.default.func,\n // Calls when resize is complete.\n onResizeStop: _propTypes.default.func,\n // Calls when some element is dropped.\n onDrop: _propTypes.default.func,\n //\n // Other validations\n //\n droppingItem: (_propTypes.default.shape({\n i: _propTypes.default.string.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired\n })\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Children must not have duplicate keys.\n children: function children(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var children = props[propName]; // Check children keys for duplicates. Throw if found.\n\n var keys = {};\n\n _react.default.Children.forEach(children, function (child) {\n if ((child === null || child === void 0 ? void 0 : child.key) == null) return;\n\n if (keys[child.key]) {\n throw new Error('Duplicate child key \"' + child.key + '\" found! This will cause problems in ReactGridLayout.');\n }\n\n keys[child.key] = true;\n });\n },\n // Optional ref for getting a reference for the wrapping div.\n innerRef: _propTypes.default.any\n};\nexports.default = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _utils = require(\"./utils\");\n\nvar _responsiveUtils = require(\"./responsiveUtils\");\n\nvar _ReactGridLayout = _interopRequireDefault(require(\"./ReactGridLayout\"));\n\nvar _excluded = [\"breakpoint\", \"breakpoints\", \"cols\", \"layouts\", \"margin\", \"containerPadding\", \"onBreakpointChange\", \"onLayoutChange\", \"onWidthChange\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// $FlowFixMe[method-unbinding]\nvar type = function type(obj) {\n return Object.prototype.toString.call(obj);\n};\n/**\n * Get a value of margin or containerPadding.\n *\n * @param {Array | Object} param Margin | containerPadding, e.g. [10, 10] | {lg: [10, 10], ...}.\n * @param {String} breakpoint Breakpoint: lg, md, sm, xs and etc.\n * @return {Array}\n */\n\n\nfunction getIndentationValue\n/*:: */\n(param\n/*: { [key: string]: T } | T*/\n, breakpoint\n/*: string*/\n)\n/*: T*/\n{\n // $FlowIgnore TODO fix this typedef\n if (param == null) return null; // $FlowIgnore TODO fix this typedef\n\n return Array.isArray(param) ? param : param[breakpoint];\n}\n/*:: type State = {\n layout: Layout,\n breakpoint: string,\n cols: number,\n layouts?: ResponsiveLayout\n};*/\n\n/*:: type Props = {|\n ...React.ElementConfig,\n\n // Responsive config\n breakpoint?: ?Breakpoint,\n breakpoints: Breakpoints,\n cols: { [key: Breakpoint]: number },\n layouts: ResponsiveLayout,\n width: number,\n margin: { [key: Breakpoint]: [number, number] } | [number, number],\n /* prettier-ignore *-/\n containerPadding: { [key: Breakpoint]: ?[number, number] } | ?[number, number],\n\n // Callbacks\n onBreakpointChange: (Breakpoint, cols: number) => void,\n onLayoutChange: OnLayoutChangeCallback,\n onWidthChange: (\n containerWidth: number,\n margin: [number, number],\n cols: number,\n containerPadding: ?[number, number]\n ) => void\n|};*/\n\n/*:: type DefaultProps = Pick<\n Props<>,\n {|\n allowOverlap: 0,\n breakpoints: 0,\n cols: 0,\n containerPadding: 0,\n layouts: 0,\n margin: 0,\n onBreakpointChange: 0,\n onLayoutChange: 0,\n onWidthChange: 0\n |}\n>;*/\n\n\nvar ResponsiveReactGridLayout = /*#__PURE__*/function (_React$Component) {\n _inherits(ResponsiveReactGridLayout, _React$Component);\n\n var _super = _createSuper(ResponsiveReactGridLayout);\n\n function ResponsiveReactGridLayout() {\n var _this;\n\n _classCallCheck(this, ResponsiveReactGridLayout);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", _this.generateInitialState());\n\n _defineProperty(_assertThisInitialized(_this), \"onLayoutChange\", function (layout\n /*: Layout*/\n ) {\n _this.props.onLayoutChange(layout, _objectSpread(_objectSpread({}, _this.props.layouts), {}, _defineProperty({}, _this.state.breakpoint, layout)));\n });\n\n return _this;\n }\n\n _createClass(ResponsiveReactGridLayout, [{\n key: \"generateInitialState\",\n value: function generateInitialState()\n /*: State*/\n {\n var _this$props = this.props,\n width = _this$props.width,\n breakpoints = _this$props.breakpoints,\n layouts = _this$props.layouts,\n cols = _this$props.cols;\n var breakpoint = (0, _responsiveUtils.getBreakpointFromWidth)(breakpoints, width);\n var colNo = (0, _responsiveUtils.getColsFromBreakpoint)(breakpoint, cols); // verticalCompact compatibility, now deprecated\n\n var compactType = this.props.verticalCompact === false ? null : this.props.compactType; // Get the initial layout. This can tricky; we try to generate one however possible if one doesn't exist\n // for this layout.\n\n var initialLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, breakpoint, breakpoint, colNo, compactType);\n return {\n layout: initialLayout,\n breakpoint: breakpoint,\n cols: colNo\n };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props<*>*/\n ) {\n // Allow parent to set width or breakpoint directly.\n if (this.props.width != prevProps.width || this.props.breakpoint !== prevProps.breakpoint || !(0, _lodash.default)(this.props.breakpoints, prevProps.breakpoints) || !(0, _lodash.default)(this.props.cols, prevProps.cols)) {\n this.onWidthChange(prevProps);\n }\n } // wrap layouts so we do not need to pass layouts to child\n\n }, {\n key: \"onWidthChange\",\n value:\n /**\n * When the width changes work through breakpoints and reset state with the new width & breakpoint.\n * Width changes are necessary to figure out the widget widths.\n */\n function onWidthChange(prevProps\n /*: Props<*>*/\n ) {\n var _this$props2 = this.props,\n breakpoints = _this$props2.breakpoints,\n cols = _this$props2.cols,\n layouts = _this$props2.layouts,\n compactType = _this$props2.compactType;\n var newBreakpoint = this.props.breakpoint || (0, _responsiveUtils.getBreakpointFromWidth)(this.props.breakpoints, this.props.width);\n var lastBreakpoint = this.state.breakpoint;\n var newCols\n /*: number*/\n = (0, _responsiveUtils.getColsFromBreakpoint)(newBreakpoint, cols);\n\n var newLayouts = _objectSpread({}, layouts); // Breakpoint change\n\n\n if (lastBreakpoint !== newBreakpoint || prevProps.breakpoints !== breakpoints || prevProps.cols !== cols) {\n // Preserve the current layout if the current breakpoint is not present in the next layouts.\n if (!(lastBreakpoint in newLayouts)) newLayouts[lastBreakpoint] = (0, _utils.cloneLayout)(this.state.layout); // Find or generate a new layout.\n\n var layout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(newLayouts, breakpoints, newBreakpoint, lastBreakpoint, newCols, compactType); // This adds missing items.\n\n layout = (0, _utils.synchronizeLayoutWithChildren)(layout, this.props.children, newCols, compactType, this.props.allowOverlap); // Store the new layout.\n\n newLayouts[newBreakpoint] = layout; // callbacks\n\n this.props.onLayoutChange(layout, newLayouts);\n this.props.onBreakpointChange(newBreakpoint, newCols);\n this.setState({\n breakpoint: newBreakpoint,\n layout: layout,\n cols: newCols\n });\n }\n\n var margin = getIndentationValue(this.props.margin, newBreakpoint);\n var containerPadding = getIndentationValue(this.props.containerPadding, newBreakpoint); //call onWidthChange on every change of width, not only on breakpoint changes\n\n this.props.onWidthChange(this.props.width, margin, newCols, containerPadding);\n }\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element*/\n {\n /* eslint-disable no-unused-vars */\n var _this$props3 = this.props,\n breakpoint = _this$props3.breakpoint,\n breakpoints = _this$props3.breakpoints,\n cols = _this$props3.cols,\n layouts = _this$props3.layouts,\n margin = _this$props3.margin,\n containerPadding = _this$props3.containerPadding,\n onBreakpointChange = _this$props3.onBreakpointChange,\n onLayoutChange = _this$props3.onLayoutChange,\n onWidthChange = _this$props3.onWidthChange,\n other = _objectWithoutProperties(_this$props3, _excluded);\n /* eslint-enable no-unused-vars */\n\n\n return /*#__PURE__*/React.createElement(_ReactGridLayout.default, _extends({}, other, {\n // $FlowIgnore should allow nullable here due to DefaultProps\n margin: getIndentationValue(margin, this.state.breakpoint),\n containerPadding: getIndentationValue(containerPadding, this.state.breakpoint),\n onLayoutChange: this.onLayoutChange,\n layout: this.state.layout,\n cols: this.state.cols\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps\n /*: Props<*>*/\n , prevState\n /*: State*/\n )\n /*: ?$Shape*/\n {\n if (!(0, _lodash.default)(nextProps.layouts, prevState.layouts)) {\n // Allow parent to set layouts directly.\n var breakpoint = prevState.breakpoint,\n _cols = prevState.cols; // Since we're setting an entirely new layout object, we must generate a new responsive layout\n // if one does not exist.\n\n var newLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(nextProps.layouts, nextProps.breakpoints, breakpoint, breakpoint, _cols, nextProps.compactType);\n return {\n layout: newLayout,\n layouts: nextProps.layouts\n };\n }\n\n return null;\n }\n }]);\n\n return ResponsiveReactGridLayout;\n}(React.Component);\n\nexports.default = ResponsiveReactGridLayout;\n\n_defineProperty(ResponsiveReactGridLayout, \"propTypes\", {\n //\n // Basic props\n //\n // Optional, but if you are managing width yourself you may want to set the breakpoint\n // yourself as well.\n breakpoint: _propTypes.default.string,\n // {name: pxVal}, e.g. {lg: 1200, md: 996, sm: 768, xs: 480}\n breakpoints: _propTypes.default.object,\n allowOverlap: _propTypes.default.bool,\n // # of cols. This is a breakpoint -> cols map\n cols: _propTypes.default.object,\n // # of margin. This is a breakpoint -> margin map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Margin between items [x, y] in px\n // e.g. [10, 10]\n margin: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // # of containerPadding. This is a breakpoint -> containerPadding map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Padding inside the container [x, y] in px\n // e.g. [10, 10]\n containerPadding: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // layouts is an object mapping breakpoints to layouts.\n // e.g. {lg: Layout, md: Layout, ...}\n layouts: function layouts(props\n /*: Props<>*/\n , propName\n /*: string*/\n ) {\n if (type(props[propName]) !== \"[object Object]\") {\n throw new Error(\"Layout property must be an object. Received: \" + type(props[propName]));\n }\n\n Object.keys(props[propName]).forEach(function (key) {\n if (!(key in props.breakpoints)) {\n throw new Error(\"Each key in layouts must align with a key in breakpoints.\");\n }\n\n (0, _utils.validateLayout)(props.layouts[key], \"layouts.\" + key);\n });\n },\n // The width of this component.\n // Required in this propTypes stanza because generateInitialState() will fail without it.\n width: _propTypes.default.number.isRequired,\n //\n // Callbacks\n //\n // Calls back with breakpoint and new # cols\n onBreakpointChange: _propTypes.default.func,\n // Callback so you can save the layout.\n // Calls back with (currentLayout, allLayouts). allLayouts are keyed by breakpoint.\n onLayoutChange: _propTypes.default.func,\n // Calls back with (containerWidth, margin, cols, containerPadding)\n onWidthChange: _propTypes.default.func\n});\n\n_defineProperty(ResponsiveReactGridLayout, \"defaultProps\", {\n breakpoints: {\n lg: 1200,\n md: 996,\n sm: 768,\n xs: 480,\n xxs: 0\n },\n cols: {\n lg: 12,\n md: 10,\n sm: 6,\n xs: 4,\n xxs: 2\n },\n containerPadding: {\n lg: null,\n md: null,\n sm: null,\n xs: null,\n xxs: null\n },\n layouts: {},\n margin: [10, 10],\n allowOverlap: false,\n onBreakpointChange: _utils.noop,\n onLayoutChange: _utils.noop,\n onWidthChange: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calcGridColWidth = calcGridColWidth;\nexports.calcGridItemPosition = calcGridItemPosition;\nexports.calcGridItemWHPx = calcGridItemWHPx;\nexports.calcWH = calcWH;\nexports.calcXY = calcXY;\nexports.clamp = clamp;\n\n/*:: import type { Position } from \"./utils\";*/\n\n/*:: export type PositionParams = {\n margin: [number, number],\n containerPadding: [number, number],\n containerWidth: number,\n cols: number,\n rowHeight: number,\n maxRows: number\n};*/\n// Helper for generating column width\nfunction calcGridColWidth(positionParams\n/*: PositionParams*/\n)\n/*: number*/\n{\n var margin = positionParams.margin,\n containerPadding = positionParams.containerPadding,\n containerWidth = positionParams.containerWidth,\n cols = positionParams.cols;\n return (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols;\n} // This can either be called:\n// calcGridItemWHPx(w, colWidth, margin[0])\n// or\n// calcGridItemWHPx(h, rowHeight, margin[1])\n\n\nfunction calcGridItemWHPx(gridUnits\n/*: number*/\n, colOrRowSize\n/*: number*/\n, marginPx\n/*: number*/\n)\n/*: number*/\n{\n // 0 * Infinity === NaN, which causes problems with resize contraints\n if (!Number.isFinite(gridUnits)) return gridUnits;\n return Math.round(colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx);\n}\n/**\n * Return position on the page given an x, y, w, h.\n * left, top, width, height are all in pixels.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Position} Object containing coords.\n */\n\n\nfunction calcGridItemPosition(positionParams\n/*: PositionParams*/\n, x\n/*: number*/\n, y\n/*: number*/\n, w\n/*: number*/\n, h\n/*: number*/\n, state\n/*: ?Object*/\n)\n/*: Position*/\n{\n var margin = positionParams.margin,\n containerPadding = positionParams.containerPadding,\n rowHeight = positionParams.rowHeight;\n var colWidth = calcGridColWidth(positionParams);\n var out = {}; // If resizing, use the exact width and height as returned from resizing callbacks.\n\n if (state && state.resizing) {\n out.width = Math.round(state.resizing.width);\n out.height = Math.round(state.resizing.height);\n } // Otherwise, calculate from grid units.\n else {\n out.width = calcGridItemWHPx(w, colWidth, margin[0]);\n out.height = calcGridItemWHPx(h, rowHeight, margin[1]);\n } // If dragging, use the exact width and height as returned from dragging callbacks.\n\n\n if (state && state.dragging) {\n out.top = Math.round(state.dragging.top);\n out.left = Math.round(state.dragging.left);\n } // Otherwise, calculate from grid units.\n else {\n out.top = Math.round((rowHeight + margin[1]) * y + containerPadding[1]);\n out.left = Math.round((colWidth + margin[0]) * x + containerPadding[0]);\n }\n\n return out;\n}\n/**\n * Translate x and y coordinates from pixels to grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} top Top position (relative to parent) in pixels.\n * @param {Number} left Left position (relative to parent) in pixels.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Object} x and y in grid units.\n */\n\n\nfunction calcXY(positionParams\n/*: PositionParams*/\n, top\n/*: number*/\n, left\n/*: number*/\n, w\n/*: number*/\n, h\n/*: number*/\n)\n/*: { x: number, y: number }*/\n{\n var margin = positionParams.margin,\n cols = positionParams.cols,\n rowHeight = positionParams.rowHeight,\n maxRows = positionParams.maxRows;\n var colWidth = calcGridColWidth(positionParams); // left = colWidth * x + margin * (x + 1)\n // l = cx + m(x+1)\n // l = cx + mx + m\n // l - m = cx + mx\n // l - m = x(c + m)\n // (l - m) / (c + m) = x\n // x = (left - margin) / (coldWidth + margin)\n\n var x = Math.round((left - margin[0]) / (colWidth + margin[0]));\n var y = Math.round((top - margin[1]) / (rowHeight + margin[1])); // Capping\n\n x = clamp(x, 0, cols - w);\n y = clamp(y, 0, maxRows - h);\n return {\n x: x,\n y: y\n };\n}\n/**\n * Given a height and width in pixel values, calculate grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calcluations.\n * @param {Number} height Height in pixels.\n * @param {Number} width Width in pixels.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @return {Object} w, h as grid units.\n */\n\n\nfunction calcWH(positionParams\n/*: PositionParams*/\n, width\n/*: number*/\n, height\n/*: number*/\n, x\n/*: number*/\n, y\n/*: number*/\n)\n/*: { w: number, h: number }*/\n{\n var margin = positionParams.margin,\n maxRows = positionParams.maxRows,\n cols = positionParams.cols,\n rowHeight = positionParams.rowHeight;\n var colWidth = calcGridColWidth(positionParams); // width = colWidth * w - (margin * (w - 1))\n // ...\n // w = (width + margin) / (colWidth + margin)\n\n var w = Math.round((width + margin[0]) / (colWidth + margin[0]));\n var h = Math.round((height + margin[1]) / (rowHeight + margin[1])); // Capping\n\n w = clamp(w, 0, cols - x);\n h = clamp(h, 0, maxRows - y);\n return {\n w: w,\n h: h\n };\n} // Similar to _.clamp\n\n\nfunction clamp(num\n/*: number*/\n, lowerBound\n/*: number*/\n, upperBound\n/*: number*/\n)\n/*: number*/\n{\n return Math.max(Math.min(num, upperBound), lowerBound);\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = WidthProvideRGL;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _excluded = [\"measureBeforeMount\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar layoutClassName = \"react-grid-layout\";\n/*\n * A simple HOC that provides facility for listening to container resizes.\n *\n * The Flow type is pretty janky here. I can't just spread `WPProps` into this returned object - I wish I could - but it triggers\n * a flow bug of some sort that causes it to stop typechecking.\n */\n\nfunction WidthProvideRGL\n/*:: */\n(ComposedComponent\n/*: React.AbstractComponent*/\n)\n/*: React.AbstractComponent>*/\n{\n var _class;\n\n return _class = /*#__PURE__*/function (_React$Component) {\n _inherits(WidthProvider, _React$Component);\n\n var _super = _createSuper(WidthProvider);\n\n function WidthProvider() {\n var _this;\n\n _classCallCheck(this, WidthProvider);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n width: 1280\n });\n\n _defineProperty(_assertThisInitialized(_this), \"elementRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResize\", function () {\n if (!_this.mounted) return;\n var node = _this.elementRef.current; // Flow casts this to Text | Element\n // fix: grid position error when node or parentNode display is none by window resize\n // #924 #1084\n\n if (node instanceof HTMLElement && node.offsetWidth) {\n _this.setState({\n width: node.offsetWidth\n });\n }\n });\n\n return _this;\n }\n\n _createClass(WidthProvider, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n window.addEventListener(\"resize\", this.onWindowResize); // Call to properly set the breakpoint and resize the elements.\n // Note that if you're doing a full-width element, this can get a little wonky if a scrollbar\n // appears because of the grid. In that case, fire your own resize event, or set `overflow: scroll` on your body.\n\n this.onWindowResize();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n window.removeEventListener(\"resize\", this.onWindowResize);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n measureBeforeMount = _this$props.measureBeforeMount,\n rest = _objectWithoutProperties(_this$props, _excluded);\n\n if (measureBeforeMount && !this.mounted) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: (0, _clsx.default)(this.props.className, layoutClassName),\n style: this.props.style // $FlowIgnore ref types\n ,\n ref: this.elementRef\n });\n }\n\n return /*#__PURE__*/React.createElement(ComposedComponent, _extends({\n innerRef: this.elementRef\n }, rest, this.state));\n }\n }]);\n\n return WidthProvider;\n }(React.Component), _defineProperty(_class, \"defaultProps\", {\n measureBeforeMount: false\n }), _defineProperty(_class, \"propTypes\", {\n // If true, will not render children until mounted. Useful for getting the exact width before\n // rendering, to prevent any unsightly resizing.\n measureBeforeMount: _propTypes.default.bool\n }), _class;\n}","// this file was prevaled\nmodule.exports = function fastRGLPropsEqual(a, b, isEqualImpl) {\n if (a === b) return true;\n return a.className === b.className && isEqualImpl(a.style, b.style) && a.width === b.width && a.autoSize === b.autoSize && a.cols === b.cols && a.draggableCancel === b.draggableCancel && a.draggableHandle === b.draggableHandle && isEqualImpl(a.verticalCompact, b.verticalCompact) && isEqualImpl(a.compactType, b.compactType) && isEqualImpl(a.layout, b.layout) && isEqualImpl(a.margin, b.margin) && isEqualImpl(a.containerPadding, b.containerPadding) && a.rowHeight === b.rowHeight && a.maxRows === b.maxRows && a.isBounded === b.isBounded && a.isDraggable === b.isDraggable && a.isResizable === b.isResizable && a.allowOverlap === b.allowOverlap && a.preventCollision === b.preventCollision && a.useCSSTransforms === b.useCSSTransforms && a.transformScale === b.transformScale && a.isDroppable === b.isDroppable && isEqualImpl(a.resizeHandles, b.resizeHandles) && isEqualImpl(a.resizeHandle, b.resizeHandle) && a.onLayoutChange === b.onLayoutChange && a.onDragStart === b.onDragStart && a.onDrag === b.onDrag && a.onDragStop === b.onDragStop && a.onResizeStart === b.onResizeStart && a.onResize === b.onResize && a.onResizeStop === b.onResizeStop && a.onDrop === b.onDrop && isEqualImpl(a.droppingItem, b.droppingItem) && isEqualImpl(a.innerRef, b.innerRef);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;\nexports.getBreakpointFromWidth = getBreakpointFromWidth;\nexports.getColsFromBreakpoint = getColsFromBreakpoint;\nexports.sortBreakpoints = sortBreakpoints;\n\nvar _utils = require(\"./utils\");\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nfunction getBreakpointFromWidth(breakpoints\n/*: Breakpoints*/\n, width\n/*: number*/\n)\n/*: Breakpoint*/\n{\n var sorted = sortBreakpoints(breakpoints);\n var matching = sorted[0];\n\n for (var i = 1, len = sorted.length; i < len; i++) {\n var breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n\n return matching;\n}\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\n\n\nfunction getColsFromBreakpoint(breakpoint\n/*: Breakpoint*/\n, cols\n/*: Breakpoints*/\n)\n/*: number*/\n{\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveReactGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n\n return cols[breakpoint];\n}\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\n\n\nfunction findOrGenerateResponsiveLayout(layouts\n/*: ResponsiveLayout*/\n, breakpoints\n/*: Breakpoints*/\n, breakpoint\n/*: Breakpoint*/\n, lastBreakpoint\n/*: Breakpoint*/\n, cols\n/*: number*/\n, compactType\n/*: CompactType*/\n)\n/*: Layout*/\n{\n // If it already exists, just return it.\n if (layouts[breakpoint]) return (0, _utils.cloneLayout)(layouts[breakpoint]); // Find or generate the next layout\n\n var layout = layouts[lastBreakpoint];\n var breakpointsSorted = sortBreakpoints(breakpoints);\n var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n\n for (var i = 0, len = breakpointsAbove.length; i < len; i++) {\n var b = breakpointsAbove[i];\n\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n\n layout = (0, _utils.cloneLayout)(layout || []); // clone layout so we don't modify existing items\n\n return (0, _utils.compact)((0, _utils.correctBounds)(layout, {\n cols: cols\n }), compactType, cols);\n}\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\n\n\nfunction sortBreakpoints(breakpoints\n/*: Breakpoints*/\n)\n/*: Array*/\n{\n var keys\n /*: Array*/\n = Object.keys(breakpoints);\n return keys.sort(function (a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bottom = bottom;\nexports.childrenEqual = childrenEqual;\nexports.cloneLayout = cloneLayout;\nexports.cloneLayoutItem = cloneLayoutItem;\nexports.collides = collides;\nexports.compact = compact;\nexports.compactItem = compactItem;\nexports.compactType = compactType;\nexports.correctBounds = correctBounds;\nexports.fastPositionEqual = fastPositionEqual;\nexports.fastRGLPropsEqual = void 0;\nexports.getAllCollisions = getAllCollisions;\nexports.getFirstCollision = getFirstCollision;\nexports.getLayoutItem = getLayoutItem;\nexports.getStatics = getStatics;\nexports.modifyLayout = modifyLayout;\nexports.moveElement = moveElement;\nexports.moveElementAwayFromCollision = moveElementAwayFromCollision;\nexports.noop = void 0;\nexports.perc = perc;\nexports.setTopLeft = setTopLeft;\nexports.setTransform = setTransform;\nexports.sortLayoutItems = sortLayoutItems;\nexports.sortLayoutItemsByColRow = sortLayoutItemsByColRow;\nexports.sortLayoutItemsByRowCol = sortLayoutItemsByRowCol;\nexports.synchronizeLayoutWithChildren = synchronizeLayoutWithChildren;\nexports.validateLayout = validateLayout;\nexports.withLayoutItem = withLayoutItem;\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar isProduction = process.env.NODE_ENV === \"production\";\nvar DEBUG = false;\n/**\n * Return the bottom coordinate of the layout.\n *\n * @param {Array} layout Layout array.\n * @return {Number} Bottom coordinate.\n */\n\nfunction bottom(layout\n/*: Layout*/\n)\n/*: number*/\n{\n var max = 0,\n bottomY;\n\n for (var i = 0, len = layout.length; i < len; i++) {\n bottomY = layout[i].y + layout[i].h;\n if (bottomY > max) max = bottomY;\n }\n\n return max;\n}\n\nfunction cloneLayout(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n var newLayout = Array(layout.length);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n newLayout[i] = cloneLayoutItem(layout[i]);\n }\n\n return newLayout;\n} // Modify a layoutItem inside a layout. Returns a new Layout,\n// does not mutate. Carries over all other LayoutItems unmodified.\n\n\nfunction modifyLayout(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: Layout*/\n{\n var newLayout = Array(layout.length);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n if (layoutItem.i === layout[i].i) {\n newLayout[i] = layoutItem;\n } else {\n newLayout[i] = layout[i];\n }\n }\n\n return newLayout;\n} // Function to be called to modify a layout item.\n// Does defensive clones to ensure the layout is not modified.\n\n\nfunction withLayoutItem(layout\n/*: Layout*/\n, itemKey\n/*: string*/\n, cb\n/*: LayoutItem => LayoutItem*/\n)\n/*: [Layout, ?LayoutItem]*/\n{\n var item = getLayoutItem(layout, itemKey);\n if (!item) return [layout, null];\n item = cb(cloneLayoutItem(item)); // defensive clone then modify\n // FIXME could do this faster if we already knew the index\n\n layout = modifyLayout(layout, item);\n return [layout, item];\n} // Fast path to cloning, since this is monomorphic\n\n\nfunction cloneLayoutItem(layoutItem\n/*: LayoutItem*/\n)\n/*: LayoutItem*/\n{\n return {\n w: layoutItem.w,\n h: layoutItem.h,\n x: layoutItem.x,\n y: layoutItem.y,\n i: layoutItem.i,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n // These can be null/undefined\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable,\n resizeHandles: layoutItem.resizeHandles,\n isBounded: layoutItem.isBounded\n };\n}\n/**\n * Comparing React `children` is a bit difficult. This is a good way to compare them.\n * This will catch differences in keys, order, and length.\n */\n\n\nfunction childrenEqual(a\n/*: ReactChildren*/\n, b\n/*: ReactChildren*/\n)\n/*: boolean*/\n{\n return (0, _lodash.default)(_react.default.Children.map(a, function (c) {\n return c === null || c === void 0 ? void 0 : c.key;\n }), _react.default.Children.map(b, function (c) {\n return c === null || c === void 0 ? void 0 : c.key;\n }));\n}\n/**\n * See `fastRGLPropsEqual.js`.\n * We want this to run as fast as possible - it is called often - and to be\n * resilient to new props that we add. So rather than call lodash.isEqual,\n * which isn't suited to comparing props very well, we use this specialized\n * function in conjunction with preval to generate the fastest possible comparison\n * function, tuned for exactly our props.\n */\n\n/*:: type FastRGLPropsEqual = (Object, Object, Function) => boolean;*/\n\n\nvar fastRGLPropsEqual\n/*: FastRGLPropsEqual*/\n= require(\"./fastRGLPropsEqual\"); // Like the above, but a lot simpler.\n\n\nexports.fastRGLPropsEqual = fastRGLPropsEqual;\n\nfunction fastPositionEqual(a\n/*: Position*/\n, b\n/*: Position*/\n)\n/*: boolean*/\n{\n return a.left === b.left && a.top === b.top && a.width === b.width && a.height === b.height;\n}\n/**\n * Given two layoutitems, check if they collide.\n */\n\n\nfunction collides(l1\n/*: LayoutItem*/\n, l2\n/*: LayoutItem*/\n)\n/*: boolean*/\n{\n if (l1.i === l2.i) return false; // same element\n\n if (l1.x + l1.w <= l2.x) return false; // l1 is left of l2\n\n if (l1.x >= l2.x + l2.w) return false; // l1 is right of l2\n\n if (l1.y + l1.h <= l2.y) return false; // l1 is above l2\n\n if (l1.y >= l2.y + l2.h) return false; // l1 is below l2\n\n return true; // boxes overlap\n}\n/**\n * Given a layout, compact it. This involves going down each y coordinate and removing gaps\n * between items.\n *\n * Does not modify layout items (clones). Creates a new layout array.\n *\n * @param {Array} layout Layout.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} Compacted Layout.\n */\n\n\nfunction compact(layout\n/*: Layout*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n)\n/*: Layout*/\n{\n // Statics go in the compareWith array right away so items flow around them.\n var compareWith = getStatics(layout); // We go through the items by row and column.\n\n var sorted = sortLayoutItems(layout, compactType); // Holding for new items.\n\n var out = Array(layout.length);\n\n for (var i = 0, len = sorted.length; i < len; i++) {\n var l = cloneLayoutItem(sorted[i]); // Don't move static elements\n\n if (!l.static) {\n l = compactItem(compareWith, l, compactType, cols, sorted); // Add to comparison array. We only collide with items before this one.\n // Statics are already in this array.\n\n compareWith.push(l);\n } // Add to output array to make sure they still come out in the right order.\n\n\n out[layout.indexOf(sorted[i])] = l; // Clear moved flag, if it exists.\n\n l.moved = false;\n }\n\n return out;\n}\n\nvar heightWidth = {\n x: \"w\",\n y: \"h\"\n};\n/**\n * Before moving item down, it will check if the movement will cause collisions and move those items down before.\n */\n\nfunction resolveCompactionCollision(layout\n/*: Layout*/\n, item\n/*: LayoutItem*/\n, moveToCoord\n/*: number*/\n, axis\n/*: \"x\" | \"y\"*/\n) {\n var sizeProp = heightWidth[axis];\n item[axis] += 1;\n var itemIndex = layout.map(function (layoutItem) {\n return layoutItem.i;\n }).indexOf(item.i); // Go through each item we collide with.\n\n for (var i = itemIndex + 1; i < layout.length; i++) {\n var otherItem = layout[i]; // Ignore static items\n\n if (otherItem.static) continue; // Optimization: we can break early if we know we're past this el\n // We can do this b/c it's a sorted layout\n\n if (otherItem.y > item.y + item.h) break;\n\n if (collides(item, otherItem)) {\n resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis);\n }\n }\n\n item[axis] = moveToCoord;\n}\n/**\n * Compact an item in the layout.\n *\n * Modifies item.\n *\n */\n\n\nfunction compactItem(compareWith\n/*: Layout*/\n, l\n/*: LayoutItem*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n, fullLayout\n/*: Layout*/\n)\n/*: LayoutItem*/\n{\n var compactV = compactType === \"vertical\";\n var compactH = compactType === \"horizontal\";\n\n if (compactV) {\n // Bottom 'y' possible is the bottom of the layout.\n // This allows you to do nice stuff like specify {y: Infinity}\n // This is here because the layout must be sorted in order to get the correct bottom `y`.\n l.y = Math.min(bottom(compareWith), l.y); // Move the element up as far as it can go without colliding.\n\n while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n l.y--;\n }\n } else if (compactH) {\n // Move the element left as far as it can go without colliding.\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n } // Move it down, and keep moving it down if it's colliding.\n\n\n var collides;\n\n while (collides = getFirstCollision(compareWith, l)) {\n if (compactH) {\n resolveCompactionCollision(fullLayout, l, collides.x + collides.w, \"x\");\n } else {\n resolveCompactionCollision(fullLayout, l, collides.y + collides.h, \"y\");\n } // Since we can't grow without bounds horizontally, if we've overflown, let's move it down and try again.\n\n\n if (compactH && l.x + l.w > cols) {\n l.x = cols - l.w;\n l.y++;\n }\n } // Ensure that there are no negative positions\n\n\n l.y = Math.max(l.y, 0);\n l.x = Math.max(l.x, 0);\n return l;\n}\n/**\n * Given a layout, make sure all elements fit within its bounds.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Layout array.\n * @param {Number} bounds Number of columns.\n */\n\n\nfunction correctBounds(layout\n/*: Layout*/\n, bounds\n/*: { cols: number }*/\n)\n/*: Layout*/\n{\n var collidesWith = getStatics(layout);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n var l = layout[i]; // Overflows right\n\n if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w; // Overflows left\n\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n\n if (!l.static) collidesWith.push(l);else {\n // If this is static and collides with other statics, we must move it down.\n // We have to do something nicer than just letting them overlap.\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n\n return layout;\n}\n/**\n * Get a layout item by ID. Used so we can override later on if necessary.\n *\n * @param {Array} layout Layout array.\n * @param {String} id ID\n * @return {LayoutItem} Item at ID.\n */\n\n\nfunction getLayoutItem(layout\n/*: Layout*/\n, id\n/*: string*/\n)\n/*: ?LayoutItem*/\n{\n for (var i = 0, len = layout.length; i < len; i++) {\n if (layout[i].i === id) return layout[i];\n }\n}\n/**\n * Returns the first item this layout collides with.\n * It doesn't appear to matter which order we approach this from, although\n * perhaps that is the wrong thing to do.\n *\n * @param {Object} layoutItem Layout item.\n * @return {Object|undefined} A colliding layout item, or undefined.\n */\n\n\nfunction getFirstCollision(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: ?LayoutItem*/\n{\n for (var i = 0, len = layout.length; i < len; i++) {\n if (collides(layout[i], layoutItem)) return layout[i];\n }\n}\n\nfunction getAllCollisions(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: Array*/\n{\n return layout.filter(function (l) {\n return collides(l, layoutItem);\n });\n}\n/**\n * Get all static elements.\n * @param {Array} layout Array of layout objects.\n * @return {Array} Array of static layout items..\n */\n\n\nfunction getStatics(layout\n/*: Layout*/\n)\n/*: Array*/\n{\n return layout.filter(function (l) {\n return l.static;\n });\n}\n/**\n * Move an element. Responsible for doing cascading movements of other elements.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} l element to move.\n * @param {Number} [x] X position in grid units.\n * @param {Number} [y] Y position in grid units.\n */\n\n\nfunction moveElement(layout\n/*: Layout*/\n, l\n/*: LayoutItem*/\n, x\n/*: ?number*/\n, y\n/*: ?number*/\n, isUserAction\n/*: ?boolean*/\n, preventCollision\n/*: ?boolean*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n, allowOverlap\n/*: ?boolean*/\n)\n/*: Layout*/\n{\n // If this is static and not explicitly enabled as draggable,\n // no move is possible, so we can short-circuit this immediately.\n if (l.static && l.isDraggable !== true) return layout; // Short-circuit if nothing to do.\n\n if (l.y === y && l.x === x) return layout;\n log(\"Moving element \".concat(l.i, \" to [\").concat(String(x), \",\").concat(String(y), \"] from [\").concat(l.x, \",\").concat(l.y, \"]\"));\n var oldX = l.x;\n var oldY = l.y; // This is quite a bit faster than extending the object\n\n if (typeof x === \"number\") l.x = x;\n if (typeof y === \"number\") l.y = y;\n l.moved = true; // If this collides with anything, move it.\n // When doing this comparison, we have to sort the items we compare with\n // to ensure, in the case of multiple collisions, that we're getting the\n // nearest collision.\n\n var sorted = sortLayoutItems(layout, compactType);\n var movingUp = compactType === \"vertical\" && typeof y === \"number\" ? oldY >= y : compactType === \"horizontal\" && typeof x === \"number\" ? oldX >= x : false; // $FlowIgnore acceptable modification of read-only array as it was recently cloned\n\n if (movingUp) sorted = sorted.reverse();\n var collisions = getAllCollisions(sorted, l);\n var hasCollisions = collisions.length > 0; // We may have collisions. We can short-circuit if we've turned off collisions or\n // allowed overlap.\n\n if (hasCollisions && allowOverlap) {\n // Easy, we don't need to resolve collisions. But we *did* change the layout,\n // so clone it on the way out.\n return cloneLayout(layout);\n } else if (hasCollisions && preventCollision) {\n // If we are preventing collision but not allowing overlap, we need to\n // revert the position of this element so it goes to where it came from, rather\n // than the user's desired location.\n log(\"Collision prevented on \".concat(l.i, \", reverting.\"));\n l.x = oldX;\n l.y = oldY;\n l.moved = false;\n return layout; // did not change so don't clone\n } // Move each item that collides away from this element.\n\n\n for (var i = 0, len = collisions.length; i < len; i++) {\n var collision = collisions[i];\n log(\"Resolving collision between \".concat(l.i, \" at [\").concat(l.x, \",\").concat(l.y, \"] and \").concat(collision.i, \" at [\").concat(collision.x, \",\").concat(collision.y, \"]\")); // Short circuit so we can't infinite loop\n\n if (collision.moved) continue; // Don't move static items - we have to move *this* element away\n\n if (collision.static) {\n layout = moveElementAwayFromCollision(layout, collision, l, isUserAction, compactType, cols);\n } else {\n layout = moveElementAwayFromCollision(layout, l, collision, isUserAction, compactType, cols);\n }\n }\n\n return layout;\n}\n/**\n * This is where the magic needs to happen - given a collision, move an element away from the collision.\n * We attempt to move it up if there's room, otherwise it goes below.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} collidesWith Layout item we're colliding with.\n * @param {LayoutItem} itemToMove Layout item we're moving.\n */\n\n\nfunction moveElementAwayFromCollision(layout\n/*: Layout*/\n, collidesWith\n/*: LayoutItem*/\n, itemToMove\n/*: LayoutItem*/\n, isUserAction\n/*: ?boolean*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n)\n/*: Layout*/\n{\n var compactH = compactType === \"horizontal\"; // Compact vertically if not set to horizontal\n\n var compactV = compactType !== \"horizontal\";\n var preventCollision = collidesWith.static; // we're already colliding (not for static items)\n // If there is enough space above the collision to put this element, move it there.\n // We only do this on the main collision as this can get funky in cascades and cause\n // unwanted swapping behavior.\n\n if (isUserAction) {\n // Reset isUserAction flag because we're not in the main collision anymore.\n isUserAction = false; // Make a mock item so we don't modify the item here, only modify in moveElement.\n\n var fakeItem\n /*: LayoutItem*/\n = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: \"-1\"\n }; // No collision? If so, we can go up there; otherwise, we'll end up moving down as normal\n\n if (!getFirstCollision(layout, fakeItem)) {\n log(\"Doing reverse collision on \".concat(itemToMove.i, \" up to [\").concat(fakeItem.x, \",\").concat(fakeItem.y, \"].\"));\n return moveElement(layout, itemToMove, compactH ? fakeItem.x : undefined, compactV ? fakeItem.y : undefined, isUserAction, preventCollision, compactType, cols);\n }\n }\n\n return moveElement(layout, itemToMove, compactH ? itemToMove.x + 1 : undefined, compactV ? itemToMove.y + 1 : undefined, isUserAction, preventCollision, compactType, cols);\n}\n/**\n * Helper to convert a number to a percentage string.\n *\n * @param {Number} num Any number\n * @return {String} That number as a percentage.\n */\n\n\nfunction perc(num\n/*: number*/\n)\n/*: string*/\n{\n return num * 100 + \"%\";\n}\n\nfunction setTransform(_ref)\n/*: Object*/\n{\n var top = _ref.top,\n left = _ref.left,\n width = _ref.width,\n height = _ref.height;\n // Replace unitless items with px\n var translate = \"translate(\".concat(left, \"px,\").concat(top, \"px)\");\n return {\n transform: translate,\n WebkitTransform: translate,\n MozTransform: translate,\n msTransform: translate,\n OTransform: translate,\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\"),\n position: \"absolute\"\n };\n}\n\nfunction setTopLeft(_ref2)\n/*: Object*/\n{\n var top = _ref2.top,\n left = _ref2.left,\n width = _ref2.width,\n height = _ref2.height;\n return {\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\"),\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\"),\n position: \"absolute\"\n };\n}\n/**\n * Get layout items sorted from top left to right and down.\n *\n * @return {Array} Array of layout objects.\n * @return {Array} Layout, sorted static items first.\n */\n\n\nfunction sortLayoutItems(layout\n/*: Layout*/\n, compactType\n/*: CompactType*/\n)\n/*: Layout*/\n{\n if (compactType === \"horizontal\") return sortLayoutItemsByColRow(layout);\n if (compactType === \"vertical\") return sortLayoutItemsByRowCol(layout);else return layout;\n}\n/**\n * Sort layout items by row ascending and column ascending.\n *\n * Does not modify Layout.\n */\n\n\nfunction sortLayoutItemsByRowCol(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n // Slice to clone array as sort modifies\n return layout.slice(0).sort(function (a, b) {\n if (a.y > b.y || a.y === b.y && a.x > b.x) {\n return 1;\n } else if (a.y === b.y && a.x === b.x) {\n // Without this, we can get different sort results in IE vs. Chrome/FF\n return 0;\n }\n\n return -1;\n });\n}\n/**\n * Sort layout items by column ascending then row ascending.\n *\n * Does not modify Layout.\n */\n\n\nfunction sortLayoutItemsByColRow(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n return layout.slice(0).sort(function (a, b) {\n if (a.x > b.x || a.x === b.x && a.y > b.y) {\n return 1;\n }\n\n return -1;\n });\n}\n/**\n * Generate a layout using the initialLayout and children as a template.\n * Missing entries will be added, extraneous ones will be truncated.\n *\n * Does not modify initialLayout.\n *\n * @param {Array} initialLayout Layout passed in through props.\n * @param {String} breakpoint Current responsive breakpoint.\n * @param {?String} compact Compaction option.\n * @return {Array} Working layout.\n */\n\n\nfunction synchronizeLayoutWithChildren(initialLayout\n/*: Layout*/\n, children\n/*: ReactChildren*/\n, cols\n/*: number*/\n, compactType\n/*: CompactType*/\n, allowOverlap\n/*: ?boolean*/\n)\n/*: Layout*/\n{\n initialLayout = initialLayout || []; // Generate one layout item per child.\n\n var layout\n /*: LayoutItem[]*/\n = [];\n\n _react.default.Children.forEach(children, function (child\n /*: ReactElement*/\n ) {\n // Child may not exist\n if ((child === null || child === void 0 ? void 0 : child.key) == null) return; // Don't overwrite if it already exists.\n\n var exists = getLayoutItem(initialLayout, String(child.key));\n\n if (exists) {\n layout.push(cloneLayoutItem(exists));\n } else {\n if (!isProduction && child.props._grid) {\n console.warn(\"`_grid` properties on children have been deprecated as of React 15.2. \" + \"Please use `data-grid` or add your properties directly to the `layout`.\");\n }\n\n var g = child.props[\"data-grid\"] || child.props._grid; // Hey, this item has a data-grid property, use it.\n\n if (g) {\n if (!isProduction) {\n validateLayout([g], \"ReactGridLayout.children\");\n } // FIXME clone not really necessary here\n\n\n layout.push(cloneLayoutItem(_objectSpread(_objectSpread({}, g), {}, {\n i: child.key\n })));\n } else {\n // Nothing provided: ensure this is added to the bottom\n // FIXME clone not really necessary here\n layout.push(cloneLayoutItem({\n w: 1,\n h: 1,\n x: 0,\n y: bottom(layout),\n i: String(child.key)\n }));\n }\n }\n }); // Correct the layout.\n\n\n var correctedLayout = correctBounds(layout, {\n cols: cols\n });\n return allowOverlap ? correctedLayout : compact(correctedLayout, compactType, cols);\n}\n/**\n * Validate a layout. Throws errors.\n *\n * @param {Array} layout Array of layout items.\n * @param {String} [contextName] Context name for errors.\n * @throw {Error} Validation error.\n */\n\n\nfunction validateLayout(layout\n/*: Layout*/\n)\n/*: void*/\n{\n var contextName\n /*: string*/\n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Layout\";\n var subProps = [\"x\", \"y\", \"w\", \"h\"];\n if (!Array.isArray(layout)) throw new Error(contextName + \" must be an array!\");\n\n for (var i = 0, len = layout.length; i < len; i++) {\n var item = layout[i];\n\n for (var j = 0; j < subProps.length; j++) {\n if (typeof item[subProps[j]] !== \"number\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + i + \"].\" + subProps[j] + \" must be a number!\");\n }\n }\n }\n} // Legacy support for verticalCompact: false\n\n\nfunction compactType(props\n/*: ?{ verticalCompact: boolean, compactType: CompactType }*/\n)\n/*: CompactType*/\n{\n var _ref3 = props || {},\n verticalCompact = _ref3.verticalCompact,\n compactType = _ref3.compactType;\n\n return verticalCompact === false ? null : compactType;\n}\n\nfunction log() {\n var _console;\n\n if (!DEBUG) return; // eslint-disable-next-line no-console\n\n (_console = console).log.apply(_console, arguments);\n}\n\nvar noop = function noop() {};\n\nexports.noop = noop;","module.exports = require(\"./build/ReactGridLayout\").default;\nmodule.exports.utils = require(\"./build/utils\");\nmodule.exports.Responsive =\n require(\"./build/ResponsiveReactGridLayout\").default;\nmodule.exports.Responsive.utils = require(\"./build/responsiveUtils\");\nmodule.exports.WidthProvider =\n require(\"./build/components/WidthProvider\").default;\n"],"names":["DashboardFailed","initError","styles","DashboardLoading","initPhase","getStyles","cancelVariables","theme","slowStartThreshold","invisibleToVisible","RepeatRowSelect","repeat","onChange","id","variables","state","variableOptions","options","item","onSelectChange","option","AddLibraryPanelWidget","panel","dashboard","onCancelAddPanel","evt","onAddLibraryPanel","panelInfo","gridPos","newPanel","IconButton","LibraryPanelsSearch","pulsate","tinycolor","getCopiedPanelPlugins","panels","copiedPanels","copiedPanelJson","store","copiedPanel","pluginInfo","pluginCopy","AddPanelWidgetUnconnected","addPanelView","setAddPanelView","onBack","onCreateNewPanel","onPasteCopiedPanel","panelPluginInfo","onCreateNewRow","newRow","copiedPanelPlugins","AddPanelWidgetHandle","CardButton","selectors","mapDispatchToProps","AddPanelWidget","children","onCancel","Icon","RowOptionsForm","title","warning","onUpdate","newRepeat","setNewRepeat","onChangeRepeat","name","Form","formData","register","Field","Input","Alert","Modal","Button","RowOptionsModal","onDismiss","stylesFactory","RowOptionsButton","onUpdateChange","hideModal","showModal","DashboardRow","p","TextLink","classes","count","canEdit","canCreate","dispatch","initialDatasource","Text","config","DashboardGrid","props","Subscription","newLayout","newPos","layout","oldItem","newItem","ref","panelPos","gridWidth","top","translateGridHeightToScreenHeight","isDashboardDraggable","panelElements","panelClasses","GrafanaGridItem","width","height","isDraggable","DashboardPanel","isEditable","draggable","isViewing","windowHeight","windowWidth","divProps","style","styleWidth","styleHeight","gridHeight","_typeof","obj","exports","_DraggableCore","React","_interopRequireWildcard","_propTypes","_interopRequireDefault","_reactDom","_clsx2","_domFns","_positionFns","_shims","_log","_excluded","_getRequireWildcardCache","nodeInterop","cacheBabelInterop","cacheNodeInterop","cache","newObj","hasPropertyDescriptor","key","desc","_extends","target","i","source","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","sourceKeys","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","_defineProperty","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_i","_arr","_n","_d","_s","_e","err","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","result","NewTarget","_possibleConstructorReturn","self","call","_assertThisInitialized","value","Draggable","_React$Component","_super","_this","e","coreData","shouldStart","uiData","newState","x","y","_getBoundPosition","_getBoundPosition2","newStateX","newStateY","shouldUpdate","shouldContinue","controlled","_this$props$position","_this$props$nodeRef$c","_this$props","_this$props$nodeRef","_clsx","_this$props2","axis","bounds","defaultPosition","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","position","positionOffset","scale","draggableCoreProps","svgTransform","validPosition","transformOpts","className","_ref","_ref2","prevPropsPosition","eventsFor","dragEventFor","DraggableCore","_len","args","_key","thisNode","ownerDocument","touchIdentifier","coreEvent","deltaX","deltaY","_snapToGrid","_snapToGrid2","event","propName","_require","module","matchesSelector","matchesSelectorAndParentsTo","addEvent","removeEvent","outerHeight","outerWidth","innerHeight","innerWidth","offsetXYFromParent","createCSSTransform","createSVGTransform","getTranslation","getTouch","getTouchIdentifier","addUserSelectStyles","removeUserSelectStyles","addClassName","removeClassName","_getPrefix","matchesSelectorFunc","el","selector","method","baseNode","node","handler","inputOptions","computedStyle","offsetParent","isBody","offsetParentRect","controlPos","translation","unitSuffix","defaultX","defaultY","identifier","t","doc","styleEl","selection","getPrefix","browserPrefixToKey","browserPrefixToStyle","prefixes","_window$document","_window$document$docu","prop","prefix","kebabToTitleCase","str","out","shouldCapitalize","_default","log","_console","getBoundPosition","snapToGrid","canDragX","canDragY","getControlPosition","createCoreData","createDraggableData","cloneBounds","findDOMNode","ownerWindow","boundNode","boundNodeEl","nodeStyle","boundNodeStyle","grid","pendingX","pendingY","draggableCore","touchObj","isStart","findInArray","isFunction","isNum","int","dontSetMe","array","callback","length","func","num","a","componentName","_react","_reactDraggable","_reactResizable","_utils","_calculateUtils","_ReactGridLayoutPropTypes","GridItem","onDragStart","transformScale","newPosition","parentRect","clientRect","cLeft","pLeft","cTop","pTop","_calcXY","onDrag","left","isBounded","w","h","containerWidth","positionParams","_this$props3","margin","rowHeight","bottomBoundary","colWidth","rightBoundary","_calcXY2","_ref3","onDragStop","_this$props4","_this$state$dragging","_calcXY3","callbackData","nextProps","nextState","oldPosition","prevProps","droppingPosition","prevDroppingPosition","dragging","shouldDrag","pos","_this$props5","usePercentages","useCSSTransforms","child","isResizable","_this$props6","cols","minW","minH","maxW","maxH","resizeHandles","resizeHandle","maxWidth","mins","maxes","minConstraints","maxConstraints","_ref4","handlerName","size","_this$props7","_this$props8","_calcWH","_this$props9","newChild","_lodash","_GridItem","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","layoutClassName","isFirefox","ReactGridLayout","l","oldDragItem","allowOverlap","preventCollision","placeholder","isUserAction","oldLayout","_ref5","_this$state","oldResizeItem","_withLayoutItem","hasCollisions","collisions","layoutItem","leastX","leastY","_withLayoutItem2","_ref6","_this$state2","_e$nativeEvent$target","droppingItem","onDropDragOver","maxRows","containerPadding","onDragOverResult","finalDroppingItem","_e$nativeEvent","layerX","layerY","_this$state$droppingP","shouldUpdatePosition","calculatedPosition","prevState","nbRow","containerPaddingY","activeDrag","isDroppingItem","draggableCancel","draggableHandle","_this$state3","mounted","resizable","resizeHandlesOptions","bounded","_this2","isDroppable","innerRef","mergedClassName","mergedStyle","newLayoutBase","resizeHandleAxesType","resizeHandleType","_responsiveUtils","_ReactGridLayout","type","getIndentationValue","param","breakpoint","ResponsiveReactGridLayout","breakpoints","layouts","colNo","compactType","initialLayout","newBreakpoint","lastBreakpoint","newCols","newLayouts","onBreakpointChange","onLayoutChange","onWidthChange","other","_cols","calcGridColWidth","calcGridItemPosition","calcGridItemWHPx","calcWH","calcXY","clamp","gridUnits","colOrRowSize","marginPx","lowerBound","upperBound","WidthProvideRGL","ComposedComponent","_class","WidthProvider","measureBeforeMount","rest","b","isEqualImpl","findOrGenerateResponsiveLayout","getBreakpointFromWidth","getColsFromBreakpoint","sortBreakpoints","sorted","matching","breakpointName","breakpointsSorted","breakpointsAbove","bottom","childrenEqual","cloneLayout","cloneLayoutItem","collides","compact","compactItem","correctBounds","fastPositionEqual","getAllCollisions","getFirstCollision","getLayoutItem","getStatics","modifyLayout","moveElement","moveElementAwayFromCollision","perc","setTopLeft","setTransform","sortLayoutItems","sortLayoutItemsByColRow","sortLayoutItemsByRowCol","synchronizeLayoutWithChildren","validateLayout","withLayoutItem","isProduction","DEBUG","max","bottomY","itemKey","cb","c","fastRGLPropsEqual","l1","l2","compareWith","heightWidth","resolveCompactionCollision","moveToCoord","sizeProp","itemIndex","otherItem","fullLayout","compactV","compactH","collidesWith","oldX","oldY","movingUp","collision","itemToMove","fakeItem","translate","exists","g","correctedLayout","contextName","subProps","j","verticalCompact","noop"],"sourceRoot":""}