{"version":3,"file":"5200.9b932321224615edf421.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/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/DashboardGrid.tsx","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, { FC, 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: FC = ({ repeat, onChange, id }) => {\n const variables = useSelector((state) => {\n return getVariablesByKey(getLastKey(state), state);\n });\n\n const variableOptions = useMemo(() => {\n const options = variables.map((item: any) => {\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 \n\n \n \n \n \n \n )}\n \n );\n};\n","import { css } from '@emotion/css';\nimport React, { FC } 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 onDismiss: () => void;\n onUpdate: OnRowOptionsUpdate;\n}\n\nexport const RowOptionsModal: FC = ({ repeat, title, onDismiss, onUpdate }) => {\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, { FC } 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}\n\nexport const RowOptionsButton: FC = ({ repeat, title, onUpdate }) => {\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, { title, repeat, onDismiss: hideModal, onUpdate: onUpdateChange(hideModal) });\n }}\n >\n \n \n );\n }}\n \n );\n};\n\nRowOptionsButton.displayName = 'RowOptionsButton';\n","import classNames from 'classnames';\nimport React from 'react';\nimport { Unsubscribable } from 'rxjs';\n\nimport { selectors } from '@grafana/e2e-selectors';\nimport { getTemplateSrv, RefreshEvent } from '@grafana/runtime';\nimport { Icon } from '@grafana/ui';\nimport appEvents from 'app/core/app_events';\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 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
\n  \n
\n )}\n {canEdit &&
}\n
\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 { DashboardPanelsChangedEvent } from 'app/types/events';\n\nimport { AddPanelWidget } from '../components/AddPanelWidget';\nimport { DashboardRow } from '../components/DashboardRow';\nimport { DashboardModel, PanelModel } from '../state';\nimport { GridPos } from '../state/PanelModel';\n\nimport { DashboardPanel } from './DashboardPanel';\n\nexport interface Props {\n dashboard: DashboardModel;\n isEditable: boolean;\n editPanel: PanelModel | null;\n viewPanel: PanelModel | null;\n}\n\nexport interface State {\n isLayoutInitialized: boolean;\n}\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\n constructor(props: Props) {\n super(props);\n\n this.state = {\n isLayoutInitialized: false,\n };\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.state.isLayoutInitialized);\n }\n\n this.props.dashboard.sortPanelsByGridPos();\n\n // This is called on grid mount as it can correct invalid initial grid positions\n if (!this.state.isLayoutInitialized) {\n this.setState({ isLayoutInitialized: true });\n }\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) {\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);\n }}\n \n );\n }\n\n return panelElements;\n }\n\n renderPanel(panel: PanelModel, width: number, height: number) {\n if (panel.type === 'row') {\n return ;\n }\n\n if (panel.type === 'add-panel') {\n return ;\n }\n\n return (\n \n );\n }\n\n render() {\n const { isEditable } = this.props;\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 const draggable = width <= 769 ? false : isEditable;\n\n /*\n Disable draggable if mobile device, solving an issue with unintentionally\n moving panels. https://github.com/grafana/grafana/issues/18497\n theme.breakpoints.md = 769\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)}\n \n
\n );\n }}\n
\n
\n );\n }\n}\n\ninterface GrafanaGridItemProps extends Record {\n gridWidth?: number;\n gridPos?: GridPos;\n isViewing: string;\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 width = parseFloat(props.style.width);\n height = parseFloat(props.style.height);\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\"; 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","getCopiedPanelPlugins","panels","copiedPanels","copiedPanelJson","store","copiedPanel","pluginInfo","pluginCopy","AddPanelWidgetUnconnected","panel","dashboard","addPanelView","setAddPanelView","onCancelAddPanel","evt","onBack","onCreateNewPanel","gridPos","newPanel","onPasteCopiedPanel","panelPluginInfo","onAddLibraryPanel","panelInfo","onCreateNewRow","newRow","copiedPanelPlugins","AddPanelWidgetHandle","LibraryPanelsSearch","CardButton","selectors","mapDispatchToProps","AddPanelWidget","children","onCancel","IconButton","Icon","pulsate","RowOptionsForm","title","onUpdate","newRepeat","setNewRepeat","onChangeRepeat","name","Form","formData","register","Field","Input","Modal","Button","RowOptionsModal","onDismiss","stylesFactory","RowOptionsButton","onUpdateChange","hideModal","showModal","DashboardRow","classes","count","canEdit","DashboardGrid","props","Subscription","newLayout","newPos","layout","oldItem","newItem","panelPos","gridWidth","top","config","translateGridHeightToScreenHeight","panelElements","panelClasses","GrafanaGridItem","width","height","DashboardPanel","isEditable","draggable","ref","isViewing","windowHeight","windowWidth","divProps","style","gridHeight","_typeof","obj","exports","_react","_interopRequireDefault","_propTypes","_reactDraggable","_reactResizable","_utils","_calculateUtils","_ReactGridLayoutPropTypes","_clsx","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","i","source","key","_defineProperty","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","o","p","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","result","NewTarget","_possibleConstructorReturn","self","call","_assertThisInitialized","value","GridItem","_React$Component","_super","_this","_len","args","_key","e","_ref","node","_this$props","onDragStart","transformScale","newPosition","offsetParent","parentRect","clientRect","cLeft","pLeft","cTop","pTop","_calcXY","x","y","_ref2","deltaX","deltaY","onDrag","left","_this$props2","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","isDraggable","position","isResizable","_this$props6","cols","minW","minH","maxW","maxH","resizeHandles","resizeHandle","maxWidth","mins","maxes","minConstraints","maxConstraints","_ref4","handlerName","size","handler","_this$props7","_this$props8","_calcWH","_this$props9","newChild","propName","React","_interopRequireWildcard","_lodash","_GridItem","_getRequireWildcardCache","nodeInterop","cacheBabelInterop","cacheNodeInterop","cache","newObj","hasPropertyDescriptor","desc","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","n","len","arr2","_i","_arr","_n","_d","_s","_e","err","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","className","isDroppable","innerRef","mergedClassName","mergedStyle","newLayoutBase","resizeHandleAxesType","resizeHandleType","_default","_responsiveUtils","_ReactGridLayout","_excluded","_extends","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","sourceKeys","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","out","num","lowerBound","upperBound","WidthProvideRGL","ComposedComponent","_class","WidthProvider","measureBeforeMount","rest","module","b","isEqualImpl","findOrGenerateResponsiveLayout","getBreakpointFromWidth","getColsFromBreakpoint","sortBreakpoints","sorted","matching","breakpointName","breakpointsSorted","breakpointsAbove","a","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","axis","sizeProp","itemIndex","otherItem","fullLayout","compactV","compactH","bounds","collidesWith","log","oldX","oldY","movingUp","collision","itemToMove","fakeItem","translate","exists","g","correctedLayout","contextName","subProps","j","verticalCompact","_console","noop"],"sourceRoot":""}