{"version":3,"file":"static/js/8285.af5a665c.chunk.js","mappings":"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","sources":["../node_modules/@progress/kendo-draggable-common/dist/es/algorithms/intersect.js","../node_modules/@progress/kendo-draggable-common/dist/es/drag-n-drop.js","../node_modules/@progress/kendo-draggable-common/dist/es/utils/index.js","../node_modules/@progress/kendo-draggable-common/dist/es/auto-scroll.js","../node_modules/@progress/kendo-react-common/dist/es/contexts/ZIndexContext.js","../node_modules/@progress/kendo-react-common/dist/es/browser-support.service.js","../node_modules/@progress/kendo-react-common/dist/es/canUseDOM.js","../node_modules/@progress/kendo-react-common/dist/es/canUseRef.js","../node_modules/@progress/kendo-react-common/dist/es/classNames.js","../node_modules/@progress/kendo-react-common/dist/es/clone.js","../node_modules/@progress/kendo-react-common/dist/es/focus.js","../node_modules/@progress/kendo-react-common/dist/es/FormComponent.js","../node_modules/@progress/kendo-react-common/dist/es/getTabIndex.js","../node_modules/@progress/kendo-react-common/dist/es/constants/index.js","../node_modules/@progress/kendo-react-common/dist/es/fieldList.js","../node_modules/@progress/kendo-react-common/dist/es/getter.js","../node_modules/@progress/kendo-react-common/dist/es/guid.js","../node_modules/@progress/kendo-react-common/dist/es/keys.js","../node_modules/@progress/kendo-react-common/dist/es/noop.js","../node_modules/@progress/kendo-react-common/dist/es/scrollbarWidth.js","../node_modules/@progress/kendo-react-common/dist/es/setter.js","../node_modules/@progress/kendo-react-common/dist/es/treeDataOperations.js","../node_modules/@progress/kendo-react-common/dist/es/validate-package.js","../node_modules/@progress/kendo-react-common/dist/es/hasRelativeStackingContext.js","../node_modules/@progress/kendo-react-common/dist/es/watermark/WatermarkOverlay.js","../node_modules/@progress/kendo-react-common/dist/es/events/dispatchEvent.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useAsyncFocusBlur.js","../node_modules/@progress/kendo-react-common/dist/es/hocs/AsyncFocusBlur.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/usePropsContext.js","../node_modules/@progress/kendo-react-common/dist/es/hocs/withPropsContext.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useDir.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useRtl.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useMouse.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useCollection.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useCustomComponent.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useDocument.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useWindow.js","../node_modules/@progress/kendo-react-common/dist/es/icons/constants.js","../node_modules/@progress/kendo-react-common/dist/es/icons/utils.js","../node_modules/@progress/kendo-react-common/dist/es/icons/Icon.js","../node_modules/@progress/kendo-react-common/dist/es/icons/SvgIcon.js","../node_modules/@progress/kendo-react-common/dist/es/icons/IconsContext.js","../node_modules/@progress/kendo-react-common/dist/es/icons/IconWrap.js","../node_modules/@progress/kendo-react-common/dist/es/typography/constants.js","../node_modules/@progress/kendo-react-common/dist/es/typography/Typography.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useControlledState.js","../node_modules/@progress/kendo-react-common/dist/es/drag-n-drop/context/index.js","../node_modules/@progress/kendo-react-common/dist/es/drag-n-drop/index.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useInheritedState.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useDraggable.js","../node_modules/@progress/kendo-react-common/dist/es/Draggable.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useDroppable.js","../node_modules/@progress/kendo-react-common/dist/es/Droppable.js","../node_modules/@progress/kendo-react-common/dist/es/theme.js","../node_modules/@progress/kendo-react-common/dist/es/memoize.js","../node_modules/@progress/kendo-react-common/dist/es/navigation.js","../node_modules/@progress/kendo-react-common/dist/es/getActiveElement.js","../node_modules/@progress/kendo-react-common/dist/es/tree-utils/misc.js","../node_modules/@progress/kendo-react-common/dist/es/tree-utils/FieldsService.js","../node_modules/@progress/kendo-react-common/dist/es/tree-utils/SortedPublicItemIds.js","../node_modules/@progress/kendo-react-common/dist/es/tree-utils/itemIdUtils.js","../node_modules/@progress/kendo-react-common/dist/es/tree-utils/itemUtils.js"],"sourcesContent":["var getRatio = function (element, target) {\n    var elementRect = element.getBoundingClientRect();\n    var targetRect = target.getBoundingClientRect();\n    var top = Math.max(targetRect.top, elementRect.top);\n    var left = Math.max(targetRect.left, elementRect.left);\n    var right = Math.min(targetRect.left + targetRect.width, elementRect.left + elementRect.width);\n    var bottom = Math.min(targetRect.top + targetRect.height, elementRect.top + elementRect.height);\n    var width = right - left;\n    var height = bottom - top;\n    if (left < right && top < bottom) {\n        var targetArea = targetRect.width * targetRect.height;\n        var entryArea = elementRect.width * elementRect.height;\n        var intersectionArea = width * height;\n        var intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n        return Number(intersectionRatio.toFixed(4));\n    }\n    return 0;\n};\n/** @hidden */\nexport var intersect = function (element, candidates) {\n    var max = 0;\n    var result = null;\n    candidates.forEach(function (candidate) {\n        if (candidate && element) {\n            var ration = getRatio(element, candidate);\n            if (ration > max) {\n                max = ration;\n                result = candidate;\n            }\n        }\n    });\n    return result;\n};\n","import { intersect } from \"./algorithms\";\nimport { getWindow, autoScrollVelocity, scrollableViewPort, getScrollableParent, isPointerInsideContainer, getDocument } from \"./utils\";\n/** @hidden */\nexport var DRAG_AND_DROP_DISPATCH_ACTION;\n(function (DRAG_AND_DROP_DISPATCH_ACTION) {\n    DRAG_AND_DROP_DISPATCH_ACTION[\"POINTER_DOWN\"] = \"pointerdown\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"POINTER_MOVE\"] = \"pointermove\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"POINTER_UP\"] = \"pointerup\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"POINTER_CANCEL\"] = \"pointercancel\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"MOUSE_DOWN\"] = \"mousedown\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"MOUSE_MOVE\"] = \"mousemove\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"MOUSE_UP\"] = \"mouseup\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"CONTEXT_MENU\"] = \"contextmenu\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"TOUCH_START\"] = \"touchstart\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"TOUCH_MOVE\"] = \"touchmove\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"TOUCH_END\"] = \"touchend\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"TOUCH_CANCEL\"] = \"touchcancel\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"SCROLL\"] = \"scroll\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"START\"] = \"KENDO_DRAG_AND_DROP_START\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"MOVE\"] = \"KENDO_DRAG_AND_DROP_MOVE\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"END\"] = \"KENDO_DRAG_AND_DROP_END\";\n    DRAG_AND_DROP_DISPATCH_ACTION[\"CANCEL\"] = \"KENDO_DRAG_AND_DROP_CANCEL\";\n})(DRAG_AND_DROP_DISPATCH_ACTION || (DRAG_AND_DROP_DISPATCH_ACTION = {}));\nvar isTouchEvent = function (event) { return /^touch/.test(event.type); };\nvar isScrollEvent = function (event) { return /^(scroll)/.test(event.type); };\n/** @hidden */\nexport var normalizeEvent = function (event, state) { return (isTouchEvent(event)\n    ? ({\n        pageX: event.changedTouches[0].pageX,\n        pageY: event.changedTouches[0].pageY,\n        clientX: event.changedTouches[0].clientX,\n        clientY: event.changedTouches[0].clientY,\n        scrollX: state.scrollOffset.x,\n        scrollY: state.scrollOffset.y,\n        offsetX: state.offset.x,\n        offsetY: state.offset.y,\n        type: event.type,\n        originalEvent: event,\n        isTouch: true,\n        altKey: false,\n        ctrlKey: false,\n        shiftKey: false,\n        metaKey: false\n    })\n    : isScrollEvent(event)\n        ? ({\n            pageX: state.pageOffset.x,\n            pageY: state.pageOffset.y,\n            clientX: state.clientOffset.x,\n            clientY: state.clientOffset.y,\n            scrollX: state.scrollOffset.x,\n            scrollY: state.scrollOffset.y,\n            offsetX: state.offset.x,\n            offsetY: state.offset.y,\n            type: event.type,\n            originalEvent: event,\n            altKey: false,\n            ctrlKey: false,\n            shiftKey: false,\n            metaKey: false\n        })\n        : ({\n            pageX: event.pageX,\n            pageY: event.pageY,\n            clientX: event.clientX,\n            clientY: event.clientY,\n            offsetX: event.offsetX,\n            offsetY: event.offsetY,\n            scrollX: state.scrollOffset.x,\n            scrollY: state.scrollOffset.y,\n            type: event.type,\n            ctrlKey: event.ctrlKey,\n            shiftKey: event.shiftKey,\n            altKey: event.altKey,\n            metaKey: event.metaKey,\n            originalEvent: event\n        })); };\nvar noop = function () { };\n/** @hidden */\nexport var dispatchDragAndDrop = function (state, action, callbacks) {\n    if (callbacks === void 0) { callbacks = {}; }\n    var _a = callbacks.onIsPressedChange, onIsPressedChange = _a === void 0 ? noop : _a, _b = callbacks.onIsScrollingChange, onIsScrollingChange = _b === void 0 ? noop : _b, _c = callbacks.onVelocityChange, onVelocityChange = _c === void 0 ? noop : _c, _d = callbacks.onOffsetChange, onOffsetChange = _d === void 0 ? noop : _d, _e = callbacks.onPageOffsetChange, onPageOffsetChange = _e === void 0 ? noop : _e, _f = callbacks.onClientOffsetChange, onClientOffsetChange = _f === void 0 ? noop : _f, _g = callbacks.onScrollOffsetChange, onScrollOffsetChange = _g === void 0 ? noop : _g, _h = callbacks.onInitialScrollOffsetChange, onInitialScrollOffsetChange = _h === void 0 ? noop : _h;\n    var drag = action.payload;\n    var element = drag.element;\n    var hint = drag.hint;\n    var autoScrollDirection = state.autoScrollDirection;\n    var overrideScrollableParent = state.scrollableParent;\n    var event = normalizeEvent(action.event, state);\n    switch (event.type) {\n        case DRAG_AND_DROP_DISPATCH_ACTION.POINTER_DOWN:\n            if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.POINTER_DOWN\n                && (!event.originalEvent.isPrimary\n                    || event.originalEvent.button !== 0)) {\n                break;\n            }\n        // In rare cases where the `which` attribute is available in the mouse event\n        // we check if the `left button` is explicitly clicked:\n        // https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/which#return_value\n        case DRAG_AND_DROP_DISPATCH_ACTION.MOUSE_DOWN:\n            if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.MOUSE_DOWN\n                && (event.originalEvent.which\n                    && event.originalEvent.which > 1)\n                || state.ignoreMouse) {\n                break;\n            }\n        case DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_START:\n            if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_START\n                && event.originalEvent.touches.length !== 1) {\n                break;\n            }\n        case DRAG_AND_DROP_DISPATCH_ACTION.START: {\n            var scrollableParent_1 = overrideScrollableParent || getScrollableParent(action.payload.element);\n            onInitialScrollOffsetChange(scrollableParent_1 instanceof Window\n                ? { x: scrollableParent_1.scrollX, y: scrollableParent_1.scrollY }\n                : { x: scrollableParent_1.scrollLeft, y: scrollableParent_1.scrollTop });\n            onClientOffsetChange({\n                x: event.clientX,\n                y: event.clientY\n            });\n            onPageOffsetChange({\n                x: event.pageX,\n                y: event.pageY\n            });\n            onOffsetChange({\n                x: event.offsetX,\n                y: event.offsetY\n            });\n            onIsPressedChange(true);\n            if (drag.onPress) {\n                drag.onPress(event);\n            }\n            break;\n        }\n        case DRAG_AND_DROP_DISPATCH_ACTION.SCROLL:\n            if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.SCROLL && !state.pressed) {\n                break;\n            }\n            var scrollableParent = overrideScrollableParent || getScrollableParent(element);\n            var scrollOffset = scrollableParent instanceof Window\n                ? { x: scrollableParent.scrollX, y: scrollableParent.scrollY }\n                : { x: scrollableParent.scrollLeft, y: scrollableParent.scrollTop };\n            event.scrollX = scrollOffset.x - state.initialScrollOffset.x;\n            event.scrollY = scrollOffset.y - state.initialScrollOffset.y;\n            onScrollOffsetChange({\n                x: event.scrollX,\n                y: event.scrollY\n            });\n        case DRAG_AND_DROP_DISPATCH_ACTION.POINTER_MOVE:\n            if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.POINTER_MOVE && !event.originalEvent.isPrimary) {\n                break;\n            }\n        case DRAG_AND_DROP_DISPATCH_ACTION.MOUSE_MOVE:\n        case DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_MOVE:\n            if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_MOVE && event.originalEvent.touches.length !== 1) {\n                break;\n            }\n        case DRAG_AND_DROP_DISPATCH_ACTION.MOVE: {\n            if (state.pressed) {\n                if (state.autoScroll && event.originalEvent.type !== 'scroll') {\n                    if (element) {\n                        var document_1 = getDocument(element);\n                        var scrollableParent_2 = overrideScrollableParent || getScrollableParent(document_1.elementFromPoint(event.clientX, event.clientY));\n                        var newVelocity = autoScrollVelocity(event.clientX, event.clientY, scrollableViewPort(scrollableParent_2, getWindow(element)));\n                        onVelocityChange({\n                            x: (autoScrollDirection && autoScrollDirection.horizontal === false) ? 0 : newVelocity.x,\n                            y: (autoScrollDirection && autoScrollDirection.vertical === false) ? 0 : newVelocity.y\n                        });\n                        onIsScrollingChange(newVelocity.y !== 0 || newVelocity.x !== 0);\n                    }\n                }\n                if (!state.drag && drag.onDragStart) {\n                    drag.onDragStart(event);\n                }\n                if (drag.onDrag) {\n                    drag.onDrag(event);\n                }\n                var dropElement_1 = intersect(hint || element, state.drops.map(function (drop) { return drop && drop.element; }).filter(function (d) { return d !== (hint || element); }));\n                var drop = state.drops.find(function (drop) { return drop.element === dropElement_1; });\n                if (drop\n                    && dropElement_1\n                    && isPointerInsideContainer(event.clientX, event.clientY, overrideScrollableParent || getScrollableParent(dropElement_1))\n                    && dropElement_1 !== element) {\n                    if ((state.drop && state.drop.element) !== dropElement_1) {\n                        if (state.drop && state.drop.onDragLeave) {\n                            state.drop.onDragLeave(event);\n                        }\n                        if (drop.onDragEnter) {\n                            drop.onDragEnter(event);\n                        }\n                    }\n                    else {\n                        if (drop.onDragOver) {\n                            drop.onDragOver(event);\n                        }\n                    }\n                }\n                else if (state.drop && state.drop.onDragLeave) {\n                    state.drop.onDragLeave(event);\n                }\n            }\n            onClientOffsetChange({\n                x: event.clientX,\n                y: event.clientY\n            });\n            onPageOffsetChange({\n                x: event.pageX,\n                y: event.pageY\n            });\n            break;\n        }\n        case DRAG_AND_DROP_DISPATCH_ACTION.POINTER_UP:\n            if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.POINTER_UP && !event.originalEvent.isPrimary) {\n                break;\n            }\n        case DRAG_AND_DROP_DISPATCH_ACTION.MOUSE_UP:\n        // the last finger has been lifted, and the user is not doing gesture.\n        // there might be a better way to handle this.\n        case DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_END:\n            if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_END && event.originalEvent.touches.length !== 1) {\n                break;\n            }\n        case DRAG_AND_DROP_DISPATCH_ACTION.END: {\n            onIsPressedChange(false);\n            onIsScrollingChange(false);\n            onScrollOffsetChange({ x: 0, y: 0 });\n            if (drag.onRelease) {\n                drag.onRelease(event);\n            }\n            if (state.drop && state.drop.onDrop) {\n                state.drop.onDrop(event);\n            }\n            if (state.drag && drag.onDragEnd) {\n                drag.onDragEnd(event);\n            }\n            break;\n        }\n        case DRAG_AND_DROP_DISPATCH_ACTION.POINTER_CANCEL:\n        case DRAG_AND_DROP_DISPATCH_ACTION.CONTEXT_MENU:\n        case DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_CANCEL:\n        case DRAG_AND_DROP_DISPATCH_ACTION.CANCEL: {\n            onIsPressedChange(false);\n            onIsScrollingChange(false);\n            onScrollOffsetChange({ x: 0, y: 0 });\n            if (drag.onDragEnd) {\n                drag.onDragEnd(event);\n            }\n            if (state.drop && state.drop.onDragLeave) {\n                state.drop.onDragLeave(event);\n            }\n            break;\n        }\n        default:\n            break;\n    }\n};\n","var detectBrowser = function () {\n    var ua = window && window.navigator.userAgent;\n    if (!ua) {\n        return false;\n    }\n    var browser = false;\n    var match = [];\n    var browserRxs = {\n        edge: /(edge)[ \\/]([\\w.]+)/i,\n        webkit: /(chrome|crios)[ \\/]([\\w.]+)/i,\n        safari: /(webkit)[ \\/]([\\w.]+)/i,\n        opera: /(opera)(?:.*version|)[ \\/]([\\w.]+)/i,\n        msie: /(msie\\s|trident.*? rv:)([\\w.]+)/i,\n        mozilla: /(mozilla)(?:.*? rv:([\\w.]+)|)/i\n    };\n    for (var agent in browserRxs) {\n        if (browserRxs.hasOwnProperty(agent)) {\n            match = ua.match(browserRxs[agent]);\n            if (match) {\n                browser = {};\n                browser[agent] = true;\n                browser[match[1].toLowerCase().split(\" \")[0].split(\"/\")[0]] = true;\n                browser.version = parseInt(document.DOCUMENT_NODE || match[2], 10);\n                break;\n            }\n        }\n    }\n    return browser;\n};\n/** @hidden */\nexport var getDocument = function (element) {\n    return element ? element.ownerDocument || window.document : window.document;\n};\n/** @hidden */\nexport var getWindow = function (element) {\n    var document = getDocument(element);\n    return document\n        ? document.defaultView || window\n        : window;\n};\n/** @hidden */\nexport var scrollableRoot = function (element) {\n    var support = { browser: detectBrowser() };\n    var document = getDocument(element);\n    return (support.browser.edge || support.browser.safari) ? document.body : document.documentElement;\n};\n/** @hidden */\nexport var isScrollable = function (el) {\n    if (el && el.className && typeof (el.className) === 'string' && el.className.indexOf('k-auto-scrollable') > -1) {\n        return true;\n    }\n    var overflow = window.getComputedStyle(el, 'overflow').overflow;\n    return overflow.indexOf('auto') > -1 || overflow.indexOf('scroll') > -1;\n};\n/** @hidden */\nexport var getScrollableParent = function (el) {\n    var root = scrollableRoot(el);\n    if (!el || el === document.body || el === document.documentElement) {\n        return root;\n    }\n    var parent = el;\n    while (parent\n        && parent !== document.body\n        && parent.nodeType !== Node.DOCUMENT_FRAGMENT_NODE\n        && parent.nodeType !== Node.DOCUMENT_NODE\n        && !isScrollable(parent)) {\n        parent = parent.parentNode;\n    }\n    if (parent && (parent === document.body || parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE)) {\n        return root;\n    }\n    return parent;\n};\n/** @hidden */\nexport var autoScrollVelocity = function (mouseX, mouseY, rect) {\n    var velocity = { x: 0, y: 0 };\n    var AUTO_SCROLL_AREA = 50;\n    if (mouseX - rect.left < AUTO_SCROLL_AREA) {\n        velocity.x = -(AUTO_SCROLL_AREA - (mouseX - rect.left));\n    }\n    else if (rect.right - mouseX < AUTO_SCROLL_AREA) {\n        velocity.x = AUTO_SCROLL_AREA - (rect.right - mouseX);\n    }\n    if (mouseY - rect.top < AUTO_SCROLL_AREA) {\n        velocity.y = -(AUTO_SCROLL_AREA - (mouseY - rect.top));\n    }\n    else if (rect.bottom - mouseY < AUTO_SCROLL_AREA) {\n        velocity.y = AUTO_SCROLL_AREA - (rect.bottom - mouseY);\n    }\n    return velocity;\n};\n/** @hidden */\nexport var scrollableViewPort = function (el, window) {\n    var root = scrollableRoot(el);\n    if (el === root) {\n        return {\n            top: root.scrollTop,\n            left: root.scrollLeft,\n            bottom: root.scrollTop + window.innerHeight,\n            right: root.scrollLeft + window.innerWidth\n        };\n    }\n    else {\n        var rect = el.getBoundingClientRect();\n        return {\n            bottom: rect.top + rect.height,\n            right: rect.left + rect.width,\n            left: rect.left,\n            top: rect.top\n        };\n    }\n};\n/** @hidden */\nexport var isPointerInsideContainer = function (x, y, container) {\n    var rect = container.getBoundingClientRect();\n    return (rect.top <= y &&\n        rect.left <= x &&\n        y <= rect.bottom &&\n        x <= rect.right);\n};\n","import { scrollableRoot } from './utils';\n/** @hidden */\nexport var autoScroll = function (scrollableParent, vel) {\n    if (!scrollableParent) {\n        return;\n    }\n    var yIsScrollable;\n    var xIsScrollable;\n    var isRootNode = scrollableParent === scrollableRoot(scrollableParent);\n    if (isRootNode) {\n        yIsScrollable = document.body.scrollHeight > window.innerHeight;\n        xIsScrollable = document.body.scrollWidth > window.innerWidth;\n    }\n    else {\n        yIsScrollable = scrollableParent.offsetHeight <= scrollableParent.scrollHeight;\n        xIsScrollable = scrollableParent.offsetWidth <= scrollableParent.scrollWidth;\n    }\n    var yDelta = scrollableParent.scrollTop + vel.y;\n    var yInBounds = yIsScrollable && yDelta > 0 && yDelta < scrollableParent.scrollHeight;\n    var xDelta = scrollableParent.scrollLeft + vel.x;\n    var xInBounds = xIsScrollable && xDelta > 0 && xDelta < scrollableParent.scrollWidth;\n    if (yInBounds) {\n        scrollableParent.scrollTop += vel.y;\n    }\n    else if (yIsScrollable && yDelta < 0) {\n        scrollableParent.scrollTop = 0;\n    }\n    if (xInBounds) {\n        scrollableParent.scrollLeft += vel.x;\n    }\n    else if (xIsScrollable && xDelta < 0) {\n        scrollableParent.scrollLeft = 0;\n    }\n};\n","import * as React from 'react';\n/** @hidden */\nexport var ZIndexContext = React.createContext(0);\n/** @hidden */\nexport var useZIndexContext = function () { return React.useContext(ZIndexContext); };\nZIndexContext.displayName = 'KendoReactZIndexContext';\n","/**\n * @hidden\n */\nvar getDocument = function () { return typeof document !== 'undefined' ? document : {}; };\n/**\n * @hidden\n */\nvar BrowserSupportService = /** @class */ (function () {\n    function BrowserSupportService() {\n        this.scrollbar = 0;\n    }\n    Object.defineProperty(BrowserSupportService.prototype, \"scrollbarWidth\", {\n        get: function () {\n            var document = getDocument();\n            if (!this.scrollbar && document && document.createElement) {\n                var div = document.createElement('div');\n                div.style.cssText = 'overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block';\n                div.innerHTML = '&nbsp;';\n                document.body.appendChild(div);\n                this.scrollbar = div.offsetWidth - div.scrollWidth;\n                document.body.removeChild(div);\n            }\n            return this.scrollbar;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    return BrowserSupportService;\n}());\nexport { BrowserSupportService };\n","/**\n * @hidden\n */\nexport var canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n    window.document &&\n    window.document.createElement);\n","/**\n * @hidden\n */\nvar isClassComponent = function (Component) { return Boolean(typeof Component === 'function' && !!Component.prototype.isReactComponent); };\n/**\n * @hidden\n */\nvar isForwardRef = function (Component) { return Boolean(Component.$$typeof && typeof Component.render === 'function'); };\n/**\n * @hidden\n */\nexport var canUseRef = function (Component) { return typeof Comment !== 'string' && (isClassComponent(Component) || isForwardRef(Component)); };\n","/**\n * @hidden\n */\nexport var classNames = function () {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n    }\n    var result = {};\n    var addLeafKeys = function (arg) { return typeof arg === 'object' ? Object\n        .keys(arg)\n        .forEach(function (key) {\n        result[key] = arg[key];\n    }) : result[arg] = true; };\n    ;\n    var addKeys = function (list) { return list\n        .filter(function (arg) { return arg !== true && !!arg; })\n        .map(function (arg) {\n        return Array.isArray(arg) ?\n            addKeys(arg) :\n            addLeafKeys(arg);\n    }); };\n    ;\n    addKeys(args);\n    return Object\n        .keys(result)\n        .map(function (key) { return (result[key] && key) || null; })\n        .filter(function (el) { return el !== null; })\n        .join(' ');\n};\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport var cloneDate = function (date) { return date ? new Date(date.getTime()) : null; };\n/**\n * @hidden\n */\nexport function clone(obj) {\n    var result = {};\n    cloneObject(obj, result);\n    return result;\n}\n/**\n * @hidden\n */\nexport function cloneObject(obj, result) {\n    for (var field in obj) {\n        if (obj.hasOwnProperty(field)) {\n            var value = obj[field];\n            result[field] = cloneValue(value, result[field]);\n        }\n    }\n}\n/**\n * @hidden\n */\nexport function cloneValue(value, nextValue) {\n    if (Array.isArray(value)) {\n        return cloneArray(value);\n    }\n    else if (value instanceof Date) {\n        return cloneDate(value);\n    }\n    else if (React.isValidElement(value)) {\n        return React.cloneElement(value, value.props);\n    }\n    else if (value && typeof value === 'object') {\n        var newNextValue = nextValue || {};\n        cloneObject(value, newNextValue);\n        return newNextValue;\n    }\n    else {\n        return value;\n    }\n}\n/**\n * @hidden\n */\nexport function cloneArray(array) {\n    return array.map(function (value) { return cloneValue(value, undefined); });\n}\n","/**\n * @hidden\n */\nexport var focusFirstFocusableChild = function (target) {\n    if (target) {\n        if ((target instanceof HTMLInputElement || target.tabIndex !== -1) && target.focus) {\n            target.focus();\n            return;\n        }\n        var element = target.querySelector('input, [tabindex]:not([tabindex=\"-1\"])');\n        if (element && element.focus) {\n            element.focus();\n        }\n    }\n};\n","/**\n * @hidden\n */\nvar FormComponent = /** @class */ (function () {\n    function FormComponent() {\n    }\n    return FormComponent;\n}());\nexport { FormComponent };\n","/* eslint-disable radix */\n/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n    var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n    if (parsedTabIndex === NaN) {\n        return undefined;\n    }\n    return parsedTabIndex !== undefined\n        ? parsedTabIndex\n        : disabled ?\n            (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n            : DEFAULT_TABINDEX;\n};\n","/**\n * @hidden\n */\nexport var FIELD_REGEX = /\\[(?:(\\d+)|['\"](.*?)['\"])\\]|((?:(?!\\[.*?\\]|\\.).)+)/g;\n","import { FIELD_REGEX } from './constants';\n/**\n * @hidden\n */\nexport function fieldList(field) {\n    var fields = [];\n    field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n        fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n    });\n    return fields;\n}\n","import { fieldList } from './fieldList';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * Can be used for getting value from object using field path. For example `users[index].name`.\n *\n * @example\n * ```jsx-no-run\n * const values = {users:[{lastName: 'Doe'}]};\n * const firstUserLastName = getter('user[0].lastName');\n *\n * console.log(firstUserLastName(values))\n *\n * // result: 'Doe'\n * ```\n */\nexport function getter(field) {\n    if (getterCache[field]) {\n        return getterCache[field];\n    }\n    var fields = fieldList(field);\n    getterCache[field] = function (obj) {\n        var result = obj;\n        for (var idx = 0; idx < fields.length && result; idx++) {\n            result = result[fields[idx]];\n        }\n        return result;\n    };\n    return getterCache[field];\n}\n","/* eslint-disable no-bitwise */\n/**\n * @hidden\n */\nexport var guid = function () {\n    var id = '';\n    var i;\n    var random;\n    for (i = 0; i < 32; i++) {\n        random = Math.random() * 16 | 0;\n        if (i === 8 || i === 12 || i === 16 || i === 20) {\n            id += '-';\n        }\n        id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n    }\n    return id;\n};\n","/**\n * @hidden\n */\nexport var Keys = {\n    backspace: 8,\n    tab: 9,\n    enter: 13,\n    shift: 16,\n    esc: 27,\n    space: 32,\n    pageUp: 33,\n    pageDown: 34,\n    end: 35,\n    home: 36,\n    left: 37,\n    up: 38,\n    right: 39,\n    down: 40,\n    delete: 46\n};\n","/**\n * @hidden\n */\nexport var noop = function () { };\n","import { BrowserSupportService } from './browser-support.service';\nimport { canUseDOM } from './canUseDOM';\n/**\n * @hidden\n */\nexport var getScrollbarWidth = function () {\n    if (!canUseDOM || !document.body) {\n        return false;\n    }\n    var scrollbarWidth = new BrowserSupportService().scrollbarWidth;\n    return scrollbarWidth;\n};\n/**\n * @hidden\n */\nexport var setScrollbarWidth = function () {\n    if (!canUseDOM || !document.body) {\n        return false;\n    }\n    var scrollbarWidth = new BrowserSupportService().scrollbarWidth;\n    document.body.style.setProperty('--kendo-scrollbar-width', \"\".concat(scrollbarWidth, \"px\"));\n};\n","import { fieldList } from './fieldList';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\nvar defaultValue = function (nextField, options) {\n    return options && options.arrays && !isNaN(Number(nextField)) ? [] : {};\n};\n/**\n * Can be used for setting value to object using field path. For example `users[index].name`.\n *\n * @example\n * ```jsx-no-run\n * const values = {users:[{lastName: 'Doe'}]};\n * const firstUserFirstName = setter('user[0].firstName');\n *\n * firstUserFirstName(values, 'John');\n *\n * console.log(values)\n *\n * // result: {users:[{firstName: 'John', lastName: 'Doe'}]}\n * ```\n */\nexport function setter(field) {\n    if (setterCache[field]) {\n        return setterCache[field];\n    }\n    var fields = fieldList(field);\n    setterCache[field] = function (obj, value, options) {\n        var root = obj;\n        var depth = fields.length - 1;\n        for (var idx = 0; idx < depth && root; idx++) {\n            root = root[fields[idx]] = root[fields[idx]] || defaultValue(fields[idx + 1], options);\n        }\n        root[fields[depth]] = value;\n    };\n    return setterCache[field];\n}\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n        if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n};\n// Gets and sets the children. Returns the children or the re-created item with the new children.\nfunction children(item, subItemsField, subItems) {\n    var _a;\n    if (subItems) {\n        return __assign(__assign({}, item), (_a = {}, _a[subItemsField] = subItems.length ? __spreadArray([], subItems, true) : undefined, _a));\n    }\n    else {\n        return item && item[subItemsField] ? __spreadArray([], item[subItemsField], true) : [];\n    }\n}\nfunction mapItem(dataItem, subItemsField, callbackfn) {\n    if (dataItem[subItemsField]) {\n        var subItems = children(dataItem, subItemsField).map(function (child) { return mapItem(child, subItemsField, callbackfn); });\n        return callbackfn(children(dataItem, subItemsField, subItems));\n    }\n    return callbackfn(dataItem);\n}\n/**\n * Creates a new array with the results of calling the provided callback function\n * on every element in the provided data tree.\n *\n * @param {any[]} tree - The data tree.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @param {(value: any) => any} callback - The callback function.\n * @returns {any[]} - The new data tree.\n */\nexport var mapTree = function (tree, subItemsField, callback) {\n    return __spreadArray([], tree.map(function (item) { return mapItem(item, subItemsField, callback); }), true);\n};\n/**\n * Creates a new array with the results of calling the provided callback function\n * on the element which match the `level` in the provided data tree.\n *\n * @param {any[]} tree - The data tree.\n * @param {number[]} level - An array of indexes of each parent and current item in the data tree.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @param {(value: any) => any} callback - The callback function.\n * @returns {any[]} - The new data tree.\n */\nexport var mapTreeItem = function (tree, level, subItemsField, callback) {\n    var curData = tree;\n    var parentNodes = [];\n    for (var i = 0; i < level.length; i++) {\n        curData = curData[level[i]];\n        curData = Array.isArray(curData) ? curData : curData[subItemsField];\n        parentNodes.push(curData);\n    }\n    var parent = parentNodes.length > 1 ? parentNodes[parentNodes.length - 2] : tree;\n    var newItemIndex = level[level.length - 1];\n    var newItem = callback(parent[newItemIndex]);\n    parent.splice(newItemIndex, 1, newItem);\n};\n/**\n * Similar to the `Object.assign` function. Additionally, creates a new array for the subitems.\n *\n * @param {object} item - The source data item.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @param {object} propsToExtend - The props with which the source data item will be extended.\n * @returns {object} - The target data item.\n */\nexport var extendDataItem = function (item, subItemsField, propsToExtend) {\n    var _a;\n    return Object.assign({}, item, item[subItemsField] ? (_a = {}, _a[subItemsField] = item[subItemsField].slice(), _a) : {}, propsToExtend || {});\n};\n/**\n * Returns the data item path in the tree based on the level parameter.\n *\n * @param {any[]} tree - The data tree.\n * @param {number[]} level - The level of the target tree item.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @returns {any[]} - The path of the data item.\n */\nexport var getItemPath = function (tree, level, subItemsField) {\n    var nodes = [];\n    var itemLevel = __spreadArray([], level, true);\n    if (itemLevel.length) {\n        var element = tree[itemLevel.shift() || 0];\n        nodes.push(element);\n        while (itemLevel.length && subItemsField) {\n            element = element[subItemsField][itemLevel.shift() || 0];\n            nodes.push(element);\n        }\n    }\n    return nodes;\n};\n","import * as licensing from '@progress/kendo-licensing';\nvar allowed = ['telerik.com', 'progress.com', 'stackblitz.io', 'csb.app'];\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n    if (typeof licensing !== 'undefined') {\n        licensing.validatePackage(packageMetadata);\n    }\n    else {\n        var message = \"License activation failed for \".concat(packageMetadata.name, \"\\n\");\n        message += 'The @progress/kendo-licensing script is not loaded.\\n';\n        message += \"See \".concat(packageMetadata.licensingDocsUrl, \" for more information.\\n\");\n        console.warn(message);\n    }\n}\n/**\n * @hidden\n */\nexport function shouldShowValidationUI(packageMetadata) {\n    var skip = allowed.some(function (hostname) { var _a; return (_a = globalThis.document) === null || _a === void 0 ? void 0 : _a.location.hostname.endsWith(hostname); });\n    return !skip && !(licensing === null || licensing === void 0 ? void 0 : licensing.validatePackage(packageMetadata));\n}\n","import { canUseDOM } from './canUseDOM';\n/** @hidden */\nexport var hasRelativeStackingContext = function (elementSource) {\n    if (!canUseDOM) {\n        return false;\n    }\n    // Component need to pass element to make sure document owner is correct.\n    // This however might be performance hit if checked for example on each drag event.\n    var currentDocument = elementSource ? elementSource.ownerDocument : document;\n    if (!currentDocument || !currentDocument.body) {\n        return false;\n    }\n    var top = 10;\n    var parent = currentDocument.createElement('div');\n    parent.style.transform = 'matrix(10, 0, 0, 10, 0, 0)';\n    var child = currentDocument.createElement('div');\n    child.appendChild(currentDocument.createTextNode('child'));\n    child.style.position = 'fixed';\n    child.style.top = top + 'px';\n    parent.appendChild(child);\n    currentDocument.body.appendChild(parent);\n    var isDifferent = child.getBoundingClientRect().top !== top;\n    currentDocument.body.removeChild(parent);\n    return isDifferent;\n};\n","/* eslint-disable max-len */\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nvar licenseKeyUrl = 'https://www.telerik.com/kendo-react-ui/components/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-banner';\nvar didRender = false;\n/**\n *\n * @hidden\n */\nexport var WatermarkOverlay = function () {\n    var _a = React.useState(true), isOpen = _a[0], setIsOpen = _a[1];\n    var _b = React.useState(false), bannerMounted = _b[0], setBannerMounted = _b[1];\n    React.useEffect(function () {\n        if (!didRender) {\n            setBannerMounted(true);\n            didRender = true;\n        }\n    }, []);\n    var onCloseBannerClick = function () {\n        setIsOpen(false);\n    };\n    var bannerElement = (React.createElement(React.Fragment, null, isOpen && (React.createElement(\"div\", { style: {\n            display: 'flex',\n            justifyContent: 'center',\n            alignItems: 'center',\n            position: 'fixed',\n            top: '16px',\n            right: '16px',\n            padding: '12px',\n            borderRadius: '4px',\n            boxShadow: '0px 4px 5px 0px rgba(0, 0, 0, 0.04), 0px 2px 4px 0px rgba(0, 0, 0, 0.03)',\n            fontSize: '14px',\n            fontWeight: 400,\n            lineHeight: '20px',\n            backgroundColor: '#FFC000',\n            color: '#1E1E1E',\n            zIndex: 999\n        } },\n        React.createElement(\"span\", { style: { display: 'flex', alignSelf: 'center', marginRight: '8px' } },\n            React.createElement(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\" },\n                React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M8 1L0 15H16L8 1ZM7 6V11H9V6H7ZM7 14V12H9V14H7Z\", fill: \"#1E1E1E\" }))),\n        React.createElement(\"span\", null, \"No valid license found for KendoReact. Learn how to activate your license.\"),\n        React.createElement(\"div\", { style: { display: 'flex', alignItems: 'center', marginLeft: '24px' } },\n            React.createElement(\"a\", { href: licenseKeyUrl, style: { marginRight: '8px', display: 'flex' } },\n                React.createElement(\"button\", { title: 'Learn More', style: {\n                        display: 'inline-flex',\n                        position: 'relative',\n                        border: 'none',\n                        borderRadius: '4px',\n                        padding: '5px',\n                        backgroundColor: 'transparent',\n                        transition: 'color 0.2s ease-in-out',\n                        outline: 'none',\n                        cursor: 'pointer'\n                    } },\n                    React.createElement(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\" },\n                        React.createElement(\"path\", { d: \"M15 8C15 11.8656 11.8656 15 8 15C4.13437 15 1 11.8656 1 8C1 4.13437 4.13437 1 8 1C11.8656 1 15 4.13437 15 8ZM14 8C14 4.6875 11.3125 2 8 2C4.6875 2 2 4.6875 2 8C2 11.3125 4.6875 14 8 14C11.3125 14 14 11.3125 14 8ZM11 6C11 7.4125 10.2687 8.05937 9.73125 8.53125C9.25937 8.94688 9 9.17813 9 10H7C7 8.275 7.84688 7.525 8.40938 7.03125C8.84062 6.65312 9 6.50938 9 6C9 5.45 8.55 5 8 5C7.45 5 7 5.45 7 6H5C5 4.34375 6.34375 3 8 3C9.65625 3 11 4.34375 11 6ZM9 13V11H7V13H9Z\", fill: \"#1E1E1E\" })))),\n            React.createElement(\"button\", { title: 'Close', style: {\n                    display: 'inline-flex',\n                    position: 'relative',\n                    border: 'none',\n                    borderRadius: '4px',\n                    padding: '5px',\n                    backgroundColor: 'transparent',\n                    transition: 'color 0.2s ease-in-out',\n                    outline: 'none',\n                    cursor: 'pointer'\n                }, onClick: onCloseBannerClick },\n                React.createElement(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\" },\n                    React.createElement(\"path\", { d: \"M13 4.41562L9.41563 8L13 11.5844L11.5844 13L8 9.41563L4.41562 13L3 11.5844L6.58437 8L3 4.41562L4.41562 3L8 6.58437L11.5844 3L13 4.41562Z\", fill: \"#1E1E1E\" }))))))));\n    return (React.createElement(React.Fragment, null,\n        React.createElement(\"div\", { style: {\n                position: 'absolute',\n                width: '100%',\n                height: '100%',\n                top: 0,\n                left: 0,\n                right: 0,\n                bottom: 0,\n                opacity: 0.2,\n                zIndex: 101,\n                pointerEvents: 'none',\n                backgroundImage: 'url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABVxSURBVHgB7Z3tVRtJE4WL9zgANgLLGRCCnAGOADmCxRGgDFAGYiOADKQMIAGO9J8ji42g37mjqlUjBgOanpn+uM85sjC2sKzbVd1dVV0tQgghhBBCCCGEEEIIKRPn3Gn1GAlJmmN1pP558J6OX9540ejh4WGlX09OTk7+EZIclXYXlY43+vVflY7PH3wd9c+AY/Wvvcb9/b0bjUYOz/hBQpICmh1oOPrEa6l/4rTR337AhIMgTSqtzg+0m8gnof7p0mD8EzmGhkFwJiR6np6e7luLL9Q/RTDTBzF+7wfWg2CxWOCHjYVET6XTdLPZrFuLL9Q/NeCkoVUQ4/d+6Ijev1yof1rAUVMvQgjJHebrSRu+CEmWo/O8hISgCjStKpgiGoDWed4AUP/hwGf++Pi4hQYyFHgDzBP3T7A8b0uo/zD4+sMBy1CwWKR/YjF+fS/Uv2di0t/eEAdBT0QnvlD/PolR/xoOgu4JUd7bFdS/e6I1foODoFuqz3M2mUziFF+of5dEb/xGwyAYCwmCVuPNYv5MqX94Yl75NWKD4PLyEm92KqQoqH9Y8Bnis0zC+A14LbxxVqiVCfUPh678plxNFYQe5pjRgAgpDAv4IOAHJyCEkDJoiPaeCyG5UA1oRIYWHNivSSbV0wLq/zbQXz+bS8kV/AeZJ35NCcYPqH8zvv4VS8kVFou8phTjB9T/NcVt+zgI9rjQDRwTgPrvKcn5v4CDYIfT/vtFiS/UHxRr/AYHwQ4t9DiVwihZ/+KN36ATKJsS9U+utr9r/EGQdQSUNFKa/geZkImQ/2rHlznnQDG7oX9b9Xwl5AUl6G9oLcSSxl8Q/p4P13YJIaQMisvzEkJ2lJjnJyQY3lnoJGfNUvP8oUhZf7c70s2eCG1wL7uhRJ0iQnCveiDIhzf7t/f9IvP8IUhJfx/b9rErUkvgRVPIE1fv6xrvbzweu7OzM3d7e4v3OhfSilT092HMJzCxF4u43eWctfFvt1uHu9nxXvF1CWmtroldfx9W+HVErINAjX+M65ngAPxnOAJ1AiMhrUjBCdD4Oya2QYBlPwx8vV47WwFg+a+XZbrz83NzANz/ByBmJ0Dj74lYBgECfrbnt6U/DB/vC7388L2rqyu8vzshwYjRCdD4e8YfBLidVgYA0X7M9jB8PGazmbu5ualnfiz9dSAsufwPTwz6+5jjp/H3CD5ofPB9343u9v3u6+U+0jyY7eEA8Hx3d4c/QjvvMyGdMZT+TeA9wBHR+DPHUn3T6bRe7uMxn89tn18v/TH7O17gQEheYM9vEX7M9hbsg/FbHED3/IPPSISQgNhyE0au+7x7PPtOQFcB3PMTMjTYf4cyRN3zL2DgMHgs/7XU99acgDIWEgUh9W/4uWMh8QKBvCh8qxSR7fmxt0eEv8kJ6MzP8/2REFL/g59bp/o0xsMAb6xAnBB5Yr+6D3X9KOpBxP/ACWA0jFnoEw+h9D/4mYd5/pGQeAlRLFK95tJy+35578PDQ+0E9LAPi3wixAUsFmKRT6I0DIIPzdJuf6R3i+UeZnsz/nqjPx47/fMpZ/54OVb/g5/BZi4pY4Pgo8s2d3CkF0Z/cXFRL/+Xy2W9BdBUH4/5JsBn9W94PZu5pI77QzMOjepiNp/j71hO//fv31sr7qmtfT73i3xWjnvAZHhH/4nquXrLwB2bueSJ27Vmvodhq4df4BmzvQb3IPxWl/zgRl/DwZA4GrhdYFUHfbHE1y0enXsJ2FLfCnggvjqBejDoTI8o38ocgJAscNq8BY4fv/Uf+J46gjkdQcbA+19fXzs7zQfR8TWcgH+kFw/u+fMDKz/o3OQETk9PLcWLPSBbeeWELd91eb+CcTc5gXr6r9J8PNKbF/7S3z+6DYcvDasBOv6M0GUduNDfv+cEYPhjIVmA+I3Vc4gaOQzfHAECvb4joAPICCzlrIJP93h/dAIYDBQ/L8wBNC37rXUblv5CB5AfGvi5h6F7Ed9GJ2CZP0b780O1vreVnnhOAFsBOoCMscg/HMBbTsCO+grJFkvvHmYCSnYA/5MMcbsiH6TykNgfr9fry58/f0oltFxcXMj379+l+h42gBcnJyfr6iXfq1nhJ56FZIeuAq+fn59Xv379Oq0CgVJNBEIydAAavLv98ePHeSX4bfX1OQSv9noQ/a7y9A8HTuAcTqB63FSPZyE5Mq3GwOW3b99kNpu9+5e/fv2Kp3+FpAW8vB3cwbLOOvZYfl9LfGdW9KOn+mZCskZXhCuL9vtLfjvshd97hWArpn8TxGn5rhZzOL/gB19DYBzzxcEeTQEtGfArB7c7xbmyVu4YExoTuNcYEL6eCkkTxHYOmna4wzQfvq8z/+o949e940hIkjTp5/ZXjm/1+VQfr856UP/EcLtqr9s/OQENDl5+wPhH3nHQZK6mJjucNvNo2w+A+icC0jaY4a2LT5MT+Mye3+l58JSupiY7XIA2XtQ/IZw2f7D9v+X6D53AZ/f8LqGrqckOF7CNF/VPAF3Or6xvv53r951Amx5+DYOAXWEjxXXQxov6R4zTSzusht8OfABE+r3U39y1iPbbIODVX3ED4/Tagk8kENQ/QiyaC1Fg7PX6frm0Mk6/wUOQ8l799+j9I0cDwcF1ov4R4Xbde2vjxi92ogsPzPrY92szD7buJiQn3K6+v17q2yxvlV1u3+TRAn4jIYTkAfbymOWx1AcwfHMEXp5/JISQ9PEDd867ohvGbvt+cwRe6+5ee7ltNpuVf7yYdA8+68fHxy0+exkY6t8RGnSxJX19yAd7fWvhjEs7NOCHb2D9/+AGqO3HQGSeuD/8PD/GggwM9e8IBPCwr7ciHnzA6NrqtW5+4QRkIByLRXrDRXhXH/XvCKRccEuPX8mHD9jr7Vc7AV32D9rJh4Oge2I0foP6d8QHnADO9kdxYw8HQXfEbPwG9e+It5yAlvdG1beNgyA8KRi/Qf07oskJIEYQw8x/SMMgGAs5CmR0UjF+g/oHwh00YzAn0OZgT1/YINBU5VTIUeCzw2eYivEb1L8l7o1mDm7X220a48x/iNtVLE4dC5OOxu2794wlMaj/kbgAzRwIIQmS4p6PEBKIp6enexo/IYWCPdNms1nnbPxat7BwvH/+P7Dt08/kUjKH+hcOxGeeeI8f86lYSuZQ/8JhsciehoBv9rMi9VdcwZcucBCkVeEXmuL1dy0vbciBkgdBycZvFKs/8/x7ShwENP49xelP8V9T0iBgncdritGfxv82/iDIORJ+EAGfCKnJXn8a//to7fgy51y45sCX1P812erPZR8hBVMZ/Ax9+2j8hBSIHumcpXikkxBCBsXtz8QnUyXndvfz8Sx8AFLUnwTEveyKE32KyAK+7IYThqT0V88/o+cPBz7TVPLEJdb2d00y+pv4elHHTEgwUigWYaq3O6LXn56/e2IeBDT+7olWf4rfHzEOAurfH9HpT/H7J6ZBQP37Jxr9Kf5w+IMAt9PKQOB6NurfP4Prjyg/jX9Y8JnDAHE/vQwE/m0MQOrfP4PqX/3jp15Dj4kQQspCK5SK7OZDCCGEEBIfbneH4kgCoT9vLCQJguqPaD8CDdXzlZDogaEuFotgKSLL9uBnYmAJiZqg+vupPlzbJSR6YKSh8sSODVyTI5j+LO9NlxDFIqzzSJfW+jPPnz4Ng+DDGRvqnz5t9GeePxNsEHx2+U798+BY/e3FzPNnwLE6Uv88oI6EEEIIIYQQQgghhBBCCCGEEEIIIYQQQkiRoHyQxz/T51gdqX8evKfjlzdeNHp4eFjp15OTk5N/hCQHjoFWOt7o139VOj5/8HXUPwOO1f+/02ApXEhJmmnTzIP6p49r28wlRFMJMgwhmnlQ/3RB854g/RwaBgF7wkVOyGYe1D9N0L4vWDMXGwTaFHIsJGpgpF5TyIm0hPqnR6XTdLPZrF2oZi7aVIDePxFgqCH1ov6EEEIIITHRtl7jixBCkuToPH8ocGMQrihmiqh/8Jnjau6hrwen/sPQOs8fAgxA5on7xxcfBigDQf2HIUSdR6g3wmKRnolGfKH+QxCT/vaGOAh6Ijrxhfr3SYz613AQdE+04gv174Ng5b1dwUHQHTEbv0H9u6X6PGeTySTu69oaBsFYSCui9/we1L87tBpzFv1naoPg8vISA2AqpBX4DPFZxm78BvUn9awF8R07yrRGPf80pdmU+hNCyJHoYa4ZHSghhWEBXwT84ASEEFIGDdmec8mJ6j+EyNAiu/9YACC+fjaXkinU/21SSPW2BuIzT/waX/yKpWQK9W+mCOMHLBZ5TfbLPg/q/5pijN/gINhTnPhC/X1cwAauScFBUKbxG9R/h9P7F0rTv6bkQVCy8Rt0Aju00OtUSqTEQZBSbX/X0AmQF4Mg5wi4cRAJn0jhlKY/aUBrx5c558ANzYUvafx7StAfqxv0UKyer4QQUg5+zAfXdgkhpAxKqvMghHgUm+cPhdufhU/Oa+qRTp6Jb0HK+oOi8/whcC+74SSTIrJlH7vitCMl/RHcqx4I8uHN/u19v9w8f1swi6aWJ+aeLxyp6F+9r2u8v/F47M7Oztzt7S3e61xIe1IqFmGFX3hi19/tLuesjX+73brFYlG/V3xdQlq7F1JwAjT+7ohVfzX+Ma5ngwPwn+EI1AmMhLQnZidA4++e2PTHsh8Gvl6vna0AsPzXy1Ld+fm5OQDu/0MRoxOg8fdHLPoj4Gd7flv6w/DxvtDLD9+7urrC+7sTEhZ/EOB2WhkYE57G3w8x6I9oP2Z7GD4es9nM3dzc1DM/lv46FpZc/ncEBgEMD7XVMjB4DxiINP7+GEp/t7/voF7uI0WJ2R4OAM93d3f4I7TzPhNCSD5Yqm86ndbLfTzm87nt8+ulP2Z/x+vQCMkL7Pktwo/Z3oJ9MH6LA+ief/AVKSEkILbdgJHr3v4ez74T0FUA9/wxgP1XF0Lozx0LiZqQ+uuefwEDh8Fj+a+lvrfmBJSxkOGBEF4UNliKyFJ9usdjgCdSQupve37s7RHhb3ICOvPzfH8swDhD54kb8vwjIVESSn+/ug91/SjqQcT/wAlgNhiz0CcyQhaLsMgnPULoX73m0nL7fnnvw8ND7QT0sA+LfGKlYRB82ks7NnNIlmP1d/sjvVtsJTDbm/HXG/3x2OmfTznzR44NgmOX7Y7NHJLms/q7gyO9MPqLi4t6+b9cLustgKb6eMw3FdwfmjFggKg3X71l4I7NHJLmHf3PVPs5/o7l9H///r214p7a2udzv8hn5RgDShsN3Czg1SE4lom6xKO4heB2rdnvYdi6QljgGbO9BvfgOLa65Ac3+hpOBinjtHkDhMdv/Qe+p45gTkeQL7bUtwIeaK5OoJ4MdKZHlG9lDkBIPsDzQ/QmJ3B6emopHqwB2corQzDDX19fOzvNh7GAr+EE/CO9eHDPnxH+0t8/ugnBpWE1QOHzwpbvurxfwbibnEA9/VdpPh7pzQjs3yyfK2rkMHxzBAj0+I6ADiAvdFsHLvT37zkBGP5YSB6YA2ha9lvrJiz9hQ4gO7CVswo+jfH80QlgMqD2GaKC35unF88JYCtAB5AnGvi9h6F7GZ9GJ2CZP0b7M8XSO4eZADqAvLHIPxzAW07AjvpKYfxPCkBngevn5+fVr1+/TqtAoFQDQUieuF2RD1J5SOyP1+v15c+fP6Vy9HJxcSHfv3+X6nsIAF2cnJysq5d8r1YAP/EshVGEA6iYVkZ/+e3bN5nNZu/+5a9fv+LpXyHJocG72x8/fpxXDv+2+vocDr+K9cDp31UrvYcDJ3AOJ1A9bqrHs5D80BlhZdF+f8lvhz3we68QZMX0T3pglWcHd6Cjdeyx/L6W+M6s6EdP9c2ElIHbneJaWStnFIRoTOBe94D4eiokSZyW72oxl/MLfvA1jB6642CPpoCXDPhljO79RwffG6kj2OrzqT5e1Xo3vZ7EC2K7B0073GGaD9/XmX/1nvFT/4Rx2syjbT+AIW+gIZ/D7ao9b//kBDQ4ePkB46f+qeICtPFy2g8gpavJSwZpW8zw1sWnyQl8Zs9P/RPFBWzj5RK6mrxkTCfb/1uu/9AJfHbPT/0Tw3XQxqthELArcETocn5lffvtXL/vBNr08KP+CQFxvLbQEwmEDQJe/RQXTi/tsBp+O/AFEOn3Un9z1yLaT/0TQgNBwb20Zg/o/SPBsjkwShh7vb5fLq2M22/wEqS8V/+9sRBChsXtuvfWxo1f7EQnHpj1se/XZh5s3U1ITrhdfX+91LdZ3io73b7JqwX8RkIIyQPs5THLY6kPYPjmCLw8/0hI3iAd8/j4uN1sNisZGLwH/3gpCYcfuHPeFd0wdtv3myPwWnf32suR+veMn+fHBy8DA0fEPHF4NOhmS/r6kA/2+tbCHZd2aMAP38D6/8ENUNtP/XvERXhXn2OxSCcggId9vRXx4LNF12avdfsLJyADQf17IkbjNzgIwoOUK27p8Sv58Nl6vf1qJ6DL/kE7+VD/jonZ+A0OgvB8wAngbH8UN/ZQ/45IwfgNDoLwvOUEtLw3qr6N1D8wiOimYvxGwyAYC2lFkxNAjCCGmf8Q6h8QRHeR7knF+A0bBJqqmgr5NO6gGYc5gTYHe/qC+gfC7bv3jCUx3K5ibepYmPJp3BvNXNyut+M0xpn/EOpPyBG4AM1cCCEJkmLMhxASiKenp3saf4Fg2Vc9FsjpSuZo3hr/115r1lMAe+bNZrPO2fip/wH+nq9iKZkD8ZknLhfq79EQ8MneK7JYpGyov5JShV9oOAjKvnSjeP1LNn6j5EHgWl7akgPF6k/j31PiIGCef09x+jPP+5qSBgGd/2uKcgIHEdCJkBp/EOSaCaHxv00J+tdoDnRJ8V+jtePLHGshaPzvk7P+pGC47SOkYCqDn6FvH42fkAJxuyPdaN01FlIGbnc/37TkFE8o3L4nAmvHCyQ5/S3gw24oYXAvuyKxbLgwktK/xNr+rsFqKpU8sa78Zlz5hSMZ/Znq6Y4UikVMf72oYyYkGNHrT+PvnpgHAVd+3ROt/jT+/ohxEFD//ohOf4rfPzENAurfP1E5AVzPRPH7xx8EuJ1WBoDGPxyH+ruhjlTjbnR9AxMhvYLPHA4YGkjPIMpP4x+WIfUnhYMZx2voMRFCSFlohVqR3XwIIaQc3O5OtrGQJFC9RkKKRCsyRxICi/YuFgvs986ERA3Eh1ahUkT4GQg0Vc9XQqInqP6ODRyTA046VJ7Y1x/XdgmJnmD6M8+bLiGKRVjemy6t9WeeN30aBsGHI/bUP33a6M88bybYIPjs9o3658Gx+tuLmefNgGN1pP55QB0JIYQQQgghhBBCCJGy+T9ftRg+rVNPfAAAAABJRU5ErkJggg==\\')'\n            } }),\n        bannerMounted && ReactDOM.createPortal(bannerElement, document.body)));\n};\n","/**\n * @hidden\n * Dispatches a new event based on an event that was already internally dispatched to KendoReact users.\n *\n * @param eventHandler - The public event handler that is assigned by the user.\n * When undefined, the method is not an option.\n * @param dispatchedEvent - The event that was already dispatched internally.\n * @param target - The target component of the new event.\n * @param eventData - The additional data that will be passed through the new event.\n * When the new event has no additional data\n *  other than the `BaseEvent` arguments, pass `undefined`.\n */\nexport function dispatchEvent(eventHandler, dispatchedEvent, target, eventData) {\n    if (eventHandler) {\n        var eventBaseData = {\n            syntheticEvent: dispatchedEvent,\n            nativeEvent: dispatchedEvent.nativeEvent,\n            target: target\n        };\n        eventHandler.call(undefined, Object.assign(eventBaseData, eventData));\n    }\n}\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n        if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport * as React from 'react';\n/**\n * An utility function for asynchronous focus/blur handling.\n *\n * By default, the `onFocus` and `onBlur` callbacks are called every time a child components receives/loses focus.\n * Use this utility hook for scenarios where you need to know if the parent has received focus for the first time, or completely lost focus.\n *\n * @returns\n */\nexport function useAsyncFocusBlur(_a) {\n    var onFocus = _a.onFocus, onBlur = _a.onBlur, onSyncFocus = _a.onSyncFocus, onSyncBlur = _a.onSyncBlur;\n    var focused = React.useRef(false);\n    var tick = React.useRef(0);\n    var nextTick = React.useCallback(function (f) {\n        clearTimeout(tick.current);\n        tick.current = window.setTimeout(function () { return f(); });\n    }, [tick]);\n    var handleFocus = React.useCallback(function () {\n        var event = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            event[_i] = arguments[_i];\n        }\n        clearTimeout(tick.current);\n        if (onSyncFocus) {\n            onSyncFocus.call(undefined, event[0]);\n        }\n        if (focused.current) {\n            return;\n        }\n        ;\n        focused.current = true;\n        if (onFocus) {\n            onFocus.call.apply(onFocus, __spreadArray([undefined], event, false));\n        }\n    }, [focused, onFocus, onSyncFocus]);\n    var handleBlur = React.useCallback(function () {\n        var event = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            event[_i] = arguments[_i];\n        }\n        if (onSyncBlur) {\n            onSyncBlur.call(undefined, event[0]);\n        }\n        nextTick(function () {\n            if (!focused.current) {\n                return;\n            }\n            if (onBlur) {\n                focused.current = false;\n                onBlur.call.apply(onBlur, __spreadArray([undefined], event, false));\n            }\n        });\n    }, [focused, nextTick, onBlur, onSyncBlur]);\n    React.useEffect(function () {\n        return function () {\n            clearTimeout(tick.current);\n        };\n    }, []);\n    return {\n        onFocus: handleFocus,\n        onBlur: handleBlur\n    };\n}\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { useAsyncFocusBlur } from '../hooks/useAsyncFocusBlur';\n/**\n * An utility High-order Component for asynchronous focus/blur handling.\n *\n * By default, the `onFocus` and `onBlur` callbacks are called every time a child components receives/loses focus.\n * Use this utility HOC for scenarios where you need to know if the parent has received focus for the first time, or completely lost focus.\n *\n * @returns\n */\nexport var AsyncFocusBlur = function (_a) {\n    var children = _a.children, onFocus = _a.onFocus, onBlur = _a.onBlur, onSyncFocus = _a.onSyncFocus, onSyncBlur = _a.onSyncBlur;\n    var args = useAsyncFocusBlur({ onFocus: onFocus, onBlur: onBlur, onSyncFocus: onSyncFocus, onSyncBlur: onSyncBlur });\n    return React.createElement(React.Fragment, null, children.call(undefined, __assign({}, args)));\n};\n","import * as React from 'react';\n/** @hidden */\nexport var usePropsContext = function (context, props) {\n    var contextPropsCallback = React.useContext(context);\n    var contextProps = contextPropsCallback(props);\n    return contextProps;\n};\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { usePropsContext } from '../hooks/usePropsContext';\n/** @hidden */\nexport var createPropsContext = function () { return React.createContext(function (props) { return props; }); };\n/** @hidden */\nexport var withPropsContext = function (context, Component\n// eslint-disable-next-line react/display-name\n) { return React.forwardRef(function (props, ref) {\n    var contextProps = usePropsContext(context, props);\n    return (React.createElement(Component, __assign({}, contextProps, { ref: ref })));\n}); };\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport function useDir(elementRef, initialDir, args) {\n    // Dir prop is read only on initial rendering due to specifics of getComputedStyles - see below\n    var _a = React.useState(initialDir), dir = _a[0], setDir = _a[1];\n    React.useEffect(function () {\n        if (!dir && window && elementRef.current) {\n            // Note: getComputedStyle forces reflow\n            var rtlCandidate = window.getComputedStyle(elementRef.current).direction;\n            if (rtlCandidate) {\n                // rerender is needed as DOM is read after first render\n                setDir(rtlCandidate);\n            }\n        }\n    }, args);\n    return dir;\n}\n","import * as React from 'react';\n// Same as 'useDir'. Export to avoid breaking change.\n// 'useRtl' is incorrect naming, since applies that the returned value is `true` or `false`.\n// but instead, it is returning `ltr` or `rtl`.\n/**\n * @hidden\n */\nexport function useRtl(elementRef, initialDir, args) {\n    // Dir prop is read only on initial rendering due to specifics of getComputedStyles - see below\n    var _a = React.useState(initialDir), dir = _a[0], setDir = _a[1];\n    React.useEffect(function () {\n        if (!dir && window && elementRef.current) {\n            // Note: getComputedStyle forces reflow\n            var rtlCandidate = window.getComputedStyle(elementRef.current).direction;\n            if (rtlCandidate) {\n                // rerender is needed as DOM is read after first render\n                setDir(rtlCandidate);\n            }\n        }\n    }, args);\n    return dir;\n}\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport var useMouse = function (props, target, extend) {\n    if (extend === void 0) { extend = {}; }\n    var handleMouseDown = React.useCallback(function (event) {\n        if (extend.onMouseDown) {\n            extend.onMouseDown.call(undefined, event);\n        }\n        if (props.onMouseDown) {\n            props.onMouseDown.call(undefined, {\n                target: target.current,\n                syntheticEvent: event\n            });\n        }\n    }, [extend.onMouseDown, props.onMouseDown, target]);\n    var handleMouseUp = React.useCallback(function (event) {\n        if (extend.onMouseUp) {\n            extend.onMouseUp.call(undefined, event);\n        }\n        if (props.onMouseUp) {\n            props.onMouseUp.call(undefined, {\n                target: target.current,\n                syntheticEvent: event\n            });\n        }\n    }, [extend.onMouseUp, props.onMouseUp, target]);\n    var handleClick = React.useCallback(function (event) {\n        if (extend.onClick) {\n            extend.onClick.call(undefined, event);\n        }\n        if (props.onClick) {\n            props.onClick.call(undefined, {\n                target: target.current,\n                syntheticEvent: event\n            });\n        }\n    }, [extend.onClick, props.onClick, target]);\n    var handleDoubleClick = React.useCallback(function (event) {\n        if (extend.onDoubleClick) {\n            extend.onDoubleClick.call(undefined, event);\n        }\n        if (props.onDoubleClick) {\n            props.onDoubleClick.call(undefined, {\n                target: target.current,\n                syntheticEvent: event\n            });\n        }\n    }, [extend.onDoubleClick, props.onDoubleClick, target]);\n    var handleMouseEnter = React.useCallback(function (event) {\n        if (extend.onMouseEnter) {\n            extend.onMouseEnter.call(undefined, event);\n        }\n        if (props.onMouseEnter) {\n            props.onMouseEnter.call(undefined, {\n                target: target.current,\n                syntheticEvent: event\n            });\n        }\n    }, [extend.onMouseEnter, props.onMouseEnter, target]);\n    var handleMouseLeave = React.useCallback(function (event) {\n        if (extend.onMouseLeave) {\n            extend.onMouseLeave.call(undefined, event);\n        }\n        if (props.onMouseLeave) {\n            props.onMouseLeave.call(undefined, {\n                target: target.current,\n                syntheticEvent: event\n            });\n        }\n    }, [extend.onMouseLeave, props.onMouseLeave, target]);\n    var handelMouseMove = React.useCallback(function (event) {\n        if (extend.onMouseMove) {\n            extend.onMouseMove.call(undefined, event);\n        }\n        if (props.onMouseMove) {\n            props.onMouseMove.call(undefined, {\n                target: target.current,\n                syntheticEvent: event\n            });\n        }\n    }, [extend.onMouseMove, props.onMouseMove, target]);\n    var handleMouseOut = React.useCallback(function (event) {\n        if (extend.onMouseOut) {\n            extend.onMouseOut.call(undefined, event);\n        }\n        if (props.onMouseOut) {\n            props.onMouseOut.call(undefined, {\n                target: target.current,\n                syntheticEvent: event\n            });\n        }\n    }, [extend.onMouseOut, props.onMouseOut, target]);\n    var handleMouseOver = React.useCallback(function (event) {\n        if (extend.onMouseOver) {\n            extend.onMouseOver.call(undefined, event);\n        }\n        if (props.onMouseOver) {\n            props.onMouseOver.call(undefined, {\n                target: target.current,\n                syntheticEvent: event\n            });\n        }\n    }, [extend.onMouseOver, props.onMouseOver, target]);\n    return {\n        onClick: handleClick,\n        onMouseUp: handleMouseUp,\n        onMouseDown: handleMouseDown,\n        onDoubleClick: handleDoubleClick,\n        onMouseEnter: handleMouseEnter,\n        onMouseLeave: handleMouseLeave,\n        onMouseMove: handelMouseMove,\n        onMouseOut: handleMouseOut,\n        onMouseOver: handleMouseOver\n    };\n};\n","import * as React from 'react';\n/** @hidden */\nexport var COLLECTION_ACTION;\n(function (COLLECTION_ACTION) {\n    COLLECTION_ACTION[COLLECTION_ACTION[\"add\"] = 0] = \"add\";\n    COLLECTION_ACTION[COLLECTION_ACTION[\"remove\"] = 1] = \"remove\";\n})(COLLECTION_ACTION || (COLLECTION_ACTION = {}));\n/** @hidden */\nexport var useCollection = function (initial) {\n    if (initial === void 0) { initial = []; }\n    var collection = React.useRef(initial);\n    var handleCollectionAction = React.useCallback(function (action) {\n        switch (action.type) {\n            case COLLECTION_ACTION.add:\n                collection.current.push(action.item);\n                break;\n            case COLLECTION_ACTION.remove:\n                var index = collection.current.indexOf(action.item);\n                collection.current.splice(index, 1);\n                break;\n            default:\n                break;\n        }\n    }, []);\n    return [collection.current, handleCollectionAction];\n};\n","/**\n * @hidden\n */\nexport var useCustomComponent = function (comp) {\n    /* if(React.isValidElement<P>(comp)) {\n        return [comp.type, comp.props];\n    } */\n    return [comp, {}];\n};\n","import * as React from 'react';\n/**\n * Returns a function, which gets the `ownerDocument` of the element.\n */\nexport var useDocument = function (ref) {\n    var getElement = React.useCallback(function () { return ref.current && ref.current.element\n        ? ref.current.element\n        : ref.current; }, [ref]);\n    var getDocument = React.useCallback(function () {\n        var element = getElement();\n        return element ? element.ownerDocument || document : document;\n    }, [getElement]);\n    return getDocument;\n};\n","import * as React from 'react';\nimport { useDocument } from './useDocument';\n/**\n * Returns a function, which gets the `defaultView` based on the `ownerDocument` of the element.\n */\nexport var useWindow = function (ref) {\n    var getDocument = useDocument(ref);\n    var getWindow = React.useCallback(function () {\n        var document = getDocument();\n        return document\n            ? document.defaultView || window\n            : window;\n    }, [getDocument]);\n    return getWindow;\n};\n","/**\n * @hidden\n */\nexport var SIZE_CLASSES = {\n    'default': '',\n    'xsmall': 'k-icon-xs',\n    'small': 'k-icon-sm',\n    'medium': 'k-icon-md',\n    'large': 'k-icon-lg',\n    'xlarge': 'k-icon-xl',\n    'xxlarge': 'k-icon-xxl',\n    'xxxlarge': 'k-icon-xxxl'\n};\n","import * as PropTypes from 'prop-types';\n/**\n * @hidden\n */\nexport var toIconName = function (iconClass) { return iconClass.replace(/^k-i-/, ''); };\n/**\n * @hidden\n */\nexport var toIconClass = function (name) { return 'k-i-' + name; };\n/**\n * @hidden\n */\nexport var svgIconPropType = PropTypes.shape({\n    name: PropTypes.string.isRequired,\n    content: PropTypes.string.isRequired,\n    viewBox: PropTypes.string.isRequired\n});\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '../classNames';\nimport { SIZE_CLASSES } from './constants';\nimport { toIconClass, useMouse } from '../main';\n/**\n * Represents the [KendoReact Icon component]({% slug overview_icon %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *       <Icon name=\"home\"/>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nexport var Icon = React.forwardRef(function (props, ref) {\n    var className = props.className, name = props.name, themeColor = props.themeColor, size = props.size, flip = props.flip, style = props.style, id = props.id, tabIndex = props.tabIndex, others = __rest(props, [\"className\", \"name\", \"themeColor\", \"size\", \"flip\", \"style\", \"id\", \"tabIndex\"]);\n    var target = React.useRef(null);\n    var elementRef = React.useRef(null);\n    React.useImperativeHandle(target, function () { return ({\n        element: elementRef.current\n    }); });\n    React.useImperativeHandle(ref, function () { return target.current; });\n    var sizeProp = React.useMemo(function () { return size || defaultProps.size; }, [size]);\n    var flipProp = React.useMemo(function () { return flip || defaultProps.flip; }, [flip]);\n    var fontClassNames = React.useMemo(function () {\n        var _a;\n        return classNames('k-icon', 'k-font-icon', name && toIconClass(name), (_a = {},\n            _a[\"k-color-\".concat(themeColor)] = themeColor,\n            _a['k-flip-h'] = flipProp === 'horizontal' || flipProp === 'both',\n            _a['k-flip-v'] = flipProp === 'vertical' || flipProp === 'both',\n            _a), SIZE_CLASSES[sizeProp], className);\n    }, [name, themeColor, sizeProp, flipProp, className]);\n    var mouseProps = useMouse(props, target);\n    return (React.createElement(\"span\", __assign({ ref: elementRef }, others, mouseProps, { className: fontClassNames, id: id, tabIndex: tabIndex, style: style, role: \"presentation\" })));\n});\nIcon.propTypes = {\n    style: PropTypes.object,\n    classNames: PropTypes.string,\n    name: PropTypes.string,\n    themeColor: PropTypes.oneOf([\n        'inherit', 'primary', 'secondary', 'tertiary',\n        'info', 'success', 'error', 'warning',\n        'dark', 'light', 'inverse'\n    ]),\n    size: PropTypes.oneOf(['default', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge', 'xxxlarge']),\n    flip: PropTypes.oneOf(['default', 'horizontal', 'vertical', 'both'])\n};\nvar defaultProps = {\n    size: 'default',\n    flip: 'default'\n};\nIcon.displayName = 'KendoIcon';\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '../classNames';\nimport { SIZE_CLASSES } from './constants';\n/**\n * Represents the [KendoReact SvgIcon component]({% slug overview_svgicon %}).\n *\n * @example\n * ```jsx\n * import { accessibility } from '@progress/kendo-svg-icons';\n *\n * const App = () => {\n *   return (\n *       <SvgIcon icon={accessibility} />\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nexport var SvgIcon = React.forwardRef(function (props, ref) {\n    var children = props.children, className = props.className, svgClassName = props.svgClassName, icon = props.icon, flip = props.flip, id = props.id, tabIndex = props.tabIndex, size = props.size, style = props.style, svgStyle = props.svgStyle, themeColor = props.themeColor, viewBox = props.viewBox, name = props.name, onClick = props.onClick, others = __rest(props, [\"children\", \"className\", \"svgClassName\", \"icon\", \"flip\", \"id\", \"tabIndex\", \"size\", \"style\", \"svgStyle\", \"themeColor\", \"viewBox\", \"name\", \"onClick\"]);\n    var elementRef = React.useRef(null);\n    React.useImperativeHandle(ref, function () { return ({\n        element: elementRef.current\n    }); });\n    var iconNameProp = React.useMemo(function () { return icon ? icon.name : defaultProps.icon; }, [icon]);\n    var sizeProp = React.useMemo(function () { return size || defaultProps.size; }, [size]);\n    var flipProp = React.useMemo(function () { return flip || defaultProps.flip; }, [flip]);\n    var viewBoxProp = React.useMemo(function () { return viewBox || defaultProps.viewBox; }, [viewBox]);\n    var elementClassNames = React.useMemo(function () {\n        var _a;\n        return classNames('k-icon', 'k-svg-icon', 'k-svg-i-' + iconNameProp, (_a = {},\n            _a[\"k-color-\".concat(themeColor)] = themeColor,\n            _a['k-flip-h'] = flipProp === 'horizontal' || flipProp === 'both',\n            _a['k-flip-v'] = flipProp === 'vertical' || flipProp === 'both',\n            _a), SIZE_CLASSES[sizeProp], className);\n    }, [iconNameProp, themeColor, sizeProp, flipProp, className]);\n    var elementStyle = React.useMemo(function () {\n        if (props.width && props.height) {\n            return __assign({ width: props.width, height: props.height }, style);\n        }\n        else if (props.width) {\n            return __assign({ width: props.width, height: props.width }, style);\n        }\n        else if (props.height) {\n            return __assign({ width: props.height, height: props.height }, style);\n        }\n        else {\n            return __assign({}, style);\n        }\n    }, [props.width, props.height, style]);\n    return (React.createElement(\"span\", { className: elementClassNames, style: elementStyle, ref: elementRef, onClick: onClick },\n        React.createElement(\"svg\", __assign({ id: id, className: svgClassName, style: svgStyle, \"aria-hidden\": true, tabIndex: tabIndex, focusable: false, xmlns: \"http://www.w3.org/2000/svg\", viewBox: icon ? icon.viewBox : viewBoxProp, dangerouslySetInnerHTML: icon ? { __html: icon.content } : undefined }, others), icon ? undefined : children)));\n});\nSvgIcon.propTypes = {\n    style: PropTypes.object,\n    classNames: PropTypes.string,\n    children: PropTypes.any,\n    icon: PropTypes.object,\n    themeColor: PropTypes.oneOf([\n        'inherit', 'primary', 'secondary', 'tertiary',\n        'info', 'success', 'error', 'warning',\n        'dark', 'light', 'inverse'\n    ]),\n    size: PropTypes.oneOf(['default', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge', 'xxxlarge']),\n    flip: PropTypes.oneOf(['default', 'horizontal', 'vertical', 'both'])\n};\nvar defaultProps = {\n    size: 'default',\n    flip: 'default',\n    icon: '',\n    viewBox: '0 0 24 24'\n};\nSvgIcon.displayName = 'KendoSvgIcon';\n","import * as React from 'react';\n;\n/**\n * Represents a React Context which provides you with the option to configure the KendoReact components icons.\n */\nexport var IconsContext = React.createContext({ type: 'svg' });\nIconsContext.displayName = 'KendoReactIconsContext';\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport * as React from 'react';\nimport { Icon } from './Icon';\nimport { SvgIcon } from './SvgIcon';\nimport { IconsContext } from './IconsContext';\n/**\n * @hidden\n */\nexport var IconWrap = React.forwardRef(function (props, ref) {\n    var _a, _b;\n    var _c = React.useContext(IconsContext), type = _c.type, icons = _c.icons;\n    var icon = props.icon, fontIconProps = __rest(props, [\"icon\"]);\n    var name = type === 'svg' ? (((_a = props.icon) === null || _a === void 0 ? void 0 : _a.name) || props.name) : (props.name || ((_b = props.icon) === null || _b === void 0 ? void 0 : _b.name));\n    name = (name && icons && icons[name] && typeof icons[name] === 'string') ? icons[name] : name;\n    var svg = (name && icons && icons[name] && typeof icons[name] !== 'string') ? icons[name] : icon;\n    return (type === 'svg' && svg) ?\n        React.createElement(SvgIcon, __assign({}, props, { icon: svg, ref: ref })) :\n        React.createElement(Icon, __assign({}, fontIconProps, { name: name, ref: ref }));\n});\nIconWrap.displayName = 'KendoIconWrap';\n","/**\n * @hidden\n */\nexport var FONT_SIZE_CLASSES = {\n    'xsmall': 'k-fs-xs',\n    'small': 'k-fs-sm',\n    'medium': 'k-fs-md',\n    'large': 'k-fs-lg',\n    'xlarge': 'k-fs-xl'\n};\n/**\n * @hidden\n */\nexport var FONT_WEIGHT_CLASSES = {\n    'light': 'k-font-weight-light',\n    'normal': 'k-font-weight-normal',\n    'bold': 'k-font-weight-bold'\n};\n/**\n * @hidden\n */\nexport var MARGIN_ENUM_CLASSES = {\n    'xsmall': 'k-m-xs',\n    'small': 'k-m-sm',\n    'medium': 'k-m-md',\n    'large': 'k-m-lg',\n    'xlarge': 'k-m-xl',\n    'thin': 'k-m-thin',\n    'hair': 'k-m-hair'\n};\n/**\n * @hidden\n */\nexport var MARGIN_ENUM_VALUES = {\n    'xsmall': 'xs',\n    'small': 'sm',\n    'medium': 'md',\n    'large': 'lg',\n    'xlarge': 'xl',\n    'thin': 'thin',\n    'hair': 'hair'\n};\n/**\n * @hidden\n */\nexport var MARGIN_SIDES_CLASSES = {\n    'top': 'k-mt-',\n    'right': 'k-mr-',\n    'bottom': 'k-mb-',\n    'left': 'k-ml-'\n};\n/**\n * @hidden\n */\nexport var TEXT_ALIGN_CLASSES = {\n    'left': 'k-text-left',\n    'right': 'k-text-right',\n    'center': 'k-text-center',\n    'justify': 'k-text-justify'\n};\n/**\n * @hidden\n */\nexport var TEXT_TRANSFORM_CLASSES = {\n    'lowercase': 'k-text-lowercase',\n    'uppercase': 'k-text-uppercase',\n    'capitalize': 'k-text-capitalize'\n};\n/**\n * @hidden\n */\nexport var THEME_COLOR_CLASSES = {\n    'inherit': 'k-color-inherit',\n    'primary': 'k-color-primary',\n    'secondary': 'k-color-secondary',\n    'tertiary': 'k-color-tertiary',\n    'info': 'k-color-info',\n    'success': 'k-color-success',\n    'warning': 'k-color-warning',\n    'error': 'k-color-error',\n    'dark': 'k-color-dark',\n    'light': 'k-color-light',\n    'inverse': 'k-color-inverse'\n};\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { FONT_SIZE_CLASSES, FONT_WEIGHT_CLASSES, MARGIN_ENUM_CLASSES, MARGIN_ENUM_VALUES, MARGIN_SIDES_CLASSES, TEXT_ALIGN_CLASSES, TEXT_TRANSFORM_CLASSES, THEME_COLOR_CLASSES } from './constants';\n/**\n * @hidden\n */\nvar generateTypography = function (element) {\n    var component = React.forwardRef(function (props, ref) {\n        var id = props.id, style = props.style, className = props.className, fontSize = props.fontSize, fontWeight = props.fontWeight, textAlign = props.textAlign, textTransform = props.textTransform, themeColor = props.themeColor, margin = props.margin, others = __rest(props, [\"id\", \"style\", \"className\", \"fontSize\", \"fontWeight\", \"textAlign\", \"textTransform\", \"themeColor\", \"margin\"]);\n        var target = React.useRef(null);\n        var elementRef = React.useRef(null);\n        React.useImperativeHandle(target, function () { return ({\n            element: elementRef.current,\n            props: props\n        }); });\n        React.useImperativeHandle(ref, function () { return target.current; });\n        var defaultClass = function () {\n            var classMap = element === 'p' ? 'paragraph' : element;\n            return \"k-\".concat(classMap);\n        };\n        var Component = element;\n        var setMarginClassPerSide = function (marginSide, value) {\n            var val = typeof value === 'string' ? MARGIN_ENUM_VALUES[value] : value;\n            return \"\".concat(MARGIN_SIDES_CLASSES[marginSide]).concat(val);\n        };\n        var setMarginClasses = function () {\n            if (margin === undefined) {\n                return;\n            }\n            if (typeof margin === 'string') {\n                return [MARGIN_ENUM_CLASSES[margin]];\n            }\n            // The the predefined Kendo classes are starting from 0 to 24.\n            if (typeof margin === 'number' && margin >= 0 && margin <= 24) {\n                return [\"k-m-\".concat(margin)];\n            }\n            if (typeof margin === 'object') {\n                var marginClassesList_1 = [];\n                Object.keys(margin).forEach(function (key) {\n                    if (margin[key] !== null && margin[key] !== undefined) {\n                        marginClassesList_1.push(setMarginClassPerSide(key, margin[key]));\n                    }\n                });\n                var classes = marginClassesList_1.join(' ');\n                return classes;\n            }\n        };\n        var setTypographyClasses = function () {\n            var typographyArray = [\n                defaultClass(),\n                FONT_SIZE_CLASSES[fontSize],\n                FONT_WEIGHT_CLASSES[fontWeight],\n                TEXT_ALIGN_CLASSES[textAlign],\n                TEXT_TRANSFORM_CLASSES[textTransform],\n                THEME_COLOR_CLASSES[themeColor],\n                setMarginClasses(),\n                className\n            ];\n            var typographyClasses = typographyArray.filter(function (n) { return n !== undefined; }).join(' ');\n            return typographyClasses;\n        };\n        return (React.createElement(Component, __assign({ id: id, ref: elementRef, className: setTypographyClasses(), style: style }, others), props.children));\n    });\n    component.propTypes = {\n        style: PropTypes.object,\n        className: PropTypes.string,\n        fontSize: PropTypes.oneOf(['xsmall', 'small', 'medium', 'large', 'xlarge']),\n        fontWeight: PropTypes.oneOf(['light', 'normal', 'bold']),\n        margin: PropTypes.oneOfType([\n            PropTypes.number,\n            PropTypes.object,\n            PropTypes.oneOf(['xsmall', 'small', 'medium', 'large', 'xlarge', 'thin', 'hair'])\n        ]),\n        textAlign: PropTypes.oneOf(['left', 'right', 'center', 'justify']),\n        textTransform: PropTypes.oneOf(['lowercase', 'uppercase', 'capitalize']),\n        themeColor: PropTypes.oneOf([\n            'inherit', 'primary', 'secondary', 'tertiary',\n            'info', 'success', 'error', 'warning',\n            'dark', 'light', 'inverse'\n        ])\n    };\n    component.displayName = \"KendoReactTypography\".concat(element.toUpperCase());\n    return component;\n};\n/**\n * Represents [KendoReact Typography Heading1 component]({% slug overview_typography %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *       <Typography.h1>Heading 1</Typography.h1>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar h1 = generateTypography('h1');\n/**\n * Represents [KendoReact Typography Heading2 component]({% slug overview_typography %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *       <Typography.h2>Heading 2</Typography.h2>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar h2 = generateTypography('h2');\n/**\n * Represents [KendoReact Typography Heading3 component]({% slug overview_typography %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *       <Typography.h3>Heading 3</Typography.h3>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar h3 = generateTypography('h3');\n/**\n * Represents [KendoReact Typography Heading4 component]({% slug overview_typography %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *       <Typography.h4>Heading 4</Typography.h4>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar h4 = generateTypography('h4');\n/**\n * Represents [KendoReact Typography Heading5 component]({% slug overview_typography %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *       <Typography.h5>Heading 5</Typography.h5>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar h5 = generateTypography('h5');\n/**\n * Represents [KendoReact Typography Heading6 component]({% slug overview_typography %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *       <Typography.h6>Heading 6</Typography.h6>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar h6 = generateTypography('h6');\n/**\n * Represents [KendoReact Typography Paragraph component]({% slug overview_typography %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *       <Typography.p>I'm a paragraph text.</Typography.p>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar p = generateTypography('p');\n/**\n * Represents [KendoReact Typography Code component]({% slug overview_typography %}).\n * Use to create a single-line code snippet.\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *       <Typography.code>code</Typography.code>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar code = generateTypography('code');\n/**\n * Represents [KendoReact Typography Pre component]({% slug overview_typography %}).\n * Used along with [KendoReact Typography Code component]({% slug overview_typography %}) to create multi-line code snippet.\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *     <Typography.pre>\n *       <Typography.code dangerouslySetInnerHTML={{__html: `\n *         const handleChange = ({ target }) => {\n *           const { name, value } = target;\n *           const newData = Object.assign({}, data, { [name]: value });\n *           setData(newData);\n *         }\n *       `}} />\n *     </Typography.pre>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar pre = generateTypography('pre');\n/**\n * Represents the [KendoReact Typography component]({% slug overview_typography %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n *   return (\n *       <Typography.h2>Heading 2</Typography.h2>\n *   );\n * };\n *    ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nexport var Typography = {\n    h1: h1,\n    h2: h2,\n    h3: h3,\n    h4: h4,\n    h5: h5,\n    h6: h6,\n    p: p,\n    code: code,\n    pre: pre\n};\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\n/** @hidden */\nexport var useControlledState = function (defaultProp, prop, callback) {\n    var _a = React.useState(prop || defaultProp), state = _a[0], setState = _a[1];\n    var handleSetEdit = React.useCallback(function (value, args) {\n        setState(value);\n        if (callback) {\n            callback.call(undefined, __assign(__assign({}, args), { value: value }));\n        }\n    }, [callback, setState]);\n    return [prop !== undefined ? prop : state, handleSetEdit];\n};\n","import * as React from 'react';\nimport { noop } from '../../noop';\n/**\n * @hidden\n */\nexport var DragContext = React.createContext([\n    undefined,\n    noop\n]);\n/**\n * @hidden\n */\nexport var DropContext = React.createContext([\n    undefined,\n    noop\n]);\n/**\n * @hidden\n */\nexport var DragsContext = React.createContext([[], noop, noop]);\n/**\n * @hidden\n */\nexport var DropsContext = React.createContext([[], noop, noop]);\n","import * as React from 'react';\nimport { useCollection, COLLECTION_ACTION, useControlledState } from '../hooks';\nimport { DragContext, DropContext, DragsContext, DropsContext } from './context';\n/**\n * The `DragAndDrop` component is required for the `droppable` functionality to work properly.\n *\n * It is used internally to synchronize the `drag` and `drop` functionalities.\n * Accepts properties of type [DragAndDropProps]({% slug api_common_draganddropprops %}).\n */\nexport var DragAndDrop = function (props) {\n    var _a = useControlledState(null, undefined), drag = _a[0], setDrag = _a[1];\n    var _b = useControlledState(null, undefined), drop = _b[0], setDrop = _b[1];\n    var _c = useCollection([]), drags = _c[0], dispatchDrags = _c[1];\n    var _d = useCollection([]), drops = _d[0], dispatchDrops = _d[1];\n    var registerDrag = function (item) {\n        dispatchDrags({\n            type: COLLECTION_ACTION.add,\n            item: item\n        });\n    };\n    var deregisterDrag = function (item) {\n        dispatchDrags({\n            type: COLLECTION_ACTION.remove,\n            item: item\n        });\n    };\n    var registerDrop = function (item) {\n        dispatchDrops({\n            type: COLLECTION_ACTION.add,\n            item: item\n        });\n    };\n    var deregisterDrop = function (item) {\n        dispatchDrops({\n            type: COLLECTION_ACTION.remove,\n            item: item\n        });\n    };\n    return (React.createElement(DragContext.Provider, { value: [drag, setDrag] },\n        React.createElement(DropContext.Provider, { value: [drop, setDrop] },\n            React.createElement(DragsContext.Provider, { value: [drags, registerDrag, deregisterDrag] },\n                React.createElement(DropsContext.Provider, { value: [drops, registerDrop, deregisterDrop] }, props.children)))));\n};\nDragAndDrop.displayName = 'KendoReactDragAndDrop';\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport var useInheritedState = function (context, defaultValue) {\n    var _a = React.useContext(context), contextValue = _a[0], contextSetter = _a[1];\n    var _b = React.useState(defaultValue), localValue = _b[0], localSetter = _b[1];\n    var value = contextValue !== undefined ? contextValue : localValue;\n    var handleValueChange = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        contextValue !== undefined\n            ? contextSetter.apply(void 0, args) : localSetter(args[0]);\n    };\n    return [\n        value,\n        handleValueChange\n    ];\n};\n","import * as React from 'react';\nimport { dispatchDragAndDrop, autoScroll as autoScrollElement, getScrollableParent } from '@progress/kendo-draggable-common';\nimport { noop } from '../noop';\nimport { useInheritedState } from '../hooks/useInheritedState';\nimport { DragContext, DropContext, DragsContext, DropsContext } from '../drag-n-drop/context';\nvar IGNORE_MOUSE_TIMEOUT = 2000;\n/**\n * Represents the KendoReact `useDraggable` hook.\n * Use it to attach `drag` events to a native HTML DOM elements, or custom React Components.\n *\n * For more information, refer to the [KendoReact Draggable]({% slug draggable_drag-and-drop %}) article.\n *\n * @param ref - The `ref` of the HTML Element or React Component which will enable the `draggable` functionality.\n * @param callbacks - A collection of callbacks, called by the `useDraggable` hook when a specific action occurs.\n * @param options - Additional configuration of the `useDraggable` hook.\n */\nexport function useDraggable(ref, callbacks, options) {\n    if (options === void 0) { options = {}; }\n    var _a = callbacks.onPress, onPress = _a === void 0 ? noop : _a, _b = callbacks.onRelease, onRelease = _b === void 0 ? noop : _b, _c = callbacks.onDragStart, onDragStart = _c === void 0 ? noop : _c, _d = callbacks.onDrag, onDrag = _d === void 0 ? noop : _d, _e = callbacks.onDragEnd, onDragEnd = _e === void 0 ? noop : _e;\n    var _f = options.hint, hint = _f === void 0 ? null : _f, _g = options.mouseOnly, mouseOnly = _g === void 0 ? false : _g, _h = options.autoScroll, autoScroll = _h === void 0 ? true : _h, _j = options.scrollContainer, scrollContainer = _j === void 0 ? null : _j;\n    var _k = React.useState(false), pressed = _k[0], setPressed = _k[1];\n    var _l = React.useState(false), scrolling = _l[0], setScrolling = _l[1];\n    var drop = useInheritedState(DropContext)[0];\n    var _m = useInheritedState(DragContext), drag = _m[0], setDrag = _m[1];\n    var drops = React.useContext(DropsContext)[0];\n    var _o = React.useContext(DragsContext), drags = _o[0], registerDrag = _o[1], deregisterDrag = _o[2];\n    var velocity = React.useRef({ x: 0, y: 0 });\n    var scrollInterval = React.useRef();\n    var ignoreMouse = React.useRef(false);\n    var restoreMouseTimeout = React.useRef();\n    var scrollable = React.useRef(null);\n    var unmount = React.useRef(false);\n    var offset = React.useRef({ x: 0, y: 0 });\n    var pageOffset = React.useRef({ x: 0, y: 0 });\n    var clientOffset = React.useRef({ x: 0, y: 0 });\n    var initialClientOffset = React.useRef({ x: 0, y: 0 });\n    var scrollOffset = React.useRef({ x: 0, y: 0 });\n    var initialScrollOffset = React.useRef({ x: 0, y: 0 });\n    var supportPointerEvent = Boolean((typeof window !== 'undefined') && window.PointerEvent);\n    var pointers = !mouseOnly && supportPointerEvent;\n    var getElement = React.useCallback(function () { return ref.current && ref.current.element\n        ? ref.current.element\n        : ref.current; }, [ref]);\n    var getHintElement = React.useCallback(function () { return hint && hint.current && hint.current.element\n        ? hint.current.element\n        : hint\n            ? hint.current\n            : null; }, [hint]);\n    var getScrollContainer = React.useCallback(function () { return scrollContainer && scrollContainer.current && scrollContainer.current.element\n        ? scrollContainer.current.element\n        : scrollContainer\n            ? scrollContainer.current\n            : null; }, [scrollContainer]);\n    var getAutoScrollContainer = React.useCallback(function () { return typeof autoScroll === 'object' && autoScroll.boundaryElementRef\n        && autoScroll.boundaryElementRef.current && autoScroll.boundaryElementRef.current.element\n        ? autoScroll.boundaryElementRef.current.element\n        : typeof autoScroll === 'object' && autoScroll.boundaryElementRef && autoScroll.boundaryElementRef.current\n            ? autoScroll.boundaryElementRef.current\n            : null; }, [autoScroll]);\n    var target = React.useRef(null);\n    React.useImperativeHandle(target, function () { return ({\n        element: getElement(),\n        hint: getHintElement(),\n        onPress: handlePress,\n        onDragStart: handleDragStart,\n        onDrag: handleDrag,\n        onDragEnd: handleDragEnd,\n        onRelease: handleRelease,\n        data: ref.current\n    }); });\n    var getDocument = React.useCallback(function () {\n        var element = getElement();\n        return element ? element.ownerDocument || document : document;\n    }, [getElement]);\n    var getWindow = React.useCallback(function () {\n        var document = getDocument();\n        return document\n            ? document.defaultView || window\n            : window;\n    }, [getDocument]);\n    var getState = React.useCallback(function () { return ({\n        drag: drag ? drag.current : null,\n        drop: drop ? drop.current : null,\n        drags: drags.map(function (d) { return d.current; }),\n        drops: drops.map(function (d) { return d.current; }),\n        pressed: pressed,\n        ignoreMouse: ignoreMouse.current,\n        scrollOffset: scrollOffset.current,\n        offset: offset.current,\n        pageOffset: pageOffset.current,\n        initialScrollOffset: initialScrollOffset.current,\n        clientOffset: clientOffset.current,\n        initialClientOffset: initialClientOffset.current,\n        velocity: velocity.current,\n        autoScroll: Boolean(typeof autoScroll === 'object' ? autoScroll.enabled !== false : autoScroll),\n        scrollableParent: getAutoScrollContainer(),\n        autoScrollDirection: typeof autoScroll === 'object' ? autoScroll.direction : { horizontal: true, vertical: true },\n        isScrolling: scrolling\n    }); }, [drag, drop, drags, drops, pressed, autoScroll, getAutoScrollContainer, scrolling]);\n    var handlePressedChange = React.useCallback(function (value) {\n        setPressed(value);\n    }, []);\n    var handleScrollingChange = React.useCallback(function (value) {\n        setScrolling(value);\n    }, []);\n    var handleVelocityChange = React.useCallback(function (value) {\n        velocity.current = value;\n    }, []);\n    var handleOffsetChange = React.useCallback(function (value) {\n        offset.current = value;\n    }, []);\n    var handleClientOffsetChange = React.useCallback(function (value) {\n        clientOffset.current = value;\n    }, []);\n    var handlePageOffsetChange = React.useCallback(function (value) {\n        pageOffset.current = value;\n    }, []);\n    var handleInitialClientOffsetChange = React.useCallback(function (value) {\n        initialClientOffset.current = value;\n    }, []);\n    var handleScrollOffsetChange = React.useCallback(function (value) {\n        scrollOffset.current = value;\n    }, []);\n    var handleInitialScrollOffsetChange = React.useCallback(function (value) {\n        initialScrollOffset.current = value;\n    }, []);\n    // Drag Events\n    var handlePress = React.useCallback(function (event) {\n        onPress(event);\n    }, [onPress]);\n    var handleRelease = React.useCallback(function (event) {\n        onRelease(event);\n    }, [onRelease]);\n    var handleDragStart = React.useCallback(function (event) {\n        setDrag(target, { target: ref.current, event: event });\n        onDragStart(event);\n    }, [setDrag, ref, onDragStart]);\n    var handleDrag = React.useCallback(function (event) {\n        onDrag(event);\n    }, [onDrag]);\n    var handleDragEnd = React.useCallback(function (event) {\n        if (unmount.current) {\n            return;\n        }\n        setDrag(null, { target: ref.current, event: event });\n        onDragEnd(event);\n    }, [onDragEnd, setDrag, ref]);\n    var dispatchDragEvent = React.useCallback(function (event) {\n        dispatchDragAndDrop(getState(), { event: event, payload: target.current }, {\n            onVelocityChange: handleVelocityChange,\n            onOffsetChange: handleOffsetChange,\n            onClientOffsetChange: handleClientOffsetChange,\n            onPageOffsetChange: handlePageOffsetChange,\n            onInitialClientOffsetChange: handleInitialClientOffsetChange,\n            onScrollOffsetChange: handleScrollOffsetChange,\n            onInitialScrollOffsetChange: handleInitialScrollOffsetChange,\n            onIsPressedChange: handlePressedChange,\n            onIsScrollingChange: handleScrollingChange\n        });\n    }, [\n        getState,\n        handleVelocityChange,\n        handleOffsetChange,\n        handlePageOffsetChange,\n        handleClientOffsetChange,\n        handleInitialClientOffsetChange,\n        handleInitialScrollOffsetChange,\n        handlePressedChange,\n        handleScrollOffsetChange,\n        handleScrollingChange\n    ]);\n    // Pointer Events\n    var handlePointerDown = React.useCallback(function (event) {\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    var handlePointerMove = React.useCallback(function (event) {\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    var handlePointerCancel = React.useCallback(function (event) {\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    var handlePointerUp = React.useCallback(function (event) {\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    // Mouse Events\n    var handleMouseDown = React.useCallback(function (event) {\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    var handleMouseMove = React.useCallback(function (event) {\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    var handleMouseUp = React.useCallback(function (event) {\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    var handleContextMenu = React.useCallback(function (event) {\n        event.preventDefault();\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    // Touch Events\n    var handleTouchStart = React.useCallback(function (event) {\n        event.preventDefault();\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    var handleTouchMove = React.useCallback(function (event) {\n        event.preventDefault();\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    var handleTouchEnd = React.useCallback(function (event) {\n        if (event.touches.length === 0 && event.changedTouches.length === 1) {\n            var currentWindow = getWindow();\n            ignoreMouse.current = true;\n            restoreMouseTimeout.current = currentWindow.setTimeout(function () { ignoreMouse.current = false; }, IGNORE_MOUSE_TIMEOUT);\n        }\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent, getWindow]);\n    var handleScroll = React.useCallback(function (event) {\n        dispatchDragEvent(event);\n    }, [dispatchDragEvent]);\n    // Misc\n    var prerequisites = React.useCallback(function () {\n        var element = getElement();\n        if (element) {\n            var initialTouchAction_1 = element.style.touchAction;\n            element.style.touchAction = 'none';\n            return function () {\n                element.style.touchAction = initialTouchAction_1;\n            };\n        }\n    }, [getElement]);\n    var register = React.useCallback(function () {\n        registerDrag(target);\n        return function () {\n            deregisterDrag(target);\n        };\n    }, [deregisterDrag, registerDrag]);\n    var init = function () {\n        var window = getWindow();\n        var element = getElement();\n        var document = getDocument();\n        if (pointers) {\n            if (element) {\n                scrollable.current = getScrollableParent(element);\n                if (scrollable.current) {\n                    scrollable.current.addEventListener('scroll', handleScroll, { passive: true });\n                }\n                element.addEventListener('pointerdown', handlePointerDown, { passive: true });\n            }\n            if (pressed) {\n                document.addEventListener('pointermove', handlePointerMove);\n                document.addEventListener('pointerup', handlePointerUp, true);\n                document.addEventListener('contextmenu', handleContextMenu);\n                document.addEventListener('pointercancel', handlePointerCancel, { passive: true });\n            }\n        }\n        else {\n            // Hacky-hacky iOS Safari\n            window.addEventListener('touchmove', noop, { capture: false, passive: false });\n            if (element) {\n                element.addEventListener('mousedown', handleMouseDown, { passive: true });\n                if (!mouseOnly) {\n                    element.addEventListener('touchstart', handleTouchStart, { passive: true });\n                    if (pressed) {\n                        element.addEventListener('touchmove', handleTouchMove, { passive: true });\n                        element.addEventListener('touchend', handleTouchEnd, { passive: true });\n                    }\n                }\n            }\n            if (pressed) {\n                document.addEventListener('mousemove', handleMouseMove, { passive: true });\n                document.addEventListener('mouseup', handleMouseUp, { passive: true });\n            }\n        }\n        return function () {\n            if (scrollable.current) {\n                scrollable.current.removeEventListener('scroll', handleScroll);\n            }\n            if (element) {\n                element.removeEventListener('pointerdown', handlePointerDown);\n                element.removeEventListener('mousedown', handleMouseDown);\n                element.removeEventListener('touchstart', handleTouchStart);\n                element.removeEventListener('touchmove', handleTouchMove);\n                element.removeEventListener('touchend', handleTouchEnd);\n            }\n            document.removeEventListener('pointermove', handlePointerMove);\n            document.removeEventListener('pointerup', handlePointerUp, true);\n            document.removeEventListener('contextmenu', handleContextMenu);\n            document.removeEventListener('pointercancel', handlePointerCancel);\n            document.removeEventListener('mousemove', handleMouseMove);\n            document.removeEventListener('mouseup', handleMouseUp);\n            window.removeEventListener('touchmove', noop);\n            window.clearTimeout(restoreMouseTimeout.current);\n        };\n    };\n    React.useEffect(function () {\n        var window = getWindow();\n        if (scrolling) {\n            var scrollableParent_1 = getScrollContainer()\n                || getScrollableParent(document.elementFromPoint(clientOffset.current.x, clientOffset.current.y));\n            window.clearInterval(scrollInterval.current);\n            scrollInterval.current = window.setInterval(function () {\n                autoScrollElement(scrollableParent_1, { x: velocity.current.x, y: velocity.current.y });\n            }, 50);\n        }\n        return function () {\n            window.clearInterval(scrollInterval.current);\n        };\n    }, [getElement, getScrollContainer, getWindow, scrolling]);\n    React.useEffect(prerequisites, [prerequisites]);\n    React.useEffect(init, [\n        pressed,\n        getWindow,\n        getElement,\n        getDocument,\n        mouseOnly,\n        pointers,\n        handleContextMenu,\n        handleMouseDown,\n        handleMouseMove,\n        handleMouseUp,\n        handlePointerCancel,\n        handlePointerDown,\n        handlePointerMove,\n        handlePointerUp,\n        handleTouchEnd,\n        handleTouchMove,\n        handleTouchStart,\n        handleScroll\n    ]);\n    React.useEffect(function () {\n        unmount.current = false;\n        return function () {\n            unmount.current = true;\n        };\n    }, []);\n    React.useLayoutEffect(register, [register]);\n}\n","import * as React from 'react';\nimport { useDraggable } from './hooks';\n/**\n * Represents the KendoReact Draggable component.\n *\n * Accepts properties of type [DraggableProps]({% slug api_common_draggableprops %}),\n * and returns an object of type [DraggableHandle]({% slug api_common_draggablehandle %}) when the `ref` is obtained.\n */\nexport var Draggable = React.forwardRef(function (props, ref) {\n    var childRef = React.useRef(null);\n    var target = React.useRef(null);\n    var getElement = React.useCallback(function () { return childRef.current && childRef.current.element\n        ? childRef.current.element\n        : childRef.current; }, [childRef]);\n    React.useImperativeHandle(target, function () { return ({ element: getElement() || null }); });\n    React.useImperativeHandle(ref, function () { return target.current; });\n    React.useImperativeHandle(props.childRef, function () { return childRef.current; });\n    var handlePress = React.useCallback(function (event) {\n        if (!props.onPress) {\n            return;\n        }\n        props.onPress({\n            element: getElement(),\n            target: target.current,\n            event: event\n        });\n    }, [getElement, props.onPress]);\n    var handleRelease = React.useCallback(function (event) {\n        if (!props.onRelease) {\n            return;\n        }\n        props.onRelease({\n            element: getElement(),\n            target: target.current,\n            event: event\n        });\n    }, [getElement, props.onRelease]);\n    var handleDragStart = React.useCallback(function (event) {\n        if (!props.onDragStart) {\n            return;\n        }\n        props.onDragStart({\n            element: getElement(),\n            target: target.current,\n            event: event\n        });\n    }, [props, getElement]);\n    var handleDrag = React.useCallback(function (event) {\n        if (!props.onDrag) {\n            return;\n        }\n        props.onDrag({\n            element: getElement(),\n            target: target.current,\n            event: event\n        });\n    }, [getElement, props.onDrag]);\n    var handleDragEnd = React.useCallback(function (event) {\n        if (!props.onDragEnd) {\n            return;\n        }\n        props.onDragEnd({\n            element: getElement(),\n            target: target.current,\n            event: event\n        });\n    }, [getElement, props.onDragEnd]);\n    useDraggable(childRef, {\n        onPress: handlePress,\n        onRelease: handleRelease,\n        onDragStart: handleDragStart,\n        onDrag: handleDrag,\n        onDragEnd: handleDragEnd\n    }, {\n        mouseOnly: props.mouseOnly,\n        autoScroll: props.autoScroll,\n        hint: props.hint,\n        scrollContainer: props.scrollContainer\n    });\n    return props.children\n        ? (React.cloneElement(React.Children.only(props.children), { ref: childRef }))\n        : null;\n});\nDraggable.displayName = 'KendoReactDraggable';\n","import * as React from 'react';\nimport { noop } from '../noop';\nimport { useInheritedState } from '../hooks/useInheritedState';\nimport { DropContext, DropsContext } from '../drag-n-drop/context';\n/**\n * Represents the KendoReact `useDroppable` hook.\n * Use it to attach `drop` events to a native HTML DOM elements, or custom React Components.\n *\n * For more information, refer to the [KendoReact Droppable]({% slug droppable_drag-and-drop %}) article.\n *\n * @param ref - The `ref` of the HTML Element or React Component which will enable the `droppable` functionality.\n * @param callbacks - A collection of callbacks, called by the `useDroppable` hook when a specific action occurs.\n */\nexport function useDroppable(ref, callbacks) {\n    if (callbacks === void 0) { callbacks = {\n        onDragEnter: noop,\n        onDragOver: noop,\n        onDragLeave: noop,\n        onDrop: noop\n    }; }\n    var _a = callbacks.onDragEnter, onDragEnter = _a === void 0 ? noop : _a, _b = callbacks.onDragOver, onDragOver = _b === void 0 ? noop : _b, _c = callbacks.onDragLeave, onDragLeave = _c === void 0 ? noop : _c, _d = callbacks.onDrop, onDrop = _d === void 0 ? noop : _d;\n    var _e = useInheritedState(DropContext), setDrop = _e[1];\n    var _f = React.useContext(DropsContext), registerDrop = _f[1], deregisterDrop = _f[2];\n    var getElement = React.useCallback(function () { return ref.current && ref.current.element\n        ? ref.current.element\n        : ref.current; }, [ref]);\n    var target = React.useRef(null);\n    React.useImperativeHandle(target, function () { return ({\n        element: getElement(),\n        onDragEnter: handleDragEnter,\n        onDragOver: handleDragOver,\n        onDragLeave: handleDragLeave,\n        onDrop: handleDrop,\n        data: ref.current\n    }); });\n    var handleDragEnter = React.useCallback(function (event) {\n        setDrop(target, { target: ref.current, event: event });\n        onDragEnter(event);\n    }, [setDrop, ref, onDragEnter]);\n    var handleDragOver = React.useCallback(function (event) {\n        onDragOver(event);\n    }, [onDragOver]);\n    var handleDragLeave = React.useCallback(function (event) {\n        setDrop(null, { target: ref.current, event: event });\n        onDragLeave(event);\n    }, [setDrop, ref, onDragLeave]);\n    var handleDrop = React.useCallback(function (event) {\n        setDrop(null, { target: ref.current, event: event });\n        onDrop(event);\n    }, [setDrop, ref, onDrop]);\n    var register = React.useCallback(function () {\n        registerDrop(target);\n        return function () {\n            deregisterDrop(target);\n        };\n    }, [deregisterDrop, registerDrop]);\n    React.useLayoutEffect(register, [register]);\n}\n;\n","import * as React from 'react';\nimport { useDroppable } from './hooks';\n/**\n * Represents the KendoReact Droppable component.\n *\n * Accepts properties of type [DroppableProps]({% slug api_common_droppableprops %}),\n * and returns an object of type [DroppableHandle]({% slug api_common_droppablehandle %}) when the `ref` is obtained.\n */\nexport var Droppable = React.forwardRef(function (props, ref) {\n    var childRef = React.useRef(null);\n    var target = React.useRef(null);\n    var getElement = React.useCallback(function () { return childRef.current && childRef.current.element\n        ? childRef.current.element\n        : childRef.current; }, [childRef]);\n    React.useImperativeHandle(target, function () { return ({ element: getElement() || undefined }); });\n    React.useImperativeHandle(ref, function () { return target.current; });\n    React.useImperativeHandle(props.childRef, function () { return childRef.current; });\n    var handleDragEnter = React.useCallback(function (event) {\n        if (!props.onDragEnter) {\n            return;\n        }\n        props.onDragEnter({\n            element: getElement(),\n            target: target.current,\n            event: event\n        });\n    }, [props.onDragEnter, getElement]);\n    var handleDragOver = React.useCallback(function (event) {\n        if (!props.onDragOver) {\n            return;\n        }\n        props.onDragOver({\n            element: getElement(),\n            target: target.current,\n            event: event\n        });\n    }, [getElement, props.onDragOver]);\n    var handleDragLeave = React.useCallback(function (event) {\n        if (!props.onDragLeave) {\n            return;\n        }\n        props.onDragLeave({\n            element: getElement(),\n            target: target.current,\n            event: event\n        });\n    }, [props.onDragLeave, getElement]);\n    var handleDrop = React.useCallback(function (event) {\n        if (!props.onDrop) {\n            return;\n        }\n        props.onDrop({\n            element: getElement(),\n            target: target.current,\n            event: event\n        });\n    }, [props.onDrop, getElement]);\n    useDroppable(childRef, {\n        onDragEnter: handleDragEnter,\n        onDragOver: handleDragOver,\n        onDragLeave: handleDragLeave,\n        onDrop: handleDrop\n    });\n    return props.children\n        ? (React.cloneElement(React.Children.only(props.children), { ref: childRef }))\n        : null;\n});\nDroppable.displayName = 'KendoReactDroppable';\n","/** @hidden */\nexport var kendoThemeMaps = {\n    sizeMap: {\n        small: 'sm',\n        medium: 'md',\n        large: 'lg'\n    },\n    roundedMap: {\n        small: 'sm',\n        medium: 'md',\n        large: 'lg'\n    },\n    orientationMap: {\n        vertical: 'vstack',\n        horizontal: 'hstack'\n    }\n};\n","function isEqual(first, second) {\n    return (first === second) || (Number.isNaN(first) && Number.isNaN(second));\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (!isEqual(newInputs[i], lastInputs[i])) {\n            return false;\n        }\n    }\n    return true;\n}\n/**\n * @hidden\n */\nexport function memoizeOne(resultFn, isEqualFn) {\n    if (isEqualFn === void 0) { isEqualFn = areInputsEqual; }\n    var cache = null;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (cache && cache.lastThis === this && isEqualFn(newArgs, cache.lastArgs)) {\n            return cache.lastResult;\n        }\n        var lastResult = resultFn.apply(this, newArgs);\n        cache = {\n            lastResult: lastResult,\n            lastArgs: newArgs,\n            lastThis: this\n        };\n        return lastResult;\n    }\n    memoized.clear = function clear() {\n        cache = null;\n    };\n    return memoized;\n}\n","/**\n * @hidden\n */\nexport var FOCUSABLE_ELEMENTS = [\n    'input:not([disabled]):not([type=hidden])',\n    'select:not([disabled])',\n    'textarea:not([disabled])',\n    'button:not([disabled])',\n    'a[href]',\n    'area[href]',\n    'summary',\n    'iframe',\n    'object',\n    'embed',\n    'audio[controls]',\n    'video[controls]',\n    '[contenteditable]'\n];\n/**\n * Represents the [KendoReact Navigation functionality]({% slug overview_navigation %}).\n * It handles the navigation through a collection of DOM elements.\n */\nvar Navigation = /** @class */ (function () {\n    function Navigation(options) {\n        var _this = this;\n        /**\n         * @hidden\n         */\n        this.rovingTabIndex = true;\n        /**\n         * @hidden\n         */\n        this.update = function () { };\n        this.focusNextIndex = function (target, indexDiff) {\n            var all = _this.elements;\n            var index = all.indexOf(target) + indexDiff;\n            index = index < 0 ? all.length - 1 : index;\n            var next = all[index % all.length];\n            _this.focusElement(next, target);\n            return next;\n        };\n        this.tabIndex = options.tabIndex || 0;\n        this.root = options.root;\n        this.selectors = options.selectors;\n        this.focusOptions = options.focusOptions || { preventScroll: true };\n        this.rovingTabIndex = options.rovingTabIndex !== undefined ? options.rovingTabIndex : true;\n        this.mouseEvents = options.mouseEvents || {};\n        this.keyboardEvents = options.keyboardEvents || {};\n    }\n    Object.defineProperty(Navigation.prototype, \"elements\", {\n        /**\n         * Returns the collection of DOM elements which the module will navigate in.\n         */\n        get: function () {\n            return this.root.current ? Array.from(this.root.current.querySelectorAll(this.selectors.join(','))) : [];\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(Navigation.prototype, \"first\", {\n        /**\n         * Returns the first navigation DOM element.\n         */\n        get: function () {\n            return (this.root.current && this.root.current.querySelector(this.selectors.join(','))) || null;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(Navigation.prototype, \"last\", {\n        /**\n         * Returns the last navigation DOM element.\n         */\n        get: function () {\n            var all = this.elements;\n            return all[all.length - 1] || null;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(Navigation.prototype, \"current\", {\n        /**\n         * Returns the focused DOM element from the navigation collection of DOM elements.\n         */\n        get: function () {\n            return this.elements.find(function (el) { return el.matches(':focus'); }) || null;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    /**\n     * Focuses the next element from the navigation collection of DOM elements.\n     */\n    Navigation.prototype.focusNext = function (target) {\n        return this.focusNextIndex(target, 1);\n    };\n    /**\n     * Focuses the previous element from the navigation collection of DOM elements.\n     */\n    Navigation.prototype.focusPrevious = function (target) {\n        return this.focusNextIndex(target, -1);\n    };\n    /**\n     * The keyboard events handler.\n     */\n    Navigation.prototype.triggerKeyboardEvent = function (ev, options) {\n        var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));\n        var key = ev.key === ' ' ? 'Space' : ev.key;\n        var eventType = ev.nativeEvent.type;\n        if (target && this.keyboardEvents[eventType][key]) {\n            this.keyboardEvents[eventType][key].call(undefined, target, this, ev, options);\n        }\n    };\n    /**\n     * The mouse events handler.\n     */\n    Navigation.prototype.triggerMouseEvent = function (ev) {\n        var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));\n        var eventType = ev.nativeEvent.type;\n        if (target) {\n            this.mouseEvents[eventType].call(undefined, target, this, ev);\n        }\n    };\n    /**\n     * Focuses the passed element from the navigation collection of DOM elements.\n     */\n    Navigation.prototype.focusElement = function (element, previous) {\n        if (element) {\n            if (previous) {\n                if (this.rovingTabIndex) {\n                    previous.removeAttribute('tabindex');\n                }\n                previous.classList.remove('k-focus');\n            }\n            if (this.rovingTabIndex) {\n                element.setAttribute('tabindex', String(this.tabIndex));\n            }\n            element.focus(this.focusOptions);\n        }\n    };\n    return Navigation;\n}());\nexport { Navigation };\n;\n","/**\n * @hidden\n */\nexport var getInnerActiveElement = function (element) {\n    var shadowRoot = element.shadowRoot;\n    var contentDocument = element.contentDocument;\n    if (shadowRoot && shadowRoot.activeElement) {\n        return getInnerActiveElement(shadowRoot.activeElement);\n    }\n    if (contentDocument && contentDocument.activeElement) {\n        return getInnerActiveElement(contentDocument.activeElement);\n    }\n    return element;\n};\n/**\n * @hidden\n */\nexport var getActiveElement = function (document) {\n    if (!document || !document.activeElement) {\n        return undefined;\n    }\n    return getInnerActiveElement(document.activeElement);\n};\n","/**\n * @hidden\n */\nexport function getNestedValue(fieldName, dataItem) {\n    var path = (fieldName || '').split('.');\n    var data = dataItem;\n    path.forEach(function (p) {\n        data = data ? data[p] : undefined;\n    });\n    return data;\n}\n/**\n * @hidden\n */\nexport function isArray(operation) {\n    return operation.length !== undefined;\n}\n","import { getNestedValue } from './misc';\n/**\n * @hidden\n */\nvar TreeFieldsService = /** @class */ (function () {\n    function TreeFieldsService(treeViewProps) {\n        this.expandField = treeViewProps.expandField;\n        this.selectField = treeViewProps.selectField;\n        this.hasChildrenField = treeViewProps.hasChildrenField;\n        this.childrenField = treeViewProps.childrenField;\n        this.textField = treeViewProps.textField;\n        this.disableField = treeViewProps.disableField;\n        this.checkField = treeViewProps.checkField;\n        this.checkIndeterminateField = treeViewProps.checkIndeterminateField;\n        this.focusIdField = treeViewProps.focusIdField;\n    }\n    TreeFieldsService.prototype.expanded = function (item) {\n        return getNestedValue(this.expandField, item);\n    };\n    TreeFieldsService.prototype.selected = function (item) {\n        return getNestedValue(this.selectField, item);\n    };\n    TreeFieldsService.prototype.text = function (item) {\n        return getNestedValue(this.textField, item);\n    };\n    TreeFieldsService.prototype.disabled = function (item) {\n        return getNestedValue(this.disableField, item);\n    };\n    TreeFieldsService.prototype.hasChildren = function (item) {\n        return getNestedValue(this.hasChildrenField, item);\n    };\n    TreeFieldsService.prototype.children = function (item) {\n        var children = getNestedValue(this.childrenField, item);\n        return children ? children : [];\n    };\n    TreeFieldsService.prototype.checked = function (item) {\n        return getNestedValue(this.checkField, item);\n    };\n    TreeFieldsService.prototype.checkIndeterminate = function (item) {\n        return getNestedValue(this.checkIndeterminateField, item);\n    };\n    TreeFieldsService.prototype.focusId = function (item) {\n        return this.focusIdField && getNestedValue(this.focusIdField, item);\n    };\n    TreeFieldsService.prototype.getChildrenField = function () {\n        return this.childrenField;\n    };\n    return TreeFieldsService;\n}());\nexport { TreeFieldsService };\n","var PROPS_COUNT_LIMIT = 50000;\n/**\n * @hidden\n */\n// An alternative is to use array.sort() and\n// implement a binary search function.\nvar SortedPublicItemIds = /** @class */ (function () {\n    function SortedPublicItemIds() {\n        this.objects = [];\n    }\n    SortedPublicItemIds.prototype.init = function (publicItemIds) {\n        var currentObj;\n        for (var i = 0; i < publicItemIds.length; i++) {\n            if (i % PROPS_COUNT_LIMIT === 0) {\n                currentObj = {};\n                this.objects.push(currentObj);\n            }\n            currentObj[publicItemIds[i]] = true;\n        }\n    };\n    SortedPublicItemIds.prototype.hasId = function (publicItemId) {\n        return this.objects.some(function (obj) { return obj[publicItemId]; });\n    };\n    return SortedPublicItemIds;\n}());\nexport { SortedPublicItemIds };\n","/**\n * @hidden\n */\nexport var EMPTY_ID = '';\n/**\n * @hidden\n */\nexport var ZERO_LEVEL_ZERO_NODE_ID = '0';\n/**\n * @hidden\n */\nexport var SEPARATOR = '_';\n/**\n * @hidden\n */\nexport function getItemById(itemId, items, childrenField) {\n    if (isIdZeroLevel(itemId)) {\n        return items[Number(itemId)];\n    }\n    else {\n        var rootParentItem = items[Number(getRootParentId(itemId))];\n        var subItems = (rootParentItem && rootParentItem[childrenField]) || [];\n        return subItems.length ?\n            getItemById(getIdWithoutRootParentId(itemId), subItems, childrenField) : undefined;\n    }\n}\n/**\n * @hidden\n */\nexport function getRootParentId(itemId) {\n    return isIdEmptyOrZeroLevel(itemId) ? itemId : itemId.split(SEPARATOR)[0];\n}\n/**\n * @hidden\n */\nexport function getIdWithoutRootParentId(itemId) {\n    if (isIdEmptyOrZeroLevel(itemId)) {\n        return itemId;\n    }\n    else {\n        var firstSeparatorIndex = itemId.indexOf(SEPARATOR);\n        return itemId.substring(firstSeparatorIndex + 1);\n    }\n}\n/**\n * @hidden\n */\nexport function getFirstChildId(itemId) {\n    return createId('0', itemId);\n}\n/**\n * @hidden\n */\nexport function createId(childId, parentId) {\n    childId = childId.toString();\n    return parentId ? parentId + SEPARATOR + childId : childId;\n}\n/**\n * @hidden\n */\nexport function getDirectParentId(itemId) {\n    var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);\n    return lastSeparatorIndex < 0 ? EMPTY_ID : itemId.substring(0, lastSeparatorIndex);\n}\n/**\n * @hidden\n */\nexport function isIdEmptyOrZeroLevel(itemId) {\n    return itemId === EMPTY_ID || itemId.indexOf(SEPARATOR) < 0;\n}\n/**\n * @hidden\n */\nexport function isIdZeroLevel(itemId) {\n    return itemId !== EMPTY_ID && itemId.indexOf(SEPARATOR) < 0;\n}\n/**\n * @hidden\n */\nexport function getAllShortIds(itemId) {\n    return itemId.split(SEPARATOR);\n}\n/**\n * @hidden\n */\nexport function getShortId(itemId) {\n    var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);\n    return lastSeparatorIndex < 0 ? itemId : itemId.substring(lastSeparatorIndex + 1);\n}\n/**\n * @hidden\n */\nexport function isItemFirstFromSiblings(itemId) {\n    return getShortId(itemId) === ZERO_LEVEL_ZERO_NODE_ID;\n}\n/**\n * @hidden\n */\nexport function getDecrementedItemIdAfterRemoval(removedItemId, itemId) {\n    var preservedItemId = itemId;\n    removedItemId = 'r' + SEPARATOR + removedItemId;\n    itemId = 'r' + SEPARATOR + itemId;\n    var itemSharedPath = getDirectParentId(removedItemId) + SEPARATOR;\n    if (itemId.startsWith(itemSharedPath)) {\n        var itemNotSharedPath = itemId.substring(itemSharedPath.length);\n        if (itemNotSharedPath) {\n            var siblingShortId = getRootParentId(itemNotSharedPath);\n            if (Number(getShortId(removedItemId)) < Number(siblingShortId)) {\n                var decrementedId = itemSharedPath +\n                    (Number(siblingShortId) - 1).toString() +\n                    itemNotSharedPath.substring(siblingShortId.length);\n                return getIdWithoutRootParentId(decrementedId);\n            }\n        }\n    }\n    return preservedItemId;\n}\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport { EMPTY_ID, isIdZeroLevel, createId, getRootParentId, getIdWithoutRootParentId, getAllShortIds } from './itemIdUtils';\nimport { SortedPublicItemIds } from './SortedPublicItemIds';\nimport { getNestedValue } from './misc';\n/**\n * @hidden\n */\nexport function hasChildren(item, childrenField) {\n    var children = getNestedValue(childrenField, item);\n    return Boolean(children && children.length);\n}\n/**\n * @hidden\n */\nexport function isItemExpandedAndWithChildren(item, fieldsSvc) {\n    return fieldsSvc.expanded(item) && hasChildren(item, fieldsSvc.getChildrenField());\n}\n/**\n * @hidden\n */\nexport function resolveItemId(publicId, idField, items, childrenField) {\n    var resolvedIds = resolveItemsIds([publicId], idField, items, childrenField);\n    return resolvedIds.length ? resolvedIds[0] : undefined;\n}\n/**\n * @hidden\n */\nexport function resolveItemsIds(publicIds, idField, items, childrenField) {\n    var result = [];\n    var sortedIds = new SortedPublicItemIds();\n    sortedIds.init(publicIds);\n    resolveItemsIdsHelper(sortedIds, idField, items, EMPTY_ID, result, childrenField);\n    return result;\n}\n/**\n * @hidden\n */\nexport function updateItem(items, itemId, update, cloneField, childrenField) {\n    var _a;\n    var itemIndex = Number(getRootParentId(itemId));\n    if (itemIndex >= items.length) {\n        return items;\n    }\n    var result = items;\n    var item = items[itemIndex];\n    // Clone the item before updating it.\n    if (!item[cloneField]) {\n        result = items.slice();\n        item = result[itemIndex] = Object.assign({}, item, (_a = {}, _a[cloneField] = true, _a));\n    }\n    // Directly update the item.\n    if (isIdZeroLevel(itemId)) {\n        update(item);\n    }\n    else if (item[childrenField]) {\n        item[childrenField] = updateItem(item[childrenField], getIdWithoutRootParentId(itemId), update, cloneField, childrenField);\n    }\n    return result;\n}\n/**\n * @hidden\n */\nexport function isEnabledAndAllParentsEnabled(itemId, items, fieldsSvc) {\n    var ids = getAllShortIds(itemId);\n    var currentItems = items;\n    for (var i = 0; i < ids.length; i++) {\n        var currentItem = currentItems[Number(ids[i])];\n        if (fieldsSvc.disabled(currentItem)) {\n            return false;\n        }\n        else {\n            currentItems = currentItem[fieldsSvc.getChildrenField()];\n        }\n    }\n    return true;\n}\n/**\n * @hidden\n */\nexport function getAllDirectIndirectChildrenIds(item, itemId, childrenField, idField) {\n    return idField ? getChildrenPublicIds(item) : getChildrenHierarchicalIndices(item, itemId);\n    function getChildrenHierarchicalIndices(startItem, startItemId) {\n        var result = [];\n        var children = startItem[childrenField] || [];\n        for (var i = 0; i < children.length; i++) {\n            var id = createId(i, startItemId);\n            result.push(id);\n            result = result.concat(getChildrenHierarchicalIndices(children[i], id));\n        }\n        return result;\n    }\n    function getChildrenPublicIds(startItem) {\n        var result = [];\n        var children = startItem[childrenField] || [];\n        for (var i = 0; i < children.length; i++) {\n            result.push(getNestedValue(idField, children[i]));\n            result = result.concat(getChildrenPublicIds(children[i]));\n        }\n        return result;\n    }\n}\n/**\n * @hidden\n */\nexport function areAllDirectChildrenChecked(item, itemId, idField, childrenField, check) {\n    var children = item[childrenField] || [];\n    return children.every(function (child, index) {\n        return check.indexOf(idField ? getNestedValue(idField, child) : createId(index, itemId)) > -1;\n    });\n}\n/**\n * @hidden\n */\nexport function getAllParents(itemId, childrenField, items) {\n    var result = [];\n    var ids = getAllShortIds(itemId);\n    var currentItems = items;\n    for (var i = 0; i < ids.length - 1; i++) {\n        if (!currentItems) {\n            break;\n        }\n        var currentItem = currentItems[Number(ids[i])];\n        result.push(currentItem);\n        currentItems = currentItem[childrenField];\n    }\n    return result;\n}\n/**\n * @hidden\n */\nexport function removeItem(itemId, childrenField, items) {\n    var result = items.slice();\n    if (isIdZeroLevel(itemId)) {\n        result.splice(Number(itemId), 1);\n    }\n    else {\n        var rootParentIndex = Number(getRootParentId(itemId));\n        var rootParent = result[rootParentIndex] = __assign({}, result[rootParentIndex]);\n        rootParent[childrenField] = removeItem(getIdWithoutRootParentId(itemId), childrenField, rootParent[childrenField]);\n    }\n    return result;\n}\n/**\n * @hidden\n */\nexport function addItem(item, operation, childrenField, targetItemId, items) {\n    var result = items.slice();\n    if (isIdZeroLevel(targetItemId)) {\n        if (operation === 'child') {\n            var targetItem = result[Number(targetItemId)] = __assign({}, result[Number(targetItemId)]);\n            if (targetItem[childrenField]) {\n                targetItem[childrenField] = targetItem[childrenField].slice();\n                targetItem[childrenField].push(item);\n            }\n            else {\n                targetItem[childrenField] = [item];\n            }\n        }\n        else {\n            result.splice(Number(targetItemId) + (operation === 'after' ? 1 : 0), 0, item);\n        }\n    }\n    else {\n        var rootParentIndex = Number(getRootParentId(targetItemId));\n        var rootParent = result[rootParentIndex] = __assign({}, result[rootParentIndex]);\n        rootParent[childrenField] = addItem(item, operation, childrenField, getIdWithoutRootParentId(targetItemId), rootParent[childrenField]);\n    }\n    return result;\n}\nfunction resolveItemsIdsHelper(publicItemIds, idField, items, parentItemId, resolvedIds, childrenField) {\n    for (var i = 0; i < items.length; i++) {\n        var item = items[i];\n        var id = createId(i, parentItemId);\n        if (publicItemIds.hasId(getNestedValue(idField, item))) {\n            resolvedIds.push(id);\n        }\n        if (hasChildren(item, childrenField)) {\n            resolveItemsIdsHelper(publicItemIds, idField, getNestedValue(childrenField, item), id, resolvedIds, childrenField);\n        }\n    }\n}\n"],"names":["DRAG_AND_DROP_DISPATCH_ACTION","intersect","element","candidates","max","result","forEach","candidate","ration","target","elementRect","getBoundingClientRect","targetRect","top","Math","left","right","min","width","bottom","height","targetArea","entryArea","intersectionArea","Number","toFixed","getRatio","detectBrowser","ua","window","navigator","userAgent","browser","match","browserRxs","edge","webkit","safari","opera","msie","mozilla","agent","hasOwnProperty","toLowerCase","split","version","parseInt","document","DOCUMENT_NODE","getDocument","ownerDocument","scrollableRoot","support","body","documentElement","isScrollable","el","className","indexOf","overflow","getComputedStyle","getScrollableParent","root","parent","nodeType","Node","DOCUMENT_FRAGMENT_NODE","parentNode","noop","dispatchDragAndDrop","state","action","callbacks","_a","onIsPressedChange","_b","onIsScrollingChange","_c","onVelocityChange","_d","onOffsetChange","_e","onPageOffsetChange","_f","onClientOffsetChange","_g","onScrollOffsetChange","_h","onInitialScrollOffsetChange","drag","payload","hint","autoScrollDirection","overrideScrollableParent","scrollableParent","event","test","type","isTouchEvent","pageX","changedTouches","pageY","clientX","clientY","scrollX","scrollOffset","x","scrollY","y","offsetX","offset","offsetY","originalEvent","isTouch","altKey","ctrlKey","shiftKey","metaKey","isScrollEvent","pageOffset","clientOffset","normalizeEvent","POINTER_DOWN","isPrimary","button","MOUSE_DOWN","which","ignoreMouse","TOUCH_START","touches","length","START","scrollableParent_1","Window","scrollLeft","scrollTop","onPress","SCROLL","pressed","initialScrollOffset","POINTER_MOVE","MOUSE_MOVE","TOUCH_MOVE","MOVE","autoScroll","document_1","scrollableParent_2","elementFromPoint","newVelocity","mouseX","mouseY","rect","velocity","AUTO_SCROLL_AREA","autoScrollVelocity","innerHeight","innerWidth","scrollableViewPort","defaultView","getWindow","horizontal","vertical","onDragStart","onDrag","dropElement_1","drops","map","drop","filter","d","find","container","isPointerInsideContainer","onDragLeave","onDragEnter","onDragOver","POINTER_UP","MOUSE_UP","TOUCH_END","END","onRelease","onDrop","onDragEnd","POINTER_CANCEL","CONTEXT_MENU","TOUCH_CANCEL","CANCEL","vel","yIsScrollable","xIsScrollable","scrollHeight","scrollWidth","offsetHeight","offsetWidth","yDelta","yInBounds","xDelta","xInBounds","ZIndexContext","React","useZIndexContext","displayName","BrowserSupportService","this","scrollbar","Object","defineProperty","prototype","get","createElement","div","style","cssText","innerHTML","appendChild","removeChild","enumerable","configurable","canUseDOM","Boolean","canUseRef","Component","Comment","isReactComponent","isClassComponent","$$typeof","render","isForwardRef","classNames","args","_i","arguments","addKeys","list","arg","Array","isArray","keys","key","addLeafKeys","join","cloneDate","date","Date","getTime","clone","obj","cloneObject","field","value","cloneValue","nextValue","cloneArray","props","newNextValue","array","undefined","focusFirstFocusableChild","HTMLInputElement","tabIndex","focus","querySelector","FormComponent","getTabIndex","disabled","useDefaultTabIndexWhenDisabled","parsedTabIndex","NaN","FIELD_REGEX","fieldList","fields","replace","_match","index","indexAccessor","fieldName","push","getterCache","getter","idx","guid","i","random","id","toString","Keys","backspace","tab","enter","shift","esc","space","pageUp","pageDown","end","home","up","down","delete","getScrollbarWidth","scrollbarWidth","setScrollbarWidth","setProperty","concat","setterCache","defaultValue","nextField","options","arrays","isNaN","setter","depth","__assign","assign","t","s","n","p","call","apply","__spreadArray","to","from","pack","ar","l","slice","children","item","subItemsField","subItems","mapItem","dataItem","callbackfn","child","mapTree","tree","callback","mapTreeItem","level","curData","parentNodes","newItemIndex","newItem","splice","extendDataItem","propsToExtend","getItemPath","nodes","itemLevel","allowed","validatePackage","packageMetadata","licensing","message","name","licensingDocsUrl","console","warn","shouldShowValidationUI","some","hostname","globalThis","location","endsWith","hasRelativeStackingContext","elementSource","currentDocument","transform","createTextNode","position","isDifferent","didRender","WatermarkOverlay","isOpen","setIsOpen","bannerMounted","setBannerMounted","bannerElement","display","justifyContent","alignItems","padding","borderRadius","boxShadow","fontSize","fontWeight","lineHeight","backgroundColor","color","zIndex","alignSelf","marginRight","viewBox","fill","fillRule","clipRule","marginLeft","href","title","border","transition","outline","cursor","onClick","opacity","pointerEvents","backgroundImage","ReactDOM","dispatchEvent","eventHandler","dispatchedEvent","eventData","eventBaseData","syntheticEvent","nativeEvent","useAsyncFocusBlur","onFocus","onBlur","onSyncFocus","onSyncBlur","focused","tick","nextTick","f","clearTimeout","current","setTimeout","handleFocus","handleBlur","AsyncFocusBlur","usePropsContext","context","contextPropsCallback","createPropsContext","withPropsContext","ref","contextProps","useDir","elementRef","initialDir","dir","setDir","rtlCandidate","direction","useRtl","COLLECTION_ACTION","useMouse","extend","handleMouseDown","onMouseDown","handleMouseUp","onMouseUp","onDoubleClick","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","useCustomComponent","comp","useCollection","initial","collection","handleCollectionAction","add","remove","useDocument","getElement","useWindow","SIZE_CLASSES","toIconName","iconClass","toIconClass","svgIconPropType","PropTypes","isRequired","content","__rest","e","getOwnPropertySymbols","propertyIsEnumerable","Icon","themeColor","size","flip","others","sizeProp","defaultProps","flipProp","fontClassNames","mouseProps","role","propTypes","SvgIcon","svgClassName","icon","svgStyle","iconNameProp","viewBoxProp","elementClassNames","elementStyle","focusable","xmlns","dangerouslySetInnerHTML","__html","IconsContext","IconWrap","icons","fontIconProps","svg","FONT_SIZE_CLASSES","FONT_WEIGHT_CLASSES","MARGIN_ENUM_CLASSES","MARGIN_ENUM_VALUES","MARGIN_SIDES_CLASSES","TEXT_ALIGN_CLASSES","TEXT_TRANSFORM_CLASSES","THEME_COLOR_CLASSES","generateTypography","component","textAlign","textTransform","margin","setMarginClasses","marginClassesList_1","marginSide","val","setMarginClassPerSide","toUpperCase","Typography","h1","h2","h3","h4","h5","h6","code","pre","useControlledState","defaultProp","prop","setState","DragContext","DropContext","DragsContext","DropsContext","DragAndDrop","setDrag","setDrop","drags","dispatchDrags","dispatchDrops","Provider","useInheritedState","contextValue","contextSetter","localValue","localSetter","IGNORE_MOUSE_TIMEOUT","useDraggable","mouseOnly","_j","scrollContainer","_k","setPressed","_l","scrolling","setScrolling","_m","_o","registerDrag","deregisterDrag","scrollInterval","restoreMouseTimeout","scrollable","unmount","initialClientOffset","supportPointerEvent","PointerEvent","pointers","getHintElement","getScrollContainer","getAutoScrollContainer","boundaryElementRef","handlePress","handleDragStart","handleDrag","handleDragEnd","handleRelease","data","getState","enabled","isScrolling","handlePressedChange","handleScrollingChange","handleVelocityChange","handleOffsetChange","handleClientOffsetChange","handlePageOffsetChange","handleInitialClientOffsetChange","handleScrollOffsetChange","handleInitialScrollOffsetChange","dispatchDragEvent","onInitialClientOffsetChange","handlePointerDown","handlePointerMove","handlePointerCancel","handlePointerUp","handleMouseMove","handleContextMenu","preventDefault","handleTouchStart","handleTouchMove","handleTouchEnd","currentWindow","handleScroll","prerequisites","initialTouchAction_1","touchAction","register","clearInterval","setInterval","autoScrollElement","addEventListener","passive","capture","removeEventListener","Draggable","childRef","only","useDroppable","registerDrop","deregisterDrop","handleDragEnter","handleDragOver","handleDragLeave","handleDrop","Droppable","kendoThemeMaps","sizeMap","small","medium","large","roundedMap","orientationMap","areInputsEqual","newInputs","lastInputs","first","second","memoizeOne","resultFn","isEqualFn","cache","memoized","newArgs","lastThis","lastArgs","lastResult","clear","FOCUSABLE_ELEMENTS","Navigation","_this","rovingTabIndex","update","focusNextIndex","indexDiff","all","elements","next","focusElement","selectors","focusOptions","preventScroll","mouseEvents","keyboardEvents","querySelectorAll","matches","focusNext","focusPrevious","triggerKeyboardEvent","ev","Element","closest","eventType","triggerMouseEvent","previous","removeAttribute","classList","setAttribute","String","getInnerActiveElement","shadowRoot","contentDocument","activeElement","getActiveElement","getNestedValue","path","operation","TreeFieldsService","treeViewProps","expandField","selectField","hasChildrenField","childrenField","textField","disableField","checkField","checkIndeterminateField","focusIdField","expanded","selected","text","hasChildren","checked","checkIndeterminate","focusId","getChildrenField","SortedPublicItemIds","objects","init","publicItemIds","currentObj","hasId","publicItemId","EMPTY_ID","ZERO_LEVEL_ZERO_NODE_ID","SEPARATOR","getItemById","itemId","items","isIdZeroLevel","rootParentItem","getRootParentId","getIdWithoutRootParentId","isIdEmptyOrZeroLevel","firstSeparatorIndex","substring","getFirstChildId","createId","childId","parentId","getDirectParentId","lastSeparatorIndex","lastIndexOf","getAllShortIds","getShortId","isItemFirstFromSiblings","getDecrementedItemIdAfterRemoval","removedItemId","preservedItemId","itemSharedPath","startsWith","itemNotSharedPath","siblingShortId","isItemExpandedAndWithChildren","fieldsSvc","resolveItemId","publicId","idField","resolvedIds","resolveItemsIds","publicIds","sortedIds","resolveItemsIdsHelper","updateItem","cloneField","itemIndex","isEnabledAndAllParentsEnabled","ids","currentItems","currentItem","getAllDirectIndirectChildrenIds","getChildrenPublicIds","startItem","getChildrenHierarchicalIndices","startItemId","areAllDirectChildrenChecked","check","every","getAllParents","removeItem","rootParentIndex","rootParent","addItem","targetItemId","targetItem","parentItemId"],"sourceRoot":""}