@pdg/react-table 1.0.70 → 1.0.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../node_modules/classnames/index.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/_trimmedEndIndex.js","../node_modules/lodash-es/_baseTrim.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/toNumber.js","../node_modules/lodash-es/now.js","../node_modules/lodash-es/debounce.js","../node_modules/lodash-es/throttle.js","../node_modules/can-use-dom/index.js","../node_modules/simplebar-core/dist/index.mjs","../node_modules/simplebar-react/dist/index.mjs","../node_modules/lodash/isObject.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/now.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/debounce.js","../node_modules/lodash/throttle.js","../node_modules/react-resize-detector/build/index.esm.js","../src/Table/Table.types.ts","../src/Table/Table.styles.ts","../src/TableBodyRow/TableBodyRow.types.ts","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../src/@util/compare.ts","../src/@util/number.ts","../src/@util/table.ts","../src/@util/tel.ts","../src/TableContext/TableContext.types.ts","../src/TableContext/TableContext.ts","../src/TableContext/useTableState.ts","../src/TableCommonCell/TableCommonCell.tsx","../src/TableBodyCell/TableBodyCell.tsx","../src/TableBodyRow/TableBodyRow.tsx","../src/TableFooterCell/TableFooterCell.tsx","../src/TablePagination/TablePagination.tsx","../node_modules/@pdg/react-hook/dist/index.esm.js","../node_modules/style-inject/dist/style-inject.es.js","../src/TableContextProvider/TableContextProvider.tsx","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/TableTopHead/TableTopHead.types.ts","../src/TableTopHead/TableTopHead.style.ts","../src/TableHeadCell/TableHeadCell.tsx","../src/TableTopHead/TableTopHead.tsx","../src/Table/Table.tsx","../src/SearchTable/SearchTable.types.ts","../src/SearchTable/SearchTable.tsx","../src/TableButton/TableButton.types.ts","../src/TableIcon/TableIcon.types.ts","../src/TableIcon/TableIcon.tsx","../src/TableButton/TableButton.tsx","../src/TableMenuButton/TableMenuButton.types.ts","../src/TableMenuButton/TableMenuButton.tsx","../src/InfoTable/InfoTable.types.ts","../src/InfoTable/InfoTable.style.ts","../node_modules/toggle-selection/index.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../src/InfoTable/InfoTable.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","import debounce from './debounce.js';\nimport isObject from './isObject.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport default throttle;\n","var canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nmodule.exports = canUseDOM;","/**\n * simplebar-core - v1.2.4\n * Scrollbars, simpler.\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat from a fork by Jonathan Nicol\n * Under MIT License\n */\n\nimport { throttle, debounce } from 'lodash-es';\nimport canUseDOM from 'can-use-dom';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar cachedScrollbarWidth = null;\nvar cachedDevicePixelRatio = null;\nif (canUseDOM) {\n window.addEventListener('resize', function () {\n if (cachedDevicePixelRatio !== window.devicePixelRatio) {\n cachedDevicePixelRatio = window.devicePixelRatio;\n cachedScrollbarWidth = null;\n }\n });\n}\nfunction scrollbarWidth() {\n if (cachedScrollbarWidth === null) {\n if (typeof document === 'undefined') {\n cachedScrollbarWidth = 0;\n return cachedScrollbarWidth;\n }\n var body = document.body;\n var box = document.createElement('div');\n box.classList.add('simplebar-hide-scrollbar');\n body.appendChild(box);\n var width = box.getBoundingClientRect().right;\n body.removeChild(box);\n cachedScrollbarWidth = width;\n }\n return cachedScrollbarWidth;\n}\n\nfunction getElementWindow$1(element) {\n if (!element ||\n !element.ownerDocument ||\n !element.ownerDocument.defaultView) {\n return window;\n }\n return element.ownerDocument.defaultView;\n}\nfunction getElementDocument$1(element) {\n if (!element || !element.ownerDocument) {\n return document;\n }\n return element.ownerDocument;\n}\n// Helper function to retrieve options from element attributes\nvar getOptions$1 = function (obj) {\n var initialObj = {};\n var options = Array.prototype.reduce.call(obj, function (acc, attribute) {\n var option = attribute.name.match(/data-simplebar-(.+)/);\n if (option) {\n var key = option[1].replace(/\\W+(.)/g, function (_, chr) { return chr.toUpperCase(); });\n switch (attribute.value) {\n case 'true':\n acc[key] = true;\n break;\n case 'false':\n acc[key] = false;\n break;\n case undefined:\n acc[key] = true;\n break;\n default:\n acc[key] = attribute.value;\n }\n }\n return acc;\n }, initialObj);\n return options;\n};\nfunction addClasses$1(el, classes) {\n var _a;\n if (!el)\n return;\n (_a = el.classList).add.apply(_a, classes.split(' '));\n}\nfunction removeClasses$1(el, classes) {\n if (!el)\n return;\n classes.split(' ').forEach(function (className) {\n el.classList.remove(className);\n });\n}\nfunction classNamesToQuery$1(classNames) {\n return \".\".concat(classNames.split(' ').join('.'));\n}\n\nvar helpers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getElementWindow: getElementWindow$1,\n getElementDocument: getElementDocument$1,\n getOptions: getOptions$1,\n addClasses: addClasses$1,\n removeClasses: removeClasses$1,\n classNamesToQuery: classNamesToQuery$1\n});\n\nvar getElementWindow = getElementWindow$1, getElementDocument = getElementDocument$1, getOptions = getOptions$1, addClasses = addClasses$1, removeClasses = removeClasses$1, classNamesToQuery = classNamesToQuery$1;\nvar SimpleBarCore = /** @class */ (function () {\n function SimpleBarCore(element, options) {\n if (options === void 0) { options = {}; }\n var _this = this;\n this.removePreventClickId = null;\n this.minScrollbarWidth = 20;\n this.stopScrollDelay = 175;\n this.isScrolling = false;\n this.isMouseEntering = false;\n this.scrollXTicking = false;\n this.scrollYTicking = false;\n this.wrapperEl = null;\n this.contentWrapperEl = null;\n this.contentEl = null;\n this.offsetEl = null;\n this.maskEl = null;\n this.placeholderEl = null;\n this.heightAutoObserverWrapperEl = null;\n this.heightAutoObserverEl = null;\n this.rtlHelpers = null;\n this.scrollbarWidth = 0;\n this.resizeObserver = null;\n this.mutationObserver = null;\n this.elStyles = null;\n this.isRtl = null;\n this.mouseX = 0;\n this.mouseY = 0;\n this.onMouseMove = function () { };\n this.onWindowResize = function () { };\n this.onStopScrolling = function () { };\n this.onMouseEntered = function () { };\n /**\n * On scroll event handling\n */\n this.onScroll = function () {\n var elWindow = getElementWindow(_this.el);\n if (!_this.scrollXTicking) {\n elWindow.requestAnimationFrame(_this.scrollX);\n _this.scrollXTicking = true;\n }\n if (!_this.scrollYTicking) {\n elWindow.requestAnimationFrame(_this.scrollY);\n _this.scrollYTicking = true;\n }\n if (!_this.isScrolling) {\n _this.isScrolling = true;\n addClasses(_this.el, _this.classNames.scrolling);\n }\n _this.showScrollbar('x');\n _this.showScrollbar('y');\n _this.onStopScrolling();\n };\n this.scrollX = function () {\n if (_this.axis.x.isOverflowing) {\n _this.positionScrollbar('x');\n }\n _this.scrollXTicking = false;\n };\n this.scrollY = function () {\n if (_this.axis.y.isOverflowing) {\n _this.positionScrollbar('y');\n }\n _this.scrollYTicking = false;\n };\n this._onStopScrolling = function () {\n removeClasses(_this.el, _this.classNames.scrolling);\n if (_this.options.autoHide) {\n _this.hideScrollbar('x');\n _this.hideScrollbar('y');\n }\n _this.isScrolling = false;\n };\n this.onMouseEnter = function () {\n if (!_this.isMouseEntering) {\n addClasses(_this.el, _this.classNames.mouseEntered);\n _this.showScrollbar('x');\n _this.showScrollbar('y');\n _this.isMouseEntering = true;\n }\n _this.onMouseEntered();\n };\n this._onMouseEntered = function () {\n removeClasses(_this.el, _this.classNames.mouseEntered);\n if (_this.options.autoHide) {\n _this.hideScrollbar('x');\n _this.hideScrollbar('y');\n }\n _this.isMouseEntering = false;\n };\n this._onMouseMove = function (e) {\n _this.mouseX = e.clientX;\n _this.mouseY = e.clientY;\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseMoveForAxis('x');\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseMoveForAxis('y');\n }\n };\n this.onMouseLeave = function () {\n _this.onMouseMove.cancel();\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseLeaveForAxis('x');\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseLeaveForAxis('y');\n }\n _this.mouseX = -1;\n _this.mouseY = -1;\n };\n this._onWindowResize = function () {\n // Recalculate scrollbarWidth in case it's a zoom\n _this.scrollbarWidth = _this.getScrollbarWidth();\n _this.hideNativeScrollbar();\n };\n this.onPointerEvent = function (e) {\n if (!_this.axis.x.track.el ||\n !_this.axis.y.track.el ||\n !_this.axis.x.scrollbar.el ||\n !_this.axis.y.scrollbar.el)\n return;\n var isWithinTrackXBounds, isWithinTrackYBounds;\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n isWithinTrackXBounds = _this.isWithinBounds(_this.axis.x.track.rect);\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n isWithinTrackYBounds = _this.isWithinBounds(_this.axis.y.track.rect);\n }\n // If any pointer event is called on the scrollbar\n if (isWithinTrackXBounds || isWithinTrackYBounds) {\n // Prevent event leaking\n e.stopPropagation();\n if (e.type === 'pointerdown' && e.pointerType !== 'touch') {\n if (isWithinTrackXBounds) {\n _this.axis.x.scrollbar.rect =\n _this.axis.x.scrollbar.el.getBoundingClientRect();\n if (_this.isWithinBounds(_this.axis.x.scrollbar.rect)) {\n _this.onDragStart(e, 'x');\n }\n else {\n _this.onTrackClick(e, 'x');\n }\n }\n if (isWithinTrackYBounds) {\n _this.axis.y.scrollbar.rect =\n _this.axis.y.scrollbar.el.getBoundingClientRect();\n if (_this.isWithinBounds(_this.axis.y.scrollbar.rect)) {\n _this.onDragStart(e, 'y');\n }\n else {\n _this.onTrackClick(e, 'y');\n }\n }\n }\n }\n };\n /**\n * Drag scrollbar handle\n */\n this.drag = function (e) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n if (!_this.draggedAxis || !_this.contentWrapperEl)\n return;\n var eventOffset;\n var track = _this.axis[_this.draggedAxis].track;\n var trackSize = (_b = (_a = track.rect) === null || _a === void 0 ? void 0 : _a[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _b !== void 0 ? _b : 0;\n var scrollbar = _this.axis[_this.draggedAxis].scrollbar;\n var contentSize = (_d = (_c = _this.contentWrapperEl) === null || _c === void 0 ? void 0 : _c[_this.axis[_this.draggedAxis].scrollSizeAttr]) !== null && _d !== void 0 ? _d : 0;\n var hostSize = parseInt((_f = (_e = _this.elStyles) === null || _e === void 0 ? void 0 : _e[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _f !== void 0 ? _f : '0px', 10);\n e.preventDefault();\n e.stopPropagation();\n if (_this.draggedAxis === 'y') {\n eventOffset = e.pageY;\n }\n else {\n eventOffset = e.pageX;\n }\n // Calculate how far the user's mouse is from the top/left of the scrollbar (minus the dragOffset).\n var dragPos = eventOffset -\n ((_h = (_g = track.rect) === null || _g === void 0 ? void 0 : _g[_this.axis[_this.draggedAxis].offsetAttr]) !== null && _h !== void 0 ? _h : 0) -\n _this.axis[_this.draggedAxis].dragOffset;\n dragPos = _this.draggedAxis === 'x' && _this.isRtl\n ? ((_k = (_j = track.rect) === null || _j === void 0 ? void 0 : _j[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _k !== void 0 ? _k : 0) -\n scrollbar.size -\n dragPos\n : dragPos;\n // Convert the mouse position into a percentage of the scrollbar height/width.\n var dragPerc = dragPos / (trackSize - scrollbar.size);\n // Scroll the content by the same percentage.\n var scrollPos = dragPerc * (contentSize - hostSize);\n // Fix browsers inconsistency on RTL\n if (_this.draggedAxis === 'x' && _this.isRtl) {\n scrollPos = ((_l = SimpleBarCore.getRtlHelpers()) === null || _l === void 0 ? void 0 : _l.isScrollingToNegative)\n ? -scrollPos\n : scrollPos;\n }\n _this.contentWrapperEl[_this.axis[_this.draggedAxis].scrollOffsetAttr] =\n scrollPos;\n };\n /**\n * End scroll handle drag\n */\n this.onEndDrag = function (e) {\n var elDocument = getElementDocument(_this.el);\n var elWindow = getElementWindow(_this.el);\n e.preventDefault();\n e.stopPropagation();\n removeClasses(_this.el, _this.classNames.dragging);\n elDocument.removeEventListener('mousemove', _this.drag, true);\n elDocument.removeEventListener('mouseup', _this.onEndDrag, true);\n _this.removePreventClickId = elWindow.setTimeout(function () {\n // Remove these asynchronously so we still suppress click events\n // generated simultaneously with mouseup.\n elDocument.removeEventListener('click', _this.preventClick, true);\n elDocument.removeEventListener('dblclick', _this.preventClick, true);\n _this.removePreventClickId = null;\n });\n };\n /**\n * Handler to ignore click events during drag\n */\n this.preventClick = function (e) {\n e.preventDefault();\n e.stopPropagation();\n };\n this.el = element;\n this.options = __assign(__assign({}, SimpleBarCore.defaultOptions), options);\n this.classNames = __assign(__assign({}, SimpleBarCore.defaultOptions.classNames), options.classNames);\n this.axis = {\n x: {\n scrollOffsetAttr: 'scrollLeft',\n sizeAttr: 'width',\n scrollSizeAttr: 'scrollWidth',\n offsetSizeAttr: 'offsetWidth',\n offsetAttr: 'left',\n overflowAttr: 'overflowX',\n dragOffset: 0,\n isOverflowing: true,\n forceVisible: false,\n track: { size: null, el: null, rect: null, isVisible: false },\n scrollbar: { size: null, el: null, rect: null, isVisible: false }\n },\n y: {\n scrollOffsetAttr: 'scrollTop',\n sizeAttr: 'height',\n scrollSizeAttr: 'scrollHeight',\n offsetSizeAttr: 'offsetHeight',\n offsetAttr: 'top',\n overflowAttr: 'overflowY',\n dragOffset: 0,\n isOverflowing: true,\n forceVisible: false,\n track: { size: null, el: null, rect: null, isVisible: false },\n scrollbar: { size: null, el: null, rect: null, isVisible: false }\n }\n };\n if (typeof this.el !== 'object' || !this.el.nodeName) {\n throw new Error(\"Argument passed to SimpleBar must be an HTML element instead of \".concat(this.el));\n }\n this.onMouseMove = throttle(this._onMouseMove, 64);\n this.onWindowResize = debounce(this._onWindowResize, 64, { leading: true });\n this.onStopScrolling = debounce(this._onStopScrolling, this.stopScrollDelay);\n this.onMouseEntered = debounce(this._onMouseEntered, this.stopScrollDelay);\n this.init();\n }\n /**\n * Helper to fix browsers inconsistency on RTL:\n * - Firefox inverts the scrollbar initial position\n * - IE11 inverts both scrollbar position and scrolling offset\n * Directly inspired by @KingSora's OverlayScrollbars https://github.com/KingSora/OverlayScrollbars/blob/master/js/OverlayScrollbars.js#L1634\n */\n SimpleBarCore.getRtlHelpers = function () {\n if (SimpleBarCore.rtlHelpers) {\n return SimpleBarCore.rtlHelpers;\n }\n var dummyDiv = document.createElement('div');\n dummyDiv.innerHTML =\n '<div class=\"simplebar-dummy-scrollbar-size\"><div></div></div>';\n var scrollbarDummyEl = dummyDiv.firstElementChild;\n var dummyChild = scrollbarDummyEl === null || scrollbarDummyEl === void 0 ? void 0 : scrollbarDummyEl.firstElementChild;\n if (!dummyChild)\n return null;\n document.body.appendChild(scrollbarDummyEl);\n scrollbarDummyEl.scrollLeft = 0;\n var dummyContainerOffset = SimpleBarCore.getOffset(scrollbarDummyEl);\n var dummyChildOffset = SimpleBarCore.getOffset(dummyChild);\n scrollbarDummyEl.scrollLeft = -999;\n var dummyChildOffsetAfterScroll = SimpleBarCore.getOffset(dummyChild);\n document.body.removeChild(scrollbarDummyEl);\n SimpleBarCore.rtlHelpers = {\n // determines if the scrolling is responding with negative values\n isScrollOriginAtZero: dummyContainerOffset.left !== dummyChildOffset.left,\n // determines if the origin scrollbar position is inverted or not (positioned on left or right)\n isScrollingToNegative: dummyChildOffset.left !== dummyChildOffsetAfterScroll.left\n };\n return SimpleBarCore.rtlHelpers;\n };\n SimpleBarCore.prototype.getScrollbarWidth = function () {\n // Try/catch for FF 56 throwing on undefined computedStyles\n try {\n // Detect browsers supporting CSS scrollbar styling and do not calculate\n if ((this.contentWrapperEl &&\n getComputedStyle(this.contentWrapperEl, '::-webkit-scrollbar')\n .display === 'none') ||\n 'scrollbarWidth' in document.documentElement.style ||\n '-ms-overflow-style' in document.documentElement.style) {\n return 0;\n }\n else {\n return scrollbarWidth();\n }\n }\n catch (e) {\n return scrollbarWidth();\n }\n };\n SimpleBarCore.getOffset = function (el) {\n var rect = el.getBoundingClientRect();\n var elDocument = getElementDocument(el);\n var elWindow = getElementWindow(el);\n return {\n top: rect.top +\n (elWindow.pageYOffset || elDocument.documentElement.scrollTop),\n left: rect.left +\n (elWindow.pageXOffset || elDocument.documentElement.scrollLeft)\n };\n };\n SimpleBarCore.prototype.init = function () {\n // We stop here on server-side\n if (canUseDOM) {\n this.initDOM();\n this.rtlHelpers = SimpleBarCore.getRtlHelpers();\n this.scrollbarWidth = this.getScrollbarWidth();\n this.recalculate();\n this.initListeners();\n }\n };\n SimpleBarCore.prototype.initDOM = function () {\n var _a, _b;\n // assume that element has his DOM already initiated\n this.wrapperEl = this.el.querySelector(classNamesToQuery(this.classNames.wrapper));\n this.contentWrapperEl =\n this.options.scrollableNode ||\n this.el.querySelector(classNamesToQuery(this.classNames.contentWrapper));\n this.contentEl =\n this.options.contentNode ||\n this.el.querySelector(classNamesToQuery(this.classNames.contentEl));\n this.offsetEl = this.el.querySelector(classNamesToQuery(this.classNames.offset));\n this.maskEl = this.el.querySelector(classNamesToQuery(this.classNames.mask));\n this.placeholderEl = this.findChild(this.wrapperEl, classNamesToQuery(this.classNames.placeholder));\n this.heightAutoObserverWrapperEl = this.el.querySelector(classNamesToQuery(this.classNames.heightAutoObserverWrapperEl));\n this.heightAutoObserverEl = this.el.querySelector(classNamesToQuery(this.classNames.heightAutoObserverEl));\n this.axis.x.track.el = this.findChild(this.el, \"\".concat(classNamesToQuery(this.classNames.track)).concat(classNamesToQuery(this.classNames.horizontal)));\n this.axis.y.track.el = this.findChild(this.el, \"\".concat(classNamesToQuery(this.classNames.track)).concat(classNamesToQuery(this.classNames.vertical)));\n this.axis.x.scrollbar.el =\n ((_a = this.axis.x.track.el) === null || _a === void 0 ? void 0 : _a.querySelector(classNamesToQuery(this.classNames.scrollbar))) || null;\n this.axis.y.scrollbar.el =\n ((_b = this.axis.y.track.el) === null || _b === void 0 ? void 0 : _b.querySelector(classNamesToQuery(this.classNames.scrollbar))) || null;\n if (!this.options.autoHide) {\n addClasses(this.axis.x.scrollbar.el, this.classNames.visible);\n addClasses(this.axis.y.scrollbar.el, this.classNames.visible);\n }\n };\n SimpleBarCore.prototype.initListeners = function () {\n var _this = this;\n var _a;\n var elWindow = getElementWindow(this.el);\n // Event listeners\n this.el.addEventListener('mouseenter', this.onMouseEnter);\n this.el.addEventListener('pointerdown', this.onPointerEvent, true);\n this.el.addEventListener('mousemove', this.onMouseMove);\n this.el.addEventListener('mouseleave', this.onMouseLeave);\n (_a = this.contentWrapperEl) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', this.onScroll);\n // Browser zoom triggers a window resize\n elWindow.addEventListener('resize', this.onWindowResize);\n if (!this.contentEl)\n return;\n if (window.ResizeObserver) {\n // Hack for https://github.com/WICG/ResizeObserver/issues/38\n var resizeObserverStarted_1 = false;\n var resizeObserver = elWindow.ResizeObserver || ResizeObserver;\n this.resizeObserver = new resizeObserver(function () {\n if (!resizeObserverStarted_1)\n return;\n elWindow.requestAnimationFrame(function () {\n _this.recalculate();\n });\n });\n this.resizeObserver.observe(this.el);\n this.resizeObserver.observe(this.contentEl);\n elWindow.requestAnimationFrame(function () {\n resizeObserverStarted_1 = true;\n });\n }\n // This is required to detect horizontal scroll. Vertical scroll only needs the resizeObserver.\n this.mutationObserver = new elWindow.MutationObserver(function () {\n elWindow.requestAnimationFrame(function () {\n _this.recalculate();\n });\n });\n this.mutationObserver.observe(this.contentEl, {\n childList: true,\n subtree: true,\n characterData: true\n });\n };\n SimpleBarCore.prototype.recalculate = function () {\n if (!this.heightAutoObserverEl ||\n !this.contentEl ||\n !this.contentWrapperEl ||\n !this.wrapperEl ||\n !this.placeholderEl)\n return;\n var elWindow = getElementWindow(this.el);\n this.elStyles = elWindow.getComputedStyle(this.el);\n this.isRtl = this.elStyles.direction === 'rtl';\n var contentElOffsetWidth = this.contentEl.offsetWidth;\n var isHeightAuto = this.heightAutoObserverEl.offsetHeight <= 1;\n var isWidthAuto = this.heightAutoObserverEl.offsetWidth <= 1 || contentElOffsetWidth > 0;\n var contentWrapperElOffsetWidth = this.contentWrapperEl.offsetWidth;\n var elOverflowX = this.elStyles.overflowX;\n var elOverflowY = this.elStyles.overflowY;\n this.contentEl.style.padding = \"\".concat(this.elStyles.paddingTop, \" \").concat(this.elStyles.paddingRight, \" \").concat(this.elStyles.paddingBottom, \" \").concat(this.elStyles.paddingLeft);\n this.wrapperEl.style.margin = \"-\".concat(this.elStyles.paddingTop, \" -\").concat(this.elStyles.paddingRight, \" -\").concat(this.elStyles.paddingBottom, \" -\").concat(this.elStyles.paddingLeft);\n var contentElScrollHeight = this.contentEl.scrollHeight;\n var contentElScrollWidth = this.contentEl.scrollWidth;\n this.contentWrapperEl.style.height = isHeightAuto ? 'auto' : '100%';\n // Determine placeholder size\n this.placeholderEl.style.width = isWidthAuto\n ? \"\".concat(contentElOffsetWidth || contentElScrollWidth, \"px\")\n : 'auto';\n this.placeholderEl.style.height = \"\".concat(contentElScrollHeight, \"px\");\n var contentWrapperElOffsetHeight = this.contentWrapperEl.offsetHeight;\n this.axis.x.isOverflowing =\n contentElOffsetWidth !== 0 && contentElScrollWidth > contentElOffsetWidth;\n this.axis.y.isOverflowing =\n contentElScrollHeight > contentWrapperElOffsetHeight;\n // Set isOverflowing to false if user explicitely set hidden overflow\n this.axis.x.isOverflowing =\n elOverflowX === 'hidden' ? false : this.axis.x.isOverflowing;\n this.axis.y.isOverflowing =\n elOverflowY === 'hidden' ? false : this.axis.y.isOverflowing;\n this.axis.x.forceVisible =\n this.options.forceVisible === 'x' || this.options.forceVisible === true;\n this.axis.y.forceVisible =\n this.options.forceVisible === 'y' || this.options.forceVisible === true;\n this.hideNativeScrollbar();\n // Set isOverflowing to false if scrollbar is not necessary (content is shorter than offset)\n var offsetForXScrollbar = this.axis.x.isOverflowing\n ? this.scrollbarWidth\n : 0;\n var offsetForYScrollbar = this.axis.y.isOverflowing\n ? this.scrollbarWidth\n : 0;\n this.axis.x.isOverflowing =\n this.axis.x.isOverflowing &&\n contentElScrollWidth > contentWrapperElOffsetWidth - offsetForYScrollbar;\n this.axis.y.isOverflowing =\n this.axis.y.isOverflowing &&\n contentElScrollHeight >\n contentWrapperElOffsetHeight - offsetForXScrollbar;\n this.axis.x.scrollbar.size = this.getScrollbarSize('x');\n this.axis.y.scrollbar.size = this.getScrollbarSize('y');\n if (this.axis.x.scrollbar.el)\n this.axis.x.scrollbar.el.style.width = \"\".concat(this.axis.x.scrollbar.size, \"px\");\n if (this.axis.y.scrollbar.el)\n this.axis.y.scrollbar.el.style.height = \"\".concat(this.axis.y.scrollbar.size, \"px\");\n this.positionScrollbar('x');\n this.positionScrollbar('y');\n this.toggleTrackVisibility('x');\n this.toggleTrackVisibility('y');\n };\n /**\n * Calculate scrollbar size\n */\n SimpleBarCore.prototype.getScrollbarSize = function (axis) {\n var _a, _b;\n if (axis === void 0) { axis = 'y'; }\n if (!this.axis[axis].isOverflowing || !this.contentEl) {\n return 0;\n }\n var contentSize = this.contentEl[this.axis[axis].scrollSizeAttr];\n var trackSize = (_b = (_a = this.axis[axis].track.el) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetSizeAttr]) !== null && _b !== void 0 ? _b : 0;\n var scrollbarRatio = trackSize / contentSize;\n var scrollbarSize;\n // Calculate new height/position of drag handle.\n scrollbarSize = Math.max(~~(scrollbarRatio * trackSize), this.options.scrollbarMinSize);\n if (this.options.scrollbarMaxSize) {\n scrollbarSize = Math.min(scrollbarSize, this.options.scrollbarMaxSize);\n }\n return scrollbarSize;\n };\n SimpleBarCore.prototype.positionScrollbar = function (axis) {\n var _a, _b, _c;\n if (axis === void 0) { axis = 'y'; }\n var scrollbar = this.axis[axis].scrollbar;\n if (!this.axis[axis].isOverflowing ||\n !this.contentWrapperEl ||\n !scrollbar.el ||\n !this.elStyles) {\n return;\n }\n var contentSize = this.contentWrapperEl[this.axis[axis].scrollSizeAttr];\n var trackSize = ((_a = this.axis[axis].track.el) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetSizeAttr]) || 0;\n var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n var scrollOffset = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n scrollOffset =\n axis === 'x' &&\n this.isRtl &&\n ((_b = SimpleBarCore.getRtlHelpers()) === null || _b === void 0 ? void 0 : _b.isScrollOriginAtZero)\n ? -scrollOffset\n : scrollOffset;\n if (axis === 'x' && this.isRtl) {\n scrollOffset = ((_c = SimpleBarCore.getRtlHelpers()) === null || _c === void 0 ? void 0 : _c.isScrollingToNegative)\n ? scrollOffset\n : -scrollOffset;\n }\n var scrollPourcent = scrollOffset / (contentSize - hostSize);\n var handleOffset = ~~((trackSize - scrollbar.size) * scrollPourcent);\n handleOffset =\n axis === 'x' && this.isRtl\n ? -handleOffset + (trackSize - scrollbar.size)\n : handleOffset;\n scrollbar.el.style.transform =\n axis === 'x'\n ? \"translate3d(\".concat(handleOffset, \"px, 0, 0)\")\n : \"translate3d(0, \".concat(handleOffset, \"px, 0)\");\n };\n SimpleBarCore.prototype.toggleTrackVisibility = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n var track = this.axis[axis].track.el;\n var scrollbar = this.axis[axis].scrollbar.el;\n if (!track || !scrollbar || !this.contentWrapperEl)\n return;\n if (this.axis[axis].isOverflowing || this.axis[axis].forceVisible) {\n track.style.visibility = 'visible';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'scroll';\n this.el.classList.add(\"\".concat(this.classNames.scrollable, \"-\").concat(axis));\n }\n else {\n track.style.visibility = 'hidden';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'hidden';\n this.el.classList.remove(\"\".concat(this.classNames.scrollable, \"-\").concat(axis));\n }\n // Even if forceVisible is enabled, scrollbar itself should be hidden\n if (this.axis[axis].isOverflowing) {\n scrollbar.style.display = 'block';\n }\n else {\n scrollbar.style.display = 'none';\n }\n };\n SimpleBarCore.prototype.showScrollbar = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n if (this.axis[axis].isOverflowing && !this.axis[axis].scrollbar.isVisible) {\n addClasses(this.axis[axis].scrollbar.el, this.classNames.visible);\n this.axis[axis].scrollbar.isVisible = true;\n }\n };\n SimpleBarCore.prototype.hideScrollbar = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n if (this.axis[axis].isOverflowing && this.axis[axis].scrollbar.isVisible) {\n removeClasses(this.axis[axis].scrollbar.el, this.classNames.visible);\n this.axis[axis].scrollbar.isVisible = false;\n }\n };\n SimpleBarCore.prototype.hideNativeScrollbar = function () {\n if (!this.offsetEl)\n return;\n this.offsetEl.style[this.isRtl ? 'left' : 'right'] =\n this.axis.y.isOverflowing || this.axis.y.forceVisible\n ? \"-\".concat(this.scrollbarWidth, \"px\")\n : '0px';\n this.offsetEl.style.bottom =\n this.axis.x.isOverflowing || this.axis.x.forceVisible\n ? \"-\".concat(this.scrollbarWidth, \"px\")\n : '0px';\n };\n SimpleBarCore.prototype.onMouseMoveForAxis = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n var currentAxis = this.axis[axis];\n if (!currentAxis.track.el || !currentAxis.scrollbar.el)\n return;\n currentAxis.track.rect = currentAxis.track.el.getBoundingClientRect();\n currentAxis.scrollbar.rect =\n currentAxis.scrollbar.el.getBoundingClientRect();\n if (this.isWithinBounds(currentAxis.track.rect)) {\n this.showScrollbar(axis);\n addClasses(currentAxis.track.el, this.classNames.hover);\n if (this.isWithinBounds(currentAxis.scrollbar.rect)) {\n addClasses(currentAxis.scrollbar.el, this.classNames.hover);\n }\n else {\n removeClasses(currentAxis.scrollbar.el, this.classNames.hover);\n }\n }\n else {\n removeClasses(currentAxis.track.el, this.classNames.hover);\n if (this.options.autoHide) {\n this.hideScrollbar(axis);\n }\n }\n };\n SimpleBarCore.prototype.onMouseLeaveForAxis = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n removeClasses(this.axis[axis].track.el, this.classNames.hover);\n removeClasses(this.axis[axis].scrollbar.el, this.classNames.hover);\n if (this.options.autoHide) {\n this.hideScrollbar(axis);\n }\n };\n /**\n * on scrollbar handle drag movement starts\n */\n SimpleBarCore.prototype.onDragStart = function (e, axis) {\n var _a;\n if (axis === void 0) { axis = 'y'; }\n var elDocument = getElementDocument(this.el);\n var elWindow = getElementWindow(this.el);\n var scrollbar = this.axis[axis].scrollbar;\n // Measure how far the user's mouse is from the top of the scrollbar drag handle.\n var eventOffset = axis === 'y' ? e.pageY : e.pageX;\n this.axis[axis].dragOffset =\n eventOffset - (((_a = scrollbar.rect) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetAttr]) || 0);\n this.draggedAxis = axis;\n addClasses(this.el, this.classNames.dragging);\n elDocument.addEventListener('mousemove', this.drag, true);\n elDocument.addEventListener('mouseup', this.onEndDrag, true);\n if (this.removePreventClickId === null) {\n elDocument.addEventListener('click', this.preventClick, true);\n elDocument.addEventListener('dblclick', this.preventClick, true);\n }\n else {\n elWindow.clearTimeout(this.removePreventClickId);\n this.removePreventClickId = null;\n }\n };\n SimpleBarCore.prototype.onTrackClick = function (e, axis) {\n var _this = this;\n var _a, _b, _c, _d;\n if (axis === void 0) { axis = 'y'; }\n var currentAxis = this.axis[axis];\n if (!this.options.clickOnTrack ||\n !currentAxis.scrollbar.el ||\n !this.contentWrapperEl)\n return;\n // Preventing the event's default to trigger click underneath\n e.preventDefault();\n var elWindow = getElementWindow(this.el);\n this.axis[axis].scrollbar.rect =\n currentAxis.scrollbar.el.getBoundingClientRect();\n var scrollbar = this.axis[axis].scrollbar;\n var scrollbarOffset = (_b = (_a = scrollbar.rect) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetAttr]) !== null && _b !== void 0 ? _b : 0;\n var hostSize = parseInt((_d = (_c = this.elStyles) === null || _c === void 0 ? void 0 : _c[this.axis[axis].sizeAttr]) !== null && _d !== void 0 ? _d : '0px', 10);\n var scrolled = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n var t = axis === 'y'\n ? this.mouseY - scrollbarOffset\n : this.mouseX - scrollbarOffset;\n var dir = t < 0 ? -1 : 1;\n var scrollSize = dir === -1 ? scrolled - hostSize : scrolled + hostSize;\n var speed = 40;\n var scrollTo = function () {\n if (!_this.contentWrapperEl)\n return;\n if (dir === -1) {\n if (scrolled > scrollSize) {\n scrolled -= speed;\n _this.contentWrapperEl[_this.axis[axis].scrollOffsetAttr] = scrolled;\n elWindow.requestAnimationFrame(scrollTo);\n }\n }\n else {\n if (scrolled < scrollSize) {\n scrolled += speed;\n _this.contentWrapperEl[_this.axis[axis].scrollOffsetAttr] = scrolled;\n elWindow.requestAnimationFrame(scrollTo);\n }\n }\n };\n scrollTo();\n };\n /**\n * Getter for content element\n */\n SimpleBarCore.prototype.getContentElement = function () {\n return this.contentEl;\n };\n /**\n * Getter for original scrolling element\n */\n SimpleBarCore.prototype.getScrollElement = function () {\n return this.contentWrapperEl;\n };\n SimpleBarCore.prototype.removeListeners = function () {\n var elWindow = getElementWindow(this.el);\n // Event listeners\n this.el.removeEventListener('mouseenter', this.onMouseEnter);\n this.el.removeEventListener('pointerdown', this.onPointerEvent, true);\n this.el.removeEventListener('mousemove', this.onMouseMove);\n this.el.removeEventListener('mouseleave', this.onMouseLeave);\n if (this.contentWrapperEl) {\n this.contentWrapperEl.removeEventListener('scroll', this.onScroll);\n }\n elWindow.removeEventListener('resize', this.onWindowResize);\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n // Cancel all debounced functions\n this.onMouseMove.cancel();\n this.onWindowResize.cancel();\n this.onStopScrolling.cancel();\n this.onMouseEntered.cancel();\n };\n /**\n * Remove all listeners from DOM nodes\n */\n SimpleBarCore.prototype.unMount = function () {\n this.removeListeners();\n };\n /**\n * Check if mouse is within bounds\n */\n SimpleBarCore.prototype.isWithinBounds = function (bbox) {\n return (this.mouseX >= bbox.left &&\n this.mouseX <= bbox.left + bbox.width &&\n this.mouseY >= bbox.top &&\n this.mouseY <= bbox.top + bbox.height);\n };\n /**\n * Find element children matches query\n */\n SimpleBarCore.prototype.findChild = function (el, query) {\n var matches = el.matches ||\n el.webkitMatchesSelector ||\n el.mozMatchesSelector ||\n el.msMatchesSelector;\n return Array.prototype.filter.call(el.children, function (child) {\n return matches.call(child, query);\n })[0];\n };\n SimpleBarCore.rtlHelpers = null;\n SimpleBarCore.defaultOptions = {\n forceVisible: false,\n clickOnTrack: true,\n scrollbarMinSize: 25,\n scrollbarMaxSize: 0,\n ariaLabel: 'scrollable content',\n classNames: {\n contentEl: 'simplebar-content',\n contentWrapper: 'simplebar-content-wrapper',\n offset: 'simplebar-offset',\n mask: 'simplebar-mask',\n wrapper: 'simplebar-wrapper',\n placeholder: 'simplebar-placeholder',\n scrollbar: 'simplebar-scrollbar',\n track: 'simplebar-track',\n heightAutoObserverWrapperEl: 'simplebar-height-auto-observer-wrapper',\n heightAutoObserverEl: 'simplebar-height-auto-observer',\n visible: 'simplebar-visible',\n horizontal: 'simplebar-horizontal',\n vertical: 'simplebar-vertical',\n hover: 'simplebar-hover',\n dragging: 'simplebar-dragging',\n scrolling: 'simplebar-scrolling',\n scrollable: 'simplebar-scrollable',\n mouseEntered: 'simplebar-mouse-entered'\n },\n scrollableNode: null,\n contentNode: null,\n autoHide: true\n };\n /**\n * Static functions\n */\n SimpleBarCore.getOptions = getOptions;\n SimpleBarCore.helpers = helpers;\n return SimpleBarCore;\n}());\n\nexport { SimpleBarCore as default };\n//# sourceMappingURL=index.mjs.map\n","/**\n * simplebar-react - v3.2.4\n * React component for SimpleBar\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat\n * Under MIT License\n */\n\nimport * as React from 'react';\nimport SimpleBarCore from 'simplebar-core';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nvar SimpleBar = React.forwardRef(function (_a, ref) {\n var children = _a.children, _b = _a.scrollableNodeProps, scrollableNodeProps = _b === void 0 ? {} : _b, otherProps = __rest(_a, [\"children\", \"scrollableNodeProps\"]);\n var elRef = React.useRef();\n var scrollableNodeRef = React.useRef();\n var contentNodeRef = React.useRef();\n var options = {};\n var rest = {};\n Object.keys(otherProps).forEach(function (key) {\n if (Object.prototype.hasOwnProperty.call(SimpleBarCore.defaultOptions, key)) {\n options[key] = otherProps[key];\n }\n else {\n rest[key] = otherProps[key];\n }\n });\n var classNames = __assign(__assign({}, SimpleBarCore.defaultOptions.classNames), options.classNames);\n var scrollableNodeFullProps = __assign(__assign({}, scrollableNodeProps), { className: \"\".concat(classNames.contentWrapper).concat(scrollableNodeProps.className ? \" \".concat(scrollableNodeProps.className) : ''), tabIndex: 0, role: 'region', 'aria-label': options.ariaLabel || SimpleBarCore.defaultOptions.ariaLabel });\n React.useEffect(function () {\n var instance;\n scrollableNodeRef.current = scrollableNodeFullProps.ref\n ? scrollableNodeFullProps.ref.current\n : scrollableNodeRef.current;\n if (elRef.current) {\n instance = new SimpleBarCore(elRef.current, __assign(__assign(__assign({}, options), (scrollableNodeRef.current && {\n scrollableNode: scrollableNodeRef.current\n })), (contentNodeRef.current && {\n contentNode: contentNodeRef.current\n })));\n if (typeof ref === 'function') {\n ref(instance);\n }\n else if (ref) {\n ref.current = instance;\n }\n }\n return function () {\n instance === null || instance === void 0 ? void 0 : instance.unMount();\n instance = null;\n if (typeof ref === 'function') {\n ref(null);\n }\n };\n }, []);\n return (React.createElement(\"div\", __assign({ \"data-simplebar\": \"init\", ref: elRef }, rest),\n React.createElement(\"div\", { className: classNames.wrapper },\n React.createElement(\"div\", { className: classNames.heightAutoObserverWrapperEl },\n React.createElement(\"div\", { className: classNames.heightAutoObserverEl })),\n React.createElement(\"div\", { className: classNames.mask },\n React.createElement(\"div\", { className: classNames.offset }, typeof children === 'function' ? (children({\n scrollableNodeRef: scrollableNodeRef,\n scrollableNodeProps: __assign(__assign({}, scrollableNodeFullProps), { ref: scrollableNodeRef }),\n contentNodeRef: contentNodeRef,\n contentNodeProps: {\n className: classNames.contentEl,\n ref: contentNodeRef\n }\n })) : (React.createElement(\"div\", __assign({}, scrollableNodeFullProps),\n React.createElement(\"div\", { className: classNames.contentEl }, children))))),\n React.createElement(\"div\", { className: classNames.placeholder })),\n React.createElement(\"div\", { className: \"\".concat(classNames.track, \" simplebar-horizontal\") },\n React.createElement(\"div\", { className: classNames.scrollbar })),\n React.createElement(\"div\", { className: \"\".concat(classNames.track, \" simplebar-vertical\") },\n React.createElement(\"div\", { className: classNames.scrollbar }))));\n});\nSimpleBar.displayName = 'SimpleBar';\n\nexport { SimpleBar as default };\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import React,{isValidElement,createRef,cloneElement,PureComponent,Component,forwardRef,useRef,useState,useCallback,useEffect}from'react';import {findDOMNode}from'react-dom';import debounce from'lodash/debounce';import throttle from'lodash/throttle';/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};var patchResizeCallback = function (resizeCallback, refreshMode, refreshRate, refreshOptions) {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\nvar isFunction = function (fn) { return typeof fn === 'function'; };\nvar isSSR = function () { return typeof window === 'undefined'; };\nvar isDOMElement = function (element) {\n return element instanceof Element || element instanceof HTMLDocument;\n};var ResizeDetector = /** @class */ (function (_super) {\n __extends(ResizeDetector, _super);\n function ResizeDetector(props) {\n var _this = _super.call(this, props) || this;\n _this.cancelHandler = function () {\n if (_this.resizeHandler && _this.resizeHandler.cancel) {\n // cancel debounced handler\n _this.resizeHandler.cancel();\n _this.resizeHandler = null;\n }\n };\n _this.attachObserver = function () {\n var _a = _this.props, targetRef = _a.targetRef, observerOptions = _a.observerOptions;\n if (isSSR()) {\n return;\n }\n if (targetRef && targetRef.current) {\n _this.targetRef.current = targetRef.current;\n }\n var element = _this.getElement();\n if (!element) {\n // can't find element to observe\n return;\n }\n if (_this.observableElement && _this.observableElement === element) {\n // element is already observed\n return;\n }\n _this.observableElement = element;\n _this.resizeObserver.observe(element, observerOptions);\n };\n _this.getElement = function () {\n var _a = _this.props, querySelector = _a.querySelector, targetDomEl = _a.targetDomEl;\n if (isSSR())\n return null;\n // in case we pass a querySelector\n if (querySelector)\n return document.querySelector(querySelector);\n // in case we pass a DOM element\n if (targetDomEl && isDOMElement(targetDomEl))\n return targetDomEl;\n // in case we pass a React ref using React.createRef()\n if (_this.targetRef && isDOMElement(_this.targetRef.current))\n return _this.targetRef.current;\n // the worse case when we don't receive any information from the parent and the library doesn't add any wrappers\n // we have to use a deprecated `findDOMNode` method in order to find a DOM element to attach to\n var currentElement = findDOMNode(_this);\n if (!currentElement)\n return null;\n var renderType = _this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return currentElement;\n case 'childFunction':\n return currentElement;\n case 'child':\n return currentElement;\n case 'childArray':\n return currentElement;\n default:\n return currentElement.parentElement;\n }\n };\n _this.createResizeHandler = function (entries) {\n var _a = _this.props, _b = _a.handleWidth, handleWidth = _b === void 0 ? true : _b, _c = _a.handleHeight, handleHeight = _c === void 0 ? true : _c, onResize = _a.onResize;\n if (!handleWidth && !handleHeight)\n return;\n var notifyResize = function (_a) {\n var width = _a.width, height = _a.height;\n if (_this.state.width === width && _this.state.height === height) {\n // skip if dimensions haven't changed\n return;\n }\n if ((_this.state.width === width && !handleHeight) || (_this.state.height === height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return;\n }\n onResize === null || onResize === void 0 ? void 0 : onResize(width, height);\n _this.setState({ width: width, height: height });\n };\n entries.forEach(function (entry) {\n var _a = (entry && entry.contentRect) || {}, width = _a.width, height = _a.height;\n var shouldSetSize = !_this.skipOnMount && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width: width, height: height });\n }\n _this.skipOnMount = false;\n });\n };\n _this.getRenderType = function () {\n var _a = _this.props, render = _a.render, children = _a.children;\n if (isFunction(render)) {\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'renderProp';\n }\n if (isFunction(children)) {\n return 'childFunction';\n }\n if (isValidElement(children)) {\n return 'child';\n }\n if (Array.isArray(children)) {\n // DEPRECATED. Wrap children with a single parent\n return 'childArray';\n }\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'parent';\n };\n var skipOnMount = props.skipOnMount, refreshMode = props.refreshMode, _a = props.refreshRate, refreshRate = _a === void 0 ? 1000 : _a, refreshOptions = props.refreshOptions;\n _this.state = {\n width: undefined,\n height: undefined\n };\n _this.sizeRef = {\n current: _this.state\n };\n _this.skipOnMount = skipOnMount;\n _this.targetRef = createRef();\n _this.observableElement = null;\n if (isSSR()) {\n return _this;\n }\n _this.resizeHandler = patchResizeCallback(_this.createResizeHandler, refreshMode, refreshRate, refreshOptions);\n _this.resizeObserver = new window.ResizeObserver(_this.resizeHandler);\n return _this;\n }\n ResizeDetector.prototype.componentDidMount = function () {\n this.attachObserver();\n };\n ResizeDetector.prototype.componentDidUpdate = function () {\n this.attachObserver();\n this.sizeRef.current = this.state;\n };\n ResizeDetector.prototype.componentWillUnmount = function () {\n if (isSSR()) {\n return;\n }\n this.observableElement = null;\n this.resizeObserver.disconnect();\n this.cancelHandler();\n };\n ResizeDetector.prototype.render = function () {\n var _a = this.props, render = _a.render, children = _a.children, _b = _a.nodeType, WrapperTag = _b === void 0 ? 'div' : _b;\n var _c = this.state, width = _c.width, height = _c.height;\n var childProps = { width: width, height: height, targetRef: this.targetRef };\n var renderType = this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return render === null || render === void 0 ? void 0 : render(childProps);\n case 'childFunction': {\n var childFunction = children;\n return childFunction === null || childFunction === void 0 ? void 0 : childFunction(childProps);\n }\n case 'child': {\n // @TODO bug prone logic\n var child = children;\n if (child.type && typeof child.type === 'string') {\n // child is a native DOM elements such as div, span etc\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n childProps.targetRef; var nativeProps = __rest(childProps, [\"targetRef\"]);\n return cloneElement(child, nativeProps);\n }\n // class or functional component otherwise\n return cloneElement(child, childProps);\n }\n case 'childArray': {\n var childArray = children;\n return childArray.map(function (el) { return !!el && cloneElement(el, childProps); });\n }\n default:\n return React.createElement(WrapperTag, null);\n }\n };\n return ResizeDetector;\n}(PureComponent));function withResizeDetector(ComponentInner, options) {\n if (options === void 0) { options = {}; }\n var ResizeDetectorHOC = /** @class */ (function (_super) {\n __extends(ResizeDetectorHOC, _super);\n function ResizeDetectorHOC() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.ref = createRef();\n return _this;\n }\n ResizeDetectorHOC.prototype.render = function () {\n var _a = this.props, forwardedRef = _a.forwardedRef, rest = __rest(_a, [\"forwardedRef\"]);\n var targetRef = forwardedRef !== null && forwardedRef !== void 0 ? forwardedRef : this.ref;\n return (React.createElement(ResizeDetector, __assign({}, options, { targetRef: targetRef }),\n React.createElement(ComponentInner, __assign({ targetRef: targetRef }, rest))));\n };\n return ResizeDetectorHOC;\n }(Component));\n function forwardRefWrapper(props, ref) {\n return React.createElement(ResizeDetectorHOC, __assign({}, props, { forwardedRef: ref }));\n }\n var name = ComponentInner.displayName || ComponentInner.name;\n forwardRefWrapper.displayName = \"withResizeDetector(\".concat(name, \")\");\n return forwardRef(forwardRefWrapper);\n}function useResizeDetector(_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.skipOnMount, skipOnMount = _c === void 0 ? false : _c, refreshMode = _b.refreshMode, _d = _b.refreshRate, refreshRate = _d === void 0 ? 1000 : _d, refreshOptions = _b.refreshOptions, _e = _b.handleWidth, handleWidth = _e === void 0 ? true : _e, _f = _b.handleHeight, handleHeight = _f === void 0 ? true : _f, targetRef = _b.targetRef, observerOptions = _b.observerOptions, onResize = _b.onResize;\n var skipResize = useRef(skipOnMount);\n var _g = useState({\n width: undefined,\n height: undefined\n }), size = _g[0], setSize = _g[1];\n // we are going to use this ref to store the last element that was passed to the hook\n var _h = useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null), refElement = _h[0], setRefElement = _h[1];\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(function () {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a callback that will be called every time the ref is changed\n // we call setState inside to trigger rerender\n var onRefChange = useCallback(function (node) {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, [refElement]);\n // adding `current` to make it compatible with useRef shape\n onRefChange.current = refElement;\n var shouldSetSize = useCallback(function (prevSize, nextSize) {\n if (prevSize.width === nextSize.width && prevSize.height === nextSize.height) {\n // skip if dimensions haven't changed\n return false;\n }\n if ((prevSize.width === nextSize.width && !handleHeight) ||\n (prevSize.height === nextSize.height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return false;\n }\n return true;\n }, [handleWidth, handleHeight]);\n var resizeCallback = useCallback(function (entries) {\n if (!handleWidth && !handleHeight)\n return;\n if (skipResize.current) {\n skipResize.current = false;\n return;\n }\n entries.forEach(function (entry) {\n var _a = (entry === null || entry === void 0 ? void 0 : entry.contentRect) || {}, width = _a.width, height = _a.height;\n setSize(function (prevSize) {\n if (!shouldSetSize(prevSize, { width: width, height: height }))\n return prevSize;\n return { width: width, height: height };\n });\n });\n }, [handleWidth, handleHeight, skipResize, shouldSetSize]);\n var resizeHandler = useCallback(patchResizeCallback(resizeCallback, refreshMode, refreshRate, refreshOptions), [\n resizeCallback,\n refreshMode,\n refreshRate,\n refreshOptions\n ]);\n // on refElement change\n useEffect(function () {\n var resizeObserver;\n if (refElement) {\n resizeObserver = new window.ResizeObserver(resizeHandler);\n resizeObserver.observe(refElement, observerOptions);\n }\n else {\n if (size.width || size.height) {\n setSize({ width: undefined, height: undefined });\n }\n }\n return function () {\n var _a, _b, _c;\n (_a = resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect) === null || _a === void 0 ? void 0 : _a.call(resizeObserver);\n (_c = (_b = resizeHandler).cancel) === null || _c === void 0 ? void 0 : _c.call(_b);\n };\n }, [resizeHandler, refElement]);\n useEffect(function () {\n onResize === null || onResize === void 0 ? void 0 : onResize(size.width, size.height);\n }, [size]);\n return __assign({ ref: onRefChange }, size);\n}export{ResizeDetector as default,useResizeDetector,withResizeDetector};//# sourceMappingURL=index.esm.js.map\n","import { ReactNode } from 'react';\nimport { TableCellProps, TooltipProps } from '@mui/material';\nimport { TablePaginationProps } from '../TablePagination/TablePagination.types';\nimport { CommonSxProps } from '../@types';\nimport { TableTopHeadProps } from '../TableTopHead';\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableItem {\n [key: string]: any;\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableColumn<T = TableItem> {\n id?: string;\n type?:\n | 'text'\n | 'number'\n | 'tel'\n | 'date'\n | 'datetime'\n | 'date-hour'\n | 'date-minute'\n | 'img'\n | 'button'\n | 'buttons'\n | 'check';\n label?: ReactNode;\n name?: keyof T;\n align?: TableCellProps['align'];\n width?: string | number;\n minWidth?: string | number;\n ellipsis?: boolean;\n dateFormat?: string;\n dateTwoLine?: boolean;\n hideAllCheck?: boolean;\n numberPrefix?: string;\n numberSuffix?: string;\n tooltipProps?: Omit<TooltipProps, 'children' | 'title'>;\n display?: { xs?: boolean; sm?: boolean; md?: boolean; lg?: boolean; xl?: boolean };\n paddingLeft?: number;\n paddingRight?: number;\n head?: {\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(): CommonSxProps['className'];\n onGetStyle?(): CommonSxProps['style'];\n onGetSx?(): CommonSxProps['sx'];\n onRender?(): ReactNode;\n };\n footer?: {\n value?: ReactNode;\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(): CommonSxProps['className'];\n onGetStyle?(): CommonSxProps['style'];\n onGetSx?(): CommonSxProps['sx'];\n onRender?(): ReactNode;\n };\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(item: T, index: number): CommonSxProps['className'];\n onGetStyle?(item: T, index: number): CommonSxProps['style'];\n onGetSx?(item: T, index: number): CommonSxProps['sx'];\n onHide?(item: T, index: number): boolean;\n onGetTooltip?(item: T, index: number): ReactNode;\n onRender?(item: T, index: number): ReactNode;\n onClick?(item: T, index: number): void;\n onInitChecked?(item: T): boolean;\n onCheckDisabled?(item: T): boolean;\n onCheckChange?(item: T, checked: boolean): void;\n onCheckDisabledChange?(item: T, checkDisabled: boolean): void;\n}\n\nexport type TableColumns<T = TableItem> = (TableColumn<T> | false | undefined | null)[];\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableProps<T = TableItem> extends CommonSxProps {\n caption?: ReactNode;\n topHeadRows?: TableTopHeadProps['rows'];\n columns?: TableColumns<T>;\n defaultAlign?: TableCellProps['align'];\n defaultEllipsis?: boolean;\n stickyHeader?: boolean;\n items?: T[];\n paging?: TablePaginationProps['paging'];\n pagingAlign?: TablePaginationProps['align'];\n height?: string | number;\n maxHeight?: string | number;\n minHeight?: string | number;\n fullHeight?: boolean;\n showOddColor?: boolean;\n showEvenColor?: boolean;\n cellPadding?: string | number;\n footer?: boolean;\n noData?: ReactNode;\n pagination?: {\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n };\n sortable?: boolean;\n onClick?(item: T, index: number): void;\n onGetBodyRowClassName?(item: T, index: number): CommonSxProps['className'] | undefined;\n onGetBodyRowStyle?(item: T, index: number): CommonSxProps['style'] | undefined;\n onGetBodyRowSx?(item: T, index: number): CommonSxProps['sx'] | undefined;\n onGetBodyColumnClassName?(column: TableColumn<T>, item: T, index: number): CommonSxProps['className'] | undefined;\n onGetBodyColumnStyle?(column: TableColumn<T>, item: T, index: number): CommonSxProps['style'] | undefined;\n onGetBodyColumnSx?(column: TableColumn<T>, item: T, index: number): CommonSxProps['sx'] | undefined;\n onPageChange?(page: number): void;\n onSortChange?(items: T[]): void;\n onCheckChange?(columnId: string, items: T[]): void;\n}\n\nexport const TableDefaultProps: Pick<TableProps, 'defaultAlign' | 'pagingAlign' | 'cellPadding'> = {\n defaultAlign: 'left',\n pagingAlign: 'center',\n cellPadding: 13,\n};\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableCommands<T = TableItem> {\n getColumns(): TableProps<T>['columns'];\n setColumns(columns: TableProps<T>['columns']): void;\n getItems(): TableProps<T>['items'];\n setItems(items: TableProps<T>['items']): void;\n getPaging(): TableProps<T>['paging'];\n setItemsPaging(items: TableProps<T>['items'], paging: TableProps<T>['paging']): void;\n resetSort(): void;\n getCheckedItems(columnId: string): T[];\n scrollToTop(): void;\n}\n","import { styled, TableRow, lighten } from '@mui/material';\n\nexport const StyledBodyRow = styled(TableRow)(({ theme }) => ({\n '&.odd-color:nth-of-type(odd):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n '&.even-color:nth-of-type(even):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n}));\n\nexport const StyledNoDataDiv = styled('div')`\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n`;\n","import { TableCellProps, TableRowProps } from '@mui/material';\nimport { TableColumn, TableItem, TableProps } from '../Table';\nimport { TableBodyCellProps } from '../TableBodyCell';\nimport { CommonSxProps } from '../@types';\n\nexport interface TableBodyRowProps extends Omit<TableRowProps, 'id' | 'onClick'> {\n id: string | number;\n index: number;\n defaultAlign?: TableCellProps['align'];\n defaultEllipsis?: boolean;\n sortable?: boolean;\n columns: TableColumn[];\n item: TableItem;\n onClick: TableProps['onClick'];\n onCheckChange: TableBodyCellProps['onCheckChange'];\n onGetColumnClassName?(column: TableColumn, item: TableItem, index: number): CommonSxProps['className'] | undefined;\n onGetColumnStyle?(column: TableColumn, item: TableItem, index: number): CommonSxProps['style'] | undefined;\n onGetColumnSx?(column: TableColumn, item: TableItem, index: number): CommonSxProps['sx'] | undefined;\n}\n\nexport const TableBodyRowDefaultProps = {};\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","const empty = function (v: any) {\n let result = false;\n if (v == null) {\n result = true;\n } else if (typeof v === 'string') {\n result = v === '';\n } else if (typeof v === 'object') {\n if (Array.isArray(v)) {\n result = v.length === 0;\n } else if (!(v instanceof Date)) {\n result = Object.entries(v).length === 0;\n }\n }\n return result;\n};\n\nconst notEmpty = function (v: any) {\n return !empty(v);\n};\n\nconst equal = (v1: any, v2: any): boolean => {\n if (v1 === v2) return true;\n if (typeof v1 !== typeof v2) return false;\n if (v1 == null || v2 == null) return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length) return false;\n for (let i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i]) return false;\n }\n } else {\n return v1 === v2;\n }\n return true;\n};\n\nexport { empty, notEmpty, equal };\n","export function numberWithThousandSeparator(x: string | number) {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n}\n","import { TableColumn } from '../Table/Table.types';\nimport { CommonSxProps } from '../@types';\nimport { TypographyProps } from '@mui/material';\n\nexport function getTableColumnAlign(column: TableColumn, defaultAlign: TableColumn['align']): TableColumn['align'] {\n switch (column.type) {\n case 'number':\n return column.align ? column.align : 'right';\n default:\n return column.align || defaultAlign;\n }\n}\n\nexport function combineSx(...sx: (boolean | CommonSxProps['sx'])[]): CommonSxProps['sx'] {\n const finalSx: CommonSxProps['sx'] = [];\n if (Array.isArray(finalSx)) {\n sx.forEach((v) => v && finalSx.push(...(Array.isArray(v) ? v : [v])));\n }\n return finalSx;\n}\n\nexport function typographyColorToSxColor(color: TypographyProps['color']) {\n if (typeof color === 'string') {\n if (['primary', 'secondary', 'info', 'warning', 'error'].includes(color)) {\n return `${color}.main`;\n } else if (color === 'text') {\n return 'text.primary';\n } else {\n return color;\n }\n } else {\n return color;\n }\n}\n","export function getTelAutoDash(tel: string | null | undefined): string | null {\n if (tel == null) return null;\n\n const str = tel.replace(/[^0-9*]/g, '');\n const isLastDash = tel.substr(tel.length - 1, 1) === '-';\n\n if (str.substr(0, 1) !== '0' && !['15', '16', '18'].includes(str.substr(0, 2))) {\n return tel;\n }\n\n let tmp = '';\n let preLen;\n\n switch (str.substr(0, 2)) {\n case '02':\n preLen = 2;\n break;\n case '15':\n case '16':\n case '18':\n preLen = 4;\n break;\n default:\n preLen = 3;\n }\n\n if (['15', '16', '18'].includes(str.substr(0, 2))) {\n if (str.length <= preLen) {\n tmp = str;\n } else if (str.length <= preLen + 4) {\n tmp += str.substr(0, preLen);\n tmp += '-';\n tmp += str.substr(preLen);\n } else {\n tmp = str;\n }\n } else if (str.length <= preLen) {\n tmp = str;\n } else if (str.length <= preLen + 3) {\n tmp += str.substr(0, preLen);\n tmp += '-';\n tmp += str.substr(preLen);\n } else if (str.length <= preLen + 7) {\n tmp += str.substr(0, preLen);\n tmp += '-';\n tmp += str.substr(preLen, 3);\n tmp += '-';\n tmp += str.substr(preLen + 3);\n } else if (str.length <= preLen + 8) {\n tmp += str.substr(0, preLen);\n tmp += '-';\n tmp += str.substr(preLen, 4);\n tmp += '-';\n tmp += str.substr(preLen + 4);\n } else {\n tmp = str;\n }\n\n if (isLastDash) {\n if (str.length === preLen) {\n tmp += '-';\n }\n }\n\n return tmp;\n}\n","import { TableColumn, TableItem } from '../Table';\nimport { TableBodyCellCommands } from '../TableBodyCell';\nimport { TableHeadCellCommands } from '../TableHeadCell';\n\nexport interface TableContextValue {\n menuOpen: boolean;\n openMenuId?: string;\n setMenuOpen(menuOpen: boolean, openMenuId?: string): void;\n setItemColumnChecked(item: TableItem, column: TableColumn, checked: boolean): void;\n setItemColumnCheckDisabled(item: TableItem, column: TableColumn, checkDisabled: boolean): void;\n setItemColumnCommands(item: TableItem, column: TableColumn, commands: TableBodyCellCommands): void;\n setHeadColumnChecked(column: TableColumn, checked: boolean): void;\n setHeadColumnCommands(column: TableColumn, commands: TableHeadCellCommands): void;\n}\n\nexport const TableContextDefaultValue: TableContextValue = {\n menuOpen: false,\n openMenuId: undefined,\n /* eslint-disable */\n setMenuOpen() {},\n setItemColumnChecked() {},\n setItemColumnCheckDisabled() {},\n setItemColumnCommands() {},\n setHeadColumnChecked() {},\n setHeadColumnCommands() {},\n /* eslint-enable */\n};\n","import { createContext } from 'react';\nimport { TableContextDefaultValue, TableContextValue } from './TableContext.types';\n\nconst TableContext = createContext<TableContextValue>(TableContextDefaultValue);\n\nexport default TableContext;\n","import TableContext from './TableContext';\nimport { TableContextValue } from './TableContext.types';\nimport { useContext } from 'react';\n\nexport default function useTableState(): TableContextValue {\n const value = useContext(TableContext);\n if (value === undefined) {\n throw new Error('useFormState should be used within TableContext.Provider');\n }\n return value;\n}\n","import React, { useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { TableCell, styled } from '@mui/material';\nimport { TableCommonCellProps } from './TableCommonCell.types';\nimport { getTableColumnAlign } from '../@util';\nimport { CommonSxProps } from '../@types';\nimport useTableState from '../TableContext/useTableState';\n\nconst StyledTableCell = styled(TableCell)`\n &.ellipsis {\n position: relative;\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nconst TableCommonCell: React.FC<TableCommonCellProps> = ({\n children,\n className: initClassName,\n style: initStyle,\n sx: initSx,\n type,\n column,\n defaultAlign,\n defaultEllipsis: initDefaultEllipsis,\n index,\n item,\n onClick,\n}) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen } = useTableState();\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const align = useMemo(() => getTableColumnAlign(column, defaultAlign), [column, defaultAlign]);\n\n const ellipsis = useMemo(\n () =>\n type !== 'head' &&\n (column.ellipsis ||\n (column.type !== 'img' &&\n column.type !== 'button' &&\n column.type !== 'buttons' &&\n (column.ellipsis == null ? !!initDefaultEllipsis : false))),\n [type, column, initDefaultEllipsis]\n );\n\n const className = useMemo(() => {\n let className: CommonSxProps['className'];\n let getClassName: CommonSxProps['className'];\n\n switch (type) {\n case 'head':\n className = column.head?.className;\n getClassName = column.head?.onGetClassName ? column.head?.onGetClassName() : undefined;\n break;\n case 'body':\n className = column.className;\n if (item != null && index != null) {\n getClassName = column.onGetClassName ? column.onGetClassName(item, index) : undefined;\n }\n break;\n case 'footer':\n className = column.footer?.className;\n getClassName = column.footer?.onGetClassName ? column.footer?.onGetClassName() : undefined;\n break;\n }\n\n if (className || getClassName) {\n return classNames(initClassName, className, getClassName);\n } else {\n return initClassName;\n }\n }, [column, index, initClassName, item, type]);\n\n const style = useMemo(() => {\n let style: CommonSxProps['style'];\n let getStyle: CommonSxProps['style'];\n\n switch (type) {\n case 'head':\n style = column.head?.style;\n getStyle = column.head?.onGetStyle ? column.head?.onGetStyle() : undefined;\n break;\n case 'body':\n style = column.style;\n if (item != null && index != null) {\n getStyle = column.onGetStyle ? column.onGetStyle(item, index) : undefined;\n }\n break;\n case 'footer':\n style = column.footer?.style;\n getStyle = column.footer?.onGetStyle ? column.footer?.onGetStyle() : undefined;\n break;\n }\n\n return {\n ...initStyle,\n width: column.width,\n minWidth: column.minWidth,\n cursor: type === 'body' && (column.onClick || onClick) ? 'pointer' : undefined,\n paddingLeft: column.paddingLeft,\n paddingRight: column.paddingRight,\n ...style,\n ...getStyle,\n };\n }, [column, index, initStyle, item, onClick, type]);\n\n const sx = useMemo(() => {\n let sx: CommonSxProps['sx'];\n let getSx: CommonSxProps['sx'];\n let displaySx: CommonSxProps['sx'];\n\n switch (type) {\n case 'head':\n sx = column.head?.sx;\n getSx = column.head?.onGetSx ? column.head?.onGetSx() : undefined;\n break;\n case 'body':\n sx = column.sx;\n if (item != null && index != null) {\n getSx = column.onGetSx ? column.onGetSx(item, index) : undefined;\n }\n break;\n case 'footer':\n sx = column.footer?.sx;\n getSx = column.footer?.onGetSx ? column.footer?.onGetSx() : undefined;\n break;\n }\n\n if (column.display) {\n type DisplayValue = 'none' | 'table-cell';\n const display: {\n xs?: DisplayValue;\n sm?: DisplayValue;\n md?: DisplayValue;\n lg?: DisplayValue;\n xl?: DisplayValue;\n } = {};\n if (column.display.xs !== undefined) display.xs = column.display.xs ? 'table-cell' : 'none';\n if (column.display.sm !== undefined) display.sm = column.display.sm ? 'table-cell' : 'none';\n if (column.display.md !== undefined) display.md = column.display.md ? 'table-cell' : 'none';\n if (column.display.lg !== undefined) display.lg = column.display.lg ? 'table-cell' : 'none';\n if (column.display.xl !== undefined) display.xl = column.display.xl ? 'table-cell' : 'none';\n displaySx = { display };\n }\n\n const sxList = [];\n if (getSx) sxList.push(getSx);\n if (sx) sxList.push(sx);\n if (initSx) sxList.push(initSx);\n if (displaySx) sxList.push(displaySx);\n\n if (sxList.length > 0) {\n if (sxList.length === 1) {\n return sxList[0];\n } else {\n if (!sxList.find((sx) => typeof sx !== 'object')) {\n return sxList.reduce((res: object, sx: object) => {\n res = { ...res, ...sx };\n return res;\n }, {});\n }\n }\n }\n }, [column, index, initSx, item, type]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLTableCellElement>) => {\n if (\n !menuOpen &&\n column.type !== 'check' &&\n column.type !== 'button' &&\n column.type !== 'buttons' &&\n column.type !== 'img'\n ) {\n e.stopPropagation();\n\n if (type === 'body') {\n if (item != null && index != null) {\n if (column.onClick) {\n column.onClick(item, index);\n } else {\n if (onClick) onClick(item, index);\n }\n }\n }\n }\n },\n [menuOpen, type, item, index, column, onClick]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <StyledTableCell\n align={align}\n className={classNames(\n className,\n 'TableCommonCell',\n ellipsis && 'ellipsis',\n column.type ? `column-type-${column.type}` : false\n )}\n style={style}\n sx={sx}\n onClick={type === 'body' ? handleClick : undefined}\n >\n {children}\n </StyledTableCell>\n );\n};\n\nexport default TableCommonCell;\n","import React, { ReactNode, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Box, Checkbox, styled, Tooltip } from '@mui/material';\nimport { TableBodyCellProps as Props } from './TableBodyCell.types';\nimport { getTableColumnAlign, getTelAutoDash, numberWithThousandSeparator } from '../@util';\nimport TableCommonCell from '../TableCommonCell';\nimport { TableItem } from '../Table/Table.types';\nimport dayjs from 'dayjs';\nimport useTableState from '../TableContext/useTableState';\nimport classNames from 'classnames';\n\nconst StyledButtonsBox = styled(Box)`\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n`;\n\nconst TableBodyCell: React.FC<Props> = ({\n className,\n style,\n sx,\n item,\n index,\n column,\n defaultAlign,\n defaultEllipsis,\n onClick,\n onCheckChange,\n}) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen, setItemColumnChecked, setItemColumnCheckDisabled, setItemColumnCommands } = useTableState();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [checked, setChecked] = useState(false);\n const [checkDisabled, setCheckDisabled] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (column.type === 'check') {\n setChecked(column.onInitChecked ? column.onInitChecked(item) : false);\n setCheckDisabled(column.onCheckDisabled ? column.onCheckDisabled(item) : false);\n }\n\n setItemColumnCommands(item, column, {\n setChecked(checked: boolean) {\n if (column.type === 'check') {\n setChecked(checked);\n }\n },\n setCheckDisabled(disabled: boolean) {\n if (column.type === 'check') {\n setCheckDisabled(disabled);\n }\n },\n });\n }, [column, item, setItemColumnCommands]);\n\n useEffect(() => {\n if (column.type === 'check') {\n setItemColumnChecked(item, column, checked);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checked]);\n\n useEffect(() => {\n if (column.type === 'check') {\n setItemColumnCheckDisabled(item, column, checkDisabled);\n column.onCheckDisabledChange && column.onCheckDisabledChange(item, checkDisabled);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checkDisabled]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const isHidden = useMemo(() => (column.onHide ? column.onHide(item, index) : false), [column, index, item]);\n\n const buttonsBoxJustifyContent = useMemo(() => {\n switch (getTableColumnAlign(column, defaultAlign)) {\n case 'center':\n return 'center';\n case 'right':\n return 'end';\n default:\n return 'start';\n }\n }, [column, defaultAlign]);\n\n const data = useMemo(() => {\n let data;\n if (column.type !== 'check') {\n if (column.onRender) {\n data = column.onRender(item, index);\n } else if (column.name) {\n data = item[column.name];\n } else {\n data = undefined;\n }\n }\n\n switch (column.type) {\n case 'number':\n if (typeof data === 'string' || typeof data === 'number') {\n data = numberWithThousandSeparator(data);\n }\n if (column.numberPrefix) {\n data = (\n <>\n <span style={{ opacity: 0.5, marginRight: 2 }}>{column.numberPrefix}</span>\n {data}\n </>\n );\n }\n if (column.numberSuffix) {\n data = (\n <>\n {data}\n <span style={{ opacity: 0.5, marginLeft: 2 }}>{column.numberSuffix}</span>\n </>\n );\n }\n break;\n case 'tel':\n if (typeof data === 'string') {\n data = getTelAutoDash(data);\n }\n break;\n case 'check':\n data = (\n <Box className='TableBoxyCell-check-box' onClick={menuOpen ? undefined : (e) => e.stopPropagation()}>\n <Checkbox\n checked={checked}\n disabled={checkDisabled}\n onChange={(e, newChecked) => {\n setChecked(newChecked);\n column.onCheckChange && column.onCheckChange(item, newChecked);\n onCheckChange && onCheckChange(item, column, newChecked);\n }}\n />\n </Box>\n );\n break;\n case 'button':\n data = (\n <Box className='TableBoxyCell-button-box' onClick={menuOpen ? undefined : (e) => e.stopPropagation()}>\n {data}\n </Box>\n );\n break;\n case 'buttons':\n data = (\n <StyledButtonsBox\n className='TableBodyCell-buttons-box'\n justifyContent={buttonsBoxJustifyContent}\n onClick={menuOpen ? undefined : (e) => e.stopPropagation()}\n >\n {data}\n </StyledButtonsBox>\n );\n break;\n case 'img':\n {\n const img = <img src={data} style={{ maxWidth: '100%', verticalAlign: 'middle' }} alt='' />;\n const placement = column.tooltipProps?.placement ? column.tooltipProps?.placement : 'left';\n\n data = (\n <a\n href={data}\n target='_blank'\n onClick={\n menuOpen\n ? undefined\n : (e: React.MouseEvent<HTMLAnchorElement>) => {\n e.stopPropagation();\n }\n }\n >\n <Tooltip\n className='TableBodyCell-tooltip'\n title={<div style={{ paddingTop: 3, paddingBottom: 3 }}>{img}</div>}\n {...column.tooltipProps}\n placement={placement}\n >\n {img}\n </Tooltip>\n </a>\n );\n }\n break;\n case 'date':\n if (data) {\n data = dayjs(data, column.dateFormat).format('YYYY-MM-DD');\n }\n break;\n case 'datetime':\n if (data) {\n const dt = dayjs(data, column.dateFormat);\n data = (\n <>\n <span>{dt.format('YYYY-MM-DD')}</span>\n {column.dateTwoLine ? <br /> : ' '}\n <span style={{ opacity: 0.5 }}>{dt.format('HH:mm:ss')}</span>\n </>\n );\n }\n break;\n case 'date-hour':\n if (data) {\n const dt = dayjs(data, column.dateFormat);\n data = (\n <>\n <span>{dt.format('YYYY-MM-DD')}</span>\n {column.dateTwoLine ? <br /> : ' '}\n <span style={{ opacity: 0.5 }}>{dt.format('HH시')}</span>\n </>\n );\n }\n break;\n case 'date-minute':\n if (data) {\n const dt = dayjs(data, column.dateFormat);\n data = (\n <>\n <span>{dt.format('YYYY-MM-DD')}</span>\n {column.dateTwoLine ? <br /> : ' '}\n <span style={{ opacity: 0.5 }}>{dt.format('HH시 MM분')}</span>\n </>\n );\n }\n break;\n }\n\n if (column.type !== 'img') {\n let tooltip: ReactNode;\n if (column.onGetTooltip) {\n tooltip = column.onGetTooltip(item, index);\n }\n if (tooltip) {\n data = (\n <Tooltip className='TableBodyCell-tooltip' title={tooltip} {...column.tooltipProps}>\n {React.isValidElement(data) ? (\n data.type === React.Fragment ? (\n <span>{data}</span>\n ) : (\n data\n )\n ) : (\n <span>{data}</span>\n )}\n </Tooltip>\n );\n }\n }\n return data;\n }, [column, item, index, menuOpen, checked, checkDisabled, buttonsBoxJustifyContent, onCheckChange]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(\n (item: TableItem, index: number) => {\n if (column.onClick) {\n column.onClick(item, index);\n } else {\n if (onClick) onClick(item, index);\n }\n },\n [column, onClick]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <TableCommonCell\n type='body'\n className={classNames('TableBodyCell', className)}\n style={style}\n sx={sx}\n column={column}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n item={item}\n index={index}\n onClick={column.onClick || onClick ? handleClick : undefined}\n >\n {!isHidden && data}\n </TableCommonCell>\n );\n};\n\nexport default TableBodyCell;\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { TableBodyRowProps as Props, TableBodyRowDefaultProps } from './TableBodyRow.types';\nimport { styled, TableRow, lighten } from '@mui/material';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { TableColumn } from '../Table';\nimport TableBodyCell from '../TableBodyCell';\n\nexport const StyledBodyRow = styled(TableRow)(({ theme }) => ({\n '&.odd-color:nth-of-type(odd):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n '&.even-color:nth-of-type(even):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n}));\n\nconst TableBodyRow: React.FC<Props> = ({\n className,\n style,\n //--------------------------------------------------------------------------------------------------------------------\n id,\n index,\n defaultAlign,\n defaultEllipsis,\n sortable,\n columns,\n item,\n onClick,\n onCheckChange,\n onGetColumnClassName,\n onGetColumnStyle,\n onGetColumnSx,\n // -------------------------------------------------------------------------------------------------------------------\n ...props\n}) => {\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id });\n\n const finalStyle = useMemo(\n () =>\n sortable\n ? {\n ...style,\n transform: CSS.Transform.toString(transform),\n transition,\n }\n : style,\n [sortable, style, transform, transition]\n );\n\n const sortableProps = useMemo(\n () =>\n sortable\n ? {\n ref: setNodeRef,\n ...attributes,\n ...listeners,\n }\n : {},\n [attributes, listeners, setNodeRef, sortable]\n );\n\n return (\n <StyledBodyRow className={classNames('TableBodyRow', className)} style={finalStyle} {...props} {...sortableProps}>\n {columns.map((column: TableColumn, columnIdx) => (\n <TableBodyCell\n className={onGetColumnClassName ? onGetColumnClassName(column, item, index) : undefined}\n sx={onGetColumnSx ? onGetColumnSx(column, item, index) : undefined}\n style={onGetColumnStyle ? onGetColumnStyle(column, item, index) : undefined}\n key={columnIdx}\n index={index}\n item={item}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n column={column}\n onClick={onClick}\n onCheckChange={onCheckChange}\n />\n ))}\n </StyledBodyRow>\n );\n};\n\nTableBodyRow.displayName = 'TableBodyRow';\nTableBodyRow.defaultProps = TableBodyRowDefaultProps;\n\nexport default TableBodyRow;\n","import React, { useMemo } from 'react';\nimport { TableFooterCellProps } from './TableFooterCell.types';\nimport TableCommonCell from '../TableCommonCell';\n\nconst TableFooterCell: React.FC<TableFooterCellProps> = ({ column, defaultAlign }) => {\n const data = useMemo(() => {\n if (column.footer?.onRender) {\n return column.footer?.onRender();\n } else {\n return column.footer?.value;\n }\n }, [column]);\n\n return (\n <TableCommonCell type='head' className='TableFooterCell' column={column} defaultAlign={defaultAlign}>\n {data}\n </TableCommonCell>\n );\n};\n\nexport default TableFooterCell;\n","import React from 'react';\nimport classNames from 'classnames';\nimport { TablePaginationProps } from './TablePagination.types';\nimport { Pagination, Stack } from '@mui/material';\n\nconst TablePagination: React.FC<TablePaginationProps> = ({ className, style, sx, paging, align, onChange }) => {\n return (\n <Stack alignItems={align}>\n <Pagination\n count={paging.last_page}\n page={paging.current_page}\n color='primary'\n className={classNames('TablePagination', className)}\n style={style}\n sx={sx}\n onChange={(e, page) => {\n if (onChange) onChange(page);\n }}\n />\n </Stack>\n );\n};\n\nexport default TablePagination;\n","import {useRef,useEffect,useState,useCallback,useLayoutEffect}from'react';function useFirstSkipEffect(effect, deps) {\n var firstRef = useRef(true);\n useEffect(function () {\n if (firstRef.current) {\n firstRef.current = false;\n }\n else {\n effect();\n }\n }, deps);\n}var isSame = function (v1, v2) {\n if (v1 === v2)\n return true;\n if (typeof v1 !== typeof v2)\n return false;\n if (v1 == null || v2 == null)\n return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length)\n return false;\n for (var i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i])\n return false;\n }\n }\n else {\n return v1 === v2;\n }\n return true;\n};function useAutoUpdateState(p1, p2) {\n var state = typeof p1 === 'function' ? undefined : p1;\n var finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n var _a = useState(0), setUpdateKey = _a[1];\n var _initState = useState(function () {\n return finalStateCallback ? finalStateCallback(state) : state;\n })[0];\n var _state = useRef(_initState);\n var forceUpdate = useCallback(function () {\n setUpdateKey(function (updateKey) { return updateKey + 1; });\n }, []);\n useFirstSkipEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n useFirstSkipEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n var setState = useCallback(function (newState) {\n var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n return [_state.current, setState];\n}function useFirstSkipLayoutEffect(effect, deps) {\n var firstRef = useRef(true);\n useLayoutEffect(function () {\n if (firstRef.current) {\n firstRef.current = false;\n }\n else {\n effect();\n }\n }, deps);\n}function useAutoUpdateLayoutState(p1, p2) {\n var state = typeof p1 === 'function' ? undefined : p1;\n var finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n var _a = useState(0), setUpdateKey = _a[1];\n var _initState = useState(function () {\n return finalStateCallback ? finalStateCallback(state, 0) : state;\n })[0];\n var _state = useRef(_initState);\n var forceUpdate = useCallback(function () {\n setUpdateKey(function (updateKey) { return updateKey + 1; });\n }, []);\n useFirstSkipLayoutEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n useFirstSkipLayoutEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n var setState = useCallback(function (newState) {\n var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n return [_state.current, setState];\n}export{useAutoUpdateLayoutState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect};//# sourceMappingURL=index.esm.js.map\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\nimport { TableContextProviderProps as Props } from './TableContextProvider.types';\nimport TableContext from '../TableContext';\n\nconst TableContextProvider: React.FC<Props> = ({ children, value }) => {\n return <TableContext.Provider value={value}>{children}</TableContext.Provider>;\n};\n\nexport default TableContextProvider;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { ReactNode } from 'react';\nimport { TableCellProps } from '@mui/material';\nimport { TableColumn, TableProps } from '../Table/Table.types';\n\nexport interface TableTopHeadRowColumn {\n colSpan?: number;\n rowSpan?: number;\n label?: ReactNode;\n align?: TableCellProps['align'];\n}\n\nexport type TableTopHeadRowColumnValue = TableTopHeadRowColumn | false | undefined | null;\n\nexport interface TableTopHeadProps {\n caption?: ReactNode;\n rows?: TableTopHeadRowColumnValue[] | TableTopHeadRowColumnValue[][];\n columns: TableColumn[];\n defaultAlign: TableProps['defaultAlign'];\n onCheckChange(column: TableColumn, checked: boolean): void;\n}\n\nexport const TableTopHeadDefaultProps = {};\n","import { styled, TableRow } from '@mui/material';\n\nexport const TableTopHeadCaptionRow = styled(TableRow)(({ theme }) => ({\n '> th': {\n backgroundColor: theme.palette.grey.A100,\n textAlign: 'center',\n fontWeight: 700,\n },\n}));\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { TableHeadCellProps } from './TableHeadCell.types';\nimport TableCommonCell from '../TableCommonCell';\nimport { Checkbox } from '@mui/material';\nimport useTableState from '../TableContext/useTableState';\n\nconst TableHeadCell: React.FC<TableHeadCellProps> = ({ column, defaultAlign, top, onCheckChange }) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { setHeadColumnChecked, setHeadColumnCommands } = useTableState();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [checked, setChecked] = useState(false);\n const [checkDisabled, setCheckDisabled] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (column.type === 'check') {\n setHeadColumnChecked(column, checked);\n }\n }, [column, checked, setHeadColumnChecked]);\n\n useEffect(() => {\n setHeadColumnCommands(column, {\n setChecked(checked: boolean) {\n if (column.type === 'check') {\n setChecked(checked);\n }\n },\n setCheckDisabled(checkDisabled: boolean) {\n if (column.type === 'check') {\n setCheckDisabled(checkDisabled);\n }\n },\n });\n }, [setHeadColumnCommands, column]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const style = useMemo(() => (top !== undefined ? { top } : undefined), [top]);\n\n const data = useMemo(() => {\n if (column.type === 'check') {\n return column.hideAllCheck ? null : (\n <Checkbox\n checked={checked}\n disabled={checkDisabled}\n onChange={(e, newChecked) => {\n setChecked(newChecked);\n onCheckChange && onCheckChange(column, newChecked);\n }}\n />\n );\n } else {\n if (column.head?.onRender) {\n return column.head?.onRender();\n } else {\n if (typeof column.label === 'string') {\n return <div dangerouslySetInnerHTML={{ __html: column.label }} />;\n } else {\n return column.label;\n }\n }\n }\n }, [checkDisabled, checked, column, onCheckChange]);\n\n // Render ------------------------------------------------------------------------------------------------------------\n\n return (\n <TableCommonCell type='head' className='TableHeadCell' style={style} column={column} defaultAlign={defaultAlign}>\n {data}\n </TableCommonCell>\n );\n};\n\nexport default TableHeadCell;\n","import React, { ReactNode, useCallback, useMemo, useRef } from 'react';\nimport { TableTopHeadProps as Props, TableTopHeadDefaultProps, TableTopHeadRowColumnValue } from './TableTopHead.types';\nimport { styled, TableCell, TableHead, TableRow, useTheme } from '@mui/material';\nimport { useResizeDetector } from 'react-resize-detector';\nimport { TableTopHeadCaptionRow } from './TableTopHead.style';\nimport TableHeadCell from '../TableHeadCell';\n\nconst BottomLine = styled('div')`\n height: 1px;\n position: absolute;\n left: 3px;\n right: 3px;\n bottom: 0;\n`;\n\nconst TableTopHead: React.FC<Props> = ({ columns, rows, caption, defaultAlign, onCheckChange }) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const theme = useTheme();\n\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const captionRef = useRef<HTMLTableRowElement>(null);\n const row1Ref = useRef<HTMLTableRowElement>(null);\n const row2Ref = useRef<HTMLTableRowElement>(null);\n const row3Ref = useRef<HTMLTableRowElement>(null);\n\n // ResizeDetector ----------------------------------------------------------------------------------------------------\n\n const { height: captionHeight } = useResizeDetector({\n targetRef: captionRef,\n handleWidth: false,\n handleHeight: true,\n });\n const { height: row1Height } = useResizeDetector({ targetRef: row1Ref, handleWidth: false, handleHeight: true });\n const { height: row2Height } = useResizeDetector({ targetRef: row2Ref, handleWidth: false, handleHeight: true });\n const { height: row3Height } = useResizeDetector({ targetRef: row3Ref, handleWidth: false, handleHeight: true });\n\n // Function ----------------------------------------------------------------------------------------------------------\n\n const captionRow = useMemo(\n () =>\n !!caption && (\n <TableTopHeadCaptionRow ref={captionRef} className='TableTopHeadCaptionRow'>\n <TableCell colSpan={columns.length}>{caption}</TableCell>\n </TableTopHeadCaptionRow>\n ),\n [caption, columns]\n );\n\n const makeRowCells = useCallback(\n (row: TableTopHeadRowColumnValue[], top?: number) => {\n const cells = row\n .map(\n (info, idx) =>\n !!info && (\n <TableCell\n key={idx}\n colSpan={info.colSpan}\n align={info.align}\n style={{\n top,\n borderBottom: 0,\n }}\n >\n {info.label}\n {info.label != null && <BottomLine style={{ backgroundColor: theme.palette.divider }} />}\n </TableCell>\n )\n )\n .filter((cell) => !!cell) as ReactNode[];\n\n if (cells.length < columns.length) {\n cells.push(\n <TableCell key={columns.length} colSpan={columns.length - cells.length} style={{ top, borderBottom: 0 }} />\n );\n }\n return cells;\n },\n [columns, theme.palette.divider]\n );\n\n const columnRow = useMemo(() => {\n const top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0) + (row3Height || 0);\n\n return (\n <TableRow>\n {columns.map((column, idx) => (\n <TableHeadCell\n key={idx}\n column={column}\n defaultAlign={defaultAlign}\n top={top}\n onCheckChange={onCheckChange}\n />\n ))}\n </TableRow>\n );\n }, [captionHeight, columns, defaultAlign, onCheckChange, row1Height, row2Height, row3Height]);\n\n // Render ------------------------------------------------------------------------------------------------------------\n\n if (rows) {\n if (Array.isArray(rows[0])) {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n {rows.map((row, idx) => {\n let ref: React.Ref<HTMLTableRowElement> | undefined = undefined;\n let top: number | undefined = undefined;\n\n switch (idx) {\n case 0:\n ref = row1Ref;\n top = captionHeight;\n break;\n case 1:\n ref = row2Ref;\n top = (captionHeight || 0) + (row1Height || 0);\n break;\n case 2:\n ref = row3Ref;\n top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0);\n break;\n case 3:\n top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0) + (row3Height || 0);\n }\n return (\n <TableRow key={idx} ref={ref} className='TableHeadRow'>\n {makeRowCells(row as TableTopHeadRowColumnValue[], top)}\n </TableRow>\n );\n })}\n </TableHead>\n );\n } else {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n <TableRow ref={row1Ref} className='TableHeadRow'>\n {makeRowCells(rows as TableTopHeadRowColumnValue[], captionHeight)}\n </TableRow>\n {columnRow}\n </TableHead>\n );\n }\n } else {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n {columnRow}\n </TableHead>\n );\n }\n};\n\nTableTopHead.displayName = 'TableTopHead';\nTableTopHead.defaultProps = TableTopHeadDefaultProps;\n\nexport default TableTopHead;\n","import React, { CSSProperties, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Table as MuiTable, TableBody, TableRow, TableCell, Paper, Stack, TableFooter, Icon } from '@mui/material';\nimport SimpleBar from 'simplebar-react';\nimport SimpleBarCore from 'simplebar-core';\nimport { useResizeDetector } from 'react-resize-detector';\nimport { TableProps, TableDefaultProps, TableCommands, TableColumn, TableItem } from './Table.types';\nimport { StyledBodyRow, StyledNoDataDiv } from './Table.styles';\nimport TableBodyRow from '../TableBodyRow';\nimport { TableHeadCellCommands } from '../TableHeadCell';\nimport TableFooterCell from '../TableFooterCell';\nimport TablePagination from '../TablePagination';\nimport { useAutoUpdateLayoutState } from '@pdg/react-hook';\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n MouseSensor,\n TouchSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n} from '@dnd-kit/core';\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport 'simplebar-react/dist/simplebar.min.css';\nimport TableContextProvider from '../TableContextProvider';\nimport { v4 as uuid } from 'uuid';\nimport { TableBodyCellCommands } from '../TableBodyCell';\nimport TableTopHead from '../TableTopHead';\n\nfunction columnFilter<T>(v: T | undefined | null | false): v is T {\n return v !== undefined && v !== null && v !== false;\n}\n\ntype TLocalBodyData = Record<\n string | number,\n {\n item: TableItem;\n columns: Record<\n string,\n {\n column: TableColumn;\n checked: boolean;\n checkDisabled: boolean;\n commands?: TableBodyCellCommands;\n }\n >;\n }\n>;\n\ntype TLocalHeaderData = Record<string, { column: TableColumn; checked: boolean; commands?: TableHeadCellCommands }>;\n\ninterface WithForwardRefType<T = TableItem> extends React.FC<TableProps<T>> {\n <T = TableItem>(props: TableProps<T> & React.RefAttributes<TableCommands<T>>): ReturnType<React.FC<TableProps<T>>>;\n}\n\nlet _columnId = 0;\n\nconst Table: WithForwardRefType = React.forwardRef<TableCommands, TableProps>(\n (\n {\n caption,\n topHeadRows,\n columns: initColumns,\n items: initItems,\n paging: initPaging,\n pagingAlign,\n defaultAlign,\n defaultEllipsis,\n stickyHeader: initStickyHeader,\n height,\n minHeight,\n maxHeight,\n fullHeight,\n showOddColor,\n showEvenColor,\n cellPadding,\n footer,\n noData,\n pagination,\n sortable,\n onClick,\n onGetBodyRowClassName,\n onGetBodyRowStyle,\n onGetBodyRowSx,\n onGetBodyColumnClassName,\n onGetBodyColumnStyle,\n onGetBodyColumnSx,\n onPageChange,\n onSortChange,\n onCheckChange,\n // ---------------------------------------------------------------------------------------------------------------\n className,\n style: initStyle,\n sx,\n },\n ref\n ) => {\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const localHeaderDataRef = useRef<TLocalHeaderData>({});\n const localBodyDataRef = useRef<TLocalBodyData>({});\n const updateHeadCheckTimer = useRef<NodeJS.Timeout>();\n const fireOnCheckChangeTimer = useRef<Record<string, NodeJS.Timeout | undefined>>({});\n const simpleBarRef = useRef<SimpleBarCore>(null);\n const finalColumnsIdRef = useRef<string[] | undefined>([]);\n\n // sortable --------------------------------------------------------------------------------------------------------\n\n const sensors = useSensors(\n useSensor(MouseSensor, {\n // Require the mouse to move by 10 pixels before activating\n activationConstraint: {\n distance: 10,\n },\n }),\n useSensor(TouchSensor, {\n // Press delay of 250ms, with tolerance of 5px of movement\n activationConstraint: {\n delay: 250,\n tolerance: 5,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n );\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [menuOpen, setMenuOpen] = useState(false);\n const [openMenuId, setOpenMenuId] = useState<string | undefined>(undefined);\n\n // State - containerHeight -------------------------------------------------------------------------------------------\n\n const [containerHeight, setContainerHeight] = useState<number | undefined>();\n\n const { ref: containerHeightDetector } = useResizeDetector({\n handleHeight: true,\n handleWidth: false,\n onResize() {\n if (containerHeightDetector.current) {\n setContainerHeight(containerHeightDetector.current.getBoundingClientRect().height);\n } else {\n setContainerHeight(undefined);\n }\n },\n });\n\n // State - footerHeight --------------------------------------------------------------------------------------------\n\n const [pagingHeight, setPagingHeight] = useState<number | undefined>();\n\n const { ref: pagingHeightResizeDetector } = useResizeDetector({\n handleHeight: true,\n handleWidth: false,\n onResize() {\n if (pagingHeightResizeDetector.current) {\n setPagingHeight(pagingHeightResizeDetector.current.getBoundingClientRect().height);\n } else {\n setPagingHeight(undefined);\n }\n },\n });\n\n // State -----------------------------------------------------------------------------------------------------------\n\n const [columns, setColumns] = useAutoUpdateLayoutState<TableProps['columns']>(initColumns);\n const [finalColumns, setFinalColumns] = useState<TableColumn<TableItem>[]>();\n const [items, setItems] = useAutoUpdateLayoutState<TableProps['items']>(initItems);\n const [sortableItems, setSortableItems] = useState<(TableItem & { id: number | string })[]>();\n const [paging, setPaging] = useAutoUpdateLayoutState<TableProps['paging']>(initPaging);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const tableSx = useMemo(() => {\n const sx = {\n padding: typeof cellPadding === 'number' ? `${cellPadding}px` : cellPadding,\n };\n\n return {\n '> .MuiTableHead-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n '> .MuiTableBody-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n '> .MuiTableFooter-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n };\n }, [cellPadding]);\n\n // Function --------------------------------------------------------------------------------------------------------\n\n const makeSortableItems = useCallback((items?: TableProps['items']) => {\n return items?.map<TableItem & { id: number | string }>(({ id, ...item }, index) => {\n return { id: id == null ? `${uuid()}_${index}` : id, ...item };\n });\n }, []);\n\n const getFinalColumnId = useCallback(\n (column: TableColumn) => {\n if (finalColumns && finalColumnsIdRef.current) {\n const idx = finalColumns.indexOf(column);\n return finalColumnsIdRef.current[idx];\n } else {\n return '';\n }\n },\n [finalColumns]\n );\n\n const updateHeadCheck = useCallback(\n (column: TableColumn) => {\n if (updateHeadCheckTimer.current) {\n clearTimeout(updateHeadCheckTimer.current);\n updateHeadCheckTimer.current = undefined;\n }\n\n const columnId = getFinalColumnId(column);\n\n const headColumnData = localHeaderDataRef.current[columnId];\n if (headColumnData) {\n updateHeadCheckTimer.current = setTimeout(() => {\n updateHeadCheckTimer.current = undefined;\n\n const enabledCheckExists = !!Object.keys(localBodyDataRef.current).find((key) => {\n const columnData = localBodyDataRef.current[key].columns[columnId];\n if (columnData) {\n if (!columnData.checkDisabled) {\n return true;\n }\n }\n });\n\n const allChecked =\n enabledCheckExists &&\n !Object.keys(localBodyDataRef.current).find((key) => {\n const columnData = localBodyDataRef.current[key].columns[columnId];\n if (columnData) {\n if (!columnData.checkDisabled) {\n return !columnData.checked;\n }\n }\n });\n\n headColumnData.commands?.setCheckDisabled(!enabledCheckExists);\n headColumnData.commands?.setChecked(allChecked);\n }, 100);\n }\n },\n [getFinalColumnId]\n );\n\n const getCheckedItems = useCallback((columnId: string): TableItem[] => {\n const checkedItems: TableItem[] = [];\n Object.keys(localBodyDataRef.current).forEach((key) => {\n const itemData = localBodyDataRef.current[key];\n const columnData = itemData.columns[columnId];\n if (columnData) {\n if (columnData.checked) {\n checkedItems.push(itemData.item);\n }\n }\n });\n return checkedItems;\n }, []);\n\n const stopHeadCheckTimer = useCallback(() => {\n if (updateHeadCheckTimer.current) {\n clearTimeout(updateHeadCheckTimer.current);\n updateHeadCheckTimer.current = undefined;\n }\n }, []);\n\n const clearFireOnCheckChangeTimer = useCallback(() => {\n Object.keys(fireOnCheckChangeTimer.current).forEach((key) => {\n if (fireOnCheckChangeTimer.current[key]) {\n clearTimeout(fireOnCheckChangeTimer.current[key]);\n }\n });\n fireOnCheckChangeTimer.current = {};\n }, []);\n\n const fireOnCheckChange = useCallback(\n (columnId: string) => {\n if (fireOnCheckChangeTimer.current[columnId]) {\n clearTimeout(fireOnCheckChangeTimer.current[columnId]);\n fireOnCheckChangeTimer.current[columnId] = undefined;\n }\n if (onCheckChange) {\n fireOnCheckChangeTimer.current[columnId] = setTimeout(() => {\n fireOnCheckChangeTimer.current[columnId] = undefined;\n\n onCheckChange && onCheckChange(columnId, getCheckedItems(columnId));\n }, 100);\n }\n },\n [getCheckedItems, onCheckChange]\n );\n\n const simpleBarScrollToTop = useCallback(() => {\n simpleBarRef.current?.getScrollElement()?.scrollTo({ top: 0 });\n }, []);\n\n // Effect ----------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n return () => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n\n Object.keys(localHeaderDataRef.current).forEach((key) => {\n if (localHeaderDataRef.current[key].column.type === 'check') {\n localHeaderDataRef.current[key].commands?.setChecked(false);\n }\n });\n\n Object.keys(localBodyDataRef.current).forEach((key) => {\n Object.keys(localBodyDataRef.current[key].columns).forEach((cKey) => {\n localBodyDataRef.current[key].columns[cKey].commands?.setChecked(false);\n });\n });\n\n setSortableItems(makeSortableItems(items));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n\n useEffect(() => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n\n const newFinalColumns = columns?.filter(columnFilter);\n setFinalColumns(newFinalColumns);\n finalColumnsIdRef.current = newFinalColumns?.map((col) => {\n if (col.id) {\n return col.id;\n } else {\n _columnId += 1;\n return `$c$${_columnId}$`;\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [columns]);\n\n useLayoutEffect(() => {\n clearFireOnCheckChangeTimer();\n\n if (sortableItems) {\n localBodyDataRef.current = sortableItems.reduce<TLocalBodyData>((res, item) => {\n res[item.id] = {\n item,\n columns: {},\n };\n\n if (finalColumns) {\n finalColumns.forEach((c) => {\n const columnId = getFinalColumnId(c);\n\n if (localBodyDataRef.current[item.id]?.columns[columnId]) {\n res[item.id].columns[columnId] = localBodyDataRef.current[item.id].columns[columnId];\n } else {\n res[item.id].columns[columnId] = {\n column: c,\n checked: false,\n checkDisabled: false,\n };\n }\n });\n }\n return res;\n }, {});\n } else {\n localBodyDataRef.current = {};\n }\n }, [sortableItems, finalColumns, clearFireOnCheckChangeTimer, getFinalColumnId]);\n\n useLayoutEffect(() => {\n if (finalColumns) {\n localHeaderDataRef.current = finalColumns.reduce<TLocalHeaderData>((res, c) => {\n res[getFinalColumnId(c)] = { column: c, checked: false };\n return res;\n }, {});\n } else {\n localHeaderDataRef.current = {};\n }\n }, [finalColumns, getFinalColumnId]);\n\n // Commands --------------------------------------------------------------------------------------------------------\n\n useLayoutEffect(() => {\n if (ref) {\n let lastColumns = columns;\n let lastItems = items;\n let lastPaging = paging;\n\n const commands: TableCommands = {\n getColumns: () => lastColumns,\n setColumns: (columns) => {\n lastColumns = columns;\n setColumns(lastColumns);\n },\n getItems: () => lastItems,\n setItems: (items) => {\n lastItems = items;\n setItems(items);\n },\n getPaging: () => lastPaging,\n setItemsPaging: (items, paging) => {\n lastItems = items;\n lastPaging = paging;\n setItems(lastItems);\n setPaging(lastPaging);\n },\n resetSort() {\n setSortableItems(makeSortableItems(lastItems));\n },\n getCheckedItems,\n scrollToTop: simpleBarScrollToTop,\n };\n\n if (typeof ref === 'function') {\n ref(commands);\n } else {\n ref.current = commands;\n }\n }\n }, [\n ref,\n columns,\n items,\n paging,\n makeSortableItems,\n setColumns,\n setItems,\n setPaging,\n getCheckedItems,\n simpleBarScrollToTop,\n ]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n const { active, over } = event;\n\n if (active && over) {\n setSortableItems((items) => {\n if (items) {\n let oldIndex: number | null = null;\n let newIndex: number | null = null;\n\n items.find((item, idx) => {\n if (item.id === active.id) {\n oldIndex = idx;\n } else if (item.id === over.id) {\n newIndex = idx;\n }\n return oldIndex != null && newIndex != null;\n });\n\n if (oldIndex != null && newIndex != null) {\n const finalItems = arrayMove(items, oldIndex, newIndex);\n onSortChange && onSortChange(finalItems);\n return finalItems;\n } else {\n return items;\n }\n } else {\n return items;\n }\n });\n }\n },\n [onSortChange]\n );\n\n const handleHeadCheckChange = useCallback(\n (column: TableColumn, checked: boolean) => {\n Object.keys(localBodyDataRef.current).forEach((key) => {\n const data = localBodyDataRef.current[key].columns[getFinalColumnId(column)];\n if (data) {\n if (!data.checkDisabled) {\n data.commands?.setChecked(checked);\n }\n }\n });\n },\n [getFinalColumnId]\n );\n\n const handleBodyCheckChange = useCallback(\n (item: TableItem, column: TableColumn) => {\n updateHeadCheck(column);\n },\n [updateHeadCheck]\n );\n\n const handlePageChange = useCallback(\n (page: number) => {\n simpleBarScrollToTop();\n onPageChange && onPageChange(page);\n },\n [onPageChange, simpleBarScrollToTop]\n );\n\n // TableContext Function ---------------------------------------------------------------------------------------------\n\n const TableContextSetMenuOpen = useCallback(\n (newMenuOpen: boolean, newOpenMenuId: string | undefined) => {\n if (newMenuOpen) {\n setMenuOpen(newMenuOpen);\n setOpenMenuId(newOpenMenuId);\n } else {\n if (openMenuId === newOpenMenuId) {\n setMenuOpen(false);\n setOpenMenuId(undefined);\n }\n }\n },\n [openMenuId]\n );\n\n const TableContextSetItemColumnChecked = useCallback(\n (item: TableItem, column: TableColumn, checked: boolean) => {\n const columnId = getFinalColumnId(column);\n const data = localBodyDataRef.current[item.id]?.columns[columnId];\n if (data) {\n data.checked = checked;\n fireOnCheckChange(columnId);\n }\n },\n [fireOnCheckChange, getFinalColumnId]\n );\n\n const TableContextSetItemColumnCheckDisabled = useCallback(\n (item: TableItem, column: TableColumn, disabled: boolean) => {\n const data = localBodyDataRef.current[item.id]?.columns[getFinalColumnId(column)];\n if (data) {\n data.checkDisabled = disabled;\n updateHeadCheck(column);\n }\n },\n [getFinalColumnId, updateHeadCheck]\n );\n\n const TableContextSetItemColumnCommands = useCallback(\n (item: TableItem, column: TableColumn, commands: TableBodyCellCommands) => {\n const data = localBodyDataRef.current[item.id]?.columns[getFinalColumnId(column)];\n if (data) {\n data.commands = commands;\n }\n },\n [getFinalColumnId]\n );\n\n const TableContextSetHeadColumnChecked = useCallback(\n (column: TableColumn, checked: boolean) => {\n const data = localHeaderDataRef.current[getFinalColumnId(column)];\n if (data) {\n data.checked = checked;\n }\n },\n [getFinalColumnId]\n );\n\n const TableContextSetHeadColumnCommands = useCallback(\n (column: TableColumn, commands: TableHeadCellCommands) => {\n const data = localHeaderDataRef.current[getFinalColumnId(column)];\n if (data) {\n data.commands = commands;\n }\n },\n [getFinalColumnId]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const tableContextValue = useMemo(\n () => ({\n menuOpen,\n openMenuId,\n setMenuOpen: TableContextSetMenuOpen,\n setItemColumnChecked: TableContextSetItemColumnChecked,\n setItemColumnCheckDisabled: TableContextSetItemColumnCheckDisabled,\n setItemColumnCommands: TableContextSetItemColumnCommands,\n setHeadColumnChecked: TableContextSetHeadColumnChecked,\n setHeadColumnCommands: TableContextSetHeadColumnCommands,\n }),\n [\n TableContextSetHeadColumnChecked,\n TableContextSetHeadColumnCommands,\n TableContextSetItemColumnCheckDisabled,\n TableContextSetItemColumnChecked,\n TableContextSetItemColumnCommands,\n TableContextSetMenuOpen,\n menuOpen,\n openMenuId,\n ]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const isNoData = useMemo(() => !!sortableItems && sortableItems.length <= 0, [sortableItems]);\n const finalPagingHeight = useMemo(\n () => (paging && paging.total > 0 ? pagingHeight || 0 : 0),\n [paging, pagingHeight]\n );\n const stickyHeader = useMemo(() => !isNoData && initStickyHeader, [initStickyHeader, isNoData]);\n\n const style = useMemo((): CSSProperties => {\n if (fullHeight) {\n return {\n width: '100%',\n ...initStyle,\n flex: 1,\n justifyContent: 'flex-end',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n };\n } else {\n return { width: '100%', ...initStyle };\n }\n }, [initStyle, fullHeight]);\n\n const simpleBarStyle = useMemo((): CSSProperties => {\n if (fullHeight) {\n return {\n height: (containerHeight || 0) - (finalPagingHeight || 0) - 1,\n flex: 1,\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n marginBottom: finalPagingHeight || 0,\n };\n } else {\n return { height, minHeight, maxHeight, marginBottom: -1 };\n }\n }, [fullHeight, containerHeight, finalPagingHeight, height, minHeight, maxHeight]);\n\n const tableStyle = useMemo((): CSSProperties | undefined => {\n if (fullHeight && isNoData) {\n return { flex: 1, height: (containerHeight || 0) - finalPagingHeight - 2 };\n }\n }, [fullHeight, isNoData, containerHeight, finalPagingHeight]);\n\n const pagingStyle = useMemo((): CSSProperties => {\n const style = { padding: '13px 0', borderTop: '1px solid rgba(224, 224, 224, 1)' };\n if (fullHeight) {\n return { position: 'sticky', ...style };\n }\n return style;\n }, [fullHeight]);\n\n const tableTopHead = useMemo(\n () =>\n finalColumns && (\n <TableTopHead\n caption={caption}\n rows={topHeadRows}\n columns={finalColumns}\n defaultAlign={defaultAlign}\n onCheckChange={handleHeadCheckChange}\n />\n ),\n [caption, defaultAlign, finalColumns, handleHeadCheckChange, topHeadRows]\n );\n\n const tableBody = useMemo(\n () =>\n finalColumns && (\n <TableBody>\n {sortableItems ? (\n sortableItems.length > 0 ? (\n <SortableContext items={sortableItems} strategy={verticalListSortingStrategy}>\n {sortableItems.map((item, idx) => (\n <TableBodyRow\n key={item.id}\n className={classNames(\n !!showOddColor && 'odd-color',\n !!showEvenColor && 'even-color',\n onGetBodyRowClassName ? onGetBodyRowClassName(item, idx) : undefined\n )}\n style={onGetBodyRowStyle ? onGetBodyRowStyle(item, idx) : undefined}\n sx={onGetBodyRowSx ? onGetBodyRowSx(item, idx) : undefined}\n onGetColumnClassName={onGetBodyColumnClassName}\n onGetColumnStyle={onGetBodyColumnStyle}\n onGetColumnSx={onGetBodyColumnSx}\n hover\n id={item.id}\n index={idx}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n sortable={sortable}\n columns={finalColumns}\n item={item}\n onClick={onClick}\n onCheckChange={handleBodyCheckChange}\n />\n ))}\n </SortableContext>\n ) : (\n <StyledBodyRow>\n <TableCell colSpan={finalColumns.length} style={{ flex: 1 }}>\n {noData ? (\n noData\n ) : (\n <StyledNoDataDiv>\n <div>\n <Icon>error</Icon>\n </div>\n <div>검색된 정보가 없습니다.</div>\n </StyledNoDataDiv>\n )}\n </TableCell>\n </StyledBodyRow>\n )\n ) : undefined}\n </TableBody>\n ),\n [\n defaultAlign,\n defaultEllipsis,\n finalColumns,\n handleBodyCheckChange,\n noData,\n onClick,\n onGetBodyColumnClassName,\n onGetBodyColumnStyle,\n onGetBodyColumnSx,\n onGetBodyRowClassName,\n onGetBodyRowStyle,\n onGetBodyRowSx,\n showEvenColor,\n showOddColor,\n sortable,\n sortableItems,\n ]\n );\n\n const tableFooter = useMemo(\n () =>\n finalColumns &&\n !isNoData &&\n footer && (\n <TableFooter>\n <TableRow>\n {finalColumns.map((column, idx) => (\n <TableFooterCell key={idx} column={column} defaultAlign={defaultAlign} />\n ))}\n </TableRow>\n </TableFooter>\n ),\n [defaultAlign, finalColumns, footer, isNoData]\n );\n\n const tablePaging = useMemo(\n () =>\n finalColumns &&\n paging &&\n paging.total > 0 && (\n <Stack ref={fullHeight ? pagingHeightResizeDetector : undefined} alignItems={pagingAlign} style={pagingStyle}>\n <TablePagination\n className={pagination?.className}\n style={pagination?.style}\n sx={pagination?.sx}\n paging={paging}\n align={pagingAlign}\n onChange={handlePageChange}\n />\n </Stack>\n ),\n [\n finalColumns,\n fullHeight,\n handlePageChange,\n pagination?.className,\n pagination?.style,\n pagination?.sx,\n paging,\n pagingAlign,\n pagingHeightResizeDetector,\n pagingStyle,\n ]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return finalColumns ? (\n <TableContextProvider value={tableContextValue}>\n <Paper\n ref={fullHeight ? containerHeightDetector : undefined}\n className={classNames(\n 'Table',\n className,\n !!stickyHeader && 'sticky-header',\n !!fullHeight && 'full-height',\n !!showOddColor && 'odd-color',\n !!showEvenColor && 'even-color',\n !!sortable && 'sortable'\n )}\n variant='outlined'\n style={style}\n sx={sx}\n >\n <SimpleBar ref={simpleBarRef} style={simpleBarStyle}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={handleDragEnd}>\n <MuiTable stickyHeader={stickyHeader} sx={tableSx} style={tableStyle}>\n {tableTopHead}\n {tableBody}\n {tableFooter}\n </MuiTable>\n </DndContext>\n </SimpleBar>\n {tablePaging}\n </Paper>\n </TableContextProvider>\n ) : null;\n }\n);\n\nTable.displayName = 'Table';\nTable.defaultProps = TableDefaultProps;\n\nexport default Table;\n","import React from 'react';\nimport { TableProps, TableCommands, TableItem } from '../Table';\nimport { FormValueMap, SearchCommands, SearchProps } from '@pdg/react-form';\nimport { ReactNode } from 'react';\nimport { CommonSxProps } from '../@types';\n\nexport interface SearchTableData<T = TableItem> {\n items: TableProps<T>['items'];\n paging?: TableProps<T>['paging'];\n}\n\nexport interface SearchTableSearchProps extends Omit<SearchProps, 'ref' | 'color' | 'autoSubmit' | 'onSubmit'> {\n ref?: React.ForwardedRef<SearchCommands>;\n searchGroups?: ReactNode;\n}\n\nexport interface SearchTableTableProps<T = TableItem>\n extends Omit<TableProps<T>, 'ref' | 'items' | 'paging' | 'onPageChange'> {\n ref?: React.ForwardedRef<TableCommands<T>>;\n}\n\nexport interface SearchTableProps<T = TableItem> extends CommonSxProps {\n color?: SearchProps['color'];\n hash?: boolean;\n stickyHeader?: boolean;\n fullHeight?: boolean;\n search?: SearchTableSearchProps;\n table: SearchTableTableProps<T>;\n betweenSearchTableComponent?: ReactNode;\n onGetData?(data: FormValueMap): Promise<SearchTableData<T>>;\n onRequestHashChange?(hash: string): void;\n}\n\nexport const SearchTableDefaultProps = {};\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface SearchTableCommands<T = TableItem> {\n reload(page?: number): void;\n getLastLoadData(): FormValueMap;\n getSearch(): SearchCommands | undefined;\n getTable(): TableCommands<T> | undefined;\n}\n","import React, { CSSProperties, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Grid } from '@mui/material';\nimport {\n SearchTableProps,\n SearchTableDefaultProps,\n SearchTableSearchProps,\n SearchTableCommands,\n SearchTableData,\n SearchTableTableProps,\n} from './SearchTable.types';\nimport {\n FormCheckValueItemCommands,\n FormDateRangePickerCommands,\n FormDateValueItemCommands,\n FormHidden,\n FormMonthPickerCommands,\n FormMonthRangePickerCommands,\n FormRangeValueItemNameCommands,\n FormValue,\n FormValueMap,\n FormYearRangePickerCommands,\n Search,\n SearchCommands,\n SearchGroup,\n} from '@pdg/react-form';\nimport { Table, TableCommands, TableItem } from '../Table';\nimport { equal, notEmpty } from '../@util';\nimport dayjs from 'dayjs';\n\ninterface HashValueMap {\n [key: string]: string;\n}\n\ninterface SearchInfo {\n ref?: SearchTableSearchProps['ref'];\n searchGroups?: SearchTableSearchProps['searchGroups'];\n props?: Omit<SearchTableSearchProps, 'ref' | 'searchGroups'>;\n}\n\ninterface TableInfo {\n ref?: SearchTableTableProps['ref'];\n props?: Omit<SearchTableTableProps, 'ref'>;\n}\n\ninterface WithForwardRefType<T = TableItem> extends React.FC<SearchTableProps<T>> {\n <T = TableItem>(\n props: SearchTableProps<T> & React.RefAttributes<SearchTableCommands<T>>\n ): ReturnType<React.FC<SearchTableProps<T>>>;\n}\n\nconst SearchTable: WithForwardRefType = React.forwardRef<SearchTableCommands, SearchTableProps>(\n (\n {\n color,\n hash,\n stickyHeader,\n fullHeight,\n search,\n table,\n betweenSearchTableComponent,\n onGetData,\n onRequestHashChange,\n // ---------------------------------------------------------------------------------------------------------------\n className,\n style: initStyle,\n sx,\n },\n ref\n ) => {\n const searchRef = useRef<SearchCommands>();\n const tableRef = useRef<TableCommands>();\n\n //------------------------------------------------------------------------------------------------------------------\n\n const getSearchInfo = useCallback((search: SearchTableProps['search']) => {\n const searchInfo: SearchInfo = {};\n if (search) {\n const { ref, searchGroups, ...props } = search;\n searchInfo.ref = ref;\n searchInfo.searchGroups = searchGroups;\n searchInfo.props = props;\n }\n return searchInfo;\n }, []);\n\n const getTableInfo = useCallback((table: SearchTableProps['table']) => {\n const tableInfo: TableInfo = {};\n if (table) {\n const { ref, ...props } = table;\n tableInfo.ref = ref;\n tableInfo.props = props;\n }\n return tableInfo;\n }, []);\n\n // Ref -------------------------------------------------------------------------------------------------------------\n\n const lastGetDataDataRef = useRef<FormValueMap>({});\n\n // State -----------------------------------------------------------------------------------------------------------\n\n const [isFirstSearchSubmit, setIsFirstSearchSubmit] = useState(true);\n\n const [tableData, setTableData] = useState<SearchTableData>();\n\n // searchInfo ------------------------------------------------------------------------------------------------------\n\n const searchInfoFirstUseEffect = useRef(true);\n const [searchInfo, setSearchInfo] = useState<SearchInfo>(() => getSearchInfo(search));\n useEffect(() => {\n if (searchInfoFirstUseEffect.current) {\n searchInfoFirstUseEffect.current = false;\n } else {\n setSearchInfo(getSearchInfo(search));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [search]);\n\n // tableInfo -------------------------------------------------------------------------------------------------------\n\n const tableInfoFirstUseEffect = useRef(true);\n const [tableInfo, setTableInfo] = useState<TableInfo>(() => getTableInfo(table));\n useEffect(() => {\n if (tableInfoFirstUseEffect.current) {\n tableInfoFirstUseEffect.current = false;\n } else {\n setTableInfo(getTableInfo(table));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [table]);\n\n // Function - getData ----------------------------------------------------------------------------------------------\n\n const getData = useCallback(\n (data: FormValueMap) => {\n lastGetDataDataRef.current = data;\n\n if (onGetData) {\n onGetData(data).then(setTableData);\n }\n },\n [onGetData]\n );\n\n // Function ----------------------------------------------------------------------------------------------------------\n\n const deHash = useCallback((): HashValueMap => {\n const values: HashValueMap = {};\n const hash = window.location.hash.substring(1);\n hash.replace(/([^=&]+)=([^&]*)/g, (substring, key, value) => {\n values[decodeURIComponent(key)] = decodeURIComponent(value);\n return substring;\n });\n return values;\n }, []);\n\n const hashToSearchValue = useCallback((): FormValueMap | undefined => {\n const commands = searchRef.current;\n if (commands) {\n commands.resetAll();\n\n const hashValues = deHash();\n Object.keys(hashValues).forEach((name) => {\n const value: FormValue = hashValues[name];\n if (name === 'page') {\n commands.setValue(name, Number(value) || 1);\n } else {\n const itemCommands = commands.getItem(name);\n if (itemCommands) {\n switch (itemCommands.getType()) {\n case 'FormCheckbox':\n if (notEmpty(value)) {\n const checkCommands = itemCommands as FormCheckValueItemCommands<any>;\n if (value.toString() === itemCommands.getValue()?.toString()) {\n checkCommands.setChecked(true);\n } else if (value.toString() === checkCommands.getUncheckedValue()?.toString()) {\n checkCommands.setChecked(false);\n }\n }\n break;\n case 'FormDatePicker':\n case 'FormDateTimePicker':\n case 'FormTimePicker':\n {\n if (notEmpty(value)) {\n const dateCommands = itemCommands as FormDateValueItemCommands;\n const format = dateCommands.getFormValueFormat();\n const itemValue = dayjs(value, format);\n itemCommands.setValue(itemValue.isValid() ? itemValue : null);\n } else {\n itemCommands.setValue(null);\n }\n }\n break;\n case 'FormDateRangePicker':\n {\n const dateRangePickerCommands = itemCommands as FormDateRangePickerCommands;\n const fromName = dateRangePickerCommands.getFormValueFromName();\n const toName = dateRangePickerCommands.getFormValueToName();\n const format = dateRangePickerCommands.getFormValueFormat();\n\n if (name === fromName) {\n if (notEmpty(value)) {\n const startValue = dayjs(value, format);\n dateRangePickerCommands.setFromValue(startValue.isValid() ? startValue : null);\n } else {\n dateRangePickerCommands.setFromValue(null);\n }\n } else if (name === toName) {\n if (notEmpty(value)) {\n const endValue = dayjs(value, format);\n dateRangePickerCommands.setToValue(endValue.isValid() ? endValue : null);\n } else {\n dateRangePickerCommands.setToValue(null);\n }\n }\n }\n break;\n case 'FormYearRangePicker':\n {\n const dateRangePickerCommands = itemCommands as FormYearRangePickerCommands;\n const fromName = dateRangePickerCommands.getFormValueFromName();\n const toName = dateRangePickerCommands.getFormValueToName();\n\n if (name === fromName) {\n dateRangePickerCommands.setFromValue(notEmpty(value) ? Number(value) : null);\n } else if (name === toName) {\n dateRangePickerCommands.setToValue(notEmpty(value) ? Number(value) : null);\n }\n }\n break;\n case 'FormMonthPicker':\n {\n const monthCommands = itemCommands as FormMonthPickerCommands;\n const yearName = monthCommands.getFormValueYearName();\n const monthName = monthCommands.getFormValueMonthName();\n\n if (name === yearName) {\n monthCommands.setYear(notEmpty(value) ? Number(value) : null);\n } else if (name === monthName) {\n monthCommands.setMonth(notEmpty(value) ? Number(value) : null);\n }\n }\n break;\n case 'FormMonthRangePicker':\n {\n const monthRangeCommands = itemCommands as FormMonthRangePickerCommands;\n const fromYearName = monthRangeCommands.getFormValueFromYearName();\n const fromMonthName = monthRangeCommands.getFormValueFromMonthName();\n const toYearName = monthRangeCommands.getFormValueToYearName();\n const toMonthName = monthRangeCommands.getFormValueToMonthName();\n\n if (name === fromYearName) {\n monthRangeCommands.setFromYear(notEmpty(value) ? Number(value) : null);\n } else if (name === fromMonthName) {\n monthRangeCommands.setFromMonth(notEmpty(value) ? Number(value) : null);\n } else if (name === toYearName) {\n monthRangeCommands.setToYear(notEmpty(value) ? Number(value) : null);\n } else if (name === toMonthName) {\n monthRangeCommands.setToMonth(notEmpty(value) ? Number(value) : null);\n }\n }\n break;\n default:\n commands.setValue(name, value);\n break;\n }\n }\n }\n });\n return commands.getAllFormValue();\n }\n }, [searchRef, deHash]);\n\n // Commands --------------------------------------------------------------------------------------------------------\n\n useLayoutEffect(() => {\n if (ref) {\n const commands: SearchTableCommands = {\n reload: (page?: number) => {\n if (page != null) {\n tableRef.current?.scrollToTop();\n }\n\n let finalData: FormValueMap;\n if (lastGetDataDataRef.current) {\n finalData = { ...lastGetDataDataRef.current };\n if (page != null) {\n searchRef.current?.setValue('page', page);\n\n finalData.page = page;\n }\n } else {\n if (hash) {\n hashToSearchValue();\n }\n\n if (page != null) {\n searchRef.current?.setValue('page', page);\n }\n\n finalData = searchRef.current?.getAllFormValue() || {};\n }\n\n getData(finalData);\n },\n getLastLoadData: () => lastGetDataDataRef.current || {},\n getSearch: () => searchRef.current,\n getTable: () => tableRef.current,\n };\n\n if (typeof ref === 'function') {\n ref(commands);\n } else {\n ref.current = commands;\n }\n }\n }, [ref, hash, lastGetDataDataRef, searchRef, tableRef, getData, hashToSearchValue]);\n\n //--------------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (hash) {\n const data = hashToSearchValue();\n if (data) getData(data);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [window.location.hash]);\n\n //--------------------------------------------------------------------------------------------------------------------\n\n const hashChange = useCallback(\n (params: FormValueMap) => {\n if (onRequestHashChange) {\n const hashes: string[] = [];\n Object.keys(params).forEach((name) => {\n const value = params[name];\n if (name === 'page') {\n if (Number(value) > 1) {\n hashes.push(`${name}=${value}`);\n }\n } else {\n if (searchRef.current) {\n const itemCommands = searchRef.current.getItem(name);\n\n if (itemCommands) {\n let resetValue: FormValue | null = null;\n\n switch (itemCommands.getType()) {\n case 'FormDateRangePicker':\n case 'FormYearRangePicker':\n {\n const commands = itemCommands as FormRangeValueItemNameCommands;\n const itemName = itemCommands.getName();\n const fromName = commands.getFormValueFromName();\n const fromSuffix = commands.getFormValueFromNameSuffix();\n const toName = commands.getFormValueToName();\n const toSuffix = commands.getFormValueToNameSuffix();\n\n if (name === fromName) {\n resetValue = searchRef.current.getFormReset(itemName, fromSuffix);\n } else if (name === toName) {\n resetValue = searchRef.current.getFormReset(itemName, toSuffix);\n }\n }\n break;\n case 'FormMonthPicker':\n {\n const commands = itemCommands as FormMonthPickerCommands;\n const itemName = commands.getName();\n const yearName = commands.getFormValueYearName();\n const yearSuffix = commands.getFormValueYearNameSuffix();\n const monthName = commands.getFormValueMonthName();\n const monthSuffix = commands.getFormValueMonthNameSuffix();\n\n if (name === yearName) {\n resetValue = searchRef.current.getFormReset(itemName, yearSuffix);\n } else if (name === monthName) {\n resetValue = searchRef.current.getFormReset(itemName, monthSuffix);\n }\n }\n break;\n case 'FormMonthRangePicker':\n {\n const commands = itemCommands as FormMonthRangePickerCommands;\n const itemName = commands.getName();\n const fromYearName = commands.getFormValueFromYearName();\n const fromYearSuffix = commands.getFormValueFromYearNameSuffix();\n const fromMonthName = commands.getFormValueFromMonthName();\n const fromMonthSuffix = commands.getFormValueFromMonthNameSuffix();\n const toYearName = commands.getFormValueToYearName();\n const toYearSuffix = commands.getFormValueToYearNameSuffix();\n const toMonthName = commands.getFormValueToMonthName();\n const toMonthSuffix = commands.getFormValueToMonthNameSuffix();\n\n if (name === fromYearName) {\n resetValue = searchRef.current.getFormReset(itemName, fromYearSuffix);\n } else if (name === fromMonthName) {\n resetValue = searchRef.current.getFormReset(itemName, fromMonthSuffix);\n } else if (name === toYearName) {\n resetValue = searchRef.current.getFormReset(itemName, toYearSuffix);\n } else if (name === toMonthName) {\n resetValue = searchRef.current.getFormReset(itemName, toMonthSuffix);\n }\n }\n break;\n default:\n resetValue = searchRef.current.getFormReset(name);\n break;\n }\n\n if (resetValue != null && !equal(resetValue, value) && typeof value !== 'object') {\n hashes.push(`${name}=${encodeURIComponent(value)}`);\n }\n }\n }\n }\n });\n const finalHash = hashes.join('&');\n if (window.location.hash.substring(1) === finalHash) {\n getData(params);\n } else {\n onRequestHashChange(hashes.join('&'));\n }\n }\n },\n [onRequestHashChange, getData]\n );\n\n //------------------------------------------------------------------------------------------------------------------\n\n const handlePageChange = useCallback(\n (page: number) => {\n searchRef.current?.setValue('page', page);\n\n let finalData: FormValueMap | undefined;\n if (lastGetDataDataRef.current) {\n finalData = { ...lastGetDataDataRef.current };\n finalData.page = page;\n } else {\n finalData = searchRef.current?.getAllFormValue();\n }\n\n if (hash) {\n hashChange(finalData || {});\n } else {\n getData(finalData || {});\n }\n },\n [searchRef, hash, hashChange, getData]\n );\n\n const handleSearchSubmit = useCallback(\n (data: FormValueMap) => {\n tableRef.current?.scrollToTop();\n\n if (isFirstSearchSubmit) {\n setIsFirstSearchSubmit(false);\n if (!hash) {\n getData(data);\n }\n } else {\n searchRef.current?.setValue('page', 1);\n const finalData: FormValueMap = { ...data, page: 1 };\n if (hash) {\n hashChange(finalData);\n } else {\n getData(finalData);\n }\n }\n },\n [searchRef, hash, hashChange, getData, isFirstSearchSubmit]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const style = useMemo((): CSSProperties | undefined => {\n if (fullHeight) {\n return { ...initStyle, flex: 1, display: 'flex' };\n } else {\n return initStyle;\n }\n }, [initStyle, fullHeight]);\n\n const tableContainerStyle = useMemo((): CSSProperties | undefined => {\n if (fullHeight) {\n return { flex: 1, display: 'flex', flexDirection: 'column' };\n }\n }, [fullHeight]);\n\n //------------------------------------------------------------------------------------------------------------------\n\n return (\n <Grid\n container\n direction='column'\n spacing={1}\n className={classNames('SearchTable', className)}\n style={style}\n sx={sx}\n >\n <Grid item sx={{ display: searchInfo.searchGroups ? undefined : 'none' }}>\n <Search\n color={color}\n {...searchInfo.props}\n ref={(commands: SearchCommands) => {\n if (searchInfo.ref) {\n if (typeof searchInfo.ref === 'function') {\n searchInfo.ref(commands);\n } else {\n searchInfo.ref.current = commands;\n }\n }\n searchRef.current = commands || undefined;\n }}\n autoSubmit\n onSubmit={handleSearchSubmit}\n >\n <SearchGroup hidden>\n <FormHidden name='page' value={1} />\n </SearchGroup>\n {searchInfo.searchGroups}\n </Search>\n </Grid>\n {betweenSearchTableComponent && <Grid item>{betweenSearchTableComponent}</Grid>}\n <Grid item style={tableContainerStyle}>\n <Table\n {...tableInfo.props}\n stickyHeader={stickyHeader || tableInfo.props?.stickyHeader}\n fullHeight={fullHeight || tableInfo.props?.fullHeight}\n ref={(commands: TableCommands) => {\n if (tableInfo.ref) {\n if (typeof tableInfo.ref === 'function') {\n tableInfo.ref(commands);\n } else {\n tableInfo.ref.current = commands;\n }\n }\n tableRef.current = commands || undefined;\n }}\n items={tableData?.items}\n paging={tableData?.paging}\n onPageChange={handlePageChange}\n />\n </Grid>\n </Grid>\n );\n }\n);\n\nSearchTable.displayName = 'SearchTable';\nSearchTable.defaultProps = SearchTableDefaultProps;\n\nexport default SearchTable;\n","import { ButtonProps } from '@mui/material';\n\nexport interface TableButtonProps extends Omit<ButtonProps, 'size' | 'startIcon' | 'endIcon'> {\n icon?: string;\n startIcon?: string;\n endIcon?: string;\n}\n\nexport const TableButtonDefaultProps: Pick<TableButtonProps, 'variant' | 'color'> = {\n variant: 'outlined',\n color: 'primary',\n};\n","import { IconProps } from '@mui/material';\n\nexport interface TableIconProps extends IconProps {\n children: string;\n}\n\nexport const TableIconDefaultProps = {};\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { Icon } from '@mui/material';\nimport { TableIconProps as Props, TableIconDefaultProps } from './TableIcon.types';\n\nconst TableIcon = React.forwardRef<HTMLAnchorElement, Props>(({ className, children: initChildren, ...props }, ref) => {\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const children = useMemo(\n () => initChildren.replace(/[A-Z]/g, (letter, idx) => `${idx > 0 ? '_' : ''}${letter.toLowerCase()}`),\n [initChildren]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <Icon ref={ref} {...props} className={classNames('TableIcon', className)}>\n {children}\n </Icon>\n );\n});\n\nTableIcon.displayName = 'TableIcon';\nTableIcon.defaultProps = TableIconDefaultProps;\n\nexport default TableIcon;\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { Button } from '@mui/material';\nimport { TableButtonProps as Props, TableButtonDefaultProps } from './TableButton.types';\nimport TableIcon from '../TableIcon';\n\nconst TableButton = React.forwardRef<HTMLButtonElement, Props>(\n ({ children, className, sx: initSx, color, icon, startIcon, endIcon, onClick, ...props }, ref) => {\n const sx = useMemo(\n () => ({ minWidth: 0, px: !startIcon && !endIcon ? 0.7 : 1.7, ...initSx }),\n [endIcon, initSx, startIcon]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <Button\n ref={ref}\n className={classNames(className, 'TableButton')}\n type='button'\n size='small'\n sx={sx}\n color={color}\n onClick={onClick}\n startIcon={\n startIcon ? (\n <TableIcon fontSize='small' sx={{ mr: -0.5 }}>\n {startIcon}\n </TableIcon>\n ) : undefined\n }\n endIcon={\n endIcon ? (\n <TableIcon fontSize='small' sx={{ ml: -0.5 }}>\n {endIcon}\n </TableIcon>\n ) : undefined\n }\n {...props}\n >\n {icon && (\n <TableIcon fontSize='small' color={color}>\n {icon}\n </TableIcon>\n )}\n {children}\n </Button>\n );\n }\n);\n\nTableButton.displayName = 'TableButton';\nTableButton.defaultProps = TableButtonDefaultProps;\n\nexport default TableButton;\n","import { ButtonProps } from '@mui/material';\nimport { ReactElement } from 'react';\nimport { PopperPlacementType } from '@mui/base/Popper/Popper.types';\n\nexport interface TableMenuButtonProps extends Omit<ButtonProps, 'size' | 'startIcon' | 'endIcon' | 'onClick'> {\n icon?: string;\n startIcon?: string;\n endIcon?: string;\n placement?: PopperPlacementType;\n inModal?: boolean;\n zIndex?: number;\n menuList: ReactElement;\n}\n\nexport const TableMenuButtonDefaultProps: Pick<TableMenuButtonProps, 'variant' | 'color' | 'placement'> = {\n variant: 'outlined',\n color: 'primary',\n placement: 'bottom',\n};\n","import React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Button, ClickAwayListener, Grow, Paper, Popper } from '@mui/material';\nimport { TableMenuButtonProps as Props, TableMenuButtonDefaultProps } from './TableMenuButton.types';\nimport TableIcon from '../TableIcon';\nimport useTableState from '../TableContext/useTableState';\n\nconst TableMenuButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n className,\n sx: initSx,\n color,\n icon,\n startIcon,\n endIcon,\n placement,\n inModal,\n zIndex,\n menuList,\n ...props\n },\n ref\n ) => {\n // ID ----------------------------------------------------------------------------------------------------------------\n\n const buttonId = useId();\n const menuId = useId();\n\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen, openMenuId, setMenuOpen } = useTableState();\n\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const anchorRef = useRef<HTMLButtonElement | null>();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [open, setOpen] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (open && menuOpen && openMenuId !== menuId) {\n setOpen(false);\n }\n }, [menuId, menuOpen, open, openMenuId]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const sx = useMemo(\n () => ({ minWidth: 0, px: !startIcon && !endIcon ? 0.7 : 1.7, ...initSx }),\n [endIcon, initSx, startIcon]\n );\n\n // Event Handler -----------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(() => {\n setOpen((old) => !old);\n if (!open) {\n setMenuOpen(true, menuId);\n } else {\n setMenuOpen(false, menuId);\n }\n }, [menuId, open, setMenuOpen]);\n\n const handleClose = useCallback(() => {\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n }, [menuId, open, setMenuOpen]);\n\n const handleListKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n } else if (event.key === 'Escape') {\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n }\n },\n [menuId, open, setMenuOpen]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const finalMenuList = useMemo(() => {\n return React.cloneElement(menuList, {\n autoFocusItem: open,\n id: menuId,\n 'aria-labelledby': buttonId,\n onKeyDown: handleListKeyDown,\n onClick: handleClose,\n });\n }, [buttonId, handleClose, handleListKeyDown, menuId, menuList, open]);\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <span>\n <Button\n ref={(r) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(r);\n } else {\n ref.current = r;\n }\n }\n anchorRef.current = r;\n }}\n id={buttonId}\n aria-controls={open ? menuId : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n className={classNames(className, 'TableMenuButton')}\n type='button'\n size='small'\n sx={sx}\n color={color}\n onClick={handleClick}\n startIcon={\n startIcon ? (\n <TableIcon fontSize='small' sx={{ mr: -0.5 }}>\n {startIcon}\n </TableIcon>\n ) : undefined\n }\n endIcon={\n endIcon ? (\n <TableIcon fontSize='small' sx={{ ml: -0.5 }}>\n {endIcon}\n </TableIcon>\n ) : undefined\n }\n {...props}\n >\n {icon && (\n <TableIcon fontSize='small' color={color}>\n {icon}\n </TableIcon>\n )}\n {children}\n </Button>\n <Popper\n className='TableMenuButton-Popper'\n open={open}\n anchorEl={anchorRef.current}\n role={undefined}\n placement={placement}\n transition\n style={{ zIndex: inModal ? (zIndex === undefined ? 1301 : zIndex) : zIndex }}\n >\n {({ TransitionProps, placement }) => {\n const placements = placement.split('-');\n let transformOrigin = '';\n if (placements[0] === 'left') {\n transformOrigin = 'right';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' top';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' bottom';\n // }\n // }\n } else if (placements[0] === 'right') {\n transformOrigin = 'left';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' top';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' bottom';\n // }\n // }\n } else if (placements[0] === 'top') {\n transformOrigin = 'bottom';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' left';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' right';\n // }\n // }\n } else if (placements[0] === 'bottom') {\n transformOrigin = 'top';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' left';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' right';\n // }\n // }\n } else {\n transformOrigin = 'top';\n }\n\n return (\n <Grow\n {...TransitionProps}\n style={{\n transformOrigin,\n }}\n >\n <Paper>\n <ClickAwayListener onClickAway={handleClose}>{finalMenuList}</ClickAwayListener>\n </Paper>\n </Grow>\n );\n }}\n </Popper>\n </span>\n );\n }\n);\n\nTableMenuButton.displayName = 'TableMenuButton';\nTableMenuButton.defaultProps = TableMenuButtonDefaultProps;\n\nexport default TableMenuButton;\n","import { ReactNode } from 'react';\nimport { BoxProps, GridProps, IconButtonProps, TypographyProps } from '@mui/material';\nimport { CommonSxProps } from '../@types';\n\nexport interface InfoTableInfo {\n [key: string]: any;\n}\n\nexport interface InfoTableItem<T = InfoTableInfo> {\n label: ReactNode;\n name?: keyof T;\n ellipsis?: boolean;\n className?: string;\n style?: CommonSxProps['style'];\n sx?: BoxProps['sx'];\n labelClassName?: string;\n labelColor?: TypographyProps['color'];\n labelStyle?: CommonSxProps['style'];\n labelSx?: BoxProps['sx'];\n valueClassName?: string;\n valueStyle?: CommonSxProps['style'];\n valueSx?: CommonSxProps['sx'];\n xs?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n clipboard?: boolean;\n clipboardIcon?: string;\n clipboardText?: string;\n clipboardProps?: Omit<IconButtonProps, 'children'>;\n onRender?(info: T): ReactNode;\n onRenderEmpty?(info: T): ReactNode;\n}\n\nexport type InfoTableItems<T = InfoTableInfo> = (InfoTableItem<T> | false | undefined | null)[];\n\nexport type InfoTableCols = 1 | 2 | 3 | 4 | 6 | 12;\n\nexport interface InfoTableProps<T = InfoTableInfo> {\n cols:\n | InfoTableCols\n | {\n xs?: InfoTableCols;\n sm?: InfoTableCols;\n md?: InfoTableCols;\n lg?: InfoTableCols;\n xl?: InfoTableCols;\n };\n spacing?: GridProps['spacing'];\n columnSpacing?: GridProps['spacing'];\n rowSpacing?: GridProps['spacing'];\n className?: string;\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n labelClassName?: string;\n labelColor?: TypographyProps['color'];\n labelStyle?: CommonSxProps['style'];\n labelSx?: BoxProps['sx'];\n valueClassName?: string;\n valueStyle?: CommonSxProps['style'];\n valueSx?: CommonSxProps['sx'];\n ellipsis?: boolean;\n valueUnderline?: boolean;\n info: T;\n items: InfoTableItems<T>;\n onCopyToClipboard?(item: InfoTableItem<T>, text: string): void;\n}\n\nexport const InfoTableDefaultProps: Pick<InfoTableProps, 'spacing' | 'columnSpacing' | 'rowSpacing' | 'labelColor'> = {\n spacing: 2,\n rowSpacing: 3,\n labelColor: 'primary',\n};\n","import { Box, IconButton, styled } from '@mui/material';\n\nexport const Label = styled(Box)`\n font-size: 12px;\n font-weight: bold;\n`;\n\nexport const ValueWrap = styled(Box)`\n margin-top: 3px;\n position: relative;\n display: flex;\n flex-direction: row;\n`;\n\nexport const Value = styled('div')`\n flex: 1;\n`;\n\nexport const ValueEllipsis = styled('div')`\n flex: 1;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nexport const ValueClipboard = styled('div')``;\n\nexport const ClipboardIconButton = styled(IconButton)`\n margin-top: -10px;\n margin-bottom: -10px;\n`;\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","import React, { ReactNode, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { InfoTableProps as Props, InfoTableDefaultProps, InfoTableInfo } from './InfoTable.types';\nimport { ClipboardIconButton, Label, Value, ValueClipboard, ValueEllipsis, ValueWrap } from './InfoTable.style';\nimport { Grid } from '@mui/material';\nimport { combineSx, empty, notEmpty, typographyColorToSxColor } from '../@util';\nimport TableIcon from '../TableIcon';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\ninterface WithType<T = InfoTableInfo> extends React.FC<Props<T>> {\n <T = InfoTableInfo>(props: Props<T>): ReturnType<React.FC<Props<T>>>;\n}\n\nconst InfoTable: WithType = ({\n cols,\n spacing,\n columnSpacing,\n rowSpacing,\n className,\n style,\n sx,\n labelClassName,\n labelColor,\n labelStyle,\n labelSx,\n valueClassName,\n valueStyle,\n valueSx,\n ellipsis,\n valueUnderline,\n info,\n items,\n onCopyToClipboard,\n}: Props) => {\n const sizeProps = useMemo(() => {\n const value: { xs?: number; sm?: number; md?: number; lg?: number; xl?: number } = {};\n if (typeof cols === 'number') {\n value.xs = 12 / cols;\n } else {\n if (cols.xs) value.xs = 12 / cols.xs;\n if (cols.sm) value.sm = 12 / cols.sm;\n if (cols.md) value.md = 12 / cols.md;\n if (cols.lg) value.lg = 12 / cols.lg;\n if (cols.xl) value.xl = 12 / cols.xl;\n }\n return value;\n }, [cols]);\n\n return (\n <Grid\n container\n spacing={spacing}\n columnSpacing={columnSpacing}\n rowSpacing={rowSpacing}\n className={classNames('InfoTable', className)}\n style={style}\n sx={sx}\n >\n {items.map((item, idx) => {\n if (item) {\n const finalLabelColor = typographyColorToSxColor(item.labelColor || labelColor);\n const finalLabelSx = combineSx(labelSx, item.labelSx, !!finalLabelColor && { color: finalLabelColor });\n const finalValueSx = combineSx(valueSx, item.valueSx);\n const valueUnderlineStyle = valueUnderline\n ? { borderBottom: '1px solid #efefef', paddingBottom: 5 }\n : undefined;\n\n const finalSizeProps = { ...sizeProps };\n if (item.xs) finalSizeProps.xs = item.xs;\n if (item.sm) finalSizeProps.sm = item.sm;\n if (item.md) finalSizeProps.md = item.md;\n if (item.lg) finalSizeProps.lg = item.lg;\n if (item.xl) finalSizeProps.xl = item.xl;\n\n let data: ReactNode | string | number = item.name !== undefined ? info[item.name] : undefined;\n if (item.onRender) data = item.onRender(info);\n if (empty(data)) data = item.onRenderEmpty ? item.onRenderEmpty(info) : <>&nbsp;</>;\n\n const copyToClipboardText =\n item.clipboardText || (typeof data === 'string' ? data : typeof data === 'number' ? data.toString() : '');\n\n return (\n <Grid key={idx} item {...finalSizeProps} className={item.className} style={item.style} sx={item.sx}>\n <Label\n className={classNames(labelClassName, item.labelClassName)}\n style={{ ...item.labelStyle, ...labelStyle }}\n sx={finalLabelSx}\n >\n {item.label}\n </Label>\n <ValueWrap\n className={classNames(valueClassName, item.valueClassName)}\n style={{ ...valueStyle, ...item.valueStyle, ...valueUnderlineStyle }}\n sx={finalValueSx}\n >\n {item.ellipsis || ellipsis ? <ValueEllipsis>{data}</ValueEllipsis> : <Value>{data}</Value>}\n {item.clipboard && notEmpty(copyToClipboardText) && (\n <ValueClipboard>\n <CopyToClipboard\n text={copyToClipboardText}\n onCopy={onCopyToClipboard ? () => onCopyToClipboard(item, copyToClipboardText) : undefined}\n >\n <ClipboardIconButton size='small' color='primary' {...item.clipboardProps}>\n <TableIcon>{item.clipboardIcon || 'ContentPaste'}</TableIcon>\n </ClipboardIconButton>\n </CopyToClipboard>\n </ValueClipboard>\n )}\n </ValueWrap>\n </Grid>\n );\n }\n })}\n </Grid>\n );\n};\n\nInfoTable.displayName = 'InfoTable';\nInfoTable.defaultProps = InfoTableDefaultProps;\n\nexport default InfoTable;\n"],"names":["freeGlobal","freeSelf","root","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","reWhitespace","trimmedEndIndex","reTrimStart","baseTrim","isObject","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","now","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","throttle","__assign","canUseDOM","__rest","global","require$$0","require$$1","require$$2","React","StyledBodyRow","templateObject_1","uuid","MuiTable","CopyToClipboard"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,38,51,52,54,55,56,57,73,74,75,76]}
1
+ {"version":3,"file":"index.esm.js","sources":["../node_modules/classnames/index.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/_trimmedEndIndex.js","../node_modules/lodash-es/_baseTrim.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/toNumber.js","../node_modules/lodash-es/now.js","../node_modules/lodash-es/debounce.js","../node_modules/lodash-es/throttle.js","../node_modules/can-use-dom/index.js","../node_modules/simplebar-core/dist/index.mjs","../node_modules/simplebar-react/dist/index.mjs","../node_modules/lodash/isObject.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/now.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/debounce.js","../node_modules/lodash/throttle.js","../node_modules/react-resize-detector/build/index.esm.js","../src/Table/Table.types.ts","../src/Table/Table.styles.ts","../src/TableBodyRow/TableBodyRow.types.ts","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../src/@util/compare.ts","../src/@util/number.ts","../src/@util/table.ts","../src/@util/tel.ts","../src/TableContext/TableContext.types.ts","../src/TableContext/TableContext.ts","../src/TableContext/useTableState.ts","../src/TableCommonCell/TableCommonCell.tsx","../src/TableBodyCell/TableBodyCell.tsx","../src/TableBodyRow/TableBodyRow.tsx","../src/TableFooterCell/TableFooterCell.tsx","../src/TablePagination/TablePagination.tsx","../node_modules/@pdg/react-hook/dist/index.esm.js","../node_modules/style-inject/dist/style-inject.es.js","../src/TableContextProvider/TableContextProvider.tsx","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/TableTopHead/TableTopHead.types.ts","../src/TableTopHead/TableTopHead.style.ts","../src/TableHeadCell/TableHeadCell.tsx","../src/TableTopHead/TableTopHead.tsx","../src/Table/Table.tsx","../src/SearchTable/SearchTable.types.ts","../src/SearchTable/SearchTable.tsx","../src/TableButton/TableButton.types.ts","../src/TableIcon/TableIcon.types.ts","../src/TableIcon/TableIcon.tsx","../src/TableButton/TableButton.tsx","../src/TableMenuButton/TableMenuButton.types.ts","../src/TableMenuButton/TableMenuButton.tsx","../src/InfoTable/InfoTable.types.ts","../src/InfoTable/InfoTable.style.ts","../node_modules/toggle-selection/index.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../src/InfoTable/InfoTable.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","import debounce from './debounce.js';\nimport isObject from './isObject.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport default throttle;\n","var canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nmodule.exports = canUseDOM;","/**\n * simplebar-core - v1.2.4\n * Scrollbars, simpler.\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat from a fork by Jonathan Nicol\n * Under MIT License\n */\n\nimport { throttle, debounce } from 'lodash-es';\nimport canUseDOM from 'can-use-dom';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar cachedScrollbarWidth = null;\nvar cachedDevicePixelRatio = null;\nif (canUseDOM) {\n window.addEventListener('resize', function () {\n if (cachedDevicePixelRatio !== window.devicePixelRatio) {\n cachedDevicePixelRatio = window.devicePixelRatio;\n cachedScrollbarWidth = null;\n }\n });\n}\nfunction scrollbarWidth() {\n if (cachedScrollbarWidth === null) {\n if (typeof document === 'undefined') {\n cachedScrollbarWidth = 0;\n return cachedScrollbarWidth;\n }\n var body = document.body;\n var box = document.createElement('div');\n box.classList.add('simplebar-hide-scrollbar');\n body.appendChild(box);\n var width = box.getBoundingClientRect().right;\n body.removeChild(box);\n cachedScrollbarWidth = width;\n }\n return cachedScrollbarWidth;\n}\n\nfunction getElementWindow$1(element) {\n if (!element ||\n !element.ownerDocument ||\n !element.ownerDocument.defaultView) {\n return window;\n }\n return element.ownerDocument.defaultView;\n}\nfunction getElementDocument$1(element) {\n if (!element || !element.ownerDocument) {\n return document;\n }\n return element.ownerDocument;\n}\n// Helper function to retrieve options from element attributes\nvar getOptions$1 = function (obj) {\n var initialObj = {};\n var options = Array.prototype.reduce.call(obj, function (acc, attribute) {\n var option = attribute.name.match(/data-simplebar-(.+)/);\n if (option) {\n var key = option[1].replace(/\\W+(.)/g, function (_, chr) { return chr.toUpperCase(); });\n switch (attribute.value) {\n case 'true':\n acc[key] = true;\n break;\n case 'false':\n acc[key] = false;\n break;\n case undefined:\n acc[key] = true;\n break;\n default:\n acc[key] = attribute.value;\n }\n }\n return acc;\n }, initialObj);\n return options;\n};\nfunction addClasses$1(el, classes) {\n var _a;\n if (!el)\n return;\n (_a = el.classList).add.apply(_a, classes.split(' '));\n}\nfunction removeClasses$1(el, classes) {\n if (!el)\n return;\n classes.split(' ').forEach(function (className) {\n el.classList.remove(className);\n });\n}\nfunction classNamesToQuery$1(classNames) {\n return \".\".concat(classNames.split(' ').join('.'));\n}\n\nvar helpers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getElementWindow: getElementWindow$1,\n getElementDocument: getElementDocument$1,\n getOptions: getOptions$1,\n addClasses: addClasses$1,\n removeClasses: removeClasses$1,\n classNamesToQuery: classNamesToQuery$1\n});\n\nvar getElementWindow = getElementWindow$1, getElementDocument = getElementDocument$1, getOptions = getOptions$1, addClasses = addClasses$1, removeClasses = removeClasses$1, classNamesToQuery = classNamesToQuery$1;\nvar SimpleBarCore = /** @class */ (function () {\n function SimpleBarCore(element, options) {\n if (options === void 0) { options = {}; }\n var _this = this;\n this.removePreventClickId = null;\n this.minScrollbarWidth = 20;\n this.stopScrollDelay = 175;\n this.isScrolling = false;\n this.isMouseEntering = false;\n this.scrollXTicking = false;\n this.scrollYTicking = false;\n this.wrapperEl = null;\n this.contentWrapperEl = null;\n this.contentEl = null;\n this.offsetEl = null;\n this.maskEl = null;\n this.placeholderEl = null;\n this.heightAutoObserverWrapperEl = null;\n this.heightAutoObserverEl = null;\n this.rtlHelpers = null;\n this.scrollbarWidth = 0;\n this.resizeObserver = null;\n this.mutationObserver = null;\n this.elStyles = null;\n this.isRtl = null;\n this.mouseX = 0;\n this.mouseY = 0;\n this.onMouseMove = function () { };\n this.onWindowResize = function () { };\n this.onStopScrolling = function () { };\n this.onMouseEntered = function () { };\n /**\n * On scroll event handling\n */\n this.onScroll = function () {\n var elWindow = getElementWindow(_this.el);\n if (!_this.scrollXTicking) {\n elWindow.requestAnimationFrame(_this.scrollX);\n _this.scrollXTicking = true;\n }\n if (!_this.scrollYTicking) {\n elWindow.requestAnimationFrame(_this.scrollY);\n _this.scrollYTicking = true;\n }\n if (!_this.isScrolling) {\n _this.isScrolling = true;\n addClasses(_this.el, _this.classNames.scrolling);\n }\n _this.showScrollbar('x');\n _this.showScrollbar('y');\n _this.onStopScrolling();\n };\n this.scrollX = function () {\n if (_this.axis.x.isOverflowing) {\n _this.positionScrollbar('x');\n }\n _this.scrollXTicking = false;\n };\n this.scrollY = function () {\n if (_this.axis.y.isOverflowing) {\n _this.positionScrollbar('y');\n }\n _this.scrollYTicking = false;\n };\n this._onStopScrolling = function () {\n removeClasses(_this.el, _this.classNames.scrolling);\n if (_this.options.autoHide) {\n _this.hideScrollbar('x');\n _this.hideScrollbar('y');\n }\n _this.isScrolling = false;\n };\n this.onMouseEnter = function () {\n if (!_this.isMouseEntering) {\n addClasses(_this.el, _this.classNames.mouseEntered);\n _this.showScrollbar('x');\n _this.showScrollbar('y');\n _this.isMouseEntering = true;\n }\n _this.onMouseEntered();\n };\n this._onMouseEntered = function () {\n removeClasses(_this.el, _this.classNames.mouseEntered);\n if (_this.options.autoHide) {\n _this.hideScrollbar('x');\n _this.hideScrollbar('y');\n }\n _this.isMouseEntering = false;\n };\n this._onMouseMove = function (e) {\n _this.mouseX = e.clientX;\n _this.mouseY = e.clientY;\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseMoveForAxis('x');\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseMoveForAxis('y');\n }\n };\n this.onMouseLeave = function () {\n _this.onMouseMove.cancel();\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseLeaveForAxis('x');\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseLeaveForAxis('y');\n }\n _this.mouseX = -1;\n _this.mouseY = -1;\n };\n this._onWindowResize = function () {\n // Recalculate scrollbarWidth in case it's a zoom\n _this.scrollbarWidth = _this.getScrollbarWidth();\n _this.hideNativeScrollbar();\n };\n this.onPointerEvent = function (e) {\n if (!_this.axis.x.track.el ||\n !_this.axis.y.track.el ||\n !_this.axis.x.scrollbar.el ||\n !_this.axis.y.scrollbar.el)\n return;\n var isWithinTrackXBounds, isWithinTrackYBounds;\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n isWithinTrackXBounds = _this.isWithinBounds(_this.axis.x.track.rect);\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n isWithinTrackYBounds = _this.isWithinBounds(_this.axis.y.track.rect);\n }\n // If any pointer event is called on the scrollbar\n if (isWithinTrackXBounds || isWithinTrackYBounds) {\n // Prevent event leaking\n e.stopPropagation();\n if (e.type === 'pointerdown' && e.pointerType !== 'touch') {\n if (isWithinTrackXBounds) {\n _this.axis.x.scrollbar.rect =\n _this.axis.x.scrollbar.el.getBoundingClientRect();\n if (_this.isWithinBounds(_this.axis.x.scrollbar.rect)) {\n _this.onDragStart(e, 'x');\n }\n else {\n _this.onTrackClick(e, 'x');\n }\n }\n if (isWithinTrackYBounds) {\n _this.axis.y.scrollbar.rect =\n _this.axis.y.scrollbar.el.getBoundingClientRect();\n if (_this.isWithinBounds(_this.axis.y.scrollbar.rect)) {\n _this.onDragStart(e, 'y');\n }\n else {\n _this.onTrackClick(e, 'y');\n }\n }\n }\n }\n };\n /**\n * Drag scrollbar handle\n */\n this.drag = function (e) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n if (!_this.draggedAxis || !_this.contentWrapperEl)\n return;\n var eventOffset;\n var track = _this.axis[_this.draggedAxis].track;\n var trackSize = (_b = (_a = track.rect) === null || _a === void 0 ? void 0 : _a[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _b !== void 0 ? _b : 0;\n var scrollbar = _this.axis[_this.draggedAxis].scrollbar;\n var contentSize = (_d = (_c = _this.contentWrapperEl) === null || _c === void 0 ? void 0 : _c[_this.axis[_this.draggedAxis].scrollSizeAttr]) !== null && _d !== void 0 ? _d : 0;\n var hostSize = parseInt((_f = (_e = _this.elStyles) === null || _e === void 0 ? void 0 : _e[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _f !== void 0 ? _f : '0px', 10);\n e.preventDefault();\n e.stopPropagation();\n if (_this.draggedAxis === 'y') {\n eventOffset = e.pageY;\n }\n else {\n eventOffset = e.pageX;\n }\n // Calculate how far the user's mouse is from the top/left of the scrollbar (minus the dragOffset).\n var dragPos = eventOffset -\n ((_h = (_g = track.rect) === null || _g === void 0 ? void 0 : _g[_this.axis[_this.draggedAxis].offsetAttr]) !== null && _h !== void 0 ? _h : 0) -\n _this.axis[_this.draggedAxis].dragOffset;\n dragPos = _this.draggedAxis === 'x' && _this.isRtl\n ? ((_k = (_j = track.rect) === null || _j === void 0 ? void 0 : _j[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _k !== void 0 ? _k : 0) -\n scrollbar.size -\n dragPos\n : dragPos;\n // Convert the mouse position into a percentage of the scrollbar height/width.\n var dragPerc = dragPos / (trackSize - scrollbar.size);\n // Scroll the content by the same percentage.\n var scrollPos = dragPerc * (contentSize - hostSize);\n // Fix browsers inconsistency on RTL\n if (_this.draggedAxis === 'x' && _this.isRtl) {\n scrollPos = ((_l = SimpleBarCore.getRtlHelpers()) === null || _l === void 0 ? void 0 : _l.isScrollingToNegative)\n ? -scrollPos\n : scrollPos;\n }\n _this.contentWrapperEl[_this.axis[_this.draggedAxis].scrollOffsetAttr] =\n scrollPos;\n };\n /**\n * End scroll handle drag\n */\n this.onEndDrag = function (e) {\n var elDocument = getElementDocument(_this.el);\n var elWindow = getElementWindow(_this.el);\n e.preventDefault();\n e.stopPropagation();\n removeClasses(_this.el, _this.classNames.dragging);\n elDocument.removeEventListener('mousemove', _this.drag, true);\n elDocument.removeEventListener('mouseup', _this.onEndDrag, true);\n _this.removePreventClickId = elWindow.setTimeout(function () {\n // Remove these asynchronously so we still suppress click events\n // generated simultaneously with mouseup.\n elDocument.removeEventListener('click', _this.preventClick, true);\n elDocument.removeEventListener('dblclick', _this.preventClick, true);\n _this.removePreventClickId = null;\n });\n };\n /**\n * Handler to ignore click events during drag\n */\n this.preventClick = function (e) {\n e.preventDefault();\n e.stopPropagation();\n };\n this.el = element;\n this.options = __assign(__assign({}, SimpleBarCore.defaultOptions), options);\n this.classNames = __assign(__assign({}, SimpleBarCore.defaultOptions.classNames), options.classNames);\n this.axis = {\n x: {\n scrollOffsetAttr: 'scrollLeft',\n sizeAttr: 'width',\n scrollSizeAttr: 'scrollWidth',\n offsetSizeAttr: 'offsetWidth',\n offsetAttr: 'left',\n overflowAttr: 'overflowX',\n dragOffset: 0,\n isOverflowing: true,\n forceVisible: false,\n track: { size: null, el: null, rect: null, isVisible: false },\n scrollbar: { size: null, el: null, rect: null, isVisible: false }\n },\n y: {\n scrollOffsetAttr: 'scrollTop',\n sizeAttr: 'height',\n scrollSizeAttr: 'scrollHeight',\n offsetSizeAttr: 'offsetHeight',\n offsetAttr: 'top',\n overflowAttr: 'overflowY',\n dragOffset: 0,\n isOverflowing: true,\n forceVisible: false,\n track: { size: null, el: null, rect: null, isVisible: false },\n scrollbar: { size: null, el: null, rect: null, isVisible: false }\n }\n };\n if (typeof this.el !== 'object' || !this.el.nodeName) {\n throw new Error(\"Argument passed to SimpleBar must be an HTML element instead of \".concat(this.el));\n }\n this.onMouseMove = throttle(this._onMouseMove, 64);\n this.onWindowResize = debounce(this._onWindowResize, 64, { leading: true });\n this.onStopScrolling = debounce(this._onStopScrolling, this.stopScrollDelay);\n this.onMouseEntered = debounce(this._onMouseEntered, this.stopScrollDelay);\n this.init();\n }\n /**\n * Helper to fix browsers inconsistency on RTL:\n * - Firefox inverts the scrollbar initial position\n * - IE11 inverts both scrollbar position and scrolling offset\n * Directly inspired by @KingSora's OverlayScrollbars https://github.com/KingSora/OverlayScrollbars/blob/master/js/OverlayScrollbars.js#L1634\n */\n SimpleBarCore.getRtlHelpers = function () {\n if (SimpleBarCore.rtlHelpers) {\n return SimpleBarCore.rtlHelpers;\n }\n var dummyDiv = document.createElement('div');\n dummyDiv.innerHTML =\n '<div class=\"simplebar-dummy-scrollbar-size\"><div></div></div>';\n var scrollbarDummyEl = dummyDiv.firstElementChild;\n var dummyChild = scrollbarDummyEl === null || scrollbarDummyEl === void 0 ? void 0 : scrollbarDummyEl.firstElementChild;\n if (!dummyChild)\n return null;\n document.body.appendChild(scrollbarDummyEl);\n scrollbarDummyEl.scrollLeft = 0;\n var dummyContainerOffset = SimpleBarCore.getOffset(scrollbarDummyEl);\n var dummyChildOffset = SimpleBarCore.getOffset(dummyChild);\n scrollbarDummyEl.scrollLeft = -999;\n var dummyChildOffsetAfterScroll = SimpleBarCore.getOffset(dummyChild);\n document.body.removeChild(scrollbarDummyEl);\n SimpleBarCore.rtlHelpers = {\n // determines if the scrolling is responding with negative values\n isScrollOriginAtZero: dummyContainerOffset.left !== dummyChildOffset.left,\n // determines if the origin scrollbar position is inverted or not (positioned on left or right)\n isScrollingToNegative: dummyChildOffset.left !== dummyChildOffsetAfterScroll.left\n };\n return SimpleBarCore.rtlHelpers;\n };\n SimpleBarCore.prototype.getScrollbarWidth = function () {\n // Try/catch for FF 56 throwing on undefined computedStyles\n try {\n // Detect browsers supporting CSS scrollbar styling and do not calculate\n if ((this.contentWrapperEl &&\n getComputedStyle(this.contentWrapperEl, '::-webkit-scrollbar')\n .display === 'none') ||\n 'scrollbarWidth' in document.documentElement.style ||\n '-ms-overflow-style' in document.documentElement.style) {\n return 0;\n }\n else {\n return scrollbarWidth();\n }\n }\n catch (e) {\n return scrollbarWidth();\n }\n };\n SimpleBarCore.getOffset = function (el) {\n var rect = el.getBoundingClientRect();\n var elDocument = getElementDocument(el);\n var elWindow = getElementWindow(el);\n return {\n top: rect.top +\n (elWindow.pageYOffset || elDocument.documentElement.scrollTop),\n left: rect.left +\n (elWindow.pageXOffset || elDocument.documentElement.scrollLeft)\n };\n };\n SimpleBarCore.prototype.init = function () {\n // We stop here on server-side\n if (canUseDOM) {\n this.initDOM();\n this.rtlHelpers = SimpleBarCore.getRtlHelpers();\n this.scrollbarWidth = this.getScrollbarWidth();\n this.recalculate();\n this.initListeners();\n }\n };\n SimpleBarCore.prototype.initDOM = function () {\n var _a, _b;\n // assume that element has his DOM already initiated\n this.wrapperEl = this.el.querySelector(classNamesToQuery(this.classNames.wrapper));\n this.contentWrapperEl =\n this.options.scrollableNode ||\n this.el.querySelector(classNamesToQuery(this.classNames.contentWrapper));\n this.contentEl =\n this.options.contentNode ||\n this.el.querySelector(classNamesToQuery(this.classNames.contentEl));\n this.offsetEl = this.el.querySelector(classNamesToQuery(this.classNames.offset));\n this.maskEl = this.el.querySelector(classNamesToQuery(this.classNames.mask));\n this.placeholderEl = this.findChild(this.wrapperEl, classNamesToQuery(this.classNames.placeholder));\n this.heightAutoObserverWrapperEl = this.el.querySelector(classNamesToQuery(this.classNames.heightAutoObserverWrapperEl));\n this.heightAutoObserverEl = this.el.querySelector(classNamesToQuery(this.classNames.heightAutoObserverEl));\n this.axis.x.track.el = this.findChild(this.el, \"\".concat(classNamesToQuery(this.classNames.track)).concat(classNamesToQuery(this.classNames.horizontal)));\n this.axis.y.track.el = this.findChild(this.el, \"\".concat(classNamesToQuery(this.classNames.track)).concat(classNamesToQuery(this.classNames.vertical)));\n this.axis.x.scrollbar.el =\n ((_a = this.axis.x.track.el) === null || _a === void 0 ? void 0 : _a.querySelector(classNamesToQuery(this.classNames.scrollbar))) || null;\n this.axis.y.scrollbar.el =\n ((_b = this.axis.y.track.el) === null || _b === void 0 ? void 0 : _b.querySelector(classNamesToQuery(this.classNames.scrollbar))) || null;\n if (!this.options.autoHide) {\n addClasses(this.axis.x.scrollbar.el, this.classNames.visible);\n addClasses(this.axis.y.scrollbar.el, this.classNames.visible);\n }\n };\n SimpleBarCore.prototype.initListeners = function () {\n var _this = this;\n var _a;\n var elWindow = getElementWindow(this.el);\n // Event listeners\n this.el.addEventListener('mouseenter', this.onMouseEnter);\n this.el.addEventListener('pointerdown', this.onPointerEvent, true);\n this.el.addEventListener('mousemove', this.onMouseMove);\n this.el.addEventListener('mouseleave', this.onMouseLeave);\n (_a = this.contentWrapperEl) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', this.onScroll);\n // Browser zoom triggers a window resize\n elWindow.addEventListener('resize', this.onWindowResize);\n if (!this.contentEl)\n return;\n if (window.ResizeObserver) {\n // Hack for https://github.com/WICG/ResizeObserver/issues/38\n var resizeObserverStarted_1 = false;\n var resizeObserver = elWindow.ResizeObserver || ResizeObserver;\n this.resizeObserver = new resizeObserver(function () {\n if (!resizeObserverStarted_1)\n return;\n elWindow.requestAnimationFrame(function () {\n _this.recalculate();\n });\n });\n this.resizeObserver.observe(this.el);\n this.resizeObserver.observe(this.contentEl);\n elWindow.requestAnimationFrame(function () {\n resizeObserverStarted_1 = true;\n });\n }\n // This is required to detect horizontal scroll. Vertical scroll only needs the resizeObserver.\n this.mutationObserver = new elWindow.MutationObserver(function () {\n elWindow.requestAnimationFrame(function () {\n _this.recalculate();\n });\n });\n this.mutationObserver.observe(this.contentEl, {\n childList: true,\n subtree: true,\n characterData: true\n });\n };\n SimpleBarCore.prototype.recalculate = function () {\n if (!this.heightAutoObserverEl ||\n !this.contentEl ||\n !this.contentWrapperEl ||\n !this.wrapperEl ||\n !this.placeholderEl)\n return;\n var elWindow = getElementWindow(this.el);\n this.elStyles = elWindow.getComputedStyle(this.el);\n this.isRtl = this.elStyles.direction === 'rtl';\n var contentElOffsetWidth = this.contentEl.offsetWidth;\n var isHeightAuto = this.heightAutoObserverEl.offsetHeight <= 1;\n var isWidthAuto = this.heightAutoObserverEl.offsetWidth <= 1 || contentElOffsetWidth > 0;\n var contentWrapperElOffsetWidth = this.contentWrapperEl.offsetWidth;\n var elOverflowX = this.elStyles.overflowX;\n var elOverflowY = this.elStyles.overflowY;\n this.contentEl.style.padding = \"\".concat(this.elStyles.paddingTop, \" \").concat(this.elStyles.paddingRight, \" \").concat(this.elStyles.paddingBottom, \" \").concat(this.elStyles.paddingLeft);\n this.wrapperEl.style.margin = \"-\".concat(this.elStyles.paddingTop, \" -\").concat(this.elStyles.paddingRight, \" -\").concat(this.elStyles.paddingBottom, \" -\").concat(this.elStyles.paddingLeft);\n var contentElScrollHeight = this.contentEl.scrollHeight;\n var contentElScrollWidth = this.contentEl.scrollWidth;\n this.contentWrapperEl.style.height = isHeightAuto ? 'auto' : '100%';\n // Determine placeholder size\n this.placeholderEl.style.width = isWidthAuto\n ? \"\".concat(contentElOffsetWidth || contentElScrollWidth, \"px\")\n : 'auto';\n this.placeholderEl.style.height = \"\".concat(contentElScrollHeight, \"px\");\n var contentWrapperElOffsetHeight = this.contentWrapperEl.offsetHeight;\n this.axis.x.isOverflowing =\n contentElOffsetWidth !== 0 && contentElScrollWidth > contentElOffsetWidth;\n this.axis.y.isOverflowing =\n contentElScrollHeight > contentWrapperElOffsetHeight;\n // Set isOverflowing to false if user explicitely set hidden overflow\n this.axis.x.isOverflowing =\n elOverflowX === 'hidden' ? false : this.axis.x.isOverflowing;\n this.axis.y.isOverflowing =\n elOverflowY === 'hidden' ? false : this.axis.y.isOverflowing;\n this.axis.x.forceVisible =\n this.options.forceVisible === 'x' || this.options.forceVisible === true;\n this.axis.y.forceVisible =\n this.options.forceVisible === 'y' || this.options.forceVisible === true;\n this.hideNativeScrollbar();\n // Set isOverflowing to false if scrollbar is not necessary (content is shorter than offset)\n var offsetForXScrollbar = this.axis.x.isOverflowing\n ? this.scrollbarWidth\n : 0;\n var offsetForYScrollbar = this.axis.y.isOverflowing\n ? this.scrollbarWidth\n : 0;\n this.axis.x.isOverflowing =\n this.axis.x.isOverflowing &&\n contentElScrollWidth > contentWrapperElOffsetWidth - offsetForYScrollbar;\n this.axis.y.isOverflowing =\n this.axis.y.isOverflowing &&\n contentElScrollHeight >\n contentWrapperElOffsetHeight - offsetForXScrollbar;\n this.axis.x.scrollbar.size = this.getScrollbarSize('x');\n this.axis.y.scrollbar.size = this.getScrollbarSize('y');\n if (this.axis.x.scrollbar.el)\n this.axis.x.scrollbar.el.style.width = \"\".concat(this.axis.x.scrollbar.size, \"px\");\n if (this.axis.y.scrollbar.el)\n this.axis.y.scrollbar.el.style.height = \"\".concat(this.axis.y.scrollbar.size, \"px\");\n this.positionScrollbar('x');\n this.positionScrollbar('y');\n this.toggleTrackVisibility('x');\n this.toggleTrackVisibility('y');\n };\n /**\n * Calculate scrollbar size\n */\n SimpleBarCore.prototype.getScrollbarSize = function (axis) {\n var _a, _b;\n if (axis === void 0) { axis = 'y'; }\n if (!this.axis[axis].isOverflowing || !this.contentEl) {\n return 0;\n }\n var contentSize = this.contentEl[this.axis[axis].scrollSizeAttr];\n var trackSize = (_b = (_a = this.axis[axis].track.el) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetSizeAttr]) !== null && _b !== void 0 ? _b : 0;\n var scrollbarRatio = trackSize / contentSize;\n var scrollbarSize;\n // Calculate new height/position of drag handle.\n scrollbarSize = Math.max(~~(scrollbarRatio * trackSize), this.options.scrollbarMinSize);\n if (this.options.scrollbarMaxSize) {\n scrollbarSize = Math.min(scrollbarSize, this.options.scrollbarMaxSize);\n }\n return scrollbarSize;\n };\n SimpleBarCore.prototype.positionScrollbar = function (axis) {\n var _a, _b, _c;\n if (axis === void 0) { axis = 'y'; }\n var scrollbar = this.axis[axis].scrollbar;\n if (!this.axis[axis].isOverflowing ||\n !this.contentWrapperEl ||\n !scrollbar.el ||\n !this.elStyles) {\n return;\n }\n var contentSize = this.contentWrapperEl[this.axis[axis].scrollSizeAttr];\n var trackSize = ((_a = this.axis[axis].track.el) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetSizeAttr]) || 0;\n var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n var scrollOffset = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n scrollOffset =\n axis === 'x' &&\n this.isRtl &&\n ((_b = SimpleBarCore.getRtlHelpers()) === null || _b === void 0 ? void 0 : _b.isScrollOriginAtZero)\n ? -scrollOffset\n : scrollOffset;\n if (axis === 'x' && this.isRtl) {\n scrollOffset = ((_c = SimpleBarCore.getRtlHelpers()) === null || _c === void 0 ? void 0 : _c.isScrollingToNegative)\n ? scrollOffset\n : -scrollOffset;\n }\n var scrollPourcent = scrollOffset / (contentSize - hostSize);\n var handleOffset = ~~((trackSize - scrollbar.size) * scrollPourcent);\n handleOffset =\n axis === 'x' && this.isRtl\n ? -handleOffset + (trackSize - scrollbar.size)\n : handleOffset;\n scrollbar.el.style.transform =\n axis === 'x'\n ? \"translate3d(\".concat(handleOffset, \"px, 0, 0)\")\n : \"translate3d(0, \".concat(handleOffset, \"px, 0)\");\n };\n SimpleBarCore.prototype.toggleTrackVisibility = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n var track = this.axis[axis].track.el;\n var scrollbar = this.axis[axis].scrollbar.el;\n if (!track || !scrollbar || !this.contentWrapperEl)\n return;\n if (this.axis[axis].isOverflowing || this.axis[axis].forceVisible) {\n track.style.visibility = 'visible';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'scroll';\n this.el.classList.add(\"\".concat(this.classNames.scrollable, \"-\").concat(axis));\n }\n else {\n track.style.visibility = 'hidden';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'hidden';\n this.el.classList.remove(\"\".concat(this.classNames.scrollable, \"-\").concat(axis));\n }\n // Even if forceVisible is enabled, scrollbar itself should be hidden\n if (this.axis[axis].isOverflowing) {\n scrollbar.style.display = 'block';\n }\n else {\n scrollbar.style.display = 'none';\n }\n };\n SimpleBarCore.prototype.showScrollbar = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n if (this.axis[axis].isOverflowing && !this.axis[axis].scrollbar.isVisible) {\n addClasses(this.axis[axis].scrollbar.el, this.classNames.visible);\n this.axis[axis].scrollbar.isVisible = true;\n }\n };\n SimpleBarCore.prototype.hideScrollbar = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n if (this.axis[axis].isOverflowing && this.axis[axis].scrollbar.isVisible) {\n removeClasses(this.axis[axis].scrollbar.el, this.classNames.visible);\n this.axis[axis].scrollbar.isVisible = false;\n }\n };\n SimpleBarCore.prototype.hideNativeScrollbar = function () {\n if (!this.offsetEl)\n return;\n this.offsetEl.style[this.isRtl ? 'left' : 'right'] =\n this.axis.y.isOverflowing || this.axis.y.forceVisible\n ? \"-\".concat(this.scrollbarWidth, \"px\")\n : '0px';\n this.offsetEl.style.bottom =\n this.axis.x.isOverflowing || this.axis.x.forceVisible\n ? \"-\".concat(this.scrollbarWidth, \"px\")\n : '0px';\n };\n SimpleBarCore.prototype.onMouseMoveForAxis = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n var currentAxis = this.axis[axis];\n if (!currentAxis.track.el || !currentAxis.scrollbar.el)\n return;\n currentAxis.track.rect = currentAxis.track.el.getBoundingClientRect();\n currentAxis.scrollbar.rect =\n currentAxis.scrollbar.el.getBoundingClientRect();\n if (this.isWithinBounds(currentAxis.track.rect)) {\n this.showScrollbar(axis);\n addClasses(currentAxis.track.el, this.classNames.hover);\n if (this.isWithinBounds(currentAxis.scrollbar.rect)) {\n addClasses(currentAxis.scrollbar.el, this.classNames.hover);\n }\n else {\n removeClasses(currentAxis.scrollbar.el, this.classNames.hover);\n }\n }\n else {\n removeClasses(currentAxis.track.el, this.classNames.hover);\n if (this.options.autoHide) {\n this.hideScrollbar(axis);\n }\n }\n };\n SimpleBarCore.prototype.onMouseLeaveForAxis = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n removeClasses(this.axis[axis].track.el, this.classNames.hover);\n removeClasses(this.axis[axis].scrollbar.el, this.classNames.hover);\n if (this.options.autoHide) {\n this.hideScrollbar(axis);\n }\n };\n /**\n * on scrollbar handle drag movement starts\n */\n SimpleBarCore.prototype.onDragStart = function (e, axis) {\n var _a;\n if (axis === void 0) { axis = 'y'; }\n var elDocument = getElementDocument(this.el);\n var elWindow = getElementWindow(this.el);\n var scrollbar = this.axis[axis].scrollbar;\n // Measure how far the user's mouse is from the top of the scrollbar drag handle.\n var eventOffset = axis === 'y' ? e.pageY : e.pageX;\n this.axis[axis].dragOffset =\n eventOffset - (((_a = scrollbar.rect) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetAttr]) || 0);\n this.draggedAxis = axis;\n addClasses(this.el, this.classNames.dragging);\n elDocument.addEventListener('mousemove', this.drag, true);\n elDocument.addEventListener('mouseup', this.onEndDrag, true);\n if (this.removePreventClickId === null) {\n elDocument.addEventListener('click', this.preventClick, true);\n elDocument.addEventListener('dblclick', this.preventClick, true);\n }\n else {\n elWindow.clearTimeout(this.removePreventClickId);\n this.removePreventClickId = null;\n }\n };\n SimpleBarCore.prototype.onTrackClick = function (e, axis) {\n var _this = this;\n var _a, _b, _c, _d;\n if (axis === void 0) { axis = 'y'; }\n var currentAxis = this.axis[axis];\n if (!this.options.clickOnTrack ||\n !currentAxis.scrollbar.el ||\n !this.contentWrapperEl)\n return;\n // Preventing the event's default to trigger click underneath\n e.preventDefault();\n var elWindow = getElementWindow(this.el);\n this.axis[axis].scrollbar.rect =\n currentAxis.scrollbar.el.getBoundingClientRect();\n var scrollbar = this.axis[axis].scrollbar;\n var scrollbarOffset = (_b = (_a = scrollbar.rect) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetAttr]) !== null && _b !== void 0 ? _b : 0;\n var hostSize = parseInt((_d = (_c = this.elStyles) === null || _c === void 0 ? void 0 : _c[this.axis[axis].sizeAttr]) !== null && _d !== void 0 ? _d : '0px', 10);\n var scrolled = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n var t = axis === 'y'\n ? this.mouseY - scrollbarOffset\n : this.mouseX - scrollbarOffset;\n var dir = t < 0 ? -1 : 1;\n var scrollSize = dir === -1 ? scrolled - hostSize : scrolled + hostSize;\n var speed = 40;\n var scrollTo = function () {\n if (!_this.contentWrapperEl)\n return;\n if (dir === -1) {\n if (scrolled > scrollSize) {\n scrolled -= speed;\n _this.contentWrapperEl[_this.axis[axis].scrollOffsetAttr] = scrolled;\n elWindow.requestAnimationFrame(scrollTo);\n }\n }\n else {\n if (scrolled < scrollSize) {\n scrolled += speed;\n _this.contentWrapperEl[_this.axis[axis].scrollOffsetAttr] = scrolled;\n elWindow.requestAnimationFrame(scrollTo);\n }\n }\n };\n scrollTo();\n };\n /**\n * Getter for content element\n */\n SimpleBarCore.prototype.getContentElement = function () {\n return this.contentEl;\n };\n /**\n * Getter for original scrolling element\n */\n SimpleBarCore.prototype.getScrollElement = function () {\n return this.contentWrapperEl;\n };\n SimpleBarCore.prototype.removeListeners = function () {\n var elWindow = getElementWindow(this.el);\n // Event listeners\n this.el.removeEventListener('mouseenter', this.onMouseEnter);\n this.el.removeEventListener('pointerdown', this.onPointerEvent, true);\n this.el.removeEventListener('mousemove', this.onMouseMove);\n this.el.removeEventListener('mouseleave', this.onMouseLeave);\n if (this.contentWrapperEl) {\n this.contentWrapperEl.removeEventListener('scroll', this.onScroll);\n }\n elWindow.removeEventListener('resize', this.onWindowResize);\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n // Cancel all debounced functions\n this.onMouseMove.cancel();\n this.onWindowResize.cancel();\n this.onStopScrolling.cancel();\n this.onMouseEntered.cancel();\n };\n /**\n * Remove all listeners from DOM nodes\n */\n SimpleBarCore.prototype.unMount = function () {\n this.removeListeners();\n };\n /**\n * Check if mouse is within bounds\n */\n SimpleBarCore.prototype.isWithinBounds = function (bbox) {\n return (this.mouseX >= bbox.left &&\n this.mouseX <= bbox.left + bbox.width &&\n this.mouseY >= bbox.top &&\n this.mouseY <= bbox.top + bbox.height);\n };\n /**\n * Find element children matches query\n */\n SimpleBarCore.prototype.findChild = function (el, query) {\n var matches = el.matches ||\n el.webkitMatchesSelector ||\n el.mozMatchesSelector ||\n el.msMatchesSelector;\n return Array.prototype.filter.call(el.children, function (child) {\n return matches.call(child, query);\n })[0];\n };\n SimpleBarCore.rtlHelpers = null;\n SimpleBarCore.defaultOptions = {\n forceVisible: false,\n clickOnTrack: true,\n scrollbarMinSize: 25,\n scrollbarMaxSize: 0,\n ariaLabel: 'scrollable content',\n classNames: {\n contentEl: 'simplebar-content',\n contentWrapper: 'simplebar-content-wrapper',\n offset: 'simplebar-offset',\n mask: 'simplebar-mask',\n wrapper: 'simplebar-wrapper',\n placeholder: 'simplebar-placeholder',\n scrollbar: 'simplebar-scrollbar',\n track: 'simplebar-track',\n heightAutoObserverWrapperEl: 'simplebar-height-auto-observer-wrapper',\n heightAutoObserverEl: 'simplebar-height-auto-observer',\n visible: 'simplebar-visible',\n horizontal: 'simplebar-horizontal',\n vertical: 'simplebar-vertical',\n hover: 'simplebar-hover',\n dragging: 'simplebar-dragging',\n scrolling: 'simplebar-scrolling',\n scrollable: 'simplebar-scrollable',\n mouseEntered: 'simplebar-mouse-entered'\n },\n scrollableNode: null,\n contentNode: null,\n autoHide: true\n };\n /**\n * Static functions\n */\n SimpleBarCore.getOptions = getOptions;\n SimpleBarCore.helpers = helpers;\n return SimpleBarCore;\n}());\n\nexport { SimpleBarCore as default };\n//# sourceMappingURL=index.mjs.map\n","/**\n * simplebar-react - v3.2.4\n * React component for SimpleBar\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat\n * Under MIT License\n */\n\nimport * as React from 'react';\nimport SimpleBarCore from 'simplebar-core';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nvar SimpleBar = React.forwardRef(function (_a, ref) {\n var children = _a.children, _b = _a.scrollableNodeProps, scrollableNodeProps = _b === void 0 ? {} : _b, otherProps = __rest(_a, [\"children\", \"scrollableNodeProps\"]);\n var elRef = React.useRef();\n var scrollableNodeRef = React.useRef();\n var contentNodeRef = React.useRef();\n var options = {};\n var rest = {};\n Object.keys(otherProps).forEach(function (key) {\n if (Object.prototype.hasOwnProperty.call(SimpleBarCore.defaultOptions, key)) {\n options[key] = otherProps[key];\n }\n else {\n rest[key] = otherProps[key];\n }\n });\n var classNames = __assign(__assign({}, SimpleBarCore.defaultOptions.classNames), options.classNames);\n var scrollableNodeFullProps = __assign(__assign({}, scrollableNodeProps), { className: \"\".concat(classNames.contentWrapper).concat(scrollableNodeProps.className ? \" \".concat(scrollableNodeProps.className) : ''), tabIndex: 0, role: 'region', 'aria-label': options.ariaLabel || SimpleBarCore.defaultOptions.ariaLabel });\n React.useEffect(function () {\n var instance;\n scrollableNodeRef.current = scrollableNodeFullProps.ref\n ? scrollableNodeFullProps.ref.current\n : scrollableNodeRef.current;\n if (elRef.current) {\n instance = new SimpleBarCore(elRef.current, __assign(__assign(__assign({}, options), (scrollableNodeRef.current && {\n scrollableNode: scrollableNodeRef.current\n })), (contentNodeRef.current && {\n contentNode: contentNodeRef.current\n })));\n if (typeof ref === 'function') {\n ref(instance);\n }\n else if (ref) {\n ref.current = instance;\n }\n }\n return function () {\n instance === null || instance === void 0 ? void 0 : instance.unMount();\n instance = null;\n if (typeof ref === 'function') {\n ref(null);\n }\n };\n }, []);\n return (React.createElement(\"div\", __assign({ \"data-simplebar\": \"init\", ref: elRef }, rest),\n React.createElement(\"div\", { className: classNames.wrapper },\n React.createElement(\"div\", { className: classNames.heightAutoObserverWrapperEl },\n React.createElement(\"div\", { className: classNames.heightAutoObserverEl })),\n React.createElement(\"div\", { className: classNames.mask },\n React.createElement(\"div\", { className: classNames.offset }, typeof children === 'function' ? (children({\n scrollableNodeRef: scrollableNodeRef,\n scrollableNodeProps: __assign(__assign({}, scrollableNodeFullProps), { ref: scrollableNodeRef }),\n contentNodeRef: contentNodeRef,\n contentNodeProps: {\n className: classNames.contentEl,\n ref: contentNodeRef\n }\n })) : (React.createElement(\"div\", __assign({}, scrollableNodeFullProps),\n React.createElement(\"div\", { className: classNames.contentEl }, children))))),\n React.createElement(\"div\", { className: classNames.placeholder })),\n React.createElement(\"div\", { className: \"\".concat(classNames.track, \" simplebar-horizontal\") },\n React.createElement(\"div\", { className: classNames.scrollbar })),\n React.createElement(\"div\", { className: \"\".concat(classNames.track, \" simplebar-vertical\") },\n React.createElement(\"div\", { className: classNames.scrollbar }))));\n});\nSimpleBar.displayName = 'SimpleBar';\n\nexport { SimpleBar as default };\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import React,{isValidElement,createRef,cloneElement,PureComponent,Component,forwardRef,useRef,useState,useCallback,useEffect}from'react';import {findDOMNode}from'react-dom';import debounce from'lodash/debounce';import throttle from'lodash/throttle';/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};var patchResizeCallback = function (resizeCallback, refreshMode, refreshRate, refreshOptions) {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\nvar isFunction = function (fn) { return typeof fn === 'function'; };\nvar isSSR = function () { return typeof window === 'undefined'; };\nvar isDOMElement = function (element) {\n return element instanceof Element || element instanceof HTMLDocument;\n};var ResizeDetector = /** @class */ (function (_super) {\n __extends(ResizeDetector, _super);\n function ResizeDetector(props) {\n var _this = _super.call(this, props) || this;\n _this.cancelHandler = function () {\n if (_this.resizeHandler && _this.resizeHandler.cancel) {\n // cancel debounced handler\n _this.resizeHandler.cancel();\n _this.resizeHandler = null;\n }\n };\n _this.attachObserver = function () {\n var _a = _this.props, targetRef = _a.targetRef, observerOptions = _a.observerOptions;\n if (isSSR()) {\n return;\n }\n if (targetRef && targetRef.current) {\n _this.targetRef.current = targetRef.current;\n }\n var element = _this.getElement();\n if (!element) {\n // can't find element to observe\n return;\n }\n if (_this.observableElement && _this.observableElement === element) {\n // element is already observed\n return;\n }\n _this.observableElement = element;\n _this.resizeObserver.observe(element, observerOptions);\n };\n _this.getElement = function () {\n var _a = _this.props, querySelector = _a.querySelector, targetDomEl = _a.targetDomEl;\n if (isSSR())\n return null;\n // in case we pass a querySelector\n if (querySelector)\n return document.querySelector(querySelector);\n // in case we pass a DOM element\n if (targetDomEl && isDOMElement(targetDomEl))\n return targetDomEl;\n // in case we pass a React ref using React.createRef()\n if (_this.targetRef && isDOMElement(_this.targetRef.current))\n return _this.targetRef.current;\n // the worse case when we don't receive any information from the parent and the library doesn't add any wrappers\n // we have to use a deprecated `findDOMNode` method in order to find a DOM element to attach to\n var currentElement = findDOMNode(_this);\n if (!currentElement)\n return null;\n var renderType = _this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return currentElement;\n case 'childFunction':\n return currentElement;\n case 'child':\n return currentElement;\n case 'childArray':\n return currentElement;\n default:\n return currentElement.parentElement;\n }\n };\n _this.createResizeHandler = function (entries) {\n var _a = _this.props, _b = _a.handleWidth, handleWidth = _b === void 0 ? true : _b, _c = _a.handleHeight, handleHeight = _c === void 0 ? true : _c, onResize = _a.onResize;\n if (!handleWidth && !handleHeight)\n return;\n var notifyResize = function (_a) {\n var width = _a.width, height = _a.height;\n if (_this.state.width === width && _this.state.height === height) {\n // skip if dimensions haven't changed\n return;\n }\n if ((_this.state.width === width && !handleHeight) || (_this.state.height === height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return;\n }\n onResize === null || onResize === void 0 ? void 0 : onResize(width, height);\n _this.setState({ width: width, height: height });\n };\n entries.forEach(function (entry) {\n var _a = (entry && entry.contentRect) || {}, width = _a.width, height = _a.height;\n var shouldSetSize = !_this.skipOnMount && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width: width, height: height });\n }\n _this.skipOnMount = false;\n });\n };\n _this.getRenderType = function () {\n var _a = _this.props, render = _a.render, children = _a.children;\n if (isFunction(render)) {\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'renderProp';\n }\n if (isFunction(children)) {\n return 'childFunction';\n }\n if (isValidElement(children)) {\n return 'child';\n }\n if (Array.isArray(children)) {\n // DEPRECATED. Wrap children with a single parent\n return 'childArray';\n }\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'parent';\n };\n var skipOnMount = props.skipOnMount, refreshMode = props.refreshMode, _a = props.refreshRate, refreshRate = _a === void 0 ? 1000 : _a, refreshOptions = props.refreshOptions;\n _this.state = {\n width: undefined,\n height: undefined\n };\n _this.sizeRef = {\n current: _this.state\n };\n _this.skipOnMount = skipOnMount;\n _this.targetRef = createRef();\n _this.observableElement = null;\n if (isSSR()) {\n return _this;\n }\n _this.resizeHandler = patchResizeCallback(_this.createResizeHandler, refreshMode, refreshRate, refreshOptions);\n _this.resizeObserver = new window.ResizeObserver(_this.resizeHandler);\n return _this;\n }\n ResizeDetector.prototype.componentDidMount = function () {\n this.attachObserver();\n };\n ResizeDetector.prototype.componentDidUpdate = function () {\n this.attachObserver();\n this.sizeRef.current = this.state;\n };\n ResizeDetector.prototype.componentWillUnmount = function () {\n if (isSSR()) {\n return;\n }\n this.observableElement = null;\n this.resizeObserver.disconnect();\n this.cancelHandler();\n };\n ResizeDetector.prototype.render = function () {\n var _a = this.props, render = _a.render, children = _a.children, _b = _a.nodeType, WrapperTag = _b === void 0 ? 'div' : _b;\n var _c = this.state, width = _c.width, height = _c.height;\n var childProps = { width: width, height: height, targetRef: this.targetRef };\n var renderType = this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return render === null || render === void 0 ? void 0 : render(childProps);\n case 'childFunction': {\n var childFunction = children;\n return childFunction === null || childFunction === void 0 ? void 0 : childFunction(childProps);\n }\n case 'child': {\n // @TODO bug prone logic\n var child = children;\n if (child.type && typeof child.type === 'string') {\n // child is a native DOM elements such as div, span etc\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n childProps.targetRef; var nativeProps = __rest(childProps, [\"targetRef\"]);\n return cloneElement(child, nativeProps);\n }\n // class or functional component otherwise\n return cloneElement(child, childProps);\n }\n case 'childArray': {\n var childArray = children;\n return childArray.map(function (el) { return !!el && cloneElement(el, childProps); });\n }\n default:\n return React.createElement(WrapperTag, null);\n }\n };\n return ResizeDetector;\n}(PureComponent));function withResizeDetector(ComponentInner, options) {\n if (options === void 0) { options = {}; }\n var ResizeDetectorHOC = /** @class */ (function (_super) {\n __extends(ResizeDetectorHOC, _super);\n function ResizeDetectorHOC() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.ref = createRef();\n return _this;\n }\n ResizeDetectorHOC.prototype.render = function () {\n var _a = this.props, forwardedRef = _a.forwardedRef, rest = __rest(_a, [\"forwardedRef\"]);\n var targetRef = forwardedRef !== null && forwardedRef !== void 0 ? forwardedRef : this.ref;\n return (React.createElement(ResizeDetector, __assign({}, options, { targetRef: targetRef }),\n React.createElement(ComponentInner, __assign({ targetRef: targetRef }, rest))));\n };\n return ResizeDetectorHOC;\n }(Component));\n function forwardRefWrapper(props, ref) {\n return React.createElement(ResizeDetectorHOC, __assign({}, props, { forwardedRef: ref }));\n }\n var name = ComponentInner.displayName || ComponentInner.name;\n forwardRefWrapper.displayName = \"withResizeDetector(\".concat(name, \")\");\n return forwardRef(forwardRefWrapper);\n}function useResizeDetector(_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.skipOnMount, skipOnMount = _c === void 0 ? false : _c, refreshMode = _b.refreshMode, _d = _b.refreshRate, refreshRate = _d === void 0 ? 1000 : _d, refreshOptions = _b.refreshOptions, _e = _b.handleWidth, handleWidth = _e === void 0 ? true : _e, _f = _b.handleHeight, handleHeight = _f === void 0 ? true : _f, targetRef = _b.targetRef, observerOptions = _b.observerOptions, onResize = _b.onResize;\n var skipResize = useRef(skipOnMount);\n var _g = useState({\n width: undefined,\n height: undefined\n }), size = _g[0], setSize = _g[1];\n // we are going to use this ref to store the last element that was passed to the hook\n var _h = useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null), refElement = _h[0], setRefElement = _h[1];\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(function () {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a callback that will be called every time the ref is changed\n // we call setState inside to trigger rerender\n var onRefChange = useCallback(function (node) {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, [refElement]);\n // adding `current` to make it compatible with useRef shape\n onRefChange.current = refElement;\n var shouldSetSize = useCallback(function (prevSize, nextSize) {\n if (prevSize.width === nextSize.width && prevSize.height === nextSize.height) {\n // skip if dimensions haven't changed\n return false;\n }\n if ((prevSize.width === nextSize.width && !handleHeight) ||\n (prevSize.height === nextSize.height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return false;\n }\n return true;\n }, [handleWidth, handleHeight]);\n var resizeCallback = useCallback(function (entries) {\n if (!handleWidth && !handleHeight)\n return;\n if (skipResize.current) {\n skipResize.current = false;\n return;\n }\n entries.forEach(function (entry) {\n var _a = (entry === null || entry === void 0 ? void 0 : entry.contentRect) || {}, width = _a.width, height = _a.height;\n setSize(function (prevSize) {\n if (!shouldSetSize(prevSize, { width: width, height: height }))\n return prevSize;\n return { width: width, height: height };\n });\n });\n }, [handleWidth, handleHeight, skipResize, shouldSetSize]);\n var resizeHandler = useCallback(patchResizeCallback(resizeCallback, refreshMode, refreshRate, refreshOptions), [\n resizeCallback,\n refreshMode,\n refreshRate,\n refreshOptions\n ]);\n // on refElement change\n useEffect(function () {\n var resizeObserver;\n if (refElement) {\n resizeObserver = new window.ResizeObserver(resizeHandler);\n resizeObserver.observe(refElement, observerOptions);\n }\n else {\n if (size.width || size.height) {\n setSize({ width: undefined, height: undefined });\n }\n }\n return function () {\n var _a, _b, _c;\n (_a = resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect) === null || _a === void 0 ? void 0 : _a.call(resizeObserver);\n (_c = (_b = resizeHandler).cancel) === null || _c === void 0 ? void 0 : _c.call(_b);\n };\n }, [resizeHandler, refElement]);\n useEffect(function () {\n onResize === null || onResize === void 0 ? void 0 : onResize(size.width, size.height);\n }, [size]);\n return __assign({ ref: onRefChange }, size);\n}export{ResizeDetector as default,useResizeDetector,withResizeDetector};//# sourceMappingURL=index.esm.js.map\n","import { ReactNode } from 'react';\nimport { TableCellProps, TooltipProps } from '@mui/material';\nimport { TablePaginationProps } from '../TablePagination/TablePagination.types';\nimport { CommonSxProps } from '../@types';\nimport { TableTopHeadProps } from '../TableTopHead';\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableItem {\n [key: string]: any;\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableColumn<T = TableItem> {\n id?: string;\n type?:\n | 'text'\n | 'number'\n | 'tel'\n | 'date'\n | 'datetime'\n | 'date-hour'\n | 'date-minute'\n | 'img'\n | 'button'\n | 'buttons'\n | 'check';\n label?: ReactNode;\n name?: keyof T;\n align?: TableCellProps['align'];\n width?: string | number;\n minWidth?: string | number;\n ellipsis?: boolean;\n dateFormat?: string;\n dateTwoLine?: boolean;\n hideAllCheck?: boolean;\n numberPrefix?: string;\n numberSuffix?: string;\n tooltipProps?: Omit<TooltipProps, 'children' | 'title'>;\n display?: { xs?: boolean; sm?: boolean; md?: boolean; lg?: boolean; xl?: boolean };\n paddingLeft?: number;\n paddingRight?: number;\n head?: {\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(): CommonSxProps['className'];\n onGetStyle?(): CommonSxProps['style'];\n onGetSx?(): CommonSxProps['sx'];\n onRender?(): ReactNode;\n };\n footer?: {\n value?: ReactNode;\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(): CommonSxProps['className'];\n onGetStyle?(): CommonSxProps['style'];\n onGetSx?(): CommonSxProps['sx'];\n onRender?(): ReactNode;\n };\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(item: T, index: number): CommonSxProps['className'];\n onGetStyle?(item: T, index: number): CommonSxProps['style'];\n onGetSx?(item: T, index: number): CommonSxProps['sx'];\n onHide?(item: T, index: number): boolean;\n onGetTooltip?(item: T, index: number): ReactNode;\n onRender?(item: T, index: number): ReactNode;\n onClick?(item: T, index: number): void;\n onInitChecked?(item: T): boolean;\n onCheckDisabled?(item: T): boolean;\n onCheckChange?(item: T, checked: boolean): void;\n onCheckDisabledChange?(item: T, checkDisabled: boolean): void;\n}\n\nexport type TableColumns<T = TableItem> = (TableColumn<T> | false | undefined | null)[];\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableProps<T = TableItem> extends CommonSxProps {\n caption?: ReactNode;\n topHeadRows?: TableTopHeadProps['rows'];\n columns?: TableColumns<T>;\n defaultAlign?: TableCellProps['align'];\n defaultEllipsis?: boolean;\n stickyHeader?: boolean;\n items?: T[];\n paging?: TablePaginationProps['paging'];\n pagingAlign?: TablePaginationProps['align'];\n height?: string | number;\n maxHeight?: string | number;\n minHeight?: string | number;\n fullHeight?: boolean;\n showOddColor?: boolean;\n showEvenColor?: boolean;\n cellPadding?: string | number;\n footer?: boolean;\n noData?: ReactNode;\n pagination?: {\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n };\n sortable?: boolean;\n onClick?(item: T, index: number): void;\n onGetBodyRowClassName?(item: T, index: number): CommonSxProps['className'] | undefined;\n onGetBodyRowStyle?(item: T, index: number): CommonSxProps['style'] | undefined;\n onGetBodyRowSx?(item: T, index: number): CommonSxProps['sx'] | undefined;\n onGetBodyColumnClassName?(column: TableColumn<T>, item: T, index: number): CommonSxProps['className'] | undefined;\n onGetBodyColumnStyle?(column: TableColumn<T>, item: T, index: number): CommonSxProps['style'] | undefined;\n onGetBodyColumnSx?(column: TableColumn<T>, item: T, index: number): CommonSxProps['sx'] | undefined;\n onPageChange?(page: number): void;\n onSortChange?(items: T[]): void;\n onCheckChange?(columnId: string, items: T[]): void;\n}\n\nexport const TableDefaultProps: Pick<TableProps, 'defaultAlign' | 'pagingAlign' | 'cellPadding'> = {\n defaultAlign: 'left',\n pagingAlign: 'center',\n cellPadding: 13,\n};\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableCommands<T = TableItem> {\n getColumns(): TableProps<T>['columns'];\n setColumns(columns: TableProps<T>['columns']): void;\n getItems(): TableProps<T>['items'];\n setItems(items: TableProps<T>['items']): void;\n getPaging(): TableProps<T>['paging'];\n setItemsPaging(items: TableProps<T>['items'], paging: TableProps<T>['paging']): void;\n resetSort(): void;\n getCheckedItems(columnId: string): T[];\n scrollToTop(): void;\n}\n","import { styled, TableRow, lighten } from '@mui/material';\n\nexport const StyledBodyRow = styled(TableRow)(({ theme }) => ({\n '&.odd-color:nth-of-type(odd):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n '&.even-color:nth-of-type(even):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n}));\n\nexport const StyledNoDataDiv = styled('div')`\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n`;\n","import { TableCellProps, TableRowProps } from '@mui/material';\nimport { TableColumn, TableItem, TableProps } from '../Table';\nimport { TableBodyCellProps } from '../TableBodyCell';\nimport { CommonSxProps } from '../@types';\n\nexport interface TableBodyRowProps extends Omit<TableRowProps, 'id' | 'onClick'> {\n id: string | number;\n index: number;\n defaultAlign?: TableCellProps['align'];\n defaultEllipsis?: boolean;\n sortable?: boolean;\n columns: TableColumn[];\n item: TableItem;\n onClick: TableProps['onClick'];\n onCheckChange: TableBodyCellProps['onCheckChange'];\n onGetColumnClassName?(column: TableColumn, item: TableItem, index: number): CommonSxProps['className'] | undefined;\n onGetColumnStyle?(column: TableColumn, item: TableItem, index: number): CommonSxProps['style'] | undefined;\n onGetColumnSx?(column: TableColumn, item: TableItem, index: number): CommonSxProps['sx'] | undefined;\n}\n\nexport const TableBodyRowDefaultProps = {};\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","const empty = function (v: any) {\n let result = false;\n if (v == null) {\n result = true;\n } else if (typeof v === 'string') {\n result = v === '';\n } else if (typeof v === 'object') {\n if (Array.isArray(v)) {\n result = v.length === 0;\n } else if (!(v instanceof Date)) {\n result = Object.entries(v).length === 0;\n }\n }\n return result;\n};\n\nconst notEmpty = function (v: any) {\n return !empty(v);\n};\n\nconst equal = (v1: any, v2: any): boolean => {\n if (v1 === v2) return true;\n if (typeof v1 !== typeof v2) return false;\n if (v1 == null || v2 == null) return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length) return false;\n for (let i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i]) return false;\n }\n } else {\n return v1 === v2;\n }\n return true;\n};\n\nexport { empty, notEmpty, equal };\n","export function numberWithThousandSeparator(x: string | number) {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n}\n","import { TableColumn } from '../Table/Table.types';\nimport { CommonSxProps } from '../@types';\nimport { TypographyProps } from '@mui/material';\n\nexport function getTableColumnAlign(column: TableColumn, defaultAlign: TableColumn['align']): TableColumn['align'] {\n switch (column.type) {\n case 'number':\n return column.align ? column.align : 'right';\n default:\n return column.align || defaultAlign;\n }\n}\n\nexport function combineSx(...sx: (boolean | CommonSxProps['sx'])[]): CommonSxProps['sx'] {\n const finalSx: CommonSxProps['sx'] = [];\n if (Array.isArray(finalSx)) {\n sx.forEach((v) => v && finalSx.push(...(Array.isArray(v) ? v : [v])));\n }\n return finalSx;\n}\n\nexport function typographyColorToSxColor(color: TypographyProps['color']) {\n if (typeof color === 'string') {\n if (['primary', 'secondary', 'info', 'warning', 'error'].includes(color)) {\n return `${color}.main`;\n } else if (color === 'text') {\n return 'text.primary';\n } else {\n return color;\n }\n } else {\n return color;\n }\n}\n","export function getTelAutoDash(tel: string | null | undefined): string | null {\n if (tel == null) return null;\n\n const str = tel.replace(/[^0-9*]/g, '');\n const isLastDash = tel.substr(tel.length - 1, 1) === '-';\n\n if (str.substr(0, 1) !== '0' && !['15', '16', '18'].includes(str.substr(0, 2))) {\n return tel;\n }\n\n let tmp = '';\n let preLen;\n\n switch (str.substr(0, 2)) {\n case '02':\n preLen = 2;\n break;\n case '15':\n case '16':\n case '18':\n preLen = 4;\n break;\n default:\n preLen = 3;\n }\n\n if (['15', '16', '18'].includes(str.substr(0, 2))) {\n if (str.length <= preLen) {\n tmp = str;\n } else if (str.length <= preLen + 4) {\n tmp += str.substr(0, preLen);\n tmp += '-';\n tmp += str.substr(preLen);\n } else {\n tmp = str;\n }\n } else if (str.length <= preLen) {\n tmp = str;\n } else if (str.length <= preLen + 3) {\n tmp += str.substr(0, preLen);\n tmp += '-';\n tmp += str.substr(preLen);\n } else if (str.length <= preLen + 7) {\n tmp += str.substr(0, preLen);\n tmp += '-';\n tmp += str.substr(preLen, 3);\n tmp += '-';\n tmp += str.substr(preLen + 3);\n } else if (str.length <= preLen + 8) {\n tmp += str.substr(0, preLen);\n tmp += '-';\n tmp += str.substr(preLen, 4);\n tmp += '-';\n tmp += str.substr(preLen + 4);\n } else {\n tmp = str;\n }\n\n if (isLastDash) {\n if (str.length === preLen) {\n tmp += '-';\n }\n }\n\n return tmp;\n}\n","import { TableColumn, TableItem } from '../Table';\nimport { TableBodyCellCommands } from '../TableBodyCell';\nimport { TableHeadCellCommands } from '../TableHeadCell';\n\nexport interface TableContextValue {\n menuOpen: boolean;\n openMenuId?: string;\n setMenuOpen(menuOpen: boolean, openMenuId?: string): void;\n setItemColumnChecked(item: TableItem, column: TableColumn, checked: boolean): void;\n setItemColumnCheckDisabled(item: TableItem, column: TableColumn, checkDisabled: boolean): void;\n setItemColumnCommands(item: TableItem, column: TableColumn, commands: TableBodyCellCommands): void;\n setHeadColumnChecked(column: TableColumn, checked: boolean): void;\n setHeadColumnCommands(column: TableColumn, commands: TableHeadCellCommands): void;\n}\n\nexport const TableContextDefaultValue: TableContextValue = {\n menuOpen: false,\n openMenuId: undefined,\n /* eslint-disable */\n setMenuOpen() {},\n setItemColumnChecked() {},\n setItemColumnCheckDisabled() {},\n setItemColumnCommands() {},\n setHeadColumnChecked() {},\n setHeadColumnCommands() {},\n /* eslint-enable */\n};\n","import { createContext } from 'react';\nimport { TableContextDefaultValue, TableContextValue } from './TableContext.types';\n\nconst TableContext = createContext<TableContextValue>(TableContextDefaultValue);\n\nexport default TableContext;\n","import TableContext from './TableContext';\nimport { TableContextValue } from './TableContext.types';\nimport { useContext } from 'react';\n\nexport default function useTableState(): TableContextValue {\n const value = useContext(TableContext);\n if (value === undefined) {\n throw new Error('useFormState should be used within TableContext.Provider');\n }\n return value;\n}\n","import React, { useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { TableCell, styled } from '@mui/material';\nimport { TableCommonCellProps } from './TableCommonCell.types';\nimport { getTableColumnAlign } from '../@util';\nimport { CommonSxProps } from '../@types';\nimport useTableState from '../TableContext/useTableState';\n\nconst StyledTableCell = styled(TableCell)`\n &.ellipsis {\n position: relative;\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nconst TableCommonCell: React.FC<TableCommonCellProps> = ({\n children,\n className: initClassName,\n style: initStyle,\n sx: initSx,\n type,\n column,\n defaultAlign,\n defaultEllipsis: initDefaultEllipsis,\n index,\n item,\n onClick,\n}) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen } = useTableState();\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const align = useMemo(() => getTableColumnAlign(column, defaultAlign), [column, defaultAlign]);\n\n const ellipsis = useMemo(\n () =>\n type !== 'head' &&\n (column.ellipsis ||\n (column.type !== 'img' &&\n column.type !== 'button' &&\n column.type !== 'buttons' &&\n (column.ellipsis == null ? !!initDefaultEllipsis : false))),\n [type, column, initDefaultEllipsis]\n );\n\n const className = useMemo(() => {\n let className: CommonSxProps['className'];\n let getClassName: CommonSxProps['className'];\n\n switch (type) {\n case 'head':\n className = column.head?.className;\n getClassName = column.head?.onGetClassName ? column.head?.onGetClassName() : undefined;\n break;\n case 'body':\n className = column.className;\n if (item != null && index != null) {\n getClassName = column.onGetClassName ? column.onGetClassName(item, index) : undefined;\n }\n break;\n case 'footer':\n className = column.footer?.className;\n getClassName = column.footer?.onGetClassName ? column.footer?.onGetClassName() : undefined;\n break;\n }\n\n if (className || getClassName) {\n return classNames(initClassName, className, getClassName);\n } else {\n return initClassName;\n }\n }, [column, index, initClassName, item, type]);\n\n const style = useMemo(() => {\n let style: CommonSxProps['style'];\n let getStyle: CommonSxProps['style'];\n\n switch (type) {\n case 'head':\n style = column.head?.style;\n getStyle = column.head?.onGetStyle ? column.head?.onGetStyle() : undefined;\n break;\n case 'body':\n style = column.style;\n if (item != null && index != null) {\n getStyle = column.onGetStyle ? column.onGetStyle(item, index) : undefined;\n }\n break;\n case 'footer':\n style = column.footer?.style;\n getStyle = column.footer?.onGetStyle ? column.footer?.onGetStyle() : undefined;\n break;\n }\n\n return {\n ...initStyle,\n width: column.width,\n minWidth: column.minWidth,\n cursor: type === 'body' && (column.onClick || onClick) ? 'pointer' : undefined,\n paddingLeft: column.paddingLeft,\n paddingRight: column.paddingRight,\n ...style,\n ...getStyle,\n };\n }, [column, index, initStyle, item, onClick, type]);\n\n const sx = useMemo(() => {\n let sx: CommonSxProps['sx'];\n let getSx: CommonSxProps['sx'];\n let displaySx: CommonSxProps['sx'];\n\n switch (type) {\n case 'head':\n sx = column.head?.sx;\n getSx = column.head?.onGetSx ? column.head?.onGetSx() : undefined;\n break;\n case 'body':\n sx = column.sx;\n if (item != null && index != null) {\n getSx = column.onGetSx ? column.onGetSx(item, index) : undefined;\n }\n break;\n case 'footer':\n sx = column.footer?.sx;\n getSx = column.footer?.onGetSx ? column.footer?.onGetSx() : undefined;\n break;\n }\n\n if (column.display) {\n type DisplayValue = 'none' | 'table-cell';\n const display: {\n xs?: DisplayValue;\n sm?: DisplayValue;\n md?: DisplayValue;\n lg?: DisplayValue;\n xl?: DisplayValue;\n } = {};\n if (column.display.xs !== undefined) display.xs = column.display.xs ? 'table-cell' : 'none';\n if (column.display.sm !== undefined) display.sm = column.display.sm ? 'table-cell' : 'none';\n if (column.display.md !== undefined) display.md = column.display.md ? 'table-cell' : 'none';\n if (column.display.lg !== undefined) display.lg = column.display.lg ? 'table-cell' : 'none';\n if (column.display.xl !== undefined) display.xl = column.display.xl ? 'table-cell' : 'none';\n displaySx = { display };\n }\n\n const sxList = [];\n if (getSx) sxList.push(getSx);\n if (sx) sxList.push(sx);\n if (initSx) sxList.push(initSx);\n if (displaySx) sxList.push(displaySx);\n\n if (sxList.length > 0) {\n if (sxList.length === 1) {\n return sxList[0];\n } else {\n if (!sxList.find((sx) => typeof sx !== 'object')) {\n return sxList.reduce((res: object, sx: object) => {\n res = { ...res, ...sx };\n return res;\n }, {});\n }\n }\n }\n }, [column, index, initSx, item, type]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLTableCellElement>) => {\n if (\n !menuOpen &&\n column.type !== 'check' &&\n column.type !== 'button' &&\n column.type !== 'buttons' &&\n column.type !== 'img'\n ) {\n e.stopPropagation();\n\n if (type === 'body') {\n if (item != null && index != null) {\n if (column.onClick) {\n column.onClick(item, index);\n } else {\n if (onClick) onClick(item, index);\n }\n }\n }\n }\n },\n [menuOpen, type, item, index, column, onClick]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <StyledTableCell\n align={align}\n className={classNames(\n className,\n 'TableCommonCell',\n ellipsis && 'ellipsis',\n column.type ? `column-type-${column.type}` : false\n )}\n style={style}\n sx={sx}\n onClick={type === 'body' ? handleClick : undefined}\n >\n {children}\n </StyledTableCell>\n );\n};\n\nexport default TableCommonCell;\n","import React, { ReactNode, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Box, Checkbox, styled, Tooltip } from '@mui/material';\nimport { TableBodyCellProps as Props } from './TableBodyCell.types';\nimport { getTableColumnAlign, getTelAutoDash, numberWithThousandSeparator } from '../@util';\nimport TableCommonCell from '../TableCommonCell';\nimport { TableItem } from '../Table/Table.types';\nimport dayjs from 'dayjs';\nimport useTableState from '../TableContext/useTableState';\nimport classNames from 'classnames';\n\nconst StyledButtonsBox = styled(Box)`\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n`;\n\nconst TableBodyCell: React.FC<Props> = ({\n className,\n style,\n sx,\n item,\n index,\n column,\n defaultAlign,\n defaultEllipsis,\n onClick,\n onCheckChange,\n}) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen, setItemColumnChecked, setItemColumnCheckDisabled, setItemColumnCommands } = useTableState();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [checked, setChecked] = useState(false);\n const [checkDisabled, setCheckDisabled] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (column.type === 'check') {\n setChecked(column.onInitChecked ? column.onInitChecked(item) : false);\n setCheckDisabled(column.onCheckDisabled ? column.onCheckDisabled(item) : false);\n }\n\n setItemColumnCommands(item, column, {\n setChecked(checked: boolean) {\n if (column.type === 'check') {\n setChecked(checked);\n }\n },\n setCheckDisabled(disabled: boolean) {\n if (column.type === 'check') {\n setCheckDisabled(disabled);\n }\n },\n });\n }, [column, item, setItemColumnCommands]);\n\n useEffect(() => {\n if (column.type === 'check') {\n setItemColumnChecked(item, column, checked);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checked]);\n\n useEffect(() => {\n if (column.type === 'check') {\n setItemColumnCheckDisabled(item, column, checkDisabled);\n column.onCheckDisabledChange && column.onCheckDisabledChange(item, checkDisabled);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checkDisabled]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const isHidden = useMemo(() => (column.onHide ? column.onHide(item, index) : false), [column, index, item]);\n\n const buttonsBoxJustifyContent = useMemo(() => {\n switch (getTableColumnAlign(column, defaultAlign)) {\n case 'center':\n return 'center';\n case 'right':\n return 'end';\n default:\n return 'start';\n }\n }, [column, defaultAlign]);\n\n const data = useMemo(() => {\n let data;\n if (column.type !== 'check') {\n if (column.onRender) {\n data = column.onRender(item, index);\n } else if (column.name) {\n data = item[column.name];\n } else {\n data = undefined;\n }\n }\n\n switch (column.type) {\n case 'number':\n if (typeof data === 'string' || typeof data === 'number') {\n data = numberWithThousandSeparator(data);\n }\n if (column.numberPrefix) {\n data = (\n <>\n <span style={{ opacity: 0.5, marginRight: 2 }}>{column.numberPrefix}</span>\n {data}\n </>\n );\n }\n if (column.numberSuffix) {\n data = (\n <>\n {data}\n <span style={{ opacity: 0.5, marginLeft: 2 }}>{column.numberSuffix}</span>\n </>\n );\n }\n break;\n case 'tel':\n if (typeof data === 'string') {\n data = getTelAutoDash(data);\n }\n break;\n case 'check':\n data = (\n <Box className='TableBoxyCell-check-box' onClick={menuOpen ? undefined : (e) => e.stopPropagation()}>\n <Checkbox\n checked={checked}\n disabled={checkDisabled}\n onChange={(e, newChecked) => {\n setChecked(newChecked);\n column.onCheckChange && column.onCheckChange(item, newChecked);\n onCheckChange && onCheckChange(item, column, newChecked);\n }}\n />\n </Box>\n );\n break;\n case 'button':\n data = (\n <Box className='TableBoxyCell-button-box' onClick={menuOpen ? undefined : (e) => e.stopPropagation()}>\n {data}\n </Box>\n );\n break;\n case 'buttons':\n data = (\n <StyledButtonsBox\n className='TableBodyCell-buttons-box'\n justifyContent={buttonsBoxJustifyContent}\n onClick={menuOpen ? undefined : (e) => e.stopPropagation()}\n >\n {data}\n </StyledButtonsBox>\n );\n break;\n case 'img':\n {\n const img = <img src={data} style={{ maxWidth: '100%', verticalAlign: 'middle' }} alt='' />;\n const placement = column.tooltipProps?.placement ? column.tooltipProps?.placement : 'left';\n\n data = (\n <a\n href={data}\n target='_blank'\n onClick={\n menuOpen\n ? undefined\n : (e: React.MouseEvent<HTMLAnchorElement>) => {\n e.stopPropagation();\n }\n }\n >\n <Tooltip\n className='TableBodyCell-tooltip'\n title={<div style={{ paddingTop: 3, paddingBottom: 3 }}>{img}</div>}\n {...column.tooltipProps}\n placement={placement}\n >\n {img}\n </Tooltip>\n </a>\n );\n }\n break;\n case 'date':\n if (data) {\n data = dayjs(data, column.dateFormat).format('YYYY-MM-DD');\n }\n break;\n case 'datetime':\n if (data) {\n const dt = dayjs(data, column.dateFormat);\n data = (\n <>\n <span>{dt.format('YYYY-MM-DD')}</span>\n {column.dateTwoLine ? <br /> : ' '}\n <span style={{ opacity: 0.5 }}>{dt.format('HH:mm:ss')}</span>\n </>\n );\n }\n break;\n case 'date-hour':\n if (data) {\n const dt = dayjs(data, column.dateFormat);\n data = (\n <>\n <span>{dt.format('YYYY-MM-DD')}</span>\n {column.dateTwoLine ? <br /> : ' '}\n <span style={{ opacity: 0.5 }}>{dt.format('HH시')}</span>\n </>\n );\n }\n break;\n case 'date-minute':\n if (data) {\n const dt = dayjs(data, column.dateFormat);\n data = (\n <>\n <span>{dt.format('YYYY-MM-DD')}</span>\n {column.dateTwoLine ? <br /> : ' '}\n <span style={{ opacity: 0.5 }}>{dt.format('HH시 MM분')}</span>\n </>\n );\n }\n break;\n }\n\n if (column.type !== 'img') {\n let tooltip: ReactNode;\n if (column.onGetTooltip) {\n tooltip = column.onGetTooltip(item, index);\n }\n if (tooltip) {\n data = (\n <Tooltip className='TableBodyCell-tooltip' title={tooltip} {...column.tooltipProps}>\n {React.isValidElement(data) ? (\n data.type === React.Fragment ? (\n <span>{data}</span>\n ) : (\n data\n )\n ) : (\n <span>{data}</span>\n )}\n </Tooltip>\n );\n }\n }\n return data;\n }, [column, item, index, menuOpen, checked, checkDisabled, buttonsBoxJustifyContent, onCheckChange]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(\n (item: TableItem, index: number) => {\n if (column.onClick) {\n column.onClick(item, index);\n } else {\n if (onClick) onClick(item, index);\n }\n },\n [column, onClick]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <TableCommonCell\n type='body'\n className={classNames('TableBodyCell', className)}\n style={style}\n sx={sx}\n column={column}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n item={item}\n index={index}\n onClick={column.onClick || onClick ? handleClick : undefined}\n >\n {!isHidden && data}\n </TableCommonCell>\n );\n};\n\nexport default TableBodyCell;\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { TableBodyRowProps as Props, TableBodyRowDefaultProps } from './TableBodyRow.types';\nimport { styled, TableRow, lighten } from '@mui/material';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { TableColumn } from '../Table';\nimport TableBodyCell from '../TableBodyCell';\n\nexport const StyledBodyRow = styled(TableRow)(({ theme }) => ({\n '&.odd-color:nth-of-type(odd):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n '&.even-color:nth-of-type(even):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n}));\n\nconst TableBodyRow: React.FC<Props> = ({\n className,\n style,\n //--------------------------------------------------------------------------------------------------------------------\n id,\n index,\n defaultAlign,\n defaultEllipsis,\n sortable,\n columns,\n item,\n onClick,\n onCheckChange,\n onGetColumnClassName,\n onGetColumnStyle,\n onGetColumnSx,\n // -------------------------------------------------------------------------------------------------------------------\n ...props\n}) => {\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id });\n\n const finalStyle = useMemo(\n () =>\n sortable\n ? {\n ...style,\n transform: CSS.Transform.toString(transform),\n transition,\n }\n : style,\n [sortable, style, transform, transition]\n );\n\n const sortableProps = useMemo(\n () =>\n sortable\n ? {\n ref: setNodeRef,\n ...attributes,\n ...listeners,\n }\n : {},\n [attributes, listeners, setNodeRef, sortable]\n );\n\n return (\n <StyledBodyRow className={classNames('TableBodyRow', className)} style={finalStyle} {...props} {...sortableProps}>\n {columns.map((column: TableColumn, columnIdx) => (\n <TableBodyCell\n className={onGetColumnClassName ? onGetColumnClassName(column, item, index) : undefined}\n sx={onGetColumnSx ? onGetColumnSx(column, item, index) : undefined}\n style={onGetColumnStyle ? onGetColumnStyle(column, item, index) : undefined}\n key={columnIdx}\n index={index}\n item={item}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n column={column}\n onClick={onClick}\n onCheckChange={onCheckChange}\n />\n ))}\n </StyledBodyRow>\n );\n};\n\nTableBodyRow.displayName = 'TableBodyRow';\nTableBodyRow.defaultProps = TableBodyRowDefaultProps;\n\nexport default TableBodyRow;\n","import React, { useMemo } from 'react';\nimport { TableFooterCellProps } from './TableFooterCell.types';\nimport TableCommonCell from '../TableCommonCell';\n\nconst TableFooterCell: React.FC<TableFooterCellProps> = ({ column, defaultAlign }) => {\n const data = useMemo(() => {\n if (column.footer?.onRender) {\n return column.footer?.onRender();\n } else {\n return column.footer?.value;\n }\n }, [column]);\n\n return (\n <TableCommonCell type='head' className='TableFooterCell' column={column} defaultAlign={defaultAlign}>\n {data}\n </TableCommonCell>\n );\n};\n\nexport default TableFooterCell;\n","import React from 'react';\nimport classNames from 'classnames';\nimport { TablePaginationProps } from './TablePagination.types';\nimport { Pagination, Stack } from '@mui/material';\n\nconst TablePagination: React.FC<TablePaginationProps> = ({ className, style, sx, paging, align, onChange }) => {\n return (\n <Stack alignItems={align}>\n <Pagination\n count={paging.last_page}\n page={paging.current_page}\n color='primary'\n className={classNames('TablePagination', className)}\n style={style}\n sx={sx}\n onChange={(e, page) => {\n if (onChange) onChange(page);\n }}\n />\n </Stack>\n );\n};\n\nexport default TablePagination;\n","import {useRef,useEffect,useState,useCallback,useLayoutEffect}from'react';function useFirstSkipEffect(effect, deps) {\n var firstRef = useRef(true);\n useEffect(function () {\n if (firstRef.current) {\n firstRef.current = false;\n }\n else {\n effect();\n }\n }, deps);\n}var isSame = function (v1, v2) {\n if (v1 === v2)\n return true;\n if (typeof v1 !== typeof v2)\n return false;\n if (v1 == null || v2 == null)\n return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length)\n return false;\n for (var i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i])\n return false;\n }\n }\n else {\n return v1 === v2;\n }\n return true;\n};function useAutoUpdateState(p1, p2) {\n var state = typeof p1 === 'function' ? undefined : p1;\n var finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n var _a = useState(0), setUpdateKey = _a[1];\n var _initState = useState(function () {\n return finalStateCallback ? finalStateCallback(state) : state;\n })[0];\n var _state = useRef(_initState);\n var forceUpdate = useCallback(function () {\n setUpdateKey(function (updateKey) { return updateKey + 1; });\n }, []);\n useFirstSkipEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n useFirstSkipEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n var setState = useCallback(function (newState) {\n var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n return [_state.current, setState];\n}function useFirstSkipLayoutEffect(effect, deps) {\n var firstRef = useRef(true);\n useLayoutEffect(function () {\n if (firstRef.current) {\n firstRef.current = false;\n }\n else {\n effect();\n }\n }, deps);\n}function useAutoUpdateLayoutState(p1, p2) {\n var state = typeof p1 === 'function' ? undefined : p1;\n var finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n var _a = useState(0), setUpdateKey = _a[1];\n var _initState = useState(function () {\n return finalStateCallback ? finalStateCallback(state, 0) : state;\n })[0];\n var _state = useRef(_initState);\n var forceUpdate = useCallback(function () {\n setUpdateKey(function (updateKey) { return updateKey + 1; });\n }, []);\n useFirstSkipLayoutEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n useFirstSkipLayoutEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n var setState = useCallback(function (newState) {\n var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n return [_state.current, setState];\n}export{useAutoUpdateLayoutState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect};//# sourceMappingURL=index.esm.js.map\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\nimport { TableContextProviderProps as Props } from './TableContextProvider.types';\nimport TableContext from '../TableContext';\n\nconst TableContextProvider: React.FC<Props> = ({ children, value }) => {\n return <TableContext.Provider value={value}>{children}</TableContext.Provider>;\n};\n\nexport default TableContextProvider;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { ReactNode } from 'react';\nimport { TableCellProps } from '@mui/material';\nimport { TableColumn, TableProps } from '../Table/Table.types';\n\nexport interface TableTopHeadRowColumn {\n colSpan?: number;\n rowSpan?: number;\n label?: ReactNode;\n align?: TableCellProps['align'];\n}\n\nexport type TableTopHeadRowColumnValue = TableTopHeadRowColumn | false | undefined | null;\n\nexport interface TableTopHeadProps {\n caption?: ReactNode;\n rows?: TableTopHeadRowColumnValue[] | TableTopHeadRowColumnValue[][];\n columns: TableColumn[];\n defaultAlign: TableProps['defaultAlign'];\n onCheckChange(column: TableColumn, checked: boolean): void;\n}\n\nexport const TableTopHeadDefaultProps = {};\n","import { styled, TableRow } from '@mui/material';\n\nexport const TableTopHeadCaptionRow = styled(TableRow)(({ theme }) => ({\n '> th': {\n backgroundColor: theme.palette.grey.A100,\n textAlign: 'center',\n fontWeight: 700,\n },\n}));\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { TableHeadCellProps } from './TableHeadCell.types';\nimport TableCommonCell from '../TableCommonCell';\nimport { Checkbox } from '@mui/material';\nimport useTableState from '../TableContext/useTableState';\n\nconst TableHeadCell: React.FC<TableHeadCellProps> = ({ column, defaultAlign, top, onCheckChange }) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { setHeadColumnChecked, setHeadColumnCommands } = useTableState();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [checked, setChecked] = useState(false);\n const [checkDisabled, setCheckDisabled] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (column.type === 'check') {\n setHeadColumnChecked(column, checked);\n }\n }, [column, checked, setHeadColumnChecked]);\n\n useEffect(() => {\n setHeadColumnCommands(column, {\n setChecked(checked: boolean) {\n if (column.type === 'check') {\n setChecked(checked);\n }\n },\n setCheckDisabled(checkDisabled: boolean) {\n if (column.type === 'check') {\n setCheckDisabled(checkDisabled);\n }\n },\n });\n }, [setHeadColumnCommands, column]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const style = useMemo(() => (top !== undefined ? { top } : undefined), [top]);\n\n const data = useMemo(() => {\n if (column.type === 'check') {\n return column.hideAllCheck ? null : (\n <Checkbox\n checked={checked}\n disabled={checkDisabled}\n onChange={(e, newChecked) => {\n setChecked(newChecked);\n onCheckChange && onCheckChange(column, newChecked);\n }}\n />\n );\n } else {\n if (column.head?.onRender) {\n return column.head?.onRender();\n } else {\n if (typeof column.label === 'string') {\n return <div dangerouslySetInnerHTML={{ __html: column.label }} />;\n } else {\n return column.label;\n }\n }\n }\n }, [checkDisabled, checked, column, onCheckChange]);\n\n // Render ------------------------------------------------------------------------------------------------------------\n\n return (\n <TableCommonCell type='head' className='TableHeadCell' style={style} column={column} defaultAlign={defaultAlign}>\n {data}\n </TableCommonCell>\n );\n};\n\nexport default TableHeadCell;\n","import React, { ReactNode, useCallback, useMemo, useRef } from 'react';\nimport { TableTopHeadProps as Props, TableTopHeadDefaultProps, TableTopHeadRowColumnValue } from './TableTopHead.types';\nimport { styled, TableCell, TableHead, TableRow, useTheme } from '@mui/material';\nimport { useResizeDetector } from 'react-resize-detector';\nimport { TableTopHeadCaptionRow } from './TableTopHead.style';\nimport TableHeadCell from '../TableHeadCell';\n\nconst BottomLine = styled('div')`\n height: 1px;\n position: absolute;\n left: 3px;\n right: 3px;\n bottom: 0;\n`;\n\nconst TableTopHead: React.FC<Props> = ({ columns, rows, caption, defaultAlign, onCheckChange }) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const theme = useTheme();\n\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const captionRef = useRef<HTMLTableRowElement>(null);\n const row1Ref = useRef<HTMLTableRowElement>(null);\n const row2Ref = useRef<HTMLTableRowElement>(null);\n const row3Ref = useRef<HTMLTableRowElement>(null);\n\n // ResizeDetector ----------------------------------------------------------------------------------------------------\n\n const { height: captionHeight } = useResizeDetector({\n targetRef: captionRef,\n handleWidth: false,\n handleHeight: true,\n });\n const { height: row1Height } = useResizeDetector({ targetRef: row1Ref, handleWidth: false, handleHeight: true });\n const { height: row2Height } = useResizeDetector({ targetRef: row2Ref, handleWidth: false, handleHeight: true });\n const { height: row3Height } = useResizeDetector({ targetRef: row3Ref, handleWidth: false, handleHeight: true });\n\n // Function ----------------------------------------------------------------------------------------------------------\n\n const captionRow = useMemo(\n () =>\n !!caption && (\n <TableTopHeadCaptionRow ref={captionRef} className='TableTopHeadCaptionRow'>\n <TableCell colSpan={columns.length}>{caption}</TableCell>\n </TableTopHeadCaptionRow>\n ),\n [caption, columns]\n );\n\n const makeRowCells = useCallback(\n (row: TableTopHeadRowColumnValue[], top?: number) => {\n const cells = row\n .map(\n (info, idx) =>\n !!info && (\n <TableCell\n key={idx}\n colSpan={info.colSpan}\n align={info.align}\n style={{\n top,\n borderBottom: 0,\n }}\n >\n {info.label}\n {info.label != null && <BottomLine style={{ backgroundColor: theme.palette.divider }} />}\n </TableCell>\n )\n )\n .filter((cell) => !!cell) as ReactNode[];\n\n if (cells.length < columns.length) {\n cells.push(\n <TableCell key={columns.length} colSpan={columns.length - cells.length} style={{ top, borderBottom: 0 }} />\n );\n }\n return cells;\n },\n [columns, theme.palette.divider]\n );\n\n const columnRow = useMemo(() => {\n const top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0) + (row3Height || 0);\n\n return (\n <TableRow>\n {columns.map((column, idx) => (\n <TableHeadCell\n key={idx}\n column={column}\n defaultAlign={defaultAlign}\n top={top}\n onCheckChange={onCheckChange}\n />\n ))}\n </TableRow>\n );\n }, [captionHeight, columns, defaultAlign, onCheckChange, row1Height, row2Height, row3Height]);\n\n // Render ------------------------------------------------------------------------------------------------------------\n\n if (rows) {\n if (Array.isArray(rows[0])) {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n {rows.map((row, idx) => {\n let ref: React.Ref<HTMLTableRowElement> | undefined = undefined;\n let top: number | undefined = undefined;\n\n switch (idx) {\n case 0:\n ref = row1Ref;\n top = captionHeight;\n break;\n case 1:\n ref = row2Ref;\n top = (captionHeight || 0) + (row1Height || 0);\n break;\n case 2:\n ref = row3Ref;\n top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0);\n break;\n case 3:\n top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0) + (row3Height || 0);\n }\n return (\n <TableRow key={idx} ref={ref} className='TableHeadRow'>\n {makeRowCells(row as TableTopHeadRowColumnValue[], top)}\n </TableRow>\n );\n })}\n </TableHead>\n );\n } else {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n <TableRow ref={row1Ref} className='TableHeadRow'>\n {makeRowCells(rows as TableTopHeadRowColumnValue[], captionHeight)}\n </TableRow>\n {columnRow}\n </TableHead>\n );\n }\n } else {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n {columnRow}\n </TableHead>\n );\n }\n};\n\nTableTopHead.displayName = 'TableTopHead';\nTableTopHead.defaultProps = TableTopHeadDefaultProps;\n\nexport default TableTopHead;\n","import React, { CSSProperties, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Table as MuiTable, TableBody, TableRow, TableCell, Paper, Stack, TableFooter, Icon } from '@mui/material';\nimport SimpleBar from 'simplebar-react';\nimport SimpleBarCore from 'simplebar-core';\nimport { useResizeDetector } from 'react-resize-detector';\nimport { TableProps, TableDefaultProps, TableCommands, TableColumn, TableItem } from './Table.types';\nimport { StyledBodyRow, StyledNoDataDiv } from './Table.styles';\nimport TableBodyRow from '../TableBodyRow';\nimport { TableHeadCellCommands } from '../TableHeadCell';\nimport TableFooterCell from '../TableFooterCell';\nimport TablePagination from '../TablePagination';\nimport { useAutoUpdateLayoutState } from '@pdg/react-hook';\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n MouseSensor,\n TouchSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n} from '@dnd-kit/core';\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport 'simplebar-react/dist/simplebar.min.css';\nimport TableContextProvider from '../TableContextProvider';\nimport { v4 as uuid } from 'uuid';\nimport { TableBodyCellCommands } from '../TableBodyCell';\nimport TableTopHead from '../TableTopHead';\n\nfunction columnFilter<T>(v: T | undefined | null | false): v is T {\n return v !== undefined && v !== null && v !== false;\n}\n\ntype TLocalBodyData = Record<\n string | number,\n {\n item: TableItem;\n columns: Record<\n string,\n {\n column: TableColumn;\n checked: boolean;\n checkDisabled: boolean;\n commands?: TableBodyCellCommands;\n }\n >;\n }\n>;\n\ntype TLocalHeaderData = Record<string, { column: TableColumn; checked: boolean; commands?: TableHeadCellCommands }>;\n\ninterface WithForwardRefType<T = TableItem> extends React.FC<TableProps<T>> {\n <T = TableItem>(props: TableProps<T> & React.RefAttributes<TableCommands<T>>): ReturnType<React.FC<TableProps<T>>>;\n}\n\nlet _columnId = 0;\n\nconst Table: WithForwardRefType = React.forwardRef<TableCommands, TableProps>(\n (\n {\n caption,\n topHeadRows,\n columns: initColumns,\n items: initItems,\n paging: initPaging,\n pagingAlign,\n defaultAlign,\n defaultEllipsis,\n stickyHeader: initStickyHeader,\n height,\n minHeight,\n maxHeight,\n fullHeight,\n showOddColor,\n showEvenColor,\n cellPadding,\n footer,\n noData,\n pagination,\n sortable,\n onClick,\n onGetBodyRowClassName,\n onGetBodyRowStyle,\n onGetBodyRowSx,\n onGetBodyColumnClassName,\n onGetBodyColumnStyle,\n onGetBodyColumnSx,\n onPageChange,\n onSortChange,\n onCheckChange,\n // ---------------------------------------------------------------------------------------------------------------\n className,\n style: initStyle,\n sx,\n },\n ref\n ) => {\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const localHeaderDataRef = useRef<TLocalHeaderData>({});\n const localBodyDataRef = useRef<TLocalBodyData>({});\n const updateHeadCheckTimer = useRef<NodeJS.Timeout>();\n const fireOnCheckChangeTimer = useRef<Record<string, NodeJS.Timeout | undefined>>({});\n const simpleBarRef = useRef<SimpleBarCore>(null);\n const finalColumnsIdRef = useRef<string[] | undefined>([]);\n\n // sortable --------------------------------------------------------------------------------------------------------\n\n const sensors = useSensors(\n useSensor(MouseSensor, {\n // Require the mouse to move by 10 pixels before activating\n activationConstraint: {\n distance: 10,\n },\n }),\n useSensor(TouchSensor, {\n // Press delay of 250ms, with tolerance of 5px of movement\n activationConstraint: {\n delay: 250,\n tolerance: 5,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n );\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [menuOpen, setMenuOpen] = useState(false);\n const [openMenuId, setOpenMenuId] = useState<string | undefined>(undefined);\n\n // State - containerHeight -------------------------------------------------------------------------------------------\n\n const [containerHeight, setContainerHeight] = useState<number | undefined>();\n\n const { ref: containerHeightDetector } = useResizeDetector({\n handleHeight: true,\n handleWidth: false,\n onResize() {\n if (containerHeightDetector.current) {\n setContainerHeight(containerHeightDetector.current.getBoundingClientRect().height);\n } else {\n setContainerHeight(undefined);\n }\n },\n });\n\n // State - footerHeight --------------------------------------------------------------------------------------------\n\n const [pagingHeight, setPagingHeight] = useState<number | undefined>();\n\n const { ref: pagingHeightResizeDetector } = useResizeDetector({\n handleHeight: true,\n handleWidth: false,\n onResize() {\n if (pagingHeightResizeDetector.current) {\n setPagingHeight(pagingHeightResizeDetector.current.getBoundingClientRect().height);\n } else {\n setPagingHeight(undefined);\n }\n },\n });\n\n // State -----------------------------------------------------------------------------------------------------------\n\n const [columns, setColumns] = useAutoUpdateLayoutState<TableProps['columns']>(initColumns);\n const [finalColumns, setFinalColumns] = useState<TableColumn<TableItem>[]>();\n const [items, setItems] = useAutoUpdateLayoutState<TableProps['items']>(initItems);\n const [sortableItems, setSortableItems] = useState<(TableItem & { id: number | string })[]>();\n const [paging, setPaging] = useAutoUpdateLayoutState<TableProps['paging']>(initPaging);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const tableSx = useMemo(() => {\n const sx = {\n padding: typeof cellPadding === 'number' ? `${cellPadding}px` : cellPadding,\n };\n\n return {\n '> .MuiTableHead-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n '> .MuiTableBody-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n '> .MuiTableFooter-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n };\n }, [cellPadding]);\n\n // Function --------------------------------------------------------------------------------------------------------\n\n const makeSortableItems = useCallback((items?: TableProps['items']) => {\n return items?.map<TableItem & { id: number | string }>(({ id, ...item }, index) => {\n return { id: id == null ? `${uuid()}_${index}` : id, ...item };\n });\n }, []);\n\n const getFinalColumnId = useCallback(\n (column: TableColumn) => {\n if (finalColumns && finalColumnsIdRef.current) {\n const idx = finalColumns.indexOf(column);\n return finalColumnsIdRef.current[idx];\n } else {\n return '';\n }\n },\n [finalColumns]\n );\n\n const updateHeadCheck = useCallback(\n (column: TableColumn) => {\n if (updateHeadCheckTimer.current) {\n clearTimeout(updateHeadCheckTimer.current);\n updateHeadCheckTimer.current = undefined;\n }\n\n const columnId = getFinalColumnId(column);\n\n const headColumnData = localHeaderDataRef.current[columnId];\n if (headColumnData) {\n updateHeadCheckTimer.current = setTimeout(() => {\n updateHeadCheckTimer.current = undefined;\n\n const enabledCheckExists = !!Object.keys(localBodyDataRef.current).find((key) => {\n const columnData = localBodyDataRef.current[key].columns[columnId];\n if (columnData) {\n if (!columnData.checkDisabled) {\n return true;\n }\n }\n });\n\n const allChecked =\n enabledCheckExists &&\n !Object.keys(localBodyDataRef.current).find((key) => {\n const columnData = localBodyDataRef.current[key].columns[columnId];\n if (columnData) {\n if (!columnData.checkDisabled) {\n return !columnData.checked;\n }\n }\n });\n\n headColumnData.commands?.setCheckDisabled(!enabledCheckExists);\n headColumnData.commands?.setChecked(allChecked);\n }, 100);\n }\n },\n [getFinalColumnId]\n );\n\n const getCheckedItems = useCallback((columnId: string): TableItem[] => {\n const checkedItems: TableItem[] = [];\n Object.keys(localBodyDataRef.current).forEach((key) => {\n const itemData = localBodyDataRef.current[key];\n const columnData = itemData.columns[columnId];\n if (columnData) {\n if (columnData.checked) {\n checkedItems.push(itemData.item);\n }\n }\n });\n return checkedItems;\n }, []);\n\n const stopHeadCheckTimer = useCallback(() => {\n if (updateHeadCheckTimer.current) {\n clearTimeout(updateHeadCheckTimer.current);\n updateHeadCheckTimer.current = undefined;\n }\n }, []);\n\n const clearFireOnCheckChangeTimer = useCallback(() => {\n Object.keys(fireOnCheckChangeTimer.current).forEach((key) => {\n if (fireOnCheckChangeTimer.current[key]) {\n clearTimeout(fireOnCheckChangeTimer.current[key]);\n }\n });\n fireOnCheckChangeTimer.current = {};\n }, []);\n\n const fireOnCheckChange = useCallback(\n (columnId: string) => {\n if (fireOnCheckChangeTimer.current[columnId]) {\n clearTimeout(fireOnCheckChangeTimer.current[columnId]);\n fireOnCheckChangeTimer.current[columnId] = undefined;\n }\n if (onCheckChange) {\n fireOnCheckChangeTimer.current[columnId] = setTimeout(() => {\n fireOnCheckChangeTimer.current[columnId] = undefined;\n\n onCheckChange && onCheckChange(columnId, getCheckedItems(columnId));\n }, 100);\n }\n },\n [getCheckedItems, onCheckChange]\n );\n\n const simpleBarScrollToTop = useCallback(() => {\n simpleBarRef.current?.getScrollElement()?.scrollTo({ top: 0 });\n }, []);\n\n // Effect ----------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n return () => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n\n Object.keys(localHeaderDataRef.current).forEach((key) => {\n if (localHeaderDataRef.current[key].column.type === 'check') {\n localHeaderDataRef.current[key].commands?.setChecked(false);\n }\n });\n\n Object.keys(localBodyDataRef.current).forEach((key) => {\n Object.keys(localBodyDataRef.current[key].columns).forEach((cKey) => {\n localBodyDataRef.current[key].columns[cKey].commands?.setChecked(false);\n });\n });\n\n setSortableItems(makeSortableItems(items));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n\n useEffect(() => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n\n const newFinalColumns = columns?.filter(columnFilter);\n setFinalColumns(newFinalColumns);\n finalColumnsIdRef.current = newFinalColumns?.map((col) => {\n if (col.id) {\n return col.id;\n } else {\n _columnId += 1;\n return `$c$${_columnId}$`;\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [columns]);\n\n useLayoutEffect(() => {\n clearFireOnCheckChangeTimer();\n\n if (sortableItems) {\n localBodyDataRef.current = sortableItems.reduce<TLocalBodyData>((res, item) => {\n res[item.id] = {\n item,\n columns: {},\n };\n\n if (finalColumns) {\n finalColumns.forEach((c) => {\n const columnId = getFinalColumnId(c);\n\n if (localBodyDataRef.current[item.id]?.columns[columnId]) {\n res[item.id].columns[columnId] = localBodyDataRef.current[item.id].columns[columnId];\n } else {\n res[item.id].columns[columnId] = {\n column: c,\n checked: false,\n checkDisabled: false,\n };\n }\n });\n }\n return res;\n }, {});\n } else {\n localBodyDataRef.current = {};\n }\n }, [sortableItems, finalColumns, clearFireOnCheckChangeTimer, getFinalColumnId]);\n\n useLayoutEffect(() => {\n if (finalColumns) {\n localHeaderDataRef.current = finalColumns.reduce<TLocalHeaderData>((res, c) => {\n res[getFinalColumnId(c)] = { column: c, checked: false };\n return res;\n }, {});\n } else {\n localHeaderDataRef.current = {};\n }\n }, [finalColumns, getFinalColumnId]);\n\n // Commands --------------------------------------------------------------------------------------------------------\n\n useLayoutEffect(() => {\n if (ref) {\n let lastColumns = columns;\n let lastItems = items;\n let lastPaging = paging;\n\n const commands: TableCommands = {\n getColumns: () => lastColumns,\n setColumns: (columns) => {\n lastColumns = columns;\n setColumns(lastColumns);\n },\n getItems: () => lastItems,\n setItems: (items) => {\n lastItems = items;\n setItems(items);\n },\n getPaging: () => lastPaging,\n setItemsPaging: (items, paging) => {\n lastItems = items;\n lastPaging = paging;\n setItems(lastItems);\n setPaging(lastPaging);\n },\n resetSort() {\n setSortableItems(makeSortableItems(lastItems));\n },\n getCheckedItems,\n scrollToTop: simpleBarScrollToTop,\n };\n\n if (typeof ref === 'function') {\n ref(commands);\n } else {\n ref.current = commands;\n }\n }\n }, [\n ref,\n columns,\n items,\n paging,\n makeSortableItems,\n setColumns,\n setItems,\n setPaging,\n getCheckedItems,\n simpleBarScrollToTop,\n ]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n const { active, over } = event;\n\n if (active && over) {\n setSortableItems((items) => {\n if (items) {\n let oldIndex: number | null = null;\n let newIndex: number | null = null;\n\n items.find((item, idx) => {\n if (item.id === active.id) {\n oldIndex = idx;\n } else if (item.id === over.id) {\n newIndex = idx;\n }\n return oldIndex != null && newIndex != null;\n });\n\n if (oldIndex != null && newIndex != null) {\n const finalItems = arrayMove(items, oldIndex, newIndex);\n onSortChange && onSortChange(finalItems);\n return finalItems;\n } else {\n return items;\n }\n } else {\n return items;\n }\n });\n }\n },\n [onSortChange]\n );\n\n const handleHeadCheckChange = useCallback(\n (column: TableColumn, checked: boolean) => {\n Object.keys(localBodyDataRef.current).forEach((key) => {\n const data = localBodyDataRef.current[key].columns[getFinalColumnId(column)];\n if (data) {\n if (!data.checkDisabled) {\n data.commands?.setChecked(checked);\n }\n }\n });\n },\n [getFinalColumnId]\n );\n\n const handleBodyCheckChange = useCallback(\n (item: TableItem, column: TableColumn) => {\n updateHeadCheck(column);\n },\n [updateHeadCheck]\n );\n\n const handlePageChange = useCallback(\n (page: number) => {\n simpleBarScrollToTop();\n onPageChange && onPageChange(page);\n },\n [onPageChange, simpleBarScrollToTop]\n );\n\n // TableContext Function ---------------------------------------------------------------------------------------------\n\n const TableContextSetMenuOpen = useCallback(\n (newMenuOpen: boolean, newOpenMenuId: string | undefined) => {\n if (newMenuOpen) {\n setMenuOpen(newMenuOpen);\n setOpenMenuId(newOpenMenuId);\n } else {\n if (openMenuId === newOpenMenuId) {\n setMenuOpen(false);\n setOpenMenuId(undefined);\n }\n }\n },\n [openMenuId]\n );\n\n const TableContextSetItemColumnChecked = useCallback(\n (item: TableItem, column: TableColumn, checked: boolean) => {\n const columnId = getFinalColumnId(column);\n const data = localBodyDataRef.current[item.id]?.columns[columnId];\n if (data) {\n data.checked = checked;\n fireOnCheckChange(columnId);\n }\n },\n [fireOnCheckChange, getFinalColumnId]\n );\n\n const TableContextSetItemColumnCheckDisabled = useCallback(\n (item: TableItem, column: TableColumn, disabled: boolean) => {\n const data = localBodyDataRef.current[item.id]?.columns[getFinalColumnId(column)];\n if (data) {\n data.checkDisabled = disabled;\n updateHeadCheck(column);\n }\n },\n [getFinalColumnId, updateHeadCheck]\n );\n\n const TableContextSetItemColumnCommands = useCallback(\n (item: TableItem, column: TableColumn, commands: TableBodyCellCommands) => {\n const data = localBodyDataRef.current[item.id]?.columns[getFinalColumnId(column)];\n if (data) {\n data.commands = commands;\n }\n },\n [getFinalColumnId]\n );\n\n const TableContextSetHeadColumnChecked = useCallback(\n (column: TableColumn, checked: boolean) => {\n const data = localHeaderDataRef.current[getFinalColumnId(column)];\n if (data) {\n data.checked = checked;\n }\n },\n [getFinalColumnId]\n );\n\n const TableContextSetHeadColumnCommands = useCallback(\n (column: TableColumn, commands: TableHeadCellCommands) => {\n const data = localHeaderDataRef.current[getFinalColumnId(column)];\n if (data) {\n data.commands = commands;\n }\n },\n [getFinalColumnId]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const tableContextValue = useMemo(\n () => ({\n menuOpen,\n openMenuId,\n setMenuOpen: TableContextSetMenuOpen,\n setItemColumnChecked: TableContextSetItemColumnChecked,\n setItemColumnCheckDisabled: TableContextSetItemColumnCheckDisabled,\n setItemColumnCommands: TableContextSetItemColumnCommands,\n setHeadColumnChecked: TableContextSetHeadColumnChecked,\n setHeadColumnCommands: TableContextSetHeadColumnCommands,\n }),\n [\n TableContextSetHeadColumnChecked,\n TableContextSetHeadColumnCommands,\n TableContextSetItemColumnCheckDisabled,\n TableContextSetItemColumnChecked,\n TableContextSetItemColumnCommands,\n TableContextSetMenuOpen,\n menuOpen,\n openMenuId,\n ]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const isNoData = useMemo(() => !!sortableItems && sortableItems.length <= 0, [sortableItems]);\n const finalPagingHeight = useMemo(\n () => (paging && paging.total > 0 ? pagingHeight || 0 : 0),\n [paging, pagingHeight]\n );\n const stickyHeader = useMemo(() => !isNoData && initStickyHeader, [initStickyHeader, isNoData]);\n\n const style = useMemo((): CSSProperties => {\n if (fullHeight) {\n return {\n width: '100%',\n ...initStyle,\n flex: 1,\n justifyContent: 'flex-end',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n };\n } else {\n return { width: '100%', ...initStyle };\n }\n }, [initStyle, fullHeight]);\n\n const simpleBarStyle = useMemo((): CSSProperties => {\n if (fullHeight) {\n return {\n height: (containerHeight || 0) - (finalPagingHeight || 0) - 1,\n flex: 1,\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n marginBottom: finalPagingHeight || 0,\n };\n } else {\n return { height, minHeight, maxHeight, marginBottom: -1 };\n }\n }, [fullHeight, containerHeight, finalPagingHeight, height, minHeight, maxHeight]);\n\n const tableStyle = useMemo((): CSSProperties | undefined => {\n if (fullHeight && isNoData) {\n return { flex: 1, height: (containerHeight || 0) - finalPagingHeight - 2 };\n }\n }, [fullHeight, isNoData, containerHeight, finalPagingHeight]);\n\n const pagingStyle = useMemo((): CSSProperties => {\n const style = { padding: '13px 0', borderTop: '1px solid rgba(224, 224, 224, 1)' };\n if (fullHeight) {\n return { position: 'sticky', ...style };\n }\n return style;\n }, [fullHeight]);\n\n const tableTopHead = useMemo(\n () =>\n finalColumns && (\n <TableTopHead\n caption={caption}\n rows={topHeadRows}\n columns={finalColumns}\n defaultAlign={defaultAlign}\n onCheckChange={handleHeadCheckChange}\n />\n ),\n [caption, defaultAlign, finalColumns, handleHeadCheckChange, topHeadRows]\n );\n\n const tableBody = useMemo(\n () =>\n finalColumns && (\n <TableBody>\n {sortableItems ? (\n sortableItems.length > 0 ? (\n <SortableContext items={sortableItems} strategy={verticalListSortingStrategy}>\n {sortableItems.map((item, idx) => (\n <TableBodyRow\n key={item.id}\n className={classNames(\n !!showOddColor && 'odd-color',\n !!showEvenColor && 'even-color',\n onGetBodyRowClassName ? onGetBodyRowClassName(item, idx) : undefined\n )}\n style={onGetBodyRowStyle ? onGetBodyRowStyle(item, idx) : undefined}\n sx={onGetBodyRowSx ? onGetBodyRowSx(item, idx) : undefined}\n onGetColumnClassName={onGetBodyColumnClassName}\n onGetColumnStyle={onGetBodyColumnStyle}\n onGetColumnSx={onGetBodyColumnSx}\n hover\n id={item.id}\n index={idx}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n sortable={sortable}\n columns={finalColumns}\n item={item}\n onClick={onClick}\n onCheckChange={handleBodyCheckChange}\n />\n ))}\n </SortableContext>\n ) : (\n <StyledBodyRow>\n <TableCell colSpan={finalColumns.length} style={{ flex: 1 }}>\n {noData ? (\n noData\n ) : (\n <StyledNoDataDiv>\n <div>\n <Icon>error</Icon>\n </div>\n <div>검색된 정보가 없습니다.</div>\n </StyledNoDataDiv>\n )}\n </TableCell>\n </StyledBodyRow>\n )\n ) : undefined}\n </TableBody>\n ),\n [\n defaultAlign,\n defaultEllipsis,\n finalColumns,\n handleBodyCheckChange,\n noData,\n onClick,\n onGetBodyColumnClassName,\n onGetBodyColumnStyle,\n onGetBodyColumnSx,\n onGetBodyRowClassName,\n onGetBodyRowStyle,\n onGetBodyRowSx,\n showEvenColor,\n showOddColor,\n sortable,\n sortableItems,\n ]\n );\n\n const tableFooter = useMemo(\n () =>\n finalColumns &&\n !isNoData &&\n footer && (\n <TableFooter>\n <TableRow>\n {finalColumns.map((column, idx) => (\n <TableFooterCell key={idx} column={column} defaultAlign={defaultAlign} />\n ))}\n </TableRow>\n </TableFooter>\n ),\n [defaultAlign, finalColumns, footer, isNoData]\n );\n\n const tablePaging = useMemo(\n () =>\n finalColumns &&\n paging &&\n paging.total > 0 && (\n <Stack ref={fullHeight ? pagingHeightResizeDetector : undefined} alignItems={pagingAlign} style={pagingStyle}>\n <TablePagination\n className={pagination?.className}\n style={pagination?.style}\n sx={pagination?.sx}\n paging={paging}\n align={pagingAlign}\n onChange={handlePageChange}\n />\n </Stack>\n ),\n [\n finalColumns,\n fullHeight,\n handlePageChange,\n pagination?.className,\n pagination?.style,\n pagination?.sx,\n paging,\n pagingAlign,\n pagingHeightResizeDetector,\n pagingStyle,\n ]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return finalColumns ? (\n <TableContextProvider value={tableContextValue}>\n <Paper\n ref={fullHeight ? containerHeightDetector : undefined}\n className={classNames(\n 'Table',\n className,\n !!stickyHeader && 'sticky-header',\n !!fullHeight && 'full-height',\n !!showOddColor && 'odd-color',\n !!showEvenColor && 'even-color',\n !!sortable && 'sortable'\n )}\n variant='outlined'\n style={style}\n sx={sx}\n >\n <SimpleBar ref={simpleBarRef} style={simpleBarStyle}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={handleDragEnd}>\n <MuiTable stickyHeader={stickyHeader} sx={tableSx} style={tableStyle}>\n {tableTopHead}\n {tableBody}\n {tableFooter}\n </MuiTable>\n </DndContext>\n </SimpleBar>\n {tablePaging}\n </Paper>\n </TableContextProvider>\n ) : null;\n }\n);\n\nTable.displayName = 'Table';\nTable.defaultProps = TableDefaultProps;\n\nexport default Table;\n","import React from 'react';\nimport { TableProps, TableCommands, TableItem } from '../Table';\nimport { FormValueMap, SearchCommands, SearchProps } from '@pdg/react-form';\nimport { ReactNode } from 'react';\nimport { CommonSxProps } from '../@types';\n\nexport interface SearchTableData<T = TableItem> {\n items: TableProps<T>['items'];\n paging?: TableProps<T>['paging'];\n}\n\nexport interface SearchTableSearchProps extends Omit<SearchProps, 'ref' | 'color' | 'autoSubmit' | 'onSubmit'> {\n ref?: React.ForwardedRef<SearchCommands>;\n searchGroups?: ReactNode;\n}\n\nexport interface SearchTableTableProps<T = TableItem>\n extends Omit<TableProps<T>, 'ref' | 'items' | 'paging' | 'onPageChange'> {\n ref?: React.ForwardedRef<TableCommands<T>>;\n}\n\nexport interface SearchTableProps<T = TableItem> extends CommonSxProps {\n color?: SearchProps['color'];\n hash?: boolean;\n stickyHeader?: boolean;\n fullHeight?: boolean;\n search?: SearchTableSearchProps;\n table: SearchTableTableProps<T>;\n betweenSearchTableComponent?: ReactNode;\n onGetData?(data: FormValueMap): Promise<SearchTableData<T>>;\n onRequestHashChange?(hash: string): void;\n}\n\nexport const SearchTableDefaultProps = {};\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface SearchTableCommands<T = TableItem> {\n reload(page?: number): void;\n getLastLoadData(): FormValueMap;\n getSearch(): SearchCommands | undefined;\n getTable(): TableCommands<T> | undefined;\n}\n","import React, { CSSProperties, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Grid } from '@mui/material';\nimport {\n SearchTableProps,\n SearchTableDefaultProps,\n SearchTableSearchProps,\n SearchTableCommands,\n SearchTableData,\n SearchTableTableProps,\n} from './SearchTable.types';\nimport {\n FormCheckValueItemCommands,\n FormDateRangePickerCommands,\n FormDateValueItemCommands,\n FormHidden,\n FormMonthPickerCommands,\n FormMonthRangePickerCommands,\n FormRangeValueItemNameCommands,\n FormValue,\n FormValueMap,\n FormYearRangePickerCommands,\n Search,\n SearchCommands,\n SearchGroup,\n} from '@pdg/react-form';\nimport { Table, TableCommands, TableItem } from '../Table';\nimport { equal, notEmpty } from '../@util';\nimport dayjs from 'dayjs';\n\ninterface HashValueMap {\n [key: string]: string;\n}\n\ninterface SearchInfo {\n ref?: SearchTableSearchProps['ref'];\n searchGroups?: SearchTableSearchProps['searchGroups'];\n props?: Omit<SearchTableSearchProps, 'ref' | 'searchGroups'>;\n}\n\ninterface TableInfo {\n ref?: SearchTableTableProps['ref'];\n props?: Omit<SearchTableTableProps, 'ref'>;\n}\n\ninterface WithForwardRefType<T = TableItem> extends React.FC<SearchTableProps<T>> {\n <T = TableItem>(\n props: SearchTableProps<T> & React.RefAttributes<SearchTableCommands<T>>\n ): ReturnType<React.FC<SearchTableProps<T>>>;\n}\n\nconst SearchTable: WithForwardRefType = React.forwardRef<SearchTableCommands, SearchTableProps>(\n (\n {\n color,\n hash,\n stickyHeader,\n fullHeight,\n search,\n table,\n betweenSearchTableComponent,\n onGetData,\n onRequestHashChange,\n // ---------------------------------------------------------------------------------------------------------------\n className,\n style: initStyle,\n sx,\n },\n ref\n ) => {\n const searchRef = useRef<SearchCommands>();\n const tableRef = useRef<TableCommands>();\n\n //------------------------------------------------------------------------------------------------------------------\n\n const getSearchInfo = useCallback((search: SearchTableProps['search']) => {\n const searchInfo: SearchInfo = {};\n if (search) {\n const { ref, searchGroups, ...props } = search;\n searchInfo.ref = ref;\n searchInfo.searchGroups = searchGroups;\n searchInfo.props = props;\n }\n return searchInfo;\n }, []);\n\n const getTableInfo = useCallback((table: SearchTableProps['table']) => {\n const tableInfo: TableInfo = {};\n if (table) {\n const { ref, ...props } = table;\n tableInfo.ref = ref;\n tableInfo.props = props;\n }\n return tableInfo;\n }, []);\n\n // Ref -------------------------------------------------------------------------------------------------------------\n\n const lastGetDataDataRef = useRef<FormValueMap>({});\n\n // State -----------------------------------------------------------------------------------------------------------\n\n const [isFirstSearchSubmit, setIsFirstSearchSubmit] = useState(true);\n\n const [tableData, setTableData] = useState<SearchTableData>();\n\n // searchInfo ------------------------------------------------------------------------------------------------------\n\n const searchInfoFirstUseEffect = useRef(true);\n const [searchInfo, setSearchInfo] = useState<SearchInfo>(() => getSearchInfo(search));\n useEffect(() => {\n if (searchInfoFirstUseEffect.current) {\n searchInfoFirstUseEffect.current = false;\n } else {\n setSearchInfo(getSearchInfo(search));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [search]);\n\n // tableInfo -------------------------------------------------------------------------------------------------------\n\n const tableInfoFirstUseEffect = useRef(true);\n const [tableInfo, setTableInfo] = useState<TableInfo>(() => getTableInfo(table));\n useEffect(() => {\n if (tableInfoFirstUseEffect.current) {\n tableInfoFirstUseEffect.current = false;\n } else {\n setTableInfo(getTableInfo(table));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [table]);\n\n // Function - getData ----------------------------------------------------------------------------------------------\n\n const getData = useCallback(\n (data: FormValueMap) => {\n lastGetDataDataRef.current = data;\n\n if (onGetData) {\n onGetData(data).then(setTableData);\n }\n },\n [onGetData]\n );\n\n // Function ----------------------------------------------------------------------------------------------------------\n\n const deHash = useCallback((): HashValueMap => {\n const values: HashValueMap = {};\n const hash = window.location.hash.substring(1);\n hash.replace(/([^=&]+)=([^&]*)/g, (substring, key, value) => {\n values[decodeURIComponent(key)] = decodeURIComponent(value);\n return substring;\n });\n return values;\n }, []);\n\n const hashToSearchValue = useCallback((): FormValueMap | undefined => {\n const commands = searchRef.current;\n if (commands) {\n commands.resetAll();\n\n const hashValues = deHash();\n Object.keys(hashValues).forEach((name) => {\n const value: FormValue = hashValues[name];\n if (name === 'page') {\n commands.setValue(name, Number(value) || 1);\n } else {\n const itemCommands = commands.getItem(name);\n if (itemCommands) {\n switch (itemCommands.getType()) {\n case 'FormCheckbox':\n if (notEmpty(value)) {\n const checkCommands = itemCommands as FormCheckValueItemCommands<any>;\n if (value.toString() === itemCommands.getValue()?.toString()) {\n checkCommands.setChecked(true);\n } else if (value.toString() === checkCommands.getUncheckedValue()?.toString()) {\n checkCommands.setChecked(false);\n }\n }\n break;\n case 'FormDatePicker':\n case 'FormDateTimePicker':\n case 'FormTimePicker':\n {\n if (notEmpty(value)) {\n const dateCommands = itemCommands as FormDateValueItemCommands;\n const format = dateCommands.getFormValueFormat();\n const itemValue = dayjs(value, format);\n itemCommands.setValue(itemValue.isValid() ? itemValue : null);\n } else {\n itemCommands.setValue(null);\n }\n }\n break;\n case 'FormDateRangePicker':\n {\n const dateRangePickerCommands = itemCommands as FormDateRangePickerCommands;\n const fromName = dateRangePickerCommands.getFormValueFromName();\n const toName = dateRangePickerCommands.getFormValueToName();\n const format = dateRangePickerCommands.getFormValueFormat();\n\n if (name === fromName) {\n if (notEmpty(value)) {\n const startValue = dayjs(value, format);\n dateRangePickerCommands.setFromValue(startValue.isValid() ? startValue : null);\n } else {\n dateRangePickerCommands.setFromValue(null);\n }\n } else if (name === toName) {\n if (notEmpty(value)) {\n const endValue = dayjs(value, format);\n dateRangePickerCommands.setToValue(endValue.isValid() ? endValue : null);\n } else {\n dateRangePickerCommands.setToValue(null);\n }\n }\n }\n break;\n case 'FormYearRangePicker':\n {\n const dateRangePickerCommands = itemCommands as FormYearRangePickerCommands;\n const fromName = dateRangePickerCommands.getFormValueFromName();\n const toName = dateRangePickerCommands.getFormValueToName();\n\n if (name === fromName) {\n dateRangePickerCommands.setFromValue(notEmpty(value) ? Number(value) : null);\n } else if (name === toName) {\n dateRangePickerCommands.setToValue(notEmpty(value) ? Number(value) : null);\n }\n }\n break;\n case 'FormMonthPicker':\n {\n const monthCommands = itemCommands as FormMonthPickerCommands;\n const yearName = monthCommands.getFormValueYearName();\n const monthName = monthCommands.getFormValueMonthName();\n\n if (name === yearName) {\n monthCommands.setYear(notEmpty(value) ? Number(value) : null);\n } else if (name === monthName) {\n monthCommands.setMonth(notEmpty(value) ? Number(value) : null);\n }\n }\n break;\n case 'FormMonthRangePicker':\n {\n const monthRangeCommands = itemCommands as FormMonthRangePickerCommands;\n const fromYearName = monthRangeCommands.getFormValueFromYearName();\n const fromMonthName = monthRangeCommands.getFormValueFromMonthName();\n const toYearName = monthRangeCommands.getFormValueToYearName();\n const toMonthName = monthRangeCommands.getFormValueToMonthName();\n\n if (name === fromYearName) {\n monthRangeCommands.setFromYear(notEmpty(value) ? Number(value) : null);\n } else if (name === fromMonthName) {\n monthRangeCommands.setFromMonth(notEmpty(value) ? Number(value) : null);\n } else if (name === toYearName) {\n monthRangeCommands.setToYear(notEmpty(value) ? Number(value) : null);\n } else if (name === toMonthName) {\n monthRangeCommands.setToMonth(notEmpty(value) ? Number(value) : null);\n }\n }\n break;\n default:\n commands.setValue(name, value);\n break;\n }\n }\n }\n });\n return commands.getAllFormValue();\n }\n }, [searchRef, deHash]);\n\n // Commands --------------------------------------------------------------------------------------------------------\n\n useLayoutEffect(() => {\n if (ref) {\n const commands: SearchTableCommands = {\n reload: (page?: number) => {\n if (page != null) {\n tableRef.current?.scrollToTop();\n }\n\n let finalData: FormValueMap;\n if (lastGetDataDataRef.current) {\n finalData = { ...lastGetDataDataRef.current };\n if (page != null) {\n searchRef.current?.setValue('page', page);\n\n finalData.page = page;\n }\n } else {\n if (hash) {\n hashToSearchValue();\n }\n\n if (page != null) {\n searchRef.current?.setValue('page', page);\n }\n\n finalData = searchRef.current?.getAllFormValue() || {};\n }\n\n getData(finalData);\n },\n getLastLoadData: () => lastGetDataDataRef.current || {},\n getSearch: () => searchRef.current,\n getTable: () => tableRef.current,\n };\n\n if (typeof ref === 'function') {\n ref(commands);\n } else {\n ref.current = commands;\n }\n }\n }, [ref, hash, lastGetDataDataRef, searchRef, tableRef, getData, hashToSearchValue]);\n\n //--------------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (hash) {\n const data = hashToSearchValue();\n if (data) getData(data);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [window.location.hash]);\n\n //--------------------------------------------------------------------------------------------------------------------\n\n const hashChange = useCallback(\n (params: FormValueMap) => {\n if (onRequestHashChange) {\n const hashes: string[] = [];\n Object.keys(params).forEach((name) => {\n const value = params[name];\n if (name === 'page') {\n if (Number(value) > 1) {\n hashes.push(`${name}=${value}`);\n }\n } else {\n if (searchRef.current) {\n const itemCommands = searchRef.current.getItem(name);\n\n if (itemCommands) {\n let resetValue: FormValue | null = null;\n\n switch (itemCommands.getType()) {\n case 'FormDateRangePicker':\n case 'FormYearRangePicker':\n {\n const commands = itemCommands as FormRangeValueItemNameCommands;\n const itemName = itemCommands.getName();\n const fromName = commands.getFormValueFromName();\n const fromSuffix = commands.getFormValueFromNameSuffix();\n const toName = commands.getFormValueToName();\n const toSuffix = commands.getFormValueToNameSuffix();\n\n if (name === fromName) {\n resetValue = searchRef.current.getFormReset(itemName, fromSuffix);\n } else if (name === toName) {\n resetValue = searchRef.current.getFormReset(itemName, toSuffix);\n }\n }\n break;\n case 'FormMonthPicker':\n {\n const commands = itemCommands as FormMonthPickerCommands;\n const itemName = commands.getName();\n const yearName = commands.getFormValueYearName();\n const yearSuffix = commands.getFormValueYearNameSuffix();\n const monthName = commands.getFormValueMonthName();\n const monthSuffix = commands.getFormValueMonthNameSuffix();\n\n if (name === yearName) {\n resetValue = searchRef.current.getFormReset(itemName, yearSuffix);\n } else if (name === monthName) {\n resetValue = searchRef.current.getFormReset(itemName, monthSuffix);\n }\n }\n break;\n case 'FormMonthRangePicker':\n {\n const commands = itemCommands as FormMonthRangePickerCommands;\n const itemName = commands.getName();\n const fromYearName = commands.getFormValueFromYearName();\n const fromYearSuffix = commands.getFormValueFromYearNameSuffix();\n const fromMonthName = commands.getFormValueFromMonthName();\n const fromMonthSuffix = commands.getFormValueFromMonthNameSuffix();\n const toYearName = commands.getFormValueToYearName();\n const toYearSuffix = commands.getFormValueToYearNameSuffix();\n const toMonthName = commands.getFormValueToMonthName();\n const toMonthSuffix = commands.getFormValueToMonthNameSuffix();\n\n if (name === fromYearName) {\n resetValue = searchRef.current.getFormReset(itemName, fromYearSuffix);\n } else if (name === fromMonthName) {\n resetValue = searchRef.current.getFormReset(itemName, fromMonthSuffix);\n } else if (name === toYearName) {\n resetValue = searchRef.current.getFormReset(itemName, toYearSuffix);\n } else if (name === toMonthName) {\n resetValue = searchRef.current.getFormReset(itemName, toMonthSuffix);\n }\n }\n break;\n default:\n resetValue = searchRef.current.getFormReset(name);\n break;\n }\n\n if (resetValue != null && !equal(resetValue, value) && typeof value !== 'object') {\n hashes.push(`${name}=${encodeURIComponent(value)}`);\n }\n }\n }\n }\n });\n const finalHash = hashes.join('&');\n if (window.location.hash.substring(1) === finalHash) {\n getData(params);\n } else {\n onRequestHashChange(hashes.join('&'));\n }\n }\n },\n [onRequestHashChange, getData]\n );\n\n //------------------------------------------------------------------------------------------------------------------\n\n const handlePageChange = useCallback(\n (page: number) => {\n searchRef.current?.setValue('page', page);\n\n let finalData: FormValueMap | undefined;\n if (lastGetDataDataRef.current) {\n finalData = { ...lastGetDataDataRef.current };\n finalData.page = page;\n } else {\n finalData = searchRef.current?.getAllFormValue();\n }\n\n if (hash) {\n hashChange(finalData || {});\n } else {\n getData(finalData || {});\n }\n },\n [searchRef, hash, hashChange, getData]\n );\n\n const handleSearchSubmit = useCallback(\n (data: FormValueMap) => {\n tableRef.current?.scrollToTop();\n\n if (isFirstSearchSubmit) {\n setIsFirstSearchSubmit(false);\n if (!hash) {\n getData(data);\n }\n } else {\n searchRef.current?.setValue('page', 1);\n const finalData: FormValueMap = { ...data, page: 1 };\n if (hash) {\n hashChange(finalData);\n } else {\n getData(finalData);\n }\n }\n },\n [searchRef, hash, hashChange, getData, isFirstSearchSubmit]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const style = useMemo((): CSSProperties | undefined => {\n if (fullHeight) {\n return { ...initStyle, flex: 1, display: 'flex' };\n } else {\n return initStyle;\n }\n }, [initStyle, fullHeight]);\n\n const tableContainerStyle = useMemo((): CSSProperties | undefined => {\n if (fullHeight) {\n return { flex: 1, display: 'flex', flexDirection: 'column' };\n }\n }, [fullHeight]);\n\n //------------------------------------------------------------------------------------------------------------------\n\n return (\n <Grid\n container\n direction='column'\n spacing={1}\n className={classNames('SearchTable', className)}\n style={style}\n sx={sx}\n >\n <Grid item sx={{ display: searchInfo.searchGroups ? undefined : 'none' }}>\n <Search\n color={color}\n {...searchInfo.props}\n ref={(commands: SearchCommands) => {\n if (searchInfo.ref) {\n if (typeof searchInfo.ref === 'function') {\n searchInfo.ref(commands);\n } else {\n searchInfo.ref.current = commands;\n }\n }\n searchRef.current = commands || undefined;\n }}\n autoSubmit\n onSubmit={handleSearchSubmit}\n >\n <SearchGroup hidden>\n <FormHidden name='page' value={1} />\n </SearchGroup>\n {searchInfo.searchGroups}\n </Search>\n </Grid>\n {betweenSearchTableComponent && <Grid item>{betweenSearchTableComponent}</Grid>}\n <Grid item style={tableContainerStyle}>\n <Table\n {...tableInfo.props}\n stickyHeader={stickyHeader || tableInfo.props?.stickyHeader}\n fullHeight={fullHeight || tableInfo.props?.fullHeight}\n ref={(commands: TableCommands) => {\n if (tableInfo.ref) {\n if (typeof tableInfo.ref === 'function') {\n tableInfo.ref(commands);\n } else {\n tableInfo.ref.current = commands;\n }\n }\n tableRef.current = commands || undefined;\n }}\n items={tableData?.items}\n paging={tableData?.paging}\n onPageChange={handlePageChange}\n />\n </Grid>\n </Grid>\n );\n }\n);\n\nSearchTable.displayName = 'SearchTable';\nSearchTable.defaultProps = SearchTableDefaultProps;\n\nexport default SearchTable;\n","import { ButtonProps } from '@mui/material';\n\nexport interface TableButtonProps extends Omit<ButtonProps, 'size' | 'startIcon' | 'endIcon'> {\n icon?: string;\n startIcon?: string;\n endIcon?: string;\n}\n\nexport const TableButtonDefaultProps: Pick<TableButtonProps, 'variant' | 'color'> = {\n variant: 'outlined',\n color: 'primary',\n};\n","import { IconProps } from '@mui/material';\n\nexport interface TableIconProps extends IconProps {\n children: string;\n}\n\nexport const TableIconDefaultProps = {};\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { Icon } from '@mui/material';\nimport { TableIconProps as Props, TableIconDefaultProps } from './TableIcon.types';\n\nconst TableIcon = React.forwardRef<HTMLAnchorElement, Props>(({ className, children: initChildren, ...props }, ref) => {\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const children = useMemo(\n () => initChildren.replace(/[A-Z]/g, (letter, idx) => `${idx > 0 ? '_' : ''}${letter.toLowerCase()}`),\n [initChildren]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <Icon ref={ref} {...props} className={classNames('TableIcon', className)}>\n {children}\n </Icon>\n );\n});\n\nTableIcon.displayName = 'TableIcon';\nTableIcon.defaultProps = TableIconDefaultProps;\n\nexport default TableIcon;\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { Button } from '@mui/material';\nimport { TableButtonProps as Props, TableButtonDefaultProps } from './TableButton.types';\nimport TableIcon from '../TableIcon';\n\nconst TableButton = React.forwardRef<HTMLButtonElement, Props>(\n ({ children, className, sx: initSx, color, icon, startIcon, endIcon, onClick, ...props }, ref) => {\n const sx = useMemo(\n () => ({ minWidth: 0, px: !startIcon && !endIcon ? 0.7 : 1.7, ...initSx }),\n [endIcon, initSx, startIcon]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <Button\n ref={ref}\n className={classNames(className, 'TableButton')}\n type='button'\n size='small'\n sx={sx}\n color={color}\n onClick={onClick}\n startIcon={\n startIcon ? (\n <TableIcon fontSize='small' sx={{ mr: -0.5 }}>\n {startIcon}\n </TableIcon>\n ) : undefined\n }\n endIcon={\n endIcon ? (\n <TableIcon fontSize='small' sx={{ ml: -0.5 }}>\n {endIcon}\n </TableIcon>\n ) : undefined\n }\n {...props}\n >\n {icon && (\n <TableIcon fontSize='small' color={color}>\n {icon}\n </TableIcon>\n )}\n {children}\n </Button>\n );\n }\n);\n\nTableButton.displayName = 'TableButton';\nTableButton.defaultProps = TableButtonDefaultProps;\n\nexport default TableButton;\n","import { ButtonProps } from '@mui/material';\nimport { ReactElement } from 'react';\nimport { PopperPlacementType } from '@mui/base/Popper/Popper.types';\n\nexport interface TableMenuButtonProps extends Omit<ButtonProps, 'size' | 'startIcon' | 'endIcon' | 'onClick'> {\n icon?: string;\n startIcon?: string;\n endIcon?: string;\n placement?: PopperPlacementType;\n inModal?: boolean;\n zIndex?: number;\n menuList: ReactElement;\n}\n\nexport const TableMenuButtonDefaultProps: Pick<TableMenuButtonProps, 'variant' | 'color' | 'placement'> = {\n variant: 'outlined',\n color: 'primary',\n placement: 'bottom',\n};\n","import React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Button, ClickAwayListener, Grow, Paper, Popper } from '@mui/material';\nimport { TableMenuButtonProps as Props, TableMenuButtonDefaultProps } from './TableMenuButton.types';\nimport TableIcon from '../TableIcon';\nimport useTableState from '../TableContext/useTableState';\n\nconst TableMenuButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n className,\n sx: initSx,\n color,\n icon,\n startIcon,\n endIcon,\n placement,\n inModal,\n zIndex,\n menuList,\n ...props\n },\n ref\n ) => {\n // ID ----------------------------------------------------------------------------------------------------------------\n\n const buttonId = useId();\n const menuId = useId();\n\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen, openMenuId, setMenuOpen } = useTableState();\n\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const anchorRef = useRef<HTMLButtonElement | null>();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [open, setOpen] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (open && menuOpen && openMenuId !== menuId) {\n setOpen(false);\n }\n }, [menuId, menuOpen, open, openMenuId]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const sx = useMemo(\n () => ({ minWidth: 0, px: !startIcon && !endIcon ? 0.7 : 1.7, ...initSx }),\n [endIcon, initSx, startIcon]\n );\n\n // Event Handler -----------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(() => {\n setOpen((old) => !old);\n if (!open) {\n setMenuOpen(true, menuId);\n } else {\n setMenuOpen(false, menuId);\n }\n }, [menuId, open, setMenuOpen]);\n\n const handleClose = useCallback(() => {\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n }, [menuId, open, setMenuOpen]);\n\n const handleListKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n } else if (event.key === 'Escape') {\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n }\n },\n [menuId, open, setMenuOpen]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const finalMenuList = useMemo(() => {\n return React.cloneElement(menuList, {\n autoFocusItem: open,\n id: menuId,\n 'aria-labelledby': buttonId,\n onKeyDown: handleListKeyDown,\n onClick: handleClose,\n });\n }, [buttonId, handleClose, handleListKeyDown, menuId, menuList, open]);\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <span>\n <Button\n ref={(r) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(r);\n } else {\n ref.current = r;\n }\n }\n anchorRef.current = r;\n }}\n id={buttonId}\n aria-controls={open ? menuId : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n className={classNames(className, 'TableMenuButton')}\n type='button'\n size='small'\n sx={sx}\n color={color}\n onClick={handleClick}\n startIcon={\n startIcon ? (\n <TableIcon fontSize='small' sx={{ mr: -0.5 }}>\n {startIcon}\n </TableIcon>\n ) : undefined\n }\n endIcon={\n endIcon ? (\n <TableIcon fontSize='small' sx={{ ml: -0.5 }}>\n {endIcon}\n </TableIcon>\n ) : undefined\n }\n {...props}\n >\n {icon && (\n <TableIcon fontSize='small' color={color}>\n {icon}\n </TableIcon>\n )}\n {children}\n </Button>\n <Popper\n className='TableMenuButton-Popper'\n open={open}\n anchorEl={anchorRef.current}\n role={undefined}\n placement={placement}\n transition\n style={{ zIndex: inModal ? (zIndex === undefined ? 1301 : zIndex) : zIndex }}\n >\n {({ TransitionProps, placement }) => {\n const placements = placement.split('-');\n let transformOrigin = '';\n if (placements[0] === 'left') {\n transformOrigin = 'right';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' top';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' bottom';\n // }\n // }\n } else if (placements[0] === 'right') {\n transformOrigin = 'left';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' top';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' bottom';\n // }\n // }\n } else if (placements[0] === 'top') {\n transformOrigin = 'bottom';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' left';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' right';\n // }\n // }\n } else if (placements[0] === 'bottom') {\n transformOrigin = 'top';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' left';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' right';\n // }\n // }\n } else {\n transformOrigin = 'top';\n }\n\n return (\n <Grow\n {...TransitionProps}\n style={{\n transformOrigin,\n }}\n >\n <Paper>\n <ClickAwayListener onClickAway={handleClose}>{finalMenuList}</ClickAwayListener>\n </Paper>\n </Grow>\n );\n }}\n </Popper>\n </span>\n );\n }\n);\n\nTableMenuButton.displayName = 'TableMenuButton';\nTableMenuButton.defaultProps = TableMenuButtonDefaultProps;\n\nexport default TableMenuButton;\n","import { ReactNode } from 'react';\nimport { BoxProps, GridProps, IconButtonProps, TypographyProps } from '@mui/material';\nimport { CommonSxProps } from '../@types';\n\nexport interface InfoTableInfo {\n [key: string]: any;\n}\n\nexport type InfoTableItemType =\n | 'text'\n | 'number'\n | 'tel'\n | 'url'\n | 'email'\n | 'date'\n | 'datetime'\n | 'date-hour'\n | 'date-minute';\n\nexport interface InfoTableItem<T = InfoTableInfo> {\n label: ReactNode;\n name?: keyof T;\n type?: InfoTableItemType;\n ellipsis?: boolean;\n className?: string;\n dateFormat?: string;\n dateTwoLine?: boolean;\n numberPrefix?: string;\n numberSuffix?: string;\n style?: CommonSxProps['style'];\n sx?: BoxProps['sx'];\n labelClassName?: string;\n labelColor?: TypographyProps['color'];\n labelStyle?: CommonSxProps['style'];\n labelSx?: BoxProps['sx'];\n valueClassName?: string;\n valueStyle?: CommonSxProps['style'];\n valueSx?: CommonSxProps['sx'];\n xs?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n clipboard?: boolean;\n clipboardIcon?: string;\n clipboardText?: string;\n clipboardProps?: Omit<IconButtonProps, 'children'>;\n onRender?(info: T): ReactNode;\n onRenderEmpty?(info: T): ReactNode;\n}\n\nexport type InfoTableItems<T = InfoTableInfo> = (InfoTableItem<T> | false | undefined | null)[];\n\nexport type InfoTableCols = 1 | 2 | 3 | 4 | 6 | 12;\n\nexport interface InfoTableProps<T = InfoTableInfo> {\n cols:\n | InfoTableCols\n | {\n xs?: InfoTableCols;\n sm?: InfoTableCols;\n md?: InfoTableCols;\n lg?: InfoTableCols;\n xl?: InfoTableCols;\n };\n spacing?: GridProps['spacing'];\n columnSpacing?: GridProps['spacing'];\n rowSpacing?: GridProps['spacing'];\n className?: string;\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n labelClassName?: string;\n labelColor?: TypographyProps['color'];\n labelStyle?: CommonSxProps['style'];\n labelSx?: BoxProps['sx'];\n valueClassName?: string;\n valueStyle?: CommonSxProps['style'];\n valueSx?: CommonSxProps['sx'];\n ellipsis?: boolean;\n valueUnderline?: boolean;\n info: T;\n items: InfoTableItems<T>;\n onCopyToClipboard?(item: InfoTableItem<T>, text: string): void;\n}\n\nexport const InfoTableDefaultProps: Pick<InfoTableProps, 'spacing' | 'columnSpacing' | 'rowSpacing' | 'labelColor'> = {\n spacing: 2,\n rowSpacing: 3,\n labelColor: 'primary',\n};\n","import { Box, IconButton, styled } from '@mui/material';\n\nexport const Label = styled(Box)`\n font-size: 12px;\n font-weight: bold;\n`;\n\nexport const ValueWrap = styled(Box)`\n margin-top: 3px;\n position: relative;\n display: flex;\n flex-direction: row;\n`;\n\nexport const Value = styled('div')`\n flex: 1;\n`;\n\nexport const ValueEllipsis = styled('div')`\n flex: 1;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nexport const ValueClipboard = styled('div')``;\n\nexport const ClipboardIconButton = styled(IconButton)`\n margin-top: -10px;\n margin-bottom: -10px;\n`;\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","import React, { ReactNode, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { InfoTableProps as Props, InfoTableDefaultProps, InfoTableInfo } from './InfoTable.types';\nimport { ClipboardIconButton, Label, Value, ValueClipboard, ValueEllipsis, ValueWrap } from './InfoTable.style';\nimport { Grid } from '@mui/material';\nimport {\n combineSx,\n empty,\n getTelAutoDash,\n notEmpty,\n numberWithThousandSeparator,\n typographyColorToSxColor,\n} from '../@util';\nimport TableIcon from '../TableIcon';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\nimport dayjs from 'dayjs';\n\ninterface WithType<T = InfoTableInfo> extends React.FC<Props<T>> {\n <T = InfoTableInfo>(props: Props<T>): ReturnType<React.FC<Props<T>>>;\n}\n\nconst InfoTable: WithType = ({\n cols,\n spacing,\n columnSpacing,\n rowSpacing,\n className,\n style,\n sx,\n labelClassName,\n labelColor,\n labelStyle,\n labelSx,\n valueClassName,\n valueStyle,\n valueSx,\n ellipsis,\n valueUnderline,\n info,\n items,\n onCopyToClipboard,\n}: Props) => {\n const sizeProps = useMemo(() => {\n const value: { xs?: number; sm?: number; md?: number; lg?: number; xl?: number } = {};\n if (typeof cols === 'number') {\n value.xs = 12 / cols;\n } else {\n if (cols.xs) value.xs = 12 / cols.xs;\n if (cols.sm) value.sm = 12 / cols.sm;\n if (cols.md) value.md = 12 / cols.md;\n if (cols.lg) value.lg = 12 / cols.lg;\n if (cols.xl) value.xl = 12 / cols.xl;\n }\n return value;\n }, [cols]);\n\n return (\n <Grid\n container\n spacing={spacing}\n columnSpacing={columnSpacing}\n rowSpacing={rowSpacing}\n className={classNames('InfoTable', className)}\n style={style}\n sx={sx}\n >\n {items.map((item, idx) => {\n if (item) {\n const finalLabelColor = typographyColorToSxColor(item.labelColor || labelColor);\n const finalLabelSx = combineSx(labelSx, item.labelSx, !!finalLabelColor && { color: finalLabelColor });\n const finalValueSx = combineSx(valueSx, item.valueSx);\n const valueUnderlineStyle = valueUnderline\n ? { borderBottom: '1px solid #efefef', paddingBottom: 5 }\n : undefined;\n\n const finalSizeProps = { ...sizeProps };\n if (item.xs) finalSizeProps.xs = item.xs;\n if (item.sm) finalSizeProps.sm = item.sm;\n if (item.md) finalSizeProps.md = item.md;\n if (item.lg) finalSizeProps.lg = item.lg;\n if (item.xl) finalSizeProps.xl = item.xl;\n\n let data: ReactNode | string | number | undefined = undefined;\n if (item.name !== undefined) {\n if (info[item.name] !== undefined) {\n if (info[item.name] instanceof Date) {\n data = dayjs(info[item.name]).format('YYYY-MM-DD HH:mm:ss');\n } else if (info[item.name] instanceof dayjs) {\n data = info[item.name].format('YYYY-MM-DD HH:mm:ss');\n } else {\n data = info[item.name];\n }\n }\n }\n\n if (item.onRender) {\n data = item.onRender(info);\n } else if (notEmpty(data)) {\n switch (item.type) {\n case 'number':\n if (typeof data === 'string' || typeof data === 'number') {\n data = numberWithThousandSeparator(data);\n\n if (item.numberPrefix) {\n data = (\n <>\n <span style={{ opacity: 0.5, marginRight: 2 }}>{item.numberPrefix}</span>\n {data}\n </>\n );\n }\n if (item.numberSuffix) {\n data = (\n <>\n {data}\n <span style={{ opacity: 0.5, marginLeft: 2 }}>{item.numberSuffix}</span>\n </>\n );\n }\n }\n break;\n case 'tel':\n if (typeof data === 'string') {\n data = getTelAutoDash(data);\n }\n break;\n case 'email':\n if (typeof data === 'string') {\n data = (\n <>\n <a href={`mailto:${data}`}>{data}</a>\n </>\n );\n }\n break;\n case 'url':\n if (typeof data === 'string' && data.toLowerCase().startsWith('http')) {\n data = (\n <>\n <a href={data} target='_blank'>\n {data}\n </a>\n </>\n );\n }\n break;\n case 'date':\n if (typeof data === 'string' || typeof data === 'number') {\n data = dayjs(data, item.dateFormat).format('YYYY-MM-DD');\n }\n break;\n case 'datetime':\n if (typeof data === 'string' || typeof data === 'number') {\n const dt = dayjs(data, item.dateFormat);\n data = (\n <>\n <span>{dt.format('YYYY-MM-DD')}</span>\n {item.dateTwoLine ? <br /> : ' '}\n <span style={{ opacity: 0.5 }}>{dt.format('HH:mm:ss')}</span>\n </>\n );\n }\n break;\n case 'date-hour':\n if (typeof data === 'string' || typeof data === 'number') {\n const dt = dayjs(data, item.dateFormat);\n data = (\n <>\n <span>{dt.format('YYYY-MM-DD')}</span>\n {item.dateTwoLine ? <br /> : ' '}\n <span style={{ opacity: 0.5 }}>{dt.format('HH시')}</span>\n </>\n );\n }\n break;\n case 'date-minute':\n if (typeof data === 'string' || typeof data === 'number') {\n const dt = dayjs(data, item.dateFormat);\n data = (\n <>\n <span>{dt.format('YYYY-MM-DD')}</span>\n {item.dateTwoLine ? <br /> : ' '}\n <span style={{ opacity: 0.5 }}>{dt.format('HH시 MM분')}</span>\n </>\n );\n }\n break;\n }\n }\n if (empty(data)) data = item.onRenderEmpty ? item.onRenderEmpty(info) : <>&nbsp;</>;\n\n const copyToClipboardText =\n item.clipboardText || (typeof data === 'string' ? data : typeof data === 'number' ? data.toString() : '');\n\n return (\n <Grid key={idx} item {...finalSizeProps} className={item.className} style={item.style} sx={item.sx}>\n <Label\n className={classNames(labelClassName, item.labelClassName)}\n style={{ ...item.labelStyle, ...labelStyle }}\n sx={finalLabelSx}\n >\n {item.label}\n </Label>\n <ValueWrap\n className={classNames(valueClassName, item.valueClassName)}\n style={{ ...valueStyle, ...item.valueStyle, ...valueUnderlineStyle }}\n sx={finalValueSx}\n >\n {item.ellipsis || ellipsis ? <ValueEllipsis>{data}</ValueEllipsis> : <Value>{data}</Value>}\n {item.clipboard && notEmpty(copyToClipboardText) && (\n <ValueClipboard>\n <CopyToClipboard\n text={copyToClipboardText}\n onCopy={onCopyToClipboard ? () => onCopyToClipboard(item, copyToClipboardText) : undefined}\n >\n <ClipboardIconButton size='small' color='primary' {...item.clipboardProps}>\n <TableIcon>{item.clipboardIcon || 'ContentPaste'}</TableIcon>\n </ClipboardIconButton>\n </CopyToClipboard>\n </ValueClipboard>\n )}\n </ValueWrap>\n </Grid>\n );\n }\n })}\n </Grid>\n );\n};\n\nInfoTable.displayName = 'InfoTable';\nInfoTable.defaultProps = InfoTableDefaultProps;\n\nexport default InfoTable;\n"],"names":["freeGlobal","freeSelf","root","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","reWhitespace","trimmedEndIndex","reTrimStart","baseTrim","isObject","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","now","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","throttle","__assign","canUseDOM","__rest","global","require$$0","require$$1","require$$2","React","StyledBodyRow","templateObject_1","uuid","MuiTable","CopyToClipboard"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,38,51,52,54,55,56,57,73,74,75,76]}