@fkui/vue-labs 6.40.0 → 6.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +81 -48
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/esm/index.esm.js +82 -49
- package/dist/esm/index.esm.js.map +1 -1
- package/dist/types/index.d.ts +19 -0
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../../node_modules/core-js/internals/global-this.js","../../../../node_modules/core-js/internals/fails.js","../../../../node_modules/core-js/internals/descriptors.js","../../../../node_modules/core-js/internals/function-bind-native.js","../../../../node_modules/core-js/internals/function-call.js","../../../../node_modules/core-js/internals/object-property-is-enumerable.js","../../../../node_modules/core-js/internals/create-property-descriptor.js","../../../../node_modules/core-js/internals/function-uncurry-this.js","../../../../node_modules/core-js/internals/classof-raw.js","../../../../node_modules/core-js/internals/indexed-object.js","../../../../node_modules/core-js/internals/is-null-or-undefined.js","../../../../node_modules/core-js/internals/require-object-coercible.js","../../../../node_modules/core-js/internals/to-indexed-object.js","../../../../node_modules/core-js/internals/is-callable.js","../../../../node_modules/core-js/internals/is-object.js","../../../../node_modules/core-js/internals/get-built-in.js","../../../../node_modules/core-js/internals/object-is-prototype-of.js","../../../../node_modules/core-js/internals/environment-user-agent.js","../../../../node_modules/core-js/internals/environment-v8-version.js","../../../../node_modules/core-js/internals/symbol-constructor-detection.js","../../../../node_modules/core-js/internals/use-symbol-as-uid.js","../../../../node_modules/core-js/internals/is-symbol.js","../../../../node_modules/core-js/internals/try-to-string.js","../../../../node_modules/core-js/internals/a-callable.js","../../../../node_modules/core-js/internals/get-method.js","../../../../node_modules/core-js/internals/ordinary-to-primitive.js","../../../../node_modules/core-js/internals/is-pure.js","../../../../node_modules/core-js/internals/define-global-property.js","../../../../node_modules/core-js/internals/shared-store.js","../../../../node_modules/core-js/internals/shared.js","../../../../node_modules/core-js/internals/to-object.js","../../../../node_modules/core-js/internals/has-own-property.js","../../../../node_modules/core-js/internals/uid.js","../../../../node_modules/core-js/internals/well-known-symbol.js","../../../../node_modules/core-js/internals/to-primitive.js","../../../../node_modules/core-js/internals/to-property-key.js","../../../../node_modules/core-js/internals/document-create-element.js","../../../../node_modules/core-js/internals/ie8-dom-define.js","../../../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../../../node_modules/core-js/internals/an-object.js","../../../../node_modules/core-js/internals/object-define-property.js","../../../../node_modules/core-js/internals/create-non-enumerable-property.js","../../../../node_modules/core-js/internals/function-name.js","../../../../node_modules/core-js/internals/inspect-source.js","../../../../node_modules/core-js/internals/weak-map-basic-detection.js","../../../../node_modules/core-js/internals/shared-key.js","../../../../node_modules/core-js/internals/hidden-keys.js","../../../../node_modules/core-js/internals/internal-state.js","../../../../node_modules/core-js/internals/make-built-in.js","../../../../node_modules/core-js/internals/define-built-in.js","../../../../node_modules/core-js/internals/math-trunc.js","../../../../node_modules/core-js/internals/to-integer-or-infinity.js","../../../../node_modules/core-js/internals/to-absolute-index.js","../../../../node_modules/core-js/internals/to-length.js","../../../../node_modules/core-js/internals/length-of-array-like.js","../../../../node_modules/core-js/internals/array-includes.js","../../../../node_modules/core-js/internals/object-keys-internal.js","../../../../node_modules/core-js/internals/enum-bug-keys.js","../../../../node_modules/core-js/internals/object-get-own-property-names.js","../../../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../../../node_modules/core-js/internals/own-keys.js","../../../../node_modules/core-js/internals/copy-constructor-properties.js","../../../../node_modules/core-js/internals/is-forced.js","../../../../node_modules/core-js/internals/export.js","../../../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../../../node_modules/core-js/internals/function-bind-context.js","../../../../node_modules/core-js/internals/iterators.js","../../../../node_modules/core-js/internals/is-array-iterator-method.js","../../../../node_modules/core-js/internals/to-string-tag-support.js","../../../../node_modules/core-js/internals/classof.js","../../../../node_modules/core-js/internals/get-iterator-method.js","../../../../node_modules/core-js/internals/get-iterator.js","../../../../node_modules/core-js/internals/iterator-close.js","../../../../node_modules/core-js/internals/iterate.js","../../../../node_modules/core-js/internals/get-iterator-direct.js","../../../../node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js","../../../../node_modules/core-js/modules/es.iterator.for-each.js","../../../../node_modules/core-js/internals/an-instance.js","../../../../node_modules/core-js/internals/correct-prototype-getter.js","../../../../node_modules/core-js/internals/object-get-prototype-of.js","../../../../node_modules/core-js/internals/define-built-in-accessor.js","../../../../node_modules/core-js/internals/create-property.js","../../../../node_modules/core-js/internals/object-keys.js","../../../../node_modules/core-js/internals/object-define-properties.js","../../../../node_modules/core-js/internals/html.js","../../../../node_modules/core-js/internals/object-create.js","../../../../node_modules/core-js/internals/iterators-core.js","../../../../node_modules/core-js/modules/es.iterator.constructor.js","../../../../node_modules/core-js/internals/define-built-ins.js","../../../../node_modules/core-js/internals/create-iter-result-object.js","../../../../node_modules/core-js/internals/iterator-close-all.js","../../../../node_modules/core-js/internals/iterator-create-proxy.js","../../../../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../../../../node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js","../../../../node_modules/core-js/modules/es.iterator.filter.js","../../../../node_modules/core-js/internals/set-helpers.js","../../../../node_modules/core-js/internals/a-set.js","../../../../node_modules/core-js/internals/iterate-simple.js","../../../../node_modules/core-js/internals/set-iterate.js","../../../../node_modules/core-js/internals/set-clone.js","../../../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../../../node_modules/core-js/internals/set-size.js","../../../../node_modules/core-js/internals/get-set-record.js","../../../../node_modules/core-js/internals/set-difference.js","../../../../node_modules/core-js/internals/set-method-accept-set-like.js","../../../../node_modules/core-js/modules/es.set.difference.v2.js","../../../../node_modules/core-js/internals/set-intersection.js","../../../../node_modules/core-js/modules/es.set.intersection.v2.js","../../../../node_modules/core-js/internals/set-is-disjoint-from.js","../../../../node_modules/core-js/modules/es.set.is-disjoint-from.v2.js","../../../../node_modules/core-js/internals/set-is-subset-of.js","../../../../node_modules/core-js/modules/es.set.is-subset-of.v2.js","../../../../node_modules/core-js/internals/set-is-superset-of.js","../../../../node_modules/core-js/modules/es.set.is-superset-of.v2.js","../../../../node_modules/core-js/internals/set-symmetric-difference.js","../../../../node_modules/core-js/internals/set-method-get-keys-before-cloning-detection.js","../../../../node_modules/core-js/modules/es.set.symmetric-difference.v2.js","../../../../node_modules/core-js/internals/set-union.js","../../../../node_modules/core-js/modules/es.set.union.v2.js","../../src/components/FTable/ITableExpandButton.vue","../../src/components/FTable/ITableExpandable.vue","../../../../node_modules/core-js/internals/add-to-unscopables.js","../../../../node_modules/core-js/modules/es.array.includes.js","../../src/components/FTable/input-fields-config.ts","../../src/components/FTable/ITableHeader.vue","../../src/components/FTable/ITableHeaderSelectable.vue","../../src/components/FTable/ITableCheckbox.vue","../../src/components/FTable/ITableRadio.vue","../../src/components/FTable/ITableSelectable.vue","../../src/components/FTable/f-table-api.ts","../../src/components/FTable/f-table.logic.ts","../../src/components/FTable/walk.ts","../../src/components/FTable/get-body-row-count.ts","../../../../node_modules/core-js/internals/is-array.js","../../../../node_modules/core-js/internals/array-set-length.js","../../../../node_modules/core-js/internals/does-not-exceed-safe-integer.js","../../../../node_modules/core-js/modules/es.array.push.js","../../src/components/FTable/get-meta-rows.ts","../../src/components/FTable/start-stop-edit.ts","../../../../node_modules/core-js/modules/es.iterator.map.js","../../src/components/FTable/ITableAnchor.vue","../../src/components/FTable/ITableButton.vue","../../../../node_modules/core-js/modules/es.iterator.find.js","../../src/components/FTable/ITableMenu.vue","../../src/components/FTable/ITableRowheader.vue","../../src/components/FTable/ITableSelect.vue","../../src/components/FTable/columns/helpers/default-tnum-value.ts","../../src/components/FTable/columns/helpers/get-label-fn.ts","../../src/components/FTable/columns/helpers/get-update-fn.ts","../../src/components/FTable/columns/helpers/get-value-fn.ts","../../src/components/FTable/columns/helpers/is-column-type.ts","../../src/components/FTable/input-validators.ts","../../src/components/FTable/is-alphanumeric.ts","../../src/components/FTable/ITableText.vue","../../src/components/FTable/columns/anchor.ts","../../src/components/FTable/columns/helpers/get-sortable.ts","../../src/components/FTable/columns/base.ts","../../src/components/FTable/columns/button.ts","../../src/components/FTable/columns/checkbox.ts","../../src/components/FTable/columns/menu.ts","../../src/components/FTable/columns/number.ts","../../src/components/FTable/columns/render.ts","../../src/components/FTable/columns/row-header.ts","../../src/components/FTable/columns/select.ts","../../src/components/FTable/columns/simple.ts","../../src/components/FTable/columns/text.ts","../../src/components/FTable/table-column.ts","../../src/components/FTable/use-popup-error.ts","../../../../node_modules/core-js/internals/array-from-constructor-and-list.js","../../../../node_modules/core-js/internals/get-built-in-prototype-method.js","../../../../node_modules/core-js/modules/es.array.to-sorted.js","../../../../node_modules/core-js/modules/es.iterator.some.js","../../src/components/FTable/use-selectable.ts","../../src/components/FTable/use-tabstop.ts","../../src/components/FTable/FTable.vue","../../../../node_modules/core-js/modules/es.array.to-spliced.js","../../src/components/FTable/remove-row.ts","../../../../node_modules/core-js/internals/array-buffer-basic-detection.js","../../../../node_modules/core-js/internals/array-buffer-byte-length.js","../../../../node_modules/core-js/internals/array-buffer-is-detached.js","../../../../node_modules/core-js/modules/es.array-buffer.detached.js","../../../../node_modules/core-js/internals/to-index.js","../../../../node_modules/core-js/internals/array-buffer-not-detached.js","../../../../node_modules/core-js/internals/environment.js","../../../../node_modules/core-js/internals/environment-is-node.js","../../../../node_modules/core-js/internals/get-built-in-node-module.js","../../../../node_modules/core-js/internals/structured-clone-proper-transfer.js","../../../../node_modules/core-js/internals/detach-transferable.js","../../../../node_modules/core-js/internals/array-buffer-transfer.js","../../../../node_modules/core-js/modules/es.array-buffer.transfer.js","../../../../node_modules/core-js/modules/es.array-buffer.transfer-to-fixed-length.js","../../../../node_modules/core-js/internals/is-possible-prototype.js","../../../../node_modules/core-js/internals/a-possible-prototype.js","../../../../node_modules/core-js/internals/object-set-prototype-of.js","../../../../node_modules/core-js/internals/array-buffer-view-core.js","../../../../node_modules/core-js/modules/es.typed-array.to-reversed.js","../../../../node_modules/core-js/modules/es.typed-array.to-sorted.js","../../../../node_modules/core-js/internals/is-big-int-array.js","../../../../node_modules/core-js/internals/to-big-int.js","../../../../node_modules/core-js/modules/es.typed-array.with.js","../../../../node_modules/core-js/internals/an-object-or-undefined.js","../../../../node_modules/core-js/internals/a-string.js","../../../../node_modules/core-js/internals/base64-map.js","../../../../node_modules/core-js/internals/get-alphabet-option.js","../../../../node_modules/core-js/internals/uint8-from-base64.js","../../../../node_modules/core-js/internals/an-uint8-array.js","../../../../node_modules/core-js/modules/es.uint8-array.set-from-base64.js","../../../../node_modules/core-js/internals/uint8-from-hex.js","../../../../node_modules/core-js/modules/es.uint8-array.set-from-hex.js","../../../../node_modules/core-js/modules/es.uint8-array.to-base64.js","../../../../node_modules/core-js/modules/es.uint8-array.to-hex.js","../../../../node_modules/core-js/internals/inherit-if-required.js","../../../../node_modules/core-js/internals/to-string.js","../../../../node_modules/core-js/internals/normalize-string-argument.js","../../../../node_modules/core-js/internals/dom-exception-constants.js","../../../../node_modules/core-js/internals/error-stack-clear.js","../../../../node_modules/core-js/modules/web.dom-exception.stack.js","../../src/components/XFileDragdrop/XFileDragdrop.vue","../../src/components/XSortFilterDatasetNg/match-property-value.ts","../../src/components/XSortFilterDatasetNg/unique-values.ts","../../src/components/XSortFilterDatasetNg/XSortFilterDatasetNg.vue","../../src/components/XTimeTextField/utils/constants.ts","../../../../node_modules/core-js/internals/function-apply.js","../../../../node_modules/core-js/modules/es.iterator.reduce.js","../../src/components/XTimeTextField/utils/hours-minutes-number-utils.ts","../../src/components/XTimeTextField/converters/hours-minutes-converter.ts","../../src/components/XTimeTextField/utils/hours-minutes-validator-utils.ts","../../src/components/XTimeTextField/validators/greater-than-time-validator.ts","../../src/components/XTimeTextField/validators/hours-minutes-validator.ts","../../src/components/XTimeTextField/validators/less-than-time-validator.ts","../../src/components/XTimeTextField/validators/max-time-validator.ts","../../src/components/XTimeTextField/validators/min-time-validator.ts","../../src/components/XTimeTextField/validators/index.ts","../../src/components/XTimeTextField/XTimeTextField.vue"],"sourcesContent":["'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = function () { /* empty */ }.bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.49.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',\n license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && function something() { /* empty */ }.name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = globalThis;\n } else if (STATIC) {\n target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = globalThis[TARGET] && globalThis[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n// eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n var $iterator = iterator;\n iterator = undefined;\n if ($iterator) iteratorClose($iterator, 'normal');\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n // `IteratorValue` errors should propagate without closing the iterator\n var value = step.value;\n try {\n result = callFn(value);\n } catch (error) {\n if (iterator) iteratorClose(iterator, 'throw', error);\n else throw error;\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\n// `GetIteratorDirect(obj)` abstract operation\n// https://tc39.es/ecma262/#sec-getiteratordirect\nmodule.exports = function (obj) {\n return {\n iterator: obj,\n next: obj.next,\n done: false\n };\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// https://github.com/tc39/ecma262/pull/3467\nmodule.exports = function (METHOD_NAME, ExpectedError) {\n var Iterator = globalThis.Iterator;\n var IteratorPrototype = Iterator && Iterator.prototype;\n var method = IteratorPrototype && IteratorPrototype[METHOD_NAME];\n\n var CLOSED = false;\n\n if (method) try {\n method.call({\n next: function () { return { done: true }; },\n 'return': function () { CLOSED = true; }\n }, -1);\n } catch (error) {\n // https://bugs.webkit.org/show_bug.cgi?id=291195\n if (!(error instanceof ExpectedError)) CLOSED = false;\n }\n\n if (!CLOSED) return method;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar forEachWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('forEach', TypeError);\n\n// `Iterator.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.foreach\n$({ target: 'Iterator', proto: true, real: true, forced: forEachWithoutClosingOnEarlyError }, {\n forEach: function forEach(fn) {\n anObject(this);\n try {\n aCallable(fn);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (forEachWithoutClosingOnEarlyError) return call(forEachWithoutClosingOnEarlyError, this, fn);\n\n var record = getIteratorDirect(this);\n var counter = 0;\n iterate(record, function (value) {\n fn(value, counter++);\n }, { IS_RECORD: true });\n }\n});\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar createProperty = require('../internals/create-property');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar CONSTRUCTOR = 'constructor';\nvar ITERATOR = 'Iterator';\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nvar $TypeError = TypeError;\nvar NativeIterator = globalThis[ITERATOR];\n\n// FF56- have non-standard global helper `Iterator`\nvar FORCED = IS_PURE\n || !isCallable(NativeIterator)\n || NativeIterator.prototype !== IteratorPrototype\n // FF44- non-standard `Iterator` passes previous tests\n || !fails(function () { NativeIterator({}); });\n\nvar IteratorConstructor = function Iterator() {\n anInstance(this, IteratorPrototype);\n if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable');\n};\n\nvar defineIteratorPrototypeAccessor = function (key, value) {\n if (DESCRIPTORS) {\n defineBuiltInAccessor(IteratorPrototype, key, {\n configurable: true,\n get: function () {\n return value;\n },\n set: function (replacement) {\n anObject(this);\n if (this === IteratorPrototype) throw new $TypeError(\"You can't redefine this property\");\n if (hasOwn(this, key)) this[key] = replacement;\n else createProperty(this, key, replacement);\n }\n });\n } else IteratorPrototype[key] = value;\n};\n\nif (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR);\n\nif (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) {\n defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor);\n}\n\nIteratorConstructor.prototype = IteratorPrototype;\n\n// `Iterator` constructor\n// https://tc39.es/ecma262/#sec-iterator\n$({ global: true, constructor: true, forced: FORCED }, {\n Iterator: IteratorConstructor\n});\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar iteratorClose = require('../internals/iterator-close');\n\nmodule.exports = function (iters, kind, value) {\n for (var i = iters.length - 1; i >= 0; i--) {\n if (iters[i] === undefined) continue;\n try {\n value = iteratorClose(iters[i].iterator, kind, value);\n } catch (error) {\n kind = 'throw';\n value = error;\n }\n }\n if (kind === 'throw') throw value;\n return value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar getMethod = require('../internals/get-method');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorCloseAll = require('../internals/iterator-close-all');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ITERATOR_HELPER = 'IteratorHelper';\nvar WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator';\nvar NORMAL = 'normal';\nvar THROW = 'throw';\nvar setInternalState = InternalStateModule.set;\n\nvar createIteratorProxyPrototype = function (IS_ITERATOR) {\n var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER);\n\n return defineBuiltIns(create(IteratorPrototype), {\n next: function next() {\n var state = getInternalState(this);\n // for simplification:\n // for `%WrapForValidIteratorPrototype%.next` or with `state.returnHandlerResult` our `nextHandler` returns `IterResultObject`\n // for `%IteratorHelperPrototype%.next` - just a value\n if (IS_ITERATOR) return state.nextHandler();\n if (state.done) return createIterResultObject(undefined, true);\n try {\n var result = state.nextHandler();\n return state.returnHandlerResult ? result : createIterResultObject(result, state.done);\n } catch (error) {\n state.done = true;\n throw error;\n }\n },\n 'return': function () {\n var state = getInternalState(this);\n var iterator = state.iterator;\n var done = state.done;\n state.done = true;\n if (IS_ITERATOR) {\n var returnMethod = getMethod(iterator, 'return');\n return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);\n }\n if (done) return createIterResultObject(undefined, true);\n if (state.inner) try {\n iteratorClose(state.inner.iterator, NORMAL);\n } catch (error) {\n return iteratorClose(iterator, THROW, error);\n }\n if (state.openIters) try {\n iteratorCloseAll(state.openIters, NORMAL);\n } catch (error) {\n if (iterator) return iteratorClose(iterator, THROW, error);\n throw error;\n }\n if (iterator) iteratorClose(iterator, NORMAL);\n return createIterResultObject(undefined, true);\n }\n });\n};\n\nvar WrapForValidIteratorPrototype = createIteratorProxyPrototype(true);\nvar IteratorHelperPrototype = createIteratorProxyPrototype(false);\n\ncreateNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper');\n\nmodule.exports = function (nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) {\n var IteratorProxy = function Iterator(record, state) {\n if (state) {\n state.iterator = record.iterator;\n state.next = record.next;\n } else state = record;\n state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER;\n state.returnHandlerResult = !!RETURN_HANDLER_RESULT;\n state.nextHandler = nextHandler;\n state.counter = 0;\n state.done = false;\n setInternalState(this, state);\n };\n\n IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype;\n\n return IteratorProxy;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\n// Should throw an error on invalid iterator\n// https://issues.chromium.org/issues/336839115\nmodule.exports = function (methodName, argument) {\n // eslint-disable-next-line es/no-iterator -- required for testing\n var method = typeof Iterator == 'function' && Iterator.prototype[methodName];\n if (method) try {\n method.call({ next: null }, argument).next();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar IS_PURE = require('../internals/is-pure');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperThrowsOnInvalidIterator = require('../internals/iterator-helper-throws-on-invalid-iterator');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('filter', function () { /* empty */ });\nvar filterWithoutClosingOnEarlyError = !IS_PURE && !FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR\n && iteratorHelperWithoutClosingOnEarlyError('filter', TypeError);\n\nvar FORCED = IS_PURE || FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR || filterWithoutClosingOnEarlyError;\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var predicate = this.predicate;\n var next = this.next;\n var result, done, value;\n while (true) {\n result = anObject(call(next, iterator));\n done = this.done = !!result.done;\n if (done) return;\n value = result.value;\n if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value;\n }\n});\n\n// `Iterator.prototype.filter` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.filter\n$({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {\n filter: function filter(predicate) {\n anObject(this);\n try {\n aCallable(predicate);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (filterWithoutClosingOnEarlyError) return call(filterWithoutClosingOnEarlyError, this, predicate);\n\n return new IteratorProxy(getIteratorDirect(this), {\n predicate: predicate\n });\n }\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-set -- safe\nvar SetPrototype = Set.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-set -- safe\n Set: Set,\n add: uncurryThis(SetPrototype.add),\n has: uncurryThis(SetPrototype.has),\n remove: uncurryThis(SetPrototype['delete']),\n proto: SetPrototype\n};\n","'use strict';\nvar has = require('../internals/set-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[SetData]])\nmodule.exports = function (it) {\n has(it);\n return it;\n};\n","'use strict';\nvar call = require('../internals/function-call');\n\nmodule.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {\n var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;\n var next = record.next;\n var step, result;\n while (!(step = call(next, iterator)).done) {\n result = fn(step.value);\n if (result !== undefined) return result;\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar iterateSimple = require('../internals/iterate-simple');\nvar SetHelpers = require('../internals/set-helpers');\n\nvar Set = SetHelpers.Set;\nvar SetPrototype = SetHelpers.proto;\nvar forEach = uncurryThis(SetPrototype.forEach);\nvar keys = uncurryThis(SetPrototype.keys);\nvar next = keys(new Set()).next;\n\nmodule.exports = function (set, fn, interruptible) {\n return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);\n};\n","'use strict';\nvar SetHelpers = require('../internals/set-helpers');\nvar iterate = require('../internals/set-iterate');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\n\nmodule.exports = function (set) {\n var result = new Set();\n iterate(set, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar SetHelpers = require('../internals/set-helpers');\n\nmodule.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {\n return set.size;\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar call = require('../internals/function-call');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\nvar INVALID_SIZE = 'Invalid size';\nvar $RangeError = RangeError;\nvar $TypeError = TypeError;\nvar max = Math.max;\n\nvar SetRecord = function (set, intSize) {\n this.set = set;\n this.size = max(intSize, 0);\n this.has = aCallable(set.has);\n this.keys = aCallable(set.keys);\n};\n\nSetRecord.prototype = {\n getIterator: function () {\n return getIteratorDirect(anObject(call(this.keys, this.set)));\n },\n includes: function (it) {\n return call(this.has, this.set, it);\n }\n};\n\n// `GetSetRecord` abstract operation\n// https://tc39.es/proposal-set-methods/#sec-getsetrecord\nmodule.exports = function (obj) {\n anObject(obj);\n var numSize = +obj.size;\n // NOTE: If size is undefined, then numSize will be NaN\n // eslint-disable-next-line no-self-compare -- NaN check\n if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);\n var intSize = toIntegerOrInfinity(numSize);\n if (intSize < 0) throw new $RangeError(INVALID_SIZE);\n return new SetRecord(obj, intSize);\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.difference` method\n// https://tc39.es/ecma262/#sec-set.prototype.difference\nmodule.exports = function difference(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = clone(O);\n if (size(result) <= otherRec.size) iterateSet(result, function (e) {\n if (otherRec.includes(e)) remove(result, e);\n });\n else iterateSimple(otherRec.getIterator(), function (e) {\n if (has(result, e)) remove(result, e);\n });\n return result;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nvar createSetLike = function (size) {\n return {\n size: size,\n has: function () {\n return false;\n },\n keys: function () {\n return {\n next: function () {\n return { done: true };\n }\n };\n }\n };\n};\n\nvar createSetLikeWithInfinitySize = function (size) {\n return {\n size: size,\n has: function () {\n return true;\n },\n keys: function () {\n throw new Error('e');\n }\n };\n};\n\nmodule.exports = function (name, callback) {\n var Set = getBuiltIn('Set');\n try {\n new Set()[name](createSetLike(0));\n try {\n // late spec change, early WebKit ~ Safari 17 implementation does not pass it\n // https://github.com/tc39/proposal-set-methods/pull/88\n // also covered engines with\n // https://bugs.webkit.org/show_bug.cgi?id=272679\n new Set()[name](createSetLike(-1));\n return false;\n } catch (error2) {\n if (!callback) return true;\n // early V8 implementation bug\n // https://issues.chromium.org/issues/351332634\n try {\n new Set()[name](createSetLikeWithInfinitySize(-Infinity));\n return false;\n } catch (error) {\n var set = new Set([1, 2]);\n return callback(set[name](createSetLikeWithInfinitySize(Infinity)));\n }\n }\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar difference = require('../internals/set-difference');\nvar fails = require('../internals/fails');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar SET_LIKE_INCORRECT_BEHAVIOR = !setMethodAcceptSetLike('difference', function (result) {\n return result.size === 0;\n});\n\nvar FORCED = SET_LIKE_INCORRECT_BEHAVIOR || fails(function () {\n // https://bugs.webkit.org/show_bug.cgi?id=288595\n var setLike = {\n size: 1,\n has: function () { return true; },\n keys: function () {\n var index = 0;\n return {\n next: function () {\n var done = index++ > 1;\n if (baseSet.has(1)) baseSet.clear();\n return { done: done, value: 2 };\n }\n };\n }\n };\n // eslint-disable-next-line es/no-set -- testing\n var baseSet = new Set([1, 2, 3, 4]);\n // eslint-disable-next-line es/no-set-prototype-difference -- testing\n return baseSet.difference(setLike).size !== 3;\n});\n\n// `Set.prototype.difference` method\n// https://tc39.es/ecma262/#sec-set.prototype.difference\n$({ target: 'Set', proto: true, real: true, forced: FORCED }, {\n difference: difference\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\n\n// `Set.prototype.intersection` method\n// https://tc39.es/ecma262/#sec-set.prototype.intersection\nmodule.exports = function intersection(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = new Set();\n\n if (size(O) > otherRec.size) {\n iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) add(result, e);\n });\n } else {\n iterateSet(O, function (e) {\n if (otherRec.includes(e)) add(result, e);\n });\n }\n\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar intersection = require('../internals/set-intersection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('intersection', function (result) {\n return result.size === 2 && result.has(1) && result.has(2);\n}) || fails(function () {\n // eslint-disable-next-line es/no-array-from, es/no-set, es/no-set-prototype-intersection -- testing\n return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';\n});\n\n// `Set.prototype.intersection` method\n// https://tc39.es/ecma262/#sec-set.prototype.intersection\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n intersection: intersection\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom\nmodule.exports = function isDisjointFrom(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) <= otherRec.size) return iterateSet(O, function (e) {\n if (otherRec.includes(e)) return false;\n }, true) !== false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isDisjointFrom = require('../internals/set-is-disjoint-from');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('isDisjointFrom', function (result) {\n return !result;\n});\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n isDisjointFrom: isDisjointFrom\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar size = require('../internals/set-size');\nvar iterate = require('../internals/set-iterate');\nvar getSetRecord = require('../internals/get-set-record');\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issubsetof\nmodule.exports = function isSubsetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) > otherRec.size) return false;\n return iterate(O, function (e) {\n if (!otherRec.includes(e)) return false;\n }, true) !== false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isSubsetOf = require('../internals/set-is-subset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('isSubsetOf', function (result) {\n return result;\n});\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issubsetof\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n isSubsetOf: isSubsetOf\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issupersetof\nmodule.exports = function isSupersetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) < otherRec.size) return false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (!has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isSupersetOf = require('../internals/set-is-superset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('isSupersetOf', function (result) {\n return !result;\n});\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issupersetof\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n isSupersetOf: isSupersetOf\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.symmetricDifference` method\n// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference\nmodule.exports = function symmetricDifference(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (e) {\n if (has(O, e)) remove(result, e);\n else add(result, e);\n });\n return result;\n};\n","'use strict';\n// Should get iterator record of a set-like object before cloning this\n// https://bugs.webkit.org/show_bug.cgi?id=289430\nmodule.exports = function (METHOD_NAME) {\n try {\n // eslint-disable-next-line es/no-set -- needed for test\n var baseSet = new Set();\n var setLike = {\n size: 0,\n has: function () { return true; },\n keys: function () {\n // eslint-disable-next-line es/no-object-defineproperty -- needed for test\n return Object.defineProperty({}, 'next', {\n get: function () {\n baseSet.clear();\n baseSet.add(4);\n return function () {\n return { done: true };\n };\n }\n });\n }\n };\n var result = baseSet[METHOD_NAME](setLike);\n\n return result.size === 1 && result.values().next().value === 4;\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar symmetricDifference = require('../internals/set-symmetric-difference');\nvar setMethodGetKeysBeforeCloning = require('../internals/set-method-get-keys-before-cloning-detection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar FORCED = !setMethodAcceptSetLike('symmetricDifference') || !setMethodGetKeysBeforeCloning('symmetricDifference');\n\n// `Set.prototype.symmetricDifference` method\n// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference\n$({ target: 'Set', proto: true, real: true, forced: FORCED }, {\n symmetricDifference: symmetricDifference\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar add = require('../internals/set-helpers').add;\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\n// `Set.prototype.union` method\n// https://tc39.es/ecma262/#sec-set.prototype.union\nmodule.exports = function union(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar union = require('../internals/set-union');\nvar setMethodGetKeysBeforeCloning = require('../internals/set-method-get-keys-before-cloning-detection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar FORCED = !setMethodAcceptSetLike('union') || !setMethodGetKeysBeforeCloning('union');\n\n// `Set.prototype.union` method\n// https://tc39.es/ecma262/#sec-set.prototype.union\n$({ target: 'Set', proto: true, real: true, forced: FORCED }, {\n union: union\n});\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, useTemplateRef } from \"vue\";\nimport { assertRef } from \"@fkui/logic\";\nimport { type ItemIdentifier, FIcon } from \"@fkui/vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\n\nconst { isExpandable, isExpanded, rowKey } = defineProps<{\n isExpandable?: boolean;\n isExpanded?: boolean;\n rowKey: ItemIdentifier;\n}>();\n\nconst emit = defineEmits<{\n toggle: [key: ItemIdentifier];\n}>();\n\nconst expandableRef = useTemplateRef(\"expandable\");\nconst toggleIcon = computed(() => (isExpanded ? \"arrow-down\" : \"arrow-right\"));\nconst expandLabel = computed(() => (isExpanded ? \"Stäng rad\" : \"Expandera rad\"));\n\nfunction onClick(): void {\n assertRef(expandableRef);\n expandableRef.value.tabIndex = 0;\n\n emit(\"toggle\", rowKey);\n}\n\nconst expose: FTableCellApi = { tabstopEl: expandableRef };\ndefineExpose(expose);\n</script>\n\n<template>\n <td v-if=\"isExpandable\" class=\"table-ng__cell table-ng__cell--expand\">\n <button\n ref=\"expandable\"\n tabindex=\"-1\"\n :aria-label=\"expandLabel\"\n :aria-expanded=\"isExpanded\"\n type=\"button\"\n @click=\"onClick\"\n >\n <f-icon class=\"button__icon\" :name=\"toggleIcon\"></f-icon>\n </button>\n </td>\n <td v-else ref=\"expandable\" tabindex=\"-1\" class=\"table-ng__cell table-ng__cell--expand\"></td>\n</template>\n","<script setup lang=\"ts\">\nconst { colspan } = defineProps<{\n colspan: number;\n}>();\n</script>\n\n<template>\n <td class=\"table-ng__cell--custom\" :colspan tabindex=\"-1\">\n <slot></slot>\n </td>\n</template>\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// Safari 26.4- bug\nvar BROKEN_ON_SPARSE_WITH_FROM_INDEX = fails(function () {\n // eslint-disable-next-line no-sparse-arrays, es/no-array-prototype-includes -- detection\n return [, 1].includes(undefined, 1);\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE || BROKEN_ON_SPARSE_WITH_FROM_INDEX }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","import {\n type ValidatorConfigs,\n formatNumber,\n formatPersonnummer,\n formatPostalCode,\n parseBankAccountNumber,\n parseBankgiro,\n parseClearingNumber,\n parseDate,\n parseNumber,\n parseOrganisationsnummer,\n parsePersonnummer,\n parsePlusgiro,\n} from \"@fkui/logic\";\n\n/**\n * @public\n */\nexport const baseTypes = [\n \"anchor\",\n \"button\",\n \"checkbox\",\n \"render\",\n \"rowheader\",\n \"select\",\n] as const;\n\n/**\n * @public\n */\nexport type InputTypeBase = (typeof baseTypes)[number];\n\n/**\n * @public\n */\nexport const textTypes = [\n \"text:bankAccountNumber\",\n \"text:bankgiro\",\n \"text:clearingNumber\",\n \"text:date\",\n \"text:email\",\n \"text:organisationsnummer\",\n \"text:personnummer\",\n \"text:phoneNumber\",\n \"text:plusgiro\",\n \"text:postalCode\",\n \"text\",\n] as const;\n\n/**\n * @public\n */\nexport type InputTypeText = (typeof textTypes)[number];\n\n/**\n * @public\n */\nexport const numberTypes = [\n \"text:currency\",\n \"text:number\",\n \"text:percent\",\n] as const;\n\n/**\n * @public\n */\nexport type InputTypeNumber = (typeof numberTypes)[number];\n\n/**\n * @public\n */\nexport type InputType = InputTypeBase | InputTypeNumber | InputTypeText;\n\n/**\n * @internal\n */\nexport function isInputTypeNumber(value: string): value is InputTypeNumber {\n return numberTypes.includes(value as InputTypeNumber);\n}\n\n/**\n * @internal\n */\nexport function isInputTypeText(value: string): value is InputTypeText {\n return textTypes.includes(value as InputTypeText);\n}\n\n/**\n * @internal\n */\nexport function isInputTypeBase(value: string): value is InputTypeBase {\n return baseTypes.includes(value as InputTypeBase);\n}\n\n/**\n * @internal\n */\nexport interface AttributeOptions {\n decimals?: number;\n}\n\n/**\n * @internal\n */\nexport interface InputTypeTextConfig {\n attributes(\n options?: AttributeOptions,\n ): Record<string, string | number | undefined>;\n formatter(this: void, value: string): string | undefined;\n parser(this: void, value: string): string | undefined;\n readonly validationConfig: ValidatorConfigs;\n}\n\n/**\n * @internal\n */\nexport interface InputTypeNumberConfig {\n attributes(\n options?: AttributeOptions,\n ): Record<string, string | number | undefined>;\n formatter(\n this: AttributeOptions,\n value: string | number,\n ): string | undefined;\n parser(this: AttributeOptions, value: string): string | number | undefined;\n readonly validationConfig: ValidatorConfigs;\n}\n\n/**\n * @internal\n */\nexport const inputFieldConfig = {\n \"text:personnummer\": {\n formatter(value) {\n return formatPersonnummer(parsePersonnummer(value));\n },\n parser(value) {\n return parsePersonnummer(value);\n },\n validationConfig: {\n maxLength: { length: 20 },\n personnummerFormat: {},\n personnummerLuhn: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"23\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:bankAccountNumber\": {\n formatter(value) {\n return value;\n },\n parser(value) {\n return parseBankAccountNumber(value);\n },\n validationConfig: {\n bankAccountNumber: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"40\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:bankgiro\": {\n formatter(value) {\n return parseBankgiro(value);\n },\n parser(value) {\n return parseBankgiro(value);\n },\n validationConfig: {\n maxLength: { length: 9 },\n bankgiro: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"40\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:clearingNumber\": {\n formatter(value) {\n return parseClearingNumber(value.trim());\n },\n parser(value) {\n return parseClearingNumber(value.trim());\n },\n validationConfig: {\n clearingNumber: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"16\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:currency\": {\n formatter(value) {\n return formatNumber(value);\n },\n parser(value) {\n return parseNumber(value);\n },\n validationConfig: {\n currency: {},\n integer: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"20\",\n };\n },\n } satisfies InputTypeNumberConfig,\n \"text:date\": {\n formatter(value) {\n return parseDate(value);\n },\n parser(value) {\n return parseDate(value);\n },\n validationConfig: {\n date: {},\n },\n attributes: () => {\n return { type: \"text\" };\n },\n } satisfies InputTypeTextConfig,\n \"text:email\": {\n formatter(value) {\n return value;\n },\n parser(value) {\n return value;\n },\n validationConfig: {\n email: {},\n maxLength: { length: 80 },\n },\n attributes: () => {\n return {\n type: \"email\",\n maxlength: \"80\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:number\": {\n formatter(value) {\n return formatNumber(value, this.decimals ?? 2);\n },\n parser(value) {\n return parseNumber(value, this.decimals ?? 2);\n },\n validationConfig: {\n number: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"20\",\n };\n },\n } satisfies InputTypeNumberConfig,\n \"text:organisationsnummer\": {\n formatter(value) {\n return parseOrganisationsnummer(value);\n },\n parser(value) {\n return parseOrganisationsnummer(value);\n },\n validationConfig: {\n maxLength: { length: 11 },\n organisationsnummer: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"20\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:percent\": {\n formatter(value) {\n return formatNumber(value, this.decimals ?? 2);\n },\n parser(value) {\n return parseNumber(value, this.decimals ?? 2);\n },\n validationConfig: {\n percent: {},\n minValue: { minValue: 0 },\n maxValue: { maxValue: 999 },\n },\n attributes: (options) => {\n const decimals = options?.decimals;\n return {\n inputmode: decimals ? \"decimal\" : \"numeric\",\n maxlength: \"10\",\n };\n },\n } satisfies InputTypeNumberConfig,\n \"text:phoneNumber\": {\n formatter(value) {\n return value;\n },\n parser(value) {\n return value;\n },\n validationConfig: {\n maxLength: { length: 80 },\n phoneNumber: {},\n },\n attributes: () => {\n return {\n maxlength: \"80\",\n type: \"tel\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:plusgiro\": {\n formatter(value) {\n return parsePlusgiro(value);\n },\n parser(value) {\n return parsePlusgiro(value);\n },\n validationConfig: {\n maxLength: { length: 11 },\n plusgiro: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"16\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:postalCode\": {\n formatter(value) {\n return formatPostalCode(value.trim());\n },\n parser(value) {\n return formatPostalCode(value.trim());\n },\n validationConfig: {\n maxLength: { length: 13 },\n postalCode: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"15\",\n };\n },\n } satisfies InputTypeTextConfig,\n text: {\n formatter(value) {\n return value;\n },\n parser(value) {\n return value;\n },\n validationConfig: {},\n attributes: () => {\n return {};\n },\n } satisfies InputTypeTextConfig,\n} satisfies Record<\n InputTypeText | InputTypeNumber,\n InputTypeTextConfig | InputTypeNumberConfig\n>;\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, useTemplateRef } from \"vue\";\nimport { assertRef } from \"@fkui/logic\";\nimport { FIcon, IFlex, IFlexItem } from \"@fkui/vue\";\nimport { isInputTypeNumber, isInputTypeText } from \"./input-fields-config\";\nimport {\n type NormalizedTableColumn,\n type NormalizedTableColumnNumber,\n type NormalizedTableColumnText,\n} from \"./table-column\";\n\nconst { column, sortEnabled, sortOrder } = defineProps<{\n column: NormalizedTableColumn<T, K>;\n sortEnabled: boolean;\n sortOrder: \"unsorted\" | \"ascending\" | \"descending\";\n}>();\n\nconst emit = defineEmits<{\n toggleSortOrder: [sortable: string];\n}>();\n\nconst thElement = useTemplateRef(\"th\");\n\nconst columnClasses = computed(() => {\n const size = column.size.value === \"shrink\" ? \"table-ng__column--shrink\" : \"table-ng__column--grow\";\n return [\"table-ng__column\", size];\n});\n\nconst sortIconClass = computed(() => {\n return {\n \"table-ng__column__sort-icon\": true,\n \"table-ng__column__sort-icon--discrete\": sortOrder === \"unsorted\",\n };\n});\n\nconst sortIcon = computed(() => {\n switch (sortOrder) {\n case \"unsorted\":\n return \"sort\";\n case \"ascending\":\n return \"caret-up\";\n case \"descending\":\n return \"caret-down\";\n default:\n return \"\";\n }\n});\n\nconst sortValue = computed(() => {\n switch (sortOrder) {\n case \"ascending\":\n case \"descending\":\n return sortOrder;\n default:\n return undefined;\n }\n});\n\nfunction isAlignableColumn(\n column: NormalizedTableColumn<T, K>,\n): column is NormalizedTableColumnText<T, K> | NormalizedTableColumnNumber<T, K> {\n if (column.type === undefined) {\n return false;\n }\n\n return isInputTypeText(column.type) || isInputTypeNumber(column.type);\n}\n\nconst alignment = computed(() => {\n return isAlignableColumn(column) ? column.align : \"left\";\n});\n\nfunction onClickCell(): void {\n assertRef(thElement);\n thElement.value.tabIndex = 0;\n\n if (!column.sortable || !sortEnabled) {\n return;\n }\n\n emit(\"toggleSortOrder\", String(column.sortable));\n}\n\nfunction onKeydownCell(e: KeyboardEvent): void {\n if (e.key === \"Enter\") {\n e.preventDefault();\n onClickCell();\n }\n}\n</script>\n\n<template>\n <th\n ref=\"th\"\n :aria-sort=\"sortValue\"\n :class=\"columnClasses\"\n tabindex=\"-1\"\n @keydown=\"onKeydownCell\"\n @click.stop=\"onClickCell\"\n >\n <i-flex gap=\"1x\" :float=\"alignment\">\n <i-flex-item shrink class=\"table-ng__column__title\"> {{ column.header }} </i-flex-item>\n <i-flex-item v-if=\"sortEnabled\" shrink align=\"center\">\n <f-icon :name=\"sortIcon\" :class=\"sortIconClass\"></f-icon>\n </i-flex-item>\n </i-flex>\n <i-flex v-if=\"column.description.value\" gap=\"1x\" :float=\"alignment\" class=\"table-ng__column__description\">\n <i-flex-item shrink> {{ column.description }} </i-flex-item>\n </i-flex>\n </th>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, useTemplateRef } from \"vue\";\nimport { useTranslate } from \"@fkui/vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\n\nconst { selectable, state } = defineProps<{ selectable: \"single\" | \"multi\"; state: boolean | \"indeterminate\" }>();\n\nconst emit = defineEmits<{\n /**\n * Emitted when checkbox value changes.\n */\n toggle: [];\n}>();\nconst $t = useTranslate();\nconst indeterminate = computed(() => state === \"indeterminate\");\nconst checked = computed(() => (state === \"indeterminate\" ? false : state));\nconst expose: Partial<FTableCellApi> = {};\nconst ariaLabel = computed(() => {\n return !checked.value || indeterminate.value\n ? $t(\"fkui.ftable.select-all.aria-label\", \"Välj alla rader\")\n : $t(\"fkui.ftable.unselect-all.aria-label\", \"Avmarkera alla rader\");\n});\nif (selectable === \"multi\") {\n const inputRef = useTemplateRef(\"input\");\n expose.tabstopEl = inputRef;\n}\n\ndefineExpose(expose);\n</script>\n\n<template>\n <th scope=\"col\" class=\"table-ng__column table-ng__column--selectable\">\n <input\n v-if=\"selectable === 'multi'\"\n ref=\"input\"\n :checked\n :indeterminate\n type=\"checkbox\"\n :aria-label\n tabindex=\"-1\"\n @change=\"emit('toggle')\"\n />\n </th>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, useTemplateRef } from \"vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\nimport { type NormalizedTableColumnCheckbox } from \"./table-column\";\n\nconst { column, row } = defineProps<{\n column: NormalizedTableColumnCheckbox<T, K>;\n row: T;\n}>();\n\nconst targetElement = useTemplateRef(\"target\");\nconst ariaLabel = computed(() => {\n const value = column.label(row);\n return value.length > 0 ? value : undefined;\n});\n\nfunction onChange(e: Event): void {\n const checked = (e.target as HTMLInputElement).checked;\n column.update(row, checked, !checked);\n}\n\nconst expose: FTableCellApi = { tabstopEl: targetElement };\ndefineExpose(expose);\n</script>\n\n<template>\n <td class=\"table-ng__cell table-ng__cell--checkbox\">\n <input\n ref=\"target\"\n :checked=\"Boolean(column.checked(row))\"\n type=\"checkbox\"\n :aria-label\n tabindex=\"-1\"\n @change=\"onChange\"\n />\n </td>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, useTemplateRef } from \"vue\";\nimport { assertRef } from \"@fkui/logic\";\nimport { type NormalizedTableColumnRadio } from \"./columns\";\nimport { type FTableCellApi } from \"./f-table-api\";\n\nconst { column, row } = defineProps<{\n column: NormalizedTableColumnRadio<T, K>;\n row: T;\n}>();\n\nconst inputElement = useTemplateRef(\"input\");\nconst ariaLabel = computed(() => {\n const value = column.label(row);\n return value.length > 0 ? value : undefined;\n});\n\nfunction onChange(_e: Event): void {\n assertRef(inputElement);\n column.update(row, inputElement.value.checked, !inputElement.value.checked);\n}\n\nconst expose: FTableCellApi = { tabstopEl: inputElement };\ndefineExpose(expose);\n</script>\n\n<template>\n <td class=\"table-ng__cell table-ng__cell--radio\">\n <input\n ref=\"input\"\n type=\"radio\"\n :checked=\"Boolean(column.checked(row))\"\n :aria-label\n tabindex=\"-1\"\n @change=\"onChange\"\n />\n </td>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, ref, useTemplateRef } from \"vue\";\nimport { useTranslate } from \"@fkui/vue\";\nimport ITableCheckbox from \"./ITableCheckbox.vue\";\nimport ITableRadio from \"./ITableRadio.vue\";\nimport { type NormalizedTableColumnRadio } from \"./columns\";\nimport { type FTableCellApi } from \"./f-table-api\";\nimport { type NormalizedTableColumnCheckbox } from \"./table-column\";\n\nconst {\n selectable,\n row,\n state,\n level = 1,\n} = defineProps<{\n selectable: \"single\" | \"multi\";\n row: T;\n state: boolean;\n level?: number;\n}>();\n\nconst emit = defineEmits<{ toggle: [row: T] }>();\n\nconst expose: Partial<FTableCellApi> = {};\nif (level === 1) {\n const childRef = useTemplateRef(\"child\");\n expose.tabstopEl = computed(() => childRef.value?.tabstopEl ?? null);\n}\ndefineExpose(expose);\n\nconst $t = useTranslate();\n\nconst multiSelectColumn: NormalizedTableColumnCheckbox<T, K> = {\n type: \"checkbox\",\n id: Symbol(\"multi-select\"),\n header: ref(\"selectable\"),\n description: ref(null),\n sortable: null,\n size: ref(null),\n component: ITableCheckbox,\n label() {\n /** Screen reader text for checkbox in multi select table row. */\n return $t(\"fkui.table.selectable.checkbox\", \"Välj rad\");\n },\n checked() {\n return state;\n },\n update() {\n emit(\"toggle\", row);\n },\n enabled: true,\n};\n\nconst singleSelectColumn: NormalizedTableColumnRadio<T, K> = {\n type: \"radio\",\n id: Symbol(\"single-select\"),\n header: ref(\"Välj en rad\"),\n description: ref(null),\n sortable: null,\n size: ref(null),\n component: ITableRadio,\n label() {\n /** Screen reader text for radio button in single select table row. */\n return $t(\"fkui.table.selectable.radio\", \"Välj rad\");\n },\n checked() {\n return state;\n },\n update() {\n emit(\"toggle\", row);\n },\n enabled: true,\n};\n</script>\n\n<template>\n <td v-if=\"level > 1\" tabindex=\"-1\" class=\"table-ng__cell\"></td>\n <i-table-checkbox\n v-else-if=\"selectable === 'multi'\"\n ref=\"child\"\n :row\n :column=\"multiSelectColumn\"\n class=\"table-ng__cell--selectable\"\n ></i-table-checkbox>\n <i-table-radio\n v-else-if=\"selectable === 'single'\"\n ref=\"child\"\n :row\n :column=\"singleSelectColumn\"\n class=\"table-ng__cell--selectable\"\n ></i-table-radio>\n</template>\n","import { type ShallowRef } from \"vue\";\n\n/**\n * {@link FTable} public api. Exposed in template reference.\n *\n * ```\n * const tableRef = useTemplateRef(\"table\");\n * ```\n *\n * @public\n */\nexport interface FTableApi {\n /**\n * Alters tabstop behaviour during action.\n * Typically used during single row removal to put focus on cell nearby.\n * Default behaviour is to reset tabstop on removal (focus on first cell).\n */\n withTabstopBehaviour(\n behaviour: \"default\" | \"row-removal\",\n action: () => void | Promise<void>,\n ): Promise<void>;\n}\n\n/**\n * {@link FTable} optional cell api. Expose in cell component.\n *\n * @public\n */\nexport interface FTableCellApi {\n /**\n * Preferred tabstop element when other than default (`td`).\n */\n tabstopEl: Readonly<ShallowRef<HTMLElement | null>>;\n}\n\n/**\n * @internal\n */\nexport function isFTableCellApi(value: unknown): value is FTableCellApi {\n return (\n value !== null &&\n typeof value === \"object\" &&\n Boolean((value as FTableCellApi).tabstopEl)\n );\n}\n\n/**\n * Key used on HTMLElement to store table cell api.\n *\n * @internal\n */\nexport const tableCellApiSymbol = Symbol(\"table:cell-api\");\n","import { nextTick, toValue } from \"vue\";\nimport { type FTableCellApi, tableCellApiSymbol } from \"./f-table-api\";\n\ninterface TableCellIndex {\n row: number;\n cell: number;\n}\n\nconst navKeys = new Set([\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n]);\n\nlet prevCellIndex: number | undefined = undefined;\n\n/** @internal */\nexport function getCellTarget(\n tableElement: HTMLTableElement,\n rowIndex: number,\n cellIndex: number,\n): HTMLElement {\n return tableElement.rows[rowIndex].cells[cellIndex];\n}\n\nfunction getTr(td: HTMLTableCellElement): HTMLTableRowElement {\n return td.parentElement as HTMLTableRowElement;\n}\n\nfunction getTable(tr: HTMLTableRowElement): HTMLTableElement {\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- technical debt */\n return tr.closest(\"table\")!;\n}\n\nfunction getLastRowIndex(tableElement: HTMLTableElement): number {\n return tableElement.rows.length - 1;\n}\n\nfunction getLastCellIndex(tableElement: HTMLTableElement): number {\n return tableElement.rows[0].cells.length - 1;\n}\n\n/** @internal */\nexport function getVerticalNavIndex(\n table: HTMLTableElement,\n from: TableCellIndex,\n to: TableCellIndex,\n): TableCellIndex {\n const target = { ...to };\n const currentMax = table.rows[from.row].cells.length - 1;\n const targetMax = table.rows[to.row].cells.length - 1;\n\n if (prevCellIndex && currentMax < targetMax) {\n target.cell = prevCellIndex;\n prevCellIndex = undefined;\n } else {\n target.cell = Math.min(targetMax, from.cell);\n }\n\n if (targetMax < from.cell) {\n prevCellIndex = from.cell;\n }\n\n return target;\n}\n\nfunction isDefined(value: Partial<TableCellIndex>): value is TableCellIndex {\n return value.row !== undefined && value.cell !== undefined;\n}\n\nfunction navigate(\n e: KeyboardEvent,\n table: HTMLTableElement,\n from: Partial<TableCellIndex>,\n last: Partial<TableCellIndex>,\n): TableCellIndex | undefined {\n if (!isDefined(from) || !isDefined(last)) {\n return;\n }\n\n if (!navKeys.has(e.code)) {\n return;\n }\n e.preventDefault();\n\n if (e.code === \"ArrowLeft\") {\n if (from.cell === 0) {\n return;\n }\n\n prevCellIndex = undefined;\n return {\n row: from.row,\n cell: from.cell - 1,\n };\n }\n\n if (e.code === \"ArrowRight\") {\n if (from.cell === last.cell) {\n return;\n }\n const lastCellIndex = table.rows[from.row].cells.length - 1;\n if (lastCellIndex <= from.cell) {\n return;\n }\n\n prevCellIndex = undefined;\n return {\n row: from.row,\n cell: from.cell + 1,\n };\n }\n\n if (e.code === \"ArrowUp\") {\n if (from.row === 0) {\n return;\n }\n\n const to = { row: from.row - 1, cell: from.cell };\n return getVerticalNavIndex(table, from, to);\n }\n\n if (e.code === \"ArrowDown\") {\n if (from.row === last.row) {\n return;\n }\n\n const to = { row: from.row + 1, cell: from.cell };\n return getVerticalNavIndex(table, from, to);\n }\n\n if (e.code === \"Home\") {\n if (e.ctrlKey) {\n return {\n row: 1,\n cell: 0,\n };\n } else {\n return {\n row: from.row,\n cell: 0,\n };\n }\n }\n\n if (e.code === \"End\") {\n if (e.ctrlKey) {\n return {\n row: last.row,\n cell: table.rows[last.row].cells.length - 1,\n };\n } else {\n return {\n row: from.row,\n cell: table.rows[from.row].cells.length - 1,\n };\n }\n }\n}\n\nfunction getCell(element: HTMLElement): HTMLTableCellElement {\n const closest = element.closest<HTMLTableCellElement>(\"td, th\");\n if (!closest) {\n throw new Error(\"expected th or td parent\");\n }\n\n return closest;\n}\n\n/** @internal */\nexport async function setDefaultCellTarget(\n table: HTMLTableElement,\n): Promise<HTMLElement | null> {\n await nextTick(); // wait for dynamic refs to be applied after table onMounted lifecycle hook\n\n // skip if table has no columns\n if (!table.tHead) {\n return null;\n }\n\n const target = getCellTarget(table, 1, 0);\n activateCell(target, { focus: false });\n\n return target;\n}\n\n/** @internal */\nexport function maybeNavigateToCell(e: KeyboardEvent): void {\n let newCellTarget: HTMLElement = e.target as HTMLElement;\n\n const cell = getCell(e.target as HTMLElement);\n const tr = getTr(cell);\n const table = getTable(tr);\n const fromIndex = {\n row: tr.rowIndex,\n cell: cell.cellIndex,\n };\n const lastIndex = {\n row: getLastRowIndex(table),\n cell: getLastCellIndex(table),\n };\n\n const navigateTo = navigate(e, table, fromIndex, lastIndex);\n if (navigateTo) {\n newCellTarget = getCellTarget(table, navigateTo.row, navigateTo.cell);\n activateCell(newCellTarget, { focus: true });\n }\n}\n\n/** @internal */\nexport function activateCell(\n element: HTMLElement & { [tableCellApiSymbol]?: FTableCellApi },\n options?: { focus: boolean },\n): HTMLElement {\n const api = element[tableCellApiSymbol];\n const targetEl = toValue(api?.tabstopEl) ?? element;\n targetEl.tabIndex = 0;\n\n if (options?.focus) {\n targetEl.focus();\n }\n return targetEl;\n}\n\n/** @internal */\nexport function stopEdit(\n element: HTMLElement,\n reason: \"enter\" | \"escape\" | \"tab\" | \"shift-tab\" | \"blur\",\n): HTMLElement {\n const td = getCell(element);\n const tr = getTr(td);\n const table = getTable(tr);\n\n const rowIndex = tr.rowIndex;\n const cellIndex = td.cellIndex;\n const lastRowIndex = getLastRowIndex(table);\n const lastCellIndex = getLastCellIndex(table);\n\n let newCellTarget: HTMLElement = td;\n\n switch (reason) {\n case \"enter\": {\n const nextRowIndex = rowIndex + 1;\n const hasFooter = Boolean(table.tFoot);\n const isLastRow = rowIndex === lastRowIndex;\n const footerNext = hasFooter && nextRowIndex === lastRowIndex;\n\n if (!isLastRow && !footerNext) {\n newCellTarget = getCellTarget(table, nextRowIndex, cellIndex);\n activateCell(newCellTarget, { focus: true });\n } else {\n activateCell(newCellTarget, { focus: true });\n }\n return newCellTarget;\n }\n case \"escape\": {\n activateCell(newCellTarget, { focus: true });\n return newCellTarget;\n }\n case \"tab\": {\n if (cellIndex === lastCellIndex && rowIndex === lastRowIndex) {\n activateCell(newCellTarget, { focus: true });\n } else if (cellIndex === lastCellIndex) {\n newCellTarget = getCellTarget(table, rowIndex + 1, 0);\n activateCell(newCellTarget, { focus: true });\n } else {\n newCellTarget = getCellTarget(table, rowIndex, cellIndex + 1);\n activateCell(newCellTarget, { focus: true });\n }\n return newCellTarget;\n }\n case \"shift-tab\": {\n if (cellIndex === 0 && rowIndex === 1) {\n activateCell(newCellTarget, { focus: true });\n } else if (cellIndex === 0) {\n newCellTarget = getCellTarget(table, rowIndex - 1, 0);\n activateCell(newCellTarget, { focus: true });\n } else {\n newCellTarget = getCellTarget(table, rowIndex, cellIndex - 1);\n activateCell(newCellTarget, { focus: true });\n }\n return newCellTarget;\n }\n case \"blur\": {\n return newCellTarget;\n }\n }\n}\n","/**\n * Visits each item in an array and executes given callback.\n *\n * @internal\n * @param array - Array of items.\n * @param childKey - Key to check for nested items.\n * @param visit - Callback to execute on each item.\n * @param level - Nested level of current item (1 for root level).\n */\nexport function walk<T>(\n array: T[],\n childKey: keyof T | undefined,\n visit: (item: T, level: number) => boolean,\n level = 1,\n): void {\n for (const item of array) {\n const visitChildren = visit(item, level);\n\n if (visitChildren && childKey && item[childKey]) {\n walk(item[childKey] as T[], childKey, visit, level + 1);\n }\n }\n}\n","import { walk } from \"./walk\";\n\n/**\n * Return number of rows from array used to generate the rows in table body.\n *\n * @internal\n * @param rows - Array of rows to count.\n * @param childKey - Key to check for nested rows.\n * @returns Number of rows.\n */\nexport function getBodyRowCount<T>(rows: T[], childKey?: keyof T): number {\n let count = 0;\n walk(rows, childKey, () => {\n count++;\n return true;\n });\n return count;\n}\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","import { type ItemIdentifier, getItemIdentifier } from \"@fkui/vue\";\nimport { type MetaRow } from \"./meta-row\";\nimport { walk } from \"./walk\";\n\nfunction getRowIndexes<T>(\n rows: T[],\n expandableAttribute: keyof T | undefined,\n): ItemIdentifier[] {\n const array: ItemIdentifier[] = [];\n\n walk(rows, expandableAttribute, (row) => {\n array.push(getItemIdentifier(row));\n return true;\n });\n\n return array;\n}\n\n/**\n * @internal\n */\nexport function getMetaRows<T>(\n keyedRows: T[],\n expandedKeys: Set<ItemIdentifier>,\n expandableAttribute?: keyof T,\n): Array<MetaRow<T>> {\n const rowIndexes = getRowIndexes(keyedRows, expandableAttribute);\n const array: Array<MetaRow<T>> = [];\n\n walk(keyedRows, expandableAttribute, (row, level) => {\n const key = getItemIdentifier(row);\n const isExpandable = Boolean(\n expandableAttribute &&\n Array.isArray(row[expandableAttribute]) &&\n row[expandableAttribute].length > 0,\n );\n const isExpanded = isExpandable && expandedKeys.has(key);\n\n // +2 since header row has rowindex 1.\n const rowIndex = rowIndexes.indexOf(key) + 2;\n\n array.push({\n key,\n row,\n rowIndex,\n level: expandableAttribute ? level : undefined,\n isExpandable,\n isExpanded,\n });\n\n return isExpanded;\n });\n\n return array;\n}\n","import { type InjectionKey, inject } from \"vue\";\n\n/**\n * @internal\n */\nexport type StopEditCallback = (\n element: HTMLElement,\n reason: \"enter\" | \"escape\" | \"tab\" | \"shift-tab\" | \"blur\",\n) => Promise<void>;\n\n/** @internal */\nexport interface UseStartStopEdit {\n stopEdit: StopEditCallback;\n}\n\n/**\n * @internal\n */\nexport const stopEditKey = Symbol() as InjectionKey<StopEditCallback>;\n\n/**\n * @internal\n */\nexport function useStartStopEdit(): UseStartStopEdit {\n const stopEdit = inject(stopEditKey, () => Promise.resolve());\n return { stopEdit };\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperThrowsOnInvalidIterator = require('../internals/iterator-helper-throws-on-invalid-iterator');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\nvar IS_PURE = require('../internals/is-pure');\n\nvar MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('map', function () { /* empty */ });\nvar mapWithoutClosingOnEarlyError = !IS_PURE && !MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR\n && iteratorHelperWithoutClosingOnEarlyError('map', TypeError);\n\nvar FORCED = IS_PURE || MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || mapWithoutClosingOnEarlyError;\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var result = anObject(call(this.next, iterator));\n var done = this.done = !!result.done;\n if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);\n});\n\n// `Iterator.prototype.map` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.map\n$({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {\n map: function map(mapper) {\n anObject(this);\n try {\n aCallable(mapper);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (mapWithoutClosingOnEarlyError) return call(mapWithoutClosingOnEarlyError, this, mapper);\n\n return new IteratorProxy(getIteratorDirect(this), {\n mapper: mapper\n });\n }\n});\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { useTemplateRef } from \"vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\nimport { type NormalizedTableColumnAnchor } from \"./table-column\";\n\nconst { column, row } = defineProps<{\n column: NormalizedTableColumnAnchor<T, K>;\n row: T;\n}>();\n\nconst targetElement = useTemplateRef(\"target\");\n\nconst expose: FTableCellApi = { tabstopEl: targetElement };\ndefineExpose(expose);\n</script>\n\n<template>\n <td v-if=\"column.text(row)\" class=\"table-ng__cell table-ng__cell--anchor\">\n <a ref=\"target\" class=\"anchor anchor--block\" target=\"_blank\" :href=\"column.href\" tabindex=\"-1\">\n {{ column.text(row) }}\n </a>\n </td>\n <td v-else ref=\"target\" tabindex=\"-1\" class=\"table-ng__cell\"></td>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { useTemplateRef } from \"vue\";\nimport { assertRef } from \"@fkui/logic\";\nimport { FIcon } from \"@fkui/vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\nimport { type NormalizedTableColumnButton } from \"./table-column\";\n\nconst { column, row } = defineProps<{\n column: NormalizedTableColumnButton<T, K>;\n row: T;\n}>();\n\nconst buttonElement = useTemplateRef(\"button\");\n\nfunction onClickButton(): void {\n assertRef(buttonElement);\n buttonElement.value.tabIndex = 0;\n\n if (column.onClick) {\n column.onClick(row);\n }\n}\n\nconst expose: FTableCellApi = { tabstopEl: buttonElement };\ndefineExpose(expose);\n</script>\n\n<template>\n <td class=\"table-ng__cell table-ng__cell--button\">\n <button ref=\"button\" class=\"icon-button\" type=\"button\" tabindex=\"-1\" @click=\"onClickButton\">\n <f-icon v-if=\"column.icon\" :library=\"column.iconLibrary\" :name=\"column.icon\"></f-icon>\n <span class=\"sr-only\">{{ column.text(row) }}</span>\n </button>\n </td>\n</template>\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar findWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('find', TypeError);\n\n// `Iterator.prototype.find` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.find\n$({ target: 'Iterator', proto: true, real: true, forced: findWithoutClosingOnEarlyError }, {\n find: function find(predicate) {\n anObject(this);\n try {\n aCallable(predicate);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (findWithoutClosingOnEarlyError) return call(findWithoutClosingOnEarlyError, this, predicate);\n\n var record = getIteratorDirect(this);\n var counter = 0;\n return iterate(record, function (value, stop) {\n if (predicate(value, counter++)) return stop(value);\n }, { IS_RECORD: true, INTERRUPTED: true }).result;\n }\n});\n","<script setup lang=\"ts\" generic=\"T\">\nimport { computed, ref, useTemplateRef } from \"vue\";\nimport { type ContextMenuItem, FContextMenu, FIcon } from \"@fkui/vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\nimport { type NormalizedTableColumnMenu } from \"./table-column\";\n\nconst { column, row } = defineProps<{\n column: NormalizedTableColumnMenu<T>;\n row: T;\n}>();\n\nconst buttonRef = useTemplateRef(\"button\");\nconst expose: FTableCellApi = { tabstopEl: buttonRef };\nconst isOpen = ref(false);\n\n/* augment actions with a unique key */\nconst actions = computed(() => {\n return column.actions.map((it, index) => {\n return { ...it, key: `item-${String(index + 1)}` };\n });\n});\n\n/* generate a structure suitable for FContextMenu */\nconst menuitems = computed((): ContextMenuItem[] => {\n return actions.value.map((it): ContextMenuItem => {\n return { label: it.label, icon: it.icon ?? undefined, key: it.key };\n });\n});\n\nfunction onOpen(event: MouseEvent): void {\n /* prevent FTable from activating the cell (which moves the focus back to\n * the cell instead of the context menu) */\n event.stopPropagation();\n\n isOpen.value = true;\n}\n\nfunction onClose(): void {\n isOpen.value = false;\n}\n\nfunction onFocusout(event: FocusEvent): void {\n const validTarget = event.relatedTarget && event.relatedTarget instanceof HTMLElement;\n const inPopup = validTarget && Boolean(event.relatedTarget.closest(\".popup\"));\n if (inPopup) {\n return;\n }\n isOpen.value = false;\n}\n\nfunction onSelect(key: string): void {\n const action = actions.value.find((it) => it.key === key);\n action?.onClick(row);\n}\n\ndefineExpose(expose);\n</script>\n\n<template>\n <td class=\"table-ng__cell table-ng__cell--button\" :class=\"{ 'table-ng__cell--menu-open': isOpen }\">\n <button ref=\"button\" class=\"icon-button\" type=\"button\" tabindex=\"-1\" aria-haspopup=\"menu\" @click=\"onOpen\">\n <f-icon name=\"bars\"></f-icon>\n <span class=\"sr-only\">{{ column.text(row) }}</span>\n </button>\n <f-context-menu\n :is-open\n :items=\"menuitems\"\n :anchor=\"buttonRef ?? undefined\"\n @close=\"onClose\"\n @select=\"onSelect\"\n @focusout=\"onFocusout\"\n ></f-context-menu>\n </td>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { type NormalizedTableColumnRowHeader } from \"./table-column\";\n\nconst { row, column } = defineProps<{\n row: T;\n column: NormalizedTableColumnRowHeader<T, K>;\n}>();\n</script>\n\n<template>\n <th ref=\"th\" class=\"table-ng__cell table-ng__cell--rowheader\" scope=\"row\">\n {{ column.text(row) }}\n </th>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { type Ref, computed, nextTick, ref, useTemplateRef } from \"vue\";\nimport { ElementIdService, assertRef, assertSet } from \"@fkui/logic\";\nimport { IComboboxDropdown } from \"@fkui/vue\";\nimport { useStartStopEdit } from \"./start-stop-edit\";\nimport { type NormalizedTableColumnSelect } from \"./table-column\";\n\nconst { row, column } = defineProps<{\n row: T;\n column: NormalizedTableColumnSelect<T, K>;\n}>();\n\n// Editing in progress\nconst editing = ref(false);\nconst editRef = useTemplateRef(\"edit\");\n\nconst { stopEdit } = useStartStopEdit();\n\nconst viewValue = ref(column.selected(row));\n\nconst ariaLabel = computed(() => {\n const value = column.label(row);\n return value.length > 0 ? value : undefined;\n});\n\nconst dropdownId = ElementIdService.generateElementId();\nconst dropdownIsOpen = ref(false);\nconst activeOptionId = ElementIdService.generateElementId();\nconst activeOption: Ref<string | null> = ref(null);\n\nasync function onCellKeyDown(e: KeyboardEvent): Promise<void> {\n if (e.code === \"Enter\" || e.code === \"NumpadEnter\") {\n await startEditing(e);\n }\n}\n\nasync function onCellClick(e: MouseEvent): Promise<void> {\n if (editing.value) {\n return;\n }\n await startEditing(e);\n}\n\nasync function startEditing(e: UIEvent): Promise<void> {\n assertRef(editRef);\n e.preventDefault();\n\n editing.value = true;\n await nextTick();\n editRef.value.tabIndex = 0;\n\n editRef.value.focus();\n await openDropdown();\n}\n\nasync function selectDropdownOption(value: string): Promise<void> {\n assertRef(editRef);\n assertSet(stopEdit);\n\n const oldValue = viewValue.value;\n viewValue.value = value;\n column.update(row, value, oldValue);\n closeDropdown();\n await stopEdit(editRef.value, \"enter\");\n}\n\nasync function onDropdownClose(): Promise<void> {\n assertSet(stopEdit);\n assertRef(editRef);\n\n closeDropdown();\n await stopEdit(editRef.value, \"blur\");\n}\n\nasync function openDropdown(): Promise<void> {\n dropdownIsOpen.value = true;\n await nextTick();\n\n if (viewValue.value) {\n activeOption.value = viewValue.value;\n } else {\n activeOption.value = null;\n }\n\n assertRef(editRef);\n editRef.value.focus();\n}\n\nfunction closeDropdown(): void {\n dropdownIsOpen.value = false;\n editing.value = false;\n activeOption.value = null;\n}\n\nfunction setNextOption(): void {\n if (activeOption.value) {\n const index = column.options.indexOf(activeOption.value);\n\n if (index === column.options.length - 1) {\n activeOption.value = column.options[0];\n } else {\n activeOption.value = column.options[index + 1];\n }\n } else {\n activeOption.value = column.options[0];\n }\n}\n\nfunction setPreviousOption(): void {\n if (activeOption.value) {\n const index = column.options.indexOf(activeOption.value);\n\n if (index === 0) {\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- technical debt */\n activeOption.value = column.options.at(-1)!;\n } else {\n activeOption.value = column.options[index - 1];\n }\n } else {\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- technical debt */\n activeOption.value = column.options.at(-1)!;\n }\n}\n\nasync function onEditKeyDown(e: KeyboardEvent): Promise<void> {\n assertRef(editRef);\n assertSet(stopEdit);\n\n switch (e.code) {\n case \"Escape\":\n e.preventDefault();\n closeDropdown();\n await stopEdit(editRef.value, \"escape\");\n break;\n case \"Enter\":\n case \"NumpadEnter\":\n e.preventDefault();\n await selectDropdownOption(activeOption.value ?? viewValue.value);\n await stopEdit(editRef.value, \"enter\");\n break;\n case \"Tab\":\n e.preventDefault();\n closeDropdown();\n await stopEdit(editRef.value, e.shiftKey ? \"shift-tab\" : \"tab\");\n break;\n case \"ArrowDown\":\n e.preventDefault();\n setNextOption();\n break;\n case \"ArrowUp\":\n e.preventDefault();\n setPreviousOption();\n break;\n case \"Space\":\n // Prevent default scrolling with space while editing dropdown.\n e.preventDefault();\n break;\n default:\n break;\n }\n}\n\nasync function onEditBlur(event: FocusEvent): Promise<void> {\n const validTarget = event.relatedTarget && event.relatedTarget instanceof HTMLElement;\n if (validTarget && event.relatedTarget.closest(\".combobox__listbox\")) {\n return;\n }\n\n assertSet(stopEdit);\n assertRef(editRef);\n closeDropdown();\n await nextTick();\n await stopEdit(editRef.value, \"blur\");\n}\n</script>\n\n<template>\n <td\n v-if=\"column.editable(row)\"\n class=\"table-ng__cell table-ng__cell--select\"\n tabindex=\"-1\"\n @keydown=\"onCellKeyDown\"\n @click.stop=\"onCellClick\"\n >\n <div v-show=\"!editing\" class=\"table-ng__editable\">\n <span class=\"table-ng__editable__text\">{{ viewValue }}</span>\n </div>\n <div\n v-show=\"editing\"\n ref=\"edit\"\n role=\"combobox\"\n tabindex=\"-1\"\n :aria-expanded=\"dropdownIsOpen\"\n :aria-controls=\"dropdownIsOpen ? dropdownId : undefined\"\n :aria-activedescendant=\"dropdownIsOpen ? activeOptionId : undefined\"\n aria-autocomplete=\"list\"\n class=\"table-ng__editable\"\n :aria-label\n @click.stop\n @dblclick.prevent\n @keydown.stop=\"onEditKeyDown\"\n @focusout=\"(e) => onEditBlur(e)\"\n >\n <span class=\"table-ng__editable__text\">{{ viewValue }}</span>\n </div>\n\n <i-combobox-dropdown\n v-show=\"editing\"\n :id=\"dropdownId\"\n :is-open=\"dropdownIsOpen\"\n :options=\"column.options\"\n :active-option\n :active-option-id\n :input-node=\"editRef as HTMLInputElement\"\n @select=\"selectDropdownOption\"\n @close=\"onDropdownClose\"\n ></i-combobox-dropdown>\n </td>\n <td v-else tabindex=\"-1\" class=\"table-ng__cell table-ng__cell--static\">\n {{ column.selected(row) }}\n </td>\n</template>\n","import { type InputType } from \"../../input-fields-config\";\n\n/**\n * @internal\n */\nexport function defaultTnumValue(type: InputType): boolean {\n const tnumTypes = [\n \"text:bankAccountNumber\",\n \"text:bankgiro\",\n \"text:clearingNumber\",\n \"text:currency\",\n \"text:number\",\n \"text:organisationsnummer\",\n \"text:percent\",\n \"text:personnummer\",\n \"text:phoneNumber\",\n \"text:plusgiro\",\n \"text:postalCode\",\n ];\n\n return tnumTypes.includes(type);\n}\n","const defaultLabelFn = (): string => \"\";\n\n/**\n * @internal\n */\nexport function getLabelFn<TRow>(\n fn: ((this: void, row: TRow) => string) | undefined,\n): (this: void, row: TRow) => string {\n if (fn) {\n return fn;\n }\n return defaultLabelFn;\n}\n","const defaultUpdateFn = (): void => undefined;\n\n/**\n * @internal\n */\n/* eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters -- technical debt */\nexport function getUpdateFn<TRow, TValue, K extends keyof TRow>(\n fn:\n | ((this: void, row: TRow, newValue: TValue, oldValue: TValue) => void)\n | undefined,\n key: K | undefined,\n): (this: void, row: TRow, newValue: TValue, oldValue: TValue) => void {\n if (fn) {\n return fn;\n }\n if (key) {\n return (row: TRow, value: TValue): void => {\n row[key] = value as TRow[K]; // @todo This is not safe :/\n };\n }\n return defaultUpdateFn;\n}\n","/**\n * @internal\n */\nexport function getValueFn<TRow, TValue>(\n fn: ((this: void, row: TRow) => TValue | string) | undefined,\n key: keyof TRow | undefined,\n coerce: (value: unknown) => TValue | string,\n defaultValue: TValue | string,\n): (this: void, row: TRow) => TValue | string {\n if (fn) {\n return fn;\n }\n if (key) {\n return (row: TRow): TValue | string => {\n return coerce(row[key] ?? defaultValue);\n };\n }\n return () => defaultValue;\n}\n","import { type InputTypeNumber, numberTypes } from \"../../input-fields-config\";\nimport { type NormalizedTableColumnNumber } from \"../number\";\nimport { type NormalizedTableColumnText } from \"../text\";\n\n/**\n * @internal\n */\nexport function isColumnTypeNumber<T, K>(\n column: NormalizedTableColumnNumber<T, K> | NormalizedTableColumnText<T, K>,\n): column is NormalizedTableColumnNumber<T, K> {\n const type = column.type;\n return numberTypes.includes(type as InputTypeNumber);\n}\n","import { ValidationService } from \"@fkui/logic\";\n\nimport {\n type InputTypeNumber,\n type InputTypeText,\n inputFieldConfig,\n} from \"./input-fields-config\";\n\n/** @internal */\nexport function addInputValidators(\n inputElement: HTMLInputElement,\n type: InputTypeText | InputTypeNumber,\n): void {\n ValidationService.addValidatorsToElement(\n inputElement,\n inputFieldConfig[type].validationConfig,\n true,\n );\n}\n","/**\n * @internal\n */\nexport function isAlphanumeric(e: KeyboardEvent): boolean {\n // using the fact that special keys have a name with length > 1\n // ignores ctrl, meta key combinations\n return e.key.length === 1 && !e.ctrlKey && !e.metaKey;\n}\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, nextTick, onMounted, ref, useTemplateRef, watchEffect } from \"vue\";\nimport {\n type ValidationResult,\n type ValidityEvent,\n type ValidityNativeEvent,\n ElementIdService,\n ValidationService,\n assertRef,\n} from \"@fkui/logic\";\nimport { type ComponentValidityEvent, IPopupError, dispatchComponentValidityEvent } from \"@fkui/vue\";\nimport { useElementHover, useEventListener, useFocusWithin } from \"@vueuse/core\";\nimport { isColumnTypeNumber } from \"./columns/helpers\";\nimport { inputFieldConfig } from \"./input-fields-config\";\nimport { addInputValidators } from \"./input-validators\";\nimport { isAlphanumeric } from \"./is-alphanumeric\";\nimport { type PopupError } from \"./popup-eror\";\nimport { useStartStopEdit } from \"./start-stop-edit\";\nimport { type NormalizedTableColumnNumber, type NormalizedTableColumnText } from \"./table-column\";\n\ninterface ValidationFacade {\n validateElement(element: string | Element | null): Promise<ValidationResult>;\n dispatchComponentValidityEvent: (element: Element, detail: ComponentValidityEvent) => void;\n}\n\nconst {\n row,\n column,\n activeErrorAnchor = undefined,\n} = defineProps<{\n row: T;\n column: NormalizedTableColumnText<T, K> | NormalizedTableColumnNumber<T, K>;\n activeErrorAnchor?: HTMLElement;\n}>();\n\nconst emit = defineEmits<{\n onError: [error: PopupError];\n closeError: [error: PopupError];\n}>();\n\nconst viewValue = ref(\"\");\nconst inEdit = ref(false);\nconst cellId = ElementIdService.generateElementId();\nconst inputId = ElementIdService.generateElementId();\n\nconst validity = ref<Pick<ValidityEvent, \"isValid\" | \"validationMessage\" | \"validityMode\">>({\n isValid: true,\n validationMessage: \"\",\n validityMode: \"INITIAL\",\n});\n\nlet validationFacade: ValidationFacade = {\n validateElement: () => Promise.resolve({ isValid: true, error: \"\", isSubmitted: false, isTouched: false }),\n dispatchComponentValidityEvent: () => undefined,\n};\n\nconst hasError = computed(() => validity.value.validityMode === \"ERROR\");\nconst viewModeAriaInvalid = computed(() => (!inEdit.value && hasError.value ? true : undefined));\nconst viewModeErrorMessage = computed(() =>\n !inEdit.value && hasError.value ? validity.value.validationMessage : undefined,\n);\nlet initialValidity = { ...validity.value };\n\nconst divClasses = computed(() => {\n return {\n \"table-ng__editable\": true,\n \"table-ng__editable__numeric\": column.tnum,\n };\n});\n\nconst wrapperClasses = computed(() => {\n return {\n \"table-ng__cell\": true,\n \"table-ng__cell--text\": true,\n \"table-ng__cell--valid\": !hasError.value,\n \"table-ng__cell--error\": hasError.value,\n \"table-ng__cell--align-left\": column.align === \"left\",\n \"table-ng__cell--align-right\": column.align === \"right\",\n };\n});\n\nconst staticClasses = computed(() => {\n return {\n \"table-ng__cell\": true,\n \"table-ng__cell--static\": true,\n \"table-ng__cell--align-left\": column.align === \"left\",\n \"table-ng__cell--align-right\": column.align === \"right\",\n };\n});\n\nconst inputClasses = computed(() => {\n return {\n \"table-ng__textedit\": true,\n };\n});\n\nconst ariaLabel = computed(() => {\n let value = column.label(row);\n\n if (hasError.value) {\n value = `${value} ${validity.value.validationMessage}`;\n }\n\n return value.length > 0 ? value : undefined;\n});\n\nconst columnAttributes = computed(() => {\n if (column.attributes && typeof column.attributes === \"function\") {\n return column.attributes(row);\n } else {\n return column.attributes;\n }\n});\n\nconst configAttributes = computed(() => {\n let decimals: number | undefined = undefined;\n\n if (isColumnTypeNumber(column)) {\n decimals = column.decimals;\n }\n return inputFieldConfig[column.type].attributes({ decimals });\n});\n\nconst tdElement = useTemplateRef(\"td\");\nconst inputElement = useTemplateRef(\"input\");\nconst { stopEdit } = useStartStopEdit();\nconst isHovered = useElementHover(tdElement, { delayEnter: 200 });\nconst { focused } = useFocusWithin(tdElement);\n\nconst openPopupError = computed(() => {\n if (!tdElement.value) {\n return false;\n }\n return tdElement.value === activeErrorAnchor;\n});\n\nlet initialViewValue = \"\";\nlet pendingStopEditReason: \"enter\" | \"tab\" | \"shift-tab\" | null = null;\n\nfunction setUpValidation(el: HTMLInputElement): void {\n addInputValidators(el, column.type);\n ValidationService.addValidatorsToElement(el, column.validation);\n\n validationFacade = {\n validateElement: (el) => ValidationService.validateElement(el),\n dispatchComponentValidityEvent,\n };\n}\n\nfunction setUpFakeValidation(el: HTMLInputElement): void {\n assertRef(inputElement);\n const nativeEvents: ValidityNativeEvent[] = [\"change\", \"blur\"];\n\n for (const nativeEvent of nativeEvents) {\n useEventListener(el, nativeEvent, () => {\n const fakeEvent = new CustomEvent<ValidityEvent>(\"validity\", {\n detail: {\n isValid: true,\n nativeEvent,\n validityMode: \"INITIAL\",\n validationMessage: \"\",\n target: inputElement.value,\n elementId: String(inputElement.value.id),\n },\n });\n\n onValidity(fakeEvent);\n });\n }\n\n useEventListener(el, \"input\", onPendingValidity);\n useEventListener(el, \"component-validity\", (e) => {\n e.stopPropagation();\n });\n}\n\nonMounted(() => {\n if (inputElement.value) {\n viewValue.value = fromColumnValue();\n\n if (column.hasValidation) {\n setUpValidation(inputElement.value);\n } else {\n setUpFakeValidation(inputElement.value);\n }\n\n void nextTick().then(() => validationFacade.validateElement(inputElement.value)); // wait for .value to be set before validation\n }\n});\n\nwatchEffect(() => {\n if (hasError.value) {\n emit(\"onError\", {\n anchor: tdElement.value ?? undefined,\n arrowAnchor: inputElement.value ?? undefined,\n message: validity.value.validationMessage,\n hasFocus: focused.value,\n hasHover: isHovered.value,\n inEdit: inEdit.value,\n });\n } else {\n emit(\"closeError\", {\n anchor: tdElement.value ?? undefined,\n arrowAnchor: inputElement.value ?? undefined,\n message: validity.value.validationMessage,\n hasFocus: focused.value,\n hasHover: isHovered.value,\n inEdit: inEdit.value,\n });\n }\n});\n\nfunction onStartEdit(value: string): void {\n if (inEdit.value) {\n return;\n }\n\n inEdit.value = true;\n assertRef(tdElement);\n assertRef(inputElement);\n\n const { width } = tdElement.value.getBoundingClientRect();\n initialViewValue = viewValue.value;\n initialValidity = { ...validity.value };\n viewValue.value = value;\n tdElement.value.style.setProperty(\"width\", `${String(width)}px`);\n\n inputElement.value.tabIndex = 0;\n inputElement.value.focus();\n}\n\nfunction onStopEdit(options: { reason: \"enter\" | \"escape\" | \"tab\" | \"shift-tab\" | \"blur\" }): void {\n const { reason } = options;\n inEdit.value = false;\n assertRef(inputElement);\n inputElement.value.tabIndex = -1;\n\n assertRef(tdElement);\n tdElement.value.style.removeProperty(\"width\");\n\n void stopEdit(inputElement.value, reason);\n}\n\nfunction fromColumnValue(): string {\n assertRef(validity);\n const value = column.value(row);\n\n if (validity.value.isValid) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- type of value must always match between column.value() and column.formater()\n return column.formatter(value as any) ?? value.toString();\n }\n\n return value.toString();\n}\n\nfunction toColumnValue(value: string): unknown {\n assertRef(validity);\n\n if (validity.value.isValid) {\n return column.parser(value) ?? value;\n }\n\n return value;\n}\n\nfunction updateColumnValue(): void {\n const oldValue = column.value(row);\n const newValue = toColumnValue(viewValue.value);\n\n if (oldValue !== newValue) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- type of value must always match between column.parse() and column.update()\n column.update(row, newValue as any, oldValue as any);\n }\n}\n\nfunction onClickCell(event: MouseEvent): void {\n assertRef(tdElement);\n\n if (tdElement.value.contains(event.target as Node)) {\n onStartEdit(fromColumnValue());\n }\n}\n\nfunction onViewingKeydown(event: KeyboardEvent): void {\n if (isAlphanumeric(event)) {\n event.stopPropagation();\n onStartEdit(\"\");\n }\n\n if (event.key === \"Enter\") {\n event.stopPropagation();\n onStartEdit(fromColumnValue());\n }\n}\n\nfunction onEditingKeydown(event: KeyboardEvent): void {\n assertRef(inputElement);\n event.stopPropagation();\n\n switch (event.key) {\n case \"Enter\": {\n if (viewValue.value === initialViewValue) {\n validity.value = { ...initialValidity };\n onStopEdit({ reason: \"enter\" });\n } else {\n pendingStopEditReason = \"enter\";\n }\n break;\n }\n case \"Escape\": {\n onStopEdit({ reason: \"escape\" });\n viewValue.value = initialViewValue;\n inputElement.value.value = initialViewValue; // required for validationservice to pick up value instantly\n void validationFacade.validateElement(inputElement.value);\n break;\n }\n case \"Tab\": {\n pendingStopEditReason = event.shiftKey ? \"shift-tab\" : \"tab\";\n break;\n }\n }\n}\n\nfunction onKeydown(event: KeyboardEvent): void {\n const editing = document.activeElement === inputElement.value;\n\n if (editing) {\n onEditingKeydown(event);\n } else {\n onViewingKeydown(event);\n }\n}\n\nfunction updateValidity(eventDetail: ValidityEvent): void {\n const { isValid, validationMessage, validityMode } = eventDetail;\n validity.value = { isValid, validationMessage, validityMode };\n\n assertRef(inputElement);\n validationFacade.dispatchComponentValidityEvent(inputElement.value, {\n ...eventDetail,\n errorMessage: validationMessage,\n focusElementId: cellId,\n });\n}\n\nfunction onValidity(event: CustomEvent<ValidityEvent>): void {\n const nativeEvent = event.detail.nativeEvent;\n const reason = pendingStopEditReason ?? (nativeEvent === \"blur\" ? \"blur\" : null);\n pendingStopEditReason = null;\n\n if (inEdit.value && reason) {\n onStopEdit({ reason });\n updateValidity(event.detail);\n updateColumnValue();\n return;\n }\n\n if (nativeEvent === \"input\") {\n updateValidity(event.detail);\n updateColumnValue();\n return;\n }\n\n if (nativeEvent === \"validate\") {\n updateValidity(event.detail);\n }\n}\n\nfunction onPendingValidity(): void {\n assertRef(validity);\n validity.value.validityMode = \"INITIAL\";\n}\n</script>\n\n<template>\n <td\n v-if=\"column.editable(row)\"\n :id=\"cellId\"\n ref=\"td\"\n tabindex=\"-1\"\n :class=\"wrapperClasses\"\n :aria-invalid=\"viewModeAriaInvalid\"\n @click.stop=\"onClickCell\"\n @keydown=\"onKeydown\"\n >\n <div :class=\"divClasses\">\n <span class=\"table-ng__editable__text\">{{ fromColumnValue() }}</span>\n <span v-if=\"viewModeErrorMessage\" class=\"sr-only\">{{ viewModeErrorMessage }}</span>\n <input\n :id=\"inputId\"\n ref=\"input\"\n v-model=\"viewValue\"\n :class=\"inputClasses\"\n type=\"text\"\n maxlength=\"40\"\n tabindex=\"-1\"\n :aria-label\n v-bind=\"{ ...configAttributes, ...columnAttributes }\"\n :aria-hidden=\"!inEdit\"\n @validity=\"onValidity\"\n @pending-validity=\"onPendingValidity\"\n />\n </div>\n <i-popup-error\n :anchor=\"tdElement\"\n :is-open=\"openPopupError\"\n :error-message=\"validity.validationMessage\"\n :arrow-anchor=\"inputElement\"\n layout=\"f-table\"\n ></i-popup-error>\n </td>\n <td v-else ref=\"td\" tabindex=\"-1\" :class=\"staticClasses\">\n {{ fromColumnValue() }}\n </td>\n</template>\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnAnchor<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: \"anchor\";\n key?: K;\n text(this: void, row: T): string | null;\n href: string;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnAnchor<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: \"anchor\";\n readonly href: string;\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnAnchor<T, K>;\n }>;\n text(this: void, row: T): string | null;\n}\n\n/**\n * @internal\n */\nexport function normalizeAnchorColumn<T, K extends keyof T>(\n column: TableColumnAnchor<T, K>,\n): Omit<NormalizedTableColumnAnchor<T, K>, OmittedNormalizedColumnProperties> {\n return {\n type: \"anchor\",\n text: getValueFn(column.text, column.key, String, \"\"),\n href: column.href,\n };\n}\n","/**\n * Determines the sortable value for a table column based on the sort property and key.\n *\n * @param column - An object with sort and key properties\n * @returns The key if sorting should be enabled, null otherwise\n *\n * @internal\n */\nexport function getSortable<K>(column: { sort?: boolean; key?: K }): K | null {\n // If sort is explicitly set to true, use key (or null if no key)\n // If sort is explicitly set to false, return null\n // If sort is undefined, default to true if key exists, false otherwise\n const shouldSort = column.sort ?? !!column.key;\n return shouldSort ? (column.key ?? null) : null;\n}\n","import { type MaybeRef, type Ref, ref, toRef } from \"vue\";\nimport { getSortable } from \"./helpers/get-sortable\";\n\n/**\n * @public\n */\nexport type TableColumnSize = \"grow\" | \"shrink\";\n\n/**\n * Base properties shared by all table column types.\n *\n * @public\n */\nexport interface TableColumnBase {\n header: string | Readonly<Ref<string>>;\n description?: string | Readonly<Ref<string | null>>;\n size?: TableColumnSize | Readonly<Ref<TableColumnSize | null>>;\n sort?: boolean;\n enabled?: MaybeRef<boolean>;\n}\n\n/**\n * Base properties shared by all normalized table column types.\n *\n * @internal\n */\nexport interface NormalizedTableColumnBase<K> {\n readonly id: symbol;\n readonly header: Readonly<Ref<string>>;\n readonly description: Readonly<Ref<string | null>>;\n readonly sortable: K | null;\n readonly size: Readonly<Ref<TableColumnSize | null>>;\n readonly enabled: MaybeRef<boolean>;\n}\n\n/**\n * Properties that are omitted from column-specific normalization functions\n * and added by the main normalizeTableColumn function.\n *\n * @internal\n */\nexport type OmittedNormalizedColumnProperties =\n | \"id\"\n | \"header\"\n | \"description\"\n | \"sortable\"\n | \"size\"\n | \"component\"\n | \"enabled\";\n\n/**\n * @internal\n */\nexport function normalizeBaseColumn<K = never>(\n column: TableColumnBase,\n): Pick<\n NormalizedTableColumnBase<K>,\n \"id\" | \"header\" | \"description\" | \"size\" | \"enabled\" | \"sortable\"\n> {\n const id = Symbol();\n const header = toRef(column.header);\n const description =\n column.description !== undefined ? toRef(column.description) : ref(\"\");\n const size: Readonly<Ref<TableColumnSize | null>> =\n column.size !== undefined ? toRef(column.size) : ref(\"grow\");\n const sortable = getSortable<K>(column);\n\n return {\n id,\n header,\n description,\n sortable,\n size,\n enabled: column.enabled ?? true,\n };\n}\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnButton<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: \"button\";\n key?: K;\n text(this: void, row: T): string | null;\n onClick?(this: void, row: T): void;\n icon?: string;\n /**\n * The icon library to use when rendering an icon. If not set, the default icon library will be used.\n */\n iconLibrary?: string;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnButton<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: \"button\";\n readonly icon: string | null;\n readonly iconLibrary: string | undefined;\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnButton<T, K>;\n }>;\n text(this: void, row: T): string | null;\n onClick?(this: void, row: T): void;\n}\n\n/**\n * @internal\n */\nexport function normalizeButtonColumn<T, K extends keyof T>(\n column: TableColumnButton<T, K>,\n): Omit<NormalizedTableColumnButton<T, K>, OmittedNormalizedColumnProperties> {\n return {\n type: \"button\",\n text: getValueFn(column.text, column.key, String, \"\"),\n onClick: column.onClick,\n icon: column.icon ?? null,\n iconLibrary: column.iconLibrary,\n };\n}\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getLabelFn, getUpdateFn, getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnCheckbox<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: \"checkbox\";\n key?: K;\n label?(this: void, row: T): string;\n checked?(this: void, row: T): boolean;\n update?(this: void, row: T, newValue: boolean, oldValue: boolean): void;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnCheckbox<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: \"checkbox\";\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnCheckbox<T, K>;\n }>;\n label(this: void, row: T): string;\n checked(this: void, row: T): boolean | string;\n update(this: void, row: T, newValue: boolean, oldValue: boolean): void;\n}\n\n/**\n * @internal\n */\nexport function normalizeCheckboxColumn<T, K extends keyof T>(\n column: TableColumnCheckbox<T, K>,\n): Omit<\n NormalizedTableColumnCheckbox<T, K>,\n OmittedNormalizedColumnProperties\n> {\n return {\n type: \"checkbox\",\n label: getLabelFn(column.label),\n checked: getValueFn(column.checked, column.key, Boolean, false),\n update: getUpdateFn(column.update, column.key),\n };\n}\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnMenu<T> extends TableColumnBase {\n type: \"menu\";\n text(this: void, row: T): string | null;\n actions?: Array<{\n label: string;\n icon?: string;\n onClick?(this: void, row: T): void;\n }>;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnMenu<\n T,\n> extends NormalizedTableColumnBase<never> {\n readonly type: \"menu\";\n readonly actions: Array<{\n readonly label: string;\n readonly icon: string | null;\n onClick(this: void, row: T): void;\n }>;\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnMenu<T>;\n }>;\n text(this: void, row: T): string | null;\n}\n\nfunction noop(): void {\n /* do nothing */\n}\n\n/**\n * @internal\n */\nexport function normalizeMenuColumn<T>(\n column: TableColumnMenu<T>,\n): Omit<NormalizedTableColumnMenu<T>, OmittedNormalizedColumnProperties> {\n return {\n type: \"menu\",\n text: getValueFn(column.text, undefined, String, \"\"),\n actions: (column.actions ?? []).map((it) => {\n return {\n label: it.label,\n icon: it.icon ?? null,\n onClick: it.onClick ?? noop,\n };\n }),\n };\n}\n","import { type Component } from \"vue\";\nimport { type ValidatorConfigs } from \"@fkui/logic\";\nimport { type InputTypeNumber, inputFieldConfig } from \"../input-fields-config\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport {\n defaultTnumValue,\n getLabelFn,\n getUpdateFn,\n getValueFn,\n} from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnNumber<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: InputTypeNumber;\n decimals?: number;\n key?: K;\n label?(this: void, row: T): string;\n tnum?: boolean;\n align?: \"left\" | \"right\";\n attributes?:\n | Record<string, string | number | boolean | undefined>\n | ((\n this: void,\n row: T,\n ) => Record<string, string | number | boolean | undefined>);\n value?(this: void, row: T): string | number;\n update?(\n this: void,\n row: T,\n newValue: number | string,\n oldValue: number | string,\n ): void;\n editable?: boolean | ((this: void, row: T) => boolean);\n validation?: ValidatorConfigs;\n parser?(this: void, value: string): number | string | undefined;\n formatter?(this: void, value: number | string): string | undefined;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnNumber<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: InputTypeNumber;\n readonly decimals?: number;\n readonly validation: ValidatorConfigs;\n readonly hasValidation: boolean;\n readonly tnum: boolean;\n readonly align: \"left\" | \"right\";\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnNumber<T, K>;\n activeErrorAnchor?: HTMLElement;\n }>;\n attributes?:\n | Record<string, string | number | boolean | undefined>\n | ((\n this: void,\n row: T,\n ) => Record<string, string | number | boolean | undefined>);\n label(this: void, row: T): string;\n value(this: void, row: T): string | number;\n update(\n this: void,\n row: T,\n newValue: number | string,\n oldValue: number | string,\n ): void;\n parser(this: void, value: string): number | string | undefined;\n formatter(this: void, value: number | string): string | undefined;\n editable(this: void, row: T): boolean;\n}\n\n/**\n * @internal\n */\nexport function normalizeNumberColumn<T, K extends keyof T>(\n column: TableColumnNumber<T, K>,\n): Omit<NormalizedTableColumnNumber<T, K>, OmittedNormalizedColumnProperties> {\n const type = column.type;\n const config = inputFieldConfig[type];\n const parser = column.parser ?? config.parser.bind(column);\n const formatter = column.formatter ?? config.formatter.bind(column);\n const decimals = type === \"text:currency\" ? 0 : column.decimals;\n return {\n type,\n label: getLabelFn(column.label),\n decimals,\n tnum: column.tnum ?? defaultTnumValue(type),\n align: column.align ?? \"right\",\n attributes: column.attributes,\n value: getValueFn(column.value, column.key, String, \"\"),\n update: getUpdateFn(column.update, column.key),\n editable:\n typeof column.editable === \"function\"\n ? column.editable\n : () => Boolean(column.editable ?? false),\n validation: column.validation ?? {},\n hasValidation:\n column.type.startsWith(\"text:\") || Boolean(column.validation),\n formatter,\n parser,\n };\n}\n","import { type Component, type VNode } from \"vue\";\nimport { type NormalizedTableColumnBase, type TableColumnBase } from \"./base\";\n\n/**\n * @public\n */\nexport interface TableColumnRender<\n T,\n K extends keyof T = keyof T,\n> extends TableColumnBase {\n key?: K;\n render(this: void, row: T): VNode | Component;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnRender<T> extends Omit<\n NormalizedTableColumnBase<never>,\n \"sortable\"\n> {\n readonly type: undefined;\n readonly sortable: boolean | null;\n render(this: void, row: T): VNode | Component;\n}\n\n/**\n * @internal\n */\nexport function normalizeRenderColumn<T, K extends keyof T>(\n column: TableColumnRender<T, K>,\n): Omit<\n NormalizedTableColumnRender<T>,\n \"id\" | \"header\" | \"description\" | \"size\" | \"enabled\"\n> {\n return {\n type: undefined,\n render: column.render,\n sortable: null,\n };\n}\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnRowHeader<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: \"rowheader\";\n key?: K;\n text?(this: void, row: T): string;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnRowHeader<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: \"rowheader\";\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnRowHeader<T, K>;\n }>;\n text(this: void, row: T): string;\n}\n\n/**\n * @internal\n */\nexport function normalizeRowHeaderColumn<T, K extends keyof T>(\n column: TableColumnRowHeader<T, K>,\n): Omit<\n NormalizedTableColumnRowHeader<T, K>,\n OmittedNormalizedColumnProperties\n> {\n return {\n type: \"rowheader\",\n text: getValueFn(column.text, column.key, String, \"\"),\n };\n}\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getLabelFn, getUpdateFn, getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnSelect<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: \"select\";\n key?: K;\n label?(this: void, row: T): string;\n selected?(this: void, row: T): string;\n update?(this: void, row: T, newValue: string, oldValue: string): void;\n editable?: boolean | ((this: void, row: T) => boolean);\n options: string[];\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnSelect<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: \"select\";\n readonly options: string[];\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnSelect<T, K>;\n }>;\n label(this: void, row: T): string;\n selected(this: void, row: T): string;\n update(this: void, row: T, newValue: string, oldValue: string): void;\n editable(this: void, row: T): boolean;\n}\n\n/**\n * @internal\n */\nexport function normalizeSelectColumn<T, K extends keyof T>(\n column: TableColumnSelect<T, K>,\n): Omit<NormalizedTableColumnSelect<T, K>, OmittedNormalizedColumnProperties> {\n return {\n type: \"select\",\n label: getLabelFn(column.label),\n selected: getValueFn(column.selected, column.key, String, \"\"),\n update: getUpdateFn(column.update, column.key),\n editable:\n typeof column.editable === \"function\"\n ? column.editable\n : () => Boolean(column.editable ?? false),\n options: column.options,\n };\n}\n","import {\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getValueFn } from \"./helpers\";\nimport { type NormalizedTableColumnText } from \"./text\";\n\n/**\n * @public\n */\nexport interface TableColumnSimple<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n /* eslint-disable-next-line sonarjs/no-redundant-optional -- this is used as\n * a discriminator in the union, for the simple column we are not expected\n * to set `type` at all but this simplifies the normalization */\n type?: undefined;\n key?: K;\n label?(this: void, row: T): string;\n value?(this: void, row: T): string;\n}\n\n/**\n * @internal\n */\nexport function normalizeSimpleColumn<T, K extends keyof T>(\n column: TableColumnSimple<T, K>,\n): Omit<NormalizedTableColumnText<T, K>, OmittedNormalizedColumnProperties> {\n return {\n type: \"text\",\n label: () => \"\",\n tnum: false,\n align: \"left\",\n value: getValueFn(column.value, column.key, String, \"\"),\n update() {\n /* do nothing */\n },\n editable: () => false,\n validation: {},\n hasValidation: false,\n formatter: (value) => value,\n parser: (value) => value,\n };\n}\n","import { type Component } from \"vue\";\nimport { type ValidatorConfigs } from \"@fkui/logic\";\nimport { type InputTypeText, inputFieldConfig } from \"../input-fields-config\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport {\n defaultTnumValue,\n getLabelFn,\n getUpdateFn,\n getValueFn,\n} from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnText<T, K extends keyof T> extends TableColumnBase {\n type: InputTypeText;\n key?: K;\n label?(this: void, row: T): string;\n tnum?: boolean;\n align?: \"left\" | \"right\";\n attributes?:\n | Record<string, string | number | boolean | undefined>\n | ((\n this: void,\n row: T,\n ) => Record<string, string | number | boolean | undefined>);\n value?(this: void, row: T): string;\n update?(this: void, row: T, newValue: string, oldValue: string): void;\n editable?: boolean | ((this: void, row: T) => boolean);\n validation?: ValidatorConfigs;\n parser?(this: void, value: string): string | undefined;\n formatter?(this: void, value: string): string | undefined;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnText<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: InputTypeText;\n readonly validation: ValidatorConfigs;\n readonly hasValidation: boolean;\n readonly tnum: boolean;\n readonly align: \"left\" | \"right\";\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnText<T, K>;\n activeErrorAnchor?: HTMLElement;\n }>;\n attributes?:\n | Record<string, string | number | boolean | undefined>\n | ((\n this: void,\n row: T,\n ) => Record<string, string | number | boolean | undefined>);\n label(this: void, row: T): string;\n value(this: void, row: T): string;\n update(this: void, row: T, newValue: string, oldValue: string): void;\n parser(this: void, value: string): string | undefined;\n formatter(this: void, value: string): string | undefined;\n editable(this: void, row: T): boolean;\n}\n\n/**\n * @internal\n */\nexport function normalizeTextColumn<T, K extends keyof T>(\n column: TableColumnText<T, K>,\n): Omit<NormalizedTableColumnText<T, K>, OmittedNormalizedColumnProperties> {\n const type = column.type;\n const config = inputFieldConfig[type];\n const parser = column.parser ?? config.parser;\n const formatter = column.formatter ?? config.formatter;\n return {\n type,\n tnum: column.tnum ?? defaultTnumValue(type),\n align: column.align ?? \"left\",\n attributes: column.attributes,\n label: getLabelFn(column.label),\n value: getValueFn(column.value, column.key, String, \"\"),\n update: getUpdateFn(column.update, column.key),\n editable:\n typeof column.editable === \"function\"\n ? column.editable\n : () => Boolean(column.editable ?? false),\n validation: column.validation ?? {},\n hasValidation:\n column.type.startsWith(\"text:\") || Boolean(column.validation),\n formatter,\n parser,\n };\n}\n","import ITableAnchor from \"./ITableAnchor.vue\";\nimport ITableButton from \"./ITableButton.vue\";\nimport ITableCheckbox from \"./ITableCheckbox.vue\";\nimport ITableMenu from \"./ITableMenu.vue\";\nimport ITableRowheader from \"./ITableRowheader.vue\";\nimport ITableSelect from \"./ITableSelect.vue\";\nimport ITableText from \"./ITableText.vue\";\nimport {\n type NormalizedTableColumnAnchor,\n type NormalizedTableColumnButton,\n type NormalizedTableColumnCheckbox,\n type NormalizedTableColumnMenu,\n type NormalizedTableColumnNumber,\n type NormalizedTableColumnRender,\n type NormalizedTableColumnRowHeader,\n type NormalizedTableColumnSelect,\n type NormalizedTableColumnText,\n type TableColumnAnchor,\n type TableColumnButton,\n type TableColumnCheckbox,\n type TableColumnMenu,\n type TableColumnNumber,\n type TableColumnRender,\n type TableColumnRowHeader,\n type TableColumnSelect,\n type TableColumnSimple,\n type TableColumnText,\n normalizeAnchorColumn,\n normalizeBaseColumn,\n normalizeButtonColumn,\n normalizeCheckboxColumn,\n normalizeMenuColumn,\n normalizeNumberColumn,\n normalizeRenderColumn,\n normalizeRowHeaderColumn,\n normalizeSelectColumn,\n normalizeSimpleColumn,\n normalizeTextColumn,\n} from \"./columns\";\n\nexport {\n type NormalizedTableColumnAnchor,\n type NormalizedTableColumnBase,\n type NormalizedTableColumnButton,\n type NormalizedTableColumnCheckbox,\n type NormalizedTableColumnMenu,\n type NormalizedTableColumnNumber,\n type NormalizedTableColumnRender,\n type NormalizedTableColumnRowHeader,\n type NormalizedTableColumnSelect,\n type NormalizedTableColumnText,\n type TableColumnAnchor,\n type TableColumnBase,\n type TableColumnButton,\n type TableColumnCheckbox,\n type TableColumnMenu,\n type TableColumnNumber,\n type TableColumnRender,\n type TableColumnRowHeader,\n type TableColumnSelect,\n type TableColumnSimple,\n type TableColumnSize,\n type TableColumnText,\n} from \"./columns\";\n\n/**\n * Union of all possible table column types.\n *\n * @internal\n */\nexport type TableColumnType =\n TableColumn<unknown, never> extends infer U\n ? U extends { type: infer T }\n ? T extends undefined\n ? never\n : T\n : never\n : never;\n\n/**\n * @public\n */\nexport type TableColumn<T, K extends keyof T = keyof T> =\n | TableColumnSimple<T, K>\n | TableColumnCheckbox<T, K>\n | TableColumnRowHeader<T, K>\n | TableColumnText<T, K>\n | TableColumnNumber<T, K>\n | TableColumnAnchor<T, K>\n | TableColumnButton<T, K>\n | TableColumnRender<T, K>\n | TableColumnSelect<T, K>\n | TableColumnMenu<T>;\n\n/**\n * @internal\n */\nexport type NormalizedTableColumn<T, K> =\n | NormalizedTableColumnCheckbox<T, K>\n | NormalizedTableColumnRowHeader<T, K>\n | NormalizedTableColumnText<T, K>\n | NormalizedTableColumnNumber<T, K>\n | NormalizedTableColumnAnchor<T, K>\n | NormalizedTableColumnButton<T, K>\n | NormalizedTableColumnRender<T>\n | NormalizedTableColumnSelect<T, K>\n | NormalizedTableColumnMenu<T>;\n\n/**\n * @internal\n */\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnSimple<T, K> | TableColumnText<T, K>,\n): NormalizedTableColumnText<T, K>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnRowHeader<T, K>,\n): NormalizedTableColumnRowHeader<T, K>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnCheckbox<T, K>,\n): NormalizedTableColumnCheckbox<T, K>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnAnchor<T, K>,\n): NormalizedTableColumnAnchor<T, K>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnButton<T, K>,\n): NormalizedTableColumnButton<T, K>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnRender<T, K>,\n): NormalizedTableColumnRender<T>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnSelect<T, K>,\n): NormalizedTableColumnSelect<T, K>;\nexport function normalizeTableColumn<T>(\n column: TableColumnMenu<T>,\n): NormalizedTableColumnMenu<T>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumn<T, K>,\n): NormalizedTableColumn<T, K>;\n\n/* eslint-disable-next-line complexity -- technical debt */\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumn<T, K>,\n): NormalizedTableColumn<T, K> {\n const base = normalizeBaseColumn(column);\n if (\"render\" in column) {\n return Object.freeze({\n ...normalizeRenderColumn(column),\n ...base,\n } satisfies NormalizedTableColumnRender<T>);\n }\n switch (column.type) {\n case \"checkbox\":\n return Object.freeze({\n ...normalizeCheckboxColumn(column),\n ...base,\n component: ITableCheckbox,\n } satisfies NormalizedTableColumnCheckbox<T, K>);\n case \"text:currency\":\n case \"text:number\":\n case \"text:percent\":\n return Object.freeze({\n ...normalizeNumberColumn(column),\n ...base,\n component: ITableText,\n } satisfies NormalizedTableColumnNumber<T, K>);\n case \"text\":\n case \"text:bankAccountNumber\":\n case \"text:bankgiro\":\n case \"text:clearingNumber\":\n case \"text:date\":\n case \"text:email\":\n case \"text:organisationsnummer\":\n case \"text:personnummer\":\n case \"text:phoneNumber\":\n case \"text:plusgiro\":\n case \"text:postalCode\":\n return Object.freeze({\n ...normalizeTextColumn(column),\n ...base,\n component: ITableText,\n } satisfies NormalizedTableColumnText<T, K>);\n case \"rowheader\":\n return Object.freeze({\n ...normalizeRowHeaderColumn(column),\n ...base,\n component: ITableRowheader,\n } satisfies NormalizedTableColumnRowHeader<T, K>);\n case \"anchor\":\n return Object.freeze({\n ...normalizeAnchorColumn(column),\n ...base,\n component: ITableAnchor,\n } satisfies NormalizedTableColumnAnchor<T, K>);\n case \"button\":\n return Object.freeze({\n ...normalizeButtonColumn(column),\n ...base,\n component: ITableButton,\n } satisfies NormalizedTableColumnButton<T, K>);\n case \"select\":\n return Object.freeze({\n ...normalizeSelectColumn(column),\n ...base,\n component: ITableSelect,\n } satisfies NormalizedTableColumnSelect<T, K>);\n case \"menu\":\n return Object.freeze({\n ...normalizeMenuColumn(column),\n ...base,\n component: ITableMenu,\n } satisfies NormalizedTableColumnMenu<T>);\n case undefined:\n return Object.freeze({\n ...normalizeSimpleColumn(column),\n ...base,\n component: ITableText,\n } satisfies NormalizedTableColumnText<T, K>);\n }\n}\n\n/**\n * @internal\n */\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnSimple<T, K> | TableColumnText<T, K>,\n): TableColumnText<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnRowHeader<T, K>,\n): TableColumnRowHeader<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnCheckbox<T, K>,\n): TableColumnCheckbox<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnAnchor<T, K>,\n): TableColumnAnchor<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnButton<T, K>,\n): TableColumnButton<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnRender<T, K>,\n): TableColumnRender<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnSelect<T, K>,\n): TableColumnSelect<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumn<T, K>,\n): TableColumn<T, K>;\n\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumn<T, K>,\n): TableColumn<T, K> {\n return column;\n}\n\n/**\n * @public\n */\nexport function defineTableColumns<T, K extends keyof T = keyof T>(\n columns: Array<TableColumn<T, K>>,\n): Array<TableColumn<T, K>> {\n return columns;\n}\n\n/**\n * @internal\n */\nexport function normalizeTableColumns<T, K extends keyof T = keyof T>(\n columns: Array<TableColumn<T, K>>,\n): Array<NormalizedTableColumn<T, K>> {\n return columns.map((column) => {\n return normalizeTableColumn(column);\n });\n}\n","import { type Ref, nextTick, ref } from \"vue\";\nimport { type PopupError } from \"./popup-eror\";\n\nexport interface UsePopupError {\n onPopupError: (popupError: PopupError) => Promise<void>;\n onClosePopupError: (popupError: PopupError) => void;\n errorAnchor: Ref<HTMLElement | undefined>;\n errorArrowAnchor: Ref<HTMLElement | undefined>;\n errorMessage: Ref<string | undefined>;\n activeErrorAnchor: Ref<HTMLElement | undefined>;\n}\n\nexport function usePopupError(): UsePopupError {\n const errorAnchor = ref<HTMLElement | undefined>(undefined);\n const errorArrowAnchor = ref<HTMLElement | undefined>(undefined);\n const errorMessage = ref<string | undefined>(undefined);\n const activeErrorAnchor = ref<HTMLElement | undefined>(undefined);\n\n async function onPopupError(popupError: PopupError): Promise<void> {\n const { anchor, arrowAnchor, hasFocus, hasHover } = popupError;\n if (!anchor || !arrowAnchor) {\n return;\n }\n\n if (hasFocus || hasHover) {\n await open(popupError);\n } else {\n onClosePopupError(popupError);\n }\n }\n\n async function open(popupError: PopupError): Promise<void> {\n const { message, anchor, arrowAnchor } = popupError;\n if (!anchor || !arrowAnchor) {\n return;\n }\n activeErrorAnchor.value = undefined;\n errorMessage.value = message;\n errorAnchor.value = anchor;\n errorArrowAnchor.value = arrowAnchor;\n\n await nextTick();\n activeErrorAnchor.value = anchor;\n }\n\n function onClosePopupError(popupError: PopupError | undefined): void {\n if (!popupError) {\n return;\n }\n const { anchor } = popupError;\n //Verify that close event is from currently visible erroPopup\n if (anchor?.isSameNode(errorAnchor.value ?? null)) {\n activeErrorAnchor.value = undefined;\n }\n }\n\n return {\n onPopupError,\n onClosePopupError,\n errorAnchor,\n errorArrowAnchor,\n errorMessage,\n activeErrorAnchor,\n };\n}\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n var Constructor = globalThis[CONSTRUCTOR];\n var Prototype = Constructor && Constructor.prototype;\n return Prototype && Prototype[METHOD];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar getBuiltInPrototypeMethod = require('../internals/get-built-in-prototype-method');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar $Array = Array;\nvar sort = uncurryThis(getBuiltInPrototypeMethod('Array', 'sort'));\n\n// `Array.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-array.prototype.tosorted\n$({ target: 'Array', proto: true }, {\n toSorted: function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = toIndexedObject(this);\n var A = arrayFromConstructorAndList($Array, O);\n return sort(A, compareFn);\n }\n});\n\naddToUnscopables('toSorted');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar someWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('some', TypeError);\n\n// `Iterator.prototype.some` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.some\n$({ target: 'Iterator', proto: true, real: true, forced: someWithoutClosingOnEarlyError }, {\n some: function some(predicate) {\n anObject(this);\n try {\n aCallable(predicate);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (someWithoutClosingOnEarlyError) return call(someWithoutClosingOnEarlyError, this, predicate);\n\n var record = getIteratorDirect(this);\n var counter = 0;\n return iterate(record, function (value, stop) {\n if (predicate(value, counter++)) return stop();\n }, { IS_RECORD: true, INTERRUPTED: true }).stopped;\n }\n});\n","import { type MaybeRefOrGetter, type Ref, computed, toValue, watch } from \"vue\";\nimport { assertRef } from \"@fkui/logic\";\nimport { type ItemIdentifier, findItemIdentifier } from \"@fkui/vue\";\n\nfunction rowKey(row: unknown): ItemIdentifier {\n return findItemIdentifier(row) ?? \"\";\n}\n\n/** @internal */\nexport function useSelectable<T>(options: {\n selectable?: \"single\" | \"multi\";\n selectedRows: Ref<T[]>;\n rows: MaybeRefOrGetter<T[]>;\n}): {\n selectableHeaderState: () => boolean | \"indeterminate\";\n toggleSelectableHeader: () => void;\n selectableRowState: (row: T) => boolean;\n toggleSelectableRow: (row: T) => void;\n} {\n const { selectable, selectedRows, rows } = options;\n\n if (!selectable) {\n return {\n selectableHeaderState: () => false,\n toggleSelectableHeader: () => undefined,\n selectableRowState: () => false,\n toggleSelectableRow: () => undefined,\n };\n }\n\n const isIndeterminate = computed(() => {\n return (\n selectedRows.value.length > 0 &&\n selectedRows.value.length < toValue(rows).length\n );\n });\n\n const isAllRowsSelected = computed((): boolean => {\n return (\n selectedRows.value.length > 0 &&\n selectedRows.value.length === toValue(rows).length\n );\n });\n\n function selectableHeaderState(): boolean | \"indeterminate\" {\n return isIndeterminate.value\n ? \"indeterminate\"\n : isAllRowsSelected.value;\n }\n\n function toggleSelectableHeader(): void {\n if (isAllRowsSelected.value) {\n selectedRows.value = [];\n } else {\n selectedRows.value = [...toValue(rows)];\n }\n }\n\n function toggleSelectableRow(row: T): void {\n assertRef(selectedRows);\n\n if (selectable === \"single\") {\n selectedRows.value = [row];\n } else {\n const index = selectedRows.value.indexOf(row);\n\n if (index === -1) {\n selectedRows.value.push(row);\n } else {\n selectedRows.value.splice(index, 1);\n }\n }\n }\n\n function selectableRowState(row: T): boolean {\n const key = rowKey(row);\n return selectedRows.value.some(\n (selectedRow) => rowKey(selectedRow) === key,\n );\n }\n\n let oldKeys: ItemIdentifier[] | undefined = undefined;\n\n watch(\n () => toValue(rows),\n (newValue) => {\n // eslint-disable-next-line sonarjs/no-alphabetical-sort -- only used to compare\n const newKeys = newValue.map(rowKey).toSorted();\n if (!oldKeys) {\n oldKeys = newKeys;\n return;\n }\n\n // not able to use `oldValue` directly since array\n const compareKeys = oldKeys;\n oldKeys = newKeys;\n\n if (newKeys.length !== compareKeys.length) {\n selectedRows.value = [];\n return;\n }\n\n if (compareKeys.join(\",\") !== newKeys.join(\",\")) {\n selectedRows.value = [];\n }\n },\n { deep: 1, immediate: true },\n );\n\n return {\n toggleSelectableHeader,\n toggleSelectableRow,\n selectableHeaderState,\n selectableRowState,\n };\n}\n","import { type Ref, type ShallowRef, onUpdated, ref, watch } from \"vue\";\nimport { assertRef, assertSet } from \"@fkui/logic\";\nimport { getItemIdentifier } from \"@fkui/vue\";\nimport { type FTableApi } from \"./f-table-api\";\nimport {\n activateCell,\n getCellTarget,\n getVerticalNavIndex,\n} from \"./f-table.logic\";\n\nfunction matching(needle: unknown): (item: unknown) => boolean {\n const id = getItemIdentifier(needle);\n return (item) => getItemIdentifier(item) === id;\n}\n\n/**\n * A table composable responsible for setting new tabstop and focus when a table row\n * with tabstop is removed.\n *\n * Since a row removal can occur because of multiple reasons, the default behavior\n * is to fallback to the first data cell.\n *\n * During a known row removal operation it is possible to alter this behavior by using\n * the function `withTabstopBehaviour` provided from this composable.\n *\n * ```\n * const { withTabstopBehaviour } = useTemplateRef(\"table\");\n * withTabstopBehaviour(\"row-removal\", removeRowLogic);\n * ```\n *\n * @internal\n */\nexport function useTabstop(\n tableRef: Readonly<ShallowRef<HTMLTableElement | null>>,\n metaRows: Readonly<Ref<unknown[]>>,\n): FTableApi {\n let pendingRowRemoval = false;\n const renderOptions = ref({ fallbackToFirstCell: false, focus: false });\n\n function fallbackToFirstCell(\n newRows: unknown[],\n oldRows: unknown[],\n focus: boolean,\n ): void {\n assertRef(tableRef);\n\n const needle = newRows[0];\n const newFirstRowOldIndex = oldRows.findIndex(matching(needle));\n if (newFirstRowOldIndex !== -1) {\n const target = getCellTarget(\n tableRef.value,\n newFirstRowOldIndex + 1,\n 0,\n );\n activateCell(target, { focus });\n } else {\n renderOptions.value.focus = focus;\n renderOptions.value.fallbackToFirstCell = true;\n }\n }\n\n watch(metaRows, (newRows, oldRows) => {\n const tabFallback = pendingRowRemoval ? \"sticky\" : \"first-cell\";\n pendingRowRemoval = false;\n\n // resolve current tabstop details\n assertRef(tableRef);\n const oldTabstopElement =\n tableRef.value.querySelector<HTMLElement>(`[tabindex=\"0\"]`);\n assertSet(oldTabstopElement);\n const oldTabstopFocused = oldTabstopElement === document.activeElement;\n\n // if interacting with column, leave as is\n if (oldTabstopElement.closest(\"th\")) {\n return;\n }\n\n // if no new rows, default to empty slot after render\n if (oldRows.length === 0 || newRows.length === 0) {\n renderOptions.value.fallbackToFirstCell = true;\n renderOptions.value.focus = oldTabstopFocused;\n return;\n }\n\n const oldTabstopTd = oldTabstopElement.closest(\"td\");\n assertSet(oldTabstopTd);\n const oldTabstopTr = oldTabstopTd.parentElement as HTMLTableRowElement;\n const needle = oldRows[oldTabstopTr.rowIndex - 1];\n const isBeingRemoved = !newRows.some(matching(needle));\n\n // exit if only updated rows when tabstop focused (change triggered from inside table)\n if (oldTabstopFocused && !isBeingRemoved) {\n return;\n }\n\n if (!isBeingRemoved) {\n if (oldTabstopFocused) {\n return;\n } else {\n // changed from outside\n fallbackToFirstCell(newRows, oldRows, false);\n return;\n }\n }\n\n if (tabFallback === \"first-cell\") {\n fallbackToFirstCell(newRows, oldRows, oldTabstopFocused);\n return;\n }\n\n if (oldTabstopTr.rowIndex === 1) {\n // removing first row\n const needle = oldRows[1];\n const hasRowBelowInNewRows = newRows.some(matching(needle));\n\n if (hasRowBelowInNewRows) {\n const { cell } = getVerticalNavIndex(\n tableRef.value,\n { row: 1, cell: oldTabstopTd.cellIndex },\n { row: 2, cell: oldTabstopTd.cellIndex },\n );\n const fallback = getCellTarget(tableRef.value, 2, cell);\n activateCell(fallback, { focus: true });\n } else {\n fallbackToFirstCell(newRows, oldRows, true);\n }\n } else {\n // removing later row\n const needle = oldRows[oldTabstopTr.rowIndex - 2];\n const hasRowAboveInNewRows = newRows.some(matching(needle));\n\n if (hasRowAboveInNewRows) {\n const { row, cell } = getVerticalNavIndex(\n tableRef.value,\n {\n row: oldTabstopTr.rowIndex,\n cell: oldTabstopTd.cellIndex,\n },\n {\n row: oldTabstopTr.rowIndex - 1,\n cell: oldTabstopTd.cellIndex,\n },\n );\n const fallback = getCellTarget(tableRef.value, row, cell);\n activateCell(fallback, { focus: true });\n } else {\n fallbackToFirstCell(newRows, oldRows, true);\n }\n }\n });\n\n onUpdated(() => {\n if (!renderOptions.value.fallbackToFirstCell) {\n return;\n }\n\n assertRef(tableRef);\n const target = getCellTarget(tableRef.value, 1, 0);\n activateCell(target, { focus: renderOptions.value.focus });\n renderOptions.value.fallbackToFirstCell = false;\n });\n\n async function withTabstopBehaviour(\n behaviour: \"default\" | \"row-removal\",\n action: () => void | Promise<void>,\n ): Promise<void> {\n if (behaviour === \"row-removal\") {\n pendingRowRemoval = true;\n }\n\n try {\n await action();\n } finally {\n pendingRowRemoval = false;\n }\n }\n\n return { withTabstopBehaviour };\n}\n","<script\n setup\n lang=\"ts\"\n generic=\"T, KeyAttribute extends keyof T = keyof T, ExpandableAttribute extends keyof T = keyof T\"\n>\nimport {\n type ComponentPublicInstance,\n type HTMLAttributes,\n type Ref,\n computed,\n onMounted,\n provide,\n ref,\n toValue,\n useSlots,\n useTemplateRef,\n} from \"vue\";\nimport { assertRef, assertSet } from \"@fkui/logic\";\nimport {\n type ItemIdentifier,\n FSortFilterDatasetInjected,\n setItemIdentifiers,\n useSlotUtils,\n useTranslate,\n} from \"@fkui/vue\";\nimport ITableExpandButton from \"./ITableExpandButton.vue\";\nimport ITableExpandable from \"./ITableExpandable.vue\";\nimport ITableHeader from \"./ITableHeader.vue\";\nimport ITableHeaderSelectable from \"./ITableHeaderSelectable.vue\";\nimport ITableSelectable from \"./ITableSelectable.vue\";\nimport { isFTableCellApi, tableCellApiSymbol } from \"./f-table-api\";\nimport { activateCell, maybeNavigateToCell, setDefaultCellTarget, stopEdit } from \"./f-table.logic\";\nimport { getBodyRowCount } from \"./get-body-row-count\";\nimport { getMetaRows } from \"./get-meta-rows\";\nimport { type MetaRow } from \"./meta-row\";\nimport { stopEditKey } from \"./start-stop-edit\";\nimport { type NormalizedTableColumn, type TableColumn, normalizeTableColumns } from \"./table-column\";\nimport { usePopupError } from \"./use-popup-error\";\nimport { useSelectable } from \"./use-selectable\";\nimport { useTabstop } from \"./use-tabstop\";\n\ntype ExpandedContent = Required<T>[ExpandableAttribute] extends unknown[]\n ? Required<T>[ExpandableAttribute][number]\n : never;\n\nconst selectedRows = defineModel<T[]>(\"selectedRows\", { default: [] });\n\nconst {\n columns: rawColumns,\n rows,\n keyAttribute = undefined,\n expandableAttribute = undefined,\n rowClass = undefined,\n striped,\n disableDividers,\n selectable = undefined,\n} = defineProps<{\n columns: Array<TableColumn<T, KeyAttribute>>;\n rows: T[];\n keyAttribute?: KeyAttribute;\n expandableAttribute?: ExpandableAttribute;\n /**\n * Optional callback for setting classes on table rows (`<tr>` element).\n */\n rowClass?: (row: T) => HTMLAttributes[\"class\"];\n striped?: boolean;\n disableDividers?: boolean;\n selectable?: \"single\" | \"multi\";\n}>();\n\ndefineSlots<{\n /**\n * Slot for table caption\n */\n caption?(): void;\n /**\n * Slot for content when table is empty\n */\n empty?(): void;\n /**\n * Slot for table footer\n */\n footer?(): void;\n /**\n * Slot for rendering custom expandable content\n */\n expandable?(bindings: {\n /**\n * The expanded row (from `expandableAttribute` of the parent row)\n */\n row: ExpandedContent;\n }): void;\n}>();\n\nconst $t = useTranslate();\nconst { hasSlot } = useSlotUtils();\nconst tableRef = useTemplateRef(\"table\");\nconst expandedKeys: Ref<Set<ItemIdentifier>> = ref(new Set());\nconst keyedRows = computed(() => setItemIdentifiers(rows, keyAttribute, expandableAttribute));\nconst metaRows = computed(\n (): Array<MetaRow<T>> => getMetaRows(keyedRows.value, expandedKeys.value, expandableAttribute),\n);\nconst isTreegrid = computed(() => Boolean(expandableAttribute));\nconst role = computed(() => (isTreegrid.value ? \"treegrid\" : \"grid\"));\n\nconst hasCaption = computed(() => {\n return hasSlot(\"caption\", {}, { stripClasses: [] });\n});\n\nconst isEmpty = computed((): boolean => {\n return metaRows.value.length === 0;\n});\n\nconst ariaRowcount = computed((): number => {\n const footerRow = hasFooter.value ? 1 : 0;\n\n if (!hasColumns.value) {\n return footerRow;\n }\n\n const headerRow = 1;\n const bodyRows = getBodyRowCount(keyedRows.value, expandableAttribute);\n return bodyRows + headerRow + footerRow;\n});\n\n// Total number of rendered columns, including expand and select columns.\nconst fullColspan = computed((): number => {\n if (!hasColumns.value) {\n return 0;\n }\n\n let count = columns.value.length;\n\n if (isTreegrid.value) {\n count += 1;\n }\n\n if (selectable) {\n count += 1;\n }\n\n return count;\n});\n\n// Number of columns for expanded rows, excluding the expand button column.\nconst expandedColspan = computed((): number => {\n return fullColspan.value - 1;\n});\n\nconst hasFooter = computed((): boolean => {\n return hasSlot(\"footer\");\n});\nconst columns = computed(() => normalizeTableColumns(rawColumns).filter((col) => toValue(col.enabled)));\nconst hasColumns = computed(() => columns.value.length > 0);\n\nconst tableClasses = computed(() => {\n return [\n \"table-ng\",\n {\n \"table-ng--striped\": striped,\n \"table-ng--divided\": !disableDividers,\n },\n ];\n});\n\nconst slots = useSlots();\nconst hasExpandableSlot = computed(() => {\n return Boolean(slots.expandable);\n});\n\n/* eslint-disable-next-line @typescript-eslint/require-await -- technical debt */\nasync function stopEditHandler(\n element: HTMLElement,\n reason: \"enter\" | \"escape\" | \"tab\" | \"shift-tab\" | \"blur\",\n): Promise<void> {\n stopEdit(element, reason);\n}\n\nprovide(stopEditKey, stopEditHandler);\n\nfunction getRowClass(row: T): HTMLAttributes[\"class\"] {\n return typeof rowClass === \"function\" ? rowClass(row) : undefined;\n}\n\nfunction onToggleExpanded(key: ItemIdentifier): void {\n if (expandedKeys.value.has(key)) {\n expandedKeys.value.delete(key);\n } else {\n expandedKeys.value.add(key);\n }\n}\n\nfunction onKeydown(e: KeyboardEvent): void {\n maybeNavigateToCell(e);\n}\n\nfunction onClick(e: MouseEvent): void {\n const cell = (e.target as HTMLElement).closest<HTMLElement>(\"td, th\");\n\n if (cell) {\n const targetEl = activateCell(cell, { focus: true });\n\n // If you haven't clicked on target, click on it.\n if (e.target instanceof Node && !targetEl.contains(e.target)) {\n targetEl.click();\n }\n }\n}\n\nfunction onTableFocusin(e: FocusEvent): void {\n assertRef(tableRef);\n\n for (const it of tableRef.value.querySelectorAll(`[tabindex=\"0\"]`)) {\n if (it !== e.target) {\n it.setAttribute(\"tabindex\", \"-1\");\n }\n }\n}\n\nfunction isInExpandable(el: HTMLElement): boolean {\n if (!el.parentElement) {\n return false;\n }\n return Boolean(el.parentElement.closest(\".table-ng__custom-expandable\"));\n}\n\nfunction onTableFocusout(e: FocusEvent): void {\n const { target, relatedTarget } = e;\n const validFocus = target instanceof HTMLElement && relatedTarget instanceof HTMLElement;\n if (!validFocus) {\n return;\n }\n if (isInExpandable(target)) {\n return;\n }\n\n if (!tableRef.value) {\n return;\n }\n\n const outsideTable = !tableRef.value.contains(relatedTarget);\n\n if (outsideTable) {\n const cell = target.closest<HTMLElement>(\"td, th\");\n\n if (cell) {\n activateCell(cell, { focus: false });\n }\n } else {\n target.tabIndex = -1;\n }\n}\n\nconst { sort, registerCallbackOnSort, registerCallbackOnMount } = FSortFilterDatasetInjected();\nconst sortableColumns = ref<PropertyKey[]>([]);\nconst sortedColumn = ref<PropertyKey>(\"\");\nconst sortedAscending = ref(false);\n\nfunction callbackSortableColumns(columnNames: PropertyKey[]): void {\n sortableColumns.value = columnNames;\n}\n\nfunction callbackOnSort(columnName: PropertyKey, ascending: boolean): void {\n sortedColumn.value = columnName;\n sortedAscending.value = ascending;\n}\n\nfunction isSortEnabled(column: NormalizedTableColumn<T, KeyAttribute>): boolean {\n if (!column.sortable) {\n return false;\n }\n\n /* eslint-disable-next-line @typescript-eslint/prefer-includes -- technical debt */\n return sortableColumns.value.indexOf(String(column.sortable)) > -1;\n}\n\nfunction getSortOrder(column: NormalizedTableColumn<T, KeyAttribute>): \"unsorted\" | \"ascending\" | \"descending\" {\n if (sortedColumn.value !== column.sortable) {\n return \"unsorted\";\n } else {\n return sortedAscending.value ? \"ascending\" : \"descending\";\n }\n}\n\nfunction onToggleSortOrder(sortable: string): void {\n if (sortable === sortedColumn.value) {\n if (sortedAscending.value) {\n sort(sortable, false);\n } else {\n sort(\"\", true);\n }\n } else {\n sort(sortable, true);\n }\n}\n\nfunction bindCellApiRef(ref: Element | ComponentPublicInstance | null): void {\n if (!isFTableCellApi(ref)) {\n return;\n }\n\n const apiEl = toValue(ref.tabstopEl);\n if (!apiEl) {\n return;\n }\n\n const cell = apiEl.closest<HTMLElement>(\"td, th\");\n assertSet(cell);\n cell[tableCellApiSymbol] = ref;\n}\n\nfunction isAriaSelected(level: number = 1, row: T): boolean {\n return level < 2 && selectableRowState(row);\n}\n\nconst { onPopupError, onClosePopupError, activeErrorAnchor } = usePopupError();\n\nconst { selectableHeaderState, toggleSelectableHeader, selectableRowState, toggleSelectableRow } = useSelectable({\n selectable,\n selectedRows,\n rows: keyedRows,\n});\n\nconst tableApi = useTabstop(tableRef, keyedRows);\ndefineExpose(tableApi);\n\nonMounted(() => {\n assertRef(tableRef);\n registerCallbackOnMount(callbackSortableColumns);\n registerCallbackOnSort(callbackOnSort);\n /* eslint-disable-next-line @typescript-eslint/no-floating-promises -- technical debt */\n setDefaultCellTarget(tableRef.value);\n});\n</script>\n\n<template>\n <table\n ref=\"table\"\n :role\n :class=\"tableClasses\"\n :aria-rowcount\n @focusin=\"onTableFocusin\"\n @focusout=\"onTableFocusout\"\n @click=\"onClick\"\n @keydown=\"onKeydown\"\n >\n <caption v-if=\"hasCaption\" data-test=\"caption\">\n <slot name=\"caption\"></slot>\n </caption>\n <thead v-if=\"hasColumns\">\n <tr class=\"table-ng__row\" aria-rowindex=\"1\">\n <th v-if=\"isTreegrid\" scope=\"col\" tabindex=\"-1\" class=\"table-ng__column\"></th>\n <i-table-header-selectable\n v-if=\"selectable\"\n :ref=\"bindCellApiRef\"\n :state=\"selectableHeaderState()\"\n :selectable\n @toggle=\"toggleSelectableHeader\"\n />\n\n <i-table-header\n v-for=\"column in columns\"\n :key=\"column.id\"\n :column\n :sort-enabled=\"isSortEnabled(column)\"\n :sort-order=\"getSortOrder(column)\"\n scope=\"col\"\n @toggle-sort-order=\"onToggleSortOrder\"\n ></i-table-header>\n </tr>\n </thead>\n\n <tbody v-if=\"hasColumns\">\n <template v-if=\"isEmpty\">\n <tr class=\"table-ng__row--empty\">\n <td :colspan=\"fullColspan\" class=\"table-ng__cell\">\n <slot name=\"empty\"> {{ $t(\"fkui.ftable.empty.text\", \"Tabellen är tom\") }} </slot>\n </td>\n </tr>\n </template>\n <tr\n v-for=\"{ key, row, rowIndex, level, setsize, posinset, isExpandable, isExpanded } in metaRows\"\n v-else\n :key\n class=\"table-ng__row\"\n :class=\"getRowClass(row)\"\n :aria-level=\"level\"\n :aria-rowindex=\"rowIndex\"\n :aria-setsize=\"setsize\"\n :aria-posinset=\"posinset\"\n :aria-selected=\"isAriaSelected(level, row)\"\n >\n <i-table-expand-button\n v-if=\"isTreegrid\"\n :ref=\"bindCellApiRef\"\n :is-expandable\n :is-expanded\n :row-key=\"key\"\n @toggle=\"onToggleExpanded\"\n ></i-table-expand-button>\n\n <i-table-expandable v-if=\"level! > 1 && hasExpandableSlot\" :colspan=\"expandedColspan\">\n <!-- @todo \"typeof row\" is a lie, row is not T but T | T[ExpandableAttribute] -->\n <slot name=\"expandable\" v-bind=\"{ row: row as ExpandedContent }\" />\n </i-table-expandable>\n\n <template v-else>\n <i-table-selectable\n v-if=\"selectable\"\n :ref=\"bindCellApiRef\"\n :level\n :selectable\n :state=\"selectableRowState(row)\"\n :row\n @toggle=\"toggleSelectableRow\"\n />\n\n <template v-for=\"column in columns\" :key=\"column.id\">\n <component\n :is=\"column.component\"\n v-if=\"'component' in column\"\n :ref=\"bindCellApiRef\"\n :row\n :column\n :active-error-anchor\n @close-error=\"onClosePopupError\"\n @on-error=\"onPopupError\"\n ></component>\n <component :is=\"column.render(row)\" v-else-if=\"'render' in column\" :row></component>\n </template>\n </template>\n </tr>\n </tbody>\n <tfoot v-if=\"hasFooter\">\n <tr class=\"table-ng__row\" :aria-rowindex=\"ariaRowcount\">\n <td :colspan=\"fullColspan\" class=\"table-ng__cell--custom\">\n <slot name=\"footer\"></slot>\n </td>\n </tr>\n </tfoot>\n </table>\n</template>\n","'use strict';\nvar $ = require('../internals/export');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.toSpliced` method\n// https://tc39.es/ecma262/#sec-array.prototype.tospliced\n$({ target: 'Array', proto: true }, {\n toSpliced: function toSpliced(start, deleteCount /* , ...items */) {\n var O = toIndexedObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var k = 0;\n var insertCount, actualDeleteCount, newLen, A;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = $Array(newLen);\n\n for (; k < actualStart; k++) createProperty(A, k, O[k]);\n for (; k < actualStart + insertCount; k++) createProperty(A, k, arguments[k - actualStart + 2]);\n for (; k < newLen; k++) createProperty(A, k, O[k + actualDeleteCount - insertCount]);\n\n return A;\n }\n});\n\naddToUnscopables('toSpliced');\n","/**\n * Removes given row from the array.\n * If `expandableAttribute` is set it can removes rows from nested rows.\n *\n * @public\n * @since v6.34.1\n * @param rows - The row array\n * @param row - The row to remove (expected to exist in the row array)\n * @param expandableAttribute - If set, this function will search for and remove expandable rows the given row.\n * @returns A new array with row removed.\n */\nexport function removeRow<T>(\n rows: T[],\n row: T,\n expandableAttribute?: keyof T,\n): T[] {\n const rowIndex = rows.indexOf(row);\n if (rowIndex !== -1) {\n return rows.toSpliced(rowIndex, 1);\n } else if (expandableAttribute) {\n return removeExpandableRowFromRows(rows, row, expandableAttribute);\n } else {\n return rows;\n }\n}\n\nfunction removeExpandableRowFromRows<T>(rows: T[], row: T, key: keyof T): T[] {\n return rows.map((currentRow) => {\n const expandableRows = currentRow[key];\n if (Array.isArray(expandableRows)) {\n const index = expandableRows.indexOf(row);\n if (index !== -1) {\n return {\n ...currentRow,\n [key]: expandableRows.toSpliced(index, 1),\n };\n }\n }\n return currentRow;\n });\n}\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar classof = require('../internals/classof-raw');\n\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar TypeError = globalThis.TypeError;\n\n// Includes\n// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).\n// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.\nmodule.exports = ArrayBuffer && uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {\n if (classof(O) !== 'ArrayBuffer') throw new TypeError('ArrayBuffer expected');\n return O.byteLength;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\n\nvar DataView = globalThis.DataView;\n\nmodule.exports = function (O) {\n if (!NATIVE_ARRAY_BUFFER || arrayBufferByteLength(O) !== 0) return false;\n try {\n // eslint-disable-next-line no-new -- thrower\n new DataView(O);\n return false;\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\n\n// `ArrayBuffer.prototype.detached` getter\n// https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.detached\nif (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {\n defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {\n configurable: true,\n get: function detached() {\n return isDetached(this);\n }\n });\n}\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw new $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached');\n return it;\n};\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n if (userAgentStartsWith('Bun/')) return 'BUN';\n if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n if (userAgentStartsWith('Deno/')) return 'DENO';\n if (userAgentStartsWith('Node.js/')) return 'NODE';\n if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n if (classof(globalThis.process) === 'process') return 'NODE';\n if (globalThis.window && globalThis.document) return 'BROWSER';\n return 'REST';\n})();\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar IS_NODE = require('../internals/environment-is-node');\n\nmodule.exports = function (name) {\n if (IS_NODE) {\n try {\n return globalThis.process.getBuiltinModule(name);\n } catch (error) { /* empty */ }\n try {\n // eslint-disable-next-line no-new-func -- safe\n return Function('return require(\"' + name + '\")')();\n } catch (error) { /* empty */ }\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar V8 = require('../internals/environment-v8-version');\nvar ENVIRONMENT = require('../internals/environment');\n\nvar structuredClone = globalThis.structuredClone;\n\nmodule.exports = !!structuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((ENVIRONMENT === 'DENO' && V8 > 92) || (ENVIRONMENT === 'NODE' && V8 > 94) || (ENVIRONMENT === 'BROWSER' && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = structuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength !== 0 || clone.byteLength !== 8;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getBuiltInNodeModule = require('../internals/get-built-in-node-module');\nvar PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar structuredClone = globalThis.structuredClone;\nvar $ArrayBuffer = globalThis.ArrayBuffer;\nvar $MessageChannel = globalThis.MessageChannel;\nvar detach = false;\nvar WorkerThreads, channel, buffer, $detach;\n\nif (PROPER_STRUCTURED_CLONE_TRANSFER) {\n detach = function (transferable) {\n structuredClone(transferable, { transfer: [transferable] });\n };\n} else if ($ArrayBuffer) try {\n if (!$MessageChannel) {\n WorkerThreads = getBuiltInNodeModule('worker_threads');\n if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel;\n }\n\n if ($MessageChannel) {\n channel = new $MessageChannel();\n buffer = new $ArrayBuffer(2);\n\n $detach = function (transferable) {\n channel.port1.postMessage(null, [transferable]);\n };\n\n if (buffer.byteLength === 2) {\n $detach(buffer);\n if (buffer.byteLength === 0) detach = $detach;\n }\n }\n} catch (error) { /* empty */ }\n\nmodule.exports = detach;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar toIndex = require('../internals/to-index');\nvar notDetached = require('../internals/array-buffer-not-detached');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\nvar detachTransferable = require('../internals/detach-transferable');\nvar PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar structuredClone = globalThis.structuredClone;\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar DataView = globalThis.DataView;\nvar max = Math.max;\nvar min = Math.min;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataViewPrototype = DataView.prototype;\nvar slice = uncurryThis(ArrayBufferPrototype.slice);\nvar isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');\nvar maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');\nvar getInt8 = uncurryThis(DataViewPrototype.getInt8);\nvar setInt8 = uncurryThis(DataViewPrototype.setInt8);\n\nmodule.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) {\n var byteLength = arrayBufferByteLength(arrayBuffer);\n var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);\n var fixedLength = !isResizable || !isResizable(arrayBuffer);\n var newBuffer;\n notDetached(arrayBuffer);\n if (PROPER_STRUCTURED_CLONE_TRANSFER) {\n arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });\n if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer;\n }\n if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) {\n newBuffer = slice(arrayBuffer, 0, newByteLength);\n } else {\n var options = preserveResizability && !fixedLength && maxByteLength\n ? { maxByteLength: max(newByteLength, maxByteLength(arrayBuffer)) }\n : undefined;\n newBuffer = new ArrayBuffer(newByteLength, options);\n var a = new DataView(arrayBuffer);\n var b = new DataView(newBuffer);\n var copyLength = min(newByteLength, byteLength);\n for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));\n }\n if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer);\n return newBuffer;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transfer` method\n// https://tc39.es/ecma262/#sec-arraybuffer.prototype.transfer\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transfer: function transfer() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, true);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transferToFixedLength` method\n// https://tc39.es/ecma262/#sec-arraybuffer.prototype.transfertofixedlength\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transferToFixedLength: function transferToFixedLength() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, false);\n }\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = globalThis.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = globalThis.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) {\n createNonEnumerableProperty(globalThis[NAME].prototype, TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var A = new (getTypedArrayConstructor(O))(len);\n var k = 0;\n for (; k < len; k++) A[k] = O[len - k - 1];\n return A;\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);\n\n// `%TypedArray%.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted\nexportTypedArrayMethod('toSorted', function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = aTypedArray(this);\n var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);\n return sort(A, compareFn);\n});\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar $RangeError = RangeError;\n\nvar PROPER_ORDER = function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// Bug in WebKit. It should truncate a negative fractional index to zero, but instead throws an error\nvar THROW_ON_NEGATIVE_FRACTIONAL_INDEX = PROPER_ORDER && function () {\n try {\n // eslint-disable-next-line es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](-0.5, 1);\n } catch (error) {\n return true;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n var numericValue = isBigIntArray(O) ? toBigInt(value) : +value;\n if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');\n var A = new (getTypedArrayConstructor(O))(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? numericValue : O[k];\n return A;\n} }['with'], !PROPER_ORDER || THROW_ON_NEGATIVE_FRACTIONAL_INDEX);\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (argument === undefined || isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object or undefined');\n};\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'string') return argument;\n throw new $TypeError('Argument is not a string');\n};\n","'use strict';\nvar commonAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\nvar base64Alphabet = commonAlphabet + '+/';\nvar base64UrlAlphabet = commonAlphabet + '-_';\n\nvar inverse = function (characters) {\n // TODO: use `Object.create(null)` in `core-js@4`\n var result = {};\n var index = 0;\n for (; index < 64; index++) result[characters.charAt(index)] = index;\n return result;\n};\n\nmodule.exports = {\n i2c: base64Alphabet,\n c2i: inverse(base64Alphabet),\n i2cUrl: base64UrlAlphabet,\n c2iUrl: inverse(base64UrlAlphabet)\n};\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (options) {\n var alphabet = options && options.alphabet;\n if (alphabet === undefined || alphabet === 'base64' || alphabet === 'base64url') return alphabet || 'base64';\n throw new $TypeError('Incorrect `alphabet` option');\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObjectOrUndefined = require('../internals/an-object-or-undefined');\nvar aString = require('../internals/a-string');\nvar hasOwn = require('../internals/has-own-property');\nvar base64Map = require('../internals/base64-map');\nvar getAlphabetOption = require('../internals/get-alphabet-option');\nvar notDetached = require('../internals/array-buffer-not-detached');\n\nvar base64Alphabet = base64Map.c2i;\nvar base64UrlAlphabet = base64Map.c2iUrl;\n\nvar SyntaxError = globalThis.SyntaxError;\nvar TypeError = globalThis.TypeError;\nvar at = uncurryThis(''.charAt);\n\nvar skipAsciiWhitespace = function (string, index) {\n var length = string.length;\n for (;index < length; index++) {\n var chr = at(string, index);\n if (chr !== ' ' && chr !== '\\t' && chr !== '\\n' && chr !== '\\f' && chr !== '\\r') break;\n } return index;\n};\n\nvar decodeBase64Chunk = function (chunk, alphabet, throwOnExtraBits) {\n var chunkLength = chunk.length;\n\n if (chunkLength < 4) {\n chunk += chunkLength === 2 ? 'AA' : 'A';\n }\n\n var triplet = (alphabet[at(chunk, 0)] << 18)\n + (alphabet[at(chunk, 1)] << 12)\n + (alphabet[at(chunk, 2)] << 6)\n + alphabet[at(chunk, 3)];\n\n var chunkBytes = [\n (triplet >> 16) & 255,\n (triplet >> 8) & 255,\n triplet & 255\n ];\n\n if (chunkLength === 2) {\n if (throwOnExtraBits && chunkBytes[1] !== 0) {\n throw new SyntaxError('Extra bits');\n }\n return [chunkBytes[0]];\n }\n\n if (chunkLength === 3) {\n if (throwOnExtraBits && chunkBytes[2] !== 0) {\n throw new SyntaxError('Extra bits');\n }\n return [chunkBytes[0], chunkBytes[1]];\n }\n\n return chunkBytes;\n};\n\nvar writeBytes = function (bytes, elements, written) {\n var elementsLength = elements.length;\n for (var index = 0; index < elementsLength; index++) {\n bytes[written + index] = elements[index];\n }\n return written + elementsLength;\n};\n\n/* eslint-disable max-statements, max-depth -- TODO */\nmodule.exports = function (string, options, into, maxLength) {\n aString(string);\n anObjectOrUndefined(options);\n var alphabet = getAlphabetOption(options) === 'base64' ? base64Alphabet : base64UrlAlphabet;\n var lastChunkHandling = options ? options.lastChunkHandling : undefined;\n\n if (lastChunkHandling === undefined) lastChunkHandling = 'loose';\n\n if (lastChunkHandling !== 'loose' && lastChunkHandling !== 'strict' && lastChunkHandling !== 'stop-before-partial') {\n throw new TypeError('Incorrect `lastChunkHandling` option');\n }\n\n if (into) notDetached(into.buffer);\n\n var stringLength = string.length;\n var bytes = into || [];\n var written = 0;\n var read = 0;\n var chunk = '';\n var index = 0;\n\n if (maxLength) while (true) {\n index = skipAsciiWhitespace(string, index);\n if (index === stringLength) {\n if (chunk.length > 0) {\n if (lastChunkHandling === 'stop-before-partial') {\n break;\n }\n if (lastChunkHandling === 'loose') {\n if (chunk.length === 1) {\n throw new SyntaxError('Malformed padding: exactly one additional character');\n }\n written = writeBytes(bytes, decodeBase64Chunk(chunk, alphabet, false), written);\n } else {\n throw new SyntaxError('Missing padding');\n }\n }\n read = stringLength;\n break;\n }\n var chr = at(string, index);\n ++index;\n if (chr === '=') {\n if (chunk.length < 2) {\n throw new SyntaxError('Padding is too early');\n }\n index = skipAsciiWhitespace(string, index);\n if (chunk.length === 2) {\n if (index === stringLength) {\n if (lastChunkHandling === 'stop-before-partial') {\n break;\n }\n throw new SyntaxError('Malformed padding: only one =');\n }\n if (at(string, index) === '=') {\n ++index;\n index = skipAsciiWhitespace(string, index);\n }\n }\n if (index < stringLength) {\n throw new SyntaxError('Unexpected character after padding');\n }\n written = writeBytes(bytes, decodeBase64Chunk(chunk, alphabet, lastChunkHandling === 'strict'), written);\n read = stringLength;\n break;\n }\n if (!hasOwn(alphabet, chr)) {\n throw new SyntaxError('Unexpected character');\n }\n var remainingBytes = maxLength - written;\n if (remainingBytes === 1 && chunk.length === 2 || remainingBytes === 2 && chunk.length === 3) {\n // special case: we can fit exactly the number of bytes currently represented by chunk, so we were just checking for `=`\n break;\n }\n\n chunk += chr;\n if (chunk.length === 4) {\n written = writeBytes(bytes, decodeBase64Chunk(chunk, alphabet, false), written);\n chunk = '';\n read = index;\n if (written === maxLength) {\n break;\n }\n }\n }\n\n return { bytes: bytes, read: read, written: written };\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $TypeError = TypeError;\n\n// Perform ? RequireInternalSlot(argument, [[TypedArrayName]])\n// If argument.[[TypedArrayName]] is not \"Uint8Array\", throw a TypeError exception\nmodule.exports = function (argument) {\n if (classof(argument) === 'Uint8Array') return argument;\n throw new $TypeError('Argument is not an Uint8Array');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar $fromBase64 = require('../internals/uint8-from-base64');\nvar anUint8Array = require('../internals/an-uint8-array');\n\nvar Uint8Array = globalThis.Uint8Array;\n\nvar INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.setFromBase64 || !function () {\n var target = new Uint8Array([255, 255, 255, 255, 255]);\n try {\n target.setFromBase64('', null);\n return;\n } catch (error) { /* empty */ }\n // Webkit not throw an error on odd length string\n try {\n target.setFromBase64('a');\n return;\n } catch (error) { /* empty */ }\n try {\n target.setFromBase64('MjYyZg===');\n } catch (error) {\n return target[0] === 50 && target[1] === 54 && target[2] === 50 && target[3] === 255 && target[4] === 255;\n }\n}();\n\n// `Uint8Array.prototype.setFromBase64` method\n// https://tc39.es/ecma262/#sec-uint8array.prototype.setfrombase64\nif (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {\n setFromBase64: function setFromBase64(string /* , options */) {\n anUint8Array(this);\n\n var result = $fromBase64(string, arguments.length > 1 ? arguments[1] : undefined, this, this.length);\n\n return { read: result.read, written: result.written };\n }\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = globalThis.Uint8Array;\nvar SyntaxError = globalThis.SyntaxError;\nvar min = Math.min;\nvar stringMatch = uncurryThis(''.match);\n\nmodule.exports = function (string, into) {\n var stringLength = string.length;\n if (stringLength % 2 !== 0) throw new SyntaxError('String should be an even number of characters');\n var maxLength = into ? min(into.length, stringLength / 2) : stringLength / 2;\n var bytes = into || new Uint8Array(maxLength);\n var segments = stringMatch(string, /.{2}/g);\n var written = 0;\n for (; written < maxLength; written++) {\n var result = +('0x' + segments[written] + '0');\n // eslint-disable-next-line no-self-compare -- NaN check\n if (result !== result) {\n throw new SyntaxError('String should only contain hex characters');\n }\n bytes[written] = result >> 4;\n }\n return { bytes: bytes, read: written << 1 };\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar aString = require('../internals/a-string');\nvar anUint8Array = require('../internals/an-uint8-array');\nvar notDetached = require('../internals/array-buffer-not-detached');\nvar $fromHex = require('../internals/uint8-from-hex');\n\n// Should not throw an error on length-tracking views over ResizableArrayBuffer\n// https://issues.chromium.org/issues/454630441\nfunction throwsOnLengthTrackingView() {\n try {\n // eslint-disable-next-line es/no-resizable-and-growable-arraybuffers -- required for testing\n var rab = new ArrayBuffer(16, { maxByteLength: 1024 });\n // eslint-disable-next-line es/no-uint8array-prototype-setfromhex, es/no-typed-arrays -- required for testing\n new Uint8Array(rab).setFromHex('cafed00d');\n } catch (error) {\n return true;\n }\n}\n\n// `Uint8Array.prototype.setFromHex` method\n// https://tc39.es/ecma262/#sec-uint8array.prototype.setfromhex\nif (globalThis.Uint8Array) $({ target: 'Uint8Array', proto: true, forced: throwsOnLengthTrackingView() }, {\n setFromHex: function setFromHex(string) {\n anUint8Array(this);\n aString(string);\n notDetached(this.buffer);\n var read = $fromHex(string, this).read;\n return { read: read, written: read / 2 };\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObjectOrUndefined = require('../internals/an-object-or-undefined');\nvar anUint8Array = require('../internals/an-uint8-array');\nvar notDetached = require('../internals/array-buffer-not-detached');\nvar base64Map = require('../internals/base64-map');\nvar getAlphabetOption = require('../internals/get-alphabet-option');\n\nvar base64Alphabet = base64Map.i2c;\nvar base64UrlAlphabet = base64Map.i2cUrl;\n\nvar charAt = uncurryThis(''.charAt);\n\nvar Uint8Array = globalThis.Uint8Array;\n\nvar INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.toBase64 || !function () {\n try {\n var target = new Uint8Array();\n target.toBase64(null);\n } catch (error) {\n return true;\n }\n}();\n\n// `Uint8Array.prototype.toBase64` method\n// https://tc39.es/ecma262/#sec-uint8array.prototype.tobase64\nif (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {\n toBase64: function toBase64(/* options */) {\n var array = anUint8Array(this);\n var options = arguments.length ? anObjectOrUndefined(arguments[0]) : undefined;\n var alphabet = getAlphabetOption(options) === 'base64' ? base64Alphabet : base64UrlAlphabet;\n var omitPadding = !!options && !!options.omitPadding;\n notDetached(this.buffer);\n\n var result = '';\n var i = 0;\n var length = array.length;\n var triplet;\n\n var at = function (shift) {\n return charAt(alphabet, (triplet >> (6 * shift)) & 63);\n };\n\n for (; i + 2 < length; i += 3) {\n triplet = (array[i] << 16) + (array[i + 1] << 8) + array[i + 2];\n result += at(3) + at(2) + at(1) + at(0);\n }\n if (i + 2 === length) {\n triplet = (array[i] << 16) + (array[i + 1] << 8);\n result += at(3) + at(2) + at(1) + (omitPadding ? '' : '=');\n } else if (i + 1 === length) {\n triplet = array[i] << 16;\n result += at(3) + at(2) + (omitPadding ? '' : '==');\n }\n\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anUint8Array = require('../internals/an-uint8-array');\nvar notDetached = require('../internals/array-buffer-not-detached');\n\nvar numberToString = uncurryThis(1.1.toString);\nvar join = uncurryThis([].join);\nvar $Array = Array;\n\nvar Uint8Array = globalThis.Uint8Array;\n\nvar INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.toHex || !(function () {\n try {\n var target = new Uint8Array([255, 255, 255, 255, 255, 255, 255, 255]);\n return target.toHex() === 'ffffffffffffffff';\n } catch (error) {\n return false;\n }\n})();\n\n// `Uint8Array.prototype.toHex` method\n// https://tc39.es/ecma262/#sec-uint8array.prototype.tohex\nif (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {\n toHex: function toHex() {\n anUint8Array(this);\n notDetached(this.buffer);\n var result = $Array(this.length);\n for (var i = 0, length = this.length; i < length; i++) {\n var hex = numberToString(this[i], 16);\n result[i] = hex.length === 1 ? '0' + hex : hex;\n }\n return join(result, '');\n }\n});\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\nmodule.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = new Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n","<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport { alertScreenReader } from \"@fkui/logic\";\nimport { EventBus, FFileItem, FFileSelector, FIcon } from \"@fkui/vue\";\n\nconst STATUS_HAR_INTE_VALT_FIL = 0,\n STATUS_HAR_VALT_FIL = 1,\n STATUS_MISSLYCKATS = 2;\n\nconst valdFil = ref(File);\nconst currentStatus = ref(STATUS_HAR_INTE_VALT_FIL);\nconst uppladdatDokument = ref({\n dokument: {\n filnamn: \"\",\n mime: \"\",\n data: \"\",\n fel: \"\",\n },\n});\nconst fileName = ref(\"\");\nconst mimeType = ref(\"\");\nconst fileSize = ref(0);\nconst filValidering = ref(\"\");\nconst maxFileSize = ref(10000000);\nconst allowedFileTypes = ref(\"application/pdf\");\nconst dragEnterTarget = ref<EventTarget | null>(null);\nconst visadrag = ref(false);\n\nconst harValtFil = computed(() => {\n return currentStatus.value === STATUS_HAR_VALT_FIL;\n});\n\nconst harMisslyckats = computed(() => {\n return currentStatus.value === STATUS_MISSLYCKATS;\n});\n\nconst filstorlek = computed(() => {\n return Math.round((fileSize.value / 1024) * 100) / 100;\n});\n\nconst srtextFilvaljare = computed(() => {\n if (!harValtFil.value) {\n return \"Välj en PDF\";\n } else {\n return \"Byt PDF\";\n }\n});\n\nfunction tillSkarmlasare(): void {\n if (filValidering.value) {\n alertScreenReader(filValidering.value);\n }\n}\n\nfunction dragover(e: DragEvent): void {\n e.preventDefault();\n if (!dragEnterTarget.value) {\n visadrag.value = true;\n dragEnterTarget.value = e.currentTarget;\n }\n}\n\nfunction dragleave(e: DragEvent): void {\n e.preventDefault();\n if (dragEnterTarget.value === e.target) {\n visadrag.value = false;\n dragEnterTarget.value = null;\n }\n}\n\nfunction drop(e: DragEvent): void {\n e.preventDefault();\n visadrag.value = false;\n dragEnterTarget.value = null;\n if (e.dataTransfer) {\n hanteraFil(e.dataTransfer.files);\n }\n}\n\nfunction hanteraFil(filer: FileList): void {\n filValidering.value = \"\";\n\n if (filer.length > 1) {\n filValidering.value = \"Du kan bara ladda upp ett dokument per tillfälle\";\n } else if (filer[0].type === \"\" || (filer[0].type !== \"\" && !allowedFileTypes.value.includes(filer[0].type))) {\n filValidering.value = \"Dokumentet har fel format, konvertera dokumentet till en pdf\";\n } else if (filer[0].size > maxFileSize.value) {\n filValidering.value = \"Dokumentet är för stort (över 10 MB)\";\n } else if (filer[0].size === 0) {\n filValidering.value = \"Dokumentet har inget innehåll, välj ett annat dokument\";\n } else {\n currentStatus.value = STATUS_HAR_INTE_VALT_FIL;\n\n /* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, unicorn/no-array-for-each -- technical debt */\n Object.values(filer ? filer : valdFil.value).forEach(async (value) => {\n try {\n const buffer = await value.arrayBuffer();\n const reduced = new Uint8Array(buffer).reduce((data, byte) => data + String.fromCodePoint(byte), \"\");\n uppladdatDokument.value = {\n dokument: {\n filnamn: value.name,\n mime: value.type,\n data: btoa(reduced),\n fel: \"\",\n },\n };\n fileName.value = value.name;\n mimeType.value = value.type;\n fileSize.value = value.size;\n currentStatus.value = STATUS_HAR_VALT_FIL;\n } catch (error: unknown) {\n filValidering.value = `Fel vid inläsning av fil, försök igen ${String(error)}`;\n currentStatus.value = STATUS_HAR_INTE_VALT_FIL;\n rensaFil();\n return;\n }\n\n if (harValtFil.value) {\n filValidering.value = \"\";\n EventBus.$emit(\"UPPLADDAT_DOKUMENT\", uppladdatDokument.value);\n alertScreenReader(\"Fil är tillagd i ladda upp-dialog\");\n fokusElement(\"laggTillKnapp\");\n }\n });\n }\n\n // Om något har blivit fel\n if (filValidering.value) {\n skickaFel(filer);\n }\n}\n\nfunction fokusElement(id: string): void {\n setTimeout(() => {\n const element = document.querySelector(`#${id}`);\n if (element instanceof HTMLElement) {\n element.focus();\n }\n }, 100);\n}\n\nfunction resetElement(id: string): void {\n const element = document.querySelector(`#${id}`);\n if (element instanceof HTMLInputElement) {\n element.value = \"\";\n }\n}\n\nfunction taBortFil(): void {\n alertScreenReader(`${fileName.value} borttaget`);\n rensaFil();\n fokusElement(\"valjFil\");\n}\n\nfunction skickaFel(filer: FileList): void {\n uppladdatDokument.value = {\n dokument: {\n filnamn: filer[0].name,\n mime: filer[0].type,\n data: \"\",\n fel: filValidering.value,\n },\n };\n\n fileName.value = filer[0].name;\n mimeType.value = filer[0].type;\n fileSize.value = filer[0].size;\n\n currentStatus.value = STATUS_MISSLYCKATS;\n\n EventBus.$emit(\"UPPLADDAT_DOKUMENT\", uppladdatDokument.value);\n}\n\nfunction rensaFil(): void {\n uppladdatDokument.value = {\n dokument: {\n filnamn: \"\",\n mime: \"\",\n data: \"\",\n fel: \"\",\n },\n };\n valdFil.value = File;\n filValidering.value = \"\";\n\n fileName.value = \"\";\n mimeType.value = \"\";\n fileSize.value = 0;\n\n resetElement(\"valjFil\");\n\n currentStatus.value = STATUS_HAR_INTE_VALT_FIL;\n EventBus.$emit(\"UPPLADDAT_DOKUMENT\", uppladdatDokument.value);\n}\n\nEventBus.$on(\"SATT_VALIDERING\", (text: unknown) => {\n filValidering.value = text as string;\n});\n\nEventBus.$on(\"RENSA_FIL_VALJARE\", () => {\n rensaFil();\n});\n</script>\n\n<template>\n <div\n class=\"col col--sm-12 col--md-12 ram\"\n :class=\"{ 'container-fluid': true, 'drag-ram': visadrag }\"\n aria-live=\"polite\"\n @dragover=\"dragover\"\n @dragleave=\"dragleave\"\n @drop=\"drop\"\n >\n <slot name=\"image\"></slot>\n\n <h3>Ladda upp ett dokument</h3>\n dra och släpp eller\n <div v-if=\"filValidering !== ''\" class=\"error-style\">\n <span class=\"error-icon\"><f-icon name=\"error\"></f-icon></span>\n {{ filValidering }}\n </div>\n <div>\n <f-file-selector\n id=\"valjFil\"\n v-model=\"valdFil\"\n v-test=\"'valdFil'\"\n :accept=\"allowedFileTypes\"\n :aria-label=\"srtextFilvaljare\"\n aria-live=\"off\"\n @change=\"hanteraFil\"\n @focus=\"tillSkarmlasare\"\n >\n {{ srtextFilvaljare }}\n </f-file-selector>\n </div>\n <div v-if=\"harValtFil || harMisslyckats\">\n <hr class=\"file-item__separator show_separator\" />\n <!-- [html-validate-disable-next aria-label-misuse -- technical debt]-->\n <f-file-item\n id=\"fillista\"\n v-test=\"'filnamn'\"\n :file-name\n :mime-type\n :file-size\n aria-labelledby=\"mylabel\"\n aria-live=\"off\"\n >\n <template #row>\n <span aria-live=\"off\" class=\"fill\">\n <span id=\"mylabel\" class=\"sr-only\"> {{ fileName }} {{ filstorlek }} kb </span>\n <span class=\"filstorlek\">{{ filstorlek }} KB</span>\n <!-- [html-validate-disable-next fkui/class-deprecated -- technical debt]-->\n <button\n type=\"button\"\n class=\"button button--discrete file-item__file-remove\"\n :aria-label=\"`Ta bort ${fileName}`\"\n @click=\"taBortFil\"\n >\n <f-icon name=\"trashcan\" class=\"button__icon\"></f-icon>\n Ta bort\n </button>\n </span>\n </template>\n </f-file-item>\n </div>\n </div>\n</template>\n\n<!-- eslint-disable-next-line vue/no-restricted-block -->\n<style lang=\"scss\">\n.filstorlek {\n float: left;\n max-width: 100%;\n padding: 0.35rem;\n}\n.fill {\n text-align: right;\n max-width: 100%;\n flex: 1;\n}\n.ram {\n border: 0.05rem gray dashed;\n text-align: center;\n padding-top: 1.5rem;\n}\n.drag-ram {\n border: 0.2rem black dashed;\n opacity: 0.5;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.error-style {\n color: #ca1515;\n}\n.error-icon {\n vertical-align: text-top;\n}\n.file-item__separator {\n visibility: hidden;\n}\n.show_separator {\n visibility: visible;\n}\n// Lite av ett hack för att filnamnet inte ska se ut som en knapp, i nyaste FKUI versionen behövs inte det här för där är den inte en knapp.\n#fillista:hover {\n cursor: default;\n background-color: transparent;\n}\n</style>\n","/**\n * @public\n */\nexport function matchPropertyValue<T, K extends keyof T = keyof T>(\n property: K,\n): (item: T, value: T[K] | null) => boolean {\n return (item, value) => {\n return value === null || item[property] === value;\n };\n}\n","/**\n * @public\n */\nexport function uniqueValues<T, K extends keyof T = keyof T>(\n items: T[],\n property: K,\n): Array<T[K]> {\n const values = items.map((it) => it[property]);\n const unique = Array.from(new Set(values));\n // eslint-disable-next-line sonarjs/no-alphabetical-sort -- leave as is for now\n unique.sort(); // until we can use toSorted()\n return unique;\n}\n","<script setup lang=\"ts\" generic=\"T\">\nimport { type Ref, ref } from \"vue\";\nimport { debounce } from \"@fkui/logic\";\n\nconst props = withDefaults(\n defineProps<{\n data: T[];\n sort?(data: T[]): T[];\n filter?(data: T[]): T[];\n }>(),\n {\n sort: (data: T[]) => {\n return data;\n },\n filter: (data: T[]) => {\n return data;\n },\n },\n);\n\nconst filtered = ref(props.filter(props.data)) as unknown as Ref<T[]>;\nconst result = ref<T[]>(props.data);\nconst debouncedUpdate = debounce(update, 250);\n\nfunction update(): void {\n filtered.value = props.filter(props.data);\n result.value = props.sort(filtered.value); // eslint-disable-line unicorn/no-array-sort -- false positive\n}\n</script>\n\n<template>\n <div class=\"sort-filter-dataset-ng\">\n <slot name=\"filter\" v-bind=\"{ update: debouncedUpdate }\"></slot>\n <slot name=\"default\" v-bind=\"{ result }\"></slot>\n </div>\n</template>\n","/**\n * @public\n */\nexport const HOURS_MINUTES_REGEXP = /^(?<hours>\\d+)?(:(?<minutes>[0-5]\\d))?$/;\n\n/**\n * @public\n */\nexport const HOURS_MINUTES_WITHOUT_COLON_REGEXP =\n /^(?<hours>\\d{2})(?<minutes>[0-5]\\d)$/;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\nvar apply = require('../internals/function-apply');\nvar fails = require('../internals/fails');\n\nvar $TypeError = TypeError;\n\n// https://bugs.webkit.org/show_bug.cgi?id=291651\nvar FAILS_ON_INITIAL_UNDEFINED = fails(function () {\n // eslint-disable-next-line es/no-iterator-prototype-reduce, es/no-array-prototype-keys, array-callback-return -- required for testing\n [].keys().reduce(function () { /* empty */ }, undefined);\n});\n\nvar reduceWithoutClosingOnEarlyError = !FAILS_ON_INITIAL_UNDEFINED && iteratorHelperWithoutClosingOnEarlyError('reduce', $TypeError);\n\n// `Iterator.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.reduce\n$({ target: 'Iterator', proto: true, real: true, forced: FAILS_ON_INITIAL_UNDEFINED || reduceWithoutClosingOnEarlyError }, {\n reduce: function reduce(reducer /* , initialValue */) {\n anObject(this);\n try {\n aCallable(reducer);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n if (reduceWithoutClosingOnEarlyError) {\n return apply(reduceWithoutClosingOnEarlyError, this, noInitial ? [reducer] : [reducer, accumulator]);\n }\n var record = getIteratorDirect(this);\n var counter = 0;\n iterate(record, function (value) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = reducer(accumulator, value, counter);\n }\n counter++;\n }, { IS_RECORD: true });\n if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value');\n return accumulator;\n }\n});\n","import {\n TranslationService,\n isEmpty,\n isSet,\n stripWhitespace,\n} from \"@fkui/logic\";\nimport { type HoursMinutesString } from \"../converters\";\nimport {\n HOURS_MINUTES_REGEXP,\n HOURS_MINUTES_WITHOUT_COLON_REGEXP,\n} from \"./constants\";\n\nfunction findMatch(regexps: RegExp[], value: string): RegExpMatchArray | null {\n for (const regexp of regexps) {\n const match = value.match(regexp);\n\n if (match) {\n return match;\n }\n }\n\n return null;\n}\n\nfunction padInitialZeros(value: string | undefined, maxLength = 2): string {\n value = value ?? \"\";\n return value.padStart(maxLength, \"0\");\n}\n\n/**\n * @public\n */\nexport function hoursMinutesStringToMinutes(\n valueString: string,\n extraForgiving = false,\n): number | undefined {\n if (isEmpty(valueString.trim())) {\n return undefined;\n }\n\n const [hours, minutes] = splitHoursMinutes(valueString, extraForgiving).map(\n (value) => Number.parseInt(value, 10),\n );\n const totalMinutes = hours * 60 + minutes;\n\n return !Number.isNaN(totalMinutes) ? totalMinutes : undefined;\n}\n\n/**\n * @public\n */\nexport function minutesToHoursMinutesString(\n value?: number,\n): HoursMinutesString {\n let valueString = \"\";\n const safeValue = value ?? Number.NaN;\n if (!Number.isNaN(safeValue)) {\n const { hours, minutes } = minutesToObject(safeValue);\n valueString = [hours, minutes]\n .map((value) => String(value).padStart(2, \"0\"))\n .join(\":\");\n }\n\n return stripWhitespace(valueString);\n}\n\n/**\n * @public\n */\nexport function splitHoursMinutes(\n valueString: string,\n extraForgiving = false,\n): string[] {\n const regexps = extraForgiving\n ? [HOURS_MINUTES_WITHOUT_COLON_REGEXP, HOURS_MINUTES_REGEXP]\n : [HOURS_MINUTES_REGEXP];\n const match = findMatch(regexps, stripWhitespace(valueString));\n\n if (!match) {\n return [\"\", \"\"];\n }\n\n /* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- technical debt */\n const hours = padInitialZeros(match?.groups?.hours);\n /* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- technical debt */\n const minutes = padInitialZeros(match?.groups?.minutes);\n\n return [hours, minutes];\n}\n\n/**\n * Accepts time as a number and returns a user friendly string (to be used in i.e. review mode)\n * Example:\n * Input: 13.5\n * Output: '13 timmar och 30 minuter'\n *\n * @public\n */\nexport function minutesToUserFriendlyString(value: number): string {\n const [hours, minutes] = splitHoursMinutes(\n minutesToHoursMinutesString(value),\n ).map(Number);\n\n return TranslationService.provider.translate(\n \"ARBE.RW.generell.etikett.timmarochminuter\",\n \"{{hours}} timmar och {{minutes}} minuter\",\n { hours, minutes },\n );\n}\n\n/**\n * Helper for converting AgeTimeTextField values into hours. For convienence,\n * it is possible to provide multiple values and get their sum. The actual\n * conversion will be performed as a last step, to minimize the amount of rounding\n * errors.\n *\n * Parameters that are undefined or NaN will be ignored and add 0 to the sum.\n *\n * @public\n * @param values - Values in minutes, to be converted into a value in hours.\n * @returns The sum of all values divided by 60. E.g., `150` becomes `2.5`.\n */\nexport function minutesToHoursFloat(\n ...values: Array<number | undefined>\n): number {\n const minutes = values\n .filter(\n (value): value is number => isSet(value) && !Number.isNaN(value),\n )\n .reduce((sum, value) => sum + value, 0);\n\n return minutes / 60;\n}\n\n/**\n * Helper for converting AgeTimeTextField values into an object. For\n * convenience, it is possible to provide multiple values and get their sum.\n *\n * Parameters that are undefined or NaN will be ignored and add 0 to the sum.\n *\n * @public\n * @param values - Values in minutes, to be converted into a value into an\n * hour minute object.\n * @returns The sum of all values in an object representation. E.g.,\n * `150` becomes `{ hours: 2, minutes: 30 }`\n */\nexport function minutesToObject(...values: Array<number | undefined>): {\n hours: number;\n minutes: number;\n} {\n const minutes = values\n .filter(\n (value): value is number => isSet(value) && !Number.isNaN(value),\n )\n .reduce((sum, value) => sum + value, 0);\n\n return {\n hours: Math.floor(minutes / 60),\n minutes: minutes % 60,\n };\n}\n","import {\n hoursMinutesStringToMinutes,\n minutesToHoursMinutesString,\n} from \"../utils\";\n\n/**\n * A string in the format hh:mm (hours may exceed two digits), e.g., 08:15, 16:00 and 900:12.\n *\n * @public\n */\nexport type HoursMinutesString = string;\n\n/**\n * @public\n */\nexport function formatNumberToTime(\n value?: number,\n): HoursMinutesString | undefined {\n if (typeof value !== \"number\" || Number.isNaN(value)) {\n return undefined;\n }\n\n return minutesToHoursMinutesString(value);\n}\n\nfunction parseTimeToNumberUsingConfig(\n value: string | null | undefined,\n extraForgiving: boolean,\n): number | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n\n const parsedValue =\n hoursMinutesStringToMinutes(value, extraForgiving) ?? Number.NaN;\n\n return !Number.isNaN(parsedValue) ? parsedValue : undefined;\n}\n\n/**\n * @public\n */\nexport function parseTimeToNumber(value?: string | null): number | undefined {\n return parseTimeToNumberUsingConfig(value, false);\n}\n\n/**\n * @public\n */\nexport function forgivingParseTimeToNumber(\n value?: string | null,\n): number | undefined {\n return parseTimeToNumberUsingConfig(value, true);\n}\n","import { type ValidatorConfig, isSet } from \"@fkui/logic\";\nimport { parseTimeToNumber } from \"../converters\";\n\n/**\n * @public\n */\n/* eslint-disable-next-line @typescript-eslint/no-extraneous-class -- technical\n * debt, should be refactored to vanilla functions */\nexport class HoursMinutesValidatorUtils {\n public static validate(\n value: string,\n config: ValidatorConfig,\n name: string,\n compare: (value: number, limit: number) => boolean,\n ): boolean {\n if (value === \"\") {\n return true;\n }\n\n const limit = config[name];\n if (!isSet(limit)) {\n return false;\n }\n\n const parseFunction =\n HoursMinutesValidatorUtils.getParserFromConfig(config);\n const limitAsNumber = parseFunction(String(config[name]));\n if (!isSet(limitAsNumber)) {\n throw new Error(`config.${name} must be a number`);\n }\n\n const valueAsNumber = parseFunction(value);\n if (!isSet(valueAsNumber)) {\n return false;\n }\n\n return compare(valueAsNumber, limitAsNumber);\n }\n\n public static getParserFromConfig(\n config?: ValidatorConfig,\n ): (viewValue: string | null | undefined) => number | undefined {\n if (\n !isSet(config) ||\n !Array.isArray(config.parser) ||\n /* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- technical debt */\n !isSet(config.parser?.[0]) ||\n typeof config.parser[0] !== \"function\"\n ) {\n return parseTimeToNumber;\n }\n\n return config.parser[0] as (\n viewValue: string | null | undefined,\n ) => number | undefined;\n }\n}\n","import {\n type ValidatableHTMLElement,\n type Validator,\n type ValidatorConfig,\n type ValidatorName,\n} from \"@fkui/logic\";\nimport { HoursMinutesValidatorUtils } from \"../utils\";\n\nexport const greaterThanTimeValidator: Validator = {\n name: \"greaterThanTime\" as ValidatorName,\n validation(\n value: string,\n _element: ValidatableHTMLElement,\n config: ValidatorConfig,\n ): boolean {\n return HoursMinutesValidatorUtils.validate(\n value,\n config,\n \"limit\",\n (value: number, limit: number) => {\n return value > limit;\n },\n );\n },\n};\n","import {\n type ValidatableHTMLElement,\n type Validator,\n type ValidatorConfig,\n type ValidatorName,\n isEmpty,\n isSet,\n} from \"@fkui/logic\";\nimport { HoursMinutesValidatorUtils } from \"../utils\";\n\nexport const hoursMinutesValidator: Validator = {\n name: \"hoursMinutes\" as ValidatorName,\n validation(\n value: string,\n _element: ValidatableHTMLElement,\n config: ValidatorConfig,\n ): boolean {\n return (\n isEmpty(value) ||\n isSet(HoursMinutesValidatorUtils.getParserFromConfig(config)(value))\n );\n },\n};\n","import {\n type ValidatableHTMLElement,\n type Validator,\n type ValidatorConfig,\n type ValidatorName,\n} from \"@fkui/logic\";\nimport { HoursMinutesValidatorUtils } from \"../utils\";\n\nexport const lessThanTimeValidator: Validator = {\n name: \"lessThanTime\" as ValidatorName,\n validation(\n value: string,\n _element: ValidatableHTMLElement,\n config: ValidatorConfig,\n ): boolean {\n return HoursMinutesValidatorUtils.validate(\n value,\n config,\n \"limit\",\n (value: number, limit: number) => {\n return value < limit;\n },\n );\n },\n};\n","import {\n type ValidatableHTMLElement,\n type Validator,\n type ValidatorConfig,\n type ValidatorName,\n} from \"@fkui/logic\";\nimport { HoursMinutesValidatorUtils } from \"../utils\";\n\nexport const maxTimeValidator: Validator = {\n name: \"maxTime\" as ValidatorName,\n validation(\n value: string,\n _element: ValidatableHTMLElement,\n config: ValidatorConfig,\n ): boolean {\n return HoursMinutesValidatorUtils.validate(\n value,\n config,\n this.name,\n (value: number, limit: number) => {\n return value <= limit;\n },\n );\n },\n};\n","import {\n type ValidatableHTMLElement,\n type Validator,\n type ValidatorConfig,\n type ValidatorName,\n} from \"@fkui/logic\";\nimport { HoursMinutesValidatorUtils } from \"../utils\";\n\nexport const minTimeValidator: Validator = {\n name: \"minTime\" as ValidatorName,\n validation(\n value: string,\n _element: ValidatableHTMLElement,\n config: ValidatorConfig,\n ): boolean {\n return HoursMinutesValidatorUtils.validate(\n value,\n config,\n this.name,\n (value: number, limit: number) => {\n return value >= limit;\n },\n );\n },\n};\n","import { type Validator, ValidationService } from \"@fkui/logic\";\nimport { greaterThanTimeValidator } from \"./greater-than-time-validator\";\nimport { hoursMinutesValidator } from \"./hours-minutes-validator\";\nimport { lessThanTimeValidator } from \"./less-than-time-validator\";\nimport { maxTimeValidator } from \"./max-time-validator\";\nimport { minTimeValidator } from \"./min-time-validator\";\n\nconst validators: Validator[] = [\n hoursMinutesValidator,\n greaterThanTimeValidator,\n lessThanTimeValidator,\n maxTimeValidator,\n minTimeValidator,\n];\n\nfor (const validator of validators) {\n ValidationService.registerValidator(validator);\n}\n","<script lang=\"ts\">\nimport { type PropType, defineComponent } from \"vue\";\nimport { ValidationService, isSet } from \"@fkui/logic\";\nimport { type FormatFunction, type ParseFunction, FTextField, TranslationMixin, useTextFieldSetup } from \"@fkui/vue\";\nimport { type HoursMinutesString, formatNumberToTime, parseTimeToNumber } from \"./converters\";\nimport \"./validators\";\n\nexport default defineComponent({\n name: \"XTimeTextField\",\n extends: FTextField,\n mixins: [TranslationMixin],\n props: {\n /* eslint-disable-next-line vue/no-unused-properties -- used by FTextField (extended) */\n formatter: {\n type: Function as PropType<FormatFunction<HoursMinutesString>>,\n required: false,\n default: formatNumberToTime,\n },\n /* eslint-disable-next-line vue/no-unused-properties -- used by FTextField (extended) */\n parser: {\n type: Function as PropType<ParseFunction<number>>,\n required: false,\n default: parseTimeToNumber,\n },\n },\n setup(props) {\n return useTextFieldSetup(props);\n },\n mounted() {\n const inputElement: HTMLInputElement = this.$el.querySelector(\"input\");\n\n if (!isSet(inputElement)) {\n throw new Error(`Could not find input element in XTimeTextField with id ${String(this.$el.id)}`);\n }\n\n ValidationService.addValidatorsToElement(\n inputElement,\n {\n maxLength: { length: 10 },\n hoursMinutes: {},\n },\n true,\n );\n\n inputElement.setAttribute(\"inputmode\", \"numeric\");\n\n /* eslint-disable-next-line @typescript-eslint/no-floating-promises -- technical debt */\n ValidationService.validateElement(inputElement);\n },\n});\n</script>\n"],"names":["check","it","Math","globalThis_1","globalThis","window","self","global","this","Function","fails","exec","error","require$$0","descriptors","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","call","prototype","functionCall","apply","arguments","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","objectPropertyIsEnumerable","f","V","descriptor","enumerable","createPropertyDescriptor","bitmap","value","configurable","writable","FunctionPrototype","uncurryThisWithBind","functionUncurryThis","fn","uncurryThis","toString","stringSlice","slice","classofRaw","require$$1","classof","require$$2","$Object","split","indexedObject","isNullOrUndefined","undefined","$TypeError","TypeError","requireObjectCoercible","IndexedObject","toIndexedObject","documentAll","document","all","isCallable","argument","isObject","aFunction","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","navigator","userAgent","environmentUserAgent","String","process","Deno","versions","version","v8","match","environmentV8Version","V8_VERSION","$String","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","NATIVE_SYMBOL","useSymbolAsUid","iterator","USE_SYMBOL_AS_UID","require$$3","isSymbol","$Symbol","tryToString","aCallable","getMethod","P","func","ordinaryToPrimitive","input","pref","val","valueOf","isPure","defineGlobalProperty","key","IS_PURE","SHARED","store","sharedStoreModule","exports","push","mode","copyright","license","source","shared","toObject","hasOwnProperty_1","hasOwn","id","postfix","random","uid","require$$4","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","TO_PRIMITIVE","toPrimitive","exoticToPrim","result","toPropertyKey","EXISTS","createElement","documentCreateElement","DESCRIPTORS","ie8DomDefine","a","propertyIsEnumerableModule","require$$6","IE8_DOM_DEFINE","require$$7","$getOwnPropertyDescriptor","objectGetOwnPropertyDescriptor","O","v8PrototypeDefineBug","anObject","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","objectDefineProperty","Attributes","current","definePropertyModule","createNonEnumerableProperty","object","getDescriptor","PROPER","something","functionName","functionToString","inspectSource","WeakMap","weakMapBasicDetection","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","set","has","enforce","getterFor","TYPE","state","type","metadata","facade","STATE","internalState","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","mathTrunc","trunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","len","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","copyConstructorProperties","target","exceptions","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","_export","TARGET","GLOBAL","STATIC","stat","FORCED","targetProperty","sourceProperty","dontCallGetSet","forced","functionUncurryThisClause","functionBindContext","that","iterators","Iterators","ITERATOR","ArrayPrototype","Array","isArrayIteratorMethod","TO_STRING_TAG","toStringTagSupport","TO_STRING_TAG_SUPPORT","CORRECT_ARGUMENTS","tryGet","tag","callee","getIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","require$$8","require$$9","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","iterFn","next","step","stop","condition","$iterator","callFn","done","getIteratorDirect","iteratorHelperWithoutClosingOnEarlyError","METHOD_NAME","ExpectedError","Iterator","IteratorPrototype","CLOSED","$","forEachWithoutClosingOnEarlyError","proto","real","forEach","record","counter","anInstance","Prototype","correctPrototypeGetter","F","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","objectGetPrototypeOf","defineBuiltInAccessor","createProperty","objectKeys","objectDefineProperties","defineProperties","Properties","props","html","definePropertiesModule","GT","LT","PROTOTYPE","SCRIPT","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","style","display","appendChild","src","contentWindow","open","NullProtoObject","ActiveXObject","domain","objectCreate","create","BUGGY_SAFARI_ITERATORS","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","iteratorsCore","require$$10","require$$11","require$$12","require$$13","CONSTRUCTOR","NativeIterator","IteratorConstructor","defineIteratorPrototypeAccessor","defineBuiltIns","createIterResultObject","iteratorCloseAll","iters","ITERATOR_HELPER","WRAP_FOR_VALID_ITERATOR","NORMAL","THROW","setInternalState","createIteratorProxyPrototype","nextHandler","returnHandlerResult","returnMethod","inner","openIters","WrapForValidIteratorPrototype","IteratorHelperPrototype","iteratorCreateProxy","RETURN_HANDLER_RESULT","IteratorProxy","callWithSafeIterationClosing","ENTRIES","iteratorHelperThrowsOnInvalidIterator","methodName","createIteratorProxy","FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR","filterWithoutClosingOnEarlyError","predicate","filter","SetPrototype","Set","setHelpers","add","remove","aSet","iterateSimple","ITERATOR_INSTEAD_OF_RECORD","SetHelpers","setIterate","interruptible","setClone","functionUncurryThisAccessor","uncurryThisAccessor","setSize","size","INVALID_SIZE","$RangeError","RangeError","SetRecord","intSize","getSetRecord","numSize","clone","iterateSet","setDifference","difference","other","otherRec","e","createSetLike","createSetLikeWithInfinitySize","Error","setMethodAcceptSetLike","callback","error2","Infinity","SET_LIKE_INCORRECT_BEHAVIOR","setLike","baseSet","clear","setIntersection","intersection","INCORRECT","from","setIsDisjointFrom","isDisjointFrom","setIsSubsetOf","isSubsetOf","setIsSupersetOf","isSupersetOf","setSymmetricDifference","symmetricDifference","keysIter","setMethodGetKeysBeforeCloningDetection","values","setMethodGetKeysBeforeCloning","setUnion","union","emit","__emit","expandableRef","useTemplateRef","toggleIcon","computed","__props","isExpanded","expandLabel","onClick","assertRef","tabIndex","expose","tabstopEl","__expose","isExpandable","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","ref","tabindex","_createVNode","_unref","FIcon","class","_hoisted_3","colspan","_renderSlot","_ctx","$slots","UNSCOPABLES","addToUnscopables","$includes","BROKEN_ON_SPARSE","BROKEN_ON_SPARSE_WITH_FROM_INDEX","baseTypes","textTypes","numberTypes","isInputTypeNumber","isInputTypeText","inputFieldConfig","formatter","formatPersonnummer","parsePersonnummer","parser","validationConfig","maxLength","personnummerFormat","personnummerLuhn","attributes","inputmode","maxlength","parseBankAccountNumber","bankAccountNumber","parseBankgiro","bankgiro","parseClearingNumber","trim","clearingNumber","formatNumber","parseNumber","currency","parseDate","date","email","_this$decimals","decimals","_this$decimals2","parseOrganisationsnummer","organisationsnummer","_this$decimals3","_this$decimals4","percent","minValue","maxValue","phoneNumber","parsePlusgiro","plusgiro","formatPostalCode","postalCode","text","thElement","columnClasses","sortIconClass","sortOrder","sortIcon","sortValue","isAlignableColumn","column","alignment","align","onClickCell","sortable","sortEnabled","onKeydownCell","preventDefault","onKeydown","IFlex","gap","float","IFlexItem","shrink","_createTextVNode","_toDisplayString","header","_createBlock","description","$t","useTranslate","indeterminate","checked","ariaLabel","selectable","inputRef","onChange","targetElement","label","row","update","Boolean","inputElement","_e","level","childRef","_childRef$value$tabst","multiSelectColumn","component","ITableCheckbox","enabled","singleSelectColumn","ITableRadio","isFTableCellApi","tableCellApiSymbol","navKeys","prevCellIndex","getCellTarget","tableElement","rowIndex","cellIndex","rows","cells","getTr","td","parentElement","getTable","tr","closest","getLastRowIndex","getLastCellIndex","getVerticalNavIndex","table","to","currentMax","targetMax","cell","isDefined","navigate","last","code","lastCellIndex","ctrlKey","getCell","element","setDefaultCellTarget","nextTick","tHead","activateCell","focus","maybeNavigateToCell","newCellTarget","lastIndex","navigateTo","_toValue","api","targetEl","toValue","stopEdit","reason","lastRowIndex","nextRowIndex","hasFooter","tFoot","isLastRow","footerNext","walk","array","childKey","visit","item","visitChildren","getBodyRowCount","count","isArray","SILENT_ON_NON_WRITABLE_LENGTH_SET","arraySetLength","MAX_SAFE_INTEGER","doesNotExceedSafeInteger","setArrayLength","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","argCount","getRowIndexes","expandableAttribute","getItemIdentifier","getMetaRows","keyedRows","expandedKeys","rowIndexes","stopEditKey","useStartStopEdit","inject","Promise","resolve","MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR","mapWithoutClosingOnEarlyError","mapper","map","href","_hoisted_2","buttonElement","onClickButton","icon","library","iconLibrary","findWithoutClosingOnEarlyError","find","buttonRef","isOpen","actions","menuitems","_it$icon","onOpen","event","stopPropagation","onClose","onFocusout","validTarget","relatedTarget","HTMLElement","inPopup","onSelect","action","_normalizeClass","FContextMenu","items","anchor","_buttonRef$value","scope","editing","editRef","viewValue","selected","dropdownId","ElementIdService","generateElementId","dropdownIsOpen","activeOptionId","activeOption","onCellKeyDown","startEditing","onCellClick","openDropdown","selectDropdownOption","assertSet","oldValue","closeDropdown","onDropdownClose","setNextOption","setPreviousOption","at","onEditKeyDown","_activeOption$value","shiftKey","onEditBlur","editable","_withDirectives","role","onDblclick","_cache","_hoisted_4","IComboboxDropdown","_hoisted_5","defaultTnumValue","tnumTypes","defaultLabelFn","getLabelFn","defaultUpdateFn","getUpdateFn","getValueFn","coerce","defaultValue","_row$key","isColumnTypeNumber","addInputValidators","ValidationService","addValidatorsToElement","isAlphanumeric","metaKey","inEdit","cellId","inputId","validity","isValid","validationMessage","validityMode","validationFacade","validateElement","isSubmitted","isTouched","dispatchComponentValidityEvent","hasError","viewModeAriaInvalid","viewModeErrorMessage","initialValidity","divClasses","tnum","wrapperClasses","staticClasses","inputClasses","columnAttributes","configAttributes","tdElement","isHovered","useElementHover","delayEnter","focused","useFocusWithin","openPopupError","activeErrorAnchor","initialViewValue","pendingStopEditReason","setUpValidation","validation","setUpFakeValidation","nativeEvents","nativeEvent","useEventListener","fakeEvent","CustomEvent","detail","elementId","onValidity","onPendingValidity","onMounted","fromColumnValue","hasValidation","then","watchEffect","_tdElement$value","_inputElement$value","arrowAnchor","message","hasFocus","hasHover","_tdElement$value2","_inputElement$value2","onStartEdit","width","getBoundingClientRect","setProperty","onStopEdit","removeProperty","_props$column$format","toColumnValue","_props$column$parser","updateColumnValue","newValue","contains","onViewingKeydown","onEditingKeydown","activeElement","updateValidity","eventDetail","errorMessage","focusElementId","_mergeProps","$event","IPopupError","layout","normalizeAnchorColumn","getSortable","_column$sort","_column$key","shouldSort","sort","normalizeBaseColumn","_column$enabled","toRef","normalizeButtonColumn","_column$icon","normalizeCheckboxColumn","noop","normalizeMenuColumn","_column$actions","_it$onClick","normalizeNumberColumn","_column$parser","_column$formatter","_column$tnum","_column$align","_column$validation","config","_column$editable","startsWith","normalizeRenderColumn","render","normalizeRowHeaderColumn","normalizeSelectColumn","normalizeSimpleColumn","normalizeTextColumn","normalizeTableColumn","base","freeze","ITableText","ITableRowheader","ITableAnchor","ITableButton","ITableSelect","ITableMenu","defineTableColumns","columns","normalizeTableColumns","usePopupError","errorAnchor","errorArrowAnchor","onPopupError","popupError","onClosePopupError","_errorAnchor$value","isSameNode","arrayFromConstructorAndList","Constructor","list","$length","getBuiltInPrototypeMethod","METHOD","$Array","toSorted","compareFn","A","someWithoutClosingOnEarlyError","some","rowKey","_findItemIdentifier","findItemIdentifier","useSelectable","selectedRows","selectableHeaderState","toggleSelectableHeader","selectableRowState","toggleSelectableRow","isIndeterminate","isAllRowsSelected","splice","selectedRow","oldKeys","watch","newKeys","compareKeys","deep","immediate","matching","needle","useTabstop","tableRef","metaRows","pendingRowRemoval","renderOptions","fallbackToFirstCell","newRows","oldRows","newFirstRowOldIndex","findIndex","tabFallback","oldTabstopElement","querySelector","oldTabstopFocused","oldTabstopTd","oldTabstopTr","isBeingRemoved","hasRowBelowInNewRows","fallback","hasRowAboveInNewRows","onUpdated","withTabstopBehaviour","behaviour","_useModel","hasSlot","useSlotUtils","setItemIdentifiers","keyAttribute","isTreegrid","hasCaption","stripClasses","isEmpty","ariaRowcount","footerRow","hasColumns","headerRow","bodyRows","fullColspan","expandedColspan","col","tableClasses","striped","disableDividers","slots","useSlots","hasExpandableSlot","expandable","stopEditHandler","provide","getRowClass","rowClass","onToggleExpanded","delete","Node","click","onTableFocusin","querySelectorAll","setAttribute","isInExpandable","onTableFocusout","validFocus","outsideTable","registerCallbackOnSort","registerCallbackOnMount","FSortFilterDatasetInjected","sortableColumns","sortedColumn","sortedAscending","callbackSortableColumns","columnNames","callbackOnSort","columnName","ascending","isSortEnabled","getSortOrder","onToggleSortOrder","bindCellApiRef","apiEl","isAriaSelected","tableApi","onFocusin","ITableHeaderSelectable","onToggle","_Fragment","_renderList","ITableHeader","_hoisted_6","_hoisted_7","setsize","posinset","ITableExpandButton","ITableExpandable","ref_for","ITableSelectable","_resolveDynamicComponent","onCloseError","onOnError","_hoisted_10","toSpliced","start","deleteCount","actualStart","argumentsLength","k","insertCount","actualDeleteCount","newLen","removeRow","removeExpandableRowFromRows","currentRow","expandableRows","arrayBufferBasicDetection","ArrayBuffer","DataView","arrayBufferByteLength","byteLength","NATIVE_ARRAY_BUFFER","arrayBufferIsDetached","isDetached","ArrayBufferPrototype","detached","toIndex","arrayBufferNotDetached","userAgentStartsWith","environment","Bun","ENVIRONMENT","environmentIsNode","IS_NODE","getBuiltInNodeModule","getBuiltinModule","V8","structuredClone","structuredCloneProperTransfer","buffer","transfer","PROPER_STRUCTURED_CLONE_TRANSFER","$ArrayBuffer","$MessageChannel","MessageChannel","detach","WorkerThreads","channel","$detach","transferable","port1","postMessage","detachTransferable","notDetached","DataViewPrototype","isResizable","maxByteLength","getInt8","setInt8","arrayBufferTransfer","arrayBuffer","newLength","preserveResizability","newByteLength","fixedLength","newBuffer","b","copyLength","$transfer","transferToFixedLength","isPossiblePrototype","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","__proto__","require$$14","require$$15","require$$16","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","NAME","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","klass","getTypedArrayConstructor","isTypedArray","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","property","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","arrayBufferViewCore","ArrayBufferViewCore","toReversed","isBigIntArray","toBigInt","prim","BigInt","PROPER_ORDER","THROW_ON_NEGATIVE_FRACTIONAL_INDEX","relativeIndex","actualIndex","numericValue","anObjectOrUndefined","aString","commonAlphabet","base64Alphabet","base64UrlAlphabet","inverse","characters","charAt","base64Map","i2c","c2i","i2cUrl","c2iUrl","getAlphabetOption","alphabet","SyntaxError","skipAsciiWhitespace","chr","decodeBase64Chunk","chunk","throwOnExtraBits","chunkLength","triplet","chunkBytes","writeBytes","bytes","elements","written","elementsLength","uint8FromBase64","into","lastChunkHandling","stringLength","read","remainingBytes","anUint8Array","$fromBase64","INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS","setFromBase64","stringMatch","uint8FromHex","segments","$fromHex","throwsOnLengthTrackingView","rab","setFromHex","toBase64","omitPadding","shift","numberToString","toHex","hex","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","normalizeStringArgument","$default","domExceptionConstants","IndexSizeError","s","c","m","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","$Error","TEST","arg","stack","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","errorStackClear","dropEntries","prepareStackTrace","DOMExceptionConstants","clearErrorStack","DOM_EXCEPTION","NativeDOMException","$DOMException","DOMException","DOMExceptionPrototype","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","BUGGY_DESCRIPTOR","FORCED_CONSTRUCTOR","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName","STATUS_HAR_INTE_VALT_FIL","STATUS_HAR_VALT_FIL","STATUS_MISSLYCKATS","valdFil","File","currentStatus","uppladdatDokument","dokument","filnamn","mime","fel","fileName","mimeType","fileSize","filValidering","maxFileSize","allowedFileTypes","dragEnterTarget","visadrag","harValtFil","harMisslyckats","filstorlek","round","srtextFilvaljare","tillSkarmlasare","alertScreenReader","dragover","currentTarget","dragleave","drop","dataTransfer","hanteraFil","files","filer","reduced","reduce","byte","fromCodePoint","btoa","rensaFil","EventBus","$emit","fokusElement","skickaFel","setTimeout","resetElement","HTMLInputElement","taBortFil","$on","onDragover","onDragleave","onDrop","FFileSelector","accept","onFocus","FFileItem","matchPropertyValue","uniqueValues","unique","filtered","debouncedUpdate","debounce","HOURS_MINUTES_REGEXP","HOURS_MINUTES_WITHOUT_COLON_REGEXP","functionApply","Reflect","FAILS_ON_INITIAL_UNDEFINED","reduceWithoutClosingOnEarlyError","reducer","noInitial","accumulator","findMatch","regexps","regexp","padInitialZeros","padStart","hoursMinutesStringToMinutes","valueString","extraForgiving","hours","minutes","splitHoursMinutes","Number","parseInt","totalMinutes","isNaN","minutesToHoursMinutesString","safeValue","NaN","minutesToObject","stripWhitespace","groups","minutesToUserFriendlyString","TranslationService","provider","translate","minutesToHoursFloat","isSet","sum","formatNumberToTime","parseTimeToNumberUsingConfig","_hoursMinutesStringTo","parsedValue","parseTimeToNumber","forgivingParseTimeToNumber","HoursMinutesValidatorUtils","validate","compare","limit","parseFunction","getParserFromConfig","limitAsNumber","valueAsNumber","greaterThanTimeValidator","_element","hoursMinutesValidator","lessThanTimeValidator","maxTimeValidator","minTimeValidator","validators","validator","registerValidator","defineComponent","extends","FTextField","mixins","TranslationMixin","required","default","setup","useTextFieldSetup","mounted","$el","hoursMinutes"],"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,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,122,123,134,135,136,137,140,143,169,170,171,172,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,223,224]}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../../node_modules/core-js/internals/global-this.js","../../../../node_modules/core-js/internals/fails.js","../../../../node_modules/core-js/internals/descriptors.js","../../../../node_modules/core-js/internals/function-bind-native.js","../../../../node_modules/core-js/internals/function-call.js","../../../../node_modules/core-js/internals/object-property-is-enumerable.js","../../../../node_modules/core-js/internals/create-property-descriptor.js","../../../../node_modules/core-js/internals/function-uncurry-this.js","../../../../node_modules/core-js/internals/classof-raw.js","../../../../node_modules/core-js/internals/indexed-object.js","../../../../node_modules/core-js/internals/is-null-or-undefined.js","../../../../node_modules/core-js/internals/require-object-coercible.js","../../../../node_modules/core-js/internals/to-indexed-object.js","../../../../node_modules/core-js/internals/is-callable.js","../../../../node_modules/core-js/internals/is-object.js","../../../../node_modules/core-js/internals/get-built-in.js","../../../../node_modules/core-js/internals/object-is-prototype-of.js","../../../../node_modules/core-js/internals/environment-user-agent.js","../../../../node_modules/core-js/internals/environment-v8-version.js","../../../../node_modules/core-js/internals/symbol-constructor-detection.js","../../../../node_modules/core-js/internals/use-symbol-as-uid.js","../../../../node_modules/core-js/internals/is-symbol.js","../../../../node_modules/core-js/internals/try-to-string.js","../../../../node_modules/core-js/internals/a-callable.js","../../../../node_modules/core-js/internals/get-method.js","../../../../node_modules/core-js/internals/ordinary-to-primitive.js","../../../../node_modules/core-js/internals/is-pure.js","../../../../node_modules/core-js/internals/define-global-property.js","../../../../node_modules/core-js/internals/shared-store.js","../../../../node_modules/core-js/internals/shared.js","../../../../node_modules/core-js/internals/to-object.js","../../../../node_modules/core-js/internals/has-own-property.js","../../../../node_modules/core-js/internals/uid.js","../../../../node_modules/core-js/internals/well-known-symbol.js","../../../../node_modules/core-js/internals/to-primitive.js","../../../../node_modules/core-js/internals/to-property-key.js","../../../../node_modules/core-js/internals/document-create-element.js","../../../../node_modules/core-js/internals/ie8-dom-define.js","../../../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../../../node_modules/core-js/internals/an-object.js","../../../../node_modules/core-js/internals/object-define-property.js","../../../../node_modules/core-js/internals/create-non-enumerable-property.js","../../../../node_modules/core-js/internals/function-name.js","../../../../node_modules/core-js/internals/inspect-source.js","../../../../node_modules/core-js/internals/weak-map-basic-detection.js","../../../../node_modules/core-js/internals/shared-key.js","../../../../node_modules/core-js/internals/hidden-keys.js","../../../../node_modules/core-js/internals/internal-state.js","../../../../node_modules/core-js/internals/make-built-in.js","../../../../node_modules/core-js/internals/define-built-in.js","../../../../node_modules/core-js/internals/math-trunc.js","../../../../node_modules/core-js/internals/to-integer-or-infinity.js","../../../../node_modules/core-js/internals/to-absolute-index.js","../../../../node_modules/core-js/internals/to-length.js","../../../../node_modules/core-js/internals/length-of-array-like.js","../../../../node_modules/core-js/internals/array-includes.js","../../../../node_modules/core-js/internals/object-keys-internal.js","../../../../node_modules/core-js/internals/enum-bug-keys.js","../../../../node_modules/core-js/internals/object-get-own-property-names.js","../../../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../../../node_modules/core-js/internals/own-keys.js","../../../../node_modules/core-js/internals/copy-constructor-properties.js","../../../../node_modules/core-js/internals/is-forced.js","../../../../node_modules/core-js/internals/export.js","../../../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../../../node_modules/core-js/internals/function-bind-context.js","../../../../node_modules/core-js/internals/iterators.js","../../../../node_modules/core-js/internals/is-array-iterator-method.js","../../../../node_modules/core-js/internals/to-string-tag-support.js","../../../../node_modules/core-js/internals/classof.js","../../../../node_modules/core-js/internals/get-iterator-method.js","../../../../node_modules/core-js/internals/get-iterator.js","../../../../node_modules/core-js/internals/iterator-close.js","../../../../node_modules/core-js/internals/iterate.js","../../../../node_modules/core-js/internals/get-iterator-direct.js","../../../../node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js","../../../../node_modules/core-js/modules/es.iterator.for-each.js","../../../../node_modules/core-js/internals/an-instance.js","../../../../node_modules/core-js/internals/correct-prototype-getter.js","../../../../node_modules/core-js/internals/object-get-prototype-of.js","../../../../node_modules/core-js/internals/define-built-in-accessor.js","../../../../node_modules/core-js/internals/create-property.js","../../../../node_modules/core-js/internals/object-keys.js","../../../../node_modules/core-js/internals/object-define-properties.js","../../../../node_modules/core-js/internals/html.js","../../../../node_modules/core-js/internals/object-create.js","../../../../node_modules/core-js/internals/iterators-core.js","../../../../node_modules/core-js/modules/es.iterator.constructor.js","../../../../node_modules/core-js/internals/define-built-ins.js","../../../../node_modules/core-js/internals/create-iter-result-object.js","../../../../node_modules/core-js/internals/iterator-close-all.js","../../../../node_modules/core-js/internals/iterator-create-proxy.js","../../../../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../../../../node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js","../../../../node_modules/core-js/modules/es.iterator.filter.js","../../../../node_modules/core-js/internals/set-helpers.js","../../../../node_modules/core-js/internals/a-set.js","../../../../node_modules/core-js/internals/iterate-simple.js","../../../../node_modules/core-js/internals/set-iterate.js","../../../../node_modules/core-js/internals/set-clone.js","../../../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../../../node_modules/core-js/internals/set-size.js","../../../../node_modules/core-js/internals/get-set-record.js","../../../../node_modules/core-js/internals/set-difference.js","../../../../node_modules/core-js/internals/set-method-accept-set-like.js","../../../../node_modules/core-js/modules/es.set.difference.v2.js","../../../../node_modules/core-js/internals/set-intersection.js","../../../../node_modules/core-js/modules/es.set.intersection.v2.js","../../../../node_modules/core-js/internals/set-is-disjoint-from.js","../../../../node_modules/core-js/modules/es.set.is-disjoint-from.v2.js","../../../../node_modules/core-js/internals/set-is-subset-of.js","../../../../node_modules/core-js/modules/es.set.is-subset-of.v2.js","../../../../node_modules/core-js/internals/set-is-superset-of.js","../../../../node_modules/core-js/modules/es.set.is-superset-of.v2.js","../../../../node_modules/core-js/internals/set-symmetric-difference.js","../../../../node_modules/core-js/internals/set-method-get-keys-before-cloning-detection.js","../../../../node_modules/core-js/modules/es.set.symmetric-difference.v2.js","../../../../node_modules/core-js/internals/set-union.js","../../../../node_modules/core-js/modules/es.set.union.v2.js","../../src/components/FTable/ITableExpandButton.vue","../../src/components/FTable/ITableExpandable.vue","../../../../node_modules/core-js/internals/add-to-unscopables.js","../../../../node_modules/core-js/modules/es.array.includes.js","../../src/components/FTable/input-fields-config.ts","../../src/components/FTable/ITableHeader.vue","../../src/components/FTable/ITableHeaderSelectable.vue","../../src/components/FTable/ITableCheckbox.vue","../../src/components/FTable/ITableRadio.vue","../../src/components/FTable/ITableSelectable.vue","../../src/components/FTable/f-table-api.ts","../../src/components/FTable/f-table.logic.ts","../../src/components/FTable/walk.ts","../../src/components/FTable/get-body-row-count.ts","../../../../node_modules/core-js/internals/is-array.js","../../../../node_modules/core-js/internals/array-set-length.js","../../../../node_modules/core-js/internals/does-not-exceed-safe-integer.js","../../../../node_modules/core-js/modules/es.array.push.js","../../src/components/FTable/get-meta-rows.ts","../../src/components/FTable/start-stop-edit.ts","../../../../node_modules/core-js/modules/es.iterator.map.js","../../src/components/FTable/ITableAnchor.vue","../../src/components/FTable/ITableButton.vue","../../../../node_modules/core-js/modules/es.iterator.find.js","../../src/components/FTable/ITableMenu.vue","../../src/components/FTable/ITableRowheader.vue","../../src/components/FTable/ITableSelect.vue","../../src/components/FTable/columns/helpers/default-tnum-value.ts","../../src/components/FTable/columns/helpers/get-label-fn.ts","../../src/components/FTable/columns/helpers/get-update-fn.ts","../../src/components/FTable/columns/helpers/get-value-fn.ts","../../src/components/FTable/columns/helpers/is-column-type.ts","../../src/components/FTable/input-validators.ts","../../src/components/FTable/is-alphanumeric.ts","../../src/components/FTable/ITableText.vue","../../src/components/FTable/columns/anchor.ts","../../src/components/FTable/columns/helpers/get-sortable.ts","../../src/components/FTable/columns/base.ts","../../src/components/FTable/columns/button.ts","../../src/components/FTable/columns/checkbox.ts","../../src/components/FTable/columns/menu.ts","../../src/components/FTable/columns/number.ts","../../src/components/FTable/columns/render.ts","../../src/components/FTable/columns/row-header.ts","../../src/components/FTable/columns/select.ts","../../src/components/FTable/columns/simple.ts","../../src/components/FTable/columns/text.ts","../../src/components/FTable/table-column.ts","../../src/components/FTable/use-popup-error.ts","../../../../node_modules/core-js/internals/array-from-constructor-and-list.js","../../../../node_modules/core-js/internals/get-built-in-prototype-method.js","../../../../node_modules/core-js/modules/es.array.to-sorted.js","../../../../node_modules/core-js/modules/es.iterator.some.js","../../src/components/FTable/use-selectable.ts","../../src/components/FTable/use-tabstop.ts","../../src/components/FTable/FTable.vue","../../src/components/FTable/get-table-sortable-attributes.ts","../../../../node_modules/core-js/modules/es.array.to-spliced.js","../../src/components/FTable/remove-row.ts","../../../../node_modules/core-js/internals/array-buffer-basic-detection.js","../../../../node_modules/core-js/internals/array-buffer-byte-length.js","../../../../node_modules/core-js/internals/array-buffer-is-detached.js","../../../../node_modules/core-js/modules/es.array-buffer.detached.js","../../../../node_modules/core-js/internals/to-index.js","../../../../node_modules/core-js/internals/array-buffer-not-detached.js","../../../../node_modules/core-js/internals/environment.js","../../../../node_modules/core-js/internals/environment-is-node.js","../../../../node_modules/core-js/internals/get-built-in-node-module.js","../../../../node_modules/core-js/internals/structured-clone-proper-transfer.js","../../../../node_modules/core-js/internals/detach-transferable.js","../../../../node_modules/core-js/internals/array-buffer-transfer.js","../../../../node_modules/core-js/modules/es.array-buffer.transfer.js","../../../../node_modules/core-js/modules/es.array-buffer.transfer-to-fixed-length.js","../../../../node_modules/core-js/internals/is-possible-prototype.js","../../../../node_modules/core-js/internals/a-possible-prototype.js","../../../../node_modules/core-js/internals/object-set-prototype-of.js","../../../../node_modules/core-js/internals/array-buffer-view-core.js","../../../../node_modules/core-js/modules/es.typed-array.to-reversed.js","../../../../node_modules/core-js/modules/es.typed-array.to-sorted.js","../../../../node_modules/core-js/internals/is-big-int-array.js","../../../../node_modules/core-js/internals/to-big-int.js","../../../../node_modules/core-js/modules/es.typed-array.with.js","../../../../node_modules/core-js/internals/an-object-or-undefined.js","../../../../node_modules/core-js/internals/a-string.js","../../../../node_modules/core-js/internals/base64-map.js","../../../../node_modules/core-js/internals/get-alphabet-option.js","../../../../node_modules/core-js/internals/uint8-from-base64.js","../../../../node_modules/core-js/internals/an-uint8-array.js","../../../../node_modules/core-js/modules/es.uint8-array.set-from-base64.js","../../../../node_modules/core-js/internals/uint8-from-hex.js","../../../../node_modules/core-js/modules/es.uint8-array.set-from-hex.js","../../../../node_modules/core-js/modules/es.uint8-array.to-base64.js","../../../../node_modules/core-js/modules/es.uint8-array.to-hex.js","../../../../node_modules/core-js/internals/inherit-if-required.js","../../../../node_modules/core-js/internals/to-string.js","../../../../node_modules/core-js/internals/normalize-string-argument.js","../../../../node_modules/core-js/internals/dom-exception-constants.js","../../../../node_modules/core-js/internals/error-stack-clear.js","../../../../node_modules/core-js/modules/web.dom-exception.stack.js","../../src/components/XFileDragdrop/XFileDragdrop.vue","../../src/components/XSortFilterDatasetNg/match-property-value.ts","../../src/components/XSortFilterDatasetNg/unique-values.ts","../../src/components/XSortFilterDatasetNg/XSortFilterDatasetNg.vue","../../src/components/XTimeTextField/utils/constants.ts","../../../../node_modules/core-js/internals/function-apply.js","../../../../node_modules/core-js/modules/es.iterator.reduce.js","../../src/components/XTimeTextField/utils/hours-minutes-number-utils.ts","../../src/components/XTimeTextField/converters/hours-minutes-converter.ts","../../src/components/XTimeTextField/utils/hours-minutes-validator-utils.ts","../../src/components/XTimeTextField/validators/greater-than-time-validator.ts","../../src/components/XTimeTextField/validators/hours-minutes-validator.ts","../../src/components/XTimeTextField/validators/less-than-time-validator.ts","../../src/components/XTimeTextField/validators/max-time-validator.ts","../../src/components/XTimeTextField/validators/min-time-validator.ts","../../src/components/XTimeTextField/validators/index.ts","../../src/components/XTimeTextField/XTimeTextField.vue"],"sourcesContent":["'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = function () { /* empty */ }.bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.49.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',\n license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && function something() { /* empty */ }.name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = globalThis;\n } else if (STATIC) {\n target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = globalThis[TARGET] && globalThis[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n// eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n var $iterator = iterator;\n iterator = undefined;\n if ($iterator) iteratorClose($iterator, 'normal');\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n // `IteratorValue` errors should propagate without closing the iterator\n var value = step.value;\n try {\n result = callFn(value);\n } catch (error) {\n if (iterator) iteratorClose(iterator, 'throw', error);\n else throw error;\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\n// `GetIteratorDirect(obj)` abstract operation\n// https://tc39.es/ecma262/#sec-getiteratordirect\nmodule.exports = function (obj) {\n return {\n iterator: obj,\n next: obj.next,\n done: false\n };\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// https://github.com/tc39/ecma262/pull/3467\nmodule.exports = function (METHOD_NAME, ExpectedError) {\n var Iterator = globalThis.Iterator;\n var IteratorPrototype = Iterator && Iterator.prototype;\n var method = IteratorPrototype && IteratorPrototype[METHOD_NAME];\n\n var CLOSED = false;\n\n if (method) try {\n method.call({\n next: function () { return { done: true }; },\n 'return': function () { CLOSED = true; }\n }, -1);\n } catch (error) {\n // https://bugs.webkit.org/show_bug.cgi?id=291195\n if (!(error instanceof ExpectedError)) CLOSED = false;\n }\n\n if (!CLOSED) return method;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar forEachWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('forEach', TypeError);\n\n// `Iterator.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.foreach\n$({ target: 'Iterator', proto: true, real: true, forced: forEachWithoutClosingOnEarlyError }, {\n forEach: function forEach(fn) {\n anObject(this);\n try {\n aCallable(fn);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (forEachWithoutClosingOnEarlyError) return call(forEachWithoutClosingOnEarlyError, this, fn);\n\n var record = getIteratorDirect(this);\n var counter = 0;\n iterate(record, function (value) {\n fn(value, counter++);\n }, { IS_RECORD: true });\n }\n});\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar createProperty = require('../internals/create-property');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar CONSTRUCTOR = 'constructor';\nvar ITERATOR = 'Iterator';\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nvar $TypeError = TypeError;\nvar NativeIterator = globalThis[ITERATOR];\n\n// FF56- have non-standard global helper `Iterator`\nvar FORCED = IS_PURE\n || !isCallable(NativeIterator)\n || NativeIterator.prototype !== IteratorPrototype\n // FF44- non-standard `Iterator` passes previous tests\n || !fails(function () { NativeIterator({}); });\n\nvar IteratorConstructor = function Iterator() {\n anInstance(this, IteratorPrototype);\n if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable');\n};\n\nvar defineIteratorPrototypeAccessor = function (key, value) {\n if (DESCRIPTORS) {\n defineBuiltInAccessor(IteratorPrototype, key, {\n configurable: true,\n get: function () {\n return value;\n },\n set: function (replacement) {\n anObject(this);\n if (this === IteratorPrototype) throw new $TypeError(\"You can't redefine this property\");\n if (hasOwn(this, key)) this[key] = replacement;\n else createProperty(this, key, replacement);\n }\n });\n } else IteratorPrototype[key] = value;\n};\n\nif (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR);\n\nif (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) {\n defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor);\n}\n\nIteratorConstructor.prototype = IteratorPrototype;\n\n// `Iterator` constructor\n// https://tc39.es/ecma262/#sec-iterator\n$({ global: true, constructor: true, forced: FORCED }, {\n Iterator: IteratorConstructor\n});\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar iteratorClose = require('../internals/iterator-close');\n\nmodule.exports = function (iters, kind, value) {\n for (var i = iters.length - 1; i >= 0; i--) {\n if (iters[i] === undefined) continue;\n try {\n value = iteratorClose(iters[i].iterator, kind, value);\n } catch (error) {\n kind = 'throw';\n value = error;\n }\n }\n if (kind === 'throw') throw value;\n return value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar getMethod = require('../internals/get-method');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorCloseAll = require('../internals/iterator-close-all');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ITERATOR_HELPER = 'IteratorHelper';\nvar WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator';\nvar NORMAL = 'normal';\nvar THROW = 'throw';\nvar setInternalState = InternalStateModule.set;\n\nvar createIteratorProxyPrototype = function (IS_ITERATOR) {\n var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER);\n\n return defineBuiltIns(create(IteratorPrototype), {\n next: function next() {\n var state = getInternalState(this);\n // for simplification:\n // for `%WrapForValidIteratorPrototype%.next` or with `state.returnHandlerResult` our `nextHandler` returns `IterResultObject`\n // for `%IteratorHelperPrototype%.next` - just a value\n if (IS_ITERATOR) return state.nextHandler();\n if (state.done) return createIterResultObject(undefined, true);\n try {\n var result = state.nextHandler();\n return state.returnHandlerResult ? result : createIterResultObject(result, state.done);\n } catch (error) {\n state.done = true;\n throw error;\n }\n },\n 'return': function () {\n var state = getInternalState(this);\n var iterator = state.iterator;\n var done = state.done;\n state.done = true;\n if (IS_ITERATOR) {\n var returnMethod = getMethod(iterator, 'return');\n return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);\n }\n if (done) return createIterResultObject(undefined, true);\n if (state.inner) try {\n iteratorClose(state.inner.iterator, NORMAL);\n } catch (error) {\n return iteratorClose(iterator, THROW, error);\n }\n if (state.openIters) try {\n iteratorCloseAll(state.openIters, NORMAL);\n } catch (error) {\n if (iterator) return iteratorClose(iterator, THROW, error);\n throw error;\n }\n if (iterator) iteratorClose(iterator, NORMAL);\n return createIterResultObject(undefined, true);\n }\n });\n};\n\nvar WrapForValidIteratorPrototype = createIteratorProxyPrototype(true);\nvar IteratorHelperPrototype = createIteratorProxyPrototype(false);\n\ncreateNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper');\n\nmodule.exports = function (nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) {\n var IteratorProxy = function Iterator(record, state) {\n if (state) {\n state.iterator = record.iterator;\n state.next = record.next;\n } else state = record;\n state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER;\n state.returnHandlerResult = !!RETURN_HANDLER_RESULT;\n state.nextHandler = nextHandler;\n state.counter = 0;\n state.done = false;\n setInternalState(this, state);\n };\n\n IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype;\n\n return IteratorProxy;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\n// Should throw an error on invalid iterator\n// https://issues.chromium.org/issues/336839115\nmodule.exports = function (methodName, argument) {\n // eslint-disable-next-line es/no-iterator -- required for testing\n var method = typeof Iterator == 'function' && Iterator.prototype[methodName];\n if (method) try {\n method.call({ next: null }, argument).next();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar IS_PURE = require('../internals/is-pure');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperThrowsOnInvalidIterator = require('../internals/iterator-helper-throws-on-invalid-iterator');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('filter', function () { /* empty */ });\nvar filterWithoutClosingOnEarlyError = !IS_PURE && !FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR\n && iteratorHelperWithoutClosingOnEarlyError('filter', TypeError);\n\nvar FORCED = IS_PURE || FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR || filterWithoutClosingOnEarlyError;\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var predicate = this.predicate;\n var next = this.next;\n var result, done, value;\n while (true) {\n result = anObject(call(next, iterator));\n done = this.done = !!result.done;\n if (done) return;\n value = result.value;\n if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value;\n }\n});\n\n// `Iterator.prototype.filter` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.filter\n$({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {\n filter: function filter(predicate) {\n anObject(this);\n try {\n aCallable(predicate);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (filterWithoutClosingOnEarlyError) return call(filterWithoutClosingOnEarlyError, this, predicate);\n\n return new IteratorProxy(getIteratorDirect(this), {\n predicate: predicate\n });\n }\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-set -- safe\nvar SetPrototype = Set.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-set -- safe\n Set: Set,\n add: uncurryThis(SetPrototype.add),\n has: uncurryThis(SetPrototype.has),\n remove: uncurryThis(SetPrototype['delete']),\n proto: SetPrototype\n};\n","'use strict';\nvar has = require('../internals/set-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[SetData]])\nmodule.exports = function (it) {\n has(it);\n return it;\n};\n","'use strict';\nvar call = require('../internals/function-call');\n\nmodule.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {\n var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;\n var next = record.next;\n var step, result;\n while (!(step = call(next, iterator)).done) {\n result = fn(step.value);\n if (result !== undefined) return result;\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar iterateSimple = require('../internals/iterate-simple');\nvar SetHelpers = require('../internals/set-helpers');\n\nvar Set = SetHelpers.Set;\nvar SetPrototype = SetHelpers.proto;\nvar forEach = uncurryThis(SetPrototype.forEach);\nvar keys = uncurryThis(SetPrototype.keys);\nvar next = keys(new Set()).next;\n\nmodule.exports = function (set, fn, interruptible) {\n return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);\n};\n","'use strict';\nvar SetHelpers = require('../internals/set-helpers');\nvar iterate = require('../internals/set-iterate');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\n\nmodule.exports = function (set) {\n var result = new Set();\n iterate(set, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar SetHelpers = require('../internals/set-helpers');\n\nmodule.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {\n return set.size;\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar call = require('../internals/function-call');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\nvar INVALID_SIZE = 'Invalid size';\nvar $RangeError = RangeError;\nvar $TypeError = TypeError;\nvar max = Math.max;\n\nvar SetRecord = function (set, intSize) {\n this.set = set;\n this.size = max(intSize, 0);\n this.has = aCallable(set.has);\n this.keys = aCallable(set.keys);\n};\n\nSetRecord.prototype = {\n getIterator: function () {\n return getIteratorDirect(anObject(call(this.keys, this.set)));\n },\n includes: function (it) {\n return call(this.has, this.set, it);\n }\n};\n\n// `GetSetRecord` abstract operation\n// https://tc39.es/proposal-set-methods/#sec-getsetrecord\nmodule.exports = function (obj) {\n anObject(obj);\n var numSize = +obj.size;\n // NOTE: If size is undefined, then numSize will be NaN\n // eslint-disable-next-line no-self-compare -- NaN check\n if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);\n var intSize = toIntegerOrInfinity(numSize);\n if (intSize < 0) throw new $RangeError(INVALID_SIZE);\n return new SetRecord(obj, intSize);\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.difference` method\n// https://tc39.es/ecma262/#sec-set.prototype.difference\nmodule.exports = function difference(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = clone(O);\n if (size(result) <= otherRec.size) iterateSet(result, function (e) {\n if (otherRec.includes(e)) remove(result, e);\n });\n else iterateSimple(otherRec.getIterator(), function (e) {\n if (has(result, e)) remove(result, e);\n });\n return result;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nvar createSetLike = function (size) {\n return {\n size: size,\n has: function () {\n return false;\n },\n keys: function () {\n return {\n next: function () {\n return { done: true };\n }\n };\n }\n };\n};\n\nvar createSetLikeWithInfinitySize = function (size) {\n return {\n size: size,\n has: function () {\n return true;\n },\n keys: function () {\n throw new Error('e');\n }\n };\n};\n\nmodule.exports = function (name, callback) {\n var Set = getBuiltIn('Set');\n try {\n new Set()[name](createSetLike(0));\n try {\n // late spec change, early WebKit ~ Safari 17 implementation does not pass it\n // https://github.com/tc39/proposal-set-methods/pull/88\n // also covered engines with\n // https://bugs.webkit.org/show_bug.cgi?id=272679\n new Set()[name](createSetLike(-1));\n return false;\n } catch (error2) {\n if (!callback) return true;\n // early V8 implementation bug\n // https://issues.chromium.org/issues/351332634\n try {\n new Set()[name](createSetLikeWithInfinitySize(-Infinity));\n return false;\n } catch (error) {\n var set = new Set([1, 2]);\n return callback(set[name](createSetLikeWithInfinitySize(Infinity)));\n }\n }\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar difference = require('../internals/set-difference');\nvar fails = require('../internals/fails');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar SET_LIKE_INCORRECT_BEHAVIOR = !setMethodAcceptSetLike('difference', function (result) {\n return result.size === 0;\n});\n\nvar FORCED = SET_LIKE_INCORRECT_BEHAVIOR || fails(function () {\n // https://bugs.webkit.org/show_bug.cgi?id=288595\n var setLike = {\n size: 1,\n has: function () { return true; },\n keys: function () {\n var index = 0;\n return {\n next: function () {\n var done = index++ > 1;\n if (baseSet.has(1)) baseSet.clear();\n return { done: done, value: 2 };\n }\n };\n }\n };\n // eslint-disable-next-line es/no-set -- testing\n var baseSet = new Set([1, 2, 3, 4]);\n // eslint-disable-next-line es/no-set-prototype-difference -- testing\n return baseSet.difference(setLike).size !== 3;\n});\n\n// `Set.prototype.difference` method\n// https://tc39.es/ecma262/#sec-set.prototype.difference\n$({ target: 'Set', proto: true, real: true, forced: FORCED }, {\n difference: difference\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\n\n// `Set.prototype.intersection` method\n// https://tc39.es/ecma262/#sec-set.prototype.intersection\nmodule.exports = function intersection(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = new Set();\n\n if (size(O) > otherRec.size) {\n iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) add(result, e);\n });\n } else {\n iterateSet(O, function (e) {\n if (otherRec.includes(e)) add(result, e);\n });\n }\n\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar intersection = require('../internals/set-intersection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('intersection', function (result) {\n return result.size === 2 && result.has(1) && result.has(2);\n}) || fails(function () {\n // eslint-disable-next-line es/no-array-from, es/no-set, es/no-set-prototype-intersection -- testing\n return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';\n});\n\n// `Set.prototype.intersection` method\n// https://tc39.es/ecma262/#sec-set.prototype.intersection\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n intersection: intersection\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom\nmodule.exports = function isDisjointFrom(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) <= otherRec.size) return iterateSet(O, function (e) {\n if (otherRec.includes(e)) return false;\n }, true) !== false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isDisjointFrom = require('../internals/set-is-disjoint-from');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('isDisjointFrom', function (result) {\n return !result;\n});\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n isDisjointFrom: isDisjointFrom\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar size = require('../internals/set-size');\nvar iterate = require('../internals/set-iterate');\nvar getSetRecord = require('../internals/get-set-record');\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issubsetof\nmodule.exports = function isSubsetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) > otherRec.size) return false;\n return iterate(O, function (e) {\n if (!otherRec.includes(e)) return false;\n }, true) !== false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isSubsetOf = require('../internals/set-is-subset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('isSubsetOf', function (result) {\n return result;\n});\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issubsetof\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n isSubsetOf: isSubsetOf\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issupersetof\nmodule.exports = function isSupersetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) < otherRec.size) return false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (!has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isSupersetOf = require('../internals/set-is-superset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('isSupersetOf', function (result) {\n return !result;\n});\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.es/ecma262/#sec-set.prototype.issupersetof\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n isSupersetOf: isSupersetOf\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.symmetricDifference` method\n// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference\nmodule.exports = function symmetricDifference(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (e) {\n if (has(O, e)) remove(result, e);\n else add(result, e);\n });\n return result;\n};\n","'use strict';\n// Should get iterator record of a set-like object before cloning this\n// https://bugs.webkit.org/show_bug.cgi?id=289430\nmodule.exports = function (METHOD_NAME) {\n try {\n // eslint-disable-next-line es/no-set -- needed for test\n var baseSet = new Set();\n var setLike = {\n size: 0,\n has: function () { return true; },\n keys: function () {\n // eslint-disable-next-line es/no-object-defineproperty -- needed for test\n return Object.defineProperty({}, 'next', {\n get: function () {\n baseSet.clear();\n baseSet.add(4);\n return function () {\n return { done: true };\n };\n }\n });\n }\n };\n var result = baseSet[METHOD_NAME](setLike);\n\n return result.size === 1 && result.values().next().value === 4;\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar symmetricDifference = require('../internals/set-symmetric-difference');\nvar setMethodGetKeysBeforeCloning = require('../internals/set-method-get-keys-before-cloning-detection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar FORCED = !setMethodAcceptSetLike('symmetricDifference') || !setMethodGetKeysBeforeCloning('symmetricDifference');\n\n// `Set.prototype.symmetricDifference` method\n// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference\n$({ target: 'Set', proto: true, real: true, forced: FORCED }, {\n symmetricDifference: symmetricDifference\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar add = require('../internals/set-helpers').add;\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\n// `Set.prototype.union` method\n// https://tc39.es/ecma262/#sec-set.prototype.union\nmodule.exports = function union(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar union = require('../internals/set-union');\nvar setMethodGetKeysBeforeCloning = require('../internals/set-method-get-keys-before-cloning-detection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar FORCED = !setMethodAcceptSetLike('union') || !setMethodGetKeysBeforeCloning('union');\n\n// `Set.prototype.union` method\n// https://tc39.es/ecma262/#sec-set.prototype.union\n$({ target: 'Set', proto: true, real: true, forced: FORCED }, {\n union: union\n});\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, useTemplateRef } from \"vue\";\nimport { assertRef } from \"@fkui/logic\";\nimport { type ItemIdentifier, FIcon } from \"@fkui/vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\n\nconst { isExpandable, isExpanded, rowKey } = defineProps<{\n isExpandable?: boolean;\n isExpanded?: boolean;\n rowKey: ItemIdentifier;\n}>();\n\nconst emit = defineEmits<{\n toggle: [key: ItemIdentifier];\n}>();\n\nconst expandableRef = useTemplateRef(\"expandable\");\nconst toggleIcon = computed(() => (isExpanded ? \"arrow-down\" : \"arrow-right\"));\nconst expandLabel = computed(() => (isExpanded ? \"Stäng rad\" : \"Expandera rad\"));\n\nfunction onClick(): void {\n assertRef(expandableRef);\n expandableRef.value.tabIndex = 0;\n\n emit(\"toggle\", rowKey);\n}\n\nconst expose: FTableCellApi = { tabstopEl: expandableRef };\ndefineExpose(expose);\n</script>\n\n<template>\n <td v-if=\"isExpandable\" class=\"table-ng__cell table-ng__cell--expand\">\n <button\n ref=\"expandable\"\n tabindex=\"-1\"\n :aria-label=\"expandLabel\"\n :aria-expanded=\"isExpanded\"\n type=\"button\"\n @click=\"onClick\"\n >\n <f-icon class=\"button__icon\" :name=\"toggleIcon\"></f-icon>\n </button>\n </td>\n <td v-else ref=\"expandable\" tabindex=\"-1\" class=\"table-ng__cell table-ng__cell--expand\"></td>\n</template>\n","<script setup lang=\"ts\">\nconst { colspan } = defineProps<{\n colspan: number;\n}>();\n</script>\n\n<template>\n <td class=\"table-ng__cell--custom\" :colspan tabindex=\"-1\">\n <slot></slot>\n </td>\n</template>\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// Safari 26.4- bug\nvar BROKEN_ON_SPARSE_WITH_FROM_INDEX = fails(function () {\n // eslint-disable-next-line no-sparse-arrays, es/no-array-prototype-includes -- detection\n return [, 1].includes(undefined, 1);\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE || BROKEN_ON_SPARSE_WITH_FROM_INDEX }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","import {\n type ValidatorConfigs,\n formatNumber,\n formatPersonnummer,\n formatPostalCode,\n parseBankAccountNumber,\n parseBankgiro,\n parseClearingNumber,\n parseDate,\n parseNumber,\n parseOrganisationsnummer,\n parsePersonnummer,\n parsePlusgiro,\n} from \"@fkui/logic\";\n\n/**\n * @public\n */\nexport const baseTypes = [\n \"anchor\",\n \"button\",\n \"checkbox\",\n \"render\",\n \"rowheader\",\n \"select\",\n] as const;\n\n/**\n * @public\n */\nexport type InputTypeBase = (typeof baseTypes)[number];\n\n/**\n * @public\n */\nexport const textTypes = [\n \"text:bankAccountNumber\",\n \"text:bankgiro\",\n \"text:clearingNumber\",\n \"text:date\",\n \"text:email\",\n \"text:organisationsnummer\",\n \"text:personnummer\",\n \"text:phoneNumber\",\n \"text:plusgiro\",\n \"text:postalCode\",\n \"text\",\n] as const;\n\n/**\n * @public\n */\nexport type InputTypeText = (typeof textTypes)[number];\n\n/**\n * @public\n */\nexport const numberTypes = [\n \"text:currency\",\n \"text:number\",\n \"text:percent\",\n] as const;\n\n/**\n * @public\n */\nexport type InputTypeNumber = (typeof numberTypes)[number];\n\n/**\n * @public\n */\nexport type InputType = InputTypeBase | InputTypeNumber | InputTypeText;\n\n/**\n * @internal\n */\nexport function isInputTypeNumber(value: string): value is InputTypeNumber {\n return numberTypes.includes(value as InputTypeNumber);\n}\n\n/**\n * @internal\n */\nexport function isInputTypeText(value: string): value is InputTypeText {\n return textTypes.includes(value as InputTypeText);\n}\n\n/**\n * @internal\n */\nexport function isInputTypeBase(value: string): value is InputTypeBase {\n return baseTypes.includes(value as InputTypeBase);\n}\n\n/**\n * @internal\n */\nexport interface AttributeOptions {\n decimals?: number;\n}\n\n/**\n * @internal\n */\nexport interface InputTypeTextConfig {\n attributes(\n options?: AttributeOptions,\n ): Record<string, string | number | undefined>;\n formatter(this: void, value: string): string | undefined;\n parser(this: void, value: string): string | undefined;\n readonly validationConfig: ValidatorConfigs;\n}\n\n/**\n * @internal\n */\nexport interface InputTypeNumberConfig {\n attributes(\n options?: AttributeOptions,\n ): Record<string, string | number | undefined>;\n formatter(\n this: AttributeOptions,\n value: string | number,\n ): string | undefined;\n parser(this: AttributeOptions, value: string): string | number | undefined;\n readonly validationConfig: ValidatorConfigs;\n}\n\n/**\n * @internal\n */\nexport const inputFieldConfig = {\n \"text:personnummer\": {\n formatter(value) {\n return formatPersonnummer(parsePersonnummer(value));\n },\n parser(value) {\n return parsePersonnummer(value);\n },\n validationConfig: {\n maxLength: { length: 20 },\n personnummerFormat: {},\n personnummerLuhn: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"23\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:bankAccountNumber\": {\n formatter(value) {\n return value;\n },\n parser(value) {\n return parseBankAccountNumber(value);\n },\n validationConfig: {\n bankAccountNumber: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"40\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:bankgiro\": {\n formatter(value) {\n return parseBankgiro(value);\n },\n parser(value) {\n return parseBankgiro(value);\n },\n validationConfig: {\n maxLength: { length: 9 },\n bankgiro: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"40\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:clearingNumber\": {\n formatter(value) {\n return parseClearingNumber(value.trim());\n },\n parser(value) {\n return parseClearingNumber(value.trim());\n },\n validationConfig: {\n clearingNumber: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"16\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:currency\": {\n formatter(value) {\n return formatNumber(value);\n },\n parser(value) {\n return parseNumber(value);\n },\n validationConfig: {\n currency: {},\n integer: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"20\",\n };\n },\n } satisfies InputTypeNumberConfig,\n \"text:date\": {\n formatter(value) {\n return parseDate(value);\n },\n parser(value) {\n return parseDate(value);\n },\n validationConfig: {\n date: {},\n },\n attributes: () => {\n return { type: \"text\" };\n },\n } satisfies InputTypeTextConfig,\n \"text:email\": {\n formatter(value) {\n return value;\n },\n parser(value) {\n return value;\n },\n validationConfig: {\n email: {},\n maxLength: { length: 80 },\n },\n attributes: () => {\n return {\n type: \"email\",\n maxlength: \"80\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:number\": {\n formatter(value) {\n return formatNumber(value, this.decimals ?? 2);\n },\n parser(value) {\n return parseNumber(value, this.decimals ?? 2);\n },\n validationConfig: {\n number: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"20\",\n };\n },\n } satisfies InputTypeNumberConfig,\n \"text:organisationsnummer\": {\n formatter(value) {\n return parseOrganisationsnummer(value);\n },\n parser(value) {\n return parseOrganisationsnummer(value);\n },\n validationConfig: {\n maxLength: { length: 11 },\n organisationsnummer: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"20\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:percent\": {\n formatter(value) {\n return formatNumber(value, this.decimals ?? 2);\n },\n parser(value) {\n return parseNumber(value, this.decimals ?? 2);\n },\n validationConfig: {\n percent: {},\n minValue: { minValue: 0 },\n maxValue: { maxValue: 999 },\n },\n attributes: (options) => {\n const decimals = options?.decimals;\n return {\n inputmode: decimals ? \"decimal\" : \"numeric\",\n maxlength: \"10\",\n };\n },\n } satisfies InputTypeNumberConfig,\n \"text:phoneNumber\": {\n formatter(value) {\n return value;\n },\n parser(value) {\n return value;\n },\n validationConfig: {\n maxLength: { length: 80 },\n phoneNumber: {},\n },\n attributes: () => {\n return {\n maxlength: \"80\",\n type: \"tel\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:plusgiro\": {\n formatter(value) {\n return parsePlusgiro(value);\n },\n parser(value) {\n return parsePlusgiro(value);\n },\n validationConfig: {\n maxLength: { length: 11 },\n plusgiro: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"16\",\n };\n },\n } satisfies InputTypeTextConfig,\n \"text:postalCode\": {\n formatter(value) {\n return formatPostalCode(value.trim());\n },\n parser(value) {\n return formatPostalCode(value.trim());\n },\n validationConfig: {\n maxLength: { length: 13 },\n postalCode: {},\n },\n attributes: () => {\n return {\n inputmode: \"numeric\",\n maxlength: \"15\",\n };\n },\n } satisfies InputTypeTextConfig,\n text: {\n formatter(value) {\n return value;\n },\n parser(value) {\n return value;\n },\n validationConfig: {},\n attributes: () => {\n return {};\n },\n } satisfies InputTypeTextConfig,\n} satisfies Record<\n InputTypeText | InputTypeNumber,\n InputTypeTextConfig | InputTypeNumberConfig\n>;\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, useTemplateRef } from \"vue\";\nimport { assertRef } from \"@fkui/logic\";\nimport { FIcon, IFlex, IFlexItem } from \"@fkui/vue\";\nimport { isInputTypeNumber, isInputTypeText } from \"./input-fields-config\";\nimport {\n type NormalizedTableColumn,\n type NormalizedTableColumnNumber,\n type NormalizedTableColumnText,\n} from \"./table-column\";\n\nconst { column, sortEnabled, sortOrder } = defineProps<{\n column: NormalizedTableColumn<T, K>;\n sortEnabled: boolean;\n sortOrder: \"unsorted\" | \"ascending\" | \"descending\";\n}>();\n\nconst emit = defineEmits<{\n toggleSortOrder: [sortable: string];\n}>();\n\nconst thElement = useTemplateRef(\"th\");\n\nconst columnClasses = computed(() => {\n const size = column.size.value === \"shrink\" ? \"table-ng__column--shrink\" : \"table-ng__column--grow\";\n return [\"table-ng__column\", size];\n});\n\nconst sortIconClass = computed(() => {\n return {\n \"table-ng__column__sort-icon\": true,\n \"table-ng__column__sort-icon--discrete\": sortOrder === \"unsorted\",\n };\n});\n\nconst sortIcon = computed(() => {\n switch (sortOrder) {\n case \"unsorted\":\n return \"sort\";\n case \"ascending\":\n return \"caret-up\";\n case \"descending\":\n return \"caret-down\";\n default:\n return \"\";\n }\n});\n\nconst sortValue = computed(() => {\n switch (sortOrder) {\n case \"ascending\":\n case \"descending\":\n return sortOrder;\n default:\n return undefined;\n }\n});\n\nfunction isAlignableColumn(\n column: NormalizedTableColumn<T, K>,\n): column is NormalizedTableColumnText<T, K> | NormalizedTableColumnNumber<T, K> {\n if (column.type === undefined) {\n return false;\n }\n\n return isInputTypeText(column.type) || isInputTypeNumber(column.type);\n}\n\nconst alignment = computed(() => {\n return isAlignableColumn(column) ? column.align : \"left\";\n});\n\nfunction onClickCell(): void {\n assertRef(thElement);\n thElement.value.tabIndex = 0;\n\n if (!column.sortable || !sortEnabled) {\n return;\n }\n\n emit(\"toggleSortOrder\", String(column.sortable));\n}\n</script>\n\n<template>\n <th\n ref=\"th\"\n :aria-sort=\"sortValue\"\n :class=\"columnClasses\"\n tabindex=\"-1\"\n @keydown.enter.space.prevent=\"onClickCell\"\n @click.stop=\"onClickCell\"\n >\n <i-flex gap=\"1x\" :float=\"alignment\">\n <i-flex-item shrink class=\"table-ng__column__title\"> {{ column.header }} </i-flex-item>\n <i-flex-item v-if=\"sortEnabled\" shrink align=\"center\">\n <f-icon :name=\"sortIcon\" :class=\"sortIconClass\"></f-icon>\n </i-flex-item>\n </i-flex>\n <i-flex v-if=\"column.description.value\" gap=\"1x\" :float=\"alignment\" class=\"table-ng__column__description\">\n <i-flex-item shrink> {{ column.description }} </i-flex-item>\n </i-flex>\n </th>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, useTemplateRef } from \"vue\";\nimport { useTranslate } from \"@fkui/vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\n\nconst { selectable, state } = defineProps<{ selectable: \"single\" | \"multi\"; state: boolean | \"indeterminate\" }>();\n\nconst emit = defineEmits<{\n /**\n * Emitted when checkbox value changes.\n */\n toggle: [];\n}>();\nconst $t = useTranslate();\nconst indeterminate = computed(() => state === \"indeterminate\");\nconst checked = computed(() => (state === \"indeterminate\" ? false : state));\nconst expose: Partial<FTableCellApi> = {};\nconst ariaLabel = computed(() => {\n return !checked.value || indeterminate.value\n ? $t(\"fkui.ftable.select-all.aria-label\", \"Välj alla rader\")\n : $t(\"fkui.ftable.unselect-all.aria-label\", \"Avmarkera alla rader\");\n});\nif (selectable === \"multi\") {\n const inputRef = useTemplateRef(\"input\");\n expose.tabstopEl = inputRef;\n}\n\ndefineExpose(expose);\n</script>\n\n<template>\n <th scope=\"col\" class=\"table-ng__column table-ng__column--selectable\">\n <input\n v-if=\"selectable === 'multi'\"\n ref=\"input\"\n :checked\n :indeterminate\n type=\"checkbox\"\n :aria-label\n tabindex=\"-1\"\n @change=\"emit('toggle')\"\n />\n </th>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, useTemplateRef } from \"vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\nimport { type NormalizedTableColumnCheckbox } from \"./table-column\";\n\nconst { column, row } = defineProps<{\n column: NormalizedTableColumnCheckbox<T, K>;\n row: T;\n}>();\n\nconst targetElement = useTemplateRef(\"target\");\nconst ariaLabel = computed(() => {\n const value = column.label(row);\n return value.length > 0 ? value : undefined;\n});\n\nfunction onChange(e: Event): void {\n const checked = (e.target as HTMLInputElement).checked;\n column.update(row, checked, !checked);\n}\n\nconst expose: FTableCellApi = { tabstopEl: targetElement };\ndefineExpose(expose);\n</script>\n\n<template>\n <td class=\"table-ng__cell table-ng__cell--checkbox\">\n <input\n ref=\"target\"\n :checked=\"Boolean(column.checked(row))\"\n type=\"checkbox\"\n :aria-label\n tabindex=\"-1\"\n @change=\"onChange\"\n />\n </td>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, useTemplateRef } from \"vue\";\nimport { assertRef } from \"@fkui/logic\";\nimport { type NormalizedTableColumnRadio } from \"./columns\";\nimport { type FTableCellApi } from \"./f-table-api\";\n\nconst { column, row } = defineProps<{\n column: NormalizedTableColumnRadio<T, K>;\n row: T;\n}>();\n\nconst inputElement = useTemplateRef(\"input\");\nconst ariaLabel = computed(() => {\n const value = column.label(row);\n return value.length > 0 ? value : undefined;\n});\n\nfunction onChange(_e: Event): void {\n assertRef(inputElement);\n column.update(row, inputElement.value.checked, !inputElement.value.checked);\n}\n\nconst expose: FTableCellApi = { tabstopEl: inputElement };\ndefineExpose(expose);\n</script>\n\n<template>\n <td class=\"table-ng__cell table-ng__cell--radio\">\n <input\n ref=\"input\"\n type=\"radio\"\n :checked=\"Boolean(column.checked(row))\"\n :aria-label\n tabindex=\"-1\"\n @change=\"onChange\"\n />\n </td>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, ref, useTemplateRef } from \"vue\";\nimport { useTranslate } from \"@fkui/vue\";\nimport ITableCheckbox from \"./ITableCheckbox.vue\";\nimport ITableRadio from \"./ITableRadio.vue\";\nimport { type NormalizedTableColumnRadio } from \"./columns\";\nimport { type FTableCellApi } from \"./f-table-api\";\nimport { type NormalizedTableColumnCheckbox } from \"./table-column\";\n\nconst {\n selectable,\n row,\n state,\n level = 1,\n} = defineProps<{\n selectable: \"single\" | \"multi\";\n row: T;\n state: boolean;\n level?: number;\n}>();\n\nconst emit = defineEmits<{ toggle: [row: T] }>();\n\nconst expose: Partial<FTableCellApi> = {};\nif (level === 1) {\n const childRef = useTemplateRef(\"child\");\n expose.tabstopEl = computed(() => childRef.value?.tabstopEl ?? null);\n}\ndefineExpose(expose);\n\nconst $t = useTranslate();\n\nconst multiSelectColumn: NormalizedTableColumnCheckbox<T, K> = {\n type: \"checkbox\",\n id: Symbol(\"multi-select\"),\n header: ref(\"selectable\"),\n description: ref(null),\n sortable: null,\n size: ref(null),\n component: ITableCheckbox,\n label() {\n /** Screen reader text for checkbox in multi select table row. */\n return $t(\"fkui.table.selectable.checkbox\", \"Välj rad\");\n },\n checked() {\n return state;\n },\n update() {\n emit(\"toggle\", row);\n },\n enabled: true,\n};\n\nconst singleSelectColumn: NormalizedTableColumnRadio<T, K> = {\n type: \"radio\",\n id: Symbol(\"single-select\"),\n header: ref(\"Välj en rad\"),\n description: ref(null),\n sortable: null,\n size: ref(null),\n component: ITableRadio,\n label() {\n /** Screen reader text for radio button in single select table row. */\n return $t(\"fkui.table.selectable.radio\", \"Välj rad\");\n },\n checked() {\n return state;\n },\n update() {\n emit(\"toggle\", row);\n },\n enabled: true,\n};\n</script>\n\n<template>\n <td v-if=\"level > 1\" tabindex=\"-1\" class=\"table-ng__cell\"></td>\n <i-table-checkbox\n v-else-if=\"selectable === 'multi'\"\n ref=\"child\"\n :row\n :column=\"multiSelectColumn\"\n class=\"table-ng__cell--selectable\"\n ></i-table-checkbox>\n <i-table-radio\n v-else-if=\"selectable === 'single'\"\n ref=\"child\"\n :row\n :column=\"singleSelectColumn\"\n class=\"table-ng__cell--selectable\"\n ></i-table-radio>\n</template>\n","import { type ShallowRef } from \"vue\";\n\n/**\n * {@link FTable} public api. Exposed in template reference.\n *\n * ```\n * const tableRef = useTemplateRef(\"table\");\n * ```\n *\n * @public\n */\nexport interface FTableApi {\n /**\n * Alters tabstop behaviour during action.\n * Typically used during single row removal to put focus on cell nearby.\n * Default behaviour is to reset tabstop on removal (focus on first cell).\n */\n withTabstopBehaviour(\n behaviour: \"default\" | \"row-removal\",\n action: () => void | Promise<void>,\n ): Promise<void>;\n}\n\n/**\n * {@link FTable} optional cell api. Expose in cell component.\n *\n * @public\n */\nexport interface FTableCellApi {\n /**\n * Preferred tabstop element when other than default (`td`).\n */\n tabstopEl: Readonly<ShallowRef<HTMLElement | null>>;\n}\n\n/**\n * @internal\n */\nexport function isFTableCellApi(value: unknown): value is FTableCellApi {\n return (\n value !== null &&\n typeof value === \"object\" &&\n Boolean((value as FTableCellApi).tabstopEl)\n );\n}\n\n/**\n * Key used on HTMLElement to store table cell api.\n *\n * @internal\n */\nexport const tableCellApiSymbol = Symbol(\"table:cell-api\");\n","import { nextTick, toValue } from \"vue\";\nimport { type FTableCellApi, tableCellApiSymbol } from \"./f-table-api\";\n\ninterface TableCellIndex {\n row: number;\n cell: number;\n}\n\nconst navKeys = new Set([\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n]);\n\nlet prevCellIndex: number | undefined = undefined;\n\n/** @internal */\nexport function getCellTarget(\n tableElement: HTMLTableElement,\n rowIndex: number,\n cellIndex: number,\n): HTMLElement {\n return tableElement.rows[rowIndex].cells[cellIndex];\n}\n\nfunction getTr(td: HTMLTableCellElement): HTMLTableRowElement {\n return td.parentElement as HTMLTableRowElement;\n}\n\nfunction getTable(tr: HTMLTableRowElement): HTMLTableElement {\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- technical debt */\n return tr.closest(\"table\")!;\n}\n\nfunction getLastRowIndex(tableElement: HTMLTableElement): number {\n return tableElement.rows.length - 1;\n}\n\nfunction getLastCellIndex(tableElement: HTMLTableElement): number {\n return tableElement.rows[0].cells.length - 1;\n}\n\n/** @internal */\nexport function getVerticalNavIndex(\n table: HTMLTableElement,\n from: TableCellIndex,\n to: TableCellIndex,\n): TableCellIndex {\n const target = { ...to };\n const currentMax = table.rows[from.row].cells.length - 1;\n const targetMax = table.rows[to.row].cells.length - 1;\n\n if (prevCellIndex && currentMax < targetMax) {\n target.cell = prevCellIndex;\n prevCellIndex = undefined;\n } else {\n target.cell = Math.min(targetMax, from.cell);\n }\n\n if (targetMax < from.cell) {\n prevCellIndex = from.cell;\n }\n\n return target;\n}\n\nfunction isDefined(value: Partial<TableCellIndex>): value is TableCellIndex {\n return value.row !== undefined && value.cell !== undefined;\n}\n\nfunction navigate(\n e: KeyboardEvent,\n table: HTMLTableElement,\n from: Partial<TableCellIndex>,\n last: Partial<TableCellIndex>,\n): TableCellIndex | undefined {\n if (!isDefined(from) || !isDefined(last)) {\n return;\n }\n\n if (!navKeys.has(e.code)) {\n return;\n }\n e.preventDefault();\n\n if (e.code === \"ArrowLeft\") {\n if (from.cell === 0) {\n return;\n }\n\n prevCellIndex = undefined;\n return {\n row: from.row,\n cell: from.cell - 1,\n };\n }\n\n if (e.code === \"ArrowRight\") {\n if (from.cell === last.cell) {\n return;\n }\n const lastCellIndex = table.rows[from.row].cells.length - 1;\n if (lastCellIndex <= from.cell) {\n return;\n }\n\n prevCellIndex = undefined;\n return {\n row: from.row,\n cell: from.cell + 1,\n };\n }\n\n if (e.code === \"ArrowUp\") {\n if (from.row === 0) {\n return;\n }\n\n const to = { row: from.row - 1, cell: from.cell };\n return getVerticalNavIndex(table, from, to);\n }\n\n if (e.code === \"ArrowDown\") {\n if (from.row === last.row) {\n return;\n }\n\n const to = { row: from.row + 1, cell: from.cell };\n return getVerticalNavIndex(table, from, to);\n }\n\n if (e.code === \"Home\") {\n if (e.ctrlKey) {\n return {\n row: 1,\n cell: 0,\n };\n } else {\n return {\n row: from.row,\n cell: 0,\n };\n }\n }\n\n if (e.code === \"End\") {\n if (e.ctrlKey) {\n return {\n row: last.row,\n cell: table.rows[last.row].cells.length - 1,\n };\n } else {\n return {\n row: from.row,\n cell: table.rows[from.row].cells.length - 1,\n };\n }\n }\n}\n\nfunction getCell(element: HTMLElement): HTMLTableCellElement {\n const closest = element.closest<HTMLTableCellElement>(\"td, th\");\n if (!closest) {\n throw new Error(\"expected th or td parent\");\n }\n\n return closest;\n}\n\n/** @internal */\nexport async function setDefaultCellTarget(\n table: HTMLTableElement,\n): Promise<HTMLElement | null> {\n await nextTick(); // wait for dynamic refs to be applied after table onMounted lifecycle hook\n\n // skip if table has no columns\n if (!table.tHead) {\n return null;\n }\n\n const target = getCellTarget(table, 1, 0);\n activateCell(target, { focus: false });\n\n return target;\n}\n\n/** @internal */\nexport function maybeNavigateToCell(e: KeyboardEvent): void {\n let newCellTarget: HTMLElement = e.target as HTMLElement;\n\n const cell = getCell(e.target as HTMLElement);\n const tr = getTr(cell);\n const table = getTable(tr);\n const fromIndex = {\n row: tr.rowIndex,\n cell: cell.cellIndex,\n };\n const lastIndex = {\n row: getLastRowIndex(table),\n cell: getLastCellIndex(table),\n };\n\n const navigateTo = navigate(e, table, fromIndex, lastIndex);\n if (navigateTo) {\n newCellTarget = getCellTarget(table, navigateTo.row, navigateTo.cell);\n activateCell(newCellTarget, { focus: true });\n }\n}\n\n/** @internal */\nexport function activateCell(\n element: HTMLElement & { [tableCellApiSymbol]?: FTableCellApi },\n options?: { focus: boolean },\n): HTMLElement {\n const api = element[tableCellApiSymbol];\n const targetEl = toValue(api?.tabstopEl) ?? element;\n targetEl.tabIndex = 0;\n\n if (options?.focus) {\n targetEl.focus();\n }\n return targetEl;\n}\n\n/** @internal */\nexport function stopEdit(\n element: HTMLElement,\n reason: \"enter\" | \"escape\" | \"tab\" | \"shift-tab\" | \"blur\",\n): HTMLElement {\n const td = getCell(element);\n const tr = getTr(td);\n const table = getTable(tr);\n\n const rowIndex = tr.rowIndex;\n const cellIndex = td.cellIndex;\n const lastRowIndex = getLastRowIndex(table);\n const lastCellIndex = getLastCellIndex(table);\n\n let newCellTarget: HTMLElement = td;\n\n switch (reason) {\n case \"enter\": {\n const nextRowIndex = rowIndex + 1;\n const hasFooter = Boolean(table.tFoot);\n const isLastRow = rowIndex === lastRowIndex;\n const footerNext = hasFooter && nextRowIndex === lastRowIndex;\n\n if (!isLastRow && !footerNext) {\n newCellTarget = getCellTarget(table, nextRowIndex, cellIndex);\n activateCell(newCellTarget, { focus: true });\n } else {\n activateCell(newCellTarget, { focus: true });\n }\n return newCellTarget;\n }\n case \"escape\": {\n activateCell(newCellTarget, { focus: true });\n return newCellTarget;\n }\n case \"tab\": {\n if (cellIndex === lastCellIndex && rowIndex === lastRowIndex) {\n activateCell(newCellTarget, { focus: true });\n } else if (cellIndex === lastCellIndex) {\n newCellTarget = getCellTarget(table, rowIndex + 1, 0);\n activateCell(newCellTarget, { focus: true });\n } else {\n newCellTarget = getCellTarget(table, rowIndex, cellIndex + 1);\n activateCell(newCellTarget, { focus: true });\n }\n return newCellTarget;\n }\n case \"shift-tab\": {\n if (cellIndex === 0 && rowIndex === 1) {\n activateCell(newCellTarget, { focus: true });\n } else if (cellIndex === 0) {\n newCellTarget = getCellTarget(table, rowIndex - 1, 0);\n activateCell(newCellTarget, { focus: true });\n } else {\n newCellTarget = getCellTarget(table, rowIndex, cellIndex - 1);\n activateCell(newCellTarget, { focus: true });\n }\n return newCellTarget;\n }\n case \"blur\": {\n return newCellTarget;\n }\n }\n}\n","/**\n * Visits each item in an array and executes given callback.\n *\n * @internal\n * @param array - Array of items.\n * @param childKey - Key to check for nested items.\n * @param visit - Callback to execute on each item.\n * @param level - Nested level of current item (1 for root level).\n */\nexport function walk<T>(\n array: T[],\n childKey: keyof T | undefined,\n visit: (item: T, level: number) => boolean,\n level = 1,\n): void {\n for (const item of array) {\n const visitChildren = visit(item, level);\n\n if (visitChildren && childKey && item[childKey]) {\n walk(item[childKey] as T[], childKey, visit, level + 1);\n }\n }\n}\n","import { walk } from \"./walk\";\n\n/**\n * Return number of rows from array used to generate the rows in table body.\n *\n * @internal\n * @param rows - Array of rows to count.\n * @param childKey - Key to check for nested rows.\n * @returns Number of rows.\n */\nexport function getBodyRowCount<T>(rows: T[], childKey?: keyof T): number {\n let count = 0;\n walk(rows, childKey, () => {\n count++;\n return true;\n });\n return count;\n}\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","import { type ItemIdentifier, getItemIdentifier } from \"@fkui/vue\";\nimport { type MetaRow } from \"./meta-row\";\nimport { walk } from \"./walk\";\n\nfunction getRowIndexes<T>(\n rows: T[],\n expandableAttribute: keyof T | undefined,\n): ItemIdentifier[] {\n const array: ItemIdentifier[] = [];\n\n walk(rows, expandableAttribute, (row) => {\n array.push(getItemIdentifier(row));\n return true;\n });\n\n return array;\n}\n\n/**\n * @internal\n */\nexport function getMetaRows<T>(\n keyedRows: T[],\n expandedKeys: Set<ItemIdentifier>,\n expandableAttribute?: keyof T,\n): Array<MetaRow<T>> {\n const rowIndexes = getRowIndexes(keyedRows, expandableAttribute);\n const array: Array<MetaRow<T>> = [];\n\n walk(keyedRows, expandableAttribute, (row, level) => {\n const key = getItemIdentifier(row);\n const isExpandable = Boolean(\n expandableAttribute &&\n Array.isArray(row[expandableAttribute]) &&\n row[expandableAttribute].length > 0,\n );\n const isExpanded = isExpandable && expandedKeys.has(key);\n\n // +2 since header row has rowindex 1.\n const rowIndex = rowIndexes.indexOf(key) + 2;\n\n array.push({\n key,\n row,\n rowIndex,\n level: expandableAttribute ? level : undefined,\n isExpandable,\n isExpanded,\n });\n\n return isExpanded;\n });\n\n return array;\n}\n","import { type InjectionKey, inject } from \"vue\";\n\n/**\n * @internal\n */\nexport type StopEditCallback = (\n element: HTMLElement,\n reason: \"enter\" | \"escape\" | \"tab\" | \"shift-tab\" | \"blur\",\n) => Promise<void>;\n\n/** @internal */\nexport interface UseStartStopEdit {\n stopEdit: StopEditCallback;\n}\n\n/**\n * @internal\n */\nexport const stopEditKey = Symbol() as InjectionKey<StopEditCallback>;\n\n/**\n * @internal\n */\nexport function useStartStopEdit(): UseStartStopEdit {\n const stopEdit = inject(stopEditKey, () => Promise.resolve());\n return { stopEdit };\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperThrowsOnInvalidIterator = require('../internals/iterator-helper-throws-on-invalid-iterator');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\nvar IS_PURE = require('../internals/is-pure');\n\nvar MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('map', function () { /* empty */ });\nvar mapWithoutClosingOnEarlyError = !IS_PURE && !MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR\n && iteratorHelperWithoutClosingOnEarlyError('map', TypeError);\n\nvar FORCED = IS_PURE || MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || mapWithoutClosingOnEarlyError;\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var result = anObject(call(this.next, iterator));\n var done = this.done = !!result.done;\n if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);\n});\n\n// `Iterator.prototype.map` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.map\n$({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {\n map: function map(mapper) {\n anObject(this);\n try {\n aCallable(mapper);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (mapWithoutClosingOnEarlyError) return call(mapWithoutClosingOnEarlyError, this, mapper);\n\n return new IteratorProxy(getIteratorDirect(this), {\n mapper: mapper\n });\n }\n});\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { useTemplateRef } from \"vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\nimport { type NormalizedTableColumnAnchor } from \"./table-column\";\n\nconst { column, row } = defineProps<{\n column: NormalizedTableColumnAnchor<T, K>;\n row: T;\n}>();\n\nconst targetElement = useTemplateRef(\"target\");\n\nconst expose: FTableCellApi = { tabstopEl: targetElement };\ndefineExpose(expose);\n</script>\n\n<template>\n <td v-if=\"column.text(row)\" class=\"table-ng__cell table-ng__cell--anchor\" @keydown.space.prevent>\n <a ref=\"target\" class=\"anchor anchor--block\" target=\"_blank\" :href=\"column.href\" tabindex=\"-1\">\n {{ column.text(row) }}\n </a>\n </td>\n <td v-else ref=\"target\" tabindex=\"-1\" class=\"table-ng__cell\"></td>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { useTemplateRef } from \"vue\";\nimport { assertRef } from \"@fkui/logic\";\nimport { FIcon } from \"@fkui/vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\nimport { type NormalizedTableColumnButton } from \"./table-column\";\n\nconst { column, row } = defineProps<{\n column: NormalizedTableColumnButton<T, K>;\n row: T;\n}>();\n\nconst buttonElement = useTemplateRef(\"button\");\n\nfunction onClickButton(): void {\n assertRef(buttonElement);\n buttonElement.value.tabIndex = 0;\n\n if (column.onClick) {\n column.onClick(row);\n }\n}\n\nconst expose: FTableCellApi = { tabstopEl: buttonElement };\ndefineExpose(expose);\n</script>\n\n<template>\n <td class=\"table-ng__cell table-ng__cell--button\">\n <button ref=\"button\" class=\"icon-button\" type=\"button\" tabindex=\"-1\" @click=\"onClickButton\">\n <f-icon v-if=\"column.icon\" :library=\"column.iconLibrary\" :name=\"column.icon\"></f-icon>\n <span class=\"sr-only\">{{ column.text(row) }}</span>\n </button>\n </td>\n</template>\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar findWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('find', TypeError);\n\n// `Iterator.prototype.find` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.find\n$({ target: 'Iterator', proto: true, real: true, forced: findWithoutClosingOnEarlyError }, {\n find: function find(predicate) {\n anObject(this);\n try {\n aCallable(predicate);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (findWithoutClosingOnEarlyError) return call(findWithoutClosingOnEarlyError, this, predicate);\n\n var record = getIteratorDirect(this);\n var counter = 0;\n return iterate(record, function (value, stop) {\n if (predicate(value, counter++)) return stop(value);\n }, { IS_RECORD: true, INTERRUPTED: true }).result;\n }\n});\n","<script setup lang=\"ts\" generic=\"T\">\nimport { computed, ref, useTemplateRef } from \"vue\";\nimport { type ContextMenuItem, FContextMenu, FIcon } from \"@fkui/vue\";\nimport { type FTableCellApi } from \"./f-table-api\";\nimport { type NormalizedTableColumnMenu } from \"./table-column\";\n\nconst { column, row } = defineProps<{\n column: NormalizedTableColumnMenu<T>;\n row: T;\n}>();\n\nconst buttonRef = useTemplateRef(\"button\");\nconst expose: FTableCellApi = { tabstopEl: buttonRef };\nconst isOpen = ref(false);\n\n/* augment actions with a unique key */\nconst actions = computed(() => {\n return column.actions.map((it, index) => {\n return { ...it, key: `item-${String(index + 1)}` };\n });\n});\n\n/* generate a structure suitable for FContextMenu */\nconst menuitems = computed((): ContextMenuItem[] => {\n return actions.value.map((it): ContextMenuItem => {\n return { label: it.label, icon: it.icon ?? undefined, key: it.key };\n });\n});\n\nfunction onOpen(event: MouseEvent): void {\n /* prevent FTable from activating the cell (which moves the focus back to\n * the cell instead of the context menu) */\n event.stopPropagation();\n\n isOpen.value = true;\n}\n\nfunction onClose(): void {\n isOpen.value = false;\n}\n\nfunction onFocusout(event: FocusEvent): void {\n const validTarget = event.relatedTarget && event.relatedTarget instanceof HTMLElement;\n const inPopup = validTarget && Boolean(event.relatedTarget.closest(\".popup\"));\n if (inPopup) {\n return;\n }\n isOpen.value = false;\n}\n\nfunction onSelect(key: string): void {\n const action = actions.value.find((it) => it.key === key);\n action?.onClick(row);\n}\n\ndefineExpose(expose);\n</script>\n\n<template>\n <td class=\"table-ng__cell table-ng__cell--button\" :class=\"{ 'table-ng__cell--menu-open': isOpen }\">\n <button ref=\"button\" class=\"icon-button\" type=\"button\" tabindex=\"-1\" aria-haspopup=\"menu\" @click=\"onOpen\">\n <f-icon name=\"bars\"></f-icon>\n <span class=\"sr-only\">{{ column.text(row) }}</span>\n </button>\n <f-context-menu\n :is-open\n :items=\"menuitems\"\n :anchor=\"buttonRef ?? undefined\"\n @close=\"onClose\"\n @select=\"onSelect\"\n @focusout=\"onFocusout\"\n ></f-context-menu>\n </td>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { type NormalizedTableColumnRowHeader } from \"./table-column\";\n\nconst { row, column } = defineProps<{\n row: T;\n column: NormalizedTableColumnRowHeader<T, K>;\n}>();\n</script>\n\n<template>\n <th ref=\"th\" class=\"table-ng__cell table-ng__cell--rowheader\" scope=\"row\">\n {{ column.text(row) }}\n </th>\n</template>\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { type Ref, computed, nextTick, ref, useTemplateRef } from \"vue\";\nimport { ElementIdService, assertRef, assertSet } from \"@fkui/logic\";\nimport { IComboboxDropdown } from \"@fkui/vue\";\nimport { useStartStopEdit } from \"./start-stop-edit\";\nimport { type NormalizedTableColumnSelect } from \"./table-column\";\n\nconst { row, column } = defineProps<{\n row: T;\n column: NormalizedTableColumnSelect<T, K>;\n}>();\n\n// Editing in progress\nconst editing = ref(false);\nconst editRef = useTemplateRef(\"edit\");\n\nconst { stopEdit } = useStartStopEdit();\n\nconst viewValue = ref(column.selected(row));\n\nconst ariaLabel = computed(() => {\n const value = column.label(row);\n return value.length > 0 ? value : undefined;\n});\n\nconst dropdownId = ElementIdService.generateElementId();\nconst dropdownIsOpen = ref(false);\nconst activeOptionId = ElementIdService.generateElementId();\nconst activeOption: Ref<string | null> = ref(null);\n\nasync function onCellKeyDown(e: KeyboardEvent): Promise<void> {\n if (e.code === \"Enter\" || e.code === \"NumpadEnter\" || e.code === \"Space\") {\n await startEditing(e);\n }\n}\n\nasync function onCellClick(e: MouseEvent): Promise<void> {\n if (editing.value) {\n return;\n }\n await startEditing(e);\n}\n\nasync function startEditing(e: UIEvent): Promise<void> {\n assertRef(editRef);\n e.preventDefault();\n\n editing.value = true;\n await nextTick();\n editRef.value.tabIndex = 0;\n\n editRef.value.focus();\n await openDropdown();\n}\n\nasync function selectDropdownOption(value: string): Promise<void> {\n assertRef(editRef);\n assertSet(stopEdit);\n\n const oldValue = viewValue.value;\n viewValue.value = value;\n column.update(row, value, oldValue);\n closeDropdown();\n await stopEdit(editRef.value, \"enter\");\n}\n\nasync function onDropdownClose(): Promise<void> {\n assertSet(stopEdit);\n assertRef(editRef);\n\n closeDropdown();\n await stopEdit(editRef.value, \"blur\");\n}\n\nasync function openDropdown(): Promise<void> {\n dropdownIsOpen.value = true;\n await nextTick();\n\n if (viewValue.value) {\n activeOption.value = viewValue.value;\n } else {\n activeOption.value = null;\n }\n\n assertRef(editRef);\n editRef.value.focus();\n}\n\nfunction closeDropdown(): void {\n dropdownIsOpen.value = false;\n editing.value = false;\n activeOption.value = null;\n}\n\nfunction setNextOption(): void {\n if (activeOption.value) {\n const index = column.options.indexOf(activeOption.value);\n\n if (index === column.options.length - 1) {\n activeOption.value = column.options[0];\n } else {\n activeOption.value = column.options[index + 1];\n }\n } else {\n activeOption.value = column.options[0];\n }\n}\n\nfunction setPreviousOption(): void {\n if (activeOption.value) {\n const index = column.options.indexOf(activeOption.value);\n\n if (index === 0) {\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- technical debt */\n activeOption.value = column.options.at(-1)!;\n } else {\n activeOption.value = column.options[index - 1];\n }\n } else {\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- technical debt */\n activeOption.value = column.options.at(-1)!;\n }\n}\n\nasync function onEditKeyDown(e: KeyboardEvent): Promise<void> {\n assertRef(editRef);\n assertSet(stopEdit);\n\n switch (e.code) {\n case \"Escape\":\n e.preventDefault();\n closeDropdown();\n await stopEdit(editRef.value, \"escape\");\n break;\n case \"Enter\":\n case \"NumpadEnter\":\n e.preventDefault();\n await selectDropdownOption(activeOption.value ?? viewValue.value);\n await stopEdit(editRef.value, \"enter\");\n break;\n case \"Tab\":\n e.preventDefault();\n closeDropdown();\n await stopEdit(editRef.value, e.shiftKey ? \"shift-tab\" : \"tab\");\n break;\n case \"ArrowDown\":\n e.preventDefault();\n setNextOption();\n break;\n case \"ArrowUp\":\n e.preventDefault();\n setPreviousOption();\n break;\n case \"Space\":\n // Prevent default scrolling with space while editing dropdown.\n e.preventDefault();\n break;\n default:\n break;\n }\n}\n\nasync function onEditBlur(event: FocusEvent): Promise<void> {\n const validTarget = event.relatedTarget && event.relatedTarget instanceof HTMLElement;\n if (validTarget && event.relatedTarget.closest(\".combobox__listbox\")) {\n return;\n }\n\n assertSet(stopEdit);\n assertRef(editRef);\n closeDropdown();\n await nextTick();\n await stopEdit(editRef.value, \"blur\");\n}\n</script>\n\n<template>\n <td\n v-if=\"column.editable(row)\"\n class=\"table-ng__cell table-ng__cell--select\"\n tabindex=\"-1\"\n @keydown=\"onCellKeyDown\"\n @click.stop=\"onCellClick\"\n >\n <div v-show=\"!editing\" class=\"table-ng__editable\">\n <span class=\"table-ng__editable__text\">{{ viewValue }}</span>\n </div>\n <div\n v-show=\"editing\"\n ref=\"edit\"\n role=\"combobox\"\n tabindex=\"-1\"\n :aria-expanded=\"dropdownIsOpen\"\n :aria-controls=\"dropdownIsOpen ? dropdownId : undefined\"\n :aria-activedescendant=\"dropdownIsOpen ? activeOptionId : undefined\"\n aria-autocomplete=\"list\"\n class=\"table-ng__editable\"\n :aria-label\n @click.stop\n @dblclick.prevent\n @keydown.stop=\"onEditKeyDown\"\n @focusout=\"(e) => onEditBlur(e)\"\n >\n <span class=\"table-ng__editable__text\">{{ viewValue }}</span>\n </div>\n\n <i-combobox-dropdown\n v-show=\"editing\"\n :id=\"dropdownId\"\n :is-open=\"dropdownIsOpen\"\n :options=\"column.options\"\n :active-option\n :active-option-id\n :input-node=\"editRef as HTMLInputElement\"\n @select=\"selectDropdownOption\"\n @close=\"onDropdownClose\"\n ></i-combobox-dropdown>\n </td>\n <td v-else tabindex=\"-1\" class=\"table-ng__cell table-ng__cell--static\">\n {{ column.selected(row) }}\n </td>\n</template>\n","import { type InputType } from \"../../input-fields-config\";\n\n/**\n * @internal\n */\nexport function defaultTnumValue(type: InputType): boolean {\n const tnumTypes = [\n \"text:bankAccountNumber\",\n \"text:bankgiro\",\n \"text:clearingNumber\",\n \"text:currency\",\n \"text:number\",\n \"text:organisationsnummer\",\n \"text:percent\",\n \"text:personnummer\",\n \"text:phoneNumber\",\n \"text:plusgiro\",\n \"text:postalCode\",\n ];\n\n return tnumTypes.includes(type);\n}\n","const defaultLabelFn = (): string => \"\";\n\n/**\n * @internal\n */\nexport function getLabelFn<TRow>(\n fn: ((this: void, row: TRow) => string) | undefined,\n): (this: void, row: TRow) => string {\n if (fn) {\n return fn;\n }\n return defaultLabelFn;\n}\n","const defaultUpdateFn = (): void => undefined;\n\n/**\n * @internal\n */\n/* eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters -- technical debt */\nexport function getUpdateFn<TRow, TValue, K extends keyof TRow>(\n fn:\n | ((this: void, row: TRow, newValue: TValue, oldValue: TValue) => void)\n | undefined,\n key: K | undefined,\n): (this: void, row: TRow, newValue: TValue, oldValue: TValue) => void {\n if (fn) {\n return fn;\n }\n if (key) {\n return (row: TRow, value: TValue): void => {\n row[key] = value as TRow[K]; // @todo This is not safe :/\n };\n }\n return defaultUpdateFn;\n}\n","/**\n * @internal\n */\nexport function getValueFn<TRow, TValue>(\n fn: ((this: void, row: TRow) => TValue | string) | undefined,\n key: keyof TRow | undefined,\n coerce: (value: unknown) => TValue | string,\n defaultValue: TValue | string,\n): (this: void, row: TRow) => TValue | string {\n if (fn) {\n return fn;\n }\n if (key) {\n return (row: TRow): TValue | string => {\n return coerce(row[key] ?? defaultValue);\n };\n }\n return () => defaultValue;\n}\n","import { type InputTypeNumber, numberTypes } from \"../../input-fields-config\";\nimport { type NormalizedTableColumnNumber } from \"../number\";\nimport { type NormalizedTableColumnText } from \"../text\";\n\n/**\n * @internal\n */\nexport function isColumnTypeNumber<T, K>(\n column: NormalizedTableColumnNumber<T, K> | NormalizedTableColumnText<T, K>,\n): column is NormalizedTableColumnNumber<T, K> {\n const type = column.type;\n return numberTypes.includes(type as InputTypeNumber);\n}\n","import { ValidationService } from \"@fkui/logic\";\n\nimport {\n type InputTypeNumber,\n type InputTypeText,\n inputFieldConfig,\n} from \"./input-fields-config\";\n\n/** @internal */\nexport function addInputValidators(\n inputElement: HTMLInputElement,\n type: InputTypeText | InputTypeNumber,\n): void {\n ValidationService.addValidatorsToElement(\n inputElement,\n inputFieldConfig[type].validationConfig,\n true,\n );\n}\n","/**\n * @internal\n */\nexport function isAlphanumeric(e: KeyboardEvent): boolean {\n // using the fact that special keys have a name with length > 1\n // ignores ctrl, meta key combinations\n return e.key.length === 1 && !e.ctrlKey && !e.metaKey;\n}\n","<script setup lang=\"ts\" generic=\"T, K extends keyof T\">\nimport { computed, nextTick, onMounted, ref, useTemplateRef, watchEffect } from \"vue\";\nimport {\n type ValidationResult,\n type ValidityEvent,\n type ValidityNativeEvent,\n ElementIdService,\n ValidationService,\n assertRef,\n} from \"@fkui/logic\";\nimport { type ComponentValidityEvent, IPopupError, dispatchComponentValidityEvent } from \"@fkui/vue\";\nimport { useElementHover, useEventListener, useFocusWithin } from \"@vueuse/core\";\nimport { isColumnTypeNumber } from \"./columns/helpers\";\nimport { inputFieldConfig } from \"./input-fields-config\";\nimport { addInputValidators } from \"./input-validators\";\nimport { isAlphanumeric } from \"./is-alphanumeric\";\nimport { type PopupError } from \"./popup-eror\";\nimport { useStartStopEdit } from \"./start-stop-edit\";\nimport { type NormalizedTableColumnNumber, type NormalizedTableColumnText } from \"./table-column\";\n\ninterface ValidationFacade {\n validateElement(element: string | Element | null): Promise<ValidationResult>;\n dispatchComponentValidityEvent: (element: Element, detail: ComponentValidityEvent) => void;\n}\n\nconst {\n row,\n column,\n activeErrorAnchor = undefined,\n} = defineProps<{\n row: T;\n column: NormalizedTableColumnText<T, K> | NormalizedTableColumnNumber<T, K>;\n activeErrorAnchor?: HTMLElement;\n}>();\n\nconst emit = defineEmits<{\n onError: [error: PopupError];\n closeError: [error: PopupError];\n}>();\n\nconst viewValue = ref(\"\");\nconst inEdit = ref(false);\nconst cellId = ElementIdService.generateElementId();\nconst inputId = ElementIdService.generateElementId();\n\nconst validity = ref<Pick<ValidityEvent, \"isValid\" | \"validationMessage\" | \"validityMode\">>({\n isValid: true,\n validationMessage: \"\",\n validityMode: \"INITIAL\",\n});\n\nlet validationFacade: ValidationFacade = {\n validateElement: () => Promise.resolve({ isValid: true, error: \"\", isSubmitted: false, isTouched: false }),\n dispatchComponentValidityEvent: () => undefined,\n};\n\nconst hasError = computed(() => validity.value.validityMode === \"ERROR\");\nconst viewModeAriaInvalid = computed(() => (!inEdit.value && hasError.value ? true : undefined));\nconst viewModeErrorMessage = computed(() =>\n !inEdit.value && hasError.value ? validity.value.validationMessage : undefined,\n);\nlet initialValidity = { ...validity.value };\n\nconst divClasses = computed(() => {\n return {\n \"table-ng__editable\": true,\n \"table-ng__editable__numeric\": column.tnum,\n };\n});\n\nconst wrapperClasses = computed(() => {\n return {\n \"table-ng__cell\": true,\n \"table-ng__cell--text\": true,\n \"table-ng__cell--valid\": !hasError.value,\n \"table-ng__cell--error\": hasError.value,\n \"table-ng__cell--align-left\": column.align === \"left\",\n \"table-ng__cell--align-right\": column.align === \"right\",\n };\n});\n\nconst staticClasses = computed(() => {\n return {\n \"table-ng__cell\": true,\n \"table-ng__cell--static\": true,\n \"table-ng__cell--align-left\": column.align === \"left\",\n \"table-ng__cell--align-right\": column.align === \"right\",\n };\n});\n\nconst inputClasses = computed(() => {\n return {\n \"table-ng__textedit\": true,\n };\n});\n\nconst ariaLabel = computed(() => {\n let value = column.label(row);\n\n if (hasError.value) {\n value = `${value} ${validity.value.validationMessage}`;\n }\n\n return value.length > 0 ? value : undefined;\n});\n\nconst columnAttributes = computed(() => {\n if (column.attributes && typeof column.attributes === \"function\") {\n return column.attributes(row);\n } else {\n return column.attributes;\n }\n});\n\nconst configAttributes = computed(() => {\n let decimals: number | undefined = undefined;\n\n if (isColumnTypeNumber(column)) {\n decimals = column.decimals;\n }\n return inputFieldConfig[column.type].attributes({ decimals });\n});\n\nconst tdElement = useTemplateRef(\"td\");\nconst inputElement = useTemplateRef(\"input\");\nconst { stopEdit } = useStartStopEdit();\nconst isHovered = useElementHover(tdElement, { delayEnter: 200 });\nconst { focused } = useFocusWithin(tdElement);\n\nconst openPopupError = computed(() => {\n if (!tdElement.value) {\n return false;\n }\n return tdElement.value === activeErrorAnchor;\n});\n\nlet initialViewValue = \"\";\nlet pendingStopEditReason: \"enter\" | \"tab\" | \"shift-tab\" | null = null;\n\nfunction setUpValidation(el: HTMLInputElement): void {\n addInputValidators(el, column.type);\n ValidationService.addValidatorsToElement(el, column.validation);\n\n validationFacade = {\n validateElement: (el) => ValidationService.validateElement(el),\n dispatchComponentValidityEvent,\n };\n}\n\nfunction setUpFakeValidation(el: HTMLInputElement): void {\n assertRef(inputElement);\n const input = inputElement.value;\n\n function emitFakeValidity(nativeEvent: ValidityNativeEvent): void {\n const fakeEvent = new CustomEvent<ValidityEvent>(\"validity\", {\n detail: {\n isValid: true,\n nativeEvent,\n validityMode: \"INITIAL\",\n validationMessage: \"\",\n target: input,\n elementId: String(input.id),\n },\n });\n\n onValidity(fakeEvent);\n }\n\n const nativeEvents: ValidityNativeEvent[] = [\"change\", \"blur\"];\n\n for (const nativeEvent of nativeEvents) {\n useEventListener(el, nativeEvent, () => {\n emitFakeValidity(nativeEvent);\n });\n }\n\n validationFacade = {\n validateElement: () => {\n emitFakeValidity(\"validate\");\n return Promise.resolve({\n isValid: true,\n error: \"\",\n isSubmitted: false,\n isTouched: false,\n });\n },\n dispatchComponentValidityEvent: () => undefined,\n };\n\n useEventListener(el, \"input\", onPendingValidity);\n useEventListener(el, \"component-validity\", (e) => {\n e.stopPropagation();\n });\n}\n\nonMounted(() => {\n if (inputElement.value) {\n viewValue.value = fromColumnValue();\n\n if (column.hasValidation) {\n setUpValidation(inputElement.value);\n } else {\n setUpFakeValidation(inputElement.value);\n }\n\n void nextTick().then(() => validationFacade.validateElement(inputElement.value)); // wait for .value to be set before validation\n }\n});\n\nwatchEffect(() => {\n if (hasError.value) {\n emit(\"onError\", {\n anchor: tdElement.value ?? undefined,\n arrowAnchor: inputElement.value ?? undefined,\n message: validity.value.validationMessage,\n hasFocus: focused.value,\n hasHover: isHovered.value,\n inEdit: inEdit.value,\n });\n } else {\n emit(\"closeError\", {\n anchor: tdElement.value ?? undefined,\n arrowAnchor: inputElement.value ?? undefined,\n message: validity.value.validationMessage,\n hasFocus: focused.value,\n hasHover: isHovered.value,\n inEdit: inEdit.value,\n });\n }\n});\n\nfunction onStartEdit(value: string): void {\n if (inEdit.value) {\n return;\n }\n\n inEdit.value = true;\n assertRef(tdElement);\n assertRef(inputElement);\n\n const { width } = tdElement.value.getBoundingClientRect();\n initialViewValue = viewValue.value;\n initialValidity = { ...validity.value };\n viewValue.value = value;\n tdElement.value.style.setProperty(\"width\", `${String(width)}px`);\n\n inputElement.value.tabIndex = 0;\n inputElement.value.focus();\n}\n\nfunction onStopEdit(options: { reason: \"enter\" | \"escape\" | \"tab\" | \"shift-tab\" | \"blur\" }): void {\n const { reason } = options;\n inEdit.value = false;\n assertRef(inputElement);\n inputElement.value.tabIndex = -1;\n\n assertRef(tdElement);\n tdElement.value.style.removeProperty(\"width\");\n\n if (reason === \"blur\") {\n tdElement.value.tabIndex = 0;\n }\n\n void stopEdit(inputElement.value, reason);\n}\n\nfunction fromColumnValue(): string {\n assertRef(validity);\n const value = column.value(row);\n\n if (validity.value.isValid) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- type of value must always match between column.value() and column.formater()\n return column.formatter(value as any) ?? value.toString();\n }\n\n return value.toString();\n}\n\nfunction toColumnValue(value: string): unknown {\n assertRef(validity);\n\n if (validity.value.isValid) {\n return column.parser(value) ?? value;\n }\n\n return value;\n}\n\nfunction updateColumnValue(): void {\n const oldValue = column.value(row);\n const newValue = toColumnValue(viewValue.value);\n\n if (oldValue !== newValue) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- type of value must always match between column.parse() and column.update()\n column.update(row, newValue as any, oldValue as any);\n }\n}\n\nfunction onClickCell(event: MouseEvent): void {\n assertRef(tdElement);\n\n if (tdElement.value.contains(event.target as Node)) {\n onStartEdit(fromColumnValue());\n }\n}\n\nfunction onViewingKeydown(event: KeyboardEvent): void {\n if (isAlphanumeric(event)) {\n event.stopPropagation();\n onStartEdit(\"\");\n }\n\n if (event.key === \"Enter\") {\n event.stopPropagation();\n onStartEdit(fromColumnValue());\n }\n}\n\nfunction onEditingKeydown(event: KeyboardEvent): void {\n assertRef(inputElement);\n event.stopPropagation();\n\n switch (event.key) {\n case \"Enter\": {\n if (viewValue.value === initialViewValue) {\n validity.value = { ...initialValidity };\n onStopEdit({ reason: \"enter\" });\n } else {\n pendingStopEditReason = \"enter\";\n void validationFacade.validateElement(inputElement.value);\n }\n break;\n }\n case \"Escape\": {\n onStopEdit({ reason: \"escape\" });\n viewValue.value = initialViewValue;\n inputElement.value.value = initialViewValue; // required for validationservice to pick up value instantly\n void validationFacade.validateElement(inputElement.value);\n break;\n }\n case \"Tab\": {\n pendingStopEditReason = event.shiftKey ? \"shift-tab\" : \"tab\";\n break;\n }\n }\n}\n\nfunction onKeydown(event: KeyboardEvent): void {\n const editing = document.activeElement === inputElement.value;\n\n if (editing) {\n onEditingKeydown(event);\n } else {\n onViewingKeydown(event);\n }\n}\n\nfunction updateValidity(eventDetail: ValidityEvent): void {\n const { isValid, validationMessage, validityMode } = eventDetail;\n validity.value = { isValid, validationMessage, validityMode };\n\n assertRef(inputElement);\n validationFacade.dispatchComponentValidityEvent(inputElement.value, {\n ...eventDetail,\n errorMessage: validationMessage,\n focusElementId: cellId,\n });\n}\n\nfunction onValidity(event: CustomEvent<ValidityEvent>): void {\n const nativeEvent = event.detail.nativeEvent;\n const reason = pendingStopEditReason ?? (nativeEvent === \"blur\" ? \"blur\" : null);\n pendingStopEditReason = null;\n\n if (inEdit.value && reason) {\n onStopEdit({ reason });\n updateValidity(event.detail);\n updateColumnValue();\n return;\n }\n\n if (nativeEvent === \"input\") {\n updateValidity(event.detail);\n updateColumnValue();\n return;\n }\n\n if (nativeEvent === \"validate\") {\n updateValidity(event.detail);\n }\n}\n\nfunction onPendingValidity(): void {\n assertRef(validity);\n validity.value.validityMode = \"INITIAL\";\n}\n</script>\n\n<template>\n <td\n v-if=\"column.editable(row)\"\n :id=\"cellId\"\n ref=\"td\"\n tabindex=\"-1\"\n :class=\"wrapperClasses\"\n :aria-invalid=\"viewModeAriaInvalid\"\n @click.stop=\"onClickCell\"\n @keydown=\"onKeydown\"\n >\n <div :class=\"divClasses\">\n <span class=\"table-ng__editable__text\">{{ fromColumnValue() }}</span>\n <span v-if=\"viewModeErrorMessage\" class=\"sr-only\">{{ viewModeErrorMessage }}</span>\n <input\n :id=\"inputId\"\n ref=\"input\"\n v-model=\"viewValue\"\n :class=\"inputClasses\"\n type=\"text\"\n maxlength=\"40\"\n tabindex=\"-1\"\n :aria-label\n v-bind=\"{ ...configAttributes, ...columnAttributes }\"\n :aria-hidden=\"!inEdit\"\n @validity=\"onValidity\"\n @pending-validity=\"onPendingValidity\"\n />\n </div>\n <i-popup-error\n :anchor=\"tdElement\"\n :is-open=\"openPopupError\"\n :error-message=\"validity.validationMessage\"\n :arrow-anchor=\"inputElement\"\n layout=\"f-table\"\n ></i-popup-error>\n </td>\n <td v-else ref=\"td\" tabindex=\"-1\" :class=\"staticClasses\" @keydown.space.prevent>\n {{ fromColumnValue() }}\n </td>\n</template>\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnAnchor<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: \"anchor\";\n key?: K;\n text(this: void, row: T): string | null;\n href: string;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnAnchor<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: \"anchor\";\n readonly href: string;\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnAnchor<T, K>;\n }>;\n text(this: void, row: T): string | null;\n}\n\n/**\n * @internal\n */\nexport function normalizeAnchorColumn<T, K extends keyof T>(\n column: TableColumnAnchor<T, K>,\n): Omit<NormalizedTableColumnAnchor<T, K>, OmittedNormalizedColumnProperties> {\n return {\n type: \"anchor\",\n text: getValueFn(column.text, column.key, String, \"\"),\n href: column.href,\n };\n}\n","/**\n * Determines the sortable value for a table column based on the sort property and key.\n *\n * @param column - An object with sort and key properties\n * @returns The key if sorting should be enabled, null otherwise\n *\n * @internal\n */\nexport function getSortable<K>(column: { sort?: boolean; key?: K }): K | null {\n // If sort is explicitly set to true, use key (or null if no key)\n // If sort is explicitly set to false, return null\n // If sort is undefined, default to true if key exists, false otherwise\n const shouldSort = column.sort ?? !!column.key;\n return shouldSort ? (column.key ?? null) : null;\n}\n","import { type MaybeRef, type Ref, ref, toRef } from \"vue\";\nimport { getSortable } from \"./helpers/get-sortable\";\n\n/**\n * @public\n */\nexport type TableColumnSize = \"grow\" | \"shrink\";\n\n/**\n * Base properties shared by all table column types.\n *\n * @public\n */\nexport interface TableColumnBase {\n header: string | Readonly<Ref<string>>;\n description?: string | Readonly<Ref<string | null>>;\n size?: TableColumnSize | Readonly<Ref<TableColumnSize | null>>;\n sort?: boolean;\n enabled?: MaybeRef<boolean>;\n}\n\n/**\n * Base properties shared by all normalized table column types.\n *\n * @internal\n */\nexport interface NormalizedTableColumnBase<K> {\n readonly id: symbol;\n readonly header: Readonly<Ref<string>>;\n readonly description: Readonly<Ref<string | null>>;\n readonly sortable: K | null;\n readonly size: Readonly<Ref<TableColumnSize | null>>;\n readonly enabled: MaybeRef<boolean>;\n}\n\n/**\n * Properties that are omitted from column-specific normalization functions\n * and added by the main normalizeTableColumn function.\n *\n * @internal\n */\nexport type OmittedNormalizedColumnProperties =\n | \"id\"\n | \"header\"\n | \"description\"\n | \"sortable\"\n | \"size\"\n | \"component\"\n | \"enabled\";\n\n/**\n * @internal\n */\nexport function normalizeBaseColumn<K = never>(\n column: TableColumnBase,\n): Pick<\n NormalizedTableColumnBase<K>,\n \"id\" | \"header\" | \"description\" | \"size\" | \"enabled\" | \"sortable\"\n> {\n const id = Symbol();\n const header = toRef(column.header);\n const description =\n column.description !== undefined ? toRef(column.description) : ref(\"\");\n const size: Readonly<Ref<TableColumnSize | null>> =\n column.size !== undefined ? toRef(column.size) : ref(\"grow\");\n const sortable = getSortable<K>(column);\n\n return {\n id,\n header,\n description,\n sortable,\n size,\n enabled: column.enabled ?? true,\n };\n}\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnButton<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: \"button\";\n key?: K;\n text(this: void, row: T): string | null;\n onClick?(this: void, row: T): void;\n icon?: string;\n /**\n * The icon library to use when rendering an icon. If not set, the default icon library will be used.\n */\n iconLibrary?: string;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnButton<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: \"button\";\n readonly icon: string | null;\n readonly iconLibrary: string | undefined;\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnButton<T, K>;\n }>;\n text(this: void, row: T): string | null;\n onClick?(this: void, row: T): void;\n}\n\n/**\n * @internal\n */\nexport function normalizeButtonColumn<T, K extends keyof T>(\n column: TableColumnButton<T, K>,\n): Omit<NormalizedTableColumnButton<T, K>, OmittedNormalizedColumnProperties> {\n return {\n type: \"button\",\n text: getValueFn(column.text, column.key, String, \"\"),\n onClick: column.onClick,\n icon: column.icon ?? null,\n iconLibrary: column.iconLibrary,\n };\n}\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getLabelFn, getUpdateFn, getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnCheckbox<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: \"checkbox\";\n key?: K;\n label?(this: void, row: T): string;\n checked?(this: void, row: T): boolean;\n update?(this: void, row: T, newValue: boolean, oldValue: boolean): void;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnCheckbox<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: \"checkbox\";\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnCheckbox<T, K>;\n }>;\n label(this: void, row: T): string;\n checked(this: void, row: T): boolean | string;\n update(this: void, row: T, newValue: boolean, oldValue: boolean): void;\n}\n\n/**\n * @internal\n */\nexport function normalizeCheckboxColumn<T, K extends keyof T>(\n column: TableColumnCheckbox<T, K>,\n): Omit<\n NormalizedTableColumnCheckbox<T, K>,\n OmittedNormalizedColumnProperties\n> {\n return {\n type: \"checkbox\",\n label: getLabelFn(column.label),\n checked: getValueFn(column.checked, column.key, Boolean, false),\n update: getUpdateFn(column.update, column.key),\n };\n}\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnMenu<T> extends TableColumnBase {\n type: \"menu\";\n text(this: void, row: T): string | null;\n actions?: Array<{\n label: string;\n icon?: string;\n onClick?(this: void, row: T): void;\n }>;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnMenu<\n T,\n> extends NormalizedTableColumnBase<never> {\n readonly type: \"menu\";\n readonly actions: Array<{\n readonly label: string;\n readonly icon: string | null;\n onClick(this: void, row: T): void;\n }>;\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnMenu<T>;\n }>;\n text(this: void, row: T): string | null;\n}\n\nfunction noop(): void {\n /* do nothing */\n}\n\n/**\n * @internal\n */\nexport function normalizeMenuColumn<T>(\n column: TableColumnMenu<T>,\n): Omit<NormalizedTableColumnMenu<T>, OmittedNormalizedColumnProperties> {\n return {\n type: \"menu\",\n text: getValueFn(column.text, undefined, String, \"\"),\n actions: (column.actions ?? []).map((it) => {\n return {\n label: it.label,\n icon: it.icon ?? null,\n onClick: it.onClick ?? noop,\n };\n }),\n };\n}\n","import { type Component } from \"vue\";\nimport { type ValidatorConfigs } from \"@fkui/logic\";\nimport { type InputTypeNumber, inputFieldConfig } from \"../input-fields-config\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport {\n defaultTnumValue,\n getLabelFn,\n getUpdateFn,\n getValueFn,\n} from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnNumber<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: InputTypeNumber;\n decimals?: number;\n key?: K;\n label?(this: void, row: T): string;\n tnum?: boolean;\n align?: \"left\" | \"right\";\n attributes?:\n | Record<string, string | number | boolean | undefined>\n | ((\n this: void,\n row: T,\n ) => Record<string, string | number | boolean | undefined>);\n value?(this: void, row: T): string | number;\n update?(\n this: void,\n row: T,\n newValue: number | string,\n oldValue: number | string,\n ): void;\n editable?: boolean | ((this: void, row: T) => boolean);\n validation?: ValidatorConfigs;\n parser?(this: void, value: string): number | string | undefined;\n formatter?(this: void, value: number | string): string | undefined;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnNumber<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: InputTypeNumber;\n readonly decimals?: number;\n readonly validation: ValidatorConfigs;\n readonly hasValidation: boolean;\n readonly tnum: boolean;\n readonly align: \"left\" | \"right\";\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnNumber<T, K>;\n activeErrorAnchor?: HTMLElement;\n }>;\n attributes?:\n | Record<string, string | number | boolean | undefined>\n | ((\n this: void,\n row: T,\n ) => Record<string, string | number | boolean | undefined>);\n label(this: void, row: T): string;\n value(this: void, row: T): string | number;\n update(\n this: void,\n row: T,\n newValue: number | string,\n oldValue: number | string,\n ): void;\n parser(this: void, value: string): number | string | undefined;\n formatter(this: void, value: number | string): string | undefined;\n editable(this: void, row: T): boolean;\n}\n\n/**\n * @internal\n */\nexport function normalizeNumberColumn<T, K extends keyof T>(\n column: TableColumnNumber<T, K>,\n): Omit<NormalizedTableColumnNumber<T, K>, OmittedNormalizedColumnProperties> {\n const type = column.type;\n const config = inputFieldConfig[type];\n const parser = column.parser ?? config.parser.bind(column);\n const formatter = column.formatter ?? config.formatter.bind(column);\n const decimals = type === \"text:currency\" ? 0 : column.decimals;\n return {\n type,\n label: getLabelFn(column.label),\n decimals,\n tnum: column.tnum ?? defaultTnumValue(type),\n align: column.align ?? \"right\",\n attributes: column.attributes,\n value: getValueFn(column.value, column.key, String, \"\"),\n update: getUpdateFn(column.update, column.key),\n editable:\n typeof column.editable === \"function\"\n ? column.editable\n : () => Boolean(column.editable ?? false),\n validation: column.validation ?? {},\n hasValidation:\n column.type.startsWith(\"text:\") || Boolean(column.validation),\n formatter,\n parser,\n };\n}\n","import { type Component, type VNode } from \"vue\";\nimport { type NormalizedTableColumnBase, type TableColumnBase } from \"./base\";\n\n/**\n * @public\n */\nexport interface TableColumnRender<\n T,\n K extends keyof T = keyof T,\n> extends TableColumnBase {\n key?: K;\n render(this: void, row: T): VNode | Component;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnRender<T> extends Omit<\n NormalizedTableColumnBase<never>,\n \"sortable\"\n> {\n readonly type: undefined;\n readonly sortable: boolean | null;\n render(this: void, row: T): VNode | Component;\n}\n\n/**\n * @internal\n */\nexport function normalizeRenderColumn<T, K extends keyof T>(\n column: TableColumnRender<T, K>,\n): Omit<\n NormalizedTableColumnRender<T>,\n \"id\" | \"header\" | \"description\" | \"size\" | \"enabled\"\n> {\n return {\n type: undefined,\n render: column.render,\n sortable: null,\n };\n}\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnRowHeader<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: \"rowheader\";\n key?: K;\n text?(this: void, row: T): string;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnRowHeader<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: \"rowheader\";\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnRowHeader<T, K>;\n }>;\n text(this: void, row: T): string;\n}\n\n/**\n * @internal\n */\nexport function normalizeRowHeaderColumn<T, K extends keyof T>(\n column: TableColumnRowHeader<T, K>,\n): Omit<\n NormalizedTableColumnRowHeader<T, K>,\n OmittedNormalizedColumnProperties\n> {\n return {\n type: \"rowheader\",\n text: getValueFn(column.text, column.key, String, \"\"),\n };\n}\n","import { type Component } from \"vue\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getLabelFn, getUpdateFn, getValueFn } from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnSelect<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n type: \"select\";\n key?: K;\n label?(this: void, row: T): string;\n selected?(this: void, row: T): string;\n update?(this: void, row: T, newValue: string, oldValue: string): void;\n editable?: boolean | ((this: void, row: T) => boolean);\n options: string[];\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnSelect<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: \"select\";\n readonly options: string[];\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnSelect<T, K>;\n }>;\n label(this: void, row: T): string;\n selected(this: void, row: T): string;\n update(this: void, row: T, newValue: string, oldValue: string): void;\n editable(this: void, row: T): boolean;\n}\n\n/**\n * @internal\n */\nexport function normalizeSelectColumn<T, K extends keyof T>(\n column: TableColumnSelect<T, K>,\n): Omit<NormalizedTableColumnSelect<T, K>, OmittedNormalizedColumnProperties> {\n return {\n type: \"select\",\n label: getLabelFn(column.label),\n selected: getValueFn(column.selected, column.key, String, \"\"),\n update: getUpdateFn(column.update, column.key),\n editable:\n typeof column.editable === \"function\"\n ? column.editable\n : () => Boolean(column.editable ?? false),\n options: column.options,\n };\n}\n","import {\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport { getValueFn } from \"./helpers\";\nimport { type NormalizedTableColumnText } from \"./text\";\n\n/**\n * @public\n */\nexport interface TableColumnSimple<\n T,\n K extends keyof T,\n> extends TableColumnBase {\n /* eslint-disable-next-line sonarjs/no-redundant-optional -- this is used as\n * a discriminator in the union, for the simple column we are not expected\n * to set `type` at all but this simplifies the normalization */\n type?: undefined;\n key?: K;\n label?(this: void, row: T): string;\n value?(this: void, row: T): string;\n}\n\n/**\n * @internal\n */\nexport function normalizeSimpleColumn<T, K extends keyof T>(\n column: TableColumnSimple<T, K>,\n): Omit<NormalizedTableColumnText<T, K>, OmittedNormalizedColumnProperties> {\n return {\n type: \"text\",\n label: () => \"\",\n tnum: false,\n align: \"left\",\n value: getValueFn(column.value, column.key, String, \"\"),\n update() {\n /* do nothing */\n },\n editable: () => false,\n validation: {},\n hasValidation: false,\n formatter: (value) => value,\n parser: (value) => value,\n };\n}\n","import { type Component } from \"vue\";\nimport { type ValidatorConfigs } from \"@fkui/logic\";\nimport { type InputTypeText, inputFieldConfig } from \"../input-fields-config\";\nimport {\n type NormalizedTableColumnBase,\n type OmittedNormalizedColumnProperties,\n type TableColumnBase,\n} from \"./base\";\nimport {\n defaultTnumValue,\n getLabelFn,\n getUpdateFn,\n getValueFn,\n} from \"./helpers\";\n\n/**\n * @public\n */\nexport interface TableColumnText<T, K extends keyof T> extends TableColumnBase {\n type: InputTypeText;\n key?: K;\n label?(this: void, row: T): string;\n tnum?: boolean;\n align?: \"left\" | \"right\";\n attributes?:\n | Record<string, string | number | boolean | undefined>\n | ((\n this: void,\n row: T,\n ) => Record<string, string | number | boolean | undefined>);\n value?(this: void, row: T): string;\n update?(this: void, row: T, newValue: string, oldValue: string): void;\n editable?: boolean | ((this: void, row: T) => boolean);\n validation?: ValidatorConfigs;\n parser?(this: void, value: string): string | undefined;\n formatter?(this: void, value: string): string | undefined;\n}\n\n/**\n * @internal\n */\nexport interface NormalizedTableColumnText<\n T,\n K,\n> extends NormalizedTableColumnBase<K> {\n readonly type: InputTypeText;\n readonly validation: ValidatorConfigs;\n readonly hasValidation: boolean;\n readonly tnum: boolean;\n readonly align: \"left\" | \"right\";\n readonly component: Component<{\n row: T;\n column: NormalizedTableColumnText<T, K>;\n activeErrorAnchor?: HTMLElement;\n }>;\n attributes?:\n | Record<string, string | number | boolean | undefined>\n | ((\n this: void,\n row: T,\n ) => Record<string, string | number | boolean | undefined>);\n label(this: void, row: T): string;\n value(this: void, row: T): string;\n update(this: void, row: T, newValue: string, oldValue: string): void;\n parser(this: void, value: string): string | undefined;\n formatter(this: void, value: string): string | undefined;\n editable(this: void, row: T): boolean;\n}\n\n/**\n * @internal\n */\nexport function normalizeTextColumn<T, K extends keyof T>(\n column: TableColumnText<T, K>,\n): Omit<NormalizedTableColumnText<T, K>, OmittedNormalizedColumnProperties> {\n const type = column.type;\n const config = inputFieldConfig[type];\n const parser = column.parser ?? config.parser;\n const formatter = column.formatter ?? config.formatter;\n return {\n type,\n tnum: column.tnum ?? defaultTnumValue(type),\n align: column.align ?? \"left\",\n attributes: column.attributes,\n label: getLabelFn(column.label),\n value: getValueFn(column.value, column.key, String, \"\"),\n update: getUpdateFn(column.update, column.key),\n editable:\n typeof column.editable === \"function\"\n ? column.editable\n : () => Boolean(column.editable ?? false),\n validation: column.validation ?? {},\n hasValidation:\n column.type.startsWith(\"text:\") || Boolean(column.validation),\n formatter,\n parser,\n };\n}\n","import ITableAnchor from \"./ITableAnchor.vue\";\nimport ITableButton from \"./ITableButton.vue\";\nimport ITableCheckbox from \"./ITableCheckbox.vue\";\nimport ITableMenu from \"./ITableMenu.vue\";\nimport ITableRowheader from \"./ITableRowheader.vue\";\nimport ITableSelect from \"./ITableSelect.vue\";\nimport ITableText from \"./ITableText.vue\";\nimport {\n type NormalizedTableColumnAnchor,\n type NormalizedTableColumnButton,\n type NormalizedTableColumnCheckbox,\n type NormalizedTableColumnMenu,\n type NormalizedTableColumnNumber,\n type NormalizedTableColumnRender,\n type NormalizedTableColumnRowHeader,\n type NormalizedTableColumnSelect,\n type NormalizedTableColumnText,\n type TableColumnAnchor,\n type TableColumnButton,\n type TableColumnCheckbox,\n type TableColumnMenu,\n type TableColumnNumber,\n type TableColumnRender,\n type TableColumnRowHeader,\n type TableColumnSelect,\n type TableColumnSimple,\n type TableColumnText,\n normalizeAnchorColumn,\n normalizeBaseColumn,\n normalizeButtonColumn,\n normalizeCheckboxColumn,\n normalizeMenuColumn,\n normalizeNumberColumn,\n normalizeRenderColumn,\n normalizeRowHeaderColumn,\n normalizeSelectColumn,\n normalizeSimpleColumn,\n normalizeTextColumn,\n} from \"./columns\";\n\nexport {\n type NormalizedTableColumnAnchor,\n type NormalizedTableColumnBase,\n type NormalizedTableColumnButton,\n type NormalizedTableColumnCheckbox,\n type NormalizedTableColumnMenu,\n type NormalizedTableColumnNumber,\n type NormalizedTableColumnRender,\n type NormalizedTableColumnRowHeader,\n type NormalizedTableColumnSelect,\n type NormalizedTableColumnText,\n type TableColumnAnchor,\n type TableColumnBase,\n type TableColumnButton,\n type TableColumnCheckbox,\n type TableColumnMenu,\n type TableColumnNumber,\n type TableColumnRender,\n type TableColumnRowHeader,\n type TableColumnSelect,\n type TableColumnSimple,\n type TableColumnSize,\n type TableColumnText,\n} from \"./columns\";\n\n/**\n * Union of all possible table column types.\n *\n * @internal\n */\nexport type TableColumnType =\n TableColumn<unknown, never> extends infer U\n ? U extends { type: infer T }\n ? T extends undefined\n ? never\n : T\n : never\n : never;\n\n/**\n * @public\n */\nexport type TableColumn<T, K extends keyof T = keyof T> =\n | TableColumnSimple<T, K>\n | TableColumnCheckbox<T, K>\n | TableColumnRowHeader<T, K>\n | TableColumnText<T, K>\n | TableColumnNumber<T, K>\n | TableColumnAnchor<T, K>\n | TableColumnButton<T, K>\n | TableColumnRender<T, K>\n | TableColumnSelect<T, K>\n | TableColumnMenu<T>;\n\n/**\n * @internal\n */\nexport type NormalizedTableColumn<T, K> =\n | NormalizedTableColumnCheckbox<T, K>\n | NormalizedTableColumnRowHeader<T, K>\n | NormalizedTableColumnText<T, K>\n | NormalizedTableColumnNumber<T, K>\n | NormalizedTableColumnAnchor<T, K>\n | NormalizedTableColumnButton<T, K>\n | NormalizedTableColumnRender<T>\n | NormalizedTableColumnSelect<T, K>\n | NormalizedTableColumnMenu<T>;\n\n/**\n * @internal\n */\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnSimple<T, K> | TableColumnText<T, K>,\n): NormalizedTableColumnText<T, K>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnRowHeader<T, K>,\n): NormalizedTableColumnRowHeader<T, K>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnCheckbox<T, K>,\n): NormalizedTableColumnCheckbox<T, K>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnAnchor<T, K>,\n): NormalizedTableColumnAnchor<T, K>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnButton<T, K>,\n): NormalizedTableColumnButton<T, K>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnRender<T, K>,\n): NormalizedTableColumnRender<T>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnSelect<T, K>,\n): NormalizedTableColumnSelect<T, K>;\nexport function normalizeTableColumn<T>(\n column: TableColumnMenu<T>,\n): NormalizedTableColumnMenu<T>;\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumn<T, K>,\n): NormalizedTableColumn<T, K>;\n\n/* eslint-disable-next-line complexity -- technical debt */\nexport function normalizeTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumn<T, K>,\n): NormalizedTableColumn<T, K> {\n const base = normalizeBaseColumn(column);\n if (\"render\" in column) {\n return Object.freeze({\n ...normalizeRenderColumn(column),\n ...base,\n } satisfies NormalizedTableColumnRender<T>);\n }\n switch (column.type) {\n case \"checkbox\":\n return Object.freeze({\n ...normalizeCheckboxColumn(column),\n ...base,\n component: ITableCheckbox,\n } satisfies NormalizedTableColumnCheckbox<T, K>);\n case \"text:currency\":\n case \"text:number\":\n case \"text:percent\":\n return Object.freeze({\n ...normalizeNumberColumn(column),\n ...base,\n component: ITableText,\n } satisfies NormalizedTableColumnNumber<T, K>);\n case \"text\":\n case \"text:bankAccountNumber\":\n case \"text:bankgiro\":\n case \"text:clearingNumber\":\n case \"text:date\":\n case \"text:email\":\n case \"text:organisationsnummer\":\n case \"text:personnummer\":\n case \"text:phoneNumber\":\n case \"text:plusgiro\":\n case \"text:postalCode\":\n return Object.freeze({\n ...normalizeTextColumn(column),\n ...base,\n component: ITableText,\n } satisfies NormalizedTableColumnText<T, K>);\n case \"rowheader\":\n return Object.freeze({\n ...normalizeRowHeaderColumn(column),\n ...base,\n component: ITableRowheader,\n } satisfies NormalizedTableColumnRowHeader<T, K>);\n case \"anchor\":\n return Object.freeze({\n ...normalizeAnchorColumn(column),\n ...base,\n component: ITableAnchor,\n } satisfies NormalizedTableColumnAnchor<T, K>);\n case \"button\":\n return Object.freeze({\n ...normalizeButtonColumn(column),\n ...base,\n component: ITableButton,\n } satisfies NormalizedTableColumnButton<T, K>);\n case \"select\":\n return Object.freeze({\n ...normalizeSelectColumn(column),\n ...base,\n component: ITableSelect,\n } satisfies NormalizedTableColumnSelect<T, K>);\n case \"menu\":\n return Object.freeze({\n ...normalizeMenuColumn(column),\n ...base,\n component: ITableMenu,\n } satisfies NormalizedTableColumnMenu<T>);\n case undefined:\n return Object.freeze({\n ...normalizeSimpleColumn(column),\n ...base,\n component: ITableText,\n } satisfies NormalizedTableColumnText<T, K>);\n }\n}\n\n/**\n * @internal\n */\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnSimple<T, K> | TableColumnText<T, K>,\n): TableColumnText<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnRowHeader<T, K>,\n): TableColumnRowHeader<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnCheckbox<T, K>,\n): TableColumnCheckbox<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnAnchor<T, K>,\n): TableColumnAnchor<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnButton<T, K>,\n): TableColumnButton<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnRender<T, K>,\n): TableColumnRender<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumnSelect<T, K>,\n): TableColumnSelect<T, K>;\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumn<T, K>,\n): TableColumn<T, K>;\n\nexport function defineTableColumn<T, K extends keyof T = keyof T>(\n column: TableColumn<T, K>,\n): TableColumn<T, K> {\n return column;\n}\n\n/**\n * @public\n */\nexport function defineTableColumns<T, K extends keyof T = keyof T>(\n columns: Array<TableColumn<T, K>>,\n): Array<TableColumn<T, K>> {\n return columns;\n}\n\n/**\n * @internal\n */\nexport function normalizeTableColumns<T, K extends keyof T = keyof T>(\n columns: Array<TableColumn<T, K>>,\n): Array<NormalizedTableColumn<T, K>> {\n return columns.map((column) => {\n return normalizeTableColumn(column);\n });\n}\n","import { type Ref, nextTick, ref } from \"vue\";\nimport { type PopupError } from \"./popup-eror\";\n\nexport interface UsePopupError {\n onPopupError: (popupError: PopupError) => Promise<void>;\n onClosePopupError: (popupError: PopupError) => void;\n errorAnchor: Ref<HTMLElement | undefined>;\n errorArrowAnchor: Ref<HTMLElement | undefined>;\n errorMessage: Ref<string | undefined>;\n activeErrorAnchor: Ref<HTMLElement | undefined>;\n}\n\nexport function usePopupError(): UsePopupError {\n const errorAnchor = ref<HTMLElement | undefined>(undefined);\n const errorArrowAnchor = ref<HTMLElement | undefined>(undefined);\n const errorMessage = ref<string | undefined>(undefined);\n const activeErrorAnchor = ref<HTMLElement | undefined>(undefined);\n\n async function onPopupError(popupError: PopupError): Promise<void> {\n const { anchor, arrowAnchor, hasFocus, hasHover } = popupError;\n if (!anchor || !arrowAnchor) {\n return;\n }\n\n if (hasFocus || hasHover) {\n await open(popupError);\n } else {\n onClosePopupError(popupError);\n }\n }\n\n async function open(popupError: PopupError): Promise<void> {\n const { message, anchor, arrowAnchor } = popupError;\n if (!anchor || !arrowAnchor) {\n return;\n }\n activeErrorAnchor.value = undefined;\n errorMessage.value = message;\n errorAnchor.value = anchor;\n errorArrowAnchor.value = arrowAnchor;\n\n await nextTick();\n activeErrorAnchor.value = anchor;\n }\n\n function onClosePopupError(popupError: PopupError | undefined): void {\n if (!popupError) {\n return;\n }\n const { anchor } = popupError;\n //Verify that close event is from currently visible erroPopup\n if (anchor?.isSameNode(errorAnchor.value ?? null)) {\n activeErrorAnchor.value = undefined;\n }\n }\n\n return {\n onPopupError,\n onClosePopupError,\n errorAnchor,\n errorArrowAnchor,\n errorMessage,\n activeErrorAnchor,\n };\n}\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n var Constructor = globalThis[CONSTRUCTOR];\n var Prototype = Constructor && Constructor.prototype;\n return Prototype && Prototype[METHOD];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar getBuiltInPrototypeMethod = require('../internals/get-built-in-prototype-method');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar $Array = Array;\nvar sort = uncurryThis(getBuiltInPrototypeMethod('Array', 'sort'));\n\n// `Array.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-array.prototype.tosorted\n$({ target: 'Array', proto: true }, {\n toSorted: function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = toIndexedObject(this);\n var A = arrayFromConstructorAndList($Array, O);\n return sort(A, compareFn);\n }\n});\n\naddToUnscopables('toSorted');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\n\nvar someWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('some', TypeError);\n\n// `Iterator.prototype.some` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.some\n$({ target: 'Iterator', proto: true, real: true, forced: someWithoutClosingOnEarlyError }, {\n some: function some(predicate) {\n anObject(this);\n try {\n aCallable(predicate);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (someWithoutClosingOnEarlyError) return call(someWithoutClosingOnEarlyError, this, predicate);\n\n var record = getIteratorDirect(this);\n var counter = 0;\n return iterate(record, function (value, stop) {\n if (predicate(value, counter++)) return stop();\n }, { IS_RECORD: true, INTERRUPTED: true }).stopped;\n }\n});\n","import { type MaybeRefOrGetter, type Ref, computed, toValue, watch } from \"vue\";\nimport { assertRef } from \"@fkui/logic\";\nimport { type ItemIdentifier, findItemIdentifier } from \"@fkui/vue\";\n\nfunction rowKey(row: unknown): ItemIdentifier {\n return findItemIdentifier(row) ?? \"\";\n}\n\n/** @internal */\nexport function useSelectable<T>(options: {\n selectable?: \"single\" | \"multi\";\n selectedRows: Ref<T[]>;\n rows: MaybeRefOrGetter<T[]>;\n}): {\n selectableHeaderState: () => boolean | \"indeterminate\";\n toggleSelectableHeader: () => void;\n selectableRowState: (row: T) => boolean;\n toggleSelectableRow: (row: T) => void;\n} {\n const { selectable, selectedRows, rows } = options;\n\n if (!selectable) {\n return {\n selectableHeaderState: () => false,\n toggleSelectableHeader: () => undefined,\n selectableRowState: () => false,\n toggleSelectableRow: () => undefined,\n };\n }\n\n const isIndeterminate = computed(() => {\n return (\n selectedRows.value.length > 0 &&\n selectedRows.value.length < toValue(rows).length\n );\n });\n\n const isAllRowsSelected = computed((): boolean => {\n return (\n selectedRows.value.length > 0 &&\n selectedRows.value.length === toValue(rows).length\n );\n });\n\n function selectableHeaderState(): boolean | \"indeterminate\" {\n return isIndeterminate.value\n ? \"indeterminate\"\n : isAllRowsSelected.value;\n }\n\n function toggleSelectableHeader(): void {\n if (isAllRowsSelected.value) {\n selectedRows.value = [];\n } else {\n selectedRows.value = [...toValue(rows)];\n }\n }\n\n function toggleSelectableRow(row: T): void {\n assertRef(selectedRows);\n\n if (selectable === \"single\") {\n selectedRows.value = [row];\n } else {\n const index = selectedRows.value.indexOf(row);\n\n if (index === -1) {\n selectedRows.value.push(row);\n } else {\n selectedRows.value.splice(index, 1);\n }\n }\n }\n\n function selectableRowState(row: T): boolean {\n const key = rowKey(row);\n return selectedRows.value.some(\n (selectedRow) => rowKey(selectedRow) === key,\n );\n }\n\n let oldKeys: ItemIdentifier[] | undefined = undefined;\n\n watch(\n () => toValue(rows),\n (newValue) => {\n // eslint-disable-next-line sonarjs/no-alphabetical-sort -- only used to compare\n const newKeys = newValue.map(rowKey).toSorted();\n if (!oldKeys) {\n oldKeys = newKeys;\n return;\n }\n\n // not able to use `oldValue` directly since array\n const compareKeys = oldKeys;\n oldKeys = newKeys;\n\n if (newKeys.length !== compareKeys.length) {\n selectedRows.value = [];\n return;\n }\n\n if (compareKeys.join(\",\") !== newKeys.join(\",\")) {\n selectedRows.value = [];\n }\n },\n { deep: 1, immediate: true },\n );\n\n return {\n toggleSelectableHeader,\n toggleSelectableRow,\n selectableHeaderState,\n selectableRowState,\n };\n}\n","import { type Ref, type ShallowRef, onUpdated, ref, watch } from \"vue\";\nimport { assertRef, assertSet } from \"@fkui/logic\";\nimport { getItemIdentifier } from \"@fkui/vue\";\nimport { type FTableApi } from \"./f-table-api\";\nimport {\n activateCell,\n getCellTarget,\n getVerticalNavIndex,\n} from \"./f-table.logic\";\nimport { type MetaRow } from \"./meta-row\";\n\nfunction matching(\n needle: MetaRow<unknown>,\n): (item: MetaRow<unknown>) => boolean {\n const id = getItemIdentifier(needle.row);\n return (item) => getItemIdentifier(item.row) === id;\n}\n\n/**\n * A table composable responsible for setting new tabstop and focus when a table row\n * with tabstop is removed.\n *\n * Since a row removal can occur because of multiple reasons, the default behavior\n * is to fallback to the first data cell.\n *\n * During a known row removal operation it is possible to alter this behavior by using\n * the function `withTabstopBehaviour` provided from this composable.\n *\n * ```\n * const { withTabstopBehaviour } = useTemplateRef(\"table\");\n * withTabstopBehaviour(\"row-removal\", removeRowLogic);\n * ```\n *\n * @internal\n */\nexport function useTabstop(\n tableRef: Readonly<ShallowRef<HTMLTableElement | null>>,\n metaRows: Readonly<Ref<Array<MetaRow<unknown>>>>,\n): FTableApi {\n let pendingRowRemoval = false;\n const renderOptions = ref({ fallbackToFirstCell: false, focus: false });\n\n function fallbackToFirstCell(\n newRows: Array<MetaRow<unknown>>,\n oldRows: Array<MetaRow<unknown>>,\n focus: boolean,\n ): void {\n assertRef(tableRef);\n\n const needle = newRows[0];\n const newFirstRowOldIndex = oldRows.findIndex(matching(needle));\n if (newFirstRowOldIndex !== -1) {\n const target = getCellTarget(\n tableRef.value,\n newFirstRowOldIndex + 1,\n 0,\n );\n activateCell(target, { focus });\n } else {\n renderOptions.value.focus = focus;\n renderOptions.value.fallbackToFirstCell = true;\n }\n }\n\n watch(metaRows, (newRows, oldRows) => {\n const tabFallback = pendingRowRemoval ? \"sticky\" : \"first-cell\";\n pendingRowRemoval = false;\n\n // resolve current tabstop details\n assertRef(tableRef);\n const oldTabstopElement =\n tableRef.value.querySelector<HTMLElement>(`[tabindex=\"0\"]`);\n assertSet(oldTabstopElement);\n const oldTabstopFocused = oldTabstopElement === document.activeElement;\n\n // if interacting with column, leave as is\n if (oldTabstopElement.closest(\"th\")) {\n return;\n }\n\n // if no new rows, default to empty slot after render\n if (oldRows.length === 0 || newRows.length === 0) {\n renderOptions.value.fallbackToFirstCell = true;\n renderOptions.value.focus = oldTabstopFocused;\n return;\n }\n\n const oldTabstopTd = oldTabstopElement.closest(\"td\");\n assertSet(oldTabstopTd);\n const oldTabstopTr = oldTabstopTd.parentElement as HTMLTableRowElement;\n const needle = oldRows[oldTabstopTr.rowIndex - 1];\n const isBeingRemoved = !newRows.some(matching(needle));\n\n // exit if only updated rows when tabstop focused (change triggered from inside table)\n if (oldTabstopFocused && !isBeingRemoved) {\n return;\n }\n\n if (!isBeingRemoved) {\n if (oldTabstopFocused) {\n return;\n } else {\n // changed from outside\n fallbackToFirstCell(newRows, oldRows, false);\n return;\n }\n }\n\n if (tabFallback === \"first-cell\") {\n fallbackToFirstCell(newRows, oldRows, oldTabstopFocused);\n return;\n }\n\n if (oldTabstopTr.rowIndex === 1) {\n // removing first row\n const needle = oldRows[1];\n const hasRowBelowInNewRows = newRows.some(matching(needle));\n\n if (hasRowBelowInNewRows) {\n const { cell } = getVerticalNavIndex(\n tableRef.value,\n { row: 1, cell: oldTabstopTd.cellIndex },\n { row: 2, cell: oldTabstopTd.cellIndex },\n );\n const fallback = getCellTarget(tableRef.value, 2, cell);\n activateCell(fallback, { focus: true });\n } else {\n fallbackToFirstCell(newRows, oldRows, true);\n }\n } else {\n // removing later row\n const needle = oldRows[oldTabstopTr.rowIndex - 2];\n const hasRowAboveInNewRows = newRows.some(matching(needle));\n\n if (hasRowAboveInNewRows) {\n const { row, cell } = getVerticalNavIndex(\n tableRef.value,\n {\n row: oldTabstopTr.rowIndex,\n cell: oldTabstopTd.cellIndex,\n },\n {\n row: oldTabstopTr.rowIndex - 1,\n cell: oldTabstopTd.cellIndex,\n },\n );\n const fallback = getCellTarget(tableRef.value, row, cell);\n activateCell(fallback, { focus: true });\n } else {\n fallbackToFirstCell(newRows, oldRows, true);\n }\n }\n });\n\n onUpdated(() => {\n if (!renderOptions.value.fallbackToFirstCell) {\n return;\n }\n\n assertRef(tableRef);\n const target = getCellTarget(tableRef.value, 1, 0);\n activateCell(target, { focus: renderOptions.value.focus });\n renderOptions.value.fallbackToFirstCell = false;\n });\n\n async function withTabstopBehaviour(\n behaviour: \"default\" | \"row-removal\",\n action: () => void | Promise<void>,\n ): Promise<void> {\n if (behaviour === \"row-removal\") {\n pendingRowRemoval = true;\n }\n\n try {\n await action();\n } finally {\n pendingRowRemoval = false;\n }\n }\n\n return { withTabstopBehaviour };\n}\n","<script\n setup\n lang=\"ts\"\n generic=\"T, KeyAttribute extends keyof T = keyof T, ExpandableAttribute extends keyof T = keyof T\"\n>\nimport {\n type ComponentPublicInstance,\n type HTMLAttributes,\n type Ref,\n computed,\n onMounted,\n provide,\n ref,\n toValue,\n useSlots,\n useTemplateRef,\n} from \"vue\";\nimport { assertRef, assertSet } from \"@fkui/logic\";\nimport {\n type ItemIdentifier,\n FSortFilterDatasetInjected,\n setItemIdentifiers,\n useSlotUtils,\n useTranslate,\n} from \"@fkui/vue\";\nimport ITableExpandButton from \"./ITableExpandButton.vue\";\nimport ITableExpandable from \"./ITableExpandable.vue\";\nimport ITableHeader from \"./ITableHeader.vue\";\nimport ITableHeaderSelectable from \"./ITableHeaderSelectable.vue\";\nimport ITableSelectable from \"./ITableSelectable.vue\";\nimport { isFTableCellApi, tableCellApiSymbol } from \"./f-table-api\";\nimport { activateCell, maybeNavigateToCell, setDefaultCellTarget, stopEdit } from \"./f-table.logic\";\nimport { getBodyRowCount } from \"./get-body-row-count\";\nimport { getMetaRows } from \"./get-meta-rows\";\nimport { type MetaRow } from \"./meta-row\";\nimport { stopEditKey } from \"./start-stop-edit\";\nimport { type NormalizedTableColumn, type TableColumn, normalizeTableColumns } from \"./table-column\";\nimport { usePopupError } from \"./use-popup-error\";\nimport { useSelectable } from \"./use-selectable\";\nimport { useTabstop } from \"./use-tabstop\";\n\ntype ExpandedContent = Required<T>[ExpandableAttribute] extends unknown[]\n ? Required<T>[ExpandableAttribute][number]\n : never;\n\nconst selectedRows = defineModel<T[]>(\"selectedRows\", { default: [] });\n\nconst {\n columns: rawColumns,\n rows,\n keyAttribute = undefined,\n expandableAttribute = undefined,\n rowClass = undefined,\n striped,\n disableDividers,\n selectable = undefined,\n} = defineProps<{\n columns: Array<TableColumn<T, KeyAttribute>>;\n rows: T[];\n keyAttribute?: KeyAttribute;\n expandableAttribute?: ExpandableAttribute;\n /**\n * Optional callback for setting classes on table rows (`<tr>` element).\n */\n rowClass?: (row: T) => HTMLAttributes[\"class\"];\n striped?: boolean;\n disableDividers?: boolean;\n selectable?: \"single\" | \"multi\";\n}>();\n\n/* eslint-disable-next-line @typescript-eslint/no-unnecessary-type-arguments -- false positive, bug? */\ndefineSlots<{\n /**\n * Slot for table caption\n */\n caption?(): void;\n /**\n * Slot for content when table is empty\n */\n empty?(): void;\n /**\n * Slot for table footer\n */\n footer?(): void;\n /**\n * Slot for rendering custom expandable content\n */\n expandable?(bindings: {\n /**\n * The expanded row (from `expandableAttribute` of the parent row)\n */\n row: ExpandedContent;\n }): void;\n}>();\n\nconst $t = useTranslate();\nconst { hasSlot } = useSlotUtils();\nconst tableRef = useTemplateRef(\"table\");\nconst expandedKeys: Ref<Set<ItemIdentifier>> = ref(new Set());\nconst keyedRows = computed(() => setItemIdentifiers(rows, keyAttribute, expandableAttribute));\nconst metaRows = computed(\n (): Array<MetaRow<T>> => getMetaRows(keyedRows.value, expandedKeys.value, expandableAttribute),\n);\nconst isTreegrid = computed(() => Boolean(expandableAttribute));\nconst role = computed(() => (isTreegrid.value ? \"treegrid\" : \"grid\"));\n\nconst hasCaption = computed(() => {\n return hasSlot(\"caption\", {}, { stripClasses: [] });\n});\n\nconst isEmpty = computed((): boolean => {\n return metaRows.value.length === 0;\n});\n\nconst ariaRowcount = computed((): number => {\n const footerRow = hasFooter.value ? 1 : 0;\n\n if (!hasColumns.value) {\n return footerRow;\n }\n\n const headerRow = 1;\n const bodyRows = getBodyRowCount(keyedRows.value, expandableAttribute);\n return bodyRows + headerRow + footerRow;\n});\n\n// Total number of rendered columns, including expand and select columns.\nconst fullColspan = computed((): number => {\n if (!hasColumns.value) {\n return 0;\n }\n\n let count = columns.value.length;\n\n if (isTreegrid.value) {\n count += 1;\n }\n\n if (selectable) {\n count += 1;\n }\n\n return count;\n});\n\n// Number of columns for expanded rows, excluding the expand button column.\nconst expandedColspan = computed((): number => {\n return fullColspan.value - 1;\n});\n\nconst hasFooter = computed((): boolean => {\n return hasSlot(\"footer\");\n});\nconst columns = computed(() => normalizeTableColumns(rawColumns).filter((col) => toValue(col.enabled)));\nconst hasColumns = computed(() => columns.value.length > 0);\n\nconst tableClasses = computed(() => {\n return [\n \"table-ng\",\n {\n \"table-ng--striped\": striped,\n \"table-ng--divided\": !disableDividers,\n },\n ];\n});\n\nconst slots = useSlots();\nconst hasExpandableSlot = computed(() => {\n return Boolean(slots.expandable);\n});\n\n/* eslint-disable-next-line @typescript-eslint/require-await -- technical debt */\nasync function stopEditHandler(\n element: HTMLElement,\n reason: \"enter\" | \"escape\" | \"tab\" | \"shift-tab\" | \"blur\",\n): Promise<void> {\n stopEdit(element, reason);\n}\n\nprovide(stopEditKey, stopEditHandler);\n\nfunction getRowClass(row: T): HTMLAttributes[\"class\"] {\n return typeof rowClass === \"function\" ? rowClass(row) : undefined;\n}\n\nfunction onToggleExpanded(key: ItemIdentifier): void {\n if (expandedKeys.value.has(key)) {\n expandedKeys.value.delete(key);\n } else {\n expandedKeys.value.add(key);\n }\n}\n\nfunction onKeydown(e: KeyboardEvent): void {\n maybeNavigateToCell(e);\n}\n\nfunction onClick(e: MouseEvent): void {\n const cell = (e.target as HTMLElement).closest<HTMLElement>(\"td, th\");\n\n if (cell) {\n const targetEl = activateCell(cell, { focus: true });\n\n // If you haven't clicked on target, click on it.\n if (e.target instanceof Node && !targetEl.contains(e.target)) {\n targetEl.click();\n }\n }\n}\n\nfunction onTableFocusin(e: FocusEvent): void {\n assertRef(tableRef);\n\n for (const it of tableRef.value.querySelectorAll(`[tabindex=\"0\"]`)) {\n if (it !== e.target) {\n it.setAttribute(\"tabindex\", \"-1\");\n }\n }\n}\n\nfunction isInExpandable(el: HTMLElement): boolean {\n if (!el.parentElement) {\n return false;\n }\n return Boolean(el.parentElement.closest(\".table-ng__custom-expandable\"));\n}\n\nfunction onTableFocusout(e: FocusEvent): void {\n const { target, relatedTarget } = e;\n const validFocus = target instanceof HTMLElement && relatedTarget instanceof HTMLElement;\n if (!validFocus) {\n return;\n }\n if (isInExpandable(target)) {\n return;\n }\n\n if (!tableRef.value) {\n return;\n }\n\n const outsideTable = !tableRef.value.contains(relatedTarget);\n\n if (outsideTable) {\n const cell = target.closest<HTMLElement>(\"td, th\");\n\n if (cell) {\n activateCell(cell, { focus: false });\n }\n } else {\n target.tabIndex = -1;\n }\n}\n\nconst { sort, registerCallbackOnSort, registerCallbackOnMount } = FSortFilterDatasetInjected();\nconst sortableColumns = ref<PropertyKey[]>([]);\nconst sortedColumn = ref<PropertyKey>(\"\");\nconst sortedAscending = ref(false);\n\nfunction callbackSortableColumns(columnNames: PropertyKey[]): void {\n sortableColumns.value = columnNames;\n}\n\nfunction callbackOnSort(columnName: PropertyKey, ascending: boolean): void {\n sortedColumn.value = columnName;\n sortedAscending.value = ascending;\n}\n\nfunction isSortEnabled(column: NormalizedTableColumn<T, KeyAttribute>): boolean {\n if (!column.sortable) {\n return false;\n }\n\n /* eslint-disable-next-line @typescript-eslint/prefer-includes -- technical debt */\n return sortableColumns.value.indexOf(String(column.sortable)) > -1;\n}\n\nfunction getSortOrder(column: NormalizedTableColumn<T, KeyAttribute>): \"unsorted\" | \"ascending\" | \"descending\" {\n if (sortedColumn.value !== column.sortable) {\n return \"unsorted\";\n } else {\n return sortedAscending.value ? \"ascending\" : \"descending\";\n }\n}\n\nfunction onToggleSortOrder(sortable: string): void {\n if (sortable === sortedColumn.value) {\n if (sortedAscending.value) {\n sort(sortable, false);\n } else {\n sort(\"\", true);\n }\n } else {\n sort(sortable, true);\n }\n}\n\nfunction bindCellApiRef(ref: Element | ComponentPublicInstance | null): void {\n if (!isFTableCellApi(ref)) {\n return;\n }\n\n const apiEl = toValue(ref.tabstopEl);\n if (!apiEl) {\n return;\n }\n\n const cell = apiEl.closest<HTMLElement>(\"td, th\");\n assertSet(cell);\n cell[tableCellApiSymbol] = ref;\n}\n\nfunction isAriaSelected(level: number = 1, row: T): boolean {\n return level < 2 && selectableRowState(row);\n}\n\nconst { onPopupError, onClosePopupError, activeErrorAnchor } = usePopupError();\n\nconst { selectableHeaderState, toggleSelectableHeader, selectableRowState, toggleSelectableRow } = useSelectable({\n selectable,\n selectedRows,\n rows: keyedRows,\n});\n\nconst tableApi = useTabstop(tableRef, metaRows);\ndefineExpose(tableApi);\n\nonMounted(() => {\n assertRef(tableRef);\n registerCallbackOnMount(callbackSortableColumns);\n registerCallbackOnSort(callbackOnSort);\n /* eslint-disable-next-line @typescript-eslint/no-floating-promises -- technical debt */\n setDefaultCellTarget(tableRef.value);\n});\n</script>\n\n<template>\n <table\n ref=\"table\"\n :role\n :class=\"tableClasses\"\n :aria-rowcount\n @focusin=\"onTableFocusin\"\n @focusout=\"onTableFocusout\"\n @click=\"onClick\"\n @keydown=\"onKeydown\"\n >\n <caption v-if=\"hasCaption\" data-test=\"caption\">\n <slot name=\"caption\"></slot>\n </caption>\n <thead v-if=\"hasColumns\">\n <tr class=\"table-ng__row\" aria-rowindex=\"1\">\n <th v-if=\"isTreegrid\" scope=\"col\" tabindex=\"-1\" class=\"table-ng__column\"></th>\n <i-table-header-selectable\n v-if=\"selectable\"\n :ref=\"bindCellApiRef\"\n :state=\"selectableHeaderState()\"\n :selectable\n @toggle=\"toggleSelectableHeader\"\n />\n\n <i-table-header\n v-for=\"column in columns\"\n :key=\"column.id\"\n :column\n :sort-enabled=\"isSortEnabled(column)\"\n :sort-order=\"getSortOrder(column)\"\n scope=\"col\"\n @toggle-sort-order=\"onToggleSortOrder\"\n ></i-table-header>\n </tr>\n </thead>\n\n <tbody v-if=\"hasColumns\">\n <template v-if=\"isEmpty\">\n <tr class=\"table-ng__row--empty\">\n <td :colspan=\"fullColspan\" class=\"table-ng__cell\" @keydown.space.prevent>\n <slot name=\"empty\"> {{ $t(\"fkui.ftable.empty.text\", \"Tabellen är tom\") }} </slot>\n </td>\n </tr>\n </template>\n <tr\n v-for=\"{ key, row, rowIndex, level, setsize, posinset, isExpandable, isExpanded } in metaRows\"\n v-else\n :key\n class=\"table-ng__row\"\n :class=\"getRowClass(row)\"\n :aria-level=\"level\"\n :aria-rowindex=\"rowIndex\"\n :aria-setsize=\"setsize\"\n :aria-posinset=\"posinset\"\n :aria-selected=\"isAriaSelected(level, row)\"\n >\n <i-table-expand-button\n v-if=\"isTreegrid\"\n :ref=\"bindCellApiRef\"\n :is-expandable\n :is-expanded\n :row-key=\"key\"\n @toggle=\"onToggleExpanded\"\n ></i-table-expand-button>\n\n <i-table-expandable v-if=\"level! > 1 && hasExpandableSlot\" :colspan=\"expandedColspan\">\n <!-- @todo \"typeof row\" is a lie, row is not T but T | T[ExpandableAttribute] -->\n <slot name=\"expandable\" v-bind=\"{ row: row as ExpandedContent }\" />\n </i-table-expandable>\n\n <template v-else>\n <i-table-selectable\n v-if=\"selectable\"\n :ref=\"bindCellApiRef\"\n :level\n :selectable\n :state=\"selectableRowState(row)\"\n :row\n @toggle=\"toggleSelectableRow\"\n />\n\n <template v-for=\"column in columns\" :key=\"column.id\">\n <component\n :is=\"column.component\"\n v-if=\"'component' in column\"\n :ref=\"bindCellApiRef\"\n :row\n :column\n :active-error-anchor\n @close-error=\"onClosePopupError\"\n @on-error=\"onPopupError\"\n ></component>\n <component :is=\"column.render(row)\" v-else-if=\"'render' in column\" :row></component>\n </template>\n </template>\n </tr>\n </tbody>\n <tfoot v-if=\"hasFooter\">\n <tr class=\"table-ng__row\" :aria-rowindex=\"ariaRowcount\">\n <td :colspan=\"fullColspan\" class=\"table-ng__cell--custom\" @keydown.space.prevent>\n <slot name=\"footer\"></slot>\n </td>\n </tr>\n </tfoot>\n </table>\n</template>\n","import { type Ref } from \"vue\";\n\n/**\n * @public\n * @since v6.41.0\n */\nexport interface MaybeSortableTableColumn {\n key?: PropertyKey;\n header: string | Readonly<Ref<string>>;\n sort?: boolean;\n}\n\ninterface SortableTableColumn {\n key: PropertyKey;\n header: string | Readonly<Ref<string>>;\n sort: true;\n}\n\nfunction isSortable(\n column: MaybeSortableTableColumn,\n): column is SortableTableColumn {\n return \"key\" in column && column.key !== undefined && column.sort !== false;\n}\n\nfunction toEntry(\n column: SortableTableColumn,\n): [PropertyKey, string | Readonly<Ref<string>>] {\n return [column.key, column.header];\n}\n\n/**\n * Get sortable attributes for use with `FSortFilterDataset`.\n *\n * @public\n * @since v6.41.0\n * @param columns - Table columns to get sortable attributes from.\n */\nexport function getTableSortableAttributes(\n columns: MaybeSortableTableColumn[],\n): Record<PropertyKey, string | Readonly<Ref<string>>> {\n const sortable = columns.filter(isSortable);\n const attributes = sortable.map(toEntry);\n return Object.fromEntries(attributes);\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.toSpliced` method\n// https://tc39.es/ecma262/#sec-array.prototype.tospliced\n$({ target: 'Array', proto: true }, {\n toSpliced: function toSpliced(start, deleteCount /* , ...items */) {\n var O = toIndexedObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var k = 0;\n var insertCount, actualDeleteCount, newLen, A;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = $Array(newLen);\n\n for (; k < actualStart; k++) createProperty(A, k, O[k]);\n for (; k < actualStart + insertCount; k++) createProperty(A, k, arguments[k - actualStart + 2]);\n for (; k < newLen; k++) createProperty(A, k, O[k + actualDeleteCount - insertCount]);\n\n return A;\n }\n});\n\naddToUnscopables('toSpliced');\n","/**\n * Removes given row from the array.\n * If `expandableAttribute` is set it can removes rows from nested rows.\n *\n * @public\n * @since v6.34.1\n * @param rows - The row array\n * @param row - The row to remove (expected to exist in the row array)\n * @param expandableAttribute - If set, this function will search for and remove expandable rows the given row.\n * @returns A new array with row removed.\n */\nexport function removeRow<T>(\n rows: T[],\n row: T,\n expandableAttribute?: keyof T,\n): T[] {\n const rowIndex = rows.indexOf(row);\n if (rowIndex !== -1) {\n return rows.toSpliced(rowIndex, 1);\n } else if (expandableAttribute) {\n return removeExpandableRowFromRows(rows, row, expandableAttribute);\n } else {\n return rows;\n }\n}\n\nfunction removeExpandableRowFromRows<T>(rows: T[], row: T, key: keyof T): T[] {\n return rows.map((currentRow) => {\n const expandableRows = currentRow[key];\n if (Array.isArray(expandableRows)) {\n const index = expandableRows.indexOf(row);\n if (index !== -1) {\n return {\n ...currentRow,\n [key]: expandableRows.toSpliced(index, 1),\n };\n }\n }\n return currentRow;\n });\n}\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar classof = require('../internals/classof-raw');\n\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar TypeError = globalThis.TypeError;\n\n// Includes\n// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).\n// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.\nmodule.exports = ArrayBuffer && uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {\n if (classof(O) !== 'ArrayBuffer') throw new TypeError('ArrayBuffer expected');\n return O.byteLength;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\n\nvar DataView = globalThis.DataView;\n\nmodule.exports = function (O) {\n if (!NATIVE_ARRAY_BUFFER || arrayBufferByteLength(O) !== 0) return false;\n try {\n // eslint-disable-next-line no-new -- thrower\n new DataView(O);\n return false;\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\n\n// `ArrayBuffer.prototype.detached` getter\n// https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.detached\nif (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {\n defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {\n configurable: true,\n get: function detached() {\n return isDetached(this);\n }\n });\n}\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw new $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached');\n return it;\n};\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n if (userAgentStartsWith('Bun/')) return 'BUN';\n if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n if (userAgentStartsWith('Deno/')) return 'DENO';\n if (userAgentStartsWith('Node.js/')) return 'NODE';\n if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n if (classof(globalThis.process) === 'process') return 'NODE';\n if (globalThis.window && globalThis.document) return 'BROWSER';\n return 'REST';\n})();\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar IS_NODE = require('../internals/environment-is-node');\n\nmodule.exports = function (name) {\n if (IS_NODE) {\n try {\n return globalThis.process.getBuiltinModule(name);\n } catch (error) { /* empty */ }\n try {\n // eslint-disable-next-line no-new-func -- safe\n return Function('return require(\"' + name + '\")')();\n } catch (error) { /* empty */ }\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar V8 = require('../internals/environment-v8-version');\nvar ENVIRONMENT = require('../internals/environment');\n\nvar structuredClone = globalThis.structuredClone;\n\nmodule.exports = !!structuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((ENVIRONMENT === 'DENO' && V8 > 92) || (ENVIRONMENT === 'NODE' && V8 > 94) || (ENVIRONMENT === 'BROWSER' && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = structuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength !== 0 || clone.byteLength !== 8;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getBuiltInNodeModule = require('../internals/get-built-in-node-module');\nvar PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar structuredClone = globalThis.structuredClone;\nvar $ArrayBuffer = globalThis.ArrayBuffer;\nvar $MessageChannel = globalThis.MessageChannel;\nvar detach = false;\nvar WorkerThreads, channel, buffer, $detach;\n\nif (PROPER_STRUCTURED_CLONE_TRANSFER) {\n detach = function (transferable) {\n structuredClone(transferable, { transfer: [transferable] });\n };\n} else if ($ArrayBuffer) try {\n if (!$MessageChannel) {\n WorkerThreads = getBuiltInNodeModule('worker_threads');\n if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel;\n }\n\n if ($MessageChannel) {\n channel = new $MessageChannel();\n buffer = new $ArrayBuffer(2);\n\n $detach = function (transferable) {\n channel.port1.postMessage(null, [transferable]);\n };\n\n if (buffer.byteLength === 2) {\n $detach(buffer);\n if (buffer.byteLength === 0) detach = $detach;\n }\n }\n} catch (error) { /* empty */ }\n\nmodule.exports = detach;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar toIndex = require('../internals/to-index');\nvar notDetached = require('../internals/array-buffer-not-detached');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\nvar detachTransferable = require('../internals/detach-transferable');\nvar PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar structuredClone = globalThis.structuredClone;\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar DataView = globalThis.DataView;\nvar max = Math.max;\nvar min = Math.min;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataViewPrototype = DataView.prototype;\nvar slice = uncurryThis(ArrayBufferPrototype.slice);\nvar isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');\nvar maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');\nvar getInt8 = uncurryThis(DataViewPrototype.getInt8);\nvar setInt8 = uncurryThis(DataViewPrototype.setInt8);\n\nmodule.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) {\n var byteLength = arrayBufferByteLength(arrayBuffer);\n var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);\n var fixedLength = !isResizable || !isResizable(arrayBuffer);\n var newBuffer;\n notDetached(arrayBuffer);\n if (PROPER_STRUCTURED_CLONE_TRANSFER) {\n arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });\n if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer;\n }\n if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) {\n newBuffer = slice(arrayBuffer, 0, newByteLength);\n } else {\n var options = preserveResizability && !fixedLength && maxByteLength\n ? { maxByteLength: max(newByteLength, maxByteLength(arrayBuffer)) }\n : undefined;\n newBuffer = new ArrayBuffer(newByteLength, options);\n var a = new DataView(arrayBuffer);\n var b = new DataView(newBuffer);\n var copyLength = min(newByteLength, byteLength);\n for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));\n }\n if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer);\n return newBuffer;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transfer` method\n// https://tc39.es/ecma262/#sec-arraybuffer.prototype.transfer\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transfer: function transfer() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, true);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transferToFixedLength` method\n// https://tc39.es/ecma262/#sec-arraybuffer.prototype.transfertofixedlength\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transferToFixedLength: function transferToFixedLength() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, false);\n }\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = globalThis.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = globalThis.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) {\n createNonEnumerableProperty(globalThis[NAME].prototype, TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var A = new (getTypedArrayConstructor(O))(len);\n var k = 0;\n for (; k < len; k++) A[k] = O[len - k - 1];\n return A;\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);\n\n// `%TypedArray%.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted\nexportTypedArrayMethod('toSorted', function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = aTypedArray(this);\n var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);\n return sort(A, compareFn);\n});\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar $RangeError = RangeError;\n\nvar PROPER_ORDER = function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// Bug in WebKit. It should truncate a negative fractional index to zero, but instead throws an error\nvar THROW_ON_NEGATIVE_FRACTIONAL_INDEX = PROPER_ORDER && function () {\n try {\n // eslint-disable-next-line es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](-0.5, 1);\n } catch (error) {\n return true;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n var numericValue = isBigIntArray(O) ? toBigInt(value) : +value;\n if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');\n var A = new (getTypedArrayConstructor(O))(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? numericValue : O[k];\n return A;\n} }['with'], !PROPER_ORDER || THROW_ON_NEGATIVE_FRACTIONAL_INDEX);\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (argument === undefined || isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object or undefined');\n};\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'string') return argument;\n throw new $TypeError('Argument is not a string');\n};\n","'use strict';\nvar commonAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\nvar base64Alphabet = commonAlphabet + '+/';\nvar base64UrlAlphabet = commonAlphabet + '-_';\n\nvar inverse = function (characters) {\n // TODO: use `Object.create(null)` in `core-js@4`\n var result = {};\n var index = 0;\n for (; index < 64; index++) result[characters.charAt(index)] = index;\n return result;\n};\n\nmodule.exports = {\n i2c: base64Alphabet,\n c2i: inverse(base64Alphabet),\n i2cUrl: base64UrlAlphabet,\n c2iUrl: inverse(base64UrlAlphabet)\n};\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (options) {\n var alphabet = options && options.alphabet;\n if (alphabet === undefined || alphabet === 'base64' || alphabet === 'base64url') return alphabet || 'base64';\n throw new $TypeError('Incorrect `alphabet` option');\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObjectOrUndefined = require('../internals/an-object-or-undefined');\nvar aString = require('../internals/a-string');\nvar hasOwn = require('../internals/has-own-property');\nvar base64Map = require('../internals/base64-map');\nvar getAlphabetOption = require('../internals/get-alphabet-option');\nvar notDetached = require('../internals/array-buffer-not-detached');\n\nvar base64Alphabet = base64Map.c2i;\nvar base64UrlAlphabet = base64Map.c2iUrl;\n\nvar SyntaxError = globalThis.SyntaxError;\nvar TypeError = globalThis.TypeError;\nvar at = uncurryThis(''.charAt);\n\nvar skipAsciiWhitespace = function (string, index) {\n var length = string.length;\n for (;index < length; index++) {\n var chr = at(string, index);\n if (chr !== ' ' && chr !== '\\t' && chr !== '\\n' && chr !== '\\f' && chr !== '\\r') break;\n } return index;\n};\n\nvar decodeBase64Chunk = function (chunk, alphabet, throwOnExtraBits) {\n var chunkLength = chunk.length;\n\n if (chunkLength < 4) {\n chunk += chunkLength === 2 ? 'AA' : 'A';\n }\n\n var triplet = (alphabet[at(chunk, 0)] << 18)\n + (alphabet[at(chunk, 1)] << 12)\n + (alphabet[at(chunk, 2)] << 6)\n + alphabet[at(chunk, 3)];\n\n var chunkBytes = [\n (triplet >> 16) & 255,\n (triplet >> 8) & 255,\n triplet & 255\n ];\n\n if (chunkLength === 2) {\n if (throwOnExtraBits && chunkBytes[1] !== 0) {\n throw new SyntaxError('Extra bits');\n }\n return [chunkBytes[0]];\n }\n\n if (chunkLength === 3) {\n if (throwOnExtraBits && chunkBytes[2] !== 0) {\n throw new SyntaxError('Extra bits');\n }\n return [chunkBytes[0], chunkBytes[1]];\n }\n\n return chunkBytes;\n};\n\nvar writeBytes = function (bytes, elements, written) {\n var elementsLength = elements.length;\n for (var index = 0; index < elementsLength; index++) {\n bytes[written + index] = elements[index];\n }\n return written + elementsLength;\n};\n\n/* eslint-disable max-statements, max-depth -- TODO */\nmodule.exports = function (string, options, into, maxLength) {\n aString(string);\n anObjectOrUndefined(options);\n var alphabet = getAlphabetOption(options) === 'base64' ? base64Alphabet : base64UrlAlphabet;\n var lastChunkHandling = options ? options.lastChunkHandling : undefined;\n\n if (lastChunkHandling === undefined) lastChunkHandling = 'loose';\n\n if (lastChunkHandling !== 'loose' && lastChunkHandling !== 'strict' && lastChunkHandling !== 'stop-before-partial') {\n throw new TypeError('Incorrect `lastChunkHandling` option');\n }\n\n if (into) notDetached(into.buffer);\n\n var stringLength = string.length;\n var bytes = into || [];\n var written = 0;\n var read = 0;\n var chunk = '';\n var index = 0;\n\n if (maxLength) while (true) {\n index = skipAsciiWhitespace(string, index);\n if (index === stringLength) {\n if (chunk.length > 0) {\n if (lastChunkHandling === 'stop-before-partial') {\n break;\n }\n if (lastChunkHandling === 'loose') {\n if (chunk.length === 1) {\n throw new SyntaxError('Malformed padding: exactly one additional character');\n }\n written = writeBytes(bytes, decodeBase64Chunk(chunk, alphabet, false), written);\n } else {\n throw new SyntaxError('Missing padding');\n }\n }\n read = stringLength;\n break;\n }\n var chr = at(string, index);\n ++index;\n if (chr === '=') {\n if (chunk.length < 2) {\n throw new SyntaxError('Padding is too early');\n }\n index = skipAsciiWhitespace(string, index);\n if (chunk.length === 2) {\n if (index === stringLength) {\n if (lastChunkHandling === 'stop-before-partial') {\n break;\n }\n throw new SyntaxError('Malformed padding: only one =');\n }\n if (at(string, index) === '=') {\n ++index;\n index = skipAsciiWhitespace(string, index);\n }\n }\n if (index < stringLength) {\n throw new SyntaxError('Unexpected character after padding');\n }\n written = writeBytes(bytes, decodeBase64Chunk(chunk, alphabet, lastChunkHandling === 'strict'), written);\n read = stringLength;\n break;\n }\n if (!hasOwn(alphabet, chr)) {\n throw new SyntaxError('Unexpected character');\n }\n var remainingBytes = maxLength - written;\n if (remainingBytes === 1 && chunk.length === 2 || remainingBytes === 2 && chunk.length === 3) {\n // special case: we can fit exactly the number of bytes currently represented by chunk, so we were just checking for `=`\n break;\n }\n\n chunk += chr;\n if (chunk.length === 4) {\n written = writeBytes(bytes, decodeBase64Chunk(chunk, alphabet, false), written);\n chunk = '';\n read = index;\n if (written === maxLength) {\n break;\n }\n }\n }\n\n return { bytes: bytes, read: read, written: written };\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $TypeError = TypeError;\n\n// Perform ? RequireInternalSlot(argument, [[TypedArrayName]])\n// If argument.[[TypedArrayName]] is not \"Uint8Array\", throw a TypeError exception\nmodule.exports = function (argument) {\n if (classof(argument) === 'Uint8Array') return argument;\n throw new $TypeError('Argument is not an Uint8Array');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar $fromBase64 = require('../internals/uint8-from-base64');\nvar anUint8Array = require('../internals/an-uint8-array');\n\nvar Uint8Array = globalThis.Uint8Array;\n\nvar INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.setFromBase64 || !function () {\n var target = new Uint8Array([255, 255, 255, 255, 255]);\n try {\n target.setFromBase64('', null);\n return;\n } catch (error) { /* empty */ }\n // Webkit not throw an error on odd length string\n try {\n target.setFromBase64('a');\n return;\n } catch (error) { /* empty */ }\n try {\n target.setFromBase64('MjYyZg===');\n } catch (error) {\n return target[0] === 50 && target[1] === 54 && target[2] === 50 && target[3] === 255 && target[4] === 255;\n }\n}();\n\n// `Uint8Array.prototype.setFromBase64` method\n// https://tc39.es/ecma262/#sec-uint8array.prototype.setfrombase64\nif (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {\n setFromBase64: function setFromBase64(string /* , options */) {\n anUint8Array(this);\n\n var result = $fromBase64(string, arguments.length > 1 ? arguments[1] : undefined, this, this.length);\n\n return { read: result.read, written: result.written };\n }\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = globalThis.Uint8Array;\nvar SyntaxError = globalThis.SyntaxError;\nvar min = Math.min;\nvar stringMatch = uncurryThis(''.match);\n\nmodule.exports = function (string, into) {\n var stringLength = string.length;\n if (stringLength % 2 !== 0) throw new SyntaxError('String should be an even number of characters');\n var maxLength = into ? min(into.length, stringLength / 2) : stringLength / 2;\n var bytes = into || new Uint8Array(maxLength);\n var segments = stringMatch(string, /.{2}/g);\n var written = 0;\n for (; written < maxLength; written++) {\n var result = +('0x' + segments[written] + '0');\n // eslint-disable-next-line no-self-compare -- NaN check\n if (result !== result) {\n throw new SyntaxError('String should only contain hex characters');\n }\n bytes[written] = result >> 4;\n }\n return { bytes: bytes, read: written << 1 };\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar aString = require('../internals/a-string');\nvar anUint8Array = require('../internals/an-uint8-array');\nvar notDetached = require('../internals/array-buffer-not-detached');\nvar $fromHex = require('../internals/uint8-from-hex');\n\n// Should not throw an error on length-tracking views over ResizableArrayBuffer\n// https://issues.chromium.org/issues/454630441\nfunction throwsOnLengthTrackingView() {\n try {\n // eslint-disable-next-line es/no-resizable-and-growable-arraybuffers -- required for testing\n var rab = new ArrayBuffer(16, { maxByteLength: 1024 });\n // eslint-disable-next-line es/no-uint8array-prototype-setfromhex, es/no-typed-arrays -- required for testing\n new Uint8Array(rab).setFromHex('cafed00d');\n } catch (error) {\n return true;\n }\n}\n\n// `Uint8Array.prototype.setFromHex` method\n// https://tc39.es/ecma262/#sec-uint8array.prototype.setfromhex\nif (globalThis.Uint8Array) $({ target: 'Uint8Array', proto: true, forced: throwsOnLengthTrackingView() }, {\n setFromHex: function setFromHex(string) {\n anUint8Array(this);\n aString(string);\n notDetached(this.buffer);\n var read = $fromHex(string, this).read;\n return { read: read, written: read / 2 };\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObjectOrUndefined = require('../internals/an-object-or-undefined');\nvar anUint8Array = require('../internals/an-uint8-array');\nvar notDetached = require('../internals/array-buffer-not-detached');\nvar base64Map = require('../internals/base64-map');\nvar getAlphabetOption = require('../internals/get-alphabet-option');\n\nvar base64Alphabet = base64Map.i2c;\nvar base64UrlAlphabet = base64Map.i2cUrl;\n\nvar charAt = uncurryThis(''.charAt);\n\nvar Uint8Array = globalThis.Uint8Array;\n\nvar INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.toBase64 || !function () {\n try {\n var target = new Uint8Array();\n target.toBase64(null);\n } catch (error) {\n return true;\n }\n}();\n\n// `Uint8Array.prototype.toBase64` method\n// https://tc39.es/ecma262/#sec-uint8array.prototype.tobase64\nif (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {\n toBase64: function toBase64(/* options */) {\n var array = anUint8Array(this);\n var options = arguments.length ? anObjectOrUndefined(arguments[0]) : undefined;\n var alphabet = getAlphabetOption(options) === 'base64' ? base64Alphabet : base64UrlAlphabet;\n var omitPadding = !!options && !!options.omitPadding;\n notDetached(this.buffer);\n\n var result = '';\n var i = 0;\n var length = array.length;\n var triplet;\n\n var at = function (shift) {\n return charAt(alphabet, (triplet >> (6 * shift)) & 63);\n };\n\n for (; i + 2 < length; i += 3) {\n triplet = (array[i] << 16) + (array[i + 1] << 8) + array[i + 2];\n result += at(3) + at(2) + at(1) + at(0);\n }\n if (i + 2 === length) {\n triplet = (array[i] << 16) + (array[i + 1] << 8);\n result += at(3) + at(2) + at(1) + (omitPadding ? '' : '=');\n } else if (i + 1 === length) {\n triplet = array[i] << 16;\n result += at(3) + at(2) + (omitPadding ? '' : '==');\n }\n\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anUint8Array = require('../internals/an-uint8-array');\nvar notDetached = require('../internals/array-buffer-not-detached');\n\nvar numberToString = uncurryThis(1.1.toString);\nvar join = uncurryThis([].join);\nvar $Array = Array;\n\nvar Uint8Array = globalThis.Uint8Array;\n\nvar INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.toHex || !(function () {\n try {\n var target = new Uint8Array([255, 255, 255, 255, 255, 255, 255, 255]);\n return target.toHex() === 'ffffffffffffffff';\n } catch (error) {\n return false;\n }\n})();\n\n// `Uint8Array.prototype.toHex` method\n// https://tc39.es/ecma262/#sec-uint8array.prototype.tohex\nif (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {\n toHex: function toHex() {\n anUint8Array(this);\n notDetached(this.buffer);\n var result = $Array(this.length);\n for (var i = 0, length = this.length; i < length; i++) {\n var hex = numberToString(this[i], 16);\n result[i] = hex.length === 1 ? '0' + hex : hex;\n }\n return join(result, '');\n }\n});\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\nmodule.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = new Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n","<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport { alertScreenReader } from \"@fkui/logic\";\nimport { EventBus, FFileItem, FFileSelector, FIcon } from \"@fkui/vue\";\n\nconst STATUS_HAR_INTE_VALT_FIL = 0,\n STATUS_HAR_VALT_FIL = 1,\n STATUS_MISSLYCKATS = 2;\n\nconst valdFil = ref(File);\nconst currentStatus = ref(STATUS_HAR_INTE_VALT_FIL);\nconst uppladdatDokument = ref({\n dokument: {\n filnamn: \"\",\n mime: \"\",\n data: \"\",\n fel: \"\",\n },\n});\nconst fileName = ref(\"\");\nconst mimeType = ref(\"\");\nconst fileSize = ref(0);\nconst filValidering = ref(\"\");\nconst maxFileSize = ref(10000000);\nconst allowedFileTypes = ref(\"application/pdf\");\nconst dragEnterTarget = ref<EventTarget | null>(null);\nconst visadrag = ref(false);\n\nconst harValtFil = computed(() => {\n return currentStatus.value === STATUS_HAR_VALT_FIL;\n});\n\nconst harMisslyckats = computed(() => {\n return currentStatus.value === STATUS_MISSLYCKATS;\n});\n\nconst filstorlek = computed(() => {\n return Math.round((fileSize.value / 1024) * 100) / 100;\n});\n\nconst srtextFilvaljare = computed(() => {\n if (!harValtFil.value) {\n return \"Välj en PDF\";\n } else {\n return \"Byt PDF\";\n }\n});\n\nfunction tillSkarmlasare(): void {\n if (filValidering.value) {\n alertScreenReader(filValidering.value);\n }\n}\n\nfunction dragover(e: DragEvent): void {\n e.preventDefault();\n if (!dragEnterTarget.value) {\n visadrag.value = true;\n dragEnterTarget.value = e.currentTarget;\n }\n}\n\nfunction dragleave(e: DragEvent): void {\n e.preventDefault();\n if (dragEnterTarget.value === e.target) {\n visadrag.value = false;\n dragEnterTarget.value = null;\n }\n}\n\nfunction drop(e: DragEvent): void {\n e.preventDefault();\n visadrag.value = false;\n dragEnterTarget.value = null;\n if (e.dataTransfer) {\n hanteraFil(e.dataTransfer.files);\n }\n}\n\nfunction hanteraFil(filer: FileList): void {\n filValidering.value = \"\";\n\n if (filer.length > 1) {\n filValidering.value = \"Du kan bara ladda upp ett dokument per tillfälle\";\n } else if (filer[0].type === \"\" || (filer[0].type !== \"\" && !allowedFileTypes.value.includes(filer[0].type))) {\n filValidering.value = \"Dokumentet har fel format, konvertera dokumentet till en pdf\";\n } else if (filer[0].size > maxFileSize.value) {\n filValidering.value = \"Dokumentet är för stort (över 10 MB)\";\n } else if (filer[0].size === 0) {\n filValidering.value = \"Dokumentet har inget innehåll, välj ett annat dokument\";\n } else {\n currentStatus.value = STATUS_HAR_INTE_VALT_FIL;\n\n /* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, unicorn/no-array-for-each -- technical debt */\n Object.values(filer ? filer : valdFil.value).forEach(async (value) => {\n try {\n const buffer = await value.arrayBuffer();\n const reduced = new Uint8Array(buffer).reduce((data, byte) => data + String.fromCodePoint(byte), \"\");\n uppladdatDokument.value = {\n dokument: {\n filnamn: value.name,\n mime: value.type,\n data: btoa(reduced),\n fel: \"\",\n },\n };\n fileName.value = value.name;\n mimeType.value = value.type;\n fileSize.value = value.size;\n currentStatus.value = STATUS_HAR_VALT_FIL;\n } catch (error: unknown) {\n filValidering.value = `Fel vid inläsning av fil, försök igen ${String(error)}`;\n currentStatus.value = STATUS_HAR_INTE_VALT_FIL;\n rensaFil();\n return;\n }\n\n if (harValtFil.value) {\n filValidering.value = \"\";\n EventBus.$emit(\"UPPLADDAT_DOKUMENT\", uppladdatDokument.value);\n alertScreenReader(\"Fil är tillagd i ladda upp-dialog\");\n fokusElement(\"laggTillKnapp\");\n }\n });\n }\n\n // Om något har blivit fel\n if (filValidering.value) {\n skickaFel(filer);\n }\n}\n\nfunction fokusElement(id: string): void {\n setTimeout(() => {\n const element = document.querySelector(`#${id}`);\n if (element instanceof HTMLElement) {\n element.focus();\n }\n }, 100);\n}\n\nfunction resetElement(id: string): void {\n const element = document.querySelector(`#${id}`);\n if (element instanceof HTMLInputElement) {\n element.value = \"\";\n }\n}\n\nfunction taBortFil(): void {\n alertScreenReader(`${fileName.value} borttaget`);\n rensaFil();\n fokusElement(\"valjFil\");\n}\n\nfunction skickaFel(filer: FileList): void {\n uppladdatDokument.value = {\n dokument: {\n filnamn: filer[0].name,\n mime: filer[0].type,\n data: \"\",\n fel: filValidering.value,\n },\n };\n\n fileName.value = filer[0].name;\n mimeType.value = filer[0].type;\n fileSize.value = filer[0].size;\n\n currentStatus.value = STATUS_MISSLYCKATS;\n\n EventBus.$emit(\"UPPLADDAT_DOKUMENT\", uppladdatDokument.value);\n}\n\nfunction rensaFil(): void {\n uppladdatDokument.value = {\n dokument: {\n filnamn: \"\",\n mime: \"\",\n data: \"\",\n fel: \"\",\n },\n };\n valdFil.value = File;\n filValidering.value = \"\";\n\n fileName.value = \"\";\n mimeType.value = \"\";\n fileSize.value = 0;\n\n resetElement(\"valjFil\");\n\n currentStatus.value = STATUS_HAR_INTE_VALT_FIL;\n EventBus.$emit(\"UPPLADDAT_DOKUMENT\", uppladdatDokument.value);\n}\n\nEventBus.$on(\"SATT_VALIDERING\", (text: unknown) => {\n filValidering.value = text as string;\n});\n\nEventBus.$on(\"RENSA_FIL_VALJARE\", () => {\n rensaFil();\n});\n</script>\n\n<template>\n <div\n class=\"col col--sm-12 col--md-12 ram\"\n :class=\"{ 'container-fluid': true, 'drag-ram': visadrag }\"\n aria-live=\"polite\"\n @dragover=\"dragover\"\n @dragleave=\"dragleave\"\n @drop=\"drop\"\n >\n <slot name=\"image\"></slot>\n\n <h3>Ladda upp ett dokument</h3>\n dra och släpp eller\n <div v-if=\"filValidering !== ''\" class=\"error-style\">\n <span class=\"error-icon\"><f-icon name=\"error\"></f-icon></span>\n {{ filValidering }}\n </div>\n <div>\n <f-file-selector\n id=\"valjFil\"\n v-model=\"valdFil\"\n v-test=\"'valdFil'\"\n :accept=\"allowedFileTypes\"\n :aria-label=\"srtextFilvaljare\"\n aria-live=\"off\"\n @change=\"hanteraFil\"\n @focus=\"tillSkarmlasare\"\n >\n {{ srtextFilvaljare }}\n </f-file-selector>\n </div>\n <div v-if=\"harValtFil || harMisslyckats\">\n <hr class=\"file-item__separator show_separator\" />\n <!-- [html-validate-disable-next aria-label-misuse -- technical debt]-->\n <f-file-item\n id=\"fillista\"\n v-test=\"'filnamn'\"\n :file-name\n :mime-type\n :file-size\n aria-labelledby=\"mylabel\"\n aria-live=\"off\"\n >\n <template #row>\n <span aria-live=\"off\" class=\"fill\">\n <span id=\"mylabel\" class=\"sr-only\"> {{ fileName }} {{ filstorlek }} kb </span>\n <span class=\"filstorlek\">{{ filstorlek }} KB</span>\n <!-- [html-validate-disable-next fkui/class-deprecated -- technical debt]-->\n <button\n type=\"button\"\n class=\"button button--discrete file-item__file-remove\"\n :aria-label=\"`Ta bort ${fileName}`\"\n @click=\"taBortFil\"\n >\n <f-icon name=\"trashcan\" class=\"button__icon\"></f-icon>\n Ta bort\n </button>\n </span>\n </template>\n </f-file-item>\n </div>\n </div>\n</template>\n\n<!-- eslint-disable-next-line vue/no-restricted-block -->\n<style lang=\"scss\">\n.filstorlek {\n float: left;\n max-width: 100%;\n padding: 0.35rem;\n}\n.fill {\n text-align: right;\n max-width: 100%;\n flex: 1;\n}\n.ram {\n border: 0.05rem gray dashed;\n text-align: center;\n padding-top: 1.5rem;\n}\n.drag-ram {\n border: 0.2rem black dashed;\n opacity: 0.5;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.error-style {\n color: #ca1515;\n}\n.error-icon {\n vertical-align: text-top;\n}\n.file-item__separator {\n visibility: hidden;\n}\n.show_separator {\n visibility: visible;\n}\n// Lite av ett hack för att filnamnet inte ska se ut som en knapp, i nyaste FKUI versionen behövs inte det här för där är den inte en knapp.\n#fillista:hover {\n cursor: default;\n background-color: transparent;\n}\n</style>\n","/**\n * @public\n */\nexport function matchPropertyValue<T, K extends keyof T = keyof T>(\n property: K,\n): (item: T, value: T[K] | null) => boolean {\n return (item, value) => {\n return value === null || item[property] === value;\n };\n}\n","/**\n * @public\n */\nexport function uniqueValues<T, K extends keyof T = keyof T>(\n items: T[],\n property: K,\n): Array<T[K]> {\n const values = items.map((it) => it[property]);\n const unique = Array.from(new Set(values));\n // eslint-disable-next-line sonarjs/no-alphabetical-sort -- leave as is for now\n unique.sort(); // until we can use toSorted()\n return unique;\n}\n","<script setup lang=\"ts\" generic=\"T\">\nimport { type Ref, ref } from \"vue\";\nimport { debounce } from \"@fkui/logic\";\n\nconst props = withDefaults(\n defineProps<{\n data: T[];\n sort?(data: T[]): T[];\n filter?(data: T[]): T[];\n }>(),\n {\n sort: (data: T[]) => {\n return data;\n },\n filter: (data: T[]) => {\n return data;\n },\n },\n);\n\nconst filtered = ref(props.filter(props.data)) as unknown as Ref<T[]>;\nconst result = ref(props.data);\nconst debouncedUpdate = debounce(update, 250);\n\nfunction update(): void {\n filtered.value = props.filter(props.data);\n result.value = props.sort(filtered.value); // eslint-disable-line unicorn/no-array-sort -- false positive\n}\n</script>\n\n<template>\n <div class=\"sort-filter-dataset-ng\">\n <slot name=\"filter\" v-bind=\"{ update: debouncedUpdate }\"></slot>\n <slot name=\"default\" v-bind=\"{ result }\"></slot>\n </div>\n</template>\n","/**\n * @public\n */\nexport const HOURS_MINUTES_REGEXP = /^(?<hours>\\d+)?(:(?<minutes>[0-5]\\d))?$/;\n\n/**\n * @public\n */\nexport const HOURS_MINUTES_WITHOUT_COLON_REGEXP =\n /^(?<hours>\\d{2})(?<minutes>[0-5]\\d)$/;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\nvar apply = require('../internals/function-apply');\nvar fails = require('../internals/fails');\n\nvar $TypeError = TypeError;\n\n// https://bugs.webkit.org/show_bug.cgi?id=291651\nvar FAILS_ON_INITIAL_UNDEFINED = fails(function () {\n // eslint-disable-next-line es/no-iterator-prototype-reduce, es/no-array-prototype-keys, array-callback-return -- required for testing\n [].keys().reduce(function () { /* empty */ }, undefined);\n});\n\nvar reduceWithoutClosingOnEarlyError = !FAILS_ON_INITIAL_UNDEFINED && iteratorHelperWithoutClosingOnEarlyError('reduce', $TypeError);\n\n// `Iterator.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.reduce\n$({ target: 'Iterator', proto: true, real: true, forced: FAILS_ON_INITIAL_UNDEFINED || reduceWithoutClosingOnEarlyError }, {\n reduce: function reduce(reducer /* , initialValue */) {\n anObject(this);\n try {\n aCallable(reducer);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n if (reduceWithoutClosingOnEarlyError) {\n return apply(reduceWithoutClosingOnEarlyError, this, noInitial ? [reducer] : [reducer, accumulator]);\n }\n var record = getIteratorDirect(this);\n var counter = 0;\n iterate(record, function (value) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = reducer(accumulator, value, counter);\n }\n counter++;\n }, { IS_RECORD: true });\n if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value');\n return accumulator;\n }\n});\n","import {\n TranslationService,\n isEmpty,\n isSet,\n stripWhitespace,\n} from \"@fkui/logic\";\nimport { type HoursMinutesString } from \"../converters\";\nimport {\n HOURS_MINUTES_REGEXP,\n HOURS_MINUTES_WITHOUT_COLON_REGEXP,\n} from \"./constants\";\n\nfunction findMatch(regexps: RegExp[], value: string): RegExpMatchArray | null {\n for (const regexp of regexps) {\n const match = value.match(regexp);\n\n if (match) {\n return match;\n }\n }\n\n return null;\n}\n\nfunction padInitialZeros(value: string | undefined, maxLength = 2): string {\n value = value ?? \"\";\n return value.padStart(maxLength, \"0\");\n}\n\n/**\n * @public\n */\nexport function hoursMinutesStringToMinutes(\n valueString: string,\n extraForgiving = false,\n): number | undefined {\n if (isEmpty(valueString.trim())) {\n return undefined;\n }\n\n const [hours, minutes] = splitHoursMinutes(valueString, extraForgiving).map(\n (value) => Number.parseInt(value, 10),\n );\n const totalMinutes = hours * 60 + minutes;\n\n return !Number.isNaN(totalMinutes) ? totalMinutes : undefined;\n}\n\n/**\n * @public\n */\nexport function minutesToHoursMinutesString(\n value?: number,\n): HoursMinutesString {\n let valueString = \"\";\n const safeValue = value ?? Number.NaN;\n if (!Number.isNaN(safeValue)) {\n const { hours, minutes } = minutesToObject(safeValue);\n valueString = [hours, minutes]\n .map((value) => String(value).padStart(2, \"0\"))\n .join(\":\");\n }\n\n return stripWhitespace(valueString);\n}\n\n/**\n * @public\n */\nexport function splitHoursMinutes(\n valueString: string,\n extraForgiving = false,\n): string[] {\n const regexps = extraForgiving\n ? [HOURS_MINUTES_WITHOUT_COLON_REGEXP, HOURS_MINUTES_REGEXP]\n : [HOURS_MINUTES_REGEXP];\n const match = findMatch(regexps, stripWhitespace(valueString));\n\n if (!match) {\n return [\"\", \"\"];\n }\n\n /* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- technical debt */\n const hours = padInitialZeros(match?.groups?.hours);\n /* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- technical debt */\n const minutes = padInitialZeros(match?.groups?.minutes);\n\n return [hours, minutes];\n}\n\n/**\n * Accepts time as a number and returns a user friendly string (to be used in i.e. review mode)\n * Example:\n * Input: 13.5\n * Output: '13 timmar och 30 minuter'\n *\n * @public\n */\nexport function minutesToUserFriendlyString(value: number): string {\n const [hours, minutes] = splitHoursMinutes(\n minutesToHoursMinutesString(value),\n ).map(Number);\n\n return TranslationService.provider.translate(\n \"ARBE.RW.generell.etikett.timmarochminuter\",\n \"{{hours}} timmar och {{minutes}} minuter\",\n { hours, minutes },\n );\n}\n\n/**\n * Helper for converting AgeTimeTextField values into hours. For convienence,\n * it is possible to provide multiple values and get their sum. The actual\n * conversion will be performed as a last step, to minimize the amount of rounding\n * errors.\n *\n * Parameters that are undefined or NaN will be ignored and add 0 to the sum.\n *\n * @public\n * @param values - Values in minutes, to be converted into a value in hours.\n * @returns The sum of all values divided by 60. E.g., `150` becomes `2.5`.\n */\nexport function minutesToHoursFloat(\n ...values: Array<number | undefined>\n): number {\n const minutes = values\n .filter(\n (value): value is number => isSet(value) && !Number.isNaN(value),\n )\n .reduce((sum, value) => sum + value, 0);\n\n return minutes / 60;\n}\n\n/**\n * Helper for converting AgeTimeTextField values into an object. For\n * convenience, it is possible to provide multiple values and get their sum.\n *\n * Parameters that are undefined or NaN will be ignored and add 0 to the sum.\n *\n * @public\n * @param values - Values in minutes, to be converted into a value into an\n * hour minute object.\n * @returns The sum of all values in an object representation. E.g.,\n * `150` becomes `{ hours: 2, minutes: 30 }`\n */\nexport function minutesToObject(...values: Array<number | undefined>): {\n hours: number;\n minutes: number;\n} {\n const minutes = values\n .filter(\n (value): value is number => isSet(value) && !Number.isNaN(value),\n )\n .reduce((sum, value) => sum + value, 0);\n\n return {\n hours: Math.floor(minutes / 60),\n minutes: minutes % 60,\n };\n}\n","import {\n hoursMinutesStringToMinutes,\n minutesToHoursMinutesString,\n} from \"../utils\";\n\n/**\n * A string in the format hh:mm (hours may exceed two digits), e.g., 08:15, 16:00 and 900:12.\n *\n * @public\n */\nexport type HoursMinutesString = string;\n\n/**\n * @public\n */\nexport function formatNumberToTime(\n value?: number,\n): HoursMinutesString | undefined {\n if (typeof value !== \"number\" || Number.isNaN(value)) {\n return undefined;\n }\n\n return minutesToHoursMinutesString(value);\n}\n\nfunction parseTimeToNumberUsingConfig(\n value: string | null | undefined,\n extraForgiving: boolean,\n): number | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n\n const parsedValue =\n hoursMinutesStringToMinutes(value, extraForgiving) ?? Number.NaN;\n\n return !Number.isNaN(parsedValue) ? parsedValue : undefined;\n}\n\n/**\n * @public\n */\nexport function parseTimeToNumber(value?: string | null): number | undefined {\n return parseTimeToNumberUsingConfig(value, false);\n}\n\n/**\n * @public\n */\nexport function forgivingParseTimeToNumber(\n value?: string | null,\n): number | undefined {\n return parseTimeToNumberUsingConfig(value, true);\n}\n","import { type ValidatorConfig, isSet } from \"@fkui/logic\";\nimport { parseTimeToNumber } from \"../converters\";\n\n/**\n * @public\n */\n/* eslint-disable-next-line @typescript-eslint/no-extraneous-class -- technical\n * debt, should be refactored to vanilla functions */\nexport class HoursMinutesValidatorUtils {\n public static validate(\n value: string,\n config: ValidatorConfig,\n name: string,\n compare: (value: number, limit: number) => boolean,\n ): boolean {\n if (value === \"\") {\n return true;\n }\n\n const limit = config[name];\n if (!isSet(limit)) {\n return false;\n }\n\n const parseFunction =\n HoursMinutesValidatorUtils.getParserFromConfig(config);\n const limitAsNumber = parseFunction(String(config[name]));\n if (!isSet(limitAsNumber)) {\n throw new Error(`config.${name} must be a number`);\n }\n\n const valueAsNumber = parseFunction(value);\n if (!isSet(valueAsNumber)) {\n return false;\n }\n\n return compare(valueAsNumber, limitAsNumber);\n }\n\n public static getParserFromConfig(\n config?: ValidatorConfig,\n ): (viewValue: string | null | undefined) => number | undefined {\n if (\n !isSet(config) ||\n !Array.isArray(config.parser) ||\n /* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- technical debt */\n !isSet(config.parser?.[0]) ||\n typeof config.parser[0] !== \"function\"\n ) {\n return parseTimeToNumber;\n }\n\n return config.parser[0] as (\n viewValue: string | null | undefined,\n ) => number | undefined;\n }\n}\n","import {\n type ValidatableHTMLElement,\n type Validator,\n type ValidatorConfig,\n type ValidatorName,\n} from \"@fkui/logic\";\nimport { HoursMinutesValidatorUtils } from \"../utils\";\n\nexport const greaterThanTimeValidator: Validator = {\n name: \"greaterThanTime\" as ValidatorName,\n validation(\n value: string,\n _element: ValidatableHTMLElement,\n config: ValidatorConfig,\n ): boolean {\n return HoursMinutesValidatorUtils.validate(\n value,\n config,\n \"limit\",\n (value: number, limit: number) => {\n return value > limit;\n },\n );\n },\n};\n","import {\n type ValidatableHTMLElement,\n type Validator,\n type ValidatorConfig,\n type ValidatorName,\n isEmpty,\n isSet,\n} from \"@fkui/logic\";\nimport { HoursMinutesValidatorUtils } from \"../utils\";\n\nexport const hoursMinutesValidator: Validator = {\n name: \"hoursMinutes\" as ValidatorName,\n validation(\n value: string,\n _element: ValidatableHTMLElement,\n config: ValidatorConfig,\n ): boolean {\n return (\n isEmpty(value) ||\n isSet(HoursMinutesValidatorUtils.getParserFromConfig(config)(value))\n );\n },\n};\n","import {\n type ValidatableHTMLElement,\n type Validator,\n type ValidatorConfig,\n type ValidatorName,\n} from \"@fkui/logic\";\nimport { HoursMinutesValidatorUtils } from \"../utils\";\n\nexport const lessThanTimeValidator: Validator = {\n name: \"lessThanTime\" as ValidatorName,\n validation(\n value: string,\n _element: ValidatableHTMLElement,\n config: ValidatorConfig,\n ): boolean {\n return HoursMinutesValidatorUtils.validate(\n value,\n config,\n \"limit\",\n (value: number, limit: number) => {\n return value < limit;\n },\n );\n },\n};\n","import {\n type ValidatableHTMLElement,\n type Validator,\n type ValidatorConfig,\n type ValidatorName,\n} from \"@fkui/logic\";\nimport { HoursMinutesValidatorUtils } from \"../utils\";\n\nexport const maxTimeValidator: Validator = {\n name: \"maxTime\" as ValidatorName,\n validation(\n value: string,\n _element: ValidatableHTMLElement,\n config: ValidatorConfig,\n ): boolean {\n return HoursMinutesValidatorUtils.validate(\n value,\n config,\n this.name,\n (value: number, limit: number) => {\n return value <= limit;\n },\n );\n },\n};\n","import {\n type ValidatableHTMLElement,\n type Validator,\n type ValidatorConfig,\n type ValidatorName,\n} from \"@fkui/logic\";\nimport { HoursMinutesValidatorUtils } from \"../utils\";\n\nexport const minTimeValidator: Validator = {\n name: \"minTime\" as ValidatorName,\n validation(\n value: string,\n _element: ValidatableHTMLElement,\n config: ValidatorConfig,\n ): boolean {\n return HoursMinutesValidatorUtils.validate(\n value,\n config,\n this.name,\n (value: number, limit: number) => {\n return value >= limit;\n },\n );\n },\n};\n","import { type Validator, ValidationService } from \"@fkui/logic\";\nimport { greaterThanTimeValidator } from \"./greater-than-time-validator\";\nimport { hoursMinutesValidator } from \"./hours-minutes-validator\";\nimport { lessThanTimeValidator } from \"./less-than-time-validator\";\nimport { maxTimeValidator } from \"./max-time-validator\";\nimport { minTimeValidator } from \"./min-time-validator\";\n\nconst validators: Validator[] = [\n hoursMinutesValidator,\n greaterThanTimeValidator,\n lessThanTimeValidator,\n maxTimeValidator,\n minTimeValidator,\n];\n\nfor (const validator of validators) {\n ValidationService.registerValidator(validator);\n}\n","<script lang=\"ts\">\nimport { type PropType, defineComponent } from \"vue\";\nimport { ValidationService, isSet } from \"@fkui/logic\";\nimport { type FormatFunction, type ParseFunction, FTextField, TranslationMixin, useTextFieldSetup } from \"@fkui/vue\";\nimport { type HoursMinutesString, formatNumberToTime, parseTimeToNumber } from \"./converters\";\nimport \"./validators\";\n\nexport default defineComponent({\n name: \"XTimeTextField\",\n extends: FTextField,\n mixins: [TranslationMixin],\n props: {\n /* eslint-disable-next-line vue/no-unused-properties -- used by FTextField (extended) */\n formatter: {\n type: Function as PropType<FormatFunction<HoursMinutesString>>,\n required: false,\n default: formatNumberToTime,\n },\n /* eslint-disable-next-line vue/no-unused-properties -- used by FTextField (extended) */\n parser: {\n type: Function as PropType<ParseFunction<number>>,\n required: false,\n default: parseTimeToNumber,\n },\n },\n setup(props) {\n return useTextFieldSetup(props);\n },\n mounted() {\n const inputElement: HTMLInputElement = this.$el.querySelector(\"input\");\n\n if (!isSet(inputElement)) {\n throw new Error(`Could not find input element in XTimeTextField with id ${String(this.$el.id)}`);\n }\n\n ValidationService.addValidatorsToElement(\n inputElement,\n {\n maxLength: { length: 10 },\n hoursMinutes: {},\n },\n true,\n );\n\n inputElement.setAttribute(\"inputmode\", \"numeric\");\n\n /* eslint-disable-next-line @typescript-eslint/no-floating-promises -- technical debt */\n ValidationService.validateElement(inputElement);\n },\n});\n</script>\n"],"names":["check","it","Math","globalThis_1","globalThis","window","self","global","this","Function","fails","exec","error","require$$0","descriptors","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","call","prototype","functionCall","apply","arguments","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","objectPropertyIsEnumerable","f","V","descriptor","enumerable","createPropertyDescriptor","bitmap","value","configurable","writable","FunctionPrototype","uncurryThisWithBind","functionUncurryThis","fn","uncurryThis","toString","stringSlice","slice","classofRaw","require$$1","classof","require$$2","$Object","split","indexedObject","isNullOrUndefined","undefined","$TypeError","TypeError","requireObjectCoercible","IndexedObject","toIndexedObject","documentAll","document","all","isCallable","argument","isObject","aFunction","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","navigator","userAgent","environmentUserAgent","String","process","Deno","versions","version","v8","match","environmentV8Version","V8_VERSION","$String","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","NATIVE_SYMBOL","useSymbolAsUid","iterator","USE_SYMBOL_AS_UID","require$$3","isSymbol","$Symbol","tryToString","aCallable","getMethod","P","func","ordinaryToPrimitive","input","pref","val","valueOf","isPure","defineGlobalProperty","key","IS_PURE","SHARED","store","sharedStoreModule","exports","push","mode","copyright","license","source","shared","toObject","hasOwnProperty_1","hasOwn","id","postfix","random","uid","require$$4","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","TO_PRIMITIVE","toPrimitive","exoticToPrim","result","toPropertyKey","EXISTS","createElement","documentCreateElement","DESCRIPTORS","ie8DomDefine","a","propertyIsEnumerableModule","require$$6","IE8_DOM_DEFINE","require$$7","$getOwnPropertyDescriptor","objectGetOwnPropertyDescriptor","O","v8PrototypeDefineBug","anObject","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","objectDefineProperty","Attributes","current","definePropertyModule","createNonEnumerableProperty","object","getDescriptor","PROPER","something","functionName","functionToString","inspectSource","WeakMap","weakMapBasicDetection","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","set","has","enforce","getterFor","TYPE","state","type","metadata","facade","STATE","internalState","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","mathTrunc","trunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","len","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","copyConstructorProperties","target","exceptions","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","_export","TARGET","GLOBAL","STATIC","stat","FORCED","targetProperty","sourceProperty","dontCallGetSet","forced","functionUncurryThisClause","functionBindContext","that","iterators","Iterators","ITERATOR","ArrayPrototype","Array","isArrayIteratorMethod","TO_STRING_TAG","toStringTagSupport","TO_STRING_TAG_SUPPORT","CORRECT_ARGUMENTS","tryGet","tag","callee","getIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","require$$8","require$$9","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","iterFn","next","step","stop","condition","$iterator","callFn","done","getIteratorDirect","iteratorHelperWithoutClosingOnEarlyError","METHOD_NAME","ExpectedError","Iterator","IteratorPrototype","CLOSED","$","forEachWithoutClosingOnEarlyError","proto","real","forEach","record","counter","anInstance","Prototype","correctPrototypeGetter","F","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","objectGetPrototypeOf","defineBuiltInAccessor","createProperty","objectKeys","objectDefineProperties","defineProperties","Properties","props","html","definePropertiesModule","GT","LT","PROTOTYPE","SCRIPT","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","style","display","appendChild","src","contentWindow","open","NullProtoObject","ActiveXObject","domain","objectCreate","create","BUGGY_SAFARI_ITERATORS","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","iteratorsCore","require$$10","require$$11","require$$12","require$$13","CONSTRUCTOR","NativeIterator","IteratorConstructor","defineIteratorPrototypeAccessor","defineBuiltIns","createIterResultObject","iteratorCloseAll","iters","ITERATOR_HELPER","WRAP_FOR_VALID_ITERATOR","NORMAL","THROW","setInternalState","createIteratorProxyPrototype","nextHandler","returnHandlerResult","returnMethod","inner","openIters","WrapForValidIteratorPrototype","IteratorHelperPrototype","iteratorCreateProxy","RETURN_HANDLER_RESULT","IteratorProxy","callWithSafeIterationClosing","ENTRIES","iteratorHelperThrowsOnInvalidIterator","methodName","createIteratorProxy","FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR","filterWithoutClosingOnEarlyError","predicate","filter","SetPrototype","Set","setHelpers","add","remove","aSet","iterateSimple","ITERATOR_INSTEAD_OF_RECORD","SetHelpers","setIterate","interruptible","setClone","functionUncurryThisAccessor","uncurryThisAccessor","setSize","size","INVALID_SIZE","$RangeError","RangeError","SetRecord","intSize","getSetRecord","numSize","clone","iterateSet","setDifference","difference","other","otherRec","e","createSetLike","createSetLikeWithInfinitySize","Error","setMethodAcceptSetLike","callback","error2","Infinity","SET_LIKE_INCORRECT_BEHAVIOR","setLike","baseSet","clear","setIntersection","intersection","INCORRECT","from","setIsDisjointFrom","isDisjointFrom","setIsSubsetOf","isSubsetOf","setIsSupersetOf","isSupersetOf","setSymmetricDifference","symmetricDifference","keysIter","setMethodGetKeysBeforeCloningDetection","values","setMethodGetKeysBeforeCloning","setUnion","union","emit","__emit","expandableRef","useTemplateRef","toggleIcon","computed","__props","isExpanded","expandLabel","onClick","assertRef","tabIndex","expose","tabstopEl","__expose","isExpandable","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","ref","tabindex","_createVNode","_unref","FIcon","class","_hoisted_3","colspan","_renderSlot","_ctx","$slots","UNSCOPABLES","addToUnscopables","$includes","BROKEN_ON_SPARSE","BROKEN_ON_SPARSE_WITH_FROM_INDEX","baseTypes","textTypes","numberTypes","isInputTypeNumber","isInputTypeText","inputFieldConfig","formatter","formatPersonnummer","parsePersonnummer","parser","validationConfig","maxLength","personnummerFormat","personnummerLuhn","attributes","inputmode","maxlength","parseBankAccountNumber","bankAccountNumber","parseBankgiro","bankgiro","parseClearingNumber","trim","clearingNumber","formatNumber","parseNumber","currency","parseDate","date","email","_this$decimals","decimals","_this$decimals2","parseOrganisationsnummer","organisationsnummer","_this$decimals3","_this$decimals4","percent","minValue","maxValue","phoneNumber","parsePlusgiro","plusgiro","formatPostalCode","postalCode","text","thElement","columnClasses","sortIconClass","sortOrder","sortIcon","sortValue","isAlignableColumn","column","alignment","align","onClickCell","sortable","sortEnabled","onKeydown","IFlex","gap","float","IFlexItem","shrink","_createTextVNode","_toDisplayString","header","_createBlock","description","$t","useTranslate","indeterminate","checked","ariaLabel","selectable","inputRef","onChange","targetElement","label","row","update","Boolean","inputElement","_e","level","childRef","_childRef$value$tabst","multiSelectColumn","component","ITableCheckbox","enabled","singleSelectColumn","ITableRadio","isFTableCellApi","tableCellApiSymbol","navKeys","prevCellIndex","getCellTarget","tableElement","rowIndex","cellIndex","rows","cells","getTr","td","parentElement","getTable","tr","closest","getLastRowIndex","getLastCellIndex","getVerticalNavIndex","table","to","currentMax","targetMax","cell","isDefined","navigate","last","code","preventDefault","lastCellIndex","ctrlKey","getCell","element","setDefaultCellTarget","nextTick","tHead","activateCell","focus","maybeNavigateToCell","newCellTarget","lastIndex","navigateTo","_toValue","api","targetEl","toValue","stopEdit","reason","lastRowIndex","nextRowIndex","hasFooter","tFoot","isLastRow","footerNext","walk","array","childKey","visit","item","visitChildren","getBodyRowCount","count","isArray","SILENT_ON_NON_WRITABLE_LENGTH_SET","arraySetLength","MAX_SAFE_INTEGER","doesNotExceedSafeInteger","setArrayLength","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","argCount","getRowIndexes","expandableAttribute","getItemIdentifier","getMetaRows","keyedRows","expandedKeys","rowIndexes","stopEditKey","useStartStopEdit","inject","Promise","resolve","MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR","mapWithoutClosingOnEarlyError","mapper","map","href","_hoisted_2","buttonElement","onClickButton","icon","library","iconLibrary","findWithoutClosingOnEarlyError","find","buttonRef","isOpen","actions","menuitems","_it$icon","onOpen","event","stopPropagation","onClose","onFocusout","validTarget","relatedTarget","HTMLElement","inPopup","onSelect","action","_normalizeClass","FContextMenu","items","anchor","_buttonRef$value","scope","editing","editRef","viewValue","selected","dropdownId","ElementIdService","generateElementId","dropdownIsOpen","activeOptionId","activeOption","onCellKeyDown","startEditing","onCellClick","openDropdown","selectDropdownOption","assertSet","oldValue","closeDropdown","onDropdownClose","setNextOption","setPreviousOption","at","onEditKeyDown","_activeOption$value","shiftKey","onEditBlur","editable","_withDirectives","role","onDblclick","_cache","_hoisted_4","IComboboxDropdown","_hoisted_5","defaultTnumValue","tnumTypes","defaultLabelFn","getLabelFn","defaultUpdateFn","getUpdateFn","getValueFn","coerce","defaultValue","_row$key","isColumnTypeNumber","addInputValidators","ValidationService","addValidatorsToElement","isAlphanumeric","metaKey","inEdit","cellId","inputId","validity","isValid","validationMessage","validityMode","validationFacade","validateElement","isSubmitted","isTouched","dispatchComponentValidityEvent","hasError","viewModeAriaInvalid","viewModeErrorMessage","initialValidity","divClasses","tnum","wrapperClasses","staticClasses","inputClasses","columnAttributes","configAttributes","tdElement","isHovered","useElementHover","delayEnter","focused","useFocusWithin","openPopupError","activeErrorAnchor","initialViewValue","pendingStopEditReason","setUpValidation","validation","setUpFakeValidation","emitFakeValidity","nativeEvent","fakeEvent","CustomEvent","detail","elementId","onValidity","nativeEvents","useEventListener","onPendingValidity","onMounted","fromColumnValue","hasValidation","then","watchEffect","_tdElement$value","_inputElement$value","arrowAnchor","message","hasFocus","hasHover","_tdElement$value2","_inputElement$value2","onStartEdit","width","getBoundingClientRect","setProperty","onStopEdit","removeProperty","_props$column$format","toColumnValue","_props$column$parser","updateColumnValue","newValue","contains","onViewingKeydown","onEditingKeydown","activeElement","updateValidity","eventDetail","errorMessage","focusElementId","_mergeProps","$event","IPopupError","layout","normalizeAnchorColumn","getSortable","_column$sort","_column$key","shouldSort","sort","normalizeBaseColumn","_column$enabled","toRef","normalizeButtonColumn","_column$icon","normalizeCheckboxColumn","noop","normalizeMenuColumn","_column$actions","_it$onClick","normalizeNumberColumn","_column$parser","_column$formatter","_column$tnum","_column$align","_column$validation","config","_column$editable","startsWith","normalizeRenderColumn","render","normalizeRowHeaderColumn","normalizeSelectColumn","normalizeSimpleColumn","normalizeTextColumn","normalizeTableColumn","base","freeze","ITableText","ITableRowheader","ITableAnchor","ITableButton","ITableSelect","ITableMenu","defineTableColumns","columns","normalizeTableColumns","usePopupError","errorAnchor","errorArrowAnchor","onPopupError","popupError","onClosePopupError","_errorAnchor$value","isSameNode","arrayFromConstructorAndList","Constructor","list","$length","getBuiltInPrototypeMethod","METHOD","$Array","toSorted","compareFn","A","someWithoutClosingOnEarlyError","some","rowKey","_findItemIdentifier","findItemIdentifier","useSelectable","selectedRows","selectableHeaderState","toggleSelectableHeader","selectableRowState","toggleSelectableRow","isIndeterminate","isAllRowsSelected","splice","selectedRow","oldKeys","watch","newKeys","compareKeys","deep","immediate","matching","needle","useTabstop","tableRef","metaRows","pendingRowRemoval","renderOptions","fallbackToFirstCell","newRows","oldRows","newFirstRowOldIndex","findIndex","tabFallback","oldTabstopElement","querySelector","oldTabstopFocused","oldTabstopTd","oldTabstopTr","isBeingRemoved","hasRowBelowInNewRows","fallback","hasRowAboveInNewRows","onUpdated","withTabstopBehaviour","behaviour","_useModel","hasSlot","useSlotUtils","setItemIdentifiers","keyAttribute","isTreegrid","hasCaption","stripClasses","isEmpty","ariaRowcount","footerRow","hasColumns","headerRow","bodyRows","fullColspan","expandedColspan","col","tableClasses","striped","disableDividers","slots","useSlots","hasExpandableSlot","expandable","stopEditHandler","provide","getRowClass","rowClass","onToggleExpanded","delete","Node","click","onTableFocusin","querySelectorAll","setAttribute","isInExpandable","onTableFocusout","validFocus","outsideTable","registerCallbackOnSort","registerCallbackOnMount","FSortFilterDatasetInjected","sortableColumns","sortedColumn","sortedAscending","callbackSortableColumns","columnNames","callbackOnSort","columnName","ascending","isSortEnabled","getSortOrder","onToggleSortOrder","bindCellApiRef","apiEl","isAriaSelected","tableApi","onFocusin","ITableHeaderSelectable","onToggle","_Fragment","_renderList","ITableHeader","_hoisted_6","_hoisted_7","setsize","posinset","ITableExpandButton","ITableExpandable","ref_for","ITableSelectable","_resolveDynamicComponent","onCloseError","onOnError","_hoisted_10","isSortable","toEntry","getTableSortableAttributes","fromEntries","toSpliced","start","deleteCount","actualStart","argumentsLength","k","insertCount","actualDeleteCount","newLen","removeRow","removeExpandableRowFromRows","currentRow","expandableRows","arrayBufferBasicDetection","ArrayBuffer","DataView","arrayBufferByteLength","byteLength","NATIVE_ARRAY_BUFFER","arrayBufferIsDetached","isDetached","ArrayBufferPrototype","detached","toIndex","arrayBufferNotDetached","userAgentStartsWith","environment","Bun","ENVIRONMENT","environmentIsNode","IS_NODE","getBuiltInNodeModule","getBuiltinModule","V8","structuredClone","structuredCloneProperTransfer","buffer","transfer","PROPER_STRUCTURED_CLONE_TRANSFER","$ArrayBuffer","$MessageChannel","MessageChannel","detach","WorkerThreads","channel","$detach","transferable","port1","postMessage","detachTransferable","notDetached","DataViewPrototype","isResizable","maxByteLength","getInt8","setInt8","arrayBufferTransfer","arrayBuffer","newLength","preserveResizability","newByteLength","fixedLength","newBuffer","b","copyLength","$transfer","transferToFixedLength","isPossiblePrototype","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","__proto__","require$$14","require$$15","require$$16","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","NAME","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","klass","getTypedArrayConstructor","isTypedArray","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","property","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","arrayBufferViewCore","ArrayBufferViewCore","toReversed","isBigIntArray","toBigInt","prim","BigInt","PROPER_ORDER","THROW_ON_NEGATIVE_FRACTIONAL_INDEX","relativeIndex","actualIndex","numericValue","anObjectOrUndefined","aString","commonAlphabet","base64Alphabet","base64UrlAlphabet","inverse","characters","charAt","base64Map","i2c","c2i","i2cUrl","c2iUrl","getAlphabetOption","alphabet","SyntaxError","skipAsciiWhitespace","chr","decodeBase64Chunk","chunk","throwOnExtraBits","chunkLength","triplet","chunkBytes","writeBytes","bytes","elements","written","elementsLength","uint8FromBase64","into","lastChunkHandling","stringLength","read","remainingBytes","anUint8Array","$fromBase64","INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS","setFromBase64","stringMatch","uint8FromHex","segments","$fromHex","throwsOnLengthTrackingView","rab","setFromHex","toBase64","omitPadding","shift","numberToString","toHex","hex","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","normalizeStringArgument","$default","domExceptionConstants","IndexSizeError","s","c","m","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","$Error","TEST","arg","stack","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","errorStackClear","dropEntries","prepareStackTrace","DOMExceptionConstants","clearErrorStack","DOM_EXCEPTION","NativeDOMException","$DOMException","DOMException","DOMExceptionPrototype","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","BUGGY_DESCRIPTOR","FORCED_CONSTRUCTOR","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName","STATUS_HAR_INTE_VALT_FIL","STATUS_HAR_VALT_FIL","STATUS_MISSLYCKATS","valdFil","File","currentStatus","uppladdatDokument","dokument","filnamn","mime","fel","fileName","mimeType","fileSize","filValidering","maxFileSize","allowedFileTypes","dragEnterTarget","visadrag","harValtFil","harMisslyckats","filstorlek","round","srtextFilvaljare","tillSkarmlasare","alertScreenReader","dragover","currentTarget","dragleave","drop","dataTransfer","hanteraFil","files","filer","reduced","reduce","byte","fromCodePoint","btoa","rensaFil","EventBus","$emit","fokusElement","skickaFel","setTimeout","resetElement","HTMLInputElement","taBortFil","$on","onDragover","onDragleave","onDrop","FFileSelector","accept","onFocus","FFileItem","matchPropertyValue","uniqueValues","unique","filtered","debouncedUpdate","debounce","HOURS_MINUTES_REGEXP","HOURS_MINUTES_WITHOUT_COLON_REGEXP","functionApply","Reflect","FAILS_ON_INITIAL_UNDEFINED","reduceWithoutClosingOnEarlyError","reducer","noInitial","accumulator","findMatch","regexps","regexp","padInitialZeros","padStart","hoursMinutesStringToMinutes","valueString","extraForgiving","hours","minutes","splitHoursMinutes","Number","parseInt","totalMinutes","isNaN","minutesToHoursMinutesString","safeValue","NaN","minutesToObject","stripWhitespace","groups","minutesToUserFriendlyString","TranslationService","provider","translate","minutesToHoursFloat","isSet","sum","formatNumberToTime","parseTimeToNumberUsingConfig","_hoursMinutesStringTo","parsedValue","parseTimeToNumber","forgivingParseTimeToNumber","HoursMinutesValidatorUtils","validate","compare","limit","parseFunction","getParserFromConfig","limitAsNumber","valueAsNumber","greaterThanTimeValidator","_element","hoursMinutesValidator","lessThanTimeValidator","maxTimeValidator","minTimeValidator","validators","validator","registerValidator","defineComponent","extends","FTextField","mixins","TranslationMixin","required","default","setup","useTextFieldSetup","mounted","$el","hoursMinutes"],"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,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,122,123,134,135,136,137,140,143,169,170,171,172,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,224,225]}
|