From 4e23e8f04d01b55cd7be7f54017310692552f7f6 Mon Sep 17 00:00:00 2001 From: natxocc Date: Sun, 5 Apr 2026 01:30:03 +0200 Subject: [PATCH] ready to test --- bun.lock | 120 +------------------------------------------------ grid/grid.js | 2 +- index.d.ts | 48 ++++++++++++++++++++ main.js | 2 +- package.json | 8 ++-- vite.config.js | 30 ------------- 6 files changed, 54 insertions(+), 156 deletions(-) create mode 100644 index.d.ts delete mode 100644 vite.config.js diff --git a/bun.lock b/bun.lock index bd1ecd0..55cbf88 100644 --- a/bun.lock +++ b/bun.lock @@ -3,74 +3,14 @@ "configVersion": 1, "workspaces": { "": { - "name": "aggrid", + "name": "sigpro-grid", "dependencies": { "ag-grid-community": "^35.2.0", "ag-grid-enterprise": "^35.2.0", }, - "devDependencies": { - "terser": "^5.46.1", - "vite": "^8.0.0", - }, }, }, "packages": { - "@emnapi/core": ["@emnapi/core@1.9.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.0", "tslib": "^2.4.0" } }, "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA=="], - - "@emnapi/runtime": ["@emnapi/runtime@1.9.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA=="], - - "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg=="], - - "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], - - "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], - - "@jridgewell/source-map": ["@jridgewell/source-map@0.3.11", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA=="], - - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], - - "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], - - "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.2", "", { "dependencies": { "@tybys/wasm-util": "^0.10.1" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw=="], - - "@oxc-project/types": ["@oxc-project/types@0.122.0", "", {}, "sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA=="], - - "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-rc.12", "", { "os": "android", "cpu": "arm64" }, "sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA=="], - - "@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-rc.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg=="], - - "@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.0-rc.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw=="], - - "@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.0-rc.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q=="], - - "@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12", "", { "os": "linux", "cpu": "arm" }, "sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q=="], - - "@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg=="], - - "@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.0-rc.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw=="], - - "@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g=="], - - "@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og=="], - - "@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.0-rc.12", "", { "os": "linux", "cpu": "x64" }, "sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg=="], - - "@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.0-rc.12", "", { "os": "linux", "cpu": "x64" }, "sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig=="], - - "@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.0-rc.12", "", { "os": "none", "cpu": "arm64" }, "sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA=="], - - "@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.0-rc.12", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" }, "cpu": "none" }, "sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg=="], - - "@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q=="], - - "@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.0-rc.12", "", { "os": "win32", "cpu": "x64" }, "sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw=="], - - "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.12", "", {}, "sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw=="], - - "@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], - - "acorn": ["acorn@8.16.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="], - "ag-charts-community": ["ag-charts-community@13.2.0", "", { "dependencies": { "ag-charts-core": "13.2.0", "ag-charts-locale": "13.2.0", "ag-charts-types": "13.2.0" } }, "sha512-l6m9vpDj99zzDJjZJTbQ0egz7yS+am/lk94WHT9ZAyl9F2Z+iLpbubRtvK/+sfqQwRX77UpdfPvS8Yd0Fv01mw=="], "ag-charts-core": ["ag-charts-core@13.2.0", "", { "dependencies": { "ag-charts-types": "13.2.0" } }, "sha512-wZwyd9rqCJh7IvKqtsTieg36+04tMBshqrkE4xxzb7QfSKPw9cnTKj59Fv43KlrUkpIExaxKdAAG3KUyk93Nzg=="], @@ -84,63 +24,5 @@ "ag-grid-community": ["ag-grid-community@35.2.0", "", { "dependencies": { "ag-charts-types": "13.2.0" } }, "sha512-YLprL+RsOLHbhgpCXN62MASHGhtR4g1z4bNTY4dnUqKU/RRts13TgHukOEA5JKjyDpeQic8JA17bY8hO/KZBfQ=="], "ag-grid-enterprise": ["ag-grid-enterprise@35.2.0", "", { "dependencies": { "ag-grid-community": "35.2.0" }, "optionalDependencies": { "ag-charts-community": "13.2.0", "ag-charts-enterprise": "13.2.0" } }, "sha512-qz/sLOCZl5B4hnVdrF95R2O5ZqHHh15a0a/fl6ath/BD4pJYpbFKFVaF5WNPXubUpHtH5v2JvnZ7tZdezWwedw=="], - - "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], - - "commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], - - "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - - "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], - - "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], - - "lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="], - - "lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="], - - "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.32.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ=="], - - "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.32.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w=="], - - "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.32.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig=="], - - "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.32.0", "", { "os": "linux", "cpu": "arm" }, "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw=="], - - "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ=="], - - "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg=="], - - "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA=="], - - "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg=="], - - "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.32.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw=="], - - "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.32.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q=="], - - "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], - - "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - - "picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="], - - "postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="], - - "rolldown": ["rolldown@1.0.0-rc.12", "", { "dependencies": { "@oxc-project/types": "=0.122.0", "@rolldown/pluginutils": "1.0.0-rc.12" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-rc.12", "@rolldown/binding-darwin-arm64": "1.0.0-rc.12", "@rolldown/binding-darwin-x64": "1.0.0-rc.12", "@rolldown/binding-freebsd-x64": "1.0.0-rc.12", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.12", "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.12", "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-x64-musl": "1.0.0-rc.12", "@rolldown/binding-openharmony-arm64": "1.0.0-rc.12", "@rolldown/binding-wasm32-wasi": "1.0.0-rc.12", "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.12", "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.12" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A=="], - - "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], - - "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], - - "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], - - "terser": ["terser@5.46.1", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ=="], - - "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], - - "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "vite": ["vite@8.0.3", "", { "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.8", "rolldown": "1.0.0-rc.12", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.1.0", "esbuild": "^0.27.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-B9ifbFudT1TFhfltfaIPgjo9Z3mDynBTJSUYxTjOQruf/zHH+ezCQKcoqO+h7a9Pw9Nm/OtlXAiGT1axBgwqrQ=="], } } diff --git a/grid/grid.js b/grid/grid.js index 00abd9d..eb6550c 100644 --- a/grid/grid.js +++ b/grid/grid.js @@ -1 +1 @@ -function e(e){if(e?.length)return e[e.length-1]}function t(e,t,o){if(e===t)return!0;if(!e||!t)return null==e&&null==t;const s=e.length;if(s!==t.length)return!1;for(let i=0;i=0&&e.splice(o,1)}function i(e,t){let o=0,s=0;for(;o=0;s--)e.splice(o,0,t[s])}var r=e=>null==e||""===e?null:e;function l(e){return null!=e&&""!==e}function a(e){return!l(e)}var d=e=>null!=e&&"function"==typeof e.toString?e.toString():null,c=(e,t)=>(e?JSON.stringify(e):null)===(t?JSON.stringify(t):null),h=(e,t,o=!1)=>null==e?null==t?0:-1:null==t?1:("object"==typeof e&&e.toNumber&&(e=e.toNumber()),"object"==typeof t&&t.toNumber&&(t=t.toNumber()),o&&"string"==typeof e?e.localeCompare(t):e>t?1:e{const o=s?()=>s.wrapIncoming(e):e;t?this.dispatchAsync(o):o()},n=this.getListeners(o,t,!1);if((n?.size??0)>0){const t=new Set(n);for(const o of t)n?.has(o)&&i(()=>o(e))}const r=this.getGlobalListeners(t);if(r.size>0){const t=new Set(r);for(const s of t)i(()=>s(o,e))}}getGlobalListeners(e){return e?this.globalAsyncListeners:this.globalSyncListeners}dispatchAsync(e){if(this.asyncFunctionsQueue.push(e),!this.scheduled){const e=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)},t=this.frameworkOverrides;t?t.wrapIncoming(e):e(),this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;const e=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[];for(const t of e)t()}},g=/[&<>"']/g,p={"&":"&","<":"<",">":">",'"':""","'":"'"};function m(e){return e?.toString().toString()??null}function f(e){return m(e)?.replace(g,e=>p[e])??null}function C(e){return"string"==typeof e&&e.startsWith("=")&&e.length>1}function v(e){return e.eRootDiv.getRootNode()}function w(e){return v(e).activeElement}function b(e){const{gos:t,eRootDiv:o}=e;let s=null;const i=t.get("getDocument");return i&&l(i)?s=i():o&&(s=o.ownerDocument),s&&l(s)?s:document}function y(e){const t=w(e);return null===t||t===b(e).body}function S(e){return b(e).defaultView||window}function R(e){let t=null,o=null;try{t=b(e).fullscreenElement}catch(s){}finally{t||(t=v(e));o=t.querySelector("body")||(t instanceof ShadowRoot?t:t instanceof Document?t?.documentElement:t)}return o}function x(e,t,o){null==o||"string"==typeof o&&""==o?D(e,t):F(e,t,o)}function F(e,t,o){e.setAttribute(M(t),o.toString())}function D(e,t){e.removeAttribute(M(t))}function M(e){return`aria-${e}`}function P(e,t){t?e.setAttribute("role",t):e.removeAttribute("role")}function E(e,t){x(e,"label",t)}function T(e,t){x(e,"labelledby",t)}function I(e,t){x(e,"describedby",t)}function A(e,t){x(e,"live",t)}function k(e,t){x(e,"invalid",t)}function L(e,t){x(e,"hidden",t)}function G(e,t){F(e,"expanded",t)}function N(e,t){F(e,"setsize",t)}function B(e,t){F(e,"posinset",t)}function H(e,t){F(e,"rowindex",t)}function O(e,t){F(e,"colindex",t)}function V(e,t){x(e,"selected",t)}function z(e,t){x(e,"owns",t)}function W(e,t){return void 0===t?e("ariaIndeterminate","indeterminate"):!0===t?e("ariaChecked","checked"):e("ariaUnchecked","unchecked")}function U(e,t,o){const s=e.parentElement;let i=s&&s.firstChild;for(;i;)t&&i.classList.toggle(t,i===e),o&&i.classList.toggle(o,i!==e),i=i.nextSibling}var $="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function j(e){return!!e&&!!e.matches("input, select, button, textarea")&&!!e.matches($)&&re(e)}function K(e,t,o={}){const{skipAriaHidden:s}=o;e.classList.toggle("ag-hidden",!t),s||L(e,!t)}function _(e,t){const o="disabled",s=t?e=>e.setAttribute(o,""):e=>e.removeAttribute(o);s(e);const i=e.querySelectorAll("input")??[];for(const n of i)s(n)}function q(e,t,o){let s=0;for(;e;){if(e.classList.contains(t))return!0;if(e=e.parentElement,"number"==typeof o){if(++s>o)break}else if(e===o)break}return!1}function Y(e){const{height:t,width:o,borderTopWidth:s,borderRightWidth:i,borderBottomWidth:n,borderLeftWidth:r,paddingTop:l,paddingRight:a,paddingBottom:d,paddingLeft:c,marginTop:h,marginRight:u,marginBottom:g,marginLeft:p,boxSizing:m}=window.getComputedStyle(e),f=Number.parseFloat;return{height:f(t||"0"),width:f(o||"0"),borderTopWidth:f(s||"0"),borderRightWidth:f(i||"0"),borderBottomWidth:f(n||"0"),borderLeftWidth:f(r||"0"),paddingTop:f(l||"0"),paddingRight:f(a||"0"),paddingBottom:f(d||"0"),paddingLeft:f(c||"0"),marginTop:f(h||"0"),marginRight:f(u||"0"),marginBottom:f(g||"0"),marginLeft:f(p||"0"),boxSizing:m}}function Z(e){const t=Y(e);return"border-box"===t.boxSizing?t.height-t.paddingTop-t.paddingBottom-t.borderTopWidth-t.borderBottomWidth:t.height}function Q(e){const t=Y(e);return"border-box"===t.boxSizing?t.width-t.paddingLeft-t.paddingRight-t.borderLeftWidth-t.borderRightWidth:t.width}function X(e){const{height:t,marginBottom:o,marginTop:s}=Y(e);return Math.floor(t+o+s)}function J(e){const{width:t,marginLeft:o,marginRight:s}=Y(e);return Math.floor(t+o+s)}function ee(e){const t=e.getBoundingClientRect(),{borderTopWidth:o,borderLeftWidth:s,borderRightWidth:i,borderBottomWidth:n}=Y(e);return{top:t.top+(o||0),left:t.left+(s||0),right:t.right+(i||0),bottom:t.bottom+(n||0)}}function te(e,t){let o=e.scrollLeft;return t&&(o=Math.abs(o)),o}function oe(e,t,o){o&&(t*=-1),e.scrollLeft=t}function se(e){for(;e?.firstChild;)e.firstChild.remove()}function ie(e){e?.parentNode&&e.remove()}function ne(e){return!!e.offsetParent}function re(e){return e.checkVisibility?e.checkVisibility({checkVisibilityCSS:!0}):!(!ne(e)||"visible"!==window.getComputedStyle(e).visibility)}function le(e){const t=document.createElement("div");return t.innerHTML=(e||"").trim(),t.firstChild}function ae(e,t,o){o&&o.nextSibling===t||(e.firstChild?o?o.nextSibling?e.insertBefore(t,o.nextSibling):e.appendChild(t):e.firstChild&&e.firstChild!==t&&e.prepend(t):e.appendChild(t))}function de(e,t){for(let o=0;o`-${e.toLocaleLowerCase()}`)}function he(e,t){if(t)for(const o of Object.keys(t)){const s=t[o];if(!o?.length||null==s)continue;const i=ce(o),n=s.toString(),r=n.replace(/\s*!important/g,""),l=r.length!=n.length?"important":void 0;e.style.setProperty(i,r,l)}}function ue(e){return()=>{const t=e();return!t||function(e){return e.clientWidthi?.disconnect()}function be(e,t){const o=S(e);o.requestAnimationFrame?o.requestAnimationFrame(t):o.webkitRequestAnimationFrame?o.webkitRequestAnimationFrame(t):o.setTimeout(t,0)}var ye,Se="data-ref";function Re(){return ye??(ye=document.createTextNode(" ")),ye.cloneNode()}function xe(e){const{attrs:t,children:o,cls:s,ref:i,role:n,tag:r}=e,l=document.createElement(r);if(s&&(l.className=s),i&&l.setAttribute(Se,i),n&&l.setAttribute("role",n),t)for(const a of Object.keys(t))l.setAttribute(a,t[a]);if(o)if("string"==typeof o)l.textContent=o;else{let e=!0;for(const t of o)t&&("string"==typeof t?(l.appendChild(document.createTextNode(t)),e=!1):"function"==typeof t?l.appendChild(t()):(e&&(l.appendChild(Re()),e=!1),l.append(xe(t)),l.appendChild(Re())))}return l}var Fe=["touchstart","touchend","touchmove","touchcancel","scroll"],De=["wheel"],Me={},Pe=/* @__PURE__ */(()=>{const e={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return t=>{if("boolean"==typeof Me[t])return Me[t];const o=document.createElement(e[t]||"div");return Me[t="on"+t]=t in o}})();function Ee(e,t){return!(!t||!e)&&function(e){const t=e;return t.path?t.path:t.composedPath?t.composedPath():function(e){const t=[];let o=e.target;for(;o;)t.push(o),o=o.parentElement;return t}(t)}(t).indexOf(e)>=0}function Te(e,t,o){if(0===o)return!1;const s=Math.abs(e.clientX-t.clientX),i=Math.abs(e.clientY-t.clientY);return Math.max(s,i)<=o}var Ie=(e,t)=>{const o=e.identifier;for(let s=0,i=t.length;s{for(const o of t){const[t,s,i,n]=o;t.addEventListener(s,i,n),e.push(o)}},Le=e=>{if(e){for(const[t,o,s,i]of e)t.removeEventListener(o,s,i);e.length=0}},Ge=e=>{e.cancelable&&e.preventDefault()};function Ne(e,t){return t}function Be(e){return e?.getLocaleTextFunc()??Ne}var He=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans(e){this.beans=e,this.stubContext=e.context,this.eventSvc=e.eventSvc,this.gos=e.gos}destroy(){const{destroyFunctions:e}=this;for(let t=0;tnull;let s;if(function(e){return void 0!==e.__addEventListener}(e))e.__addEventListener(t,o),s=()=>(e.__removeEventListener(t,o),null);else{const i=function(e){return"global"===e.eventServiceType}(e);e instanceof HTMLElement?function(e,t,o){const s=(e=>{const t=Fe.includes(e),o=De.includes(e);return!!t||!o&&void 0})(t);let i;null!=s&&(i={passive:s}),e.addEventListener(t,o,i)}(e,t,o):i?e.addListener(t,o):e.addEventListener(t,o),s=i?()=>(e.removeListener(t,o),null):()=>(e.removeEventListener(t,o),null)}return this.destroyFunctions.push(s),()=>(s(),this.destroyFunctions=this.destroyFunctions.filter(e=>e!==s),null)}setupPropertyListener(e,t){const{gos:o}=this;o.addPropertyEventListener(e,t);const s=()=>(o.removePropertyEventListener(e,t),null);return this.destroyFunctions.push(s),()=>(s(),this.destroyFunctions=this.destroyFunctions.filter(e=>e!==s),null)}addManagedPropertyListener(e,t){return this.destroyed?()=>null:this.setupPropertyListener(e,t)}addManagedPropertyListeners(e,t){if(this.destroyed)return;const o=e.join("-")+this.propertyListenerId++,s=e=>{if(e.changeSet){if(e.changeSet&&e.changeSet.id===this.lastChangeSetIdLookup[o])return;this.lastChangeSetIdLookup[o]=e.changeSet.id}t({type:"propertyChanged",changeSet:e.changeSet,source:e.source})};for(const i of e)this.setupPropertyListener(i,s)}getLocaleTextFunc(){return Be(this.beans.localeSvc)}addDestroyFunc(e){this.isAlive()?this.destroyFunctions.push(e):e()}createOptionalManagedBean(e,t){return e?this.createManagedBean(e,t):void 0}createManagedBean(e,t){const o=this.createBean(e,t);return this.addDestroyFunc(this.destroyBean.bind(this,e,t)),o}createBean(e,t,o){return(t||this.stubContext).createBean(e,o)}destroyBean(e,t){return(t||this.stubContext).destroyBean(e)}destroyBeans(e,t){return(t||this.stubContext).destroyBeans(e)}},Oe=class extends He{},Ve=/* @__PURE__ */new Set,ze=(e,t)=>{Ve.has(t)||(Ve.add(t),e())};ze._set=Ve;var We={pending:!1,funcs:[]},Ue={pending:!1,funcs:[]};function $e(e,t="setTimeout",o){const s="raf"===t?Ue:We;if(s.funcs.push(e),s.pending)return;s.pending=!0;const i=()=>{const e=s.funcs.slice();s.funcs.length=0,s.pending=!1;for(const t of e)t()};"raf"===t?be(o,i):window.setTimeout(i,0)}function je(e,t,o){let s;return function(...i){const n=this;return window.clearTimeout(s),s=window.setTimeout(function(){e.isAlive()&&t.apply(n,i)},o),s}}function Ke(e,t){let o=0;return function(...s){const i=Date.now();i-o{null!=n&&(window.clearInterval(n),n=null)};e.addDestroyFunc(l);const a=()=>{const e=Date.now()-i>s;(t()||e)&&(o(),r=!0,l())};a(),r||(n=window.setInterval(a,10))}var qe=/* @__PURE__ */new Set(["__proto__","constructor","prototype"]);function Ye(e,t,o=!0,s=!1){l(t)&&function(e,t){if(null!=e)if(Array.isArray(e))for(let o=0;o!qe.has(e)))t(o,e[o])}(t,(t,i)=>{let n=e[t];n!==i&&(s&&null==n&&null!=i&&"object"==typeof i&&i.constructor===Object&&(n={},e[t]=n),Ze(i)&&Ze(n)&&!Array.isArray(n)?Ye(n,i,o,s):(o||void 0!==i)&&(e[t]=i))})}function Ze(e){return"object"==typeof e&&null!==e}var Qe=class e{static applyGlobalGridOptions(t){if(!e.gridOptions)return{...t};let o={};return Ye(o,e.gridOptions,!0,!0),"deep"===e.mergeStrategy?Ye(o,t,!0,!0):o={...o,...t},e.gridOptions.context&&(o.context=e.gridOptions.context),t.context&&("deep"===e.mergeStrategy&&o.context&&Ye(t.context,o.context,!0,!0),o.context=t.context),o}static applyGlobalGridOption(t,o){if("deep"===e.mergeStrategy){const i=(s=t,Xe.gridOptions?.[s]);if(i&&"object"==typeof i&&"object"==typeof o)return e.applyGlobalGridOptions({[t]:o})[t]}var s;return o}};Qe.gridOptions=void 0,Qe.mergeStrategy="shallow";var Xe=Qe,Je={suppressContextMenu:!1,preventDefaultOnContextMenu:!1,allowContextMenuWithControlKey:!1,suppressMenuHide:!0,enableBrowserTooltips:!1,tooltipTrigger:"hover",tooltipShowDelay:2e3,tooltipSwitchShowDelay:200,tooltipHideDelay:1e4,tooltipMouseTrack:!1,tooltipShowMode:"standard",tooltipInteraction:!1,copyHeadersToClipboard:!1,copyGroupHeadersToClipboard:!1,clipboardDelimiter:"\t",suppressCopyRowsToClipboard:!1,suppressCopySingleCellRanges:!1,suppressLastEmptyLineOnPaste:!1,suppressClipboardPaste:!1,suppressClipboardApi:!1,suppressCutToClipboard:!1,maintainColumnOrder:!1,enableStrictPivotColumnOrder:!1,suppressFieldDotNotation:!1,allowDragFromColumnsToolPanel:!1,suppressMovableColumns:!1,suppressColumnMoveAnimation:!1,suppressMoveWhenColumnDragging:!1,suppressDragLeaveHidesColumns:!1,suppressRowGroupHidesColumns:!1,suppressAutoSize:!1,autoSizePadding:20,skipHeaderOnAutoSize:!1,singleClickEdit:!1,suppressClickEdit:!1,readOnlyEdit:!1,stopEditingWhenCellsLoseFocus:!1,enterNavigatesVertically:!1,enterNavigatesVerticallyAfterEdit:!1,enableCellEditingOnBackspace:!1,undoRedoCellEditing:!1,undoRedoCellEditingLimit:10,suppressCsvExport:!1,suppressExcelExport:!1,cacheQuickFilter:!1,includeHiddenColumnsInQuickFilter:!1,excludeChildrenWhenTreeDataFiltering:!1,enableAdvancedFilter:!1,includeHiddenColumnsInAdvancedFilter:!1,enableCharts:!1,masterDetail:!1,keepDetailRows:!1,keepDetailRowsCount:10,detailRowAutoHeight:!1,tabIndex:0,rowBuffer:10,valueCache:!1,valueCacheNeverExpires:!1,enableCellExpressions:!1,suppressTouch:!1,suppressFocusAfterRefresh:!1,suppressBrowserResizeObserver:!1,suppressPropertyNamesCheck:!1,suppressChangeDetection:!1,debug:!1,suppressLoadingOverlay:!1,suppressNoRowsOverlay:!1,pagination:!1,paginationPageSize:100,paginationPageSizeSelector:!0,paginationAutoPageSize:!1,paginateChildRows:!1,suppressPaginationPanel:!1,pivotMode:!1,pivotPanelShow:"never",pivotDefaultExpanded:0,pivotSuppressAutoColumn:!1,suppressExpandablePivotGroups:!1,functionsReadOnly:!1,suppressAggFuncInHeader:!1,alwaysAggregateAtRootLevel:!1,aggregateOnlyChangedColumns:!1,suppressAggFilteredOnly:!1,removePivotHeaderRowWhenSingleValueColumn:!1,animateRows:!0,cellFlashDuration:500,cellFadeDuration:1e3,allowShowChangeAfterFilter:!1,domLayout:"normal",ensureDomOrder:!1,enableRtl:!1,suppressColumnVirtualisation:!1,suppressMaxRenderedRowRestriction:!1,suppressRowVirtualisation:!1,rowDragManaged:!1,refreshAfterGroupEdit:!1,rowDragInsertDelay:500,suppressRowDrag:!1,suppressMoveWhenRowDragging:!1,rowDragEntireRow:!1,rowDragMultiRow:!1,embedFullWidthRows:!1,groupDisplayType:"singleColumn",groupDefaultExpanded:0,groupMaintainOrder:!1,groupSelectsChildren:!1,groupSuppressBlankHeader:!1,groupSelectsFiltered:!1,showOpenedGroup:!1,groupRemoveSingleChildren:!1,groupRemoveLowestSingleChildren:!1,groupHideOpenParents:!1,groupHideColumnsUntilExpanded:!1,groupAllowUnbalanced:!1,rowGroupPanelShow:"never",suppressMakeColumnVisibleAfterUnGroup:!1,treeData:!1,rowGroupPanelSuppressSort:!1,suppressGroupRowsSticky:!1,rowModelType:"clientSide",asyncTransactionWaitMillis:50,suppressModelUpdateAfterUpdateTransaction:!1,cacheOverflowSize:1,infiniteInitialRowCount:1,serverSideInitialRowCount:1,cacheBlockSize:100,maxBlocksInCache:-1,maxConcurrentDatasourceRequests:2,blockLoadDebounceMillis:0,purgeClosedRowNodes:!1,serverSideSortAllLevels:!1,serverSideOnlyRefreshFilteredGroups:!1,serverSidePivotResultFieldSeparator:"_",viewportRowModelPageSize:5,viewportRowModelBufferSize:5,alwaysShowHorizontalScroll:!1,alwaysShowVerticalScroll:!1,debounceVerticalScrollbar:!1,suppressHorizontalScroll:!1,suppressScrollOnNewData:!1,suppressScrollWhenPopupsAreOpen:!1,suppressAnimationFrame:!1,suppressMiddleClickScrolls:!1,suppressPreventDefaultOnMouseWheel:!1,rowMultiSelectWithClick:!1,suppressRowDeselection:!1,suppressRowClickSelection:!1,suppressCellFocus:!1,suppressHeaderFocus:!1,suppressMultiRangeSelection:!1,enableCellTextSelection:!1,enableRangeSelection:!1,enableRangeHandle:!1,enableFillHandle:!1,fillHandleDirection:"xy",suppressClearOnFillReduction:!1,accentedSort:!1,unSortIcon:!1,suppressMultiSort:!1,alwaysMultiSort:!1,suppressMaintainUnsortedOrder:!1,suppressRowHoverHighlight:!1,suppressRowTransform:!1,columnHoverHighlight:!1,deltaSort:!1,enableGroupEdit:!1,groupLockGroupColumns:0,serverSideEnableClientSideSort:!1,suppressServerSideFullWidthLoadingRow:!1,pivotMaxGeneratedColumns:-1,columnMenu:"new",reactiveCustomComponents:!0,suppressSetFilterByDefault:!1,enableFilterHandlers:!1},et="https://www.ag-grid.com";function tt(e,t,...o){e.get("debug")}function ot(e,...t){ze(()=>{},e+t?.join(""))}function st(e,...t){ze(()=>{},e+t?.join(""))}var it,nt=/* @__PURE__ */new Set,rt={},lt={},at=!1,dt=!1;function ct(e,t,o=!1){o||(at=!0),function(e){it||(it=e.version);const t=e=>`You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. ${e} Please update all modules to the same version.`;e.version?function(e){const[t,o]=e.version.split(".")||[],[s,i]=it.split(".")||[];return t===s&&o===i}(e)||st(t(`'${e.moduleName}' is version ${e.version} but the other modules are version ${it}.`)):st(t(`'${e.moduleName}' is incompatible.`));const o=e.validate?.();o&&!o.isValid&&st(`${o.message}`)}(e);const s=e.rowModels??["all"];let i;nt.add(e),void 0!==t?(dt=!0,void 0===lt[t]&&(lt[t]={}),i=lt[t]):i=rt;for(const n of s)void 0===i[n]&&(i[n]={}),i[n][e.moduleName]=e;if(e.dependsOn)for(const n of e.dependsOn)ct(n,t,o)}function ht(e,t,o){const s=o=>!!rt[o]?.[e]||!!lt[t]?.[o]?.[e];return s(o)||s("all")}function ut(){return dt}function gt(e,t){const o=lt[e]??{};return[...Object.values(o.all??{}),...Object.values(o[t]??{})]}var pt=class{static register(e){ct(e,void 0)}static registerModules(e){for(const t of e)ct(t,void 0)}},mt="35.2.0",ft="_version_",Ct=null,vt=`${et}/javascript-data-grid`;function wt(e,t,o){return Ct?.(e,t)??[Ft(e,t,o)]}function bt(e,t,o,s,i){e(`${s?"warning":"error"} #${t}`,...wt(t,o,i))}function yt(e){let t=e;return e instanceof Error?t=e.toString():"object"==typeof e&&(t=function(e){if(!e)return String(e);const t={};for(const o of Object.keys(e))"object"!=typeof e[o]&&"function"!=typeof e[o]&&(t[o]=e[o]);return JSON.stringify(t)}(e)),t}function St(e){return void 0===e?"undefined":null===e?"null":e}function Rt(e,t){return`${e}?${t.toString()}`}function xt(e,t){const o=new URLSearchParams;if(o.append(ft,mt),t)for(const n of Object.keys(t))o.append(n,yt(t[n]));const s=`${vt}/errors/${e}`,i=Rt(s,o);return i.length<=2e3?i:function(e,t){const o=Array.from(t.entries()).sort((e,t)=>t[1].length-e[1].length);let s=Rt(e,t);for(const[i,n]of o){if(i===ft)continue;const o=s.length-2e3;if(o<=0)break;const r="...",l=o+3,a=n.length-l>100?n.slice(0,n.length-l)+r:n.slice(0,100)+r;t.set(i,a),s=Rt(e,t)}return s}(s,o)}var Ft=(e,t,o)=>`${`${o?o+" \n":""}Visit ${xt(e,t)}`}${o?"":" \n Alternatively register the ValidationModule to see the full message in the console."}`;function Dt(...e){bt(ot,e[0],e[1],!0)}function Mt(...e){bt(st,e[0],e[1],!1)}function Pt(e,t,o){bt(st,e,t,!1,o)}function Et(...e){return function(e,t){const o=t[0];return`error #${o} `+wt(o,t[1],void 0).join(" ")}(0,e)}function Tt(e,t){return e.get("rowModelType")===t}function It(e,t){return Tt(e,"clientSide")}function At(e,t){return Tt(e,"serverSide")}function kt(e,t){return e.get("domLayout")===t}function Lt(e){return void 0!==ao(e)}function Gt(e){return"function"==typeof e.get("getRowHeight")}function Nt(e,t,o=!1,s){const{gos:i,environment:n}=e;if(null==s&&(s=n.getDefaultRowHeight()),Gt(i)){if(o)return{height:s,estimated:!0};const e={node:t,data:t.data},n=i.getCallback("getRowHeight")(e);if(Ht(n))return 0===n&&Dt(23),{height:Math.max(1,n),estimated:!1}}if(t.detail&&i.get("masterDetail"))return function(e){if(e.get("detailRowAutoHeight"))return{height:1,estimated:!1};const t=e.get("detailRowHeight");return Ht(t)?{height:t,estimated:!1}:{height:300,estimated:!1}}(i);const r=i.get("rowHeight");return{height:r&&Ht(r)?r:s,estimated:!1}}function Bt(e){const{environment:t,gos:o}=e,s=o.get("rowHeight");if(!s||a(s))return t.getDefaultRowHeight();const i=t.refreshRowHeightVariable();return-1!==i?i:(Dt(24),t.getDefaultRowHeight())}function Ht(e){return!isNaN(e)&&"number"==typeof e&&isFinite(e)}function Ot(e,t,o){const s=t[e.getDomDataKey()];return s?s[o]:void 0}function Vt(e,t,o,s){const i=e.getDomDataKey();let n=t[i];a(n)&&(n={},t[i]=n),n[o]=s}function zt(e){return!e.get("ensureDomOrder")&&e.get("animateRows")}function Wt(e){return!(e.get("paginateChildRows")||e.get("groupHideOpenParents")||kt(e,"print"))}function Ut(e){return!e.get("autoGroupColumnDef")?.comparator&&!e.get("treeData")}function $t(e){const t=e.get("groupAggFiltering");return"function"==typeof t?e.getCallback("groupAggFiltering"):!0===t?()=>!0:void 0}function jt(e){return e.get("grandTotalRow")}function Kt(e){const t=e.get("groupTotalRow");return"function"==typeof t?e.getCallback("groupTotalRow"):()=>t??void 0}function _t(e){return!!e.get("groupHideOpenParents")||"multipleColumns"===e.get("groupDisplayType")}function qt(e){return _t(e)&&e.get("groupHideColumnsUntilExpanded")&&It(e)}function Yt(e,t){return!t&&"groupRows"===e.get("groupDisplayType")}function Zt(e,t,o){return!!t.group&&!t.footer&&Yt(e,o)}function Qt(e){const t=e.getCallback("getRowId");return void 0===t?t:e=>{let o=t(e);return"string"!=typeof o&&(ze(()=>Dt(25,{id:o}),"getRowIdString"),o=String(o)),o}}function Xt(e,t){const o=e.get("suppressGroupChangesColumnVisibility");if(!0===o)return!1;if(t&&"suppressHideOnGroup"===o)return!1;if(!t&&"suppressShowOnUngroup"===o)return!1;const s=e.get("suppressRowGroupHidesColumns");if(t&&!0===s)return!1;const i=e.get("suppressMakeColumnVisibleAfterUnGroup");return!(!t&&!0===i)}function Jt(e){return e?.checkboxes??!0}function eo(e){return"multiRow"===e?.mode&&(e.headerCheckbox??!0)}function to(e){if("object"==typeof e)return e.checkboxLocation??"selectionColumn"}function oo(e){return e?.hideDisabledCheckboxes??!1}function so(e){const t=e.get("cellSelection");return void 0!==t?!!t:e.get("enableRangeSelection")}function io(e){const t=e.get("cellSelection");return void 0===t?{mode:"fill",setFillValue:e.get("fillOperation"),direction:e.get("fillHandleDirection"),suppressClearOnFillReduction:e.get("suppressClearOnFillReduction")}:"boolean"!=typeof t&&"fill"===t.handle?.mode?t.handle:void 0}function no(e){const t=e.get("cellSelection")??!1;return("object"==typeof t&&t.enableColumnSelection)??!1}function ro(e){const t=e.get("rowSelection")??"single";if("string"==typeof t){const t=e.get("suppressRowClickSelection"),o=e.get("suppressRowDeselection");return(!t||!o)&&(t?"enableDeselection":!o||"enableSelection")}return("singleRow"===t.mode||"multiRow"===t.mode)&&(t.enableClickSelection??!1)}function lo(e){const t=e.get("rowSelection");return"string"==typeof t?e.get("isRowSelectable"):t?.isRowSelectable}function ao(e){const t="beanName"in e&&"gos"===e.beanName?e.get("rowSelection"):e.rowSelection;if("string"==typeof t)switch(t){case"multiple":return"multiRow";case"single":return"singleRow";default:return}switch(t?.mode){case"multiRow":case"singleRow":return t.mode;default:return}}function co(e){return"multiRow"===ao(e)}function ho(e){const t=e.get("rowSelection");if("string"==typeof t){const t=e.get("groupSelectsChildren"),o=e.get("groupSelectsFiltered");return t&&o?"filteredDescendants":t?"descendants":"self"}return"multiRow"===t?.mode?t.groupSelects:void 0}function uo(e,t=!0){const o=e.get("rowSelection");return"object"!=typeof o?t?"all":void 0:"multiRow"===o.mode?o.selectAll:"all"}function go(e){const t=ho(e);return"descendants"===t||"filteredDescendants"===t}function po(e){const t=e.get("rowSelection");return"object"==typeof t&&t.masterSelects||"self"}function mo(e){return"legacy"===e.get("columnMenu")}function fo(e){return!mo(e)}function Co(e,t){return e.addCommon(t)}function vo({gos:e},t){return 2===t.button||t.ctrlKey&&e.get("allowContextMenuWithControlKey")}var wo={resizable:!0,sortable:!0},bo=0;function yo(){return bo++}function So(e){return e instanceof Fo}var Ro=["asc","desc",null],xo=[{type:"absolute",direction:"asc"},{type:"absolute",direction:"desc"},null],Fo=class extends Oe{constructor(e,t,o,s){super(),this.colDef=e,this.userProvidedColDef=t,this.colId=o,this.primary=s,this.isColumn=!0,this.instanceId=yo(),this.autoHeaderHeight=null,this.sortDef=Do(),this._wasSortExplicitlyRemoved=!1,this.moving=!1,this.resizing=!1,this.menuVisible=!1,this.formulaRef=null,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.colEventSvc=new u,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.flex=null,this.colIdSanitised=f(o)}destroy(){super.destroy(),this.beans.rowSpanSvc?.deregister(this)}getInstanceId(){return this.instanceId}initState(){const{colDef:e,beans:{sortSvc:t,pinnedCols:o,colFlex:s}}=this;t?.initCol(this);const i=e.hide;this.visible=void 0!==i?!i:!e.initialHide,o?.initCol(this),s?.initCol(this)}setColDef(e,t,o){const s=e.spanRows!==this.colDef.spanRows;this.colDef=e,this.userProvidedColDef=t,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),s&&(this.beans.rowSpanSvc?.deregister(this),this.initRowSpan()),this.dispatchColEvent("colDefChanged",o)}getUserProvidedColDef(){return this.userProvidedColDef}getParent(){return this.parent}getOriginalParent(){return this.originalParent}postConstruct(){this.initState(),this.initMinAndMaxWidths(),this.resetActualWidth("gridInitializing"),this.initDotNotation(),this.initTooltip(),this.initRowSpan(),this.addPivotListener()}initDotNotation(){const{gos:e,colDef:{field:t,tooltipField:o}}=this,s=e.get("suppressFieldDotNotation");this.fieldContainsDots=l(t)&&t.includes(".")&&!s,this.tooltipFieldContainsDots=l(o)&&o.includes(".")&&!s}initMinAndMaxWidths(){const e=this.colDef;this.minWidth=e.minWidth??this.beans.environment.getDefaultColumnMinWidth(),this.maxWidth=e.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.beans.tooltipSvc?.initCol(this)}initRowSpan(){this.colDef.spanRows&&this.beans.rowSpanSvc?.register(this)}addPivotListener(){const e=this.beans.pivotColDefSvc,t=this.colDef.pivotValueColumn;e&&t&&this.addManagedListeners(t,{colDefChanged:t=>{const o=e.recreateColDef(this.colDef);this.setColDef(o,o,t.source)}})}resetActualWidth(e){const t=this.calculateColInitialWidth(this.colDef);this.setActualWidth(t,e,!0)}calculateColInitialWidth(e){const t=e.width??e.initialWidth??200;return Math.max(Math.min(t,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(e){return this.beans.showRowGroupCols?.isRowGroupDisplayed(this,e)??!1}isPrimary(){return this.primary}isFilterAllowed(){return!!this.colDef.filter}isFieldContainsDots(){return this.fieldContainsDots}isTooltipEnabled(){return this.tooltipEnabled}isTooltipFieldContainsDots(){return this.tooltipFieldContainsDots}getHighlighted(){return this.highlighted}__addEventListener(e,t){this.colEventSvc.addEventListener(e,t)}__removeEventListener(e,t){this.colEventSvc.removeEventListener(e,t)}addEventListener(e,t){this.frameworkEventListenerService=this.beans.frameworkOverrides.createLocalEventListenerWrapper?.(this.frameworkEventListenerService,this.colEventSvc);const o=this.frameworkEventListenerService?.wrap(e,t)??t;this.colEventSvc.addEventListener(e,o)}removeEventListener(e,t){const o=this.frameworkEventListenerService?.unwrap(e,t)??t;this.colEventSvc.removeEventListener(e,o)}createColumnFunctionCallbackParams(e){return Co(this.gos,{node:e,data:e.data,column:this,colDef:this.colDef})}isSuppressNavigable(e){return this.beans.cellNavigation?.isSuppressNavigable(this,e)??!1}isCellEditable(e){return this.beans.editSvc?.isCellEditable({rowNode:e,column:this})??!1}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag(e){return this.isColumnFunc(e,this.colDef.rowDrag)}isDndSource(e){return this.isColumnFunc(e,this.colDef.dndSource)}isCellCheckboxSelection(e){return this.beans.selectionSvc?.isCellCheckboxSelection(this,e)??!1}isSuppressPaste(e){return this.isColumnFunc(e,this.colDef?.suppressPaste??null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue(e){return this.colDef[e]??wo[e]}isColumnFunc(e,t){return"boolean"==typeof t?t:"function"==typeof t&&t(this.createColumnFunctionCallbackParams(e))}createColumnEvent(e,t){return Co(this.gos,{type:e,column:this,columns:[this],source:t})}isMoving(){return this.moving}getSort(){return this.sortDef.direction}getSortDef(){return this.sortDef.direction?this.sortDef:null}getColDefAllowedSortTypes(){const e=[],{sort:t,initialSort:o}=this.colDef,s=null===t?t:Ao(t?.type),i=null===o?o:Ao(o?.type);return s&&e.push(s),i&&e.push(i),e}getSortingOrder(){const e=this.getColDefAllowedSortTypes().includes("absolute")?xo:Ro;return(this.colDef.sortingOrder??this.gos.get("sortingOrder")??e).map(e=>Do(e))}getAvailableSortTypes(){const e=this.getSortingOrder().reduce((e,t)=>(t.direction&&e.push(t.type),e),this.getColDefAllowedSortTypes());return new Set(e)}get wasSortExplicitlyRemoved(){return this._wasSortExplicitlyRemoved}setSortDef(e,t=!1){t||(this._wasSortExplicitlyRemoved=!e.direction),this.sortDef=e}isSortable(){return!!this.getColDefValue("sortable")}isSortAscending(){return"asc"===this.getSort()}isSortDescending(){return"desc"===this.getSort()}isSortNone(){return a(this.getSort())}isSorting(){return l(this.getSort())}getSortIndex(){return this.sortIndex}isMenuVisible(){return this.menuVisible}getAggFunc(){return this.aggFunc}getLeft(){return this.left}getOldLeft(){return this.oldLeft}getRight(){return this.left+this.actualWidth}setLeft(e,t){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchColEvent("leftChanged",t))}isFilterActive(){return this.filterActive}isHovered(){return Dt(261),!!this.beans.colHover?.isHovered(this)}setFirstRightPinned(e,t){this.firstRightPinned!==e&&(this.firstRightPinned=e,this.dispatchColEvent("firstRightPinnedChanged",t))}setLastLeftPinned(e,t){this.lastLeftPinned!==e&&(this.lastLeftPinned=e,this.dispatchColEvent("lastLeftPinnedChanged",t))}isFirstRightPinned(){return this.firstRightPinned}isLastLeftPinned(){return this.lastLeftPinned}isPinned(){return"left"===this.pinned||"right"===this.pinned}isPinnedLeft(){return"left"===this.pinned}isPinnedRight(){return"right"===this.pinned}getPinned(){return this.pinned}setVisible(e,t){const o=!0===e;this.visible!==o&&(this.visible=o,this.dispatchColEvent("visibleChanged",t)),this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){return!this.getColDef().suppressSpanHeaderHeight}getFirstRealParent(){let e=this.getOriginalParent();for(;e?.isPadding();)e=e.getOriginalParent();return e}getColumnGroupPaddingInfo(){let e=this.getParent();if(!e?.isPadding())return{numberOfParents:0,isSpanningTotal:!1};const t=e.getPaddingLevel()+1;let o=!0;for(;e;){if(!e.isPadding()){o=!1;break}e=e.getParent()}return{numberOfParents:t,isSpanningTotal:o}}getColDef(){return this.colDef}getDefinition(){return this.colDef}getColumnGroupShow(){return this.colDef.columnGroupShow}getColId(){return this.colId}getId(){return this.colId}getUniqueId(){return this.colId}getActualWidth(){return this.actualWidth}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}createBaseColDefParams(e){return Co(this.gos,{node:e,data:e.data,colDef:this.colDef,column:this})}getColSpan(e){if(a(this.colDef.colSpan))return 1;const t=this.createBaseColDefParams(e),o=this.colDef.colSpan(t);return Math.max(o,1)}getRowSpan(e){if(a(this.colDef.rowSpan))return 1;const t=this.createBaseColDefParams(e),o=this.colDef.rowSpan(t);return Math.max(o,1)}setActualWidth(e,t,o=!1){e=Math.max(e,this.minWidth),e=Math.min(e,this.maxWidth),this.actualWidth!==e&&(this.actualWidth=e,null!=this.flex&&"flex"!==t&&"gridInitializing"!==t&&(this.flex=null),o||this.fireColumnWidthChangedEvent(t)),this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent(e){this.dispatchColEvent("widthChanged",e)}isGreaterThanMax(e){return e>this.maxWidth}getMinWidth(){return this.minWidth}getMaxWidth(){return this.maxWidth}getFlex(){return this.flex}isRowGroupActive(){return this.rowGroupActive}isPivotActive(){return this.pivotActive}isAnyFunctionActive(){return this.isPivotActive()||this.isRowGroupActive()||this.isValueActive()}isAnyFunctionAllowed(){return this.isAllowPivot()||this.isAllowRowGroup()||this.isAllowValue()}isValueActive(){return this.aggregationActive}isAllowPivot(){return!0===this.colDef.enablePivot}isAllowValue(){return!0===this.colDef.enableValue}isAllowRowGroup(){return!0===this.colDef.enableRowGroup}isAllowFormula(){return!0===this.colDef.allowFormula}dispatchColEvent(e,t,o){const s=this.createColumnEvent(e,t);o&&Ye(s,o),this.colEventSvc.dispatchEvent(s)}dispatchStateUpdatedEvent(e){this.colEventSvc.dispatchEvent({type:"columnStateUpdated",key:e})}};function Do(e){return Eo(e)?{direction:e.direction,type:e.type}:{direction:Io(e),type:Ao(e)}}function Mo(e){return"asc"===e||"desc"===e||null===e}function Po(e){return"default"===e||"absolute"===e}function Eo(e){if(!e||"object"!=typeof e)return!1;const t=e;return Po(t.type)&&Mo(t.direction)}function To(e,t){return e?t?e.type===t.type&&e.direction===t.direction:!e||null===e.direction:!t||null===t.direction}function Io(e){return Mo(e)?e:null}function Ao(e){return Po(e)?e:"default"}function ko(e,t,o){const s=o?.()??t.sortSvc.getDisplaySortForColumn(e),i=Ao(s?.type),n=Io(s?.direction),r=e.getAvailableSortTypes();return{isDefaultSortAllowed:r.has("default"),isAbsoluteSortAllowed:r.has("absolute"),isAbsoluteSort:"absolute"===i,isDefaultSort:"default"===i,isAscending:"asc"===n,isDescending:"desc"===n,direction:n}}function Lo(e){return e instanceof Go}var Go=class extends Oe{constructor(e,t,o,s){super(),this.colGroupDef=e,this.groupId=t,this.padding=o,this.level=s,this.isColumn=!1,this.expandable=!1,this.instanceId=yo(),this.expandableListenerRemoveCallback=null,this.expanded=!!e?.openByDefault}destroy(){this.expandableListenerRemoveCallback&&this.reset(null,void 0),super.destroy()}reset(e,t){this.colGroupDef=e,this.level=t,this.originalParent=null,this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback(),this.children=void 0,this.expandable=void 0}getInstanceId(){return this.instanceId}getOriginalParent(){return this.originalParent}getLevel(){return this.level}isVisible(){return!!this.children&&this.children.some(e=>e.isVisible())}isPadding(){return this.padding}setExpanded(e){this.expanded=void 0!==e&&e,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren(e){this.children=e}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}forEachLeafColumn(e){if(this.children)for(const t of this.children)So(t)?e(t):Lo(t)&&t.forEachLeafColumn(e)}addLeafColumns(e){if(this.children)for(const t of this.children)So(t)?e.push(t):Lo(t)&&t.addLeafColumns(e)}getColumnGroupShow(){const e=this.colGroupDef;if(e)return e.columnGroupShow}setupExpandable(){this.setExpandable(),this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback();const e=this.onColumnVisibilityChanged.bind(this);for(const t of this.getLeafColumns())t.__addEventListener("visibleChanged",e);this.expandableListenerRemoveCallback=()=>{for(const t of this.getLeafColumns())t.__removeEventListener("visibleChanged",e);this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let e=!1,t=!1,o=!1;const s=this.findChildrenRemovingPadding();for(let n=0,r=s.length;n{for(const s of o)Lo(s)&&s.isPadding()?t(s.children):e.push(s)};return t(this.children),e}onColumnVisibilityChanged(){this.setExpandable()}},No={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}};function Bo(e,t,o){const s={},i=e.gos;return Object.assign(s,i.get("defaultColGroupDef")),Object.assign(s,t),i.validateColDef(s,o),s}var Ho=class{constructor(){this.existingKeys={}}addExistingKeys(e){for(let t=0;t0&&Dt(273,{providedId:e,usedId:t}),this.existingKeys[t]=!0,t}o++}}},Oo=(e,t)=>{Lo(e)&&e.setupExpandable(),e.originalParent=t};function Vo(e,t=null,o,s,i){const{existingCols:n,existingGroups:r}=Wo(s),l=new Map(n.map(e=>[e.getId(),e])),a=new Map(r.map(e=>[e.getId(),e]));let d=0;const c=(t,s)=>{if(d=Math.max(d,s),qo(t)){if(!e.colGroupSvc)return null;const o=t.groupId,i=a.get(o),n=new Go(Bo(e,t,o),o,!1,s);return e.context.createBean(n),i&&n.setExpanded(i.isExpanded()),n.setChildren(t.children.map(e=>c(e,s+1))),n}const n=t.colId;let r=l.get(n);const h=_o(e,t,r?.getColId()??n);return r?(r.setColDef(h,t,i),Ko(e,r,h,i)):(r=new Fo(h,t,n,o),e.context.createBean(r)),e.dataTypeSvc?.addColumnListeners(r),r},h=t?.map(e=>c(e,0))??[];let u=0;const g=e.colGroupSvc?e.colGroupSvc.balanceColumnTree(h,0,d,{getUniqueKey:(e,t)=>String(++u)}):h;return Yo(null,g,Oo),{columnTree:g,treeDepth:d}}function zo(e,t=null,o,s,i){const n=new Ho,{existingCols:r,existingGroups:l,existingColKeys:a}=Wo(s);n.addExistingKeys(a);const d=Uo(e,t,0,o,r,n,l,i),{colGroupSvc:c}=e,h=c?.findMaxDepth(d,0)??0,u=c?c.balanceColumnTree(d,0,h,n):d;return Yo(null,u,Oo),{columnTree:u,treeDepth:h}}function Wo(e){const t=[],o=[],s=[];return e&&Yo(null,e,e=>{if(Lo(e)){const t=e;o.push(t)}else{const o=e;s.push(o.getId()),t.push(o)}}),{existingCols:t,existingGroups:o,existingColKeys:s}}function Uo(e,t,o,s,i,n,r,l){if(!t)return[];const{colGroupSvc:a}=e,d=new Array(t.length);for(let c=0;c0))if(null!=o.width)t.setActualWidth(o.width,s);else{const e=t.getActualWidth();t.setActualWidth(e,s)}}function _o(e,t,o,s){const{gos:i,dataTypeSvc:n}=e,r={},l=i.get("defaultColDef");Ye(r,l,!1,!0);const a=function(e,t,o,s){const i=e.dataTypeSvc?.updateColDefAndGetColumnType(t,o,s),n=o.type??i??t.type;return t.type=n,n?is(n):void 0}(e,r,t,o);a&&function(e,t,o){if(!t.length)return;const s=Object.assign({},No),i=e.gos.get("columnTypes")||{};for(const n of Object.keys(i)){const e=i[n];n in s?Dt(34,{key:n}):(e.type&&Dt(35),s[n]=e)}for(const n of t){const e=s[n.trim()];e?Ye(o,e,!1,!0):Dt(36,{t:n})}}(e,a,r);const d=r.cellDataType;Ye(r,t,!1,!0),void 0!==d&&(r.cellDataType=d);const c=i.get("autoGroupColumnDef"),h=Ut(i);return t.rowGroup&&c&&h&&Ye(r,{sort:c.sort,initialSort:c.initialSort},!1,!0),n?.postProcess(r),n?.validateColDef(r,t,l,o),i.validateColDef(r,o,s),r}function qo(e){return void 0!==e.children}function Yo(e,t,o){if(t)for(let s=0;s{for(let s=0;se+t.getActualWidth(),0)}function Jo(e,t,o){const s={};if(!t)return;Yo(null,t,e=>{s[e.getInstanceId()]=e}),o&&Yo(null,o,e=>{s[e.getInstanceId()]=null});const i=Object.values(s).filter(e=>null!=e);e.context.destroyBeans(i)}function es(e){return e.getId().startsWith(Zo)}function ts(e){return("string"==typeof e?e:"getColId"in e?e.getColId():e.colId)?.startsWith("ag-Grid-SelectionColumn")??!1}function os(e){return("string"==typeof e?e:"getColId"in e?e.getColId():e.colId)?.startsWith("ag-Grid-RowNumbersColumn")??!1}function ss(e){return ts(e)||os(e)}function is(e){let t=[];return e instanceof Array?t=e:"string"==typeof e&&(t=e.split(",")),t}function ns(e,o){return t(e,o,(e,t)=>e.getColId()===t.getColId())}function rs(e){e.map={};for(const t of e.list)e.map[t.getId()]=t}function ls(e){return"optionsUpdated"===e?"gridOptionsChanged":e}function as(e,t){return e===t||e.colId==t||e.getColDef()===t}function ds(e,t){const o={...e,sort:void 0,colId:t},s=cs(e);return s&&(o.sort=s.direction,o.sortType=s.type),o}function cs(e){const{sort:t,initialSort:o}=e,s=Eo(t)||Mo(t),i=Eo(o)||Mo(o);return s?Do(t):i?Do(o):null}function hs(e,t){return e+"_"+t}function us(e){return e instanceof gs}var gs=class extends Oe{constructor(e,t,o,s){super(),this.providedColumnGroup=e,this.groupId=t,this.partId=o,this.pinned=s,this.isColumn=!1,this.displayedChildren=[],this.autoHeaderHeight=null,this.parent=null,this.colIdSanitised=f(this.getUniqueId())}reset(){this.parent=null,this.children=null,this.displayedChildren=null}getParent(){return this.parent}getUniqueId(){return hs(this.groupId,this.partId)}isEmptyGroup(){return 0===this.displayedChildren.length}isMoving(){const e=this.getProvidedColumnGroup().getLeafColumns();return!(!e||0===e.length)&&e.every(e=>e.isMoving())}checkLeft(){for(const e of this.displayedChildren)us(e)&&e.checkLeft();if(this.displayedChildren.length>0)if(this.gos.get("enableRtl")){const t=e(this.displayedChildren).getLeft();this.setLeft(t)}else{const e=this.displayedChildren[0].getLeft();this.setLeft(e)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft(e){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchLocalEvent({type:"leftChanged"}))}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let e=0;for(const t of this.displayedChildren??[])e+=t.getActualWidth();return e}isResizable(){if(!this.displayedChildren)return!1;let e=!1;for(const t of this.displayedChildren)t.isResizable()&&(e=!0);return e}getMinWidth(){let e=0;for(const t of this.displayedChildren)e+=t.getMinWidth();return e}addChild(e){this.children||(this.children=[]),this.children.push(e)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}getDisplayedLeafColumns(){const e=[];return this.addDisplayedLeafColumns(e),e}getDefinition(){return this.providedColumnGroup.getColGroupDef()}getColGroupDef(){return this.providedColumnGroup.getColGroupDef()}isPadding(){return this.providedColumnGroup.isPadding()}isExpandable(){return this.providedColumnGroup.isExpandable()}isExpanded(){return this.providedColumnGroup.isExpanded()}setExpanded(e){this.providedColumnGroup.setExpanded(e)}isAutoHeaderHeight(){return!!this.getColGroupDef()?.autoHeaderHeight}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}addDisplayedLeafColumns(e){for(const t of this.displayedChildren??[])So(t)?e.push(t):us(t)&&t.addDisplayedLeafColumns(e)}addLeafColumns(e){for(const t of this.children??[])So(t)?e.push(t):us(t)&&t.addLeafColumns(e)}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){const e=this.getParent();return this.isPadding()&&e?.isPadding()?1+e.getPaddingLevel():0}calculateDisplayedColumns(){this.displayedChildren=[];let e=this;for(;e?.isPadding();)e=e.getParent();if(!e||!e.getProvidedColumnGroup().isExpandable())return this.displayedChildren=this.children,void this.dispatchLocalEvent({type:"displayedChildrenChanged"});for(const t of this.children??[])if(!us(t)||t.displayedChildren?.length)switch(t.getColumnGroupShow()){case"open":e.getProvidedColumnGroup().isExpanded()&&this.displayedChildren.push(t);break;case"closed":e.getProvidedColumnGroup().isExpanded()||this.displayedChildren.push(t);break;default:this.displayedChildren.push(t)}this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},ps="Backspace",ms="Tab",fs="Enter",Cs="Escape",vs=" ",ws="ArrowLeft",bs="ArrowUp",ys="ArrowRight",Ss="ArrowDown",Rs="Delete",xs="F2",Fs="PageUp",Ds="PageDown",Ms="Home",Ps="End",Es="KeyA",Ts="KeyC",Is="KeyD",As="KeyV",ks="KeyY",Ls="KeyZ";function Gs(e){const{keyCode:t}=e;let o;switch(t){case 65:o=Es;break;case 67:o=Ts;break;case 86:o=As;break;case 68:o=Is;break;case 90:o=Ls;break;case 89:o=ks;break;default:o=e.code}return o}var Ns=class e{constructor(e){this.status=0,this.resolution=null,this.waiters=[],e(e=>this.onDone(e),e=>this.onReject(e))}static all(t){return t.length?new e(e=>{let o=t.length;const s=new Array(o);t.forEach((t,i)=>{t.then(t=>{s[i]=t,o--,0===o&&e(s)})})}):e.resolve()}static resolve(t=null){return new e(e=>e(t))}then(t){return new e(e=>{1===this.status?e(t(this.resolution)):this.waiters.push(o=>e(t(o)))})}onDone(e){this.status=1,this.resolution=e;for(const t of this.waiters)t(e)}onReject(e){}},Bs=class extends He{constructor(){super(...arguments),this.beanName="dragAndDrop",this.dragSourceAndParamsList=[],this.dragItem=null,this.dragInitialSourcePointerOffsetX=0,this.dragInitialSourcePointerOffsetY=0,this.lastMouseEvent=null,this.lastDraggingEvent=null,this.dragSource=null,this.dragImageCompPromise=null,this.dragImageComp=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0,this.dropTargets=[],this.externalDropZoneCount=0,this.lastDropTarget=null}addDragSource(e,t=!1){const o={capturePointer:!0,dragSource:e,eElement:e.eElement,dragStartPixels:e.dragStartPixels,onDragStart:t=>this.onDragStart(e,t),onDragStop:this.onDragStop.bind(this),onDragging:this.onDragging.bind(this),onDragCancel:this.onDragCancel.bind(this),includeTouch:t};this.dragSourceAndParamsList.push(o),this.beans.dragSvc.addDragSource(o)}setDragImageCompIcon(e,t=!1){const o=this.dragImageComp;o&&(t||this.dragImageLastIcon!==e)&&(this.dragImageLastIcon=e,o.setIcon(e,t))}removeDragSource(e){const{dragSourceAndParamsList:t,beans:o}=this;for(let s=0,i=t.length;s{for(const o of t){const{width:t,height:s,left:i,right:n,top:r,bottom:l}=o.getBoundingClientRect();if(0===t||0===s)return!1;const a=e.clientX>=i&&e.clientX=r&&e.clientY0}findExternalZone(e){const t=this.dropTargets;for(let o=0,s=t.length;o0?"down":p<0?"up":null,hDirection:g<0?"left":g>0?"right":null,initialSourcePointerOffsetX:l,initialSourcePointerOffsetY:a,dragSource:s,fromNudge:o,dragItem:i,dropZoneTarget:d,dropTarget:n?.dropTarget??null,changed:!!n?.changed});return this.lastDraggingEvent=m,m}positionDragImageComp(e){const t=this.dragImageComp?.getGui();t&&function(e,t,o){const s=e.getBoundingClientRect().height,i=function(e){return R(e)?.clientWidth??(window.innerWidth||-1)}(o)-2,n=function(e){return R(e)?.clientHeight??(window.innerHeight||-1)}(o)-2;if(!e.offsetParent)return;const r=ee(e.offsetParent),{clientY:l,clientX:a}=t;let d=l-r.top-s/2,c=a-r.left-10;const h=b(o),u=h.defaultView||window,g=u.pageYOffset||h.documentElement.scrollTop,p=u.pageXOffset||h.documentElement.scrollLeft;i>0&&c+e.clientWidth>i+p&&(c=i+p-e.clientWidth),c<0&&(c=0),n>0&&d+e.clientHeight>n+g&&(d=n+g-e.clientHeight),d<0&&(d=0),e.style.left=`${c}px`,e.style.top=`${d}px`}(t,e,this.beans)}removeDragImageComp(e){this.dragImageComp===e&&(this.dragImageComp=null),e&&(e.getGui()?.remove(),this.destroyBean(e))}createAndUpdateDragImageComp(e){const t=this.createDragImageComp(e)??null;this.dragImageCompPromise=t,t?.then(e=>{const o=this.lastMouseEvent;if(t!==this.dragImageCompPromise||!o||!this.isAlive())return void this.destroyBean(e);this.dragImageCompPromise=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0;const s=this.dragImageComp;s!==e&&(this.dragImageComp=e,this.removeDragImageComp(s)),e&&(this.appendDragImageComp(e),this.updateDragImageComp(),this.positionDragImageComp(o))})}appendDragImageComp(e){const t=e.getGui(),o=t.style;o.position="absolute",o.zIndex="9999",this.beans.dragSvc?.hasPointerCapture()&&(o.pointerEvents="none"),this.gos.setInstanceDomData(t),this.beans.environment.applyThemeClasses(t),o.top="20px",o.left="20px";const s=R(this.beans);s?s.appendChild(t):this.warnNoBody()}updateDragImageComp(){const{dragImageComp:e,dragSource:t,lastDropTarget:o,lastDraggingEvent:s,dragImageLastLabel:i}=this;if(!e)return;this.setDragImageCompIcon(o?.getIconName?.(s)??null);let n=t?.dragItemName;"function"==typeof n&&(n=n(s)),n||(n=""),i!==n&&(this.dragImageLastLabel=n,e.setLabel(n))}};function Hs(e){return"object"==typeof e&&!!e.component}function Os(e,t,o,s){const{name:i}=o;let n,r,l,a,d,c;if(t){const o=t,h=o[i+"Selector"],u=h?h(s):null,g=t=>{"string"==typeof t?n=t:null!=t&&!0!==t&&(e.isFrameworkComponent(t)?l=t:r=t)};u?(g(u.component),a=u.params,d=u.popup,c=u.popupPosition):g(o[i])}return{compName:n,jsComp:r,fwComp:l,paramsFromSelector:a,popupFromSelector:d,popupPositionFromSelector:c}}var Vs={name:"dragAndDropImageComponent",mandatoryMethods:["setIcon","setLabel"]},zs={name:"headerComponent",optionalMethods:["refresh"]},Ws={name:"innerHeaderComponent"},Us={name:"innerHeaderGroupComponent"},$s={name:"headerGroupComponent"},js={name:"innerRenderer",cellRenderer:!0,optionalMethods:["afterGuiAttached"]},Ks={name:"cellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},_s={name:"loadingCellRenderer",cellRenderer:!0},qs={name:"cellEditor",mandatoryMethods:["getValue"],optionalMethods:["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached","refresh"]},Ys={name:"tooltipComponent"},Zs={name:"filter",mandatoryMethods:["isFilterActive","doesFilterPass","getModel","setModel"],optionalMethods:["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onFloatingFilterChanged","onAnyFilterChanged","refresh"]},Qs={name:"floatingFilterComponent",mandatoryMethods:["onParentModelChanged"],optionalMethods:["afterGuiAttached","refresh"]},Xs={name:"fullWidthCellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},Js={name:"loadingCellRenderer",cellRenderer:!0},ei={name:"groupRowRenderer",optionalMethods:["afterGuiAttached"],cellRenderer:!0},ti={name:"detailCellRenderer",optionalMethods:["refresh"],cellRenderer:!0};function oi(e,t,o){return e.getCompDetails(t,js,void 0,o)}function si(e,t,o){return e.getCompDetails(t,Ks,void 0,o)}function ii(e,t,o){return e.getCompDetails(t,_s,"agSkeletonCellRenderer",o,!0)}function ni(e,t,o){return e.getCompDetails(t,qs,"agCellEditor",o,!0)}function ri(e,t,o,s){const i=t.filter;return Hs(i)&&(t={filter:i.component,filterParams:t.filterParams}),e.getCompDetails(t,Zs,s,o,!0)}function li(e,t,o,s){return e.getCompDetails(t,Qs,s,o)}function ai(e,t){return Os(e,t,Zs)}function di(e,t,o){return e.mergeParams(t,Zs,o)}var ci=/* @__PURE__ */(e=>(e[e.ToolPanel=0]="ToolPanel",e[e.HeaderCell=1]="HeaderCell",e[e.RowDrag=2]="RowDrag",e[e.ChartPanel=3]="ChartPanel",e[e.AdvancedFilterBuilder=4]="AdvancedFilterBuilder",e))(ci||{}),hi="ag-resizer-wrapper",ui=(e,t)=>({tag:"div",ref:`${e}Resizer`,cls:`ag-resizer ag-resizer-${t}`}),gi={tag:"div",cls:hi,children:[ui("eTopLeft","topLeft"),ui("eTop","top"),ui("eTopRight","topRight"),ui("eRight","right"),ui("eBottomRight","bottomRight"),ui("eBottom","bottom"),ui("eBottomLeft","bottomLeft"),ui("eLeft","left")]},pi=class extends He{constructor(e,t){super(),this.element=e,this.dragStartPosition={x:0,y:0},this.position={x:0,y:0},this.lastSize={width:-1,height:-1},this.positioned=!1,this.resizersAdded=!1,this.resizeListeners=[],this.boundaryEl=null,this.isResizing=!1,this.isMoving=!1,this.resizable={},this.movable=!1,this.currentResizer=null,this.config={popup:!1,...t}}wireBeans(e){this.popupSvc=e.popupSvc,this.dragSvc=e.dragSvc}center(e){const{clientHeight:t,clientWidth:o}=this.offsetParent,s=o/2-this.getWidth()/2,i=t/2-this.getHeight()/2;this.offsetElement(s,i,e)}initialisePosition(e){if(this.positioned)return;const{centered:t,forcePopupParentAsOffsetParent:o,minWidth:s,width:i,minHeight:n,height:r,x:l,y:a}=this.config;this.offsetParent||this.setOffsetParent();let d=0,c=0;const h=re(this.element);if(h){const e=this.findBoundaryElement(),t=window.getComputedStyle(e);if(null!=t.minWidth){const o=e.offsetWidth-this.element.offsetWidth;c=Number.parseInt(t.minWidth,10)-o}if(null!=t.minHeight){const o=e.offsetHeight-this.element.offsetHeight;d=Number.parseInt(t.minHeight,10)-o}}if(this.minHeight=n||d,this.minWidth=s||c,i&&this.setWidth(i),r&&this.setHeight(r),i&&r||this.refreshSize(),t)this.center(e);else if(l||a)this.offsetElement(l,a,e);else if(h&&o){let t=this.boundaryEl,o=!0;if(t||(t=this.findBoundaryElement(),o=!1),t){const s=Number.parseFloat(t.style.top),i=Number.parseFloat(t.style.left);o?this.offsetElement(Number.isNaN(i)?0:i,Number.isNaN(s)?0:s,e):this.setPosition(i,s)}}this.positioned=!!this.offsetParent}isPositioned(){return this.positioned}getPosition(){return this.position}setMovable(e,t){if(!this.config.popup||e===this.movable)return;this.movable=e;const o=this.moveElementDragListener||{eElement:t,onDragStart:this.onMoveStart.bind(this),onDragging:this.onMove.bind(this),onDragStop:this.onMoveEnd.bind(this)};e?(this.dragSvc?.addDragSource(o),this.moveElementDragListener=o):(this.dragSvc?.removeDragSource(o),this.moveElementDragListener=void 0)}setResizable(e){if(this.clearResizeListeners(),e?this.addResizers():this.removeResizers(),"boolean"==typeof e){if(!1===e)return;e={topLeft:e,top:e,topRight:e,right:e,bottomRight:e,bottom:e,bottomLeft:e,left:e}}for(const t of Object.keys(e)){const o=!!e[t],s=this.getResizerElement(t),i={dragStartPixels:0,eElement:s,onDragStart:e=>this.onResizeStart(e,t),onDragging:this.onResize.bind(this),onDragStop:e=>this.onResizeEnd(e,t)};(o||!this.isAlive()&&!o)&&(o?(this.dragSvc?.addDragSource(i),this.resizeListeners.push(i),s.style.pointerEvents="all"):s.style.pointerEvents="none",this.resizable[t]=o)}}removeSizeFromEl(){this.element.style.removeProperty("height"),this.element.style.removeProperty("width"),this.element.style.removeProperty("flex")}restoreLastSize(){this.element.style.flex="0 0 auto";const{height:e,width:t}=this.lastSize;-1!==t&&(this.element.style.width=`${t}px`),-1!==e&&(this.element.style.height=`${e}px`)}getHeight(){return this.element.offsetHeight}setHeight(e){const{popup:t}=this.config,o=this.element;let s=!1;if("string"==typeof e&&e.includes("%"))me(o,e),e=X(o),s=!0;else if(e=Math.max(this.minHeight,e),this.positioned){const t=this.getAvailableHeight();t&&e>t&&(e=t)}this.getHeight()!==e&&(s?(o.style.maxHeight="unset",o.style.minHeight="unset"):t?me(o,e):(o.style.height=`${e}px`,o.style.flex="0 0 auto",this.lastSize.height="number"==typeof e?e:Number.parseFloat(e)))}getAvailableHeight(){const{popup:e,forcePopupParentAsOffsetParent:t}=this.config;this.positioned||this.initialisePosition();const{clientHeight:o}=this.offsetParent;if(!o)return null;const s=this.element.getBoundingClientRect(),i=this.offsetParent.getBoundingClientRect(),n=e?this.position.y:s.top,r=e?0:i.top;let l=0;if(t){const e=this.element.parentElement;if(e){const{bottom:t}=e.getBoundingClientRect();l=t-s.bottom}}return o+r-n-l}getWidth(){return this.element.offsetWidth}setWidth(e){const t=this.element,{popup:o}=this.config;let s=!1;if("string"==typeof e&&e.includes("%"))pe(t,e),e=J(t),s=!0;else if(this.positioned){e=Math.max(this.minWidth,e);const{clientWidth:t}=this.offsetParent,s=o?this.position.x:this.element.getBoundingClientRect().left;t&&e+s>t&&(e=t-s)}this.getWidth()!==e&&(s?(t.style.maxWidth="unset",t.style.minWidth="unset"):this.config.popup?pe(t,e):(t.style.width=`${e}px`,t.style.flex=" unset",this.lastSize.width="number"==typeof e?e:Number.parseFloat(e)))}offsetElement(e=0,t=0,o){const{forcePopupParentAsOffsetParent:s}=this.config,i=s?this.boundaryEl:this.element;i&&(this.popupSvc?.positionPopup({ePopup:i,keepWithinBounds:!0,skipObserver:this.movable||this.isResizable(),updatePosition:()=>({x:e,y:t}),postProcessCallback:o}),this.setPosition(Number.parseFloat(i.style.left),Number.parseFloat(i.style.top)))}constrainSizeToAvailableHeight(e){if(!this.config.forcePopupParentAsOffsetParent)return;e&&this.popupSvc?(this.resizeObserverSubscriber?.(),this.resizeObserverSubscriber=we(this.beans,this.popupSvc?.getPopupParent(),()=>{const e=this.getAvailableHeight();this.element.style.setProperty("max-height",`${e}px`)})):(this.element.style.removeProperty("max-height"),this.resizeObserverSubscriber&&(this.resizeObserverSubscriber(),this.resizeObserverSubscriber=void 0))}setPosition(e,t){this.position.x=e,this.position.y=t}updateDragStartPosition(e,t){this.dragStartPosition={x:e,y:t}}calculateMouseMovement(e){const{e:t,isLeft:o,isTop:s,anywhereWithin:i,topBuffer:n}=e,r=t.clientX-this.dragStartPosition.x,l=t.clientY-this.dragStartPosition.y;return{movementX:this.shouldSkipX(t,!!o,!!i,r)?0:r,movementY:this.shouldSkipY(t,!!s,n,l)?0:l}}shouldSkipX(e,t,o,s){const i=this.element.getBoundingClientRect(),n=this.offsetParent.getBoundingClientRect(),r=this.boundaryEl.getBoundingClientRect(),l=this.config.popup?this.position.x:i.left;let a=l<=0&&n.left>=e.clientX||n.right<=e.clientX&&n.right<=r.right;return!!a||(a=t?s<0&&e.clientX>l+n.left||s>0&&e.clientXr.right||s>0&&e.clientXr.right||s>0&&e.clientX=e.clientY||n.bottom<=e.clientY&&n.bottom<=r.bottom;return!!a||(a=t?s<0&&e.clientY>l+n.top+o||s>0&&e.clientYr.bottom||s>0&&e.clientY({element:this.element.querySelector(`[data-ref=${e}Resizer]`)});this.resizerMap={topLeft:e("eTopLeft"),top:e("eTop"),topRight:e("eTopRight"),right:e("eRight"),bottomRight:e("eBottomRight"),bottom:e("eBottom"),bottomLeft:e("eBottomLeft"),left:e("eLeft")}}addResizers(){if(this.resizersAdded)return;const e=this.element;e&&(e.appendChild(xe(gi)),this.createResizeMap(),this.resizersAdded=!0)}removeResizers(){this.resizerMap=void 0,this.element.querySelector(`.${hi}`)?.remove(),this.resizersAdded=!1}getResizerElement(e){return this.resizerMap[e].element}onResizeStart(e,t){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.currentResizer={isTop:!!t.match(/top/i),isRight:!!t.match(/right/i),isBottom:!!t.match(/bottom/i),isLeft:!!t.match(/left/i)},this.element.classList.add("ag-resizing"),this.resizerMap[t].element.classList.add("ag-active");const{popup:o,forcePopupParentAsOffsetParent:s}=this.config;o||s||this.applySizeToSiblings(this.currentResizer.isBottom||this.currentResizer.isTop),this.isResizing=!0,this.updateDragStartPosition(e.clientX,e.clientY)}getSiblings(){const e=this.element.parentElement;return e?Array.prototype.slice.call(e.children).filter(e=>!e.classList.contains("ag-hidden")):null}getMinSizeOfSiblings(){const e=this.getSiblings()||[];let t=0,o=0;for(const s of e){const e=!!s.style.flex&&"0 0 auto"!==s.style.flex;if(s===this.element)continue;let i=this.minHeight||0,n=this.minWidth||0;if(e){const e=window.getComputedStyle(s);e.minHeight&&(i=Number.parseInt(e.minHeight,10)),e.minWidth&&(n=Number.parseInt(e.minWidth,10))}else i=s.offsetHeight,n=s.offsetWidth;t+=i,o+=n}return{height:t,width:o}}applySizeToSiblings(e){let t=null;const o=this.getSiblings();if(o){for(let s=0;se)}onResize(e){if(!this.isResizing||!this.currentResizer)return;const{popup:t,forcePopupParentAsOffsetParent:o}=this.config,{isTop:s,isRight:i,isBottom:n,isLeft:r}=this.currentResizer,l=i||r,a=n||s,{movementX:d,movementY:c}=this.calculateMouseMovement({e:e,isLeft:r,isTop:s}),h=this.position.x,u=this.position.y;let g=0,p=0;if(l&&d){const e=r?-1:1,t=this.getWidth(),o=t+d*e;let s=!1;r&&(g=t-o,(h+g<=0||o<=this.minWidth)&&(s=!0,g=0)),s||this.setWidth(o)}if(a&&c){const e=s?-1:1,t=this.getHeight(),o=t+c*e;let i=!1;s?(p=t-o,(u+p<=0||o<=this.minHeight)&&(i=!0,p=0)):!this.config.popup&&!this.config.forcePopupParentAsOffsetParent&&tthis.element.parentElement.offsetHeight&&(i=!0),i||this.setHeight(o)}this.updateDragStartPosition(e.clientX,e.clientY),((t||o)&&g||p)&&this.offsetElement(h+g,u+p)}onResizeEnd(e,t){this.isResizing=!1,this.currentResizer=null,this.boundaryEl=null,this.element.classList.remove("ag-resizing"),this.resizerMap[t].element.classList.remove("ag-active"),this.dispatchLocalEvent({type:"resize"})}refreshSize(){const e=this.element;this.config.popup&&(this.config.width||this.setWidth(e.offsetWidth),this.config.height||this.setHeight(e.offsetHeight))}onMoveStart(e){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.isMoving=!0,this.element.classList.add("ag-moving"),this.updateDragStartPosition(e.clientX,e.clientY)}onMove(e){if(!this.isMoving)return;const{x:t,y:o}=this.position;let s;this.config.calculateTopBuffer&&(s=this.config.calculateTopBuffer());const{movementX:i,movementY:n}=this.calculateMouseMovement({e:e,isTop:!0,anywhereWithin:!0,topBuffer:s});this.offsetElement(t+i,o+n),this.updateDragStartPosition(e.clientX,e.clientY)}onMoveEnd(){this.isMoving=!1,this.boundaryEl=null,this.element.classList.remove("ag-moving")}setOffsetParent(){this.config.forcePopupParentAsOffsetParent&&this.popupSvc?this.offsetParent=this.popupSvc.getPopupParent():this.offsetParent=this.element.offsetParent}findBoundaryElement(){let e=this.element;for(;e;){if("static"!==window.getComputedStyle(e).position)return e;e=e.parentElement}return this.element}clearResizeListeners(){for(;this.resizeListeners.length;){const e=this.resizeListeners.pop();this.dragSvc?.removeDragSource(e)}}destroy(){super.destroy(),this.moveElementDragListener&&this.dragSvc?.removeDragSource(this.moveElementDragListener),this.constrainSizeToAvailableHeight(!1),this.clearResizeListeners(),this.removeResizers()}},mi=class extends pi{};function fi(e){return"function"==typeof e?.getGui}var Ci,vi,wi,bi,yi,Si,Ri,xi=class{constructor(e){this.cssClassStates={},this.getGui=e}toggleCss(e,t){if(e){if(e.includes(" ")){const o=(e||"").split(" ");if(o.length>1){for(const e of o)this.toggleCss(e,t);return}}this.cssClassStates[e]!==t&&e.length&&(this.getGui()?.classList.toggle(e,t),this.cssClassStates[e]=t)}}},Fi=0,Di=class extends He{constructor(e,t){super(),this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=Fi++,this.cssManager=new xi(()=>this.eGui),this.componentSelectors=new Map((t??[]).map(e=>[e.selector,e])),e&&this.setTemplate(e)}preConstruct(){this.wireTemplate(this.getGui()),this.addGlobalCss()}wireTemplate(e,t){e&&this.gos&&(this.applyElementsToComponent(e),this.createChildComponentsFromTags(e,t))}getCompId(){return this.compId}getDataRefAttribute(e){return e.getAttribute?e.getAttribute(Se):null}applyElementsToComponent(e,t,o,s=null){if(void 0===t&&(t=this.getDataRefAttribute(e)),t){const i=this[t];if(null===i)this[t]=s??e;else{const e=o?.[t];if(!this.suppressDataRefValidation&&!e)throw new Error(`data-ref: ${t} on ${this.constructor.name} with ${i}`)}}}createChildComponentsFromTags(e,t){const o=[];for(const s of e.childNodes??[])o.push(s);for(const s of o){if(!(s instanceof HTMLElement))continue;const o=this.createComponentFromElement(s,e=>{const t=e.getGui();if(t)for(const o of s.attributes??[])t.setAttribute(o.name,o.value)},t);if(o){if(o.addItems&&s.children.length){this.createChildComponentsFromTags(s,t);const e=Array.prototype.slice.call(s.children);o.addItems(e)}this.swapComponentForNode(o,e,s)}else s.childNodes&&this.createChildComponentsFromTags(s,t)}}createComponentFromElement(e,t,o){const s=e.nodeName,i=this.getDataRefAttribute(e),n=0===s.indexOf("AG-"),r=n?this.componentSelectors.get(s):null;let l=null;if(r){const e=o&&i?o[i]:void 0;l=new r.component(e),l.setParentComponent(this),this.createBean(l,null,t)}else if(n)throw new Error(`selector: ${s}`);return this.applyElementsToComponent(e,i,o,l),l}swapComponentForNode(e,t,o){const s=e.getGui();t.replaceChild(s,o),t.insertBefore(document.createComment(o.nodeName),s),this.addDestroyFunc(this.destroyBean.bind(this,e))}activateTabIndex(e,t){const o=t??this.gos.get("tabIndex");e||(e=[]),e.length||e.push(this.getGui());for(const s of e)s.setAttribute("tabindex",o.toString())}setTemplate(e,t,o){let s;s="string"==typeof e||null==e?le(e):xe(e),this.setTemplateFromElement(s,t,o)}setTemplateFromElement(e,t,o,s=!1){if(this.eGui=e,this.suppressDataRefValidation=s,t)for(let i=0;ithis.eGui.removeEventListener(e,t))}addCss(e){this.cssManager.toggleCss(e,!0)}removeCss(e){this.cssManager.toggleCss(e,!1)}toggleCss(e,t){this.cssManager.toggleCss(e,t)}registerCSS(e){this.css===Mi?(this.css=[e],this.addGlobalCss()):(this.css||(this.css=[]),this.css.push(e))}addGlobalCss(){if(Array.isArray(this.css)){const e="component-"+Object.getPrototypeOf(this)?.constructor?.name;for(const t of this.css??[])this.beans.environment.addGlobalCSS(t,e)}this.css=Mi}},Mi=Symbol(),Pi=class extends Di{};function Ei(){return void 0===Ci&&(Ci=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),Ci}function Ti(){return void 0===vi&&(vi=/(firefox)/i.test(navigator.userAgent)),vi}function Ii(){return void 0===wi&&(wi=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)),wi}function Ai(){return void 0===bi&&(bi=/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1),bi}function ki(e){if(!e)return null;const t=e.tabIndex,o=e.getAttribute("tabIndex");return-1!==t||null!==o&&(""!==o||Ti())?t.toString():null}function Li(){return null==Si&&Gi(),Si}function Gi(){const e=document.body,t=document.createElement("div");t.style.width=t.style.height="100px",t.style.opacity="0",t.style.overflow="scroll",t.style.msOverflowStyle="scrollbar",t.style.position="absolute",e.appendChild(t);let o=t.offsetWidth-t.clientWidth;0===o&&0===t.clientWidth&&(o=null),t.parentNode&&t.remove(),null!=o&&(Si=o,yi=0===o)}function Ni(){return null==yi&&Gi(),yi}var Bi=!1,Hi=0;function Oi(e){const t=Bi,o="keydown"===e.type;o&&(e.ctrlKey||e.metaKey||e.altKey)||t!==o&&(Bi=o)}function Vi(){return Bi}function zi(e,t,o=!1){let s=$;t&&(s+=", "+t),o&&(s+=', [tabindex="-1"]');const i=Array.prototype.slice.apply(e.querySelectorAll("[tabindex], input, select, button, textarea, [href]")).filter(e=>re(e)),n=Array.prototype.slice.apply(e.querySelectorAll(s));return n.length?(r=n,i.filter(e=>-1===r.indexOf(e))):i;var r}function Wi(t,o=!1,s=!1,i=!1){const n=zi(t,i?".ag-tab-guard":null,s),r=o?e(n):n[0];return!!r&&(r.focus({preventScroll:!0}),!0)}function Ui(e,t,o,s){const i=zi(t,o?':not([tabindex="-1"])':null),n=w(e);let r;r=o?i.findIndex(e=>e.contains(n)):i.indexOf(n);const l=r+(s?-1:1);return l<0||l>=i.length?null:i[l]}function $i(e,t=5){let o=0;for(;e&&null===ki(e)&&++o<=t;)e=e.parentElement;return null===ki(e)?null:e}var ji="ag-focus-managed",Ki=class extends He{constructor(e,t={isStopPropagation:()=>!1,stopPropagation:()=>{}},o={}){super(),this.eFocusable=e,this.stopPropagationCallbacks=t,this.callbacks=o,this.callbacks={shouldStopEventPropagation:()=>!1,onTabKeyDown:e=>{if(e.defaultPrevented)return;const t=Ui(this.beans,this.eFocusable,!1,e.shiftKey);t&&(t.focus(),e.preventDefault())},...o}}postConstruct(){const{eFocusable:e,callbacks:{onFocusIn:t,onFocusOut:o}}=this;e.classList.add(ji),this.addKeyDownListeners(e),t&&this.addManagedElementListeners(e,{focusin:t}),o&&this.addManagedElementListeners(e,{focusout:o})}addKeyDownListeners(e){this.addManagedElementListeners(e,{keydown:e=>{if(e.defaultPrevented||this.stopPropagationCallbacks.isStopPropagation(e))return;const{callbacks:t}=this;t.shouldStopEventPropagation(e)?this.stopPropagationCallbacks.stopPropagation(e):e.key===ms?t.onTabKeyDown(e):t.handleKeyDown&&t.handleKeyDown(e)}})}},_i="__ag_Grid_Stop_Propagation";function qi(e){e[_i]=!0}function Yi(e){return!0===e[_i]}var Zi={isStopPropagation:Yi,stopPropagation:qi},Qi=class extends Ki{constructor(e,t){super(e,Zi,t)}},Xi={applyFilter:"Apply",clearFilter:"Clear",resetFilter:"Reset",cancelFilter:"Cancel",textFilter:"Text Filter",numberFilter:"Number Filter",bigintFilter:"BigInt Filter",dateFilter:"Date Filter",setFilter:"Set Filter",filterOoo:"Filter...",empty:"Choose one",equals:"Equals",notEqual:"Does not equal",lessThan:"Less than",greaterThan:"Greater than",inRange:"Between",inRangeStart:"From",inRangeEnd:"To",lessThanOrEqual:"Less than or equal to",greaterThanOrEqual:"Greater than or equal to",contains:"Contains",notContains:"Does not contain",startsWith:"Begins with",endsWith:"Ends with",blank:"Blank",notBlank:"Not blank",before:"Before",after:"After",andCondition:"AND",orCondition:"OR",dateFormatOoo:"yyyy-mm-dd",filterSummaryInactive:"is (All)",filterSummaryContains:"contains",filterSummaryNotContains:"does not contain",filterSummaryTextEquals:"equals",filterSummaryTextNotEqual:"does not equal",filterSummaryStartsWith:"begins with",filterSummaryEndsWith:"ends with",filterSummaryBlank:"is blank",filterSummaryNotBlank:"is not blank",filterSummaryEquals:"=",filterSummaryNotEqual:"!=",filterSummaryGreaterThan:">",filterSummaryGreaterThanOrEqual:">=",filterSummaryLessThan:"<",filterSummaryLessThanOrEqual:"<=",filterSummaryInRange:"between",yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",last7Days:"Last 7 Days",lastWeek:"Last Week",thisWeek:"This Week",nextWeek:"Next Week",last30Days:"Last 30 Days",lastMonth:"Last Month",thisMonth:"This Month",nextMonth:"Next Month",last90Days:"Last 90 Days",lastQuarter:"Last Quarter",thisQuarter:"This Quarter",nextQuarter:"Next Quarter",lastYear:"Last Year",thisYear:"This Year",yearToDate:"Year To Date",nextYear:"Next Year",last6Months:"Last 6 Months",last12Months:"Last 12 Months",last24Months:"Last 24 Months",filterSummaryInRangeValues:e=>`(${e[0]}, ${e[1]})`,filterSummaryTextQuote:e=>`"${e[0]}"`,minDateValidation:e=>`Date must be after ${e[0]}`,maxDateValidation:e=>`Date must be before ${e[0]}`,strictMinValueValidation:e=>`Must be greater than ${e[0]}`,strictMaxValueValidation:e=>`Must be less than ${e[0]}`};function Ji(e,t,o){return function(e,t,o,s){const i=Xi[o];return e.getLocaleTextFunc()(o,"function"==typeof i?i(s):i,s)}(e,0,t,o)}function en(e){return(e.buttons?.indexOf("apply")??-1)>=0}var tn=class extends Pi{constructor(e,t){super(),this.filterNameKey=e,this.cssIdentifier=t,this.applyActive=!1,this.debouncePending=!1,this.defaultDebounceMs=0}postConstruct(){const e={tag:"div",cls:`ag-filter-body-wrapper ag-${this.cssIdentifier}-body-wrapper`,children:[this.createBodyTemplate()]};this.setTemplate(e,this.getAgComponents()),this.createManagedBean(new Qi(this.getFocusableElement(),{handleKeyDown:this.handleKeyDown.bind(this)})),this.positionableFeature=this.createBean(new mi(this.getPositionableElement(),{forcePopupParentAsOffsetParent:!0}))}handleKeyDown(e){}init(e){const t=e;this.setParams(t),this.setModelIntoUi(t.state.model,!0).then(()=>this.updateUiVisibility())}areStatesEqual(e,t){return e===t}refresh(e){const t=e,o=this.params;this.params=t;const{source:s,state:i,additionalEventAttributes:n}=t;"colDef"===s&&this.updateParams(t,o);const r=this.state;this.state=i;const l=n?.fromAction;return(l&&"apply"!==l||i.model!==r.model||!this.areStatesEqual(i.state,r.state))&&this.setModelIntoUi(i.model),!0}setParams(e){this.params=e,this.state=e.state,this.commonUpdateParams(e)}updateParams(e,t){this.commonUpdateParams(e,t)}commonUpdateParams(e,t){this.applyActive=en(e),this.setupApplyDebounced()}doesFilterPass(e){Dt(283);const{getHandler:t,model:o,column:s}=this.params;return t().doesFilterPass({...e,model:o,handlerParams:this.beans.colFilter.getHandlerParams(s)})}getFilterTitle(){return this.translate(this.filterNameKey)}isFilterActive(){return Dt(284),null!=this.params.model}setupApplyDebounced(){const e=function(e,t){const{debounceMs:o}=e;return en(e)?(null!=o&&Dt(71),0):o??t}(this.params,this.defaultDebounceMs),t=je(this,this.checkApplyDebounce.bind(this),e);this.applyDebounced=()=>{this.debouncePending=!0,t()}}checkApplyDebounce(){this.debouncePending&&(this.debouncePending=!1,this.doApplyModel())}getModel(){return Dt(285),this.params.model}setModel(e){Dt(286);const{beans:t,params:o}=this;return t.colFilter.setModelForColumnLegacy(o.column,e)}applyModel(e="api"){return this.doApplyModel()}canApply(e){return!0}doApplyModel(e){const{params:t,state:{valid:o=!0,model:s}}=this;if(!o)return!1;const i=!this.areModelsEqual(t.model,s);return i&&t.onAction("apply",e),i}onNewRowsLoaded(){}onUiChanged(e,t=!1){this.updateUiVisibility();const o=this.getModelFromUi(),s={model:o,state:this.getState(),valid:this.canApply(o)};this.state=s;const{params:i,gos:n,eventSvc:r,applyActive:l}=this;i.onStateChange(s),i.onUiChange(this.getUiChangeEventParams()),n.get("enableFilterHandlers")||r.dispatchEvent({type:"filterModified",column:i.column,filterInstance:this}),s.valid&&(e??(e=l?void 0:"debounce"),"immediately"===e?this.doApplyModel({afterFloatingFilter:t,afterDataChange:!1}):"debounce"===e&&this.applyDebounced())}getState(){}getUiChangeEventParams(){}afterGuiAttached(e){this.lastContainerType=e?.container,this.refreshFilterResizer(e?.container)}refreshFilterResizer(e){const{positionableFeature:t,gos:o}=this;if(!t)return;const s="floatingFilter"===e||"columnFilter"===e;s?(t.restoreLastSize(),t.setResizable(o.get("enableRtl")?{bottom:!0,bottomLeft:!0,left:!0}:{bottom:!0,bottomRight:!0,right:!0})):(t.removeSizeFromEl(),t.setResizable(!1)),t.constrainSizeToAvailableHeight(s)}afterGuiDetached(){this.checkApplyDebounce(),this.positionableFeature?.constrainSizeToAvailableHeight(!1)}destroy(){this.positionableFeature=this.destroyBean(this.positionableFeature),super.destroy()}translate(e,t){return Ji(this,e,t)}getPositionableElement(){return this.getGui()}areModelsEqual(e,t){return e===t||null==e&&null==t||null!=e&&null!=t&&this.areNonNullModelsEqual(e,t)}},on=class extends Di{isPopup(){return!0}setParentComponent(e){e.addCss("ag-has-popup"),super.setParentComponent(e)}destroy(){const e=this.parentComponent;e?.isAlive()&&e.getGui().classList.remove("ag-has-popup"),super.destroy()}},sn=class extends on{constructor(){super(...arguments),this.errorMessages=null}init(e){this.params=e,this.initialiseEditor(e),this.eEditor.onValueChange(()=>e.validate())}destroy(){this.eEditor.destroy(),this.errorMessages=null,super.destroy()}};function nn(e){const t=e.rowModel;return"clientSide"===t.getType()?t:void 0}var rn=0,ln=class{constructor(e){this.id=void 0,this.destroyed=!1,this._groupData=void 0,this.master=!1,this.detail=void 0,this.rowIndex=null,this.field=null,this.rowGroupColumn=null,this.key=null,this.sourceRowIndex=-1,this._leafs=void 0,this.childrenAfterGroup=null,this.childrenAfterFilter=null,this.childrenAfterAggFilter=null,this.childrenAfterSort=null,this.allChildrenCount=null,this.childrenMapped=null,this.treeParent=null,this.treeNodeFlags=0,this._expanded=void 0,this.displayed=!1,this.rowTop=null,this.oldRowTop=null,this.selectable=!0,this.__objectId=rn++,this.alreadyRendered=!1,this.formulaRowIndex=null,this.hovered=!1,this.__selected=!1,this.beans=e}get groupData(){const e=this._groupData;return void 0!==e?e:this.footer?this.sibling?.groupData:this.beans.groupStage?.loadGroupData(this)??null}set groupData(e){this._groupData=e}get primaryRow(){let e=this.footer&&this.sibling?this.sibling:this;const{pinnedSibling:t}=e;return t&&e.rowPinned&&(e=t,e.footer&&e.sibling&&(e=e.sibling)),e}get allLeafChildren(){const e=this._leafs;return void 0===e?this.beans.groupStage?.loadLeafs?.(this)??null:e}set allLeafChildren(e){this._leafs=e}get expanded(){const e=this.beans.expansionSvc;return e?e.isExpanded(this):-1===this.level||!!this._expanded}set expanded(e){this._expanded=e}setData(e){this.setDataCommon(e,!1)}updateData(e){this.setDataCommon(e,!0)}setDataCommon(e,t){const{valueCache:o,eventSvc:s}=this.beans,i=this.data;this.data=e,o?.onDataChanged(),this.updateDataOnDetailNode(),this.resetQuickFilterAggregateText();const n=this.createDataChangedEvent(e,i,t);if(this.__localEventService?.dispatchEvent(n),this.sibling){this.sibling.data=e;const o=this.sibling.createDataChangedEvent(e,i,t);this.sibling.__localEventService?.dispatchEvent(o)}s.dispatchEvent({type:"rowNodeDataChanged",node:this});const r=this.pinnedSibling;r&&(r.data=e,r.__localEventService?.dispatchEvent(r.createDataChangedEvent(e,i,t)),s.dispatchEvent({type:"rowNodeDataChanged",node:r}))}updateDataOnDetailNode(){const e=this.detailNode;e&&(e.data=this.data)}createDataChangedEvent(e,t,o){return{type:"dataChanged",node:this,oldData:t,newData:e,update:o}}getRowIndexString(){return null==this.rowIndex?(Mt(13),null):"top"===this.rowPinned?"t-"+this.rowIndex:"bottom"===this.rowPinned?"b-"+this.rowIndex:this.rowIndex.toString()}setDataAndId(e,t){const{selectionSvc:o}=this.beans,s=o?.createDaemonNode?.(this),i=this.data;this.data=e,this.updateDataOnDetailNode(),this.setId(t),o&&(o.updateRowSelectable(this),o.syncInRowNode(this,s));const n=this.createDataChangedEvent(e,i,!1);this.__localEventService?.dispatchEvent(n)}setId(e){const t=Qt(this.beans.gos);if(t)if(this.data){const e=this.parent?.getRoute()??[];this.id=t({data:this.data,parentKeys:e.length>0?e:void 0,level:this.level,rowPinned:this.rowPinned}),this.id.startsWith("row-group-")&&Mt(14,{groupPrefix:"row-group-"})}else this.id=void 0;else this.id=e}setRowTop(e){if(this.oldRowTop=this.rowTop,this.rowTop===e)return;this.rowTop=e,this.dispatchRowEvent("topChanged");const t=null!==e;this.displayed!==t&&(this.displayed=t,this.dispatchRowEvent("displayedChanged"))}clearRowTopAndRowIndex(){this.oldRowTop=null,this.setRowTop(null),this.setRowIndex(null)}setHovered(e){this.hovered=e}isHovered(){return this.hovered}setRowHeight(e,t=!1){this.rowHeight=e,this.rowHeightEstimated=t,this.dispatchRowEvent("heightChanged")}setExpanded(e,t,o){this.beans.expansionSvc?.setExpanded(this,e,t,o)}setDataValue(e,t,o){const{colModel:s,valueSvc:i,gos:n,editSvc:r}=this.beans;if(null==e)return!1;let l=s.getCol(e)??s.getColDefCol(e);if(!l)return!1;if(!this.group){const e=l.getColDef();e.pivotValueColumn&&(l=e.pivotValueColumn)}const a=i.getValueForDisplay({column:l,node:this,from:"data"}).value;if(n.get("readOnlyEdit")){const{beans:{eventSvc:e},data:s,rowIndex:i,rowPinned:n}=this;return e.dispatchEvent({type:"cellEditRequest",event:null,rowIndex:i,rowPinned:n,column:l,colDef:l.colDef,data:s,node:this,oldValue:a,newValue:t,value:t,source:o}),!1}if("data"!==o&&r&&!r.committing){const e=r.setDataValue({rowNode:this,column:l},t,o);if(null!=e)return e}const d=i.setValue(this,l,t,o);return this.dispatchCellChangedEvent(l,t,a),d&&this.pinnedSibling?.dispatchCellChangedEvent(l,t,a),d}getDataValue(e,t="data"){const{colModel:o,valueSvc:s,formula:i}=this.beans;if(null==e)return;const n=o.getCol(e)??o.getColDefCol(e);if(!n)return;const r="data-raw"===t,l=r||"value"===t?"data":t;let a=s.getValue(n,this,l,r);if(!r&&(i&&n.isAllowFormula()&&i.isFormula(a)&&(a=i.resolveValue(n,this)),"data"!==t&&n.getAggFunc()&&"object"==typeof a&&null!=a)){if("function"==typeof a.toNumber)return a.toNumber();if("value"in a)return a.value}return a}updateHasChildren(){let e=this.group&&!this.footer||!!this.childrenAfterGroup?.length;const{rowChildrenSvc:t}=this.beans;t&&(e=t.getHasChildrenValue(this)),e!==this.__hasChildren&&(this.__hasChildren=!!e,this.dispatchRowEvent("hasChildrenChanged"))}hasChildren(){return null==this.__hasChildren&&this.updateHasChildren(),this.__hasChildren}dispatchCellChangedEvent(e,t,o){const s={type:"cellChanged",node:this,column:e,newValue:t,oldValue:o};this.__localEventService?.dispatchEvent(s)}resetQuickFilterAggregateText(){this.quickFilterAggregateText=null}isExpandable(){return this.beans.expansionSvc?.isExpandable(this)??!1}isSelected(){if(this.footer)return this.sibling.isSelected();const e=this.rowPinned&&this.pinnedSibling;return e?e.isSelected():this.__selected}depthFirstSearch(e){const t=this.childrenAfterGroup;if(t)for(let o=0,s=t.length;o{if(dn){if(dn.has(e))return!1}else dn=/* @__PURE__ */new WeakSet;return dn.add(e),!0})(e))return;const t=e.touches[0];this.touchStart=t;const o=this.handlers;if(!o.length){const e=this.eElement,t=e.ownerDocument,s=this.onTouchMove.bind(this),i=this.onTouchEnd.bind(this),n=this.onTouchCancel.bind(this),r={passive:!0},l={passive:!1};ke(o,[e,"touchmove",s,r],[t,"touchcancel",n,r],[t,"touchend",i,l],[t,"contextmenu",Ge,l])}this.clearLongPress(),this.longPressTimer=window.setTimeout(()=>{this.longPressTimer=0,this.touchStart!==t||this.moved||(this.moved=!0,this.eventSvc?.dispatchEvent({type:"longTap",touchStart:t,touchEvent:e}))},550)}onTouchMove(e){const{moved:t,touchStart:o}=this;if(!t&&o){const t=Ie(o,e.touches);t&&!Te(t,o,4)&&(this.clearLongPress(),this.moved=!0)}}onTouchEnd(e){const t=this.touchStart;t&&Ie(t,e.changedTouches)&&(this.moved||(this.eventSvc?.dispatchEvent({type:"tap",touchStart:t}),this.checkDoubleTap(t)),this.preventClick&&Ge(e),this.cancel())}onTouchCancel(e){const t=this.touchStart;t&&Ie(t,e.changedTouches)&&(this.lastTapTime=null,this.cancel())}checkDoubleTap(e){let t=Date.now();const o=this.lastTapTime;o&&t-o>500&&(this.eventSvc?.dispatchEvent({type:"doubleTap",touchStart:e}),t=null),this.lastTapTime=t}cancel(){this.clearLongPress(),Le(this.handlers),this.touchStart=null}clearLongPress(){window.clearTimeout(this.longPressTimer),this.longPressTimer=0,this.moved=!1}destroy(){const e=this.startListener;e&&(this.startListener=null,this.eElement.removeEventListener("touchstart",e)),this.cancel(),this.eElement=null,this.eventSvc=null}},un=/* @__PURE__ */(e=>(e[e.VALUE=0]="VALUE",e[e.DIMENSION=1]="DIMENSION",e))(un||{}),gn=1,pn=class{constructor(e){this.beans={},this.createdBeans=[],this.destroyed=!1,this.instanceId=gn++,e?.beanClasses&&(this.beanDestroyComparator=e.beanDestroyComparator,this.init(e))}init(e){this.id=e.id,this.beans.context=this,this.destroyCallback=e.destroyCallback;for(const t of Object.keys(e.providedBeanInstances))this.beans[t]=e.providedBeanInstances[t];for(const t of e.beanClasses){const e=new t;e.beanName&&(this.beans[e.beanName]=e),this.createdBeans.push(e)}for(const t of e.derivedBeans??[]){const{beanName:e,bean:o}=t(this);this.beans[e]=o,this.createdBeans.push(o)}e.beanInitComparator&&this.createdBeans.sort(e.beanInitComparator),this.initBeans(this.createdBeans)}getBeanInstances(){return Object.values(this.beans)}createBean(e,t){return this.initBeans([e],t),e}initBeans(e,t){const o=this.beans;for(const s of e)s.preWireBeans?.(o),s.wireBeans?.(o);for(const s of e)s.preConstruct?.();t&&e.forEach(t);for(const s of e)s.postConstruct?.()}getBeans(){return this.beans}getBean(e){return this.beans[e]}getId(){return this.id}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this.getBeanInstances();this.beanDestroyComparator&&e.sort(this.beanDestroyComparator),this.destroyBeans(e),this.beans={},this.createdBeans=[],this.destroyCallback?.()}destroyBean(e){e?.destroy?.()}destroyBeans(e){if(e)for(let t=0;t[e,t]));function Cn(e,t){return((e.beanName?fn[e.beanName]:void 0)??Number.MAX_SAFE_INTEGER)-((t.beanName?fn[t.beanName]:void 0)??Number.MAX_SAFE_INTEGER)}function vn(e,t){return"gridDestroySvc"===e?.beanName?-1:"gridDestroySvc"===t?.beanName?1:0}function wn(e){const{rowIndex:t,rowPinned:o,column:s}=e;return`${t}.${null==o?"null":o}.${s.getId()}`}function bn(e,t){const o=e.column===t.column,s=e.rowPinned===t.rowPinned,i=e.rowIndex===t.rowIndex;return o&&s&&i}function yn(e,t){switch(e.rowPinned){case"top":if("top"!==t.rowPinned)return!0;break;case"bottom":if("bottom"!==t.rowPinned)return!1;break;default:if(l(t.rowPinned))return"top"!==t.rowPinned}return e.rowIndexe.rowNode.rowIndex===t.rowIndex),a=l?n:r,d=(o?-1:1)*(l?-1:1);let c;for(let h=0;h{if(!t.defaultPrevented&&!0!==t[Bn]&&t.key===ms){const s=t.shiftKey;Ui(e,o,!1,s)||Ln(e,s)&&t.preventDefault()}}})}function An(e){return e.gos.get("suppressHeaderFocus")||!!e.overlays?.exclusive}function kn(e){return e.gos.get("suppressCellFocus")||!!e.overlays?.exclusive}function Ln(e,t,o=!1){const s=e.ctrlsSvc.get("gridCtrl"),i=s.focusNextInnerContainer(t);return!0===i||(!1===i?i:((o||!t&&!s.isDetailGrid()&&s.isFocusInsideGridBody())&&s.forceFocusOutOfContainer(t),!1))}function Gn(e,t){const o=e.getFocusableContainerName();return"gridBody"===o?t():Nn(e,()=>zi(e.getGui(),".ag-tab-guard").length>0)?o:null}function Nn(e,t){e.setAllowFocus?.(!0);try{return t()}finally{e.setAllowFocus?.(!1)}}var Bn="__ag_Grid_Skip_Focusable_Container";function Hn(e){return e.cols?e.cols.treeDepth+1:-1}function On(e){return e.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0}function Vn(e){const t=[],o=e.ctrlsSvc.getHeaderRowContainerCtrls();for(const s of o){if(!s)continue;const o=s.getGroupRowCount()||0;for(let i=0;in)&&(t[i]=s)}}}return t}function zn(e,t){let o=e.colModel.isPivotMode()?function(e){return e.gos.get("pivotGroupHeaderHeight")??jn(e)}(e):jn(e);const s=t.getHeaderCellCtrls();for(const i of s){const{column:e}=i,t=e.getAutoHeaderHeight();null!=t&&t>o&&e.isAutoHeaderHeight()&&(o=t)}return o}function Wn(e){let t=e.colModel.isPivotMode()?function(e){return e.gos.get("pivotHeaderHeight")??Un(e)}(e):Un(e);return e.colModel.forAllCols(e=>{const o=e.getAutoHeaderHeight();null!=o&&o>t&&e.isAutoHeaderHeight()&&(t=o)}),t}function Un(e){return e.gos.get("headerHeight")??e.environment.getDefaultHeaderHeight()}function $n(e){return e.gos.get("floatingFiltersHeight")??Un(e)}function jn(e){return e.gos.get("groupHeaderHeight")??Un(e)}var Kn=class extends Oe{setComp(e,t,o){this.comp=e,this.eGui=t;const{beans:s}=this,{headerNavigation:i,touchSvc:n,ctrlsSvc:r}=s;i&&this.createManagedBean(new Qi(o,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this,s),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this,s)}),this.onPivotModeChanged(s),this.setupHeaderHeight();const l=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:l}),n?.mockHeaderContextMenu(this,l),r.register("gridHeaderCtrl",this)}setupHeaderHeight(){const e=this.setHeaderHeight.bind(this);e(),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],e),this.addManagedEventListeners({headerRowsChanged:e,columnHeaderHeightChanged:e,columnGroupHeaderHeightChanged:()=>be(this.beans,()=>e()),stylesChanged:e,advancedFilterEnabledChanged:e})}setHeaderHeight(){const{beans:e}=this;let t=0;const o=Vn(e).reduce((e,t)=>e+t,0),s=Wn(e);e.filterManager?.hasFloatingFilters()&&(t+=$n(e)),t+=o,t+=s;const i=t+e.environment.getHeaderRowBorderWidth();if(this.headerHeightWithBorder!==i){this.headerHeightWithBorder=i;const e=`${i}px`;this.comp.setHeightAndMinHeight(e)}this.headerHeight!==t&&(this.headerHeight=t,this.eventSvc.dispatchEvent({type:"headerHeightChanged"}))}onPivotModeChanged(e){const t=e.colModel.isPivotMode();this.comp.toggleCss("ag-pivot-on",t),this.comp.toggleCss("ag-pivot-off",!t)}onDisplayedColumnsChanged(e){const t=e.visibleCols.allCols.some(e=>e.isSpanHeaderHeight());this.comp.toggleCss("ag-header-allow-overflow",t)}onTabKeyDown(e){const t=this.gos.get("enableRtl"),o=e.shiftKey,s=o!==t?"LEFT":"RIGHT",{beans:i}=this,{headerNavigation:n,focusSvc:r}=i;(n.navigateHorizontally(s,!0,e)||!o&&r.focusOverlay(!1)||Ln(i,o,!0))&&e.preventDefault()}handleKeyDown(e){let t=null;const{headerNavigation:o}=this.beans;switch(e.key){case ws:t="LEFT";case ys:l(t)||(t="RIGHT"),o.navigateHorizontally(t,!1,e)&&e.preventDefault();break;case bs:t="UP";case Ss:l(t)||(t="DOWN"),o.navigateVertically(t,e)&&e.preventDefault();break;default:return}}onFocusOut(e){const{relatedTarget:t}=e,{eGui:o,beans:s}=this;!t&&o.contains(w(s))||o.contains(t)||(s.focusSvc.focusedHeader=null)}onHeaderContextMenu(e,t,o){const{menuSvc:s,ctrlsSvc:i}=this.beans;if(!e&&!o||!s?.isHeaderContextMenuEnabled())return;const{target:n}=e??t;n!==this.eGui&&n!==i.getHeaderRowContainerCtrl()?.eViewport||s.showHeaderContextMenu(void 0,e,o)}},_n=class extends Pi{constructor(e,t){super(e),this.ctrl=t}getCtrl(){return this.ctrl}},qn={tag:"div",cls:"ag-header-cell",role:"columnheader",children:[{tag:"div",ref:"eResize",cls:"ag-header-cell-resize",role:"presentation"},{tag:"div",ref:"eHeaderCompWrapper",cls:"ag-header-cell-comp-wrapper",role:"presentation"}]},Yn=class extends _n{constructor(e){super(qn,e),this.eResize=null,this.eHeaderCompWrapper=null,this.headerCompVersion=0}postConstruct(){const e=this.getGui(),t=()=>{const e=this.ctrl.getSelectAllGui();e&&(this.eResize.insertAdjacentElement("afterend",e),this.addDestroyFunc(()=>e.remove()))},o={setWidth:t=>e.style.width=t,toggleCss:(e,t)=>this.toggleCss(e,t),setUserStyles:t=>he(e,t),setAriaSort:t=>t?function(e,t){F(e,"sort",t)}(e,t):void D(e,"sort"),setUserCompDetails:e=>this.setUserCompDetails(e),getUserCompInstance:()=>this.headerComp,refreshSelectAllGui:t,removeSelectAllGui:()=>this.ctrl.getSelectAllGui()?.remove()};this.ctrl.setComp(o,this.getGui(),this.eResize,this.eHeaderCompWrapper,void 0),t()}destroy(){this.destroyHeaderComp(),super.destroy()}destroyHeaderComp(){this.headerComp&&(this.headerCompGui?.remove(),this.headerComp=this.destroyBean(this.headerComp),this.headerCompGui=void 0)}setUserCompDetails(e){this.headerCompVersion++;const t=this.headerCompVersion;e.newAgStackInstance().then(e=>this.afterCompCreated(t,e))}afterCompCreated(e,t){e==this.headerCompVersion&&this.isAlive()?(this.destroyHeaderComp(),this.headerComp=t,this.headerCompGui=t.getGui(),this.eHeaderCompWrapper.appendChild(this.headerCompGui),this.ctrl.setDragSource(this.getGui())):this.destroyBean(t)}},Zn={tag:"div",cls:"ag-header-group-cell",role:"columnheader",children:[{tag:"div",ref:"eHeaderCompWrapper",cls:"ag-header-cell-comp-wrapper",role:"presentation"},{tag:"div",ref:"eResize",cls:"ag-header-cell-resize",role:"presentation"}]},Qn=class extends _n{constructor(e){super(Zn,e),this.eResize=null,this.eHeaderCompWrapper=null}postConstruct(){const e=this.getGui();this.ctrl.setComp({toggleCss:(e,t)=>this.toggleCss(e,t),setUserStyles:t=>he(e,t),setHeaderWrapperHidden:e=>{e?this.eHeaderCompWrapper.style.setProperty("display","none"):this.eHeaderCompWrapper.style.removeProperty("display")},setHeaderWrapperMaxHeight:e=>{null!=e?this.eHeaderCompWrapper.style.setProperty("max-height",`${e}px`):this.eHeaderCompWrapper.style.removeProperty("max-height"),this.eHeaderCompWrapper.classList.toggle("ag-header-cell-comp-wrapper-limited-height",null!=e)},setResizableDisplayed:e=>K(this.eResize,e),setWidth:t=>e.style.width=t,setAriaExpanded:t=>{return o="aria-expanded",null!=(s=t)?e.setAttribute(o,s):e.removeAttribute(o);var o,s},setUserCompDetails:e=>this.setUserCompDetails(e),getUserCompInstance:()=>this.headerGroupComp},e,this.eResize,this.eHeaderCompWrapper,void 0)}setUserCompDetails(e){e.newAgStackInstance().then(e=>this.afterHeaderCompCreated(e))}afterHeaderCompCreated(e){const t=()=>this.destroyBean(e);if(!this.isAlive())return void t();const o=this.getGui(),s=e.getGui();this.eHeaderCompWrapper.appendChild(s),this.addDestroyFunc(t),this.headerGroupComp=e,this.ctrl.setDragSource(o)}},Xn={tag:"div",cls:"ag-header-cell ag-floating-filter",role:"gridcell",children:[{tag:"div",ref:"eFloatingFilterBody",role:"presentation"},{tag:"div",ref:"eButtonWrapper",cls:"ag-floating-filter-button ag-hidden",role:"presentation",children:[{tag:"button",ref:"eButtonShowMainFilter",cls:"ag-button ag-floating-filter-button-button",attrs:{type:"button",tabindex:"-1"}}]}]},Jn=class extends _n{constructor(e){super(Xn,e),this.eFloatingFilterBody=null,this.eButtonWrapper=null,this.eButtonShowMainFilter=null}postConstruct(){const e=this.getGui();this.ctrl.setComp({toggleCss:(e,t)=>this.toggleCss(e,t),setUserStyles:t=>he(e,t),addOrRemoveBodyCssClass:(e,t)=>this.eFloatingFilterBody.classList.toggle(e,t),setButtonWrapperDisplayed:e=>K(this.eButtonWrapper,e),setCompDetails:e=>this.setCompDetails(e),getFloatingFilterComp:()=>this.compPromise,setWidth:t=>e.style.width=t,setMenuIcon:e=>this.eButtonShowMainFilter.appendChild(e)},e,this.eButtonShowMainFilter,this.eFloatingFilterBody,void 0)}setCompDetails(e){if(!e)return this.destroyFloatingFilterComp(),void(this.compPromise=null);this.compPromise=e.newAgStackInstance(),this.compPromise.then(e=>this.afterCompCreated(e))}destroy(){this.destroyFloatingFilterComp(),super.destroy()}destroyFloatingFilterComp(){this.floatingFilterComp?.getGui().remove(),this.floatingFilterComp=this.destroyBean(this.floatingFilterComp)}afterCompCreated(e){e&&(this.isAlive()?(this.destroyFloatingFilterComp(),this.floatingFilterComp=e,this.eFloatingFilterBody.appendChild(e.getGui()),e.afterGuiAttached?.()):this.destroyBean(e))}},er=class extends Pi{constructor(e){super({tag:"div",cls:e.headerRowClass,role:"row"}),this.ctrl=e,this.headerComps={}}postConstruct(){this.getGui().setAttribute("tabindex",String(this.gos.get("tabIndex"))),H(this.getGui(),this.ctrl.getAriaRowIndex()),this.ctrl.setComp({setHeight:e=>this.getGui().style.height=e,setTop:e=>this.getGui().style.top=e,setHeaderCtrls:(e,t)=>this.setHeaderCtrls(e,t),setWidth:e=>this.getGui().style.width=e,setRowIndex:e=>H(this.getGui(),e)},void 0)}destroy(){this.setHeaderCtrls([],!1),super.destroy()}setHeaderCtrls(e,t){if(!this.isAlive())return;const o=this.headerComps;this.headerComps={};for(const s of e){const e=s.instanceId;let t=o[e];delete o[e],null==t&&(t=this.createHeaderComp(s),this.getGui().appendChild(t.getGui())),this.headerComps[e]=t}if(Object.values(o).forEach(e=>{e.getGui().remove(),this.destroyBean(e)}),t){const e=Object.values(this.headerComps);e.sort((e,t)=>e.getCtrl().column.getLeft()-t.getCtrl().column.getLeft());const t=e.map(e=>e.getGui());de(this.getGui(),t)}}createHeaderComp(e){let t;switch(this.ctrl.type){case"group":t=new Qn(e);break;case"filter":t=new Jn(e);break;default:t=new Yn(e)}return this.createBean(t),t.setParentComponent(this),t}},tr=class extends Oe{constructor(e,t=!1){super(),this.callback=e,this.addSpacer=t}postConstruct(){const e=this.setWidth.bind(this);this.addManagedPropertyListener("domLayout",e),this.addManagedEventListeners({columnContainerWidthChanged:e,displayedColumnsChanged:e,leftPinnedWidthChanged:e}),this.addSpacer&&this.addManagedEventListeners({rightPinnedWidthChanged:e,scrollVisibilityChanged:e,scrollbarWidthChanged:e}),this.setWidth()}setWidth(){const e=kt(this.gos,"print"),{visibleCols:t,scrollVisibleSvc:o}=this.beans,s=t.bodyWidth,i=t.getColsLeftWidth(),n=t.getDisplayedColumnsRightWidth();let r;e?r=s+i+n:(r=s,this.addSpacer&&0===(this.gos.get("enableRtl")?i:n)&&o.verticalScrollShowing&&(r+=o.getScrollbarWidth())),this.callback(r)}};function or(e,t,o){return o&&e.addDestroyFunc(()=>t.destroyBean(o)),o??e}var sr=class extends Oe{constructor(e,t,o,s){super(),this.columnOrGroup=e,this.eCell=t,this.colsSpanning=s,this.columnOrGroup=e,this.ariaEl=t.querySelector("[role=columnheader]")||t,this.beans=o}setColsSpanning(e){this.colsSpanning=e,this.onLeftChanged()}getColumnOrGroup(){const{beans:t,colsSpanning:o}=this;return t.gos.get("enableRtl")&&o?e(o):this.columnOrGroup}postConstruct(){const e=this.onLeftChanged.bind(this);this.addManagedListeners(this.columnOrGroup,{leftChanged:e}),this.setLeftFirstTime(),this.addManagedEventListeners({displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}setLeftFirstTime(){const{gos:e,colAnimation:t}=this.beans,o=e.get("suppressColumnMoveAnimation"),s=l(this.columnOrGroup.getOldLeft());t?.isActive()&&s&&!o?this.animateInLeft():this.onLeftChanged()}animateInLeft(){const e=this.getColumnOrGroup(),t=this.modifyLeftForPrintLayout(e,e.getOldLeft()),o=this.modifyLeftForPrintLayout(e,e.getLeft());this.setLeft(t),this.actualLeft=o,this.beans.colAnimation.executeNextVMTurn(()=>{this.actualLeft===o&&this.setLeft(o)})}onLeftChanged(){const e=this.getColumnOrGroup(),t=e.getLeft();this.actualLeft=this.modifyLeftForPrintLayout(e,t),this.setLeft(this.actualLeft)}modifyLeftForPrintLayout(e,t){const{gos:o,visibleCols:s}=this.beans;if(!kt(o,"print"))return t;if("left"===e.getPinned())return t;const i=s.getColsLeftWidth();return"right"===e.getPinned()?i+s.bodyWidth+t:i+t}setLeft(e){if(l(e)&&(this.eCell.style.left=`${e}px`),us(this.columnOrGroup)){const e=this.columnOrGroup.getLeafColumns();if(!e.length)return;e.length>1&&F(this.ariaEl,"colspan",e.length)}}};function ir(e,t,o,s){return a(e)?[]:lr(e.headerClass,e,t,o,s)}function nr(e,t,o,s){return a(e)?[]:lr(e.toolPanelClass,e,t,o,s)}function rr(e,t,o){e.toggleCss("ag-column-first",o.isColAtEdge(t,"first")),e.toggleCss("ag-column-last",o.isColAtEdge(t,"last"))}function lr(e,t,o,s,i){if(a(e))return[];let n;return n="function"==typeof e?e(function(e,t,o,s){return Co(t,{colDef:e,column:o,columnGroup:s})}(t,o,s,i)):e,"string"==typeof n?[n]:Array.isArray(n)?[...n]:[]}var ar=0,dr="headerCtrl",cr=class extends Oe{constructor(e,t){super(),this.column=e,this.rowCtrl=t,this.resizeToggleTimeout=0,this.resizeMultiplier=1,this.resizeFeature=null,this.lastFocusEvent=null,this.dragSource=null,this.reAttemptToFocus=!1,this.instanceId=e.getUniqueId()+"-"+ar++}postConstruct(){const e=this.refreshTabIndex.bind(this);this.addManagedPropertyListeners(["suppressHeaderFocus"],e),this.addManagedEventListeners({overlayExclusiveChanged:e})}setComp(e,t,o,s,i){t.setAttribute("col-id",this.column.colIdSanitised),this.wireComp(e,t,o,s,i),this.reAttemptToFocus&&(this.reAttemptToFocus=!1,this.focus(this.lastFocusEvent??void 0))}shouldStopEventPropagation(e){const{headerRowIndex:t,column:o}=this.beans.focusSvc.focusedHeader,s=o.getDefinition(),i=s?.suppressHeaderKeyboardEvent;return!!l(i)&&!!i(Co(this.gos,{colDef:s,column:o,headerRowIndex:t,event:e}))}getWrapperHasFocus(){return w(this.beans)===this.eGui}setGui(e,t){this.eGui=e,this.addDomData(t),t.addManagedListeners(this.beans.eventSvc,{displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),t.addManagedElementListeners(this.eGui,{focus:this.onGuiFocus.bind(this)}),this.onDisplayedColumnsChanged(),this.refreshTabIndex()}refreshHeaderStyles(){const e=this.column.getDefinition();if(!e)return;const{headerStyle:t}=e;let o;o="function"==typeof t?t(this.getHeaderClassParams()):t,o&&this.comp.setUserStyles(o)}onGuiFocus(){this.eventSvc.dispatchEvent({type:"headerFocused",column:this.column})}setupAutoHeight(e){const{wrapperElement:t,checkMeasuringCallback:o,compBean:s}=e,{beans:i}=this,n=e=>{if(!this.isAlive()||!s.isAlive())return;const{paddingTop:o,paddingBottom:r,borderBottomWidth:l,borderTopWidth:a}=Y(this.eGui),d=o+r+l+a,c=t.offsetHeight+d;!(e<5)||b(i)?.contains(t)&&0!=c?this.setColHeaderHeight(this.column,c):$e(()=>n(e+1),"raf",i)};let r,l=!1;const a=()=>{const e=this.column.isAutoHeaderHeight();e&&!l&&d(),!e&&l&&c()},d=()=>{l=!0,this.comp.toggleCss("ag-header-cell-auto-height",!0),n(0),r=we(this.beans,t,()=>n(0))},c=()=>{l=!1,r&&r(),this.comp.toggleCss("ag-header-cell-auto-height",!1),r=void 0};a(),s.addDestroyFunc(()=>c()),s.addManagedListeners(this.column,{widthChanged:()=>l&&n(0)}),s.addManagedEventListeners({sortChanged:()=>{l&&window.setTimeout(()=>n(0))}}),o&&o(a)}onDisplayedColumnsChanged(){const{comp:e,column:t,beans:o,eGui:s}=this;e&&t&&s&&(rr(e,t,o.visibleCols),O(s,o.visibleCols.getAriaColIndex(t)))}addResizeAndMoveKeyboardListeners(e){e.addManagedListeners(this.eGui,{keydown:this.onGuiKeyDown.bind(this),keyup:this.onGuiKeyUp.bind(this)})}refreshTabIndex(){const e=An(this.beans);this.eGui&&ve(this.eGui,"tabindex",e?null:"-1")}onGuiKeyDown(e){const t=w(this.beans),o=e.key===ws||e.key===ys;if(this.isResizing&&(e.preventDefault(),e.stopImmediatePropagation()),t!==this.eGui||!e.shiftKey&&!e.altKey&&!e.ctrlKey&&!e.metaKey)return;if((this.isResizing||o)&&(e.preventDefault(),e.stopImmediatePropagation()),(e.ctrlKey||e.metaKey)&&Gs(e)===Ts)return this.beans.clipboardSvc?.copyToClipboard();if(!o)return;const s=e.key===ws!==this.gos.get("enableRtl")?"left":"right";if(e.altKey){this.isResizing=!0,this.resizeMultiplier+=1;const t=this.getViewportAdjustedResizeDiff(e);this.resizeHeader(t,e.shiftKey),this.resizeFeature?.toggleColumnResizing(!0)}else this.moveHeader(s)}moveHeader(e){this.beans.colMoves?.moveHeader(e,this.eGui,this.column,this.rowCtrl.pinned,this)}getViewportAdjustedResizeDiff(e){const t=this.getResizeDiff(e),{pinnedCols:o}=this.beans;return o?o.getHeaderResizeDiff(t,this.column):t}getResizeDiff(e){const{gos:t,column:o}=this;let s=e.key===ws!==t.get("enableRtl");const i=o.getPinned(),n=t.get("enableRtl");return i&&n!==("right"===i)&&(s=!s),(s?-1:1)*this.resizeMultiplier}onGuiKeyUp(){this.isResizing&&(this.resizeToggleTimeout&&(window.clearTimeout(this.resizeToggleTimeout),this.resizeToggleTimeout=0),this.isResizing=!1,this.resizeMultiplier=1,this.resizeToggleTimeout=window.setTimeout(()=>{this.resizeFeature?.toggleColumnResizing(!1)},150))}handleKeyDown(e){const t=this.getWrapperHasFocus();switch(e.key){case Ds:case Fs:case Ms:case Ps:t&&e.preventDefault()}}addDomData(e){const t=dr,{eGui:o,gos:s}=this;Vt(s,o,t,this),e.addDestroyFunc(()=>Vt(s,o,t,null))}focus(e){if(!this.isAlive())return!1;const{eGui:t}=this;return t?(this.lastFocusEvent=e||null,t.focus()):this.reAttemptToFocus=!0,!0}focusThis(){this.beans.focusSvc.focusedHeader={headerRowIndex:this.rowCtrl.rowIndex,column:this.column}}removeDragSource(){this.dragSource&&(this.beans.dragAndDrop?.removeDragSource(this.dragSource),this.dragSource=null)}handleContextMenuMouseEvent(e,t,o){const s=e??t,{menuSvc:i,gos:n}=this.beans;n.get("preventDefaultOnContextMenu")&&s.preventDefault(),i?.isHeaderContextMenuEnabled(o)&&i.showHeaderContextMenu(o,e,t),this.dispatchColumnMouseEvent("columnHeaderContextMenu",o)}dispatchColumnMouseEvent(e,t){this.eventSvc.dispatchEvent({type:e,column:t})}setColHeaderHeight(e,t){if(!e.setAutoHeaderHeight(t))return;const{eventSvc:o}=this;e.isColumn?o.dispatchEvent({type:"columnHeaderHeightChanged",column:e,columns:[e],source:"autosizeColumnHeaderHeight"}):o.dispatchEvent({type:"columnGroupHeaderHeightChanged",columnGroup:e,source:"autosizeColumnGroupHeaderHeight"})}clearComponent(){this.removeDragSource(),this.resizeFeature=null,this.comp=null,this.eGui=null}destroy(){super.destroy(),this.column=null,this.lastFocusEvent=null,this.rowCtrl=null}},hr=class extends cr{constructor(){super(...arguments),this.refreshFunctions={},this.userHeaderClasses=/* @__PURE__ */new Set,this.ariaDescriptionProperties=/* @__PURE__ */new Map}wireComp(e,t,o,s,i){this.comp=e;const{rowCtrl:n,column:r,beans:l}=this,{colResize:a,context:d,colHover:c,rangeSvc:h}=l,u=or(this,d,i);this.setGui(t,u),this.updateState(),this.setupWidth(u),this.setupMovingCss(u),this.setupMenuClass(u),this.setupSortableClass(u),this.setupWrapTextClass(),this.refreshSpanHeaderHeight(),this.setupAutoHeight({wrapperElement:s,checkMeasuringCallback:e=>this.setRefreshFunction("measuring",e),compBean:u}),this.addColumnHoverListener(u),this.setupFilterClass(u),this.setupStylesFromColDef(),this.setupClassesFromColDef(),this.setupTooltip(),this.addActiveHeaderMouseListeners(u),this.setupSelectAll(u),this.setupUserComp(),this.refreshAria(),a?this.resizeFeature=u.createManagedBean(a.createResizeFeature(n.pinned,r,o,e,this)):K(o,!1),c?.createHoverFeature(u,[r],t),h?.createRangeHighlightFeature(u,r,e),u.createManagedBean(new sr(r,t,l)),u.createManagedBean(new Qi(t,{shouldStopEventPropagation:e=>this.shouldStopEventPropagation(e),onTabKeyDown:()=>null,handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addResizeAndMoveKeyboardListeners(u),u.addManagedPropertyListeners(["suppressMovableColumns","suppressMenuHide","suppressAggFuncInHeader","enableAdvancedFilter"],()=>this.refresh()),u.addManagedListeners(r,{colDefChanged:()=>this.refresh(),formulaRefChanged:()=>this.refresh(),headerHighlightChanged:this.onHeaderHighlightChanged.bind(this)});const g=()=>this.checkDisplayName();u.addManagedEventListeners({columnValueChanged:g,columnRowGroupChanged:g,columnPivotChanged:g,headerHeightChanged:this.onHeaderHeightChanged.bind(this)}),u.addDestroyFunc(()=>{this.refreshFunctions={},this.selectAllFeature=null,this.dragSourceElement=void 0,this.userCompDetails=null,this.userHeaderClasses.clear(),this.ariaDescriptionProperties.clear(),this.clearComponent()})}resizeHeader(e,t){this.beans.colResize?.resizeHeader(this.column,e,t)}getHeaderClassParams(){const{column:e,beans:t}=this,o=e.colDef;return Co(t.gos,{colDef:o,column:e,floatingFilter:!1})}setupUserComp(){const e=this.lookupUserCompDetails();e&&this.setCompDetails(e)}setCompDetails(e){this.userCompDetails=e,this.comp.setUserCompDetails(e)}lookupUserCompDetails(){const e=this.createParams(),t=this.column.getColDef();return function(e,t,o){return e.getCompDetails(t,zs,"agColumnHeader",o)}(this.beans.userCompFactory,t,e)}createParams(){const{menuSvc:e,sortSvc:t,colFilter:o,gos:s}=this.beans;return Co(s,{column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&!!e?.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!!o&&(!this.openFilterEnabled||mo(this.gos)),showColumnMenu:(t,o)=>{e?.showColumnMenu({column:this.column,buttonElement:t,positionBy:"button",onClosedCallback:o})},showColumnMenuAfterMouseClick:(t,o)=>{e?.showColumnMenu({column:this.column,mouseEvent:t,positionBy:"mouse",onClosedCallback:o})},showFilter:t=>{e?.showFilterMenu({column:this.column,buttonElement:t,containerType:"columnFilter",positionBy:"button"})},progressSort:e=>{t?.progressSort(this.column,!!e,"uiColumnSorted")},setSort:(e,o)=>{t?.setSortForColumn(this.column,Do(e),!!o,"uiColumnSorted")},eGridHeader:this.eGui,setTooltip:(e,t)=>{s.assertModuleRegistered("Tooltip",3),this.setupTooltip(e,t)}})}setupSelectAll(e){const{selectionSvc:t}=this.beans;t&&(this.selectAllFeature=e.createOptionalManagedBean(t.createSelectAllFeature(this.column)),this.selectAllFeature?.setComp(this),e.addManagedPropertyListener("rowSelection",()=>{const o=t.createSelectAllFeature(this.column);o&&!this.selectAllFeature?(this.selectAllFeature=e.createManagedBean(o),this.selectAllFeature?.setComp(this),this.comp.refreshSelectAllGui()):this.selectAllFeature&&!o&&(this.comp.removeSelectAllGui(),this.selectAllFeature=this.destroyBean(this.selectAllFeature))}))}getSelectAllGui(){return this.selectAllFeature?.getCheckboxGui()}handleKeyDown(e){super.handleKeyDown(e),e.key===vs?this.selectAllFeature?.onSpaceKeyDown(e):e.key===fs?this.onEnterKeyDown(e):e.key===Ss&&e.altKey&&this.showMenuOnKeyPress(e,!1)}onEnterKeyDown(e){const{column:t,gos:o,sortable:s,beans:i}=this;let n=!1;(e.ctrlKey||e.metaKey)&&(n=this.showMenuOnKeyPress(e,!0)),n||(!e.altKey&&no(o)?i.rangeSvc?.handleColumnSelection(t,e):s&&i.sortSvc?.progressSort(t,e.shiftKey,"uiColumnSorted"))}showMenuOnKeyPress(e,t){const o=this.comp.getUserCompInstance();return!!ur(o)&&!!o.onMenuKeyboardShortcut(t)&&(e.preventDefault(),!0)}onFocusIn(e){this.eGui.contains(e.relatedTarget)||(this.focusThis(),this.announceAriaDescription()),Vi()&&this.setActiveHeader(!0)}onFocusOut(e){this.eGui.contains(e.relatedTarget)||this.setActiveHeader(!1)}setupTooltip(e,t){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderTooltip(this.tooltipFeature,this,e,t)}setupStylesFromColDef(){this.setRefreshFunction("headerStyles",this.refreshHeaderStyles.bind(this)),this.refreshHeaderStyles()}setupClassesFromColDef(){const e=()=>{const e=ir(this.column.getColDef(),this.gos,this.column,null),t=this.userHeaderClasses;this.userHeaderClasses=new Set(e);for(const o of e)t.has(o)?t.delete(o):this.comp.toggleCss(o,!0);for(const o of t)this.comp.toggleCss(o,!1)};this.setRefreshFunction("headerClasses",e),e()}setDragSource(e){this.dragSourceElement=e,this.removeDragSource(),e&&this.draggable&&(this.dragSource=this.beans.colMoves?.setDragSourceForHeader(e,this.column,this.displayName)??null)}updateState(){const{menuSvc:e}=this.beans;this.menuEnabled=!!e?.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=!!e?.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}setRefreshFunction(e,t){this.refreshFunctions[e]=t}refresh(){this.updateState(),this.refreshHeaderComp(),this.refreshAria();for(const e of Object.values(this.refreshFunctions))e()}refreshHeaderComp(){const e=this.lookupUserCompDetails();e&&(null!=this.comp.getUserCompInstance()&&this.userCompDetails.componentClass==e.componentClass&&this.attemptHeaderCompRefresh(e.params)?this.setDragSource(this.dragSourceElement):this.setCompDetails(e))}attemptHeaderCompRefresh(e){const t=this.comp.getUserCompInstance();return!!t&&!!t.refresh&&t.refresh(e)}calculateDisplayName(){return this.beans.colNames.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(){this.displayName!==this.calculateDisplayName()&&this.refresh()}workOutDraggable(){const e=this.column.getColDef();return!(this.gos.get("suppressMovableColumns")||e.suppressMovable||e.lockPosition)||!!e.enableRowGroup||!!e.enablePivot}setupWidth(e){const t=()=>{const e=this.column.getActualWidth();this.comp.setWidth(`${e}px`)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupMovingCss(e){const t=()=>{this.comp.toggleCss("ag-header-cell-moving",this.column.isMoving())};e.addManagedListeners(this.column,{movingChanged:t}),t()}setupMenuClass(e){const t=()=>{this.comp?.toggleCss("ag-column-menu-visible",this.column.isMenuVisible())};e.addManagedListeners(this.column,{menuVisibleChanged:t}),t()}setupSortableClass(e){const t=()=>{this.comp.toggleCss("ag-header-cell-sortable",!!this.sortable)};t(),this.setRefreshFunction("updateSortable",t),e.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass(e){const t=()=>{const e=this.column.isFilterActive();this.comp.toggleCss("ag-header-cell-filtered",e),this.refreshAria()};e.addManagedListeners(this.column,{filterActiveChanged:t}),t()}setupWrapTextClass(){const e=()=>{const e=!!this.column.getColDef().wrapHeaderText;this.comp.toggleCss("ag-header-cell-wrap-text",e)};e(),this.setRefreshFunction("wrapText",e)}onHeaderHighlightChanged(){const e=this.column.getHighlighted(),t=0===e,o=1===e;this.comp.toggleCss("ag-header-highlight-before",t),this.comp.toggleCss("ag-header-highlight-after",o)}onDisplayedColumnsChanged(){super.onDisplayedColumnsChanged(),this.isAlive()&&this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){const{eGui:e,column:t,comp:o,beans:s}=this,i=Vn(this.beans),n=0===i.reduce((e,t)=>e+t,0);if(o.toggleCss("ag-header-parent-hidden",n),!t.isSpanHeaderHeight())return e.style.removeProperty("top"),e.style.removeProperty("height"),o.toggleCss("ag-header-span-height",!1),void o.toggleCss("ag-header-span-total",!1);const{numberOfParents:r,isSpanningTotal:l}=this.column.getColumnGroupPaddingInfo();o.toggleCss("ag-header-span-height",r>0);const a=Wn(s);if(0===r)return o.toggleCss("ag-header-span-total",!1),e.style.setProperty("top","0px"),void e.style.setProperty("height",`${a}px`);o.toggleCss("ag-header-span-total",l);const d=(this.column.getFirstRealParent()?.getLevel()??-1)+1,c=i.length-d;let h=0;for(let u=0;u"filter"===e?-1:t.charCodeAt(0)-e.charCodeAt(0)).map(e=>o.get(e)).join(". ");e.ariaAnnounce?.announceValue(s,"columnHeader")}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered(),this.refreshAriaCellSelection()}addColumnHoverListener(e){this.beans.colHover?.addHeaderColumnHoverListener(e,this.comp,this.column)}addActiveHeaderMouseListeners(e){const t=e=>this.handleMouseOverChange("mouseenter"===e.type);e.addManagedListeners(this.eGui,{mouseenter:t,mouseleave:t,click:()=>{this.setActiveHeader(!0),this.dispatchColumnMouseEvent("columnHeaderClicked",this.column)},contextmenu:e=>this.handleContextMenuMouseEvent(e,void 0,this.column)})}handleMouseOverChange(e){this.setActiveHeader(e),this.eventSvc.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column})}setActiveHeader(e){this.comp.toggleCss("ag-header-active",e)}getAnchorElementForMenu(e){const t=this.comp.getUserCompInstance();return ur(t)?t.getAnchorElementForMenu(e):this.eGui}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function ur(e){return"function"==typeof e?.getAnchorElementForMenu&&"function"==typeof e.onMenuKeyboardShortcut}var gr=0,pr=class extends Oe{constructor(e,t,o){super(),this.rowIndex=e,this.pinned=t,this.type=o,this.instanceId=gr++,this.comp=null,this.allCtrls=[];let s="ag-header-row-column";"group"===o?s="ag-header-row-group":"filter"===o&&(s="ag-header-row-filter"),this.headerRowClass=`ag-header-row ${s}`}setRowIndex(e){this.rowIndex=e,this.comp?.setRowIndex(this.getAriaRowIndex()),this.onRowHeightChanged()}postConstruct(){this.isPrintLayout=kt(this.gos,"print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}areCellsRendered(){return!!this.comp&&this.allCtrls.every(e=>null!=e.eGui)}setComp(e,t,o=!0){this.comp=e,t=or(this,this.beans.context,t),o&&(this.setRowIndex(this.rowIndex),this.onVirtualColumnsChanged()),this.setWidth(),this.addEventListeners(t)}getAriaRowIndex(){return this.rowIndex+1}addEventListeners(e){const t=this.onRowHeightChanged.bind(this),o=this.onDisplayedColumnsChanged.bind(this);e.addManagedEventListeners({columnResized:this.setWidth.bind(this),displayedColumnsChanged:o,virtualColumnsChanged:e=>this.onVirtualColumnsChanged(e.afterScroll),columnGroupHeaderHeightChanged:t,columnHeaderHeightChanged:t,stylesChanged:t,advancedFilterEnabledChanged:t}),e.addManagedPropertyListener("domLayout",o),e.addManagedPropertyListener("ensureDomOrder",e=>this.isEnsureDomOrder=e.currentValue),e.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],t)}onDisplayedColumnsChanged(){this.isPrintLayout=kt(this.gos,"print"),this.onVirtualColumnsChanged(),this.setWidth(),this.onRowHeightChanged()}setWidth(){if(!this.comp)return;const e=this.getWidthForRow();this.comp.setWidth(`${e}px`)}getWidthForRow(){const{visibleCols:e}=this.beans;return this.isPrintLayout?null!=this.pinned?0:e.getContainerWidth("right")+e.getContainerWidth("left")+e.getContainerWidth(null):e.getContainerWidth(this.pinned)}onRowHeightChanged(){if(!this.comp)return;const{topOffset:e,rowHeight:t}=this.getTopAndHeight();this.comp.setTop(e+"px"),this.comp.setHeight(t+"px")}getTopAndHeight(){let e=0;const t=Vn(this.beans);for(let s=0;s{const{focusSvc:t,visibleCols:o}=this.beans;return!!t.isHeaderWrapperFocused(e)&&o.isVisible(e.column)};if(e)for(const[s,i]of e)o(i)?this.ctrlsById.set(s,i):this.destroyBean(i);return this.allCtrls=Array.from(this.ctrlsById.values()),this.allCtrls}getHeaderCellCtrls(){return this.allCtrls}recycleAndCreateHeaderCtrls(e,t,o){if(e.isEmptyGroup())return;const s=e.getUniqueId();let i;if(o&&(i=o.get(s),o.delete(s)),i&&i.column!=e&&(this.destroyBean(i),i=void 0),null==i)switch(this.type){case"filter":i=this.createBean(this.beans.registry.createDynamicBean("headerFilterCellCtrl",!0,e,this));break;case"group":i=this.createBean(this.beans.registry.createDynamicBean("headerGroupCellCtrl",!0,e,this));break;default:i=this.createBean(new hr(e,this))}t.set(s,i)}getColumnsInViewport(){if(!this.isPrintLayout)return this.getComponentsToRender();if(this.pinned)return[];const e=[];for(const t of["left",null,"right"])e.push(...this.getComponentsToRender(t));return e}getComponentsToRender(e=this.pinned){return"group"===this.type?this.beans.colViewport.getHeadersToRender(e,this.rowIndex):this.beans.colViewport.getColumnHeadersToRender(e)}focusHeader(e,t){const o=this.allCtrls.find(t=>t.column==e);return!!o&&o.focus(t)}destroy(){this.allCtrls=this.destroyBeans(this.allCtrls),this.ctrlsById=void 0,this.comp=null,super.destroy()}},mr=class extends Oe{constructor(e){super(),this.pinned=e,this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[]}setComp(e,t){this.comp=e,this.eViewport=t;const{pinnedCols:o,ctrlsSvc:s,colModel:i,colMoves:n}=this.beans;this.setupCenterWidth(),o?.setupHeaderPinnedWidth(this),this.setupDragAndDrop(n,this.eViewport);const r=this.refresh.bind(this,!0);this.addManagedEventListeners({displayedColumnsChanged:r,advancedFilterEnabledChanged:r});const l=`${"string"==typeof this.pinned?this.pinned:"center"}Header`;s.register(l,this),i.ready&&this.refresh()}getAllCtrls(){const e=[...this.groupsRowCtrls];return this.columnsRowCtrl&&e.push(this.columnsRowCtrl),this.filtersRowCtrl&&e.push(this.filtersRowCtrl),e}refresh(e=!1){const{focusSvc:t,filterManager:o,visibleCols:s}=this.beans;let i=0;const n=t.getFocusHeaderToUseAfterRefresh(),r=this.getAllCtrls();(()=>{const t=s.headerGroupRowCount;i=t,e||(this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls));const o=this.groupsRowCtrls.length;if(o!==t)if(o>t){for(let e=t;e{const t=i++;this.hidden?this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl):null!=this.columnsRowCtrl&&e?this.columnsRowCtrl.rowIndex!==t&&this.columnsRowCtrl.setRowIndex(t):(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl),this.columnsRowCtrl=this.createBean(new pr(t,this.pinned,"column")))})(),(()=>{this.includeFloatingFilter=!!o?.hasFloatingFilters()&&!this.hidden;const t=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter)return void t();e||t();const s=i++;this.filtersRowCtrl?this.filtersRowCtrl.rowIndex!==s&&this.filtersRowCtrl.setRowIndex(s):this.filtersRowCtrl=this.createBean(new pr(s,this.pinned,"filter"))})();const l=this.getAllCtrls();this.comp.setCtrls(l),this.restoreFocusOnHeader(t,n),r.length!==l.length&&this.beans.eventSvc.dispatchEvent({type:"headerRowsChanged"})}getHeaderCtrlForColumn(e){const t=t=>t?.getHeaderCellCtrls().find(t=>t.column===e);if(So(e))return t(this.columnsRowCtrl);if(0!==this.groupsRowCtrls.length)for(let o=0;othis.comp.setCenterWidth(`${e}px`),!0))}},fr={tag:"div",cls:"ag-pinned-left-header",role:"rowgroup"},Cr={tag:"div",cls:"ag-pinned-right-header",role:"rowgroup"},vr={tag:"div",cls:"ag-header-viewport",role:"rowgroup",attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eCenterContainer",cls:"ag-header-container",role:"presentation"}]},wr=class extends Pi{constructor(e){super(),this.eCenterContainer=null,this.headerRowComps={},this.rowCompsList=[],this.pinned=e}postConstruct(){this.selectAndSetTemplate(),this.createManagedBean(new mr(this.pinned)).setComp({setDisplayed:e=>this.setDisplayed(e),setCtrls:e=>this.setCtrls(e),setCenterWidth:e=>this.eCenterContainer.style.width=e,setViewportScrollLeft:e=>this.getGui().scrollLeft=e,setPinnedContainerWidth:e=>{const t=this.getGui();t.style.width=e,t.style.maxWidth=e,t.style.minWidth=e}},this.getGui())}selectAndSetTemplate(){const e="left"==this.pinned,t="right"==this.pinned,o=e?fr:t?Cr:vr;this.setTemplate(o),this.eRowContainer=null!==this.eCenterContainer?this.eCenterContainer:this.getGui()}destroy(){this.setCtrls([]),super.destroy()}destroyRowComp(e){this.destroyBean(e),e.getGui().remove()}setCtrls(e){const t=this.headerRowComps;let o;this.headerRowComps={},this.rowCompsList=[];const s=e=>{const t=e.getGui();t.parentElement!=this.eRowContainer&&this.eRowContainer.appendChild(t),o&&ae(this.eRowContainer,t,o),o=t};for(const i of e){const e=i.instanceId,o=t[e];delete t[e];const n=o||this.createBean(new er(i));this.headerRowComps[e]=n,this.rowCompsList.push(n),s(n)}for(const i of Object.values(t))this.destroyRowComp(i)}},br={tag:"div",cls:"ag-header",role:"presentation"},yr={selector:"AG-HEADER-ROOT",component:class extends Pi{constructor(){super(br)}postConstruct(){this.createManagedBean(new Kn).setComp({toggleCss:(e,t)=>this.toggleCss(e,t),setHeightAndMinHeight:e=>{this.getGui().style.height=e,this.getGui().style.minHeight=e}},this.getGui(),this.getFocusableElement());const e=e=>{this.createManagedBean(e),this.appendChild(e)};e(new wr("left")),e(new wr(null)),e(new wr("right"))}}},Sr={AUTO_HEIGHT:"ag-layout-auto-height",NORMAL:"ag-layout-normal",PRINT:"ag-layout-print"},Rr=class extends Oe{constructor(e){super(),this.view=e}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){const e=this.gos.get("domLayout"),t={autoHeight:"autoHeight"===e,normal:"normal"===e,print:"print"===e},o=t.autoHeight?Sr.AUTO_HEIGHT:t.print?Sr.PRINT:Sr.NORMAL;this.view.updateLayoutClasses(o,t)}},xr=class extends Pi{constructor(e,t){super(),this.direction=t,this.eViewport=null,this.eContainer=null,this.hideTimeout=0,this.setTemplate(e)}postConstruct(){this.addManagedEventListeners({scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this)}),this.onScrollVisibilityChanged(),this.toggleCss("ag-apple-scrollbar",Ii()||Ai())}destroy(){super.destroy(),window.clearTimeout(this.hideTimeout)}initialiseInvisibleScrollbar(){void 0===this.invisibleScrollbar&&(this.invisibleScrollbar=Ni(),this.invisibleScrollbar&&(this.hideAndShowInvisibleScrollAsNeeded(),this.addActiveListenerToggles()))}addActiveListenerToggles(){const e=this.getGui(),t=()=>this.toggleCss("ag-scrollbar-active",!0),o=()=>this.toggleCss("ag-scrollbar-active",!1);this.addManagedListeners(e,{mouseenter:t,mousedown:t,touchstart:t,mouseleave:o,touchend:o})}onScrollVisibilityChanged(){void 0===this.invisibleScrollbar&&this.initialiseInvisibleScrollbar(),be(this.beans,()=>this.setScrollVisible())}hideAndShowInvisibleScrollAsNeeded(){this.addManagedEventListeners({bodyScroll:e=>{e.direction===this.direction&&(this.hideTimeout&&(window.clearTimeout(this.hideTimeout),this.hideTimeout=0),this.toggleCss("ag-scrollbar-scrolling",!0))},bodyScrollEnd:()=>{this.hideTimeout=window.setTimeout(()=>{this.toggleCss("ag-scrollbar-scrolling",!1),this.hideTimeout=0},400)}})}attemptSettingScrollPosition(e){const t=this.eViewport;_e(this,()=>re(t),()=>this.setScrollPosition(e),100)}onScrollCallback(e){this.addManagedElementListeners(this.eViewport,{scroll:e})}},Fr={tag:"div",cls:"ag-body-horizontal-scroll",attrs:{"aria-hidden":"true"},children:[{tag:"div",ref:"eLeftSpacer",cls:"ag-horizontal-left-spacer"},{tag:"div",ref:"eViewport",cls:"ag-body-horizontal-scroll-viewport",children:[{tag:"div",ref:"eContainer",cls:"ag-body-horizontal-scroll-container"}]},{tag:"div",ref:"eRightSpacer",cls:"ag-horizontal-right-spacer"}]},Dr={selector:"AG-FAKE-HORIZONTAL-SCROLL",component:class extends xr{constructor(){super(Fr,"horizontal"),this.eLeftSpacer=null,this.eRightSpacer=null,this.setScrollVisibleDebounce=0}wireBeans(e){this.visibleCols=e.visibleCols,this.scrollVisibleSvc=e.scrollVisibleSvc}postConstruct(){super.postConstruct();const e=this.setFakeHScrollSpacerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e,pinnedRowDataChanged:this.refreshCompBottom.bind(this)}),this.addManagedPropertyListener("domLayout",e),this.beans.ctrlsSvc.register("fakeHScrollComp",this),this.createManagedBean(new tr(e=>this.eContainer.style.width=`${e}px`)),this.addManagedPropertyListeners(["suppressHorizontalScroll"],this.onScrollVisibilityChanged.bind(this))}destroy(){window.clearTimeout(this.setScrollVisibleDebounce),super.destroy()}initialiseInvisibleScrollbar(){void 0===this.invisibleScrollbar&&(this.enableRtl=this.gos.get("enableRtl"),super.initialiseInvisibleScrollbar(),this.invisibleScrollbar&&this.refreshCompBottom())}refreshCompBottom(){if(!this.invisibleScrollbar)return;const e=this.beans.pinnedRowModel?.getPinnedBottomTotalHeight()??0;this.getGui().style.bottom=`${e}px`}onScrollVisibilityChanged(){super.onScrollVisibilityChanged(),this.setFakeHScrollSpacerWidths()}setFakeHScrollSpacerWidths(){const e=this.scrollVisibleSvc.verticalScrollShowing;let t=this.visibleCols.getDisplayedColumnsRightWidth();const o=!this.enableRtl&&e,s=this.scrollVisibleSvc.getScrollbarWidth();o&&(t+=s),pe(this.eRightSpacer,t),this.eRightSpacer.classList.toggle("ag-scroller-corner",t<=s);let i=this.visibleCols.getColsLeftWidth();this.enableRtl&&e&&(i+=s),pe(this.eLeftSpacer,i),this.eLeftSpacer.classList.toggle("ag-scroller-corner",i<=s)}setScrollVisible(){const e=this.scrollVisibleSvc.horizontalScrollShowing,t=this.invisibleScrollbar,o=this.gos.get("suppressHorizontalScroll"),s=e&&this.scrollVisibleSvc.getScrollbarWidth()||0,i=o?0:0===s&&t?16:s,n=()=>{this.setScrollVisibleDebounce=0,this.toggleCss("ag-scrollbar-invisible",t),me(this.getGui(),i),me(this.eViewport,i),me(this.eContainer,i),i||this.eContainer.style.setProperty("min-height","1px"),this.setVisible(e,{skipAriaHidden:!0})};window.clearTimeout(this.setScrollVisibleDebounce),e?this.setScrollVisibleDebounce=window.setTimeout(n,100):n()}getScrollPosition(){return te(this.eViewport,this.enableRtl)}setScrollPosition(e){re(this.eViewport)||this.attemptSettingScrollPosition(e),oe(this.eViewport,e,this.enableRtl)}}},Mr=class extends Oe{constructor(e,t){super(),this.eContainer=e,this.eViewport=t}postConstruct(){this.addManagedEventListeners({rowContainerHeightChanged:this.onHeightChanged.bind(this,this.beans.rowContainerHeight)})}onHeightChanged(e){const t=e.uiContainerHeight,o=null!=t?`${t}px`:"";this.eContainer.style.height=o,this.eViewport&&(this.eViewport.style.height=o)}},Pr={tag:"div",cls:"ag-body-vertical-scroll",attrs:{"aria-hidden":"true"},children:[{tag:"div",ref:"eViewport",cls:"ag-body-vertical-scroll-viewport",children:[{tag:"div",ref:"eContainer",cls:"ag-body-vertical-scroll-container"}]}]},Er={selector:"AG-FAKE-VERTICAL-SCROLL",component:class extends xr{constructor(){super(Pr,"vertical")}postConstruct(){super.postConstruct(),this.createManagedBean(new Mr(this.eContainer));const{ctrlsSvc:e}=this.beans;e.register("fakeVScrollComp",this),this.addManagedEventListeners({rowContainerHeightChanged:this.onRowContainerHeightChanged.bind(this,e)})}setScrollVisible(){const{scrollVisibleSvc:e}=this.beans,t=e.verticalScrollShowing,o=this.invisibleScrollbar,s=t&&e.getScrollbarWidth()||0,i=0===s&&o?16:s;this.toggleCss("ag-scrollbar-invisible",o),pe(this.getGui(),i),pe(this.eViewport,i),pe(this.eContainer,i),this.setDisplayed(t,{skipAriaHidden:!0})}onRowContainerHeightChanged(e){const t=e.getGridBodyCtrl().eBodyViewport,o=this.getScrollPosition(),s=t.scrollTop;o!=s&&this.setScrollPosition(s,!0)}getScrollPosition(){return this.eViewport.scrollTop}setScrollPosition(e,t){t||re(this.eViewport)||this.attemptSettingScrollPosition(e),this.eViewport.scrollTop=e}}},Tr="Viewport",Ir="fakeVScrollComp",Ar=["fakeHScrollComp","centerHeader","topCenter","bottomCenter","stickyTopCenter","stickyBottomCenter"],kr=class extends Oe{constructor(e){super(),this.clearRetryListenerFncs=[],this.lastScrollSource=[null,null],this.scrollLeft=-1,this.nextScrollTop=-1,this.scrollTop=-1,this.lastOffsetHeight=-1,this.lastScrollTop=-1,this.lastIsHorizontalScrollShowing=!1,this.scrollTimer=0,this.isScrollActive=!1,this.isVerticalPositionInvalidated=!0,this.isHorizontalPositionInvalidated=!0,this.eBodyViewport=e,this.resetLastHScrollDebounced=je(this,()=>this.lastScrollSource[1]=null,150),this.resetLastVScrollDebounced=je(this,()=>this.lastScrollSource[0]=null,150)}wireBeans(e){this.ctrlsSvc=e.ctrlsSvc,this.animationFrameSvc=e.animationFrameSvc,this.visibleCols=e.visibleCols}destroy(){super.destroy(),this.clearRetryListenerFncs=[],window.clearTimeout(this.scrollTimer)}postConstruct(){this.enableRtl=this.gos.get("enableRtl");const e=this.invalidateVerticalScroll.bind(this),t=this.invalidateHorizontalScroll.bind(this);this.addManagedEventListeners({displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this),bodyHeightChanged:e,scrollGapChanged:t}),this.addManagedElementListeners(this.eBodyViewport,{scroll:e}),this.ctrlsSvc.whenReady(this,e=>{this.centerRowsCtrl=e.center,this.fakeVScrollComp=e.fakeVScrollComp,this.fakeHScrollComp=e.fakeHScrollComp,this.onDisplayedColumnsWidthChanged(),this.addScrollListener()})}invalidateHorizontalScroll(){this.isHorizontalPositionInvalidated=!0}invalidateVerticalScroll(){this.isVerticalPositionInvalidated=!0}addScrollListener(){this.addHorizontalScrollListeners(),this.addVerticalScrollListeners()}addHorizontalScrollListeners(){this.addManagedElementListeners(this.centerRowsCtrl.eViewport,{scroll:this.onHScroll.bind(this,Tr)});for(const e of Ar){const t=this.ctrlsSvc.get(e);this.registerScrollPartner(t,this.onHScroll.bind(this,e))}}addVerticalScrollListeners(){const e=this.gos.get("debounceVerticalScrollbar"),t=e?je(this,this.onVScroll.bind(this,Tr),100):this.onVScroll.bind(this,Tr),o=e?je(this,this.onVScroll.bind(this,Ir),100):this.onVScroll.bind(this,Ir);this.addManagedElementListeners(this.eBodyViewport,{scroll:t}),this.registerScrollPartner(this.fakeVScrollComp,o)}registerScrollPartner(e,t){e.onScrollCallback(t)}onDisplayedColumnsWidthChanged(){this.enableRtl&&this.horizontallyScrollHeaderCenterAndFloatingCenter()}horizontallyScrollHeaderCenterAndFloatingCenter(e){null!=this.centerRowsCtrl&&(void 0===e&&(e=this.centerRowsCtrl.getCenterViewportScrollLeft()),this.setScrollLeftForAllContainersExceptCurrent(Math.abs(e)))}setScrollLeftForAllContainersExceptCurrent(e){for(const t of[...Ar,Tr])this.lastScrollSource[1]!==t&&oe(this.getViewportForSource(t),e,this.enableRtl)}getViewportForSource(e){return e===Tr?this.centerRowsCtrl.eViewport:this.ctrlsSvc.get(e).eViewport}isControllingScroll(e,t){return null==this.lastScrollSource[t]?(0===t?this.lastScrollSource[0]=e:this.lastScrollSource[1]=e,!0):this.lastScrollSource[t]===e}onHScroll(e){if(!this.isControllingScroll(e,1))return;const{scrollLeft:t}=this.centerRowsCtrl.eViewport;if(this.shouldBlockScrollUpdate(1,t,!0))return;const o=te(this.getViewportForSource(e),this.enableRtl);this.doHorizontalScroll(o),this.resetLastHScrollDebounced()}onVScroll(e){if(!this.isControllingScroll(e,0))return;const t=e===Tr?this.eBodyViewport.scrollTop:this.fakeVScrollComp.getScrollPosition();let o=t;if(this.shouldBlockScrollUpdate(0,o,!0))return;e===Tr?this.fakeVScrollComp.setScrollPosition(o):(this.eBodyViewport.scrollTop=t,o=this.eBodyViewport.scrollTop,this.invalidateVerticalScroll(),o!==t&&this.fakeVScrollComp.setScrollPosition(o,!0));const{animationFrameSvc:s}=this;s?.setScrollTop(o),this.nextScrollTop=o,s?.active?s.schedule():this.scrollGridIfNeeded(!0),this.resetLastVScrollDebounced()}doHorizontalScroll(e){const t=this.fakeHScrollComp.getScrollPosition();this.scrollLeft===e&&e===t||(this.scrollLeft=e,this.fireScrollEvent(1),this.horizontallyScrollHeaderCenterAndFloatingCenter(e),this.centerRowsCtrl.onHorizontalViewportChanged(!0))}isScrolling(){return this.isScrollActive}fireScrollEvent(e){const t={type:"bodyScroll",direction:1===e?"horizontal":"vertical",left:this.scrollLeft,top:this.scrollTop};this.isScrollActive=!0,this.eventSvc.dispatchEvent(t),window.clearTimeout(this.scrollTimer),this.scrollTimer=window.setTimeout(()=>{this.scrollTimer=0,this.isScrollActive=!1,this.eventSvc.dispatchEvent({...t,type:"bodyScrollEnd"})},150)}shouldBlockScrollUpdate(e,t,o=!1){return!(o&&!Ai())&&(0===e?this.shouldBlockVerticalScroll(t):this.shouldBlockHorizontalScroll(t))}shouldBlockVerticalScroll(e){const t=Z(this.eBodyViewport),{scrollHeight:o}=this.eBodyViewport;return!!(e<0||e+t>o)}shouldBlockHorizontalScroll(e){const t=this.centerRowsCtrl.getCenterWidth(),{scrollWidth:o}=this.centerRowsCtrl.eViewport;if(this.enableRtl){if(e>0)return!0}else if(e<0)return!0;return Math.abs(e)+t>o}redrawRowsAfterScroll(){this.fireScrollEvent(0)}checkScrollLeft(){const e=this.scrollLeft;let t=!1;for(const o of Ar)if(this.getViewportForSource(o).scrollLeft!==e){t=!0;break}t&&this.onHScroll(Tr)}scrollGridIfNeeded(e=!1){const t=this.scrollTop!=this.nextScrollTop;return t&&(this.scrollTop=this.nextScrollTop,e&&this.invalidateVerticalScroll(),this.redrawRowsAfterScroll()),t}setHorizontalScrollPosition(e,t=!1){const o=this.centerRowsCtrl.eViewport.scrollWidth-this.centerRowsCtrl.getCenterWidth();!t&&this.shouldBlockScrollUpdate(1,e)&&(e=this.enableRtl?e>0?0:o:Math.min(Math.max(e,0),o)),oe(this.centerRowsCtrl.eViewport,Math.abs(e),this.enableRtl),this.doHorizontalScroll(e)}setVerticalScrollPosition(e){this.invalidateVerticalScroll(),this.eBodyViewport.scrollTop=e}getVScrollPosition(){if(!this.isVerticalPositionInvalidated){const{lastOffsetHeight:e,lastScrollTop:t}=this;return{top:t,bottom:t+e}}this.isVerticalPositionInvalidated=!1;const{scrollTop:e,offsetHeight:t}=this.eBodyViewport;return this.lastScrollTop=e,this.lastOffsetHeight=t,{top:e,bottom:e+t}}getApproximateVScollPosition(){return this.lastScrollTop>=0&&this.lastOffsetHeight>=0?{top:this.scrollTop,bottom:this.scrollTop+this.lastOffsetHeight}:this.getVScrollPosition()}getHScrollPosition(){return this.centerRowsCtrl.getHScrollPosition()}isHorizontalScrollShowing(){return this.isHorizontalPositionInvalidated&&(this.lastIsHorizontalScrollShowing=this.centerRowsCtrl.isHorizontalScrollShowing(),this.isHorizontalPositionInvalidated=!1),this.lastIsHorizontalScrollShowing}scrollHorizontally(e){const t=this.centerRowsCtrl.eViewport.scrollLeft;return this.setHorizontalScrollPosition(t+e),this.centerRowsCtrl.eViewport.scrollLeft-t}scrollToTop(){this.setVerticalScrollPosition(0)}ensureNodeVisible(e,t=null){const{rowModel:o}=this.beans,s=o.getRowCount();let i=-1;for(let n=0;n=0&&this.ensureIndexVisible(i,t)}ensureIndexVisible(e,t,o=0){if(kt(this.gos,"print"))return;const{rowModel:s}=this.beans,i=s.getRowCount();if("number"!=typeof e||e<0||e>=i)return void Dt(88,{index:e});this.clearRetryListeners();const{frameworkOverrides:n,pageBounds:r,rowContainerHeight:l,rowRenderer:a}=this.beans;n.wrapIncoming(()=>{const i=this.ctrlsSvc.getGridBodyCtrl(),n=s.getRow(e);let d,c,h=0;this.invalidateVerticalScroll();do{const{stickyTopHeight:e,stickyBottomHeight:o}=i,s=n.rowTop,u=n.rowHeight,g=r.getPixelOffset(),p=n.rowTop-g,m=p+n.rowHeight,f=this.getVScrollPosition(),C=l.divStretchOffset,v=f.top+C,w=f.bottom+C,b=w-v,y=l.getScrollPositionForPixel(p),S=l.getScrollPositionForPixel(m-b),R=Math.min((y+S)/2,p);let x=null;"top"===t?x=y-e:"bottom"===t?x=S+o:"middle"===t?x=R:v+e>p?x=y-e:w-ob?y-e:S+o),null!==x&&(this.setVerticalScrollPosition(x),a.redraw({afterScroll:!0})),d=s!==n.rowTop||u!==n.rowHeight,c=e!==i.stickyTopHeight||o!==i.stickyBottomHeight,h++}while((d||c)&&h<10);if(this.animationFrameSvc?.flushAllFrames(),o<10&&(n?.stub||!this.beans.rowAutoHeight?.areRowsMeasured())){const i=this.getVScrollPosition().top;this.clearRetryListenerFncs=this.addManagedEventListeners({bodyScroll:()=>{i!==this.getVScrollPosition().top&&this.clearRetryListeners()},modelUpdated:()=>{this.clearRetryListeners(),e>=s.getRowCount()||this.ensureIndexVisible(e,t,o+1)}})}})}clearRetryListeners(){for(const e of this.clearRetryListenerFncs)e();this.clearRetryListenerFncs=[]}ensureColumnVisible(e,t="auto"){const{colModel:o,frameworkOverrides:s}=this.beans,i=o.getCol(e);if(!i)return;if(i.isPinned())return;if(!this.visibleCols.isColDisplayed(i))return;const n=this.getPositionedHorizontalScroll(i,t);s.wrapIncoming(()=>{null!==n&&this.centerRowsCtrl.setCenterViewportScrollLeft(n),this.centerRowsCtrl.onHorizontalViewportChanged(),this.animationFrameSvc?.flushAllFrames()})}getPositionedHorizontalScroll(e,t){const{columnBeforeStart:o,columnAfterEnd:s}=this.isColumnOutsideViewport(e),i=this.centerRowsCtrl.getCenterWidth()i:os}}getColumnBounds(e){const t=this.enableRtl,o=this.visibleCols.bodyWidth,s=e.getActualWidth(),i=e.getLeft(),n=t?-1:1,r=t?o-i:i;return{colLeft:r,colMiddle:r+s/2*n,colRight:r+s*n}}getViewportBounds(){const e=this.centerRowsCtrl.getCenterWidth(),t=this.centerRowsCtrl.getCenterViewportScrollLeft();return{start:t,end:e+t,width:e}}},Lr={horizontal:{overflow:e=>e.scrollWidth-e.clientWidth,scrollSize:e=>e.scrollWidth,clientSize:e=>e.clientWidth,opposite:"vertical"},vertical:{overflow:e=>e.scrollHeight-e.clientHeight,scrollSize:e=>e.scrollHeight,clientSize:e=>e.clientHeight,opposite:"horizontal"}};function Gr(e,t,o,s,i,n){const r=Lr[o],l=Lr[r.opposite],a=!i||re(i),d=!n||re(n),c=r.overflow(e);if(c<=0)return!1;if(!t||0===s)return!0;const h=l.overflow(t);if(h<=0)return!0;if(c<=s){if(a&&d&&function({candidateOverflow:e,candidateScrollSize:t,candidateClientSize:o,scrollbarWidth:s}){if(e<=0||e>s)return!1;return t>o&&t<=o+s}({candidateOverflow:h,candidateScrollSize:l.scrollSize(t),candidateClientSize:l.clientSize(t),scrollbarWidth:s}))return!1;const o=r.clientSize(e)+s;return r.scrollSize(e)<=o}return!0}var Nr=class extends Oe{constructor(e){super(),this.centerContainerCtrl=e}wireBeans(e){this.scrollVisibleSvc=e.scrollVisibleSvc}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.listenForResize()}),this.addManagedEventListeners({scrollbarWidthChanged:this.onScrollbarWidthChanged.bind(this)}),this.addManagedPropertyListeners(["alwaysShowHorizontalScroll","alwaysShowVerticalScroll"],()=>{this.checkViewportAndScrolls()})}listenForResize(){const{beans:e,centerContainerCtrl:t,gridBodyCtrl:o}=this,s=()=>{be(e,()=>{this.onCenterViewportResized()})};t.registerViewportResizeListener(s),o.registerBodyViewportResizeListener(s)}onScrollbarWidthChanged(){this.checkViewportAndScrolls()}onCenterViewportResized(){if(this.scrollVisibleSvc.updateScrollGap(),this.centerContainerCtrl.isViewportInTheDOMTree()){const{pinnedCols:e,colFlex:t}=this.beans;e?.keepPinnedColumnsNarrowerThanViewport(),this.checkViewportAndScrolls();const o=this.centerContainerCtrl.getCenterWidth();o!==this.centerWidth&&(this.centerWidth=o,t?.refreshFlexedColumns({viewportWidth:this.centerWidth,updateBodyWidths:!0,fireResizedEvent:!0}))}else this.bodyHeight=0}checkViewportAndScrolls(){this.updateScrollVisibleService(),this.checkBodyHeight(),this.onHorizontalViewportChanged(),this.gridBodyCtrl.scrollFeature.checkScrollLeft()}getBodyHeight(){return this.bodyHeight}checkBodyHeight(){const e=Z(this.gridBodyCtrl.eBodyViewport);this.bodyHeight!==e&&(this.bodyHeight=e,this.eventSvc.dispatchEvent({type:"bodyHeightChanged"}))}updateScrollVisibleService(){this.updateScrollVisibleServiceImpl(),setTimeout(this.updateScrollVisibleServiceImpl.bind(this),500)}updateScrollVisibleServiceImpl(){if(!this.isAlive())return;const e={horizontalScrollShowing:this.centerContainerCtrl.isHorizontalScrollShowing(),verticalScrollShowing:this.gridBodyCtrl.isVerticalScrollShowing()};this.scrollVisibleSvc.setScrollsVisible(e)}onHorizontalViewportChanged(){const{centerContainerCtrl:e,beans:t}=this,o=e.getCenterWidth(),s=e.getViewportScrollLeft();t.colViewport.setScrollPosition(o,s)}};function Br(e){return!(e.altKey||e.ctrlKey||e.metaKey)&&1===e.key?.length}function Hr(e,t,o,s){const i=t.getColDef().cellRendererParams?.suppressMouseEventHandling;return Or(e,t,o,s,i)}function Or(e,t,o,s,i){return!!i&&i(Co(e,{column:t,node:o,event:s}))}function Vr(e,t,o){let s=t;for(;s;){const t=Ot(e,s,o);if(t)return t;s=s.parentElement}return null}var zr="cellCtrl";function Wr(e,t){return Vr(e,t,zr)}var Ur="renderedRow";function $r(e,t){return Vr(e,t,Ur)}function jr(e,t,o,s,i){const n=s?s.getColDef().suppressKeyboardEvent:void 0;if(!n)return!1;const r=Co(e,{event:t,editing:i,column:s,node:o,data:o.data,colDef:s.getColDef()});return!(!n||!n(r))}var Kr=class extends Oe{constructor(e){super(),this.element=e}postConstruct(){this.addKeyboardListeners(),this.addMouseListeners(),this.beans.touchSvc?.mockRowContextMenu(this),this.editSvc=this.beans.editSvc}addKeyboardListeners(){const e="keydown",t=this.processKeyboardEvent.bind(this,e);this.addManagedElementListeners(this.element,{[e]:t})}addMouseListeners(){let e="mousedown";Pe("pointerdown")?e="pointerdown":Pe("touchstart")&&(e="touchstart");const t=["dblclick","contextmenu","mouseover","mouseout","click",e];for(const o of t){const e=this.processMouseEvent.bind(this,o);this.addManagedElementListeners(this.element,{[o]:e})}}processMouseEvent(e,t){if(!Ae(this.beans,t)||Yi(t))return;const{cellCtrl:o,rowCtrl:s}=this.getControlsForEventTarget(t.target);"contextmenu"===e?(o?.column&&o.dispatchCellContextMenuEvent(t),this.beans.contextMenuSvc?.handleContextMenuMouseEvent(t,void 0,s,o)):(o&&o.onMouseEvent(e,t),s&&s.onMouseEvent(e,t))}getControlsForEventTarget(e){const{gos:t}=this;return{cellCtrl:Wr(t,e),rowCtrl:$r(t,e)}}processKeyboardEvent(e,t){const{cellCtrl:o,rowCtrl:s}=this.getControlsForEventTarget(t.target);t.defaultPrevented||(o?this.processCellKeyboardEvent(o,e,t):s?.isFullWidth()&&this.processFullWidthRowKeyboardEvent(s,e,t))}processCellKeyboardEvent(e,t,o){const s=this.editSvc?.isEditing(e,{withOpenEditor:!0})??!1;jr(this.gos,o,e.rowNode,e.column,s)||"keydown"===t&&(!s&&this.beans.navigation?.handlePageScrollingKey(o)||e.onKeyDown(o),this.doGridOperations(o,s),Br(o)&&e.processCharacter(o)),"keydown"===t&&this.eventSvc.dispatchEvent(e.createEvent(o,"cellKeyDown"))}processFullWidthRowKeyboardEvent(e,t,o){const{rowNode:s}=e,{focusSvc:i,navigation:n}=this.beans,r=i.getFocusedCell()?.column;if(!jr(this.gos,o,s,r,!1)){const s=o.key;if("keydown"===t)switch(s){case Ms:case Ps:case Fs:case Ds:n?.handlePageScrollingKey(o,!0);break;case ws:case ys:if(!this.gos.get("embedFullWidthRows"))break;case bs:case Ss:e.onKeyboardNavigate(o);break;case ms:e.onTabKeyDown(o)}}"keydown"===t&&this.eventSvc.dispatchEvent(e.createRowEvent("cellKeyDown",o))}doGridOperations(e,t){if(!e.ctrlKey&&!e.metaKey)return;if(t)return;if(!Ae(this.beans,e))return;const o=Gs(e),{clipboardSvc:s,undoRedo:i}=this.beans;return o===Es?this.onCtrlAndA(e):o===Ts?this.onCtrlAndC(s,e):o===Is?this.onCtrlAndD(s,e):o===As?this.onCtrlAndV(s,e):"KeyX"===o?this.onCtrlAndX(s,e):o===ks?this.onCtrlAndY(i):o===Ls?this.onCtrlAndZ(i,e):void 0}onCtrlAndA(e){const{beans:{rowModel:t,rangeSvc:o,selectionSvc:s},gos:i}=this;o&&so(i)&&!function(e){const t=e.get("rowSelection");return"string"!=typeof t&&"multiRow"===t?.mode&&(t.ctrlASelectsRows??!1)}(i)&&t.isRowsToRender()?function(e){const{pinnedRowModel:t,rowModel:o,rangeSvc:s,visibleCols:i}=e;if(!s||0===i.allCols.length)return;const n=t?.isEmpty("top")??1?null:"top";let r,l;t?.isEmpty("bottom")??1?(r=null,l=o.getRowCount()-1):(r="bottom",l=t?.getPinnedBottomRowCount()??-1),s.setCellRange({rowStartIndex:0,rowStartPinned:n,rowEndIndex:l,rowEndPinned:r})}(this.beans):s&&s.selectAllRowNodes({source:"keyboardSelectAll",selectAll:uo(i)}),e.preventDefault()}onCtrlAndC(e,t){if(!e||this.gos.get("enableCellTextSelection"))return;const{cellCtrl:o}=this.getControlsForEventTarget(t.target);this.editSvc?.isEditing(o,{withOpenEditor:!0})||(t.preventDefault(),e.copyToClipboard())}onCtrlAndX(e,t){if(!e||this.gos.get("enableCellTextSelection")||this.gos.get("suppressCutToClipboard"))return;const{cellCtrl:o}=this.getControlsForEventTarget(t.target);this.editSvc?.isEditing(o,{withOpenEditor:!0})||(t.preventDefault(),e.cutToClipboard(void 0,"ui"))}onCtrlAndV(e,t){const{cellCtrl:o}=this.getControlsForEventTarget(t.target);this.editSvc?.isEditing(o,{withOpenEditor:!0})||e&&!this.gos.get("suppressClipboardPaste")&&e.pasteFromClipboard()}onCtrlAndD(e,t){e&&!this.gos.get("suppressClipboardPaste")&&e.copyRangeDown(),t.preventDefault()}onCtrlAndZ(e,t){this.gos.get("undoRedoCellEditing")&&e&&(t.preventDefault(),t.shiftKey?e.redo("ui"):e.undo("ui"))}onCtrlAndY(e){e?.redo("ui")}},_r=e=>e.topRowCtrls,qr=e=>e.getStickyTopRowCtrls(),Yr=e=>e.getStickyBottomRowCtrls(),Zr=e=>e.bottomRowCtrls,Qr=e=>e.allRowCtrls,Xr=e=>e.getCtrls("top"),Jr=e=>e.getCtrls("center"),el=e=>e.getCtrls("bottom"),tl={center:{type:"center",name:"center-cols",getRowCtrls:Qr,getSpannedRowCtrls:Jr},left:{type:"left",name:"pinned-left-cols",pinnedType:"left",getRowCtrls:Qr,getSpannedRowCtrls:Jr},right:{type:"right",name:"pinned-right-cols",pinnedType:"right",getRowCtrls:Qr,getSpannedRowCtrls:Jr},fullWidth:{type:"fullWidth",name:"full-width",fullWidth:!0,getRowCtrls:Qr},topCenter:{type:"center",name:"floating-top",getRowCtrls:_r,getSpannedRowCtrls:Xr},topLeft:{type:"left",name:"pinned-left-floating",container:"ag-pinned-left-floating-top",pinnedType:"left",getRowCtrls:_r,getSpannedRowCtrls:Xr},topRight:{type:"right",name:"pinned-right-floating",container:"ag-pinned-right-floating-top",pinnedType:"right",getRowCtrls:_r,getSpannedRowCtrls:Xr},topFullWidth:{type:"fullWidth",name:"floating-top-full-width",fullWidth:!0,getRowCtrls:_r},stickyTopCenter:{type:"center",name:"sticky-top",getRowCtrls:qr},stickyTopLeft:{type:"left",name:"pinned-left-sticky-top",container:"ag-pinned-left-sticky-top",pinnedType:"left",getRowCtrls:qr},stickyTopRight:{type:"right",name:"pinned-right-sticky-top",container:"ag-pinned-right-sticky-top",pinnedType:"right",getRowCtrls:qr},stickyTopFullWidth:{type:"fullWidth",name:"sticky-top-full-width",fullWidth:!0,getRowCtrls:qr},stickyBottomCenter:{type:"center",name:"sticky-bottom",getRowCtrls:Yr},stickyBottomLeft:{type:"left",name:"pinned-left-sticky-bottom",container:"ag-pinned-left-sticky-bottom",pinnedType:"left",getRowCtrls:Yr},stickyBottomRight:{type:"right",name:"pinned-right-sticky-bottom",container:"ag-pinned-right-sticky-bottom",pinnedType:"right",getRowCtrls:Yr},stickyBottomFullWidth:{type:"fullWidth",name:"sticky-bottom-full-width",fullWidth:!0,getRowCtrls:Yr},bottomCenter:{type:"center",name:"floating-bottom",getRowCtrls:Zr,getSpannedRowCtrls:el},bottomLeft:{type:"left",name:"pinned-left-floating-bottom",container:"ag-pinned-left-floating-bottom",pinnedType:"left",getRowCtrls:Zr,getSpannedRowCtrls:el},bottomRight:{type:"right",name:"pinned-right-floating-bottom",container:"ag-pinned-right-floating-bottom",pinnedType:"right",getRowCtrls:Zr,getSpannedRowCtrls:el},bottomFullWidth:{type:"fullWidth",name:"floating-bottom-full-width",fullWidth:!0,getRowCtrls:Zr}};function ol(e){return`ag-${nl(e).name}-viewport`}function sl(e){const t=nl(e);return t.container??`ag-${t.name}-container`}function il(e){return`ag-${nl(e).name}-spanned-cells-container`}function nl(e){return tl[e]}var rl=["center","left","right","fullWidth"],ll=["stickyTopCenter","stickyBottomCenter","center","topCenter","bottomCenter"],al=["left","bottomLeft","topLeft","stickyTopLeft","stickyBottomLeft"],dl=["right","bottomRight","topRight","stickyTopRight","stickyBottomRight"],cl=["stickyTopCenter","stickyTopLeft","stickyTopRight"],hl=["stickyBottomCenter","stickyBottomLeft","stickyBottomRight"],ul=[...cl,"stickyTopFullWidth",...hl,"stickyBottomFullWidth"],gl=["topCenter","topLeft","topRight","bottomCenter","bottomLeft","bottomRight","center","left","right",...cl,...hl],pl=class extends Oe{constructor(e){super(),this.name=e,this.visible=!0,this.EMPTY_CTRLS=[],this.options=nl(e)}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.forContainers(["center"],()=>{this.viewportSizeFeature=this.createManagedBean(new Nr(this)),this.addManagedEventListeners({stickyTopOffsetChanged:this.onStickyTopOffsetChanged.bind(this)})})}onStickyTopOffsetChanged(e){this.comp.setOffsetTop(`${e.offset}px`)}registerWithCtrlsService(){this.options.fullWidth||this.beans.ctrlsSvc.register(this.name,this)}forContainers(e,t){e.indexOf(this.name)>=0&&t()}setComp(e,t,o,s){this.comp=e,this.eContainer=t,this.eSpannedContainer=o,this.eViewport=s,this.createManagedBean(new Kr(this.eViewport??this.eContainer)),this.addPreventScrollWhileDragging(),this.listenOnDomOrder();const{pinnedCols:i,rangeSvc:n}=this.beans,r=()=>this.onPinnedWidthChanged();this.forContainers(al,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean(i?.createPinnedWidthFeature(!0,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({leftPinnedWidthChanged:r})}),this.forContainers(dl,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean(i?.createPinnedWidthFeature(!1,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({rightPinnedWidthChanged:r})}),this.forContainers(rl,()=>this.createManagedBean(new Mr(this.eContainer,"center"===this.name?s:void 0))),n&&this.forContainers(gl,()=>this.createManagedBean(n.createDragListenerFeature(this.eContainer))),this.forContainers(ll,()=>this.createManagedBean(new tr(e=>this.comp.setContainerWidth(`${e}px`)))),this.visible=this.isContainerVisible(),this.addListeners(),this.registerWithCtrlsService()}onScrollCallback(e){this.addManagedElementListeners(this.eViewport,{scroll:e})}addListeners(){const{spannedRowRenderer:e,gos:t}=this.beans,o=this.onDisplayedColumnsChanged.bind(this);this.addManagedEventListeners({displayedColumnsChanged:o,displayedColumnsWidthChanged:o,displayedRowsChanged:e=>this.onDisplayedRowsChanged(e.afterScroll)}),o(),this.onDisplayedRowsChanged(),e&&this.options.getSpannedRowCtrls&&t.get("enableCellSpan")&&this.addManagedListeners(e,{spannedRowsUpdated:()=>{const t=this.options.getSpannedRowCtrls(e);t&&this.comp.setSpannedRowCtrls(t,!1)}})}listenOnDomOrder(){if(ul.indexOf(this.name)>=0)return void this.comp.setDomOrder(!0);const e=()=>{const e=this.gos.get("ensureDomOrder"),t=kt(this.gos,"print");this.comp.setDomOrder(e||t)};this.addManagedPropertyListener("domLayout",e),e()}onDisplayedColumnsChanged(){this.forContainers(["center"],()=>this.onHorizontalViewportChanged())}addPreventScrollWhileDragging(){const{dragSvc:e}=this.beans;if(!e)return;const t=t=>{e.dragging&&t.cancelable&&t.preventDefault()};this.eContainer.addEventListener("touchmove",t,{passive:!1}),this.addDestroyFunc(()=>this.eContainer.removeEventListener("touchmove",t))}onHorizontalViewportChanged(e=!1){const t=this.getCenterWidth(),o=this.getCenterViewportScrollLeft();this.beans.colViewport.setScrollPosition(t,o,e)}hasHorizontalScrollGap(){return this.eContainer.clientWidth-this.eViewport.clientWidth<0}hasVerticalScrollGap(){return this.eContainer.clientHeight-this.eViewport.clientHeight<0}getCenterWidth(){return Q(this.eViewport)}getCenterViewportScrollLeft(){return te(this.eViewport,this.enableRtl)}registerViewportResizeListener(e){const t=we(this.beans,this.eViewport,e);this.addDestroyFunc(()=>t())}isViewportInTheDOMTree(){return ne(this.eViewport)}getViewportScrollLeft(){return te(this.eViewport,this.enableRtl)}isHorizontalScrollShowing(){const{beans:e,gos:t,eViewport:o}=this,s=t.get("alwaysShowHorizontalScroll"),{ctrlsSvc:i}=e,n=i.getGridBodyCtrl()?.eBodyViewport,r=i.get("fakeHScrollComp")?.getGui(),l=i.get("fakeVScrollComp")?.getGui();return s||function(e,t,o=Li()||0,s,i){return Gr(e,t,"horizontal",o,s,i)}(o,n,void 0,r,l)}setHorizontalScroll(e){this.comp.setHorizontalScroll(e)}getHScrollPosition(){return{left:this.eViewport.scrollLeft,right:this.eViewport.scrollLeft+this.eViewport.offsetWidth}}setCenterViewportScrollLeft(e){oe(this.eViewport,e,this.enableRtl)}isContainerVisible(){return!(null!=this.options.pinnedType)||!!this.pinnedWidthFeature&&this.pinnedWidthFeature.getWidth()>0}onPinnedWidthChanged(){const e=this.isContainerVisible();this.visible!=e&&(this.visible=e,this.onDisplayedRowsChanged())}onDisplayedRowsChanged(e=!1){const t=this.options.getRowCtrls(this.beans.rowRenderer);if(!this.visible||0===t.length)return void this.comp.setRowCtrls({rowCtrls:this.EMPTY_CTRLS});const o=kt(this.gos,"print"),s=this.gos.get("embedFullWidthRows")||o,i=t.filter(e=>{const t=e.isFullWidth();return this.options.fullWidth?!s&&t:s||!t});this.comp.setRowCtrls({rowCtrls:i,useFlushSync:e})}},ml="ag-force-vertical-scroll",fl=class extends Oe{constructor(){super(...arguments),this.stickyTopHeight=0,this.stickyBottomHeight=0}wireBeans(e){this.ctrlsSvc=e.ctrlsSvc,this.colModel=e.colModel,this.scrollVisibleSvc=e.scrollVisibleSvc,this.pinnedRowModel=e.pinnedRowModel,this.filterManager=e.filterManager,this.rowGroupColsSvc=e.rowGroupColsSvc}setComp(e,t,o,s,i,n,r){this.comp=e,this.eGridBody=t,this.eBodyViewport=o,this.eTop=s,this.eBottom=i,this.eStickyTop=n,this.eStickyBottom=r,this.eCenterColsViewport=o.querySelector(`.${ol("center")}`),this.eFullWidthContainer=o.querySelector(`.${sl("fullWidth")}`),this.setCellTextSelection(this.gos.get("enableCellTextSelection")),this.addManagedPropertyListener("enableCellTextSelection",e=>this.setCellTextSelection(e.currentValue)),this.createManagedBean(new Rr(this.comp)),this.scrollFeature=this.createManagedBean(new kr(o)),this.beans.rowDragSvc?.setupRowDrag(o,this),this.setupRowAnimationCssClass(),this.addEventListeners(),this.addFocusListeners([s,o,i,n,r]),this.setGridRootRole(),this.onGridColumnsChanged(),this.addBodyViewportListener(),this.setFloatingHeights(),this.disableBrowserDragging(),this.addStopEditingWhenGridLosesFocus(),this.updateScrollingClasses(),this.filterManager?.setupAdvFilterHeaderComp(s),this.ctrlsSvc.register("gridBodyCtrl",this)}addEventListeners(){const e=this.setFloatingHeights.bind(this),t=this.setGridRootRole.bind(this),o=this.toggleRowResizeStyles.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this),scrollGapChanged:this.updateScrollingClasses.bind(this),pinnedRowDataChanged:e,pinnedHeightChanged:e,pinnedRowsChanged:e,headerHeightChanged:this.setStickyTopOffsetTop.bind(this),columnRowGroupChanged:t,columnPivotChanged:t,rowResizeStarted:o,rowResizeEnded:o}),this.addManagedPropertyListener("treeData",t)}toggleRowResizeStyles(e){const t="rowResizeStarted"===e.type;this.eBodyViewport.classList.toggle("ag-prevent-animation",t)}onGridColumnsChanged(){const e=this.beans.colModel.getCols();this.comp.setColumnCount(e.length)}onScrollVisibilityChanged(){const{scrollVisibleSvc:e}=this,t=e.verticalScrollShowing;this.setVerticalScrollPaddingVisible(t),this.setStickyWidth(t),this.setStickyBottomOffsetBottom();const o=`calc(100% + ${(t&&e.getScrollbarWidth()||0)+(Ni()?16:0)}px)`;be(this.beans,()=>this.comp.setBodyViewportWidth(o)),this.updateScrollingClasses()}setGridRootRole(){const{rowGroupColsSvc:e,colModel:t,gos:o}=this;let s=o.get("treeData");if(!s){const o=t.isPivotMode();s=(e?e.columns.length:0)>=(o?2:1)}this.comp.setGridRootRole(s?"treegrid":"grid")}addFocusListeners(e){for(const t of e)this.addManagedElementListeners(t,{focusin:e=>{const{target:o}=e,s=q(o,"ag-root",t);t.classList.toggle("ag-has-focus",!s)},focusout:e=>{const{target:o,relatedTarget:s}=e,i=t.contains(s),n=q(s,"ag-root",t);q(o,"ag-root",t)||i&&!n||t.classList.remove("ag-has-focus")}})}setColumnMovingCss(e){this.comp.setColumnMovingCss("ag-column-moving",e)}setCellTextSelection(e=!1){this.comp.setCellSelectableCss("ag-selectable",e)}updateScrollingClasses(){const{eGridBody:{classList:e},scrollVisibleSvc:t}=this;e.toggle("ag-body-vertical-content-no-gap",!t.verticalScrollGap),e.toggle("ag-body-horizontal-content-no-gap",!t.horizontalScrollGap)}disableBrowserDragging(){this.addManagedElementListeners(this.eGridBody,{dragstart:e=>{if(e.target instanceof HTMLImageElement)return e.preventDefault(),!1}})}addStopEditingWhenGridLosesFocus(){this.beans.editSvc?.addStopEditingWhenGridLosesFocus([this.eBodyViewport,this.eBottom,this.eTop,this.eStickyTop,this.eStickyBottom])}updateRowCount(){const e=(this.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0)+(this.filterManager?.getHeaderRowCount()??0),{rowModel:t}=this.beans,o=t.isLastRowIndexKnown()?t.getRowCount():-1,s=-1===o?-1:e+o;this.comp.setRowCount(s)}registerBodyViewportResizeListener(e){this.comp.registerBodyViewportResizeListener(e)}setVerticalScrollPaddingVisible(e){const t=e?"scroll":"hidden";this.comp.setPinnedTopBottomOverflowY(t)}isVerticalScrollShowing(){const{gos:e,comp:t,ctrlsSvc:o}=this,s=e.get("alwaysShowVerticalScroll"),i=s?ml:null,n=kt(e,"normal");t.setAlwaysVerticalScrollClass(i,s);const r=o.get("center")?.eViewport,l=o.get("fakeHScrollComp")?.getGui(),a=o.get("fakeVScrollComp")?.getGui();return s||n&&function(e,t,o=Li()||0,s,i){return Gr(e,t,"vertical",o,s,i)}(this.eBodyViewport,r,void 0,a,l)}setupRowAnimationCssClass(){const{rowContainerHeight:e,environment:t}=this.beans;let o=t.sizesMeasured;const s=()=>{const t=o&&zt(this.gos)&&!e.stretching,s=t?"ag-row-animation":"ag-row-no-animation";this.comp.setRowAnimationCssOnBodyViewport(s,t)};s(),this.addManagedEventListeners({heightScaleChanged:s}),this.addManagedPropertyListener("animateRows",s),this.addManagedEventListeners({stylesChanged:()=>{!o&&t.sizesMeasured&&(o=!0,s())}})}addBodyViewportListener(){const{eBodyViewport:e,eStickyTop:t,eStickyBottom:o,eTop:s,eBottom:i,beans:{popupSvc:n,touchSvc:r}}=this,l=this.onBodyViewportContextMenu.bind(this);this.addManagedElementListeners(e,{contextmenu:l}),r?.mockBodyContextMenu(this,l),this.addManagedElementListeners(e,{wheel:this.onBodyViewportWheel.bind(this,n)});const a=this.onStickyWheel.bind(this);for(const c of[t,o,s,i])this.addManagedElementListeners(c,{wheel:a});const d=this.onHorizontalWheel.bind(this);for(const c of["left","right","topLeft","topRight","bottomLeft","bottomRight"])this.addManagedElementListeners(this.ctrlsSvc.get(c).eContainer,{wheel:d});this.addFullWidthContainerWheelListener()}addFullWidthContainerWheelListener(){this.addManagedElementListeners(this.eFullWidthContainer,{wheel:e=>this.onFullWidthContainerWheel(e)})}onFullWidthContainerWheel(e){const{deltaX:t,deltaY:o,shiftKey:s}=e;(s||Math.abs(t)>Math.abs(o))&&Ae(this.beans,e)&&this.scrollGridBodyToMatchEvent(e)}onStickyWheel(e){const{deltaY:t}=e;this.scrollVertically(t)>0&&e.preventDefault()}onHorizontalWheel(e){const{deltaX:t,deltaY:o,shiftKey:s}=e;(s||Math.abs(t)>Math.abs(o))&&this.scrollGridBodyToMatchEvent(e)}scrollGridBodyToMatchEvent(e){const{deltaX:t,deltaY:o}=e;e.preventDefault(),this.eCenterColsViewport.scrollBy({left:t||o})}onBodyViewportContextMenu(e,t,o){if(!e&&!o)return;this.gos.get("preventDefaultOnContextMenu")&&(e||o).preventDefault();const{target:s}=e||t;s!==this.eBodyViewport&&s!==this.ctrlsSvc.get("center").eViewport||this.beans.contextMenuSvc?.showContextMenu({mouseEvent:e,touchEvent:o,value:null,anchorToElement:this.eGridBody,source:"ui"})}onBodyViewportWheel(e,t){this.gos.get("suppressScrollWhenPopupsAreOpen")&&e?.hasAnchoredPopup()&&t.preventDefault()}scrollVertically(e){const t=this.eBodyViewport.scrollTop;return this.scrollFeature.setVerticalScrollPosition(t+e),this.eBodyViewport.scrollTop-t}setFloatingHeights(){const{pinnedRowModel:e,beans:{environment:t}}=this,o=e?.getPinnedTopTotalHeight(),s=e?.getPinnedBottomTotalHeight(),i=t.getPinnedRowBorderWidth()-t.getRowBorderWidth(),n=o?i+o:0,r=s?i+s:0;this.comp.setTopHeight(n),this.comp.setBottomHeight(r),this.comp.setTopInvisible(n<=0),this.comp.setBottomInvisible(r<=0),this.setStickyTopOffsetTop(),this.setStickyBottomOffsetBottom()}setStickyTopHeight(e=0){this.comp.setStickyTopHeight(`${e}px`),this.stickyTopHeight=e}setStickyBottomHeight(e=0){this.comp.setStickyBottomHeight(`${e}px`),this.stickyBottomHeight=e}setStickyWidth(e){if(e){const e=this.scrollVisibleSvc.getScrollbarWidth();this.comp.setStickyTopWidth(`calc(100% - ${e}px)`),this.comp.setStickyBottomWidth(`calc(100% - ${e}px)`)}else this.comp.setStickyTopWidth("100%"),this.comp.setStickyBottomWidth("100%")}setStickyTopOffsetTop(){const e=this.ctrlsSvc.get("gridHeaderCtrl").headerHeight+(this.filterManager?.getHeaderHeight()??0),t=this.pinnedRowModel?.getPinnedTopTotalHeight()??0;let o=0;e>0&&(o+=e),t>0&&(o+=t),o>0&&(o+=1),this.comp.setStickyTopTop(`${o}px`)}setStickyBottomOffsetBottom(){const{pinnedRowModel:e,scrollVisibleSvc:t,comp:o}=this,s=(e?.getPinnedBottomTotalHeight()??0)+(t.horizontalScrollShowing&&t.getScrollbarWidth()||0);o.setStickyBottomBottom(`${s}px`)}};function Cl(e){return xe(e)}var vl=class extends Pi{constructor(e,t,o,s,i){super(),this.cellCtrl=t,this.rowResizerElement=null,this.rendererVersion=0,this.editorVersion=0,this.beans=e,this.gos=e.gos,this.column=t.column,this.rowNode=t.rowNode,this.eRow=s;const n=Cl({tag:"div",role:t.getCellAriaRole(),attrs:{"comp-id":`${this.getCompId()}`,"col-id":t.column.colIdSanitised}});let r;this.eCell=n,t.isCellSpanning()?(r=Cl({tag:"div",cls:"ag-spanned-cell-wrapper",role:"presentation"}),r.appendChild(n),this.setTemplateFromElement(r)):this.setTemplateFromElement(n),this.cellCssManager=new xi(()=>n),this.forceWrapper=t.isForceWrapper(),this.refreshWrapper(!1),t.setComp({toggleCss:(e,t)=>this.cellCssManager.toggleCss(e,t),setUserStyles:e=>he(n,e),getFocusableElement:()=>n,setIncludeSelection:e=>this.includeSelection=e,setIncludeRowDrag:e=>this.includeRowDrag=e,setIncludeDndSource:e=>this.includeDndSource=e,setRowResizerElement:e=>this.setRowResizerElement(e),setRenderDetails:(e,t,o)=>this.setRenderDetails(e,t,o),setEditDetails:(e,t,o)=>this.setEditDetails(e,t,o),getCellEditor:()=>this.cellEditor||null,getCellRenderer:()=>this.cellRenderer||null,getParentOfValue:()=>this.getParentOfValue(),refreshEditStyles:(e,t)=>this.refreshEditStyles(e,t)},n,r,this.eCellWrapper,o,i,void 0)}getParentOfValue(){return this.eCellValue??this.eCellWrapper??this.eCell}setRowResizerElement(e){this.rowResizerElement&&ie(this.rowResizerElement),this.rowResizerElement=e,e&&this.eCell.appendChild(e)}setRenderDetails(e,t,o){if(this.cellEditor&&!this.cellEditorPopupWrapper)return;this.firstRender=null==this.firstRender;const s=this.refreshWrapper(!1);this.refreshEditStyles(!1),e?(o||s||!this.refreshCellRenderer(e))&&(this.destroyRenderer(),this.createCellRendererInstance(e)):(this.destroyRenderer(),this.insertValueWithoutCellRenderer(t)),this.rowDraggingComp?.refreshVisibility(),this.rowResizerElement&&!this.rowResizerElement.parentElement&&this.eCell.appendChild(this.rowResizerElement)}setEditDetails(e,t,o){e?this.createCellEditorInstance(e,t,o):this.destroyEditor()}removeControls(){const e=this.beans.context;this.checkboxSelectionComp=e.destroyBean(this.checkboxSelectionComp),this.dndSourceComp=e.destroyBean(this.dndSourceComp),this.rowDraggingComp=e.destroyBean(this.rowDraggingComp)}refreshWrapper(e){const t=this.includeRowDrag||this.includeDndSource||this.includeSelection,o=t||this.forceWrapper,s=o&&null==this.eCellWrapper;s&&(this.eCellWrapper=Cl({tag:"div",cls:"ag-cell-wrapper",role:"presentation"}),this.eCell.appendChild(this.eCellWrapper));const i=!o&&null!=this.eCellWrapper;i&&(ie(this.eCellWrapper),this.eCellWrapper=void 0),this.cellCssManager.toggleCss("ag-cell-value",!o);const n=!e&&o,r=n&&null==this.eCellValue;r&&(this.eCellValue=Cl({tag:"span",cls:this.cellCtrl.getCellValueClass(),role:"presentation"}),this.eCellWrapper.appendChild(this.eCellValue));const l=!n&&null!=this.eCellValue;l&&(ie(this.eCellValue),this.eCellValue=void 0);const a=s||i||r||l;return a&&this.removeControls(),!e&&t&&this.addControls(),a}addControls(){const{cellCtrl:e,eCellWrapper:t,eCellValue:o,includeRowDrag:s,includeDndSource:i,includeSelection:n}=this,r=e=>{e&&t.insertBefore(e.getGui(),o)};s&&null==this.rowDraggingComp&&(this.rowDraggingComp=e.createRowDragComp(),r(this.rowDraggingComp)),i&&null==this.dndSourceComp&&(this.dndSourceComp=e.createDndSource(),r(this.dndSourceComp)),n&&null==this.checkboxSelectionComp&&(this.checkboxSelectionComp=e.createSelectionCheckbox(),r(this.checkboxSelectionComp))}createCellEditorInstance(e,t,o){const s=this.editorVersion,i=e.newAgStackInstance(),{params:n}=e;i.then(e=>this.afterCellEditorCreated(s,e,n,t,o)),a(this.cellEditor)&&n.cellStartedEdit&&this.cellCtrl.focusCell(!0)}insertValueWithoutCellRenderer(e){const t=this.getParentOfValue();se(t);const o=m(e);null!=o&&(t.textContent=o)}destroyRenderer(){const{context:e}=this.beans;this.cellRenderer=e.destroyBean(this.cellRenderer),ie(this.cellRendererGui),this.cellRendererGui=null,this.rendererVersion++}destroyEditor(){const{context:e}=this.beans;(this.cellEditorPopupWrapper?.getGui().contains(w(this.beans))||this.cellCtrl.hasBrowserFocus())&&this.eCell.focus({preventScroll:!0}),this.hideEditorPopup?.(),this.hideEditorPopup=void 0,this.cellEditor=e.destroyBean(this.cellEditor),this.cellEditorPopupWrapper=e.destroyBean(this.cellEditorPopupWrapper),ie(this.cellEditorGui),this.cellCtrl.disableEditorTooltipFeature(),this.cellEditorGui=null,this.editorVersion++}refreshCellRenderer(e){if(null==this.cellRenderer?.refresh)return!1;if(this.cellRendererClass!==e.componentClass)return!1;const t=this.cellRenderer.refresh(e.params);return!0===t||void 0===t}createCellRendererInstance(e){const t=this.rendererVersion,o=e=>o=>{if(this.rendererVersion!==t||!this.isAlive())return;const s=e.newAgStackInstance(),i=this.afterCellRendererCreated.bind(this,t,e.componentClass);s?.then(i)},{animationFrameSvc:s}=this.beans;let i;if(i=s?.active&&this.firstRender?(e,t=!1)=>{s.createTask(o(e),this.rowNode.rowIndex,"p2",e.componentFromFramework,t)}:e=>o(e)(),e.params?.deferRender&&!this.cellCtrl.rowNode.group){const{loadingComp:t,onReady:o}=this.cellCtrl.getDeferLoadingCellRenderer();t&&(i(t),o.then(()=>i(e,!0)))}else i(e)}afterCellRendererCreated(e,t,o){if(!this.isAlive()||e!==this.rendererVersion)return void this.beans.context.destroyBean(o);this.cellRenderer=o,this.cellRendererClass=t;const s=o.getGui();if(this.cellRendererGui=s,null!=s){const e=this.getParentOfValue();se(e),e.appendChild(s)}}afterCellEditorCreated(e,t,o,s,i){const n=e!==this.editorVersion,{context:r}=this.beans;if(n)return void r.destroyBean(t);if(t.isCancelBeforeStart?.())return r.destroyBean(t),void this.cellCtrl.stopEditing(!0);if(!t.getGui)return Dt(97,{colId:this.column.getId()}),void r.destroyBean(t);this.cellEditor=t,this.cellEditorGui=t.getGui();const l=s||t.isPopup?.();l?this.addPopupCellEditor(o,i):this.addInCellEditor(),this.refreshEditStyles(!0,l),t.afterGuiAttached?.(),this.cellCtrl.enableEditorTooltipFeature(t),this.cellCtrl.cellEditorAttached()}refreshEditStyles(e,t){const{cellCssManager:o}=this;o.toggleCss("ag-cell-inline-editing",e&&!t),o.toggleCss("ag-cell-popup-editing",e&&!!t),o.toggleCss("ag-cell-not-inline-editing",!e||!!t)}addInCellEditor(){const{eCell:e}=this;e.contains(w(this.beans))&&e.focus(),this.destroyRenderer(),this.refreshWrapper(!0),se(this.getParentOfValue()),this.cellEditorGui&&this.getParentOfValue().appendChild(this.cellEditorGui)}addPopupCellEditor(e,t){const{gos:o,context:s,popupSvc:i,editSvc:n}=this.beans;"fullRow"===o.get("editType")&&Dt(98);const r=this.cellEditorPopupWrapper=s.createBean(n.createPopupEditorWrapper(e)),{cellEditor:l,cellEditorGui:a,eCell:d,rowNode:c,column:h,cellCtrl:u}=this,g=r.getGui();a&&g.appendChild(a);const p=o.get("stopEditingWhenCellsLoseFocus"),m={ePopup:g,additionalParams:{column:h,rowNode:c},type:"popupCellEditor",eventSource:d,position:null!=t?t:l.getPopupPosition?.()??"over",alignSide:o.get("enableRtl")?"right":"left",keepWithinBounds:!0},f=i.positionPopupByComponent.bind(i,m),C=i.addPopup({modal:p,eChild:g,closeOnEsc:!0,closedCallback:e=>{u.onPopupEditorClosed(e)},anchorToElement:d,positionCallback:f,ariaOwns:d});C&&(this.hideEditorPopup=C.hideFunc)}detach(){this.getGui().remove()}destroy(){this.destroyRenderer(),this.destroyEditor(),this.removeControls(),super.destroy()}},wl=class extends Pi{constructor(e,t,o){super(),this.cellComps=/* @__PURE__ */new Map,this.beans=t,this.rowCtrl=e;const s=Cl({tag:"div",role:"row",attrs:{"comp-id":`${this.getCompId()}`}});this.setInitialStyle(s,o),this.setTemplateFromElement(s);const i=s.style;this.domOrder=this.rowCtrl.getDomOrder(),e.setComp({setDomOrder:e=>this.domOrder=e,setCellCtrls:e=>this.setCellCtrls(e),showFullWidth:e=>this.showFullWidth(e),getFullWidthCellRenderer:()=>this.fullWidthCellRenderer,getFullWidthCellRendererParams:()=>this.fullWidthCellRendererParams,toggleCss:(e,t)=>this.toggleCss(e,t),setUserStyles:e=>he(s,e),setTop:e=>i.top=e,setTransform:e=>i.transform=e,setRowIndex:e=>s.setAttribute("row-index",e),setRowId:e=>s.setAttribute("row-id",e),setRowBusinessKey:e=>s.setAttribute("row-business-key",e),refreshFullWidth:e=>{const t=e();return this.fullWidthCellRendererParams=t,this.fullWidthCellRenderer?.refresh?.(t)??!1}},this.getGui(),o,void 0),this.addDestroyFunc(()=>{e.unsetComp(o)})}setInitialStyle(e,t){const o=this.rowCtrl.getInitialTransform(t);if(o)e.style.setProperty("transform",o);else{const o=this.rowCtrl.getInitialRowTop(t);o&&e.style.setProperty("top",o)}}showFullWidth(e){e.newAgStackInstance().then(t=>{if(this.isAlive()){const o=t.getGui();this.getGui().appendChild(o),this.rowCtrl.setupDetailRowAutoHeight(o),this.setFullWidthRowComp(t,e.params)}else this.beans.context.destroyBean(t)})}setCellCtrls(e){const t=new Map(this.cellComps);for(const o of e){const e=o.instanceId;this.cellComps.has(e)?t.delete(e):this.newCellComp(o)}this.destroyCells(t),this.ensureDomOrder(e)}ensureDomOrder(e){if(!this.domOrder)return;const t=[];for(const o of e){const e=this.cellComps.get(o.instanceId);e&&t.push(e.getGui())}de(this.getGui(),t)}newCellComp(e){const t=this.beans.editSvc?.isEditing(e,{withOpenEditor:!0})??!1,o=new vl(this.beans,e,this.rowCtrl.printLayout,this.getGui(),t);this.cellComps.set(e.instanceId,o),this.getGui().appendChild(o.getGui())}destroy(){super.destroy(),this.destroyCells(this.cellComps)}setFullWidthRowComp(e,t){this.fullWidthCellRenderer=e,this.fullWidthCellRendererParams=t,this.addDestroyFunc(()=>{this.fullWidthCellRenderer=this.beans.context.destroyBean(this.fullWidthCellRenderer),this.fullWidthCellRendererParams=void 0})}destroyCells(e){for(const t of e.values()){if(!t)continue;const e=t.cellCtrl.instanceId;this.cellComps.get(e)===t&&(t.detach(),t.destroy(),this.cellComps.delete(e))}}},bl={selector:"AG-ROW-CONTAINER",component:class extends Pi{constructor(e){super(),this.eViewport=null,this.eContainer=null,this.eSpannedContainer=null,this.rowCompsNoSpan={},this.rowCompsWithSpan={},this.name=e?.name,this.options=nl(this.name)}postConstruct(){this.setTemplate(function(e,t,o){const s=!!o.gos.get("enableCellSpan")&&!!t.getSpannedRowCtrls,i={tag:"div",ref:"eContainer",cls:sl(e),role:"rowgroup"};if("center"===t.type||s){const t={tag:"div",ref:"eSpannedContainer",cls:`ag-spanning-container ${il(e)}`,role:"presentation"};return i.role="presentation",{tag:"div",ref:"eViewport",cls:`ag-viewport ${ol(e)}`,role:"rowgroup",children:[i,s?t:null]}}return i}(this.name,this.options,this.beans)),this.createManagedBean(new pl(this.name)).setComp({setHorizontalScroll:e=>this.eViewport.scrollLeft=e,setViewportHeight:e=>this.eViewport.style.height=e,setRowCtrls:({rowCtrls:e})=>this.setRowCtrls(e),setSpannedRowCtrls:e=>this.setRowCtrls(e,!0),setDomOrder:e=>{this.domOrder=e},setContainerWidth:e=>{this.eContainer.style.width=e,this.eSpannedContainer&&(this.eSpannedContainer.style.width=e)},setOffsetTop:e=>{const t=`translateY(${e})`;this.eContainer.style.transform=t,this.eSpannedContainer&&(this.eSpannedContainer.style.transform=t)}},this.eContainer,this.eSpannedContainer,this.eViewport)}destroy(){this.setRowCtrls([]),this.setRowCtrls([],!0),super.destroy(),this.lastPlacedElement=null}setRowCtrls(e,t){const{beans:o,options:s}=this,i=t?this.eSpannedContainer:this.eContainer,n=t?{...this.rowCompsWithSpan}:{...this.rowCompsNoSpan},r={};t?this.rowCompsWithSpan=r:this.rowCompsNoSpan=r,this.lastPlacedElement=null;const l=[];for(const a of e){const e=a.instanceId,t=n[e];let i;if(t)i=t,delete n[e];else{if(!a.rowNode.displayed)continue;i=new wl(a,o,s.type)}r[e]=i,l.push([i,!t])}this.removeOldRows(Object.values(n)),this.addRowNodes(l,i)}addRowNodes(e,t){const{domOrder:o}=this;for(const[s,i]of e){const e=s.getGui();o?this.ensureDomOrder(e,t):i&&t.appendChild(e)}}removeOldRows(e){for(const t of e)t.getGui().remove(),t.destroy()}ensureDomOrder(e,t){ae(t,e,this.lastPlacedElement),this.lastPlacedElement=e}}};function yl(e,t){return t.map(t=>{const o=`e${t[0].toUpperCase()+t.substring(1)}RowContainer`;return e[o]={name:t},{tag:"ag-row-container",ref:o,attrs:{name:t}}})}var Sl={selector:"AG-GRID-BODY",component:class extends Pi{constructor(){super(...arguments),this.eGridRoot=null,this.eBodyViewport=null,this.eStickyTop=null,this.eStickyBottom=null,this.eTop=null,this.eBottom=null,this.eBody=null}postConstruct(){const{overlays:e,rangeSvc:t}=this.beans,o=e?.getOverlayWrapperSelector(),{paramsMap:s,elementParams:i}=function(e){const t={};return{paramsMap:t,elementParams:{tag:"div",ref:"eGridRoot",cls:"ag-root ag-unselectable",children:[{tag:"ag-header-root"},{tag:"div",ref:"eTop",cls:"ag-floating-top",role:"presentation",children:yl(t,["topLeft","topCenter","topRight","topFullWidth"])},{tag:"div",ref:"eBody",cls:"ag-body",role:"presentation",children:[{tag:"div",ref:"eBodyViewport",cls:"ag-body-viewport",role:"presentation",children:yl(t,["left","center","right","fullWidth"])},{tag:"ag-fake-vertical-scroll"}]},{tag:"div",ref:"eStickyTop",cls:"ag-sticky-top",role:"presentation",children:yl(t,["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"])},{tag:"div",ref:"eStickyBottom",cls:"ag-sticky-bottom",role:"presentation",children:yl(t,["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"])},{tag:"div",ref:"eBottom",cls:"ag-floating-bottom",role:"presentation",children:yl(t,["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"])},{tag:"ag-fake-horizontal-scroll"},e?{tag:"ag-overlay-wrapper"}:null]}}}(!!o);this.setTemplate(i,[...o?[o]:[],Dr,Er,yr,bl],s);const n=(e,t)=>{const o=`${e}px`;t.style.minHeight=o,t.style.height=o},r={setRowAnimationCssOnBodyViewport:(e,t)=>this.setRowAnimationCssOnBodyViewport(e,t),setColumnCount:e=>{F(this.getGui(),"colcount",e)},setRowCount:e=>{F(this.getGui(),"rowcount",e)},setTopHeight:e=>n(e,this.eTop),setBottomHeight:e=>n(e,this.eBottom),setTopInvisible:e=>this.eTop.classList.toggle("ag-invisible",e),setBottomInvisible:e=>this.eBottom.classList.toggle("ag-invisible",e),setStickyTopHeight:e=>this.eStickyTop.style.height=e,setStickyTopTop:e=>this.eStickyTop.style.top=e,setStickyTopWidth:e=>this.eStickyTop.style.width=e,setStickyBottomHeight:e=>{this.eStickyBottom.style.height=e,this.eStickyBottom.classList.toggle("ag-invisible","0px"===e)},setStickyBottomBottom:e=>this.eStickyBottom.style.bottom=e,setStickyBottomWidth:e=>this.eStickyBottom.style.width=e,setColumnMovingCss:(e,t)=>this.toggleCss(e,t),updateLayoutClasses:(e,t)=>{const o=[this.eBodyViewport.classList,this.eBody.classList];for(const s of o)s.toggle(Sr.AUTO_HEIGHT,t.autoHeight),s.toggle(Sr.NORMAL,t.normal),s.toggle(Sr.PRINT,t.print);this.toggleCss(Sr.AUTO_HEIGHT,t.autoHeight),this.toggleCss(Sr.NORMAL,t.normal),this.toggleCss(Sr.PRINT,t.print)},setAlwaysVerticalScrollClass:(e,t)=>this.eBodyViewport.classList.toggle(ml,t),registerBodyViewportResizeListener:e=>{const t=we(this.beans,this.eBodyViewport,e);this.addDestroyFunc(()=>t())},setPinnedTopBottomOverflowY:e=>this.eTop.style.overflowY=this.eBottom.style.overflowY=e,setCellSelectableCss:(e,t)=>{for(const o of[this.eTop,this.eBodyViewport,this.eBottom])o.classList.toggle(e,t)},setBodyViewportWidth:e=>this.eBodyViewport.style.width=e,setGridRootRole:e=>P(this.eGridRoot,e)};this.ctrl=this.createManagedBean(new fl),this.ctrl.setComp(r,this.getGui(),this.eBodyViewport,this.eTop,this.eBottom,this.eStickyTop,this.eStickyBottom),(t&&so(this.gos)||co(this.gos))&&F(this.getGui(),"multiselectable",!0)}setRowAnimationCssOnBodyViewport(e,t){const o=this.eBodyViewport.classList;o.toggle("ag-row-animation",t),o.toggle("ag-row-no-animation",!t)}getFocusableContainerName(){return"gridBody"}}},Rl="ag-tab-guard-top",xl=class extends He{constructor(e,t){super(),this.stopPropagationCallbacks=t,this.skipTabGuardFocus=!1,this.forcingFocusOut=!1,this.allowFocus=!1;const{comp:o,eTopGuard:s,eBottomGuard:i,focusTrapActive:n,forceFocusOutWhenTabGuardsAreEmpty:r,isFocusableContainer:l,focusInnerElement:a,onFocusIn:d,onFocusOut:c,shouldStopEventPropagation:h,onTabKeyDown:u,handleKeyDown:g,isEmpty:p,eFocusableElement:m}=e;this.comp=o,this.eTopGuard=s,this.eBottomGuard=i,this.providedFocusInnerElement=a,this.eFocusableElement=m,this.focusTrapActive=!!n,this.forceFocusOutWhenTabGuardsAreEmpty=!!r,this.isFocusableContainer=!!l,this.providedFocusIn=d,this.providedFocusOut=c,this.providedShouldStopEventPropagation=h,this.providedOnTabKeyDown=u,this.providedHandleKeyDown=g,this.providedIsEmpty=p}postConstruct(){this.createManagedBean(new Ki(this.eFocusableElement,this.stopPropagationCallbacks,{shouldStopEventPropagation:()=>this.shouldStopEventPropagation(),onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e),onFocusIn:e=>this.onFocusIn(e),onFocusOut:e=>this.onFocusOut(e)})),this.activateTabGuards();for(const e of[this.eTopGuard,this.eBottomGuard])this.addManagedElementListeners(e,{focus:this.onFocus.bind(this)})}handleKeyDown(e){this.providedHandleKeyDown&&this.providedHandleKeyDown(e)}tabGuardsAreActive(){return!!this.eTopGuard&&this.eTopGuard.hasAttribute("tabIndex")}shouldStopEventPropagation(){return!!this.providedShouldStopEventPropagation&&this.providedShouldStopEventPropagation()}activateTabGuards(){if(this.forcingFocusOut)return;const e=this.gos.get("tabIndex");this.comp.setTabIndex(e.toString())}deactivateTabGuards(){this.comp.setTabIndex()}onFocus(e){if(this.isFocusableContainer&&!this.eFocusableElement.contains(e.relatedTarget)&&!this.allowFocus)return void this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);if(this.skipTabGuardFocus)return void(this.skipTabGuardFocus=!1);if(this.forceFocusOutWhenTabGuardsAreEmpty&&(this.providedIsEmpty?this.providedIsEmpty():0===zi(this.eFocusableElement,".ag-tab-guard").length))return void this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);if(this.isFocusableContainer&&this.eFocusableElement.contains(e.relatedTarget))return;const t=e.target===this.eBottomGuard;!(this.providedFocusInnerElement?this.providedFocusInnerElement(t):this.focusInnerElement(t))&&this.forceFocusOutWhenTabGuardsAreEmpty&&this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard)}findNextElementOutsideAndFocus(e){const t=zi(b(this.beans).body,null,!0),o=t.indexOf(e?this.eTopGuard:this.eBottomGuard);if(-1===o)return;let s,i;e?(s=0,i=o):(s=o+1,i=t.length);const n=t.slice(s,i),r=this.gos.get("tabIndex");n.sort((e,t)=>{const o=Number.parseInt(e.getAttribute("tabindex")||"0"),s=Number.parseInt(t.getAttribute("tabindex")||"0");return s===r?1:o===r?-1:0===o?1:0===s?-1:o-s}),n[e?n.length-1:0]?.focus()}onFocusIn(e){this.focusTrapActive||this.forcingFocusOut||(this.providedFocusIn&&this.providedFocusIn(e),this.isFocusableContainer||this.deactivateTabGuards())}onFocusOut(e){this.focusTrapActive||(this.providedFocusOut&&this.providedFocusOut(e),this.eFocusableElement.contains(e.relatedTarget)||this.activateTabGuards())}onTabKeyDown(e){if(this.providedOnTabKeyDown)return void this.providedOnTabKeyDown(e);if(this.focusTrapActive)return;if(e.defaultPrevented)return;const t=this.tabGuardsAreActive();t&&this.deactivateTabGuards();const o=this.getNextFocusableElement(e.shiftKey);t&&setTimeout(()=>this.activateTabGuards(),0),o&&(o.focus(),e.preventDefault())}focusInnerElement(e=!1){const t=zi(this.eFocusableElement);return this.tabGuardsAreActive()&&(t.splice(0,1),t.splice(-1,1)),!!t.length&&(t[e?t.length-1:0].focus({preventScroll:!0}),!0)}getNextFocusableElement(e){return Ui(this.beans,this.eFocusableElement,!1,e)}forceFocusOutOfContainer(e=!1){if(this.forcingFocusOut)return;const t=e?this.eTopGuard:this.eBottomGuard;this.activateTabGuards(),this.skipTabGuardFocus=!0,this.forcingFocusOut=!0,t.focus(),window.setTimeout(()=>{this.forcingFocusOut=!1,this.activateTabGuards()})}isTabGuard(e,t){return e===this.eTopGuard&&!t||e===this.eBottomGuard&&(t??!0)}setAllowFocus(e){this.allowFocus=e}},Fl=class extends He{constructor(e,t){super(),this.comp=e,this.stopPropagationCallbacks=t}initialiseTabGuard(e){this.eTopGuard=this.createTabGuard("top"),this.eBottomGuard=this.createTabGuard("bottom"),this.eFocusableElement=this.comp.getFocusableElement();const{eTopGuard:t,eBottomGuard:o,eFocusableElement:s,stopPropagationCallbacks:i}=this,n=[t,o],r={setTabIndex:e=>{for(const t of n)null==e?t.removeAttribute("tabindex"):t.setAttribute("tabindex",e)}};this.addTabGuards(t,o);const{focusTrapActive:l=!1,onFocusIn:a,onFocusOut:d,focusInnerElement:c,handleKeyDown:h,onTabKeyDown:u,shouldStopEventPropagation:g,isEmpty:p,forceFocusOutWhenTabGuardsAreEmpty:m,isFocusableContainer:f}=e;this.tabGuardCtrl=this.createManagedBean(new xl({comp:r,focusTrapActive:l,eTopGuard:t,eBottomGuard:o,eFocusableElement:s,onFocusIn:a,onFocusOut:d,focusInnerElement:c,handleKeyDown:h,onTabKeyDown:u,shouldStopEventPropagation:g,isEmpty:p,forceFocusOutWhenTabGuardsAreEmpty:m,isFocusableContainer:f},i))}getTabGuardCtrl(){return this.tabGuardCtrl}createTabGuard(e){const t=b(this.beans).createElement("div"),o="top"===e?Rl:"ag-tab-guard-bottom";return t.classList.add("ag-tab-guard",o),P(t,"presentation"),t}addTabGuards(e,t){const o=this.eFocusableElement;o.prepend(e),o.append(t)}removeAllChildrenExceptTabGuards(){const e=[this.eTopGuard,this.eBottomGuard];se(this.comp.getFocusableElement()),this.addTabGuards(...e)}forceFocusOutOfContainer(e=!1){this.tabGuardCtrl.forceFocusOutOfContainer(e)}appendChild(e,t,o){Ce(t)||(t=t.getGui());const{eBottomGuard:s}=this;s?s.before(t):e(t,o)}destroy(){const{eTopGuard:e,eBottomGuard:t}=this;ie(e),ie(t),super.destroy()}},Dl=class extends Di{initialiseTabGuard(e,t){this.tabGuardFeature=this.createManagedBean(new Fl(this,t)),this.tabGuardFeature.initialiseTabGuard(e)}forceFocusOutOfContainer(e=!1){this.tabGuardFeature.forceFocusOutOfContainer(e)}appendChild(e,t){this.tabGuardFeature.appendChild(super.appendChild.bind(this),e,t)}},Ml=class extends Dl{initialiseTabGuard(e){super.initialiseTabGuard(e,Zi)}},Pl=(e,t)=>Nn(e,()=>Wi(e.getGui(),t,!1,!0)),El=e=>e?.getFocusableContainerName()??"external",Tl=class extends Oe{constructor(){super(...arguments),this.additionalFocusableContainers=/* @__PURE__ */new Set}setComp(e,t,o){this.view=e,this.eGridHostDiv=t,this.eGui=o,this.eGui.setAttribute("grid-id",this.beans.context.getId());const{dragAndDrop:s,ctrlsSvc:i}=this.beans;s?.registerGridDropTarget(()=>this.eGui,this),this.createManagedBean(new Rr(this.view)),this.view.setRtlClass(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr");const n=we(this.beans,this.eGridHostDiv,this.onGridSizeChanged.bind(this));this.addDestroyFunc(()=>n()),i.register("gridCtrl",this)}isDetailGrid(){return $i(this.getGui())?.getAttribute("row-id")?.startsWith("detail")||!1}getOptionalSelectors(){const e=this.beans;return{paginationSelector:e.pagination?.getPaginationSelector(),gridHeaderDropZonesSelector:e.registry?.getSelector("AG-GRID-HEADER-DROP-ZONES"),sideBarSelector:e.sideBar?.getSelector(),statusBarSelector:e.registry?.getSelector("AG-STATUS-BAR"),watermarkSelector:e.licenseManager?.getWatermarkSelector()}}onGridSizeChanged(){this.eventSvc.dispatchEvent({type:"gridSizeChanged",clientWidth:this.eGridHostDiv.clientWidth,clientHeight:this.eGridHostDiv.clientHeight})}destroyGridUi(){this.view.destroyGridUi()}getGui(){return this.eGui}setResizeCursor(e){const{view:t}=this;!1===e?t.setCursor(null):t.setCursor(1===e?"ew-resize":"ns-resize")}disableUserSelect(e){this.view.setUserSelect(e?"none":null)}focusNextInnerContainer(e){const t=this.getFocusableContainers(),{indexWithFocus:o,nextIndex:s}=this.getNextFocusableIndex(t,e),i=-1===o?e?t.length-1:0:s,{gos:n,beans:{focusSvc:r,navigation:l}}=this,a=n.getCallback("tabToNextGridContainer");if(a){const s=r.getDefaultTabToNextGridContainerTarget({backwards:e,focusableContainers:t,nextIndex:i}),n=El(t[i]),h=null==s&&"gridBody"===n?"gridBody":null==(c=s)?"external":"string"==typeof c?c:"gridBody",u=a({backwards:e,previousContainer:El(t[o]),nextContainer:h,defaultTarget:s});if(void 0!==u){if("boolean"==typeof u)return u;if("string"==typeof u){if("gridBody"===u)return this.focusGridBodyDefault(e)||void 0;const o=t.find(e=>e.getFocusableContainerName()===u);if(!o)return;return!!Pl(o,e)||void 0}return d=u,null!=d?.headerRowIndex?r.focusHeaderPosition({headerPosition:u})||void 0:(l?.ensureCellVisible(u),r.setFocusedCell({...u,forceBrowserFocus:!0}),r.isCellFocused(u)||void 0)}}var d,c;return this.focusNextInnerContainerDefault({backwards:e,focusableContainers:t,indexWithFocus:o,nextIndex:i})||void 0}focusInnerElement(t){const{gos:o,beans:s,beans:{focusSvc:i,visibleCols:n}}=this;if(o.getCallback("focusGridInnerElement")?.({fromBottom:!!t}))return!0;const r=this.getFocusableContainers();if(t)return!!this.focusNextInnerContainerDefault({backwards:!0,focusableContainers:r,indexWithFocus:r.length,nextIndex:r.length-1})||i.focusGridView({column:e(n.allCols),backwards:!0});const l=n.allCols;if(0===o.get("headerHeight")||An(s)){if(i.focusGridView({column:l[0],backwards:t}))return!0;for(let e=1;ee.getGui().contains(o));return{indexWithFocus:s,nextIndex:s+(t?-1:1)}}focusGridBodyDefault(t){const{gos:o,beans:s,beans:{focusSvc:i,visibleCols:{allCols:n}}}=this;return t?i.focusGridView({column:e(n),backwards:!0}):0===o.get("headerHeight")||An(s)?i.focusGridView({column:n[0]}):i.focusFirstHeader()}focusNextInnerContainerDefault(e){const{backwards:t,focusableContainers:o,indexWithFocus:s}=e,i=t?-1:1;for(let n=e.nextIndex;n>=0&&nn:sthis.destroyBean(this),setRtlClass:e=>this.addCss(e),forceFocusOutOfContainer:this.forceFocusOutOfContainer.bind(this),updateLayoutClasses:this.updateLayoutClasses.bind(this),getFocusableContainers:this.getFocusableContainers.bind(this),setUserSelect:e=>{this.getGui().style.userSelect=null!=e?e:"",this.getGui().style.webkitUserSelect=null!=e?e:""},setCursor:e=>{this.getGui().style.cursor=null!=e?e:""}},t=this.createManagedBean(new Tl),o=t.getOptionalSelectors(),s=this.createTemplate(o),i=[Sl,...Object.values(o).filter(e=>!!e)];this.setTemplate(s,i),t.setComp(e,this.eGridDiv,this.getGui()),this.insertGridIntoDom(),this.initialiseTabGuard({onTabKeyDown:()=>{},focusInnerElement:e=>t.focusInnerElement(e),forceFocusOutWhenTabGuardsAreEmpty:!0,isEmpty:()=>!t.isFocusable()})}insertGridIntoDom(){const e=this.getGui();this.eGridDiv.appendChild(e),this.addDestroyFunc(()=>{e.remove(),tt(this.gos)})}updateLayoutClasses(e,t){const o=this.rootWrapperBody.classList,{AUTO_HEIGHT:s,NORMAL:i,PRINT:n}=Sr,{autoHeight:r,normal:l,print:a}=t;o.toggle(s,r),o.toggle(i,l),o.toggle(n,a),this.toggleCss(s,r),this.toggleCss(i,l),this.toggleCss(n,a)}createTemplate(e){const t=e.gridHeaderDropZonesSelector?{tag:"ag-grid-header-drop-zones",ref:"gridHeaderDropZones"}:null,o=e.sideBarSelector?{tag:"ag-side-bar",ref:"sideBar"}:null,s=e.statusBarSelector?{tag:"ag-status-bar",ref:"statusBar"}:null,i=e.watermarkSelector?{tag:"ag-watermark"}:null;return{tag:"div",cls:"ag-root-wrapper",role:"presentation",children:[t,{tag:"div",ref:"rootWrapperBody",cls:"ag-root-wrapper-body",role:"presentation",children:[{tag:"ag-grid-body",ref:"gridBody"},o]},s,e.paginationSelector?{tag:"ag-pagination",ref:"pagination"}:null,i]}}getFocusableElement(){return this.rootWrapperBody}forceFocusOutOfContainer(e=!1){e||!this.pagination?.isDisplayed()?super.forceFocusOutOfContainer(e):this.pagination.forceFocusOutOfContainer(e)}getFocusableContainers(){const e=[...this.gridHeaderDropZones?.getFocusableContainers?.()??[],this.gridBody];for(const t of[this.sideBar,this.statusBar,this.pagination])t&&e.push(t);return e.filter(e=>re(e.getGui()))}},Al=(e,t)=>{for(const o of Object.keys(t))t[o]=e;return t},kl={dispatchEvent:"CommunityCore",...Al("CommunityCore",{destroy:0,getGridId:0,getGridOption:0,isDestroyed:0,setGridOption:0,updateGridOptions:0,isModuleRegistered:0}),...Al("GridState",{getState:0,setState:0}),...Al("SharedRowSelection",{setNodesSelected:0,selectAll:0,deselectAll:0,selectAllFiltered:0,deselectAllFiltered:0,selectAllOnCurrentPage:0,deselectAllOnCurrentPage:0,getSelectedNodes:0,getSelectedRows:0}),...Al("RowApi",{redrawRows:0,setRowNodeExpanded:0,getRowNode:0,addRenderedRowListener:0,getRenderedNodes:0,forEachNode:0,getFirstDisplayedRowIndex:0,getLastDisplayedRowIndex:0,getDisplayedRowAtIndex:0,getDisplayedRowCount:0}),...Al("ScrollApi",{getVerticalPixelRange:0,getHorizontalPixelRange:0,ensureColumnVisible:0,ensureIndexVisible:0,ensureNodeVisible:0}),...Al("KeyboardNavigation",{getFocusedCell:0,clearFocusedCell:0,setFocusedCell:0,tabToNextCell:0,tabToPreviousCell:0,setFocusedHeader:0}),...Al("EventApi",{addEventListener:0,addGlobalListener:0,removeEventListener:0,removeGlobalListener:0}),...Al("ValueCache",{expireValueCache:0}),...Al("CellApi",{getCellValue:0}),...Al("SharedMenu",{showColumnMenu:0,hidePopupMenu:0}),...Al("Sort",{onSortChanged:0}),...Al("PinnedRow",{getPinnedTopRowCount:0,getPinnedBottomRowCount:0,getPinnedTopRow:0,getPinnedBottomRow:0,forEachPinnedRow:0}),...Al("Overlay",{showLoadingOverlay:0,showNoRowsOverlay:0,hideOverlay:0}),...Al("RenderApi",{setGridAriaProperty:0,refreshCells:0,refreshHeader:0,isAnimationFrameQueueEmpty:0,flushAllAnimationFrames:0,getSizesForCurrentTheme:0,getCellRendererInstances:0}),...Al("HighlightChanges",{flashCells:0}),...Al("RowDrag",{addRowDropZone:0,removeRowDropZone:0,getRowDropZoneParams:0,getRowDropPositionIndicator:0,setRowDropPositionIndicator:0}),...Al("ColumnApi",{getColumnDefs:0,getColumnDef:0,getDisplayNameForColumn:0,getColumn:0,getColumns:0,applyColumnState:0,getColumnState:0,resetColumnState:0,isPinning:0,isPinningLeft:0,isPinningRight:0,getDisplayedColAfter:0,getDisplayedColBefore:0,setColumnsVisible:0,setColumnsPinned:0,getAllGridColumns:0,getDisplayedLeftColumns:0,getDisplayedCenterColumns:0,getDisplayedRightColumns:0,getAllDisplayedColumns:0,getAllDisplayedVirtualColumns:0}),...Al("ColumnAutoSize",{sizeColumnsToFit:0,autoSizeColumns:0,autoSizeAllColumns:0}),...Al("ColumnGroup",{setColumnGroupOpened:0,getColumnGroup:0,getProvidedColumnGroup:0,getDisplayNameForColumnGroup:0,getColumnGroupState:0,setColumnGroupState:0,resetColumnGroupState:0,getLeftDisplayedColumnGroups:0,getCenterDisplayedColumnGroups:0,getRightDisplayedColumnGroups:0,getAllDisplayedColumnGroups:0}),...Al("ColumnMove",{moveColumnByIndex:0,moveColumns:0}),...Al("ColumnResize",{setColumnWidths:0}),...Al("ColumnHover",{isColumnHovered:0}),...Al("EditCore",{getCellEditorInstances:0,getEditingCells:0,getEditRowValues:0,stopEditing:0,startEditingCell:0,isEditing:0,validateEdit:0}),...Al("BatchEdit",{startBatchEdit:0,cancelBatchEdit:0,commitBatchEdit:0,isBatchEditing:0}),...Al("UndoRedoEdit",{undoCellEditing:0,redoCellEditing:0,getCurrentUndoSize:0,getCurrentRedoSize:0}),...Al("FilterCore",{isAnyFilterPresent:0,onFilterChanged:0}),...Al("ColumnFilter",{isColumnFilterPresent:0,getColumnFilterInstance:0,destroyFilter:0,setFilterModel:0,getFilterModel:0,getColumnFilterModel:0,setColumnFilterModel:0,showColumnFilter:0,hideColumnFilter:0,getColumnFilterHandler:0,doFilterAction:0}),...Al("QuickFilter",{isQuickFilterPresent:0,getQuickFilter:0,resetQuickFilter:0}),...Al("Find",{findGetActiveMatch:0,findGetTotalMatches:0,findGoTo:0,findNext:0,findPrevious:0,findGetNumMatches:0,findGetParts:0,findClearActive:0,findRefresh:0}),...Al("Pagination",{paginationIsLastPageFound:0,paginationGetPageSize:0,paginationGetCurrentPage:0,paginationGetTotalPages:0,paginationGetRowCount:0,paginationGoToNextPage:0,paginationGoToPreviousPage:0,paginationGoToFirstPage:0,paginationGoToLastPage:0,paginationGoToPage:0}),...Al("CsrmSsrmSharedApi",{expandAll:0,collapseAll:0,resetRowGroupExpansion:0}),...Al("SsrmInfiniteSharedApi",{setRowCount:0,getCacheBlockState:0,isLastRowIndexKnown:0}),...Al("ClientSideRowModelApi",{onGroupExpandedOrCollapsed:0,refreshClientSideRowModel:0,isRowDataEmpty:0,forEachLeafNode:0,forEachNodeAfterFilter:0,forEachNodeAfterFilterAndSort:0,applyTransaction:0,applyTransactionAsync:0,flushAsyncTransactions:0,getBestCostNodeSelection:0,onRowHeightChanged:0,resetRowHeights:0}),...Al("CsvExport",{getDataAsCsv:0,exportDataAsCsv:0}),...Al("InfiniteRowModel",{refreshInfiniteCache:0,purgeInfiniteCache:0,getInfiniteRowCount:0}),...Al("AdvancedFilter",{getAdvancedFilterModel:0,setAdvancedFilterModel:0,showAdvancedFilterBuilder:0,hideAdvancedFilterBuilder:0}),...Al("IntegratedCharts",{getChartModels:0,getChartRef:0,getChartImageDataURL:0,downloadChart:0,openChartToolPanel:0,closeChartToolPanel:0,createRangeChart:0,createPivotChart:0,createCrossFilterChart:0,updateChart:0,restoreChart:0}),...Al("Clipboard",{copyToClipboard:0,cutToClipboard:0,copySelectedRowsToClipboard:0,copySelectedRangeToClipboard:0,copySelectedRangeDown:0,pasteFromClipboard:0}),...Al("ExcelExport",{getDataAsExcel:0,exportDataAsExcel:0,getSheetDataForExcel:0,getMultipleSheetsAsExcel:0,exportMultipleSheetsAsExcel:0}),...Al("SharedMasterDetail",{addDetailGridInfo:0,removeDetailGridInfo:0,getDetailGridInfo:0,forEachDetailGridInfo:0}),...Al("ContextMenu",{showContextMenu:0}),...Al("ColumnMenu",{showColumnChooser:0,hideColumnChooser:0}),...Al("CellSelection",{getCellRanges:0,addCellRange:0,clearRangeSelection:0,clearCellSelection:0}),...Al("SharedRowGrouping",{setRowGroupColumns:0,removeRowGroupColumns:0,addRowGroupColumns:0,getRowGroupColumns:0,moveRowGroupColumn:0}),...Al("SharedAggregation",{addAggFuncs:0,clearAggFuncs:0,setColumnAggFunc:0}),...Al("SharedPivot",{isPivotMode:0,getPivotResultColumn:0,setValueColumns:0,getValueColumns:0,removeValueColumns:0,addValueColumns:0,setPivotColumns:0,removePivotColumns:0,addPivotColumns:0,getPivotColumns:0,setPivotResultColumns:0,getPivotResultColumns:0}),...Al("ServerSideRowModelApi",{getServerSideSelectionState:0,setServerSideSelectionState:0,applyServerSideTransaction:0,applyServerSideTransactionAsync:0,applyServerSideRowData:0,retryServerSideLoads:0,flushServerSideAsyncTransactions:0,refreshServerSide:0,getServerSideGroupLevelState:0,onRowHeightChanged:0,resetRowHeights:0}),...Al("SideBar",{isSideBarVisible:0,setSideBarVisible:0,setSideBarPosition:0,openToolPanel:0,closeToolPanel:0,getOpenedToolPanel:0,refreshToolPanel:0,isToolPanelShowing:0,getToolPanelInstance:0,getSideBar:0}),...Al("StatusBar",{getStatusPanel:0}),...Al("AiToolkit",{getStructuredSchema:0})},Ll={isDestroyed:()=>!0,destroy(){},preConstruct(){},postConstruct(){},preWireBeans(){},wireBeans(){}},Gl=(e,t)=>e.eventSvc.dispatchEvent(t),Nl=class{};function Bl(e,t){e.gos.updateGridOptions({options:t})}function Hl(e,t,o){const s=Ol(e,t,o);if(s){const{className:e}=s;if("string"==typeof e&&e.includes("ag-icon")||"object"==typeof e&&e["ag-icon"])return s}const i=Cl({tag:"span"});return i.appendChild(s),i}function Ol(e,t,o){let s=null;"smallDown"===e?Dt(262):"smallLeft"===e?Dt(263):"smallRight"===e&&Dt(264);const i=o?.getColDef().icons;if(i&&(s=i[e]),t.gos&&!s){const o=t.gos.get("icons");o&&(s=o[e])}if(s){let t;if("function"==typeof s)t=s();else{if("string"!=typeof s)return void Dt(38,{iconName:e});t=s}return"string"==typeof t?le(t):Ce(t)?t:void Dt(133,{iconName:e})}{const o=t.registry.getIcon(e);return o||t.validation?.validateIcon(e),Cl({tag:"span",cls:`ag-icon ag-icon-${o??e}`,role:"presentation",attrs:{unselectable:"on"}})}}Reflect.defineProperty(Nl,"name",{value:"GridApi"});var Vl,zl,Wl={tag:"div",children:[{tag:"div",ref:"eGhost",cls:"ag-dnd-ghost ag-unselectable",children:[{tag:"span",ref:"eIcon",cls:"ag-dnd-ghost-icon ag-shake-left-to-right"},{tag:"div",ref:"eLabel",cls:"ag-dnd-ghost-label"}]}]},Ul=(e,t)=>{if(null!=t&&e?.setPointerCapture)try{return e.setPointerCapture(t),e.hasPointerCapture(t)}catch{}return!1},$l=e=>{const{eElement:t,onLost:o}=e;t&&o&&(t.removeEventListener("lostpointercapture",o),e.onLost=null)},jl={passive:!0},Kl={passive:!1},_l=e=>{if(zl){if(zl.has(e))return!1}else zl=/* @__PURE__ */new WeakSet;return zl.add(e),!0},ql=class extends He{constructor(){super(...arguments),this.beanName="dragSvc",this.dragging=!1,this.drag=null,this.dragSources=[]}get startTarget(){return this.drag?.start.target??null}isPointer(){return!!Vl?.has(v(this.beans))}hasPointerCapture(){const e=this.drag?.pointerCapture;return!(!e||!this.beans.eRootDiv.hasPointerCapture?.(e.pointerId))}destroy(){this.drag&&this.cancelDrag();const e=this.dragSources;for(const t of e)Yl(t);e.length=0,super.destroy()}removeDragSource(e){const t=this.dragSources;for(let o=0,s=t.length;othis.onPointerDown(e,t),Kl],[t,"mousedown",t=>this.onMouseDown(e,t)]);const r=this.gos.get("suppressTouch");o&&!r&&ke(s,[t,"touchstart",t=>this.onTouchStart(e,t),Kl])}cancelDrag(e){const t=this.drag;e??(e=t?.eElement),e&&this.eventSvc.dispatchEvent({type:"dragCancelled",target:e}),t?.params.onDragCancel?.(),this.destroyDrag()}shouldPreventMouseEvent(e){const t=e.type;return("mousemove"===t||"pointermove"===t)&&e.cancelable&&Ae(this.beans,e)&&!j(Ql(e))}initDrag(e,...t){this.drag=e;const o=this.beans,s=e=>this.onScroll(e),i=v(o),n=b(o);ke(e.handlers,[i,"contextmenu",Ge],[i,"keydown",e=>this.onKeyDown(e)],[n,"scroll",s,{capture:!0}],[n.defaultView||window,"scroll",s],...t)}destroyDrag(){this.dragging=!1;const e=this.drag;if(e){const t=e.rootEl;Vl?.get(t)===e&&Vl.delete(t),this.drag=null,(e=>{if(!e)return;$l(e);const{eElement:t,pointerId:o}=e;if(t){try{t.releasePointerCapture(o)}catch{}e.eElement=null}})(e.pointerCapture),Le(e.handlers)}}onPointerDown(e,t){if(this.isPointer())return;const o=this.beans;if(zl?.has(t))return;const s=t.pointerType;if("touch"===s){if(o.gos.get("suppressTouch")||!e.includeTouch)return;if(e.stopPropagationForTouch&&t.stopPropagation(),j(Ql(t)))return}if(!t.isPrimary)return;if("mouse"===s&&0!==t.button)return;this.destroyDrag();const i=v(o),n=e.eElement,r=t.pointerId,l=new Zl(i,e,t,r);Vl??(Vl=/* @__PURE__ */new WeakMap),Vl.set(i,l);const a=e=>this.draggingPreventDefault(e);this.initDrag(l,[i,"pointerup",e=>{e.pointerId===r&&this.onMouseOrPointerUp(e)}],[i,"pointercancel",e=>{e.pointerId===r&&_l(e)&&this.cancelDrag()}],[i,"pointermove",e=>{e.pointerId===r&&this.onMouseOrPointerMove(e)},Kl],[i,"touchmove",a,Kl],[n,"mousemove",a,Kl]),0===e.dragStartPixels?this.onMouseOrPointerMove(t):_l(t)}onTouchStart(e,t){if(this.gos.get("suppressTouch")||!e.includeTouch)return;if(!_l(t))return;if(j(Ql(t)))return;if(e.stopPropagationForTouch&&t.stopPropagation(),this.isPointer())return void(this.dragging&&Ge(t));this.destroyDrag();const o=this.beans,s=new Zl(v(o),e,t.touches[0]),i=e=>this.onTouchUp(e),n=e=>this.onTouchCancel(e),r=v(o),l=t.target??e.eElement;this.initDrag(s,[l,"touchmove",e=>this.onTouchMove(e),jl],[l,"touchend",i,jl],[l,"touchcancel",n,jl],[r,"touchmove",e=>this.draggingPreventDefault(e),Kl],[r,"touchend",i,Kl],[r,"touchcancel",n,Kl]),0===e.dragStartPixels&&this.onMove(s.start)}draggingPreventDefault(e){this.dragging&&Ge(e)}onMouseDown(e,t){if(0!==t.button)return;if(zl?.has(t))return;if(this.isPointer())return;const o=this.beans;this.destroyDrag();const s=new Zl(v(o),e,t),i=v(o);this.initDrag(s,[i,"mousemove",e=>this.onMouseOrPointerMove(e)],[i,"mouseup",e=>this.onMouseOrPointerUp(e)]),0===e.dragStartPixels?this.onMouseOrPointerMove(t):_l(t)}onScroll(e){if(!_l(e))return;const t=this.drag,o=t?.lastDrag;o&&this.dragging&&t.params?.onDragging?.(o)}onMouseOrPointerMove(e){_l(e)&&(Ei()&&b(this.beans).getSelection()?.removeAllRanges(),this.shouldPreventMouseEvent(e)&&Ge(e),this.onMove(e))}onTouchCancel(e){const t=this.drag;t&&_l(e)&&Ie(t.start,e.changedTouches)&&this.cancelDrag()}onTouchMove(e){const t=this.drag;if(!t||!_l(e))return;const o=Ie(t.start,e.touches);o&&(this.onMove(o),this.draggingPreventDefault(e))}onMove(e){const t=this.drag;if(!t)return;t.lastDrag=e;const o=t.params;if(!this.dragging){const s=t.start;if(Te(e,s,o.dragStartPixels??4))return;if(this.dragging=!0,o.capturePointer&&(t.pointerCapture=((e,t)=>{if("undefined"==typeof PointerEvent||!(t instanceof PointerEvent))return null;const o=t.pointerId;if(!Ul(e,o))return null;const s={eElement:e,pointerId:o,onLost(e){((e,t)=>{$l(e);const{eElement:o,pointerId:s}=e;o&&t.pointerId===s&&Ul(o,s)})(s,e)}};return e.addEventListener("lostpointercapture",s.onLost),s})(this.beans.eRootDiv,e)),this.eventSvc.dispatchEvent({type:"dragStarted",target:o.eElement}),o.onDragStart?.(s),this.drag!==t)return;if(o.onDragging?.(s),this.drag!==t)return}o.onDragging?.(e)}onTouchUp(e){const t=this.drag;t&&_l(e)&&this.onUp(Ie(t.start,e.changedTouches))}onMouseOrPointerUp(e){_l(e)&&this.onUp(e)}onUp(e){const t=this.drag;t&&(e||(e=t.lastDrag),e&&this.dragging&&(this.dragging=!1,t.params.onDragStop?.(e),this.eventSvc.dispatchEvent({type:"dragStopped",target:t.params.eElement})),this.destroyDrag())}onKeyDown(e){e.key===Cs&&this.cancelDrag()}},Yl=e=>{Le(e.handlers);const t=e.oldTouchAction;if(null!=t){const o=e.params.eElement.style;o&&(o.touchAction=t)}},Zl=class{constructor(e,t,o,s=null){this.rootEl=e,this.params=t,this.start=o,this.pointerId=s,this.handlers=[],this.lastDrag=null,this.pointerCapture=null,this.eElement=t.eElement}},Ql=e=>{const t=e.target;return t instanceof Element?t:null},Xl=class{constructor(e){this.tickingInterval=null,this.onScrollCallback=null,this.scrollContainer=e.scrollContainer,this.scrollHorizontally=e.scrollAxis.includes("x"),this.scrollVertically=e.scrollAxis.includes("y"),this.scrollByTick=e.scrollByTick??20,e.onScrollCallback&&(this.onScrollCallback=e.onScrollCallback),this.scrollVertically&&(this.getVerticalPosition=e.getVerticalPosition,this.setVerticalPosition=e.setVerticalPosition),this.scrollHorizontally&&(this.getHorizontalPosition=e.getHorizontalPosition,this.setHorizontalPosition=e.setHorizontalPosition),this.shouldSkipVerticalScroll=e.shouldSkipVerticalScroll||(()=>!1),this.shouldSkipHorizontalScroll=e.shouldSkipHorizontalScroll||(()=>!1)}get scrolling(){return null!==this.tickingInterval}check(e,t=!1){const o=!this.scrollVertically||t||this.shouldSkipVerticalScroll(),s=!this.scrollHorizontally||this.shouldSkipHorizontalScroll();if(o&&s)return;const i=this.scrollContainer.getBoundingClientRect(),n=this.scrollByTick;this.tickLeft=!s&&e.clientXi.right-n,this.tickUp=!o&&e.clientYi.bottom-n,this.tickLeft||this.tickRight||this.tickUp||this.tickDown?this.ensureTickingStarted():this.ensureCleared()}ensureTickingStarted(){null===this.tickingInterval&&(this.tickingInterval=window.setInterval(this.doTick.bind(this),100),this.tickCount=0)}doTick(){this.tickCount++;const e=this.tickCount>20?200:this.tickCount>10?80:40;if(this.scrollVertically){const t=this.getVerticalPosition();this.tickUp&&this.setVerticalPosition(t-e),this.tickDown&&this.setVerticalPosition(t+e)}if(this.scrollHorizontally){const t=this.getHorizontalPosition();this.tickLeft&&this.setHorizontalPosition(t-e),this.tickRight&&this.setHorizontalPosition(t+e)}this.onScrollCallback&&this.onScrollCallback()}ensureCleared(){this.tickingInterval&&(window.clearInterval(this.tickingInterval),this.tickingInterval=null)}},Jl=class{constructor(){this.reordered=!1,this.removals=[],this.updates=/* @__PURE__ */new Set,this.adds=/* @__PURE__ */new Set}},ea=e=>{let t=e.childrenAfterGroup;for(;t?.length;){const e=t[0];if(e.sourceRowIndex>=0)return e;t=e.childrenAfterGroup}};function ta(e,t){return Wr(e,t.target)?.getFocusedCellPosition()??null}function oa(e,t){const o=kt(e.gos,"normal"),s=t;let i,n;null!=s.clientX||null!=s.clientY?(i=s.clientX,n=s.clientY):(i=s.x,n=s.y);const{pageFirstPixel:r}=e.pageBounds.getCurrentPagePixelRange();if(n+=r,o){const t=e.ctrlsSvc.getScrollFeature(),o=t.getVScrollPosition();i+=t.getHScrollPosition().left,n+=o.top}return{x:i,y:n}}var sa={moduleName:"Drag",version:mt,beans:[class extends ql{shouldPreventMouseEvent(e){return this.gos.get("enableCellTextSelection")&&super.shouldPreventMouseEvent(e)}}]},ia={moduleName:"SharedDragAndDrop",version:mt,beans:[class extends Bs{createEvent(e){return Co(this.gos,e)}createDragImageComp(e){const{gos:t,beans:o}=this;return(s=o.userCompFactory,i=Co(t,{dragSource:e}),s.getCompDetailsFromGridOptions(Vs,"agDragAndDropImage",i,!0))?.newAgStackInstance();var s,i}handleEnter(e,t){e?.onGridEnter?.(t)}handleExit(e,t){e?.onGridExit?.(t)}warnNoBody(){Dt(54)}isDropZoneWithinThisGrid(e){return this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody.contains(e.dropZoneTarget)}registerGridDropTarget(e,t){const o={getContainer:e,isInterestedIn:e=>1===e||0===e,getIconName:()=>"notAllowed"};this.addDropTarget(o),t.addDestroyFunc(()=>this.removeDropTarget(o))}}],dependsOn:[sa],userComponents:{agDragAndDropImage:class extends Pi{constructor(){super(),this.dragSource=null,this.eIcon=null,this.eLabel=null,this.eGhost=null,this.registerCSS(".ag-dnd-ghost{align-items:center;background-color:var(--ag-drag-and-drop-image-background-color);border:var(--ag-drag-and-drop-image-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-drag-and-drop-image-shadow);color:var(--ag-text-color);cursor:move;display:flex;font-weight:500;gap:var(--ag-cell-widget-spacing);height:var(--ag-header-height);overflow:hidden;padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding);text-overflow:ellipsis;transform:translateY(calc(var(--ag-spacing)*2));white-space:nowrap}.ag-dnd-ghost-not-allowed{border:var(--ag-drag-and-drop-image-not-allowed-border)}")}postConstruct(){const e=e=>Hl(e,this.beans,null);this.dropIconMap={pinned:e("columnMovePin"),hide:e("columnMoveHide"),move:e("columnMoveMove"),left:e("columnMoveLeft"),right:e("columnMoveRight"),group:e("columnMoveGroup"),aggregate:e("columnMoveValue"),pivot:e("columnMovePivot"),notAllowed:e("dropNotAllowed")}}init(e){this.dragSource=e.dragSource,this.setTemplate(Wl),this.beans.environment.applyThemeClasses(this.eGhost)}destroy(){this.dragSource=null,super.destroy()}setIcon(e,t){const{eGhost:o,eIcon:s,dragSource:i,dropIconMap:n,gos:r}=this;se(s);let l=null;e||(e=i?.getDefaultIconName?i.getDefaultIconName():"notAllowed"),l=n[e],o.classList.toggle("ag-dnd-ghost-not-allowed","notAllowed"===e),s.classList.toggle("ag-shake-left-to-right",t),l===n.hide&&r.get("suppressDragLeaveHidesColumns")||l&&s.appendChild(l)}setLabel(e){this.eLabel.textContent=e}}},icons:{columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",rowDrag:"grip"}},na={moduleName:"HorizontalResize",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="horizontalResizeSvc"}addResizeBar(e){const t={dragStartPixels:e.dragStartPixels||0,eElement:e.eResizeBar,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this,e),onDragging:this.onDragging.bind(this,e),onDragCancel:this.onDragStop.bind(this,e),includeTouch:!0,stopPropagationForTouch:!0},{dragSvc:o}=this.beans;return o.addDragSource(t),()=>o.removeDragSource(t)}onDragStart(e,t){this.dragStartX=t.clientX,this.setResizeIcons();const o=t instanceof MouseEvent&&!0===t.shiftKey;e.onResizeStart(o)}setResizeIcons(){const e=this.beans.ctrlsSvc.get("gridCtrl");e.setResizeCursor(1),e.disableUserSelect(!0)}onDragStop(e){e.onResizeEnd(this.resizeAmount),this.resetIcons()}resetIcons(){const e=this.beans.ctrlsSvc.get("gridCtrl");e.setResizeCursor(!1),e.disableUserSelect(!1)}onDragging(e,t){this.resizeAmount=t.clientX-this.dragStartX,e.onResizing(this.resizeAmount)}}],dependsOn:[sa]},ra=class extends Oe{constructor(e){super(),this.pinned=e,this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[]}onDragEnter(e){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;const t=e.dragItem.columns;if(t)for(const o of t)o.isPrimary()&&(o.isAnyFunctionActive()||(o.isAllowValue()?this.columnsToAggregate.push(o):o.isAllowRowGroup()?this.columnsToGroup.push(o):o.isAllowPivot()&&this.columnsToPivot.push(o)))}getIconName(){return this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0?this.pinned?"pinned":"move":null}onDragLeave(e){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging(e){}onDragStop(e){const{valueColsSvc:t,rowGroupColsSvc:o,pivotColsSvc:s}=this.beans;this.columnsToAggregate.length>0&&t?.addColumns(this.columnsToAggregate,"toolPanelDragAndDrop"),this.columnsToGroup.length>0&&o?.addColumns(this.columnsToGroup,"toolPanelDragAndDrop"),this.columnsToPivot.length>0&&s?.addColumns(this.columnsToPivot,"toolPanelDragAndDrop")}onDragCancel(){this.clearColumnsList()}};function la(o){const{isFromHeader:s,fromLeft:i,xPosition:n,fromEnter:r,fakeEvent:l,pinned:a,gos:d,colModel:c,colMoves:h,visibleCols:u}=o;let{allMovingColumns:g}=o;s&&(g=function(e){const t=[...e];for(const o of e){let e=null,s=o.getParent();for(;null!=s&&1===s.getDisplayedLeafColumns().length;)e=s,s=s.getParent();if(null!=e){const o=e.getColGroupDef()?.marryChildren?e.getProvidedColumnGroup().getLeafColumns():e.getLeafColumns();for(const e of o)t.includes(e)||t.push(e)}}return t}(g));const p=g.slice();var m,f;m=c.getCols(),!(f=p)||f.length<=1||f.filter(e=>m.indexOf(e)<0).length>0||f.sort((e,t)=>m.indexOf(e)-m.indexOf(t));const C=function(e){const{movingCols:t,draggingRight:o,xPosition:s,pinned:i,gos:n,colModel:r,visibleCols:l}=e;if(n.get("suppressMovableColumns")||t.some(e=>e.getColDef().suppressMovable))return[];const a=function(e,t){switch(t){case"left":return e.leftCols;case"right":return e.rightCols;default:return e.centerCols}}(l,i),d=r.getCols(),c=a.filter(e=>t.includes(e)),h=a.filter(e=>!t.includes(e)),u=d.filter(e=>!t.includes(e));let g,p=0,m=s;if(o){let e=0;for(const t of c)e+=t.getActualWidth();m-=e}if(m>0){for(let e=0;e0){const e=h[p-1];g=u.indexOf(e)+1}else g=u.indexOf(h[0]),-1===g&&(g=0);const f=[g],C=(e,t)=>e-t;if(o){let e=g+1;const t=d.length-1;for(;e<=t;)f.push(e),e++;f.sort(C)}else{let e=g;const t=d.length-1;let o=d[e];for(;e<=t&&a.indexOf(o)<0;)e++,f.push(e),o=d[e];e=g-1;const s=0;for(;e>=s;)f.push(e),e--;f.sort(C).reverse()}return f}({movingCols:p,draggingRight:i,xPosition:n,pinned:a,gos:d,colModel:c,visibleCols:u}),v=function(t,o){const s=o.getCols(),i=t.map(e=>s.indexOf(e)).sort((e,t)=>e-t),n=i[0];return e(i)-n!==i.length-1?null:n}(p,c);if(0===C.length)return;const w=C[0];if(null!==v&&(s||!r)&&!l){if(!i&&w>=v)return;if(i&&w<=v)return}const b=function(e,o,s,i){const n=i.allCols;let r=null,l=null;for(let a=0;an.includes(e));if(null===l)l=c;else if(!t(c,l))break;const h=da(d);(null===r||hc.getCols().length-p.length?void 0:{columns:p,toIndex:y}}function aa(e){const{columns:t,toIndex:o}=la(e)||{},{finished:s,colMoves:i}=e;return t&&null!=o?(i.moveColumns(t,o,"uiColumnMoved",s),s?null:{columns:t,toIndex:o}):null}function da(e){function t(e){const t=[];let o=e.getOriginalParent();for(;null!=o;)t.push(o),o=o.getOriginalParent();return t}let o=0;for(let s=0;sn.length?[i,n]:[n,i];for(const e of i)-1===n.indexOf(e)&&o++}return o}function ca(e){const{pinned:t,fromKeyboard:o,gos:s,ctrlsSvc:i,useHeaderRow:n,skipScrollPadding:r}=e;let l=i.getHeaderRowContainerCtrl(t)?.eViewport,{x:a}=e;return l?(o&&(a-=l.getBoundingClientRect().left),s.get("enableRtl")&&(n&&(l=l.querySelector(".ag-header-row")),a=l.clientWidth-a),null!=t||r||(a+=i.get("center").getCenterViewportScrollLeft()),a):0}function ha(e,t){for(const o of e)o.moving=t,o.dispatchColEvent("movingChanged","uiColumnMoved")}var ua=class extends Oe{constructor(e){super(),this.pinned=e,this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.isCenterContainer=!l(e)}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl})}getIconName(){const{pinned:e,lastDraggingEvent:t}=this,{dragItem:o}=t||{},s=o?.columns??[];for(const i of s){const t=i.getPinned();if(i.getColDef().lockPinned){if(t==e)return"move";continue}const s=o?.containerType;if(s===e||!e)return"move";if(e&&(!t||s!==e))return"pinned"}return"notAllowed"}onDragEnter(e){const t=e.dragItem,o=t.columns;if(0===e.dragSource.type)this.setColumnsVisible(o,!0,"uiColumnDragged");else{const e=t.visibleState,s=(o||[]).filter(t=>e[t.getId()]&&!t.isVisible());this.setColumnsVisible(s,!0,"uiColumnDragged")}this.gos.get("suppressMoveWhenColumnDragging")||this.attemptToPinColumns(o,this.pinned),this.onDragging(e,!0,!0)}onDragging(e=this.lastDraggingEvent,t=!1,o=!1,s=!1){const{gos:i,ctrlsSvc:n}=this.beans,r=i.get("suppressMoveWhenColumnDragging");if(s&&!r)return void this.finishColumnMoving();if(this.lastDraggingEvent=e,!e||!s&&a(e.hDirection))return;const l=ca({x:e.x,pinned:this.pinned,gos:i,ctrlsSvc:n});t||this.checkCenterForScrolling(l),r?this.handleColumnDragWhileSuppressingMovement(e,t,o,l,s):this.handleColumnDragWhileAllowingMovement(e,t,o,l,s)}onDragLeave(){this.ensureIntervalCleared(),this.clearHighlighted(),this.updateDragItemContainerType(),this.lastMovedInfo=null}onDragStop(){this.onDragging(this.lastDraggingEvent,!1,!0,!0),this.ensureIntervalCleared(),this.lastMovedInfo=null}onDragCancel(){this.clearHighlighted(),this.ensureIntervalCleared(),this.lastMovedInfo=null}setColumnsVisible(e,t,o){if(!e?.length)return;const s=e.filter(e=>!e.getColDef().lockVisible);s.length&&this.beans.colModel.setColsVisible(s,t,o)}finishColumnMoving(){this.clearHighlighted();const e=this.lastMovedInfo;if(!e)return;const{columns:t,toIndex:o}=e;this.beans.colMoves.moveColumns(t,o,"uiColumnMoved",!0)}updateDragItemContainerType(){const{lastDraggingEvent:e}=this;if(this.gos.get("suppressMoveWhenColumnDragging")||!e)return;const t=e.dragItem;t&&(t.containerType=this.pinned)}handleColumnDragWhileSuppressingMovement(e,t,o,s,i){const n=this.getAllMovingColumns(e,!0);if(i){const e=this.isAttemptingToPin(n);e&&this.attemptToPinColumns(n,void 0,!0);const{fromLeft:s,xPosition:i}=this.getNormalisedXPositionInfo(n,e)||{};if(null==s||null==i)return void this.finishColumnMoving();this.moveColumnsAfterHighlight({allMovingColumns:n,xPosition:i,fromEnter:t,fakeEvent:o,fromLeft:s})}else{if(!this.beans.dragAndDrop.isDropZoneWithinThisGrid(e))return;this.highlightHoveredColumn(n,s)}}handleColumnDragWhileAllowingMovement(e,t,o,s,i){const n=this.getAllMovingColumns(e),r="right"===this.normaliseDirection(e.hDirection),l=1===e.dragSource.type,a=aa({...this.getMoveColumnParams({allMovingColumns:n,isFromHeader:l,xPosition:s,fromLeft:r,fromEnter:t,fakeEvent:o}),finished:i});a&&(this.lastMovedInfo=a)}getAllMovingColumns(e,t=!1){const o=e.dragSource.getDragItem();let s=null;return t?(s=o.columnsInSplit,s||(s=o.columns)):s=o.columns,s?s.filter(e=>!e.getColDef().lockPinned||e.getPinned()==this.pinned):[]}getMoveColumnParams(e){const{allMovingColumns:t,isFromHeader:o,xPosition:s,fromLeft:i,fromEnter:n,fakeEvent:r}=e,{gos:l,colModel:a,colMoves:d,visibleCols:c}=this.beans;return{allMovingColumns:t,isFromHeader:o,fromLeft:i,xPosition:s,pinned:this.pinned,fromEnter:n,fakeEvent:r,gos:l,colModel:a,colMoves:d,visibleCols:c}}highlightHoveredColumn(t,o){const{gos:s,colModel:i}=this.beans,n=s.get("enableRtl"),r=i.getCols().filter(e=>e.isVisible()&&e.getPinned()===this.pinned);let l,a=null,d=null,c=null;for(const e of r){if(d=e.getActualWidth(),a=this.getNormalisedColumnLeft(e,0,n),null!=a&&a<=o&&a+d>=o){c=e;break}a=null,d=null}if(c)-1!==t.indexOf(c)&&(c=null);else{for(let t=r.length-1;t>=0;t--){const o=r[t],s=r[t].getParent();if(!s){c=o;break}const i=s?.getDisplayedLeafColumns();if(i.length){c=e(i);break}}if(!c)return;a=this.getNormalisedColumnLeft(c,0,n),d=c.getActualWidth()}if(null!=c&&null!=a&&null!=d){if(o-a7;return t&&o||e.some(e=>e.getPinned()!==this.pinned)}moveColumnsAfterHighlight(e){const{allMovingColumns:t,xPosition:o,fromEnter:s,fakeEvent:i,fromLeft:n}=e,{columns:r,toIndex:l}=la(this.getMoveColumnParams({allMovingColumns:t,isFromHeader:!0,xPosition:o,fromLeft:n,fromEnter:s,fakeEvent:i}))||{};r&&null!=l&&(this.lastMovedInfo={columns:r,toIndex:l}),this.finishColumnMoving()}clearHighlighted(){const{lastHighlightedColumn:e}=this;e&&(ga(e.column,null),this.lastHighlightedColumn=null)}checkCenterForScrolling(e){if(!this.isCenterContainer)return;const t=this.beans.ctrlsSvc.get("center"),o=t.getCenterViewportScrollLeft(),s=o+t.getCenterWidth();let i,n;this.gos.get("enableRtl")?(i=es-50):(n=es-50),this.needToMoveRight=i,this.needToMoveLeft=n,n||i?this.ensureIntervalStarted():this.ensureIntervalCleared()}ensureIntervalStarted(){this.movingIntervalId||(this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),100),this.beans.dragAndDrop.setDragImageCompIcon(this.needToMoveLeft?"left":"right",!0))}ensureIntervalCleared(){this.movingIntervalId&&(window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.failedMoveAttempts=0,this.beans.dragAndDrop.setDragImageCompIcon(this.getIconName()))}moveInterval(){let e;this.intervalCount++,e=10+5*this.intervalCount,e>100&&(e=100);let t=null;const o=this.gridBodyCon.scrollFeature;if(this.needToMoveLeft?t=o.scrollHorizontally(-e):this.needToMoveRight&&(t=o.scrollHorizontally(e)),0!==t)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{this.failedMoveAttempts++;const{pinnedCols:e,dragAndDrop:t,gos:o}=this.beans;if(this.failedMoveAttempts<=8||!e)return;if(t.setDragImageCompIcon("pinned"),!o.get("suppressMoveWhenColumnDragging")){const e=this.lastDraggingEvent?.dragItem.columns;this.attemptToPinColumns(e,void 0,!0)}}}getPinDirection(){return this.needToMoveLeft||"left"===this.pinned?"left":this.needToMoveRight||"right"===this.pinned?"right":void 0}attemptToPinColumns(e,t,o=!1){const s=(e||[]).filter(e=>!e.getColDef().lockPinned);if(!s.length)return 0;o&&(t=this.getPinDirection());const{pinnedCols:i,dragAndDrop:n}=this.beans;return i?.setColsPinned(s,t,"uiColumnDragged"),o&&n.nudge(),s.length}destroy(){super.destroy(),this.lastDraggingEvent=null,this.clearHighlighted(),this.lastMovedInfo=null}};function ga(e,t){e.highlighted!==t&&(e.highlighted=t,e.dispatchColEvent("headerHighlightChanged","uiColumnMoved"))}var pa=class extends Oe{constructor(e,t){super(),this.pinned=e,this.eContainer=t}postConstruct(){const{ctrlsSvc:e,dragAndDrop:t}=this.beans,o=this.pinned;e.whenReady(this,e=>{let t;const s=e.gridBodyCtrl.eBodyViewport;switch(o){case"left":t=[[s,e.left.eContainer],[e.bottomLeft.eContainer],[e.topLeft.eContainer]];break;case"right":t=[[s,e.right.eContainer],[e.bottomRight.eContainer],[e.topRight.eContainer]];break;default:t=[[s,e.center.eViewport],[e.bottomCenter.eViewport],[e.topCenter.eViewport]]}this.eSecondaryContainers=t}),this.moveColumnFeature=this.createManagedBean(new ua(o)),this.bodyDropPivotTarget=this.createManagedBean(new ra(o)),t.addDropTarget(this),this.addDestroyFunc(()=>t.removeDropTarget(this))}isInterestedIn(e){return 1===e||0===e&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(e){return this.beans.colModel.isPivotMode()&&0===e.dragSource.type}onDragEnter(e){this.currentDropListener=this.isDropColumnInPivotMode(e)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter(e)}onDragLeave(e){this.currentDropListener.onDragLeave(e)}onDragging(e){this.currentDropListener.onDragging(e)}onDragStop(e){this.currentDropListener.onDragStop(e)}onDragCancel(){this.currentDropListener.onDragCancel()}};function ma(e,t){const o=[],s=[],i=[];return e.forEach(e=>{const t=e.getColDef().lockPosition;"right"===t?i.push(e):"left"===t||!0===t?o.push(e):s.push(e)}),t.get("enableRtl")?[...i,...s,...o]:[...o,...s,...i]}function fa(e,t){let o=!0;return Yo(null,t,t=>{if(!Lo(t))return;const s=t;if(!s.getColGroupDef()?.marryChildren)return;const i=[];for(const o of s.getLeafColumns()){const t=e.indexOf(o);i.push(t)}Math.max.apply(Math,i)-Math.min.apply(Math,i)>s.getLeafColumns().length-1&&(o=!1)}),o}var Ca={moduleName:"ColumnMove",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="colMoves"}moveColumnByIndex(e,t,o){const s=this.beans.colModel.getCols();if(!s)return;const i=s[e];this.moveColumns([i],t,o)}moveColumns(e,t,o,s=!0){const{colModel:i,colAnimation:r,visibleCols:l,eventSvc:a}=this.beans,d=i.getCols();if(!d)return;if(t>d.length-e.length)return void Dt(30,{toIndex:t});r?.start();const c=i.getColsForKeys(e);this.doesMovePassRules(c,t)&&(n(i.getCols(),c,t),l.refresh(o),a.dispatchEvent({type:"columnMoved",columns:c,column:1===c.length?c[0]:null,toIndex:t,finished:s,source:o})),r?.finish()}doesMovePassRules(e,t){const o=this.getProposedColumnOrder(e,t);return this.doesOrderPassRules(o)}doesOrderPassRules(e){const{colModel:t,gos:o}=this.beans;return!!fa(e,t.getColTree())&&!!(e=>{const t=e=>e?"left"===e||!0===e?-1:1:0,s=o.get("enableRtl");let i=s?1:-1,n=!0;for(const o of e){const e=t(o.getColDef().lockPosition);s?e>i&&(n=!1):ea?"hide":"notAllowed",getDragItem:d?()=>function(e,t){const o=e.getProvidedColumnGroup().getLeafColumns(),i={};for(const s of o)i[s.getId()]=s.isVisible();const n=[];for(const a of t)o.indexOf(a)>=0&&(n.push(a),s(o,a));for(const s of o)n.push(s);const r=[],l=e.getLeafColumns();for(const s of n)-1!==l.indexOf(s)&&r.push(s);return{columns:n,columnsInSplit:r,visibleState:i,containerType:r[0]?.pinned}}(t,l.allCols):()=>function(e){const t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t,containerType:e.pinned}}(t),dragItemName:o,onDragStarted:()=>{a=!i.get("suppressDragLeaveHidesColumns"),ha(c,!0)},onDragStopped:()=>ha(c,!1),onDragCancelled:()=>ha(c,!1),onGridEnter:e=>{if(a){const{columns:t=[],visibleState:o}=e??{},s=d?e=>!o||o[e.getColId()]:()=>!0,i=t.filter(e=>!e.getColDef().lockVisible&&s(e));n.setColsVisible(i,!0,"uiColumnMoved")}},onGridExit:e=>{if(a){const t=e?.columns?.filter(e=>!e.getColDef().lockVisible)||[];n.setColsVisible(t,!1,"uiColumnMoved")}}};return r.addDragSource(h,!0),h}},class extends Oe{constructor(){super(...arguments),this.beanName="colAnimation",this.executeNextFuncs=[],this.executeLaterFuncs=[],this.active=!1,this.activeNext=!1,this.suppressAnimation=!1,this.animationThreadCount=0}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>this.gridBodyCtrl=e.gridBodyCtrl)}isActive(){return this.active&&!this.suppressAnimation}setSuppressAnimation(e){this.suppressAnimation=e}start(){if(this.active)return;const{gos:e}=this;e.get("suppressColumnMoveAnimation")||e.get("enableRtl")||(this.ensureAnimationCssClassPresent(),this.active=!0,this.activeNext=!0)}finish(){this.active&&this.flush(()=>this.activeNext=!1,()=>this.active=!1)}executeNextVMTurn(e){this.activeNext?this.executeNextFuncs.push(e):e()}executeLaterVMTurn(e){this.active?this.executeLaterFuncs.push(e):e()}ensureAnimationCssClassPresent(){this.animationThreadCount++;const e=this.animationThreadCount,{gridBodyCtrl:t}=this;t.setColumnMovingCss(!0),this.executeLaterFuncs.push(()=>{this.animationThreadCount===e&&t.setColumnMovingCss(!1)})}flush(e,t){const{executeNextFuncs:o,executeLaterFuncs:s}=this;if(0===o.length&&0===s.length)return e(),void t();const i=e=>{for(;e.length;){const t=e.pop();t&&t()}};this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{e(),i(o)},0),window.setTimeout(()=>{t(),i(s)},200)})}}],apiFunctions:{moveColumnByIndex:function(e,t,o){e.colMoves?.moveColumnByIndex(t,o,"api")},moveColumns:function(e,t,o){e.colMoves?.moveColumns(t,o,"api")}},dependsOn:[ia],css:[":where(.ag-ltr) :where(.ag-column-moving){.ag-cell,.ag-header-cell,.ag-spanned-cell-wrapper{transition:left .2s}.ag-header-group-cell{transition:left .2s,width .2s}}:where(.ag-rtl) :where(.ag-column-moving){.ag-cell,.ag-header-cell,.ag-spanned-cell-wrapper{transition:right .2s}.ag-header-group-cell{transition:right .2s,width .2s}}"]},va={moduleName:"AutoWidth",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="autoWidthCalc"}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.centerRowContainerCtrl=e.center})}getPreferredWidthForColumn(e,t){const o=this.getHeaderCellForColumn(e);if(!o)return-1;const s=this.beans.rowRenderer.getAllCellsNotSpanningForColumn(e);return t||s.push(o),this.getPreferredWidthForElements(s)}getPreferredWidthForColumnGroup(e){const t=this.getHeaderCellForColumn(e);return t?this.getPreferredWidthForElements([t]):-1}getPreferredWidthForElements(e,t){const o=document.createElement("form");o.style.position="fixed";const s=this.centerRowContainerCtrl.eContainer;for(const n of e)this.cloneItemIntoDummy(n,o);s.appendChild(o);const i=Math.ceil(o.getBoundingClientRect().width);return o.remove(),i+(t??this.gos.get("autoSizePadding"))}getHeaderCellForColumn(e){let t=null;for(const o of this.beans.ctrlsSvc.getHeaderRowContainerCtrls()){const s=o.getHtmlElementForColumnHeader(e);null!=s&&(t=s)}return t}cloneItemIntoDummy(e,t){const o=e.cloneNode(!0);o.style.width="",o.style.position="static",o.style.left="";const s=document.createElement("div"),i=s.classList;["ag-header-cell","ag-header-group-cell"].some(e=>o.classList.contains(e))?(i.add("ag-header","ag-header-row"),s.style.position="static"):i.add("ag-row");let n=e.parentElement;for(;n;){if(["ag-header-row","ag-row"].some(e=>n.classList.contains(e))){for(let e=0;ee.getPinned());e.dispatchEvent({type:"columnPinned",pinned:null!=i?i:null,columns:t,column:s,source:o})}function ya(e,t,o,s){e.dispatchEvent({type:t,columns:o,column:o&&1==o.length?o[0]:null,source:s})}function Sa(e,t,o,s,i=null){t?.length&&e.dispatchEvent({type:"columnResized",columns:t,column:1===t.length?t[0]:null,flexColumns:i,finished:o,source:s})}var Ra=class extends Oe{constructor(e,t,o,s){super(),this.comp=e,this.eResize=t,this.pinned=o,this.columnGroup=s}postConstruct(){if(!this.columnGroup.isResizable())return void this.comp.setResizableDisplayed(!1);const{horizontalResizeSvc:e,gos:t,colAutosize:o}=this.beans,s=e.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});this.addDestroyFunc(s),!t.get("suppressAutoSize")&&o&&this.addDestroyFunc(o.addColumnGroupResize(this.eResize,this.columnGroup,()=>this.resizeLeafColumnsToFit("uiColumnResized")))}onResizeStart(e){const{columnsToResize:t,resizeStartWidth:o,resizeRatios:s,groupAfterColumns:i,groupAfterStartWidth:n,groupAfterRatios:r}=this.getInitialValues(e);this.resizeCols=t,this.resizeStartWidth=o,this.resizeRatios=s,this.resizeTakeFromCols=i,this.resizeTakeFromStartWidth=n,this.resizeTakeFromRatios=r,this.toggleColumnResizing(!0)}onResizing(e,t,o="uiColumnResized"){const s=this.normaliseDragChange(t),i=this.resizeStartWidth+s;this.resizeColumnsFromLocalValues(i,o,e)}getInitialValues(e){const t=e=>e.reduce((e,t)=>e+t.getActualWidth(),0),o=(e,t)=>e.map(e=>e.getActualWidth()/t),s=this.getColumnsToResize(),i=t(s),n={columnsToResize:s,resizeStartWidth:i,resizeRatios:o(s,i)};let r=null;if(e&&(r=this.beans.colGroupSvc?.getGroupAtDirection(this.columnGroup,"After")??null),r){const e=n.groupAfterColumns=r.getDisplayedLeafColumns().filter(e=>e.isResizable());n.groupAfterRatios=o(e,n.groupAfterStartWidth=t(e))}else n.groupAfterColumns=void 0,n.groupAfterStartWidth=void 0,n.groupAfterRatios=void 0;return n}resizeLeafColumnsToFit(e){const t=this.beans.autoWidthCalc.getPreferredWidthForColumnGroup(this.columnGroup),o=this.getInitialValues();t>o.resizeStartWidth&&this.resizeColumns(o,t,e,!0)}resizeColumnsFromLocalValues(e,t,o=!0){if(!this.resizeCols||!this.resizeRatios)return;const s={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols,groupAfterStartWidth:this.resizeTakeFromStartWidth,groupAfterRatios:this.resizeTakeFromRatios};this.resizeColumns(s,e,t,o)}resizeColumns(e,t,o,s=!0){const{columnsToResize:i,resizeStartWidth:n,resizeRatios:r,groupAfterColumns:l,groupAfterStartWidth:a,groupAfterRatios:d}=e,c=[];if(c.push({columns:i,ratios:r,width:t}),l){const e=t-n;c.push({columns:l,ratios:d,width:a-e})}this.beans.colResize?.resizeColumnSets({resizeSets:c,finished:s,source:o}),s&&this.toggleColumnResizing(!1)}toggleColumnResizing(e){this.comp.toggleCss("ag-column-resizing",e)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter(e=>e.isResizable())}normaliseDragChange(e){let t=e;return this.gos.get("enableRtl")?"left"!==this.pinned&&(t*=-1):"right"===this.pinned&&(t*=-1),t}destroy(){super.destroy(),this.resizeCols=void 0,this.resizeRatios=void 0,this.resizeTakeFromCols=void 0,this.resizeTakeFromRatios=void 0}},xa=class extends Oe{constructor(e,t,o,s,i){super(),this.pinned=e,this.column=t,this.eResize=o,this.comp=s,this.ctrl=i}postConstruct(){const e=[];let t,o;const s=()=>{if(K(this.eResize,t),!t)return;const{horizontalResizeSvc:s,colAutosize:i}=this.beans,n=s.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});e.push(n),o&&i&&e.push(i.addColumnAutosizeListeners(this.eResize,this.column))},i=()=>{for(const t of e)t();e.length=0},n=()=>{const e=this.column.isResizable(),n=!this.gos.get("suppressAutoSize")&&!this.column.getColDef().suppressAutoSize;e===t&&n===o||(t=e,o=n,i(),s())};n(),this.addDestroyFunc(i),this.ctrl.setRefreshFunction("resize",n)}onResizing(e,t){const{column:o,lastResizeAmount:s,resizeStartWidth:i,beans:n}=this,r=this.normaliseResizeAmount(t),l=[{key:o,newWidth:i+r}],{pinnedCols:a,ctrlsSvc:d,colResize:c}=n;this.column.getPinned()&&(a?.leftWidth??0)+(a?.rightWidth??0)+(r-s)>Q(d.getGridBodyCtrl().eBodyViewport)-50||(this.lastResizeAmount=r,c?.setColumnWidths(l,this.resizeWithShiftKey,e,"uiColumnResized"),e&&this.toggleColumnResizing(!1))}onResizeStart(e){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=e,this.toggleColumnResizing(!0)}toggleColumnResizing(e){this.column.resizing=e,this.comp.toggleCss("ag-column-resizing",e)}normaliseResizeAmount(e){let t=e;const o="left"!==this.pinned,s="right"===this.pinned;return this.gos.get("enableRtl")?o&&(t*=-1):s&&(t*=-1),t}},Fa={moduleName:"ColumnResize",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="colResize"}setColumnWidths(e,t,o,s){const i=[],{colModel:n,gos:r,visibleCols:l}=this.beans;for(const a of e){const e=n.getColDefCol(a.key)||n.getCol(a.key);if(e&&(i.push({width:a.newWidth,ratios:[1],columns:[e]}),"shift"===r.get("colResizeDefault")&&(t=!t),t)){const t=l.getColAfter(e);if(!t)continue;const o=e.getActualWidth()-a.newWidth,s=t.getActualWidth()+o;i.push({width:s,ratios:[1],columns:[t]})}}0!==i.length&&this.resizeColumnSets({resizeSets:i,finished:o,source:s})}resizeColumnSets(e){const{resizeSets:t,finished:o,source:s}=e;if(t&&!t.every(e=>function(e){const{columns:t,width:o}=e;let s=0,i=0,n=!0;for(const r of t){s+=r.getMinWidth()||0;const e=r.getMaxWidth();e>0?i+=e:n=!1}return o>=s&&(!n||o<=i)}(e))){if(o){const e=t&&t.length>0?t[0].columns:null;Sa(this.eventSvc,e,o,s)}return}const i=[],n=[];for(const d of t){const{width:e,columns:t,ratios:o}=d,r={},l={};for(const s of t)n.push(s);let a=!0,c=0;for(;a;){if(c++,c>1e3){Mt(31);break}a=!1;const s=[];let i=0,n=e;t.forEach((e,t)=>{if(l[e.getId()])n-=r[e.getId()];else{s.push(e);const n=o[t];i+=n}});const d=1/i;s.forEach((t,i)=>{let c;i===s.length-1?c=n:(c=Math.round(o[i]*e*d),n-=c);const h=t.getMinWidth(),u=t.getMaxWidth();c0&&c>u&&(c=u,l[t.getId()]=!0,a=!0),r[t.getId()]=c})}for(const n of t){const e=r[n.getId()];n.getActualWidth()!==e&&(n.setActualWidth(e,s),i.push(n))}}const r=i.length>0;let l=[];if(r){const{colFlex:e,visibleCols:t,colViewport:o}=this.beans;l=e?.refreshFlexedColumns({resizingCols:n,skipSetLeft:!0})??[],t.setLeftValues(s),t.updateBodyWidths(),o.checkViewportColumns()}const a=n.concat(l);(r||o)&&Sa(this.eventSvc,a,o,s,l)}resizeHeader(e,t,o){if(!e.isResizable())return;const s=e.getActualWidth(),i=e.getMinWidth(),n=e.getMaxWidth(),r=Math.min(Math.max(s+t,i),n);this.setColumnWidths([{key:e,newWidth:r}],o,!0,"uiColumnResized")}createResizeFeature(e,t,o,s,i){return new xa(e,t,o,s,i)}createGroupResizeFeature(e,t,o,s){return new Ra(e,t,o,s)}}],apiFunctions:{setColumnWidths:function(e,t,o=!0,s="api"){e.colResize?.setColumnWidths(t,!1,o,s)}},dependsOn:[na,va]},Da=class extends Oe{constructor(e,t){super(),this.removeChildListenersFuncs=[],this.columnGroup=t,this.comp=e}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();const e=this.onWidthChanged.bind(this);for(const t of this.columnGroup.getLeafColumns())t.__addEventListener("widthChanged",e),t.__addEventListener("visibleChanged",e),this.removeChildListenersFuncs.push(()=>{t.__removeEventListener("widthChanged",e),t.__removeEventListener("visibleChanged",e)})}removeListenersOnChildrenColumns(){for(const e of this.removeChildListenersFuncs)e();this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){const e=this.columnGroup.getActualWidth();this.comp.setWidth(`${e}px`),this.comp.toggleCss("ag-hidden",0===e)}},Ma=class{constructor(){this.existingIds={}}getInstanceIdForKey(e){const t=this.existingIds[e];let o;return o="number"!=typeof t?0:t+1,this.existingIds[e]=o,o}};function Pa(e,t){for(let o=0;o=0&&(e[s]=e[e.length-1],e.pop())}}function Ea(e,t,o){if(e)for(let s=0;s{So(e)&&t.push(e)}),t}var Ia={moduleName:"ColumnGroup",version:mt,dynamicBeans:{headerGroupCellCtrl:class extends cr{constructor(){super(...arguments),this.onSuppressColMoveChange=()=>{!this.isAlive()||this.isSuppressMoving()?this.removeDragSource():this.dragSource||this.setDragSource(this.eGui)}}wireComp(e,t,o,s,i){const{column:n,beans:r}=this,{context:l,colNames:a,colHover:d,rangeSvc:c,colResize:h}=r;this.comp=e,i=or(this,l,i),this.setGui(t,i),this.displayName=a.getDisplayNameForColumnGroup(n,"header"),this.refreshHeaderStyles(),this.addClasses(),this.setupMovingCss(i),this.setupExpandable(i),this.setupTooltip(),this.refreshAnnouncement(),this.setupAutoHeight({wrapperElement:s,compBean:i}),this.setupUserComp(),this.addHeaderMouseListeners(i,s),this.addManagedPropertyListener("groupHeaderHeight",this.refreshMaxHeaderHeight.bind(this)),this.refreshMaxHeaderHeight();const u=this.rowCtrl.pinned,g=n.getProvidedColumnGroup().getLeafColumns();d?.createHoverFeature(i,g,t),c?.createRangeHighlightFeature(i,n,e),i.createManagedBean(new sr(n,t,r)),i.createManagedBean(new Da(e,n)),h?this.resizeFeature=i.createManagedBean(h.createGroupResizeFeature(e,o,u,n)):e.setResizableDisplayed(!1),i.createManagedBean(new Qi(t,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addHighlightListeners(i,g),this.addManagedEventListeners({cellSelectionChanged:()=>this.refreshAnnouncement()}),i.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners(i),i.addDestroyFunc(()=>this.clearComponent())}getHeaderClassParams(){const{column:e,beans:t}=this,o=e.getDefinition();return Co(t.gos,{colDef:o,columnGroup:e,floatingFilter:!1})}refreshMaxHeaderHeight(){const{gos:e,comp:t}=this,o=e.get("groupHeaderHeight");null!=o?0===o?t.setHeaderWrapperHidden(!0):t.setHeaderWrapperMaxHeight(o):(t.setHeaderWrapperHidden(!1),t.setHeaderWrapperMaxHeight(null))}addHighlightListeners(e,t){if(this.beans.gos.get("suppressMoveWhenColumnDragging"))for(const o of t)e.addManagedListeners(o,{headerHighlightChanged:this.onLeafColumnHighlightChanged.bind(this,o)})}onLeafColumnHighlightChanged(t){const o=this.column.getDisplayedLeafColumns(),s=o[0]===t,i=e(o)===t;if(!s&&!i)return;const n=t.getHighlighted();let r=!1,l=!1;if(this.rowCtrl.getHeaderCellCtrls().find(e=>e.column.isMoving())){const e=this.beans.gos.get("enableRtl"),t=1===n,o=0===n;s&&(e?l=t:r=o),i&&(e?r=o:l=t)}this.comp.toggleCss("ag-header-highlight-before",r),this.comp.toggleCss("ag-header-highlight-after",l)}resizeHeader(e,t){const{resizeFeature:o}=this;if(!o)return;const s=o.getInitialValues(t);o.resizeColumns(s,s.resizeStartWidth+e,"uiColumnResized",!0)}resizeLeafColumnsToFit(e){this.resizeFeature?.resizeLeafColumnsToFit(e)}setupUserComp(){const{colGroupSvc:e,userCompFactory:t,gos:o,enterpriseMenuFactory:s}=this.beans,i=this.column,n=i.getProvidedColumnGroup(),r=function(e,t){const o=t.columnGroup.getColGroupDef();return e.getCompDetails(o,$s,"agColumnGroupHeader",t)}(t,Co(o,{displayName:this.displayName,columnGroup:i,setExpanded:t=>{e.setColumnGroupOpened(n,t,"gridInitializing")},setTooltip:(e,t)=>{o.assertModuleRegistered("Tooltip",3),this.setupTooltip(e,t)},showColumnMenu:(e,t)=>s?.showMenuAfterButtonClick(n,e,"columnMenu",t),showColumnMenuAfterMouseClick:(e,t)=>s?.showMenuAfterMouseEvent(n,e,"columnMenu",t),eGridHeader:this.eGui}));r&&this.comp.setUserCompDetails(r)}addHeaderMouseListeners(e,t){const{column:o,comp:s,beans:{rangeSvc:i},gos:n}=this,r=e=>this.handleMouseOverChange("mouseenter"===e.type);e.addManagedListeners(this.eGui,{mouseenter:r,mouseleave:r,click:()=>this.dispatchColumnMouseEvent("columnHeaderClicked",o.getProvidedColumnGroup()),contextmenu:e=>this.handleContextMenuMouseEvent(e,void 0,o.getProvidedColumnGroup())}),s.toggleCss("ag-header-group-cell-selectable",no(n));const l=i?.createHeaderGroupCellMouseListenerFeature(this.column,t);l&&this.createManagedBean(l)}handleMouseOverChange(e){this.eventSvc.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()})}setupTooltip(e,t){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderGroupTooltip(this.tooltipFeature,this,e,t)}setupExpandable(e){const t=this.column.getProvidedColumnGroup();this.refreshExpanded();const o=this.refreshExpanded.bind(this);e.addManagedListeners(t,{expandedChanged:o,expandableChanged:o})}refreshExpanded(){const{column:e}=this;this.expandable=e.isExpandable();const t=e.isExpanded();this.expandable?this.comp.setAriaExpanded(t?"true":"false"):this.comp.setAriaExpanded(void 0),this.refreshHeaderStyles()}addClasses(){const{column:e}=this,t=e.getColGroupDef(),o=ir(t,this.gos,null,e);e.isPadding()?(o.push("ag-header-group-cell-no-group"),e.getLeafColumns().every(e=>e.isSpanHeaderHeight())&&o.push("ag-header-span-height")):(o.push("ag-header-group-cell-with-group"),t?.wrapHeaderText&&o.push("ag-header-cell-wrap-text"));for(const s of o)this.comp.toggleCss(s,!0)}setupMovingCss(e){const{column:t}=this,o=t.getProvidedColumnGroup().getLeafColumns(),s=()=>this.comp.toggleCss("ag-header-cell-moving",t.isMoving());for(const i of o)e.addManagedListeners(i,{movingChanged:s});s()}onFocusIn(e){this.eGui.contains(e.relatedTarget)||(this.focusThis(),this.announceAriaDescription())}handleKeyDown(e){if(super.handleKeyDown(e),!this.getWrapperHasFocus())return;const{column:t,expandable:o,gos:s,beans:i}=this,n=no(s);if(e.key==fs)if(n&&!e.altKey)i.rangeSvc?.handleColumnSelection(t,e);else if(o){const e=!t.isExpanded();i.colGroupSvc.setColumnGroupOpened(t.getProvidedColumnGroup(),e,"uiColumnExpanded")}}refreshAnnouncement(){let e;const{gos:t}=this;no(t)&&(e=this.getLocaleTextFunc()("ariaColumnGroupCellSelection","Press Enter to toggle selection for all visible cells in this column group")),this.ariaAnnouncement=e}announceAriaDescription(){const{beans:e,eGui:t,ariaAnnouncement:o}=this;o&&t.contains(w(e))&&e.ariaAnnounce?.announceValue(o,"columnHeader")}setDragSource(e){this.isAlive()&&!this.isSuppressMoving()&&(this.removeDragSource(),e&&(this.dragSource=this.beans.colMoves?.setDragSourceForHeader(e,this.column,this.displayName)??null))}isSuppressMoving(){return this.gos.get("suppressMovableColumns")||this.column.getLeafColumns().some(e=>e.getColDef().suppressMovable||e.getColDef().lockPosition)}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}}},beans:[class extends Oe{constructor(){super(...arguments),this.beanName="colGroupSvc"}getColumnGroupState(){const e=[];return Yo(null,this.beans.colModel.getColTree(),t=>{Lo(t)&&e.push({groupId:t.getGroupId(),open:t.isExpanded()})}),e}resetColumnGroupState(e){const t=this.beans.colModel.getColDefColTree();if(!t)return;const o=[];Yo(null,t,e=>{if(Lo(e)){const t=e.getColGroupDef(),s={groupId:e.getGroupId(),open:t?t.openByDefault:void 0};o.push(s)}}),this.setColumnGroupState(o,e)}setColumnGroupState(e,t){const{colModel:o,colAnimation:s,visibleCols:i,eventSvc:n}=this.beans;if(!o.getColTree().length)return;s?.start();const r=[];for(const l of e){const e=l.groupId,t=l.open,o=this.getProvidedColGroup(e);o&&o.isExpanded()!==t&&(o.setExpanded(t),r.push(o))}i.refresh(t,!0),r.length&&n.dispatchEvent({type:"columnGroupOpened",columnGroup:1===r.length?r[0]:void 0,columnGroups:r}),s?.finish()}setColumnGroupOpened(e,t,o){let s;s=Lo(e)?e.getId():e||"",this.setColumnGroupState([{groupId:s,open:t}],o)}getProvidedColGroup(e){let t=null;return Yo(null,this.beans.colModel.getColTree(),o=>{Lo(o)&&o.getId()===e&&(t=o)}),t}getGroupAtDirection(t,o){const s=t.getProvidedColumnGroup().getLevel()+t.getPaddingLevel(),i=t.getDisplayedLeafColumns(),n="After"===o?e(i):i[0],r=`getCol${o}`;for(;;){const e=this.beans.visibleCols[r](n);if(!e)return null;const o=this.getColGroupAtLevel(e,s);if(o!==t)return o}}getColGroupAtLevel(e,t){let o,s,i=e.getParent();for(;o=i.getProvidedColumnGroup().getLevel(),s=i.getPaddingLevel(),!(o+s<=t);)i=i.getParent();return i}updateOpenClosedVisibility(){Ea(this.beans.visibleCols.getAllTrees(),!1,e=>{us(e)&&e.calculateDisplayedColumns()})}getColumnGroup(e,t){if(!e)return null;if(us(e))return e;const o=this.beans.visibleCols.getAllTrees(),s="number"==typeof t;let i=null;return Ea(o,!1,o=>{if(us(o)){const n=o;let r;r=s?e===n.getGroupId()&&t===n.getPartId():e===n.getGroupId(),r&&(i=n)}}),i}createColumnGroups(e){const{columns:t,idCreator:o,pinned:s,oldDisplayedGroups:i,isStandaloneStructure:n}=e,r=this.mapOldGroupsById(i),l=[];let a=t;for(;a.length;){const e=a;a=[];let t=0;const i=i=>{const d=t;t=i;const c=e[d],h=(us(c)?c.getProvidedColumnGroup():c).getOriginalParent();if(null==h){for(let t=d;tLo(e))){l.setChildren([r]);continue}l.setChildren(e);break}i.push(r)}}return i}findDepth(e){let t=0,o=e;for(;o?.[0]&&Lo(o[0]);)t++,o=o[0].getChildren();return t}findMaxDepth(e,t){let o=t;for(let s=0;s=0;o--){const t=new Go(null,`FAKE_PATH_${s.getId()}_${o}`,!0,o);this.createBean(t),t.setChildren([e]),e.originalParent=t,e=t}0===t&&(s.originalParent=null),o.push(e)}return o}findExistingGroup(e,t){if(null!=e.groupId)for(let o=0;o{for(const s of e)if(us(s)){const e=s;t[s.getUniqueId()]=e,o(e.getChildren())}};return e&&o(e),t}setupParentsIntoCols(e,t){for(const o of e??[])if(o.parent!==t&&(this.beans.colViewport.colsWithinViewportHash=""),o.parent=t,us(o)){const e=o;this.setupParentsIntoCols(e.getChildren(),e)}}}],apiFunctions:{getAllDisplayedColumnGroups:function(e){return e.visibleCols.getAllTrees()},getCenterDisplayedColumnGroups:function(e){return e.visibleCols.treeCenter},getColumnGroup:function(e,t,o){return e.colGroupSvc?.getColumnGroup(t,o)??null},getColumnGroupState:function(e){return e.colGroupSvc?.getColumnGroupState()??[]},getDisplayNameForColumnGroup:function(e,t,o){return e.colNames.getDisplayNameForColumnGroup(t,o)||""},getLeftDisplayedColumnGroups:function(e){return e.visibleCols.treeLeft},getProvidedColumnGroup:function(e,t){return e.colGroupSvc?.getProvidedColGroup(t)??null},getRightDisplayedColumnGroups:function(e){return e.visibleCols.treeRight},resetColumnGroupState:function(e){e.colGroupSvc?.resetColumnGroupState("api")},setColumnGroupOpened:function(e,t,o){e.colGroupSvc?.setColumnGroupOpened(t,o,"api")},setColumnGroupState:function(e,t){e.colGroupSvc?.setColumnGroupState(t,"api")}}};function Aa(e,t,o){const{colModel:i,rowGroupColsSvc:n,pivotColsSvc:r,autoColSvc:a,selectionColSvc:d,colAnimation:c,visibleCols:h,pivotResultCols:u,environment:g,valueColsSvc:p,eventSvc:m,gos:f}=e,C=i.getColDefCols()??[],v=d?.getColumns();if(!C.length&&!v?.length)return!1;if(t?.state&&!t.state.forEach)return Dt(32),!1;const w=(s,i,a,d,c)=>{if(!s)return;const h=((e,t)=>(o,s)=>{const i={value1:void 0,value2:void 0};let n=!1;return e&&(void 0!==e[o]&&(i.value1=e[o],n=!0),l(s)&&void 0!==e[s]&&(i.value2=e[s],n=!0)),!n&&t&&(void 0!==t[o]&&(i.value1=t[o]),l(s)&&void 0!==t[s]&&(i.value2=t[s])),i})(i,t.defaultState),u=h("flex").value1,m=h("sort").value1,f=h("sortType").value1,C=Mo(m)||Po(f),v=Ao(f),w=Io(m),b=C?{type:v,direction:w}:void 0;if(jo(e,s,h("hide").value1,b,h("sortIndex").value1,h("pinned").value1,u,o),null==u){const e=h("width").value1;if(null!=e){const t=s.getColDef().minWidth??g.getDefaultColumnMinWidth();null!=t&&e>=t&&s.setActualWidth(e,o)}}!c&&s.isPrimary()&&(p?.syncColumnWithState(s,o,h),n?.syncColumnWithState(s,o,h,a),r?.syncColumnWithState(s,o,h,d))},b=(l,c,u)=>{const g=ka(e,o),p=c.slice(),C={},v={},b=[],y=[],S=[];let R=0;const x=n?.columns.slice()??[],F=r?.columns.slice()??[];for(const e of l){const t=e.colId;if(t.startsWith("ag-Grid-AutoColumn")){b.push(e),S.push(e);continue}if(ts(t)){y.push(e),S.push(e);continue}const o=u(t);o?(w(o,e,C,v,!1),s(p,o)):(S.push(e),R+=1)}const D=e=>w(e,null,C,v,!1);p.forEach(D),n?.sortColumns(Na.bind(n,C,x)),r?.sortColumns(Na.bind(r,v,F)),i.refreshCols(!1,o);const M=(e,t,o=[])=>{for(const i of t){const t=e(i.colId);s(o,t),w(t,i,null,null,!0)}o.forEach(D)};return M(e=>a?.getColumn(e)??null,b,a?.getColumns()?.slice()),M(e=>d?.getColumn(e)??null,y,d?.getColumns()?.slice()),function(e,t,o){if(!e.applyOrder||!e.state)return;const s=[];for(const i of e.state)null!=i.colId&&s.push(i.colId);!function(e,t,o,s){if(null==e)return;let i=[];const n={};for(const l of t){if(n[l])continue;const t=e.map[l];t&&(i.push(t),n[l]=!0)}let r=0;for(const l of e.list){const e=l.getColId();null==n[e]&&(e.startsWith("ag-Grid-AutoColumn")?i.splice(r++,0,l):i.push(l))}i=ma(i,s),fa(i,o.getColTree())?e.list=i:Dt(39)}(t.cols,s,t,o)}(t,i,f),h.refresh(o),m.dispatchEvent({type:"columnEverythingChanged",source:o}),g(),{unmatchedAndAutoStates:S,unmatchedCount:R}};c?.start();let{unmatchedAndAutoStates:y,unmatchedCount:S}=b(t.state||[],C,e=>i.getColDefCol(e));return(y.length>0||l(t.defaultState))&&(S=b(y,u?.getPivotResultCols()?.list??[],e=>u?.getPivotResultCol(e)??null).unmatchedCount),c?.finish(),0===S}function ka(e,o){const{rowGroupColsSvc:s,pivotColsSvc:i,valueColsSvc:n,colModel:r,sortSvc:l,eventSvc:a}=e,d={rowGroupColumns:s?.columns.slice()??[],pivotColumns:i?.columns.slice()??[],valueColumns:n?.columns.slice()??[]},c=La(e),h={};for(const t of c)h[t.colId]=t;return()=>{const n=(e,s,i,n)=>{if(t(s.map(n),i.map(n)))return;const r=new Set(s);for(const t of i)r.delete(t)||r.add(t);const l=[...r];a.dispatchEvent({type:e,columns:l,column:1===l.length?l[0]:null,source:o})},u=e=>{const t=[];return r.forAllCols(o=>{const s=h[o.getColId()];s&&e(s,o)&&t.push(o)}),t},g=e=>e.getColId();n("columnRowGroupChanged",d.rowGroupColumns,s?.columns??[],g),n("columnPivotChanged",d.pivotColumns,i?.columns??[],g);const p=u((e,t)=>{const o=null!=e.aggFunc,s=o!=t.isValueActive(),i=o&&e.aggFunc!=t.getAggFunc();return s||i});p.length>0&&ya(a,"columnValueChanged",p,o),Sa(a,u((e,t)=>e.width!=t.getActualWidth()),!0,o),ba(a,u((e,t)=>e.pinned!=t.getPinned()),o),function(e,t,o){if(!t.length)return;const s=1===t.length?t[0]:null,i=wa(t,e=>e.isVisible());e.dispatchEvent({type:"columnVisible",visible:i,columns:t,column:s,source:o})}(a,u((e,t)=>e.hide==t.isVisible()),o);const m=u((e,t)=>!To(t.getSortDef(),{type:Ao(e.sortType),direction:Io(e.sort)})||e.sortIndex!=t.getSortIndex());m.length>0&&l?.dispatchSortChangedEvents(o,m),function(e,t,o,s,i){const n={};for(const c of t)n[c.colId]=c;const r={};for(const c of e)n[c.colId]&&(r[c.colId]=!0);const l=e.filter(e=>r[e.colId]),a=t.filter(e=>r[e.colId]),d=[];a.forEach((e,t)=>{const o=l?.[t];if(o&&o.colId!==e.colId){const e=s.getCol(o.colId);e&&d.push(e)}}),d.length&&i.dispatchEvent({type:"columnMoved",columns:d,column:1===d.length?d[0]:null,finished:!0,source:o})}(c,La(e),o,r,a)}}function La(e){const{colModel:t,rowGroupColsSvc:o,pivotColsSvc:s}=e;if(a(t.getColDefCols())||!t.isAlive())return[];const i=o?.columns,n=s?.columns,r=[];t.forAllCols(e=>(e=>{const t=e.isRowGroupActive()&&i?i.indexOf(e):null,o=e.isPivotActive()&&n?n.indexOf(e):null,s=e.isValueActive()?e.getAggFunc():null,l=null!=e.getSortIndex()?e.getSortIndex():null;r.push({colId:e.getColId(),width:e.getActualWidth(),hide:!e.isVisible(),pinned:e.getPinned(),sort:e.getSort(),sortType:e.getSortDef()?.type,sortIndex:l,aggFunc:s,rowGroup:e.isRowGroupActive(),rowGroupIndex:t,pivot:e.isPivotActive(),pivotIndex:o,flex:e.getFlex()??null})})(e));const l=new Map(t.getCols().map((e,t)=>[e.getColId(),t]));return r.sort((e,t)=>(l.has(e.colId)?l.get(e.colId):-1)-(l.has(t.colId)?l.get(t.colId):-1)),r}function Ga(e){const t=(e,t)=>null!=e?e:null!=t?t:null,o=e.getColDef(),s=Do(t(o.sort,o.initialSort)),i=s.direction,n=s.type,r=t(o.sortIndex,o.initialSortIndex),l=t(o.hide,o.initialHide),a=t(o.pinned,o.initialPinned),d=t(o.width,o.initialWidth),c=t(o.flex,o.initialFlex);let h=t(o.rowGroupIndex,o.initialRowGroupIndex),u=t(o.rowGroup,o.initialRowGroup);null!=h||u||(h=null,u=null);let g=t(o.pivotIndex,o.initialPivotIndex),p=t(o.pivot,o.initialPivot);null!=g||p||(g=null,p=null);const m=t(o.aggFunc,o.initialAggFunc);return{colId:e.getColId(),sort:i,sortType:n,sortIndex:r,hide:l,pinned:a,width:d,flex:c,rowGroup:u,rowGroupIndex:h,pivot:p,pivotIndex:g,aggFunc:m}}var Na=(e,t,o,s)=>{const i=e[o.getId()],n=e[s.getId()],r=null!=i,l=null!=n;if(r&&l)return i-n;if(r)return-1;if(l)return 1;const a=t.indexOf(o),d=t.indexOf(s),c=a>=0;return c&&d>=0?a-d:c?-1:1},Ba=class extends Di{constructor(e,t,o){super(t,o),this.labelSeparator="",this.labelAlignment="left",this.disabled=!1,this.label="",this.config=e||{},this.registerCSS(".ag-label{white-space:nowrap}:where(.ag-ltr) .ag-label{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-label{margin-left:var(--ag-spacing)}:where(.ag-label-align-right) .ag-label{order:1}:where(.ag-ltr) :where(.ag-label-align-right) .ag-label{margin-left:var(--ag-spacing)}:where(.ag-rtl) :where(.ag-label-align-right) .ag-label{margin-right:var(--ag-spacing)}:where(.ag-label-align-right){.ag-label,.ag-wrapper{flex:none}}.ag-label-align-top{align-items:flex-start;flex-direction:column}:where(.ag-label-align-top){.ag-label,.ag-wrapper{align-self:stretch}}.ag-label-ellipsis{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.ag-label-align-top) .ag-label{margin-bottom:calc(var(--ag-spacing)*.5)}")}postConstruct(){this.addCss("ag-labeled"),this.eLabel.classList.add("ag-label");const{labelSeparator:e,label:t,labelWidth:o,labelAlignment:s,disabled:i,labelEllipsis:n}=this.config;null!=i&&this.setDisabled(i),null!=e&&this.setLabelSeparator(e),null!=t&&this.setLabel(t),null!=o&&this.setLabelWidth(o),null!=n&&this.setLabelEllipsis(n),this.setLabelAlignment(s||this.labelAlignment),this.refreshLabel()}refreshLabel(){const{label:e,eLabel:t}=this;se(t),"string"==typeof e?t.innerText=e+this.labelSeparator:e&&t.appendChild(e),""===e?(K(t,!1),P(t,"presentation")):(K(t,!0),P(t,null))}setLabelSeparator(e){return this.labelSeparator===e||(this.labelSeparator=e,null!=this.label&&this.refreshLabel()),this}getLabelId(){const e=this.eLabel;return e.id=e.id||`ag-${this.getCompId()}-label`,e.id}getLabel(){return this.label}setLabel(e){return this.label===e||(this.label=e,this.refreshLabel()),this}setLabelAlignment(e){const t=this.getGui().classList;return t.toggle("ag-label-align-left","left"===e),t.toggle("ag-label-align-right","right"===e),t.toggle("ag-label-align-top","top"===e),this}setLabelEllipsis(e){return this.eLabel.classList.toggle("ag-label-ellipsis",e),this}setLabelWidth(e){return null==this.label||ge(this.eLabel,e),this}setDisabled(e){e=!!e;const t=this.getGui();return _(t,e),t.classList.toggle("ag-disabled",e),this.disabled=e,this}isDisabled(){return!!this.disabled}},Ha=class extends Ba{constructor(e,t,o,s){super(e,t,o),this.className=s}postConstruct(){super.postConstruct();const{width:e,value:t,onValueChange:o,ariaLabel:s}=this.config;null!=e&&this.setWidth(e),null!=t&&this.setValue(t),null!=o&&this.onValueChange(o),null!=s&&this.setAriaLabel(s),this.className&&this.addCss(this.className),this.refreshAriaLabelledBy()}setLabel(e){return super.setLabel(e),this.refreshAriaLabelledBy(),this}refreshAriaLabelledBy(){const e=this.getAriaElement(),t=this.getLabelId(),o=this.getLabel();null==o||""==o||null!==e.getAttribute("aria-label")?T(e,""):T(e,t??"")}setAriaLabel(e){return E(this.getAriaElement(),e),this.refreshAriaLabelledBy(),this}onValueChange(e){return this.addManagedListeners(this,{fieldValueChanged:()=>e(this.getValue())}),this}getWidth(){return this.getGui().clientWidth}setWidth(e){return pe(this.getGui(),e),this}getPreviousValue(){return this.previousValue}getValue(){return this.value}setValue(e,t){return this.value===e||(this.previousValue=this.value,this.value=e,t||this.dispatchLocalEvent({type:"fieldValueChanged"})),this}},Oa=class extends Ha{constructor(e,t,o="text",s="input"){super(e,e?.template??function(e){return{tag:"div",role:"presentation",children:[{tag:"div",ref:"eLabel",cls:"ag-input-field-label"},{tag:"div",ref:"eWrapper",cls:"ag-wrapper ag-input-wrapper",role:"presentation",children:[{tag:e,ref:"eInput",cls:"ag-input-field-input"}]}]}}(s),[],t),this.inputType=o,this.displayFieldTag=s,this.eLabel=null,this.eWrapper=null,this.eInput=null}postConstruct(){super.postConstruct(),this.setInputType(this.inputType);const{eLabel:e,eWrapper:t,eInput:o,className:s}=this;e.classList.add(`${s}-label`),t.classList.add(`${s}-input-wrapper`),o.classList.add(`${s}-input`),this.addCss("ag-input-field"),o.id=o.id||`ag-${this.getCompId()}-input`;const{inputName:i,inputWidth:n,inputPlaceholder:r,autoComplete:l,tabIndex:a}=this.config;null!=i&&this.setInputName(i),null!=n&&this.setInputWidth(n),null!=r&&this.setInputPlaceholder(r),null!=l&&this.setAutoComplete(l),this.addInputListeners(),this.activateTabIndex([o],a)}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:e=>this.setValue(e.target.value)})}setInputType(e){"input"===this.displayFieldTag&&(this.inputType=e,ve(this.eInput,"type",e))}getInputElement(){return this.eInput}getWrapperElement(){return this.eWrapper}setInputWidth(e){return ge(this.eWrapper,e),this}setInputName(e){return this.getInputElement().setAttribute("name",e),this}getFocusableElement(){return this.eInput}setMaxLength(e){return this.eInput.maxLength=e,this}setInputPlaceholder(e){return ve(this.eInput,"placeholder",e),this}setInputAriaLabel(e){return E(this.eInput,e),this.refreshAriaLabelledBy(),this}setDisabled(e){return _(this.eInput,e),super.setDisabled(e)}setAutoComplete(e){if(!0===e)ve(this.eInput,"autocomplete",null);else{const t="string"==typeof e?e:"off";ve(this.eInput,"autocomplete",t)}return this}},Va=class extends Oa{constructor(e,t="ag-checkbox",o="checkbox"){super(e,t,o),this.labelAlignment="right",this.selected=!1,this.readOnly=!1,this.passive=!1}postConstruct(){super.postConstruct();const{readOnly:e,passive:t,name:o}=this.config;"boolean"==typeof e&&this.setReadOnly(e),"boolean"==typeof t&&this.setPassive(t),null!=o&&this.setName(o)}addInputListeners(){this.addManagedElementListeners(this.eInput,{click:this.onCheckboxClick.bind(this)}),this.addManagedElementListeners(this.eLabel,{click:this.toggle.bind(this)})}getNextValue(){return void 0===this.selected||!this.selected}setPassive(e){this.passive=e}isReadOnly(){return this.readOnly}setReadOnly(e){this.eWrapper.classList.toggle("ag-disabled",e),this.eInput.disabled=e,this.readOnly=e}setDisabled(e){return this.eWrapper.classList.toggle("ag-disabled",e),super.setDisabled(e)}toggle(){if(this.eInput.disabled)return;const e=this.isSelected(),t=this.getNextValue();this.passive?this.dispatchChange(t,e):this.setValue(t)}getValue(){return this.isSelected()}setValue(e,t){return this.refreshSelectedClass(e),this.setSelected(e,t),this}setName(e){return this.getInputElement().name=e,this}isSelected(){return this.selected}setSelected(e,t){if(this.isSelected()===e)return;this.previousValue=this.isSelected(),e=this.selected="boolean"==typeof e?e:void 0;const o=this.eInput;o.checked=e,o.indeterminate=void 0===e,t||this.dispatchChange(this.selected,this.previousValue)}dispatchChange(e,t,o){this.dispatchLocalEvent({type:"fieldValueChanged",selected:e,previousValue:t,event:o});const s=this.getInputElement();this.eventSvc.dispatchEvent({type:"checkboxChanged",id:s.id,name:s.name,selected:e,previousValue:t})}onCheckboxClick(e){if(this.passive||this.eInput.disabled)return;const t=this.isSelected(),o=this.selected=e.target.checked;this.refreshSelectedClass(o),this.dispatchChange(o,t,e)}refreshSelectedClass(e){const t=this.eWrapper.classList;t.toggle("ag-checked",!0===e),t.toggle("ag-indeterminate",null==e)}},za={selector:"AG-CHECKBOX",component:Va},Wa={tag:"div",cls:"ag-cell-wrapper ag-checkbox-cell",role:"presentation",children:[{tag:"ag-checkbox",ref:"eCheckbox",role:"presentation"}]},Ua={tag:"div",cls:"ag-skeleton-container"},$a={moduleName:"CheckboxCellRenderer",version:mt,userComponents:{agCheckboxCellRenderer:class extends Pi{constructor(){super(Wa,[za]),this.eCheckbox=null,this.registerCSS(".ag-checkbox-cell{height:100%}")}init(e){this.refresh(e);const{eCheckbox:t,beans:o}=this,s=t.getInputElement();s.setAttribute("tabindex","-1"),A(s,"polite"),this.addManagedListeners(s,{click:e=>{if(qi(e),t.isDisabled())return;const o=t.getValue();this.onCheckboxChanged(o)},dblclick:e=>{qi(e)}}),this.addManagedElementListeners(e.eGridCell,{keydown:s=>{if(s.key===vs&&!t.isDisabled()){e.eGridCell===w(o)&&t.toggle();const i=t.getValue();this.onCheckboxChanged(i),s.preventDefault()}}})}refresh(e){return this.params=e,this.updateCheckbox(e),!0}updateCheckbox(e){let t,o=!0;const{value:s,column:i,node:n}=e;if(n.group&&i)if("boolean"==typeof s)t=s;else{const e=i.getColId();e.startsWith("ag-Grid-AutoColumn")?t=null==s||""===s?void 0:"true"===s:n.aggData&&void 0!==n.aggData[e]||n.sourceRowIndex>=0?t=s??void 0:o=!1}else t=s??void 0;const{eCheckbox:r}=this;if(!o)return void r.setDisplayed(!1);r.setValue(t);const l=e.disabled??!i?.isCellEditable(n);r.setDisabled(l);const a=this.getLocaleTextFunc(),d=W(a,t),c=l?d:`${a("ariaToggleCellValue","Press SPACE to toggle cell value")} (${d})`;r.setInputAriaLabel(c)}onCheckboxChanged(e){const{params:t}=this,{column:o,node:s,value:i}=t,{editSvc:n}=this.beans;if(!o)return;const r={rowNode:s,column:o};n?.dispatchCellEvent(r,null,"cellEditingStarted",{value:i});const l=s.setDataValue(o,e,"ui");n?.dispatchCellEvent(r,null,"cellEditingStopped",{oldValue:i,newValue:e,valueChanged:l}),l||this.updateCheckbox(t)}}}},ja={moduleName:"SkeletonCellRenderer",version:mt,userComponents:{agSkeletonCellRenderer:class extends Pi{constructor(){super(Ua)}init(e){const t=`ag-cell-skeleton-renderer-${this.getCompId()}`;this.getGui().setAttribute("id",t),this.addDestroyFunc(()=>T(e.eParentOfValue)),T(e.eParentOfValue,t),e.deferRender?this.setupLoading(e):e.node.failedLoad?this.setupFailed():this.setupLoading(e)}setupFailed(){const e=this.getLocaleTextFunc();this.getGui().textContent=e("loadingError","ERR");const t=e("ariaSkeletonCellLoadingFailed","Row failed to load");E(this.getGui(),t)}setupLoading(e){const t=Cl({tag:"div",cls:"ag-skeleton-effect"}),o=e.node.rowIndex;if(null!=o){const e=75+25*(o%2==0?Math.sin(o):Math.cos(o));t.style.width=`${e}%`}this.getGui().appendChild(t);const s=this.getLocaleTextFunc(),i=e.deferRender?s("ariaDeferSkeletonCellLoading","Cell is loading"):s("ariaSkeletonCellLoading","Row data is loading");E(this.getGui(),i)}refresh(e){return!1}}}},Ka=e=>{if("bigint"==typeof e)return e;let t;if("number"==typeof e)t=e;else if("string"==typeof e){if(t=e.trim(),""===t)return null;if(t.endsWith("n")&&(t=t.slice(0,-1)),!/^[+-]?\d+$/.test(t))return null}if(null==t)return null;try{return BigInt(t)}catch{return null}},_a=new RegExp("[T ]"),qa=new RegExp("^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}\\D?)?");function Ya(e,t){return e.toString().padStart(t,"0")}function Za(e,t=!0,o="T"){if(!e)return null;let s=[e.getFullYear(),e.getMonth()+1,e.getDate()].map(e=>Ya(e,2)).join("-");return t&&(s+=o+[e.getHours(),e.getMinutes(),e.getSeconds()].map(e=>Ya(e,2)).join(":")),s}function Qa(e,t=!0){return e?t?[String(e.getFullYear()),String(e.getMonth()+1),Ya(e.getDate(),2),Ya(e.getHours(),2),`:${Ya(e.getMinutes(),2)}`,`:${Ya(e.getSeconds(),2)}`]:[e.getFullYear(),e.getMonth()+1,Ya(e.getDate(),2)].map(String):null}var Xa=["January","February","March","April","May","June","July","August","September","October","November","December"];function Ja(e,t=!1){return!!ed(e,t)}function ed(e,t=!1,o){if(!e)return null;if(!o&&!qa.test(e))return null;const[s,i]=e.split(_a);if(!s)return null;const n=s.split("-").map(e=>Number.parseInt(e,10));if(3!==n.filter(e=>!isNaN(e)).length)return null;const[r,l,a]=n,d=new Date(r,l-1,a);if(d.getFullYear()!==r||d.getMonth()!==l-1||d.getDate()!==a)return null;if(!i&&t)return null;if(!i||"00:00:00"===i)return d;const[c,h,u]=i.split(":").map(e=>Number.parseInt(e,10));if(c>=0&&c<24)d.setHours(c);else if(t)return null;if(h>=0&&h<60)d.setMinutes(h);else if(t)return null;if(u>=0&&u<60)d.setSeconds(u);else if(t)return null;return d}function td(e,t,o){if(!t||!e)return;if(!o)return e[t];const s=t.split(".");let i=e;for(let n=0;n{const{node:s,colDef:i,column:n,value:r}=o;if(s?.group){const t=(i.pivotValueColumn??n).getAggFunc();if(t){if("first"===t||"last"===t)return e.valueFormatter(o);const{baseDataType:s}=e;if(!(l=s,"number"!==l&&"bigint"!==l||"count"===t)){if((e=>"bigint"==typeof e||"number"==typeof e)(r))return e.valueFormatter(o);if(null==r)return;if("object"==typeof r){if("function"==typeof r.toNumber)return e.valueFormatter({...o,value:r.toNumber()});if("value"in r)return e.valueFormatter({...o,value:r.value})}}return}}else if(t.get("groupHideOpenParents")&&o.column.isRowGroupActive()&&"string"==typeof o.value&&!e.dataTypeMatcher?.(o.value))return;var l;return e.valueFormatter(o)}}function rd(e,t){if(null==e)return null==t?0:-1;if(null==t)return 1;const o=Ka(e),s=Ka(t);return null!=o&&null!=s?o===s?0:o>s?1:-1:0}function ld(e,t){if(null==e)return null==t?0:-1;if(null==t)return 1;const o=ad(e),s=ad(t);return null!=o&&null!=s?o===s?0:o>s?1:-1:0}function ad(e){const t=Ka(e);return null==t?null:t<0n?-t:t}function dd(e,t){return[["cellRenderer","agSparklineCellRenderer"],["valueGetter",void 0],["valueParser",void 0],["refData",void 0]].some(([o,s])=>function(e,t,o,s){if(!t[o])return!1;const i=e[o];return null===i?(t[o]=!1,!1):void 0===s?!!i:i===s}(e,t,o,s))}function cd(e,t){const o=Ga(e);for(const s of t)delete o[s],"rowGroup"===s?delete o.rowGroupIndex:"pivot"===s&&delete o.pivotIndex;return o}var hd={moduleName:"DataType",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="dataTypeSvc",this.dataTypeDefinitions={},this.isPendingInference=!1,this.isColumnTypeOverrideInDataTypeDefinitions=!1,this.columnStateUpdatesPendingInference={},this.columnStateUpdateListenerDestroyFuncs=[],this.columnDefinitionPropsPerDataType={number:()=>({cellEditor:"agNumberCellEditor"}),bigint:({filterModuleBean:e})=>e?{cellEditor:"agTextCellEditor"}:{cellEditor:"agTextCellEditor",comparator:{default:rd,absolute:ld}},boolean:()=>({cellEditor:"agCheckboxCellEditor",cellRenderer:"agCheckboxCellRenderer",getFindText:()=>null,suppressKeyboardEvent:({node:e,event:t,column:o})=>t.key===vs&&o.isCellEditable(e)}),date:({formatValue:e})=>({cellEditor:"agDateCellEditor",keyCreator:e}),dateString:({formatValue:e})=>({cellEditor:"agDateStringCellEditor",keyCreator:e}),dateTime(e){return this.date(e)},dateTimeString(e){return this.dateString(e)},object:({formatValue:e,colModel:t,colId:o})=>({cellEditorParams:{useFormatter:!0},comparator:(s,i)=>{const n=t.getColDefCol(o),r=n?.getColDef();if(!n||!r)return 0;const l=null==s?"":e({column:n,node:null,value:s}),a=null==i?"":e({column:n,node:null,value:i});return l===a?0:l>a?1:-1},keyCreator:e}),text:()=>({})}}wireBeans(e){this.colModel=e.colModel}postConstruct(){this.processDataTypeDefinitions(),this.addManagedPropertyListener("dataTypeDefinitions",e=>{this.processDataTypeDefinitions(),this.colModel.recreateColumnDefs(e)})}processDataTypeDefinitions(){const e=this.getDefaultDataTypes(),t={},o={},s=e=>t=>{const{column:o,node:s,value:i}=t;let n=o.getColDef().valueFormatter;return n===e.groupSafeValueFormatter&&(n=e.valueFormatter),this.beans.valueSvc.formatValue(o,s,i,n)};for(const c of Object.keys(e)){const i=e[c],n={...i,groupSafeValueFormatter:nd(i,this.gos)};t[c]=n,o[c]=s(n)}const i=this.gos.get("dataTypeDefinitions")??{},n={};for(const c of Object.keys(i)){const r=i[c],l=this.processDataTypeDefinition(r,i,[c],e);l&&(t[c]=l,r.dataTypeMatcher&&(n[c]=r.dataTypeMatcher),o[c]=s(l))}const{valueParser:r,valueFormatter:l}=e.object,{valueParser:a,valueFormatter:d}=t.object;this.hasObjectValueParser=a!==r,this.hasObjectValueFormatter=d!==l,this.formatValueFuncs=o,this.dataTypeDefinitions=t,this.dataTypeMatchers=this.sortKeysInMatchers(n,e)}sortKeysInMatchers(e,t){const o={...e};for(const s of od)delete o[s],o[s]=e[s]??t[s].dataTypeMatcher;return o}processDataTypeDefinition(e,t,o,s){let i;const n=e.extendsDataType;if(e.columnTypes&&(this.isColumnTypeOverrideInDataTypeDefinitions=!0),e.extendsDataType===e.baseDataType){let o=s[n];const r=t[n];if(o&&r&&(o=r),!id(e,o,n))return;i=sd(o,e)}else{if(o.includes(n))return void Dt(44);const r=t[n];if(!id(e,r,n))return;const l=this.processDataTypeDefinition(r,t,[...o,n],s);if(!l)return;i=sd(l,e)}return{...i,groupSafeValueFormatter:nd(i,this.gos)}}updateColDefAndGetColumnType(e,t,o){let{cellDataType:s}=t;void 0===s&&(s=e.cellDataType);const{field:i}=t;if(null!=s&&!0!==s||(s=!!this.canInferCellDataType(e,t)&&this.inferCellDataType(i,o)),this.addFormulaCellEditorToColDef(e,t),!s)return void(e.cellDataType=!1);const n=this.dataTypeDefinitions[s];if(n)return e.cellDataType=s,n.groupSafeValueFormatter&&(e.valueFormatter=n.groupSafeValueFormatter),n.valueParser&&(e.valueParser=n.valueParser),n.suppressDefaultProperties||this.setColDefPropertiesForBaseDataType(e,s,n,o),n.columnTypes;Dt(47,{cellDataType:s})}addFormulaCellEditorToColDef(e,t){(t.allowFormula??e.allowFormula)&&!t.cellEditor&&(e.cellEditor="agFormulaCellEditor")}addColumnListeners(e){if(!this.isPendingInference)return;const t=this.columnStateUpdatesPendingInference[e.getColId()];if(!t)return;const o=e=>{t.add(e.key)};e.__addEventListener("columnStateUpdated",o),this.columnStateUpdateListenerDestroyFuncs.push(()=>e.__removeEventListener("columnStateUpdated",o))}canInferCellDataType(e,t){const{gos:o}=this;if(!It(o))return!1;const s={cellRenderer:!0,valueGetter:!0,valueParser:!0,refData:!0};if(dd(t,s))return!1;const i=null===t.type?e.type:t.type;if(i){const e=o.get("columnTypes")??{};if(is(i).some(t=>{const o=e[t.trim()];return o&&dd(o,s)}))return!1}return!dd(e,s)}inferCellDataType(e,t){if(!e)return;let o;const s=this.getInitialData();return s?o=td(s,e,e.includes(".")&&!this.gos.get("suppressFieldDotNotation")):this.initWaitForRowData(t),null!=o?Object.keys(this.dataTypeMatchers).find(e=>this.dataTypeMatchers[e](o))??"object":void 0}getInitialData(){const e=this.gos.get("rowData");if(e?.length)return e[0];if(this.initialData)return this.initialData;{const e=this.beans.rowModel.rootNode?._leafs;if(e?.length)return e[0].data}return null}initWaitForRowData(e){if(this.columnStateUpdatesPendingInference[e]=/* @__PURE__ */new Set,this.isPendingInference)return;this.isPendingInference=!0;const t=this.isColumnTypeOverrideInDataTypeDefinitions,{colAutosize:o,eventSvc:s}=this.beans;t&&o&&(o.shouldQueueResizeOperations=!0);const[i]=this.addManagedEventListeners({rowDataUpdateStarted:e=>{const{firstRowData:n}=e;n&&(i?.(),this.isPendingInference=!1,this.processColumnsPendingInference(n,t),this.columnStateUpdatesPendingInference={},t&&o?.processResizeOperations(),s.dispatchEvent({type:"dataTypesInferred"}))}})}processColumnsPendingInference(e,t){this.initialData=e;const o=[];this.destroyColumnStateUpdateListeners();const s={},i={};for(const n of Object.keys(this.columnStateUpdatesPendingInference)){const e=this.columnStateUpdatesPendingInference[n],r=this.colModel.getCol(n);if(!r)continue;const l=r.getColDef();if(!this.resetColDefIntoCol(r,"cellDataTypeInferred"))continue;const a=r.getColDef();if(t&&a.type&&a.type!==l.type){const t=cd(r,e);t.rowGroup&&null==t.rowGroupIndex&&(s[n]=t),t.pivot&&null==t.pivotIndex&&(i[n]=t),o.push(t)}}t&&o.push(...this.generateColumnStateForRowGroupAndPivotIndexes(s,i)),o.length&&Aa(this.beans,{state:o},"cellDataTypeInferred"),this.initialData=null}generateColumnStateForRowGroupAndPivotIndexes(e,t){const o={},{rowGroupColsSvc:s,pivotColsSvc:i}=this.beans;return s?.restoreColumnOrder(o,e),i?.restoreColumnOrder(o,t),Object.values(o)}resetColDefIntoCol(e,t){const o=e.getUserProvidedColDef();if(!o)return!1;const s=_o(this.beans,o,e.getColId());return e.setColDef(s,o,t),!0}getDateStringTypeDefinition(e){const{dateString:t}=this.dataTypeDefinitions;return e?this.getDataTypeDefinition(e)??t:t}getDateParserFunction(e){return this.getDateStringTypeDefinition(e).dateParser}getDateFormatterFunction(e){return this.getDateStringTypeDefinition(e).dateFormatter}getDateIncludesTimeFlag(e){return"dateTime"===e||"dateTimeString"===e}getDataTypeDefinition(e){const t=e.getColDef();if(t.cellDataType)return this.dataTypeDefinitions[t.cellDataType]}getBaseDataType(e){return this.getDataTypeDefinition(e)?.baseDataType}checkType(e,t){if(null==t)return!0;const o=this.getDataTypeDefinition(e)?.dataTypeMatcher;return!o||!(!e.getColDef().allowFormula||!this.beans.formula?.isFormula(t))||o(t)}validateColDef(e,t,o,s){if("object"===e.cellDataType){const i=e=>null==e?.cellDataType||!0===e?.cellDataType,n=i(t)&&i(o),r=e=>Dt(48,{property:e,inferred:n,colId:s}),{object:l}=this.dataTypeDefinitions;e.valueFormatter!==l.groupSafeValueFormatter||this.hasObjectValueFormatter||r("Formatter"),e.editable&&e.valueParser===l.valueParser&&!this.hasObjectValueParser&&r("Parser")}}postProcess(e){const t=e.cellDataType;if(!t||"string"!=typeof t)return;const{dataTypeDefinitions:o,beans:s,formatValueFuncs:i}=this,n=o[t];n&&s.colFilter?.setColDefPropsForDataType(e,n,i[t])}getFormatValue(e){return this.formatValueFuncs[e]}isColPendingInference(e){return this.isPendingInference&&!!this.columnStateUpdatesPendingInference[e]}setColDefPropertiesForBaseDataType(e,t,o,s){const i=this.formatValueFuncs[t],n=this.columnDefinitionPropsPerDataType[o.baseDataType]({colDef:e,cellDataType:t,colModel:this.colModel,dataTypeDefinition:o,colId:s,formatValue:i,filterModuleBean:this.beans.filterManager});"agFormulaCellEditor"===e.cellEditor&&n.cellEditor!==e.cellEditor&&(n.cellEditor=e.cellEditor),Object.assign(e,n)}getDateObjectTypeDef(e){const t=this.getLocaleTextFunc(),o=this.getDateIncludesTimeFlag(e);return{baseDataType:e,valueParser:e=>ed(e.newValue&&String(e.newValue)),valueFormatter:e=>null==e.value?"":e.value instanceof Date&&!isNaN(e.value.getTime())?Za(e.value,o)??"":t("invalidDate","Invalid Date"),dataTypeMatcher:e=>e instanceof Date}}getDateStringTypeDef(e){const t=this.getDateIncludesTimeFlag(e);return{baseDataType:e,dateParser:e=>ed(e)??void 0,dateFormatter:e=>Za(e??null,t)??void 0,valueParser:e=>Ja(String(e.newValue))?e.newValue:null,valueFormatter:e=>Ja(String(e.value))?String(e.value):"",dataTypeMatcher:e=>"string"==typeof e&&Ja(e)}}getDefaultDataTypes(){const e=this.getLocaleTextFunc();return{number:{baseDataType:"number",valueParser:e=>""===e.newValue?.trim?.()?null:Number(e.newValue),valueFormatter:t=>null==t.value?"":"number"!=typeof t.value||isNaN(t.value)?e("invalidNumber","Invalid Number"):String(t.value),dataTypeMatcher:e=>"number"==typeof e},bigint:{baseDataType:"bigint",valueParser:e=>{const{newValue:t}=e;return null==t||"string"==typeof t&&""===t.trim()?null:Ka(t)},valueFormatter:t=>null==t.value?"":"bigint"!=typeof t.value?e("invalidBigInt","Invalid BigInt"):String(t.value),dataTypeMatcher:e=>"bigint"==typeof e},text:{baseDataType:"text",valueParser:e=>""===e.newValue?null:d(e.newValue),dataTypeMatcher:e=>"string"==typeof e},boolean:{baseDataType:"boolean",valueParser:e=>null==e.newValue?e.newValue:""===e.newValue?.trim?.()?null:"true"===String(e.newValue).toLowerCase(),valueFormatter:e=>null==e.value?"":String(e.value),dataTypeMatcher:e=>"boolean"==typeof e},date:this.getDateObjectTypeDef("date"),dateString:this.getDateStringTypeDef("dateString"),dateTime:this.getDateObjectTypeDef("dateTime"),dateTimeString:{...this.getDateStringTypeDef("dateTimeString"),dataTypeMatcher:e=>"string"==typeof e&&function(e){return Ja(e,!0)}(e)},object:{baseDataType:"object",valueParser:()=>null,valueFormatter:e=>d(e.value)??""}}}destroyColumnStateUpdateListeners(){for(const e of this.columnStateUpdateListenerDestroyFuncs)e();this.columnStateUpdateListenerDestroyFuncs=[]}destroy(){this.dataTypeDefinitions={},this.dataTypeMatchers={},this.formatValueFuncs={},this.columnStateUpdatesPendingInference={},this.destroyColumnStateUpdateListeners(),super.destroy()}}],dependsOn:[$a]},ud={moduleName:"ColumnFlex",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="colFlex",this.columnsHidden=!1}refreshFlexedColumns(e={}){const t=e.source??"flex";null!=e.viewportWidth&&(this.flexViewportWidth=e.viewportWidth);const o=this.flexViewportWidth,{visibleCols:s,colDelayRenderSvc:i}=this.beans,n=s.centerCols;let r=-1;if(e.resizingCols){const t=new Set(e.resizingCols);for(let e=n.length-1;e>=0;e--)if(t.has(n[e])){r=e;break}}let l=!1;const a=n.map((e,t)=>{const o=e.getFlex(),s=null!=o&&o>0&&t>r;return l||(l=s),{col:e,isFlex:s,flex:Math.max(0,o??0),initialSize:e.getActualWidth(),min:e.getMinWidth(),max:e.getMaxWidth(),targetSize:0}});if(l?(i?.hideColumns("colFlex"),this.columnsHidden=!0):this.columnsHidden&&this.revealColumns(i),!o||!l)return[];let d=a.length,c=a.reduce((e,t)=>e+t.flex,0),h=o;const u=(e,o)=>{e.frozenSize=o,e.col.setActualWidth(o,t),h-=o,c-=e.flex,d-=1},g=e=>null!=e.frozenSize;for(const m of a)m.isFlex||u(m,m.initialSize);for(;d>0;){const e=Math.round(c<1?h*c:h);let t,o=0,s=0;for(const r of a){if(g(r))continue;t=r,s+=e*(r.flex/c);const i=s-o,n=Math.round(i);r.targetSize=n,o+=n}t&&(t.targetSize+=e-o);let i=0;for(const r of a){if(g(r))continue;const e=r.targetSize,t=Math.min(Math.max(e,r.min),r.max);i+=t-e,r.violationType=t===e?void 0:t0?"min":"max";for(const r of a)g(r)||"all"!==n&&r.violationType!==n||u(r,r.targetSize)}e.skipSetLeft||s.setLeftValues(t),e.updateBodyWidths&&s.updateBodyWidths();const p=a.filter(e=>e.isFlex&&!e.violationType).map(e=>e.col);if(e.fireResizedEvent){const e=a.filter(e=>e.initialSize!==e.frozenSize).map(e=>e.col),o=a.filter(e=>e.flex).map(e=>e.col);Sa(this.eventSvc,e,!0,t,o)}return this.revealColumns(i),p}revealColumns(e){this.columnsHidden&&(e?.revealColumns("colFlex"),this.columnsHidden=!1)}initCol(e){const{flex:t,initialFlex:o}=e.colDef;void 0!==t?e.flex=t:void 0!==o&&(e.flex=o)}setColFlex(e,t){e.flex=t??null,e.dispatchStateUpdatedEvent("flex")}}]},gd={moduleName:"CellRendererFunction",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="agCompUtils"}adaptFunction(e,t){return e.cellRenderer?class{refresh(){return!1}getGui(){return this.eGui}init(e){const o=t(e),s=typeof o;this.eGui="string"!==s&&"number"!==s&&"boolean"!==s?null!=o?o:Cl({tag:"span"}):le(""+o+"")}}:null}}]},pd=class extends He{constructor(){super(...arguments),this.beanName="registry"}registerDynamicBeans(e){if(e){this.dynamicBeans??(this.dynamicBeans={});for(const t of Object.keys(e))this.dynamicBeans[t]=e[t]}}createDynamicBean(e,t,...o){if(!this.dynamicBeans)throw new Error(this.getDynamicError(e,!0));const s=this.dynamicBeans[e];if(null!=s)return new s(...o);if(t)throw new Error(this.getDynamicError(e,!1))}};function md(e){return"object"==typeof e&&!!e.getComp}var fd="object"!=typeof window||!window?.document?.fonts?.forEach,Cd=(e,t,o,s,i,n,r=!1)=>{if(fd)return;s&&(e=`@layer ${CSS.escape(s).replaceAll("\\.",".")} { ${e} }`);let l=yd.map.get(t);if(l||(l=[],yd.map.set(t,l)),l.some(t=>t.css===e))return;const a=document.createElement("style");n&&a.setAttribute("nonce",n),a.dataset.agCss=o,a.dataset.agCssVersion=mt,a.textContent=e;const d={css:e,el:a,priority:i,isParams:r};let c;for(const h of l){if(h.priority>i)break;c=h}if(c){c.el.after(a);const e=l.indexOf(c);l.splice(e+1,0,d)}else"STYLE"===t.nodeName?t.after(a):t.insertBefore(a,t.querySelector(":not(title, meta)")),l.push(d)},vd=(e,t,o,s)=>{Cd(':where([class^=ag-]),:where([class^=ag-]):after,:where([class^=ag-]):before{box-sizing:border-box}:where([class^=ag-]):where(button){color:inherit}:where([class^=ag-]):where(div,span,label):focus-visible{box-shadow:inset var(--ag-focus-shadow);outline:none;&:where(.invalid){box-shadow:inset var(--ag-focus-error-shadow)}}:where([class^=ag-]) ::-ms-clear{display:none}.ag-hidden{display:none!important}.ag-invisible{visibility:hidden!important}.ag-tab-guard{display:block;height:0;position:absolute;width:0}.ag-tab-guard-top{top:1px}.ag-tab-guard-bottom{bottom:1px}.ag-measurement-container{height:0;overflow:hidden;visibility:hidden;width:0}.ag-measurement-element-border{display:inline-block}.ag-measurement-element-border:before{border-left:var(--ag-internal-measurement-border);content:"";display:block}.ag-popup-child{top:0;z-index:5}.ag-popup-child:where(:not(.ag-tooltip-custom)){box-shadow:var(--ag-popup-shadow)}.ag-input-wrapper,.ag-picker-field-wrapper{align-items:center;display:flex;flex:1 1 auto;line-height:normal;position:relative}.ag-input-field{align-items:center;display:flex;flex-direction:row}.ag-input-field-input:where(:not([type=checkbox],[type=radio])){flex:1 1 auto;min-width:0;width:100%}.ag-chart,.ag-dnd-ghost,.ag-external,.ag-popup,.ag-root-wrapper{cursor:default;line-height:normal;white-space:normal;-webkit-font-smoothing:antialiased;background-color:var(--ag-background-color);color:var(--ag-text-color);color-scheme:var(--ag-browser-color-scheme);font-family:var(--ag-font-family);font-size:var(--ag-font-size);font-weight:var(--ag-font-weight);--ag-indentation-level:0}:where(.ag-icon):before{align-items:center;background-color:currentcolor;color:inherit;content:"";display:flex;font-family:inherit;font-size:var(--ag-icon-size);font-style:normal;font-variant:normal;height:var(--ag-icon-size);justify-content:center;line-height:var(--ag-icon-size);-webkit-mask-size:contain;mask-size:contain;text-transform:none;width:var(--ag-icon-size)}.ag-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;color:var(--ag-icon-color);display:block;height:var(--ag-icon-size);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--ag-icon-size)}.ag-disabled .ag-icon,[disabled] .ag-icon{opacity:.5}.ag-icon-grip.ag-disabled,.ag-icon-grip[disabled]{opacity:.35}.ag-icon-loading{animation-duration:1s;animation-iteration-count:infinite;animation-name:spin;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ag-resizer{pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}:where(.ag-resizer){&.ag-resizer-topLeft{cursor:nwse-resize;height:5px;left:0;top:0;width:5px}&.ag-resizer-top{cursor:ns-resize;height:5px;left:5px;right:5px;top:0}&.ag-resizer-topRight{cursor:nesw-resize;height:5px;right:0;top:0;width:5px}&.ag-resizer-right{bottom:5px;cursor:ew-resize;right:0;top:5px;width:5px}&.ag-resizer-bottomRight{bottom:0;cursor:nwse-resize;height:5px;right:0;width:5px}&.ag-resizer-bottom{bottom:0;cursor:ns-resize;height:5px;left:5px;right:5px}&.ag-resizer-bottomLeft{bottom:0;cursor:nesw-resize;height:5px;left:0;width:5px}&.ag-resizer-left{bottom:5px;cursor:ew-resize;left:0;top:5px;width:5px}}.ag-menu{background-color:var(--ag-menu-background-color);border:var(--ag-menu-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-menu-shadow);color:var(--ag-menu-text-color);max-height:100%;overflow-y:auto;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}',e,"shared",t,0,o),s?.forEach((s,i)=>s.forEach(s=>Cd(s,e,i,t,0,o)))},wd=(e,t=!1)=>{const o=/* @__PURE__ */new Set;for(const i of yd.grids.values())i.styleContainer===e&&o.add(i.paramsCss);const s=yd.map.get(e)??[];for(let i=s.length-1;i>=0;i--)(t||s[i].isParams&&!o.has(s[i].css))&&(s[i].el.remove(),s.splice(i,1))},bd=()=>{const e=globalThis.agStyleInjectionVersions??(globalThis.agStyleInjectionVersions=/* @__PURE__ */new Map);let t=e.get(mt);return t||(t={map:/* @__PURE__ */new WeakMap,grids:/* @__PURE__ */new Map,paramsId:0},e.set(mt,t)),t},yd=bd(),Sd=e=>new Fd(e),Rd="$default",xd=0,Fd=class{constructor({feature:e,params:t,modeParams:o={},css:s,cssImports:i}){this.feature=e,this.css=s,this.cssImports=i,this.modeParams={[Rd]:{...o[Rd]??{},...t??{}},...o}}use(e,t,o){let s=this._inject;if(null==s){let{css:e}=this;if(e){const t=`ag-theme-${this.feature??"part"}-${++xd}`;"function"==typeof e&&(e=e()),e=`:where(.${t}) {\n${e}\n}\n`;for(const o of this.cssImports??[])e=`@import url(${JSON.stringify(o)});\n${e}`;s={css:e,class:t}}else s=!1;this._inject=s}return s&&e&&Cd(s.css,e,s.class,t,1,o),!!s&&s.class}},Dd=e=>{return`--ag-${t=e,t.replace(/[A-Z]|\d+/g,e=>`-${e}`).toLowerCase()}`;var t},Md=e=>`var(${Dd(e)})`,Pd=e=>({ref:"accentColor",mix:e}),Ed=e=>({ref:"foregroundColor",mix:e}),Td=e=>({ref:"foregroundColor",mix:e,onto:"backgroundColor"}),Id={ref:"backgroundColor"},Ad={ref:"foregroundColor"},kd={ref:"accentColor"},Ld={backgroundColor:"#fff",foregroundColor:"#181d1f",borderColor:Ed(.15),chromeBackgroundColor:Td(.02),browserColorScheme:"light"},Gd={...Ld,textColor:Ad,accentColor:"#2196f3",invalidColor:"#e02525",fontFamily:["-apple-system","BlinkMacSystemFont","Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue","sans-serif"],subtleTextColor:{ref:"textColor",mix:.5},borderWidth:1,borderRadius:4,spacing:8,fontSize:14,fontWeight:"inherit",focusShadow:{spread:3,color:Pd(.5)},focusErrorShadow:{spread:3,color:{ref:"invalidColor",onto:"backgroundColor",mix:.5}},popupShadow:"0 0 16px #00000026",cardShadow:"0 1px 4px 1px #00000018",dropdownShadow:{ref:"cardShadow"},listItemHeight:{calc:"max(iconSize, dataFontSize) + widgetVerticalSpacing"},dragAndDropImageBackgroundColor:Id,dragAndDropImageBorder:!0,dragAndDropImageNotAllowedBorder:{color:{ref:"invalidColor",onto:"dragAndDropImageBackgroundColor",mix:.5}},dragAndDropImageShadow:{ref:"popupShadow"},iconSize:16,iconColor:"inherit",toggleButtonWidth:28,toggleButtonHeight:18,toggleButtonOnBackgroundColor:kd,toggleButtonOffBackgroundColor:Td(.3),toggleButtonSwitchBackgroundColor:Id,toggleButtonSwitchInset:2,tooltipBackgroundColor:{ref:"chromeBackgroundColor"},tooltipErrorBackgroundColor:{ref:"invalidColor",onto:"backgroundColor",mix:.1},tooltipTextColor:{ref:"textColor"},tooltipErrorTextColor:{ref:"invalidColor"},tooltipBorder:!0,tooltipErrorBorder:{color:{ref:"invalidColor",onto:"backgroundColor",mix:.25}},panelBackgroundColor:Id,panelTitleBarHeight:{ref:"headerHeight"},panelTitleBarBackgroundColor:{ref:"headerBackgroundColor"},panelTitleBarIconColor:{ref:"headerTextColor"},panelTitleBarTextColor:{ref:"headerTextColor"},panelTitleBarFontFamily:{ref:"headerFontFamily"},panelTitleBarFontSize:{ref:"headerFontSize"},panelTitleBarFontWeight:{ref:"headerFontWeight"},panelTitleBarBorder:!0,dialogShadow:{ref:"popupShadow"},dialogBorder:{color:Ed(.2)},widgetContainerHorizontalPadding:{calc:"spacing * 1.5"},widgetContainerVerticalPadding:{calc:"spacing * 1.5"},widgetHorizontalSpacing:{calc:"spacing * 1.5"},widgetVerticalSpacing:{ref:"spacing"},dataFontSize:{ref:"fontSize"},headerBackgroundColor:{ref:"chromeBackgroundColor"},headerFontFamily:{ref:"fontFamily"},headerFontSize:{ref:"fontSize"},headerFontWeight:500,headerTextColor:{ref:"textColor"},headerHeight:{calc:"max(iconSize, dataFontSize) + spacing * 4 * headerVerticalPaddingScale"},headerVerticalPaddingScale:1,menuBorder:{color:Ed(.2)},menuBackgroundColor:Td(.03),menuTextColor:Td(.95),menuShadow:{ref:"popupShadow"},menuSeparatorColor:{ref:"borderColor"}},Nd=["colorScheme","color","length","scale","borderStyle","border","shadow","image","fontFamily","fontWeight","duration"],Bd=(()=>{const e=/* @__PURE__ */new Map;return t=>{const o=t;return e.has(o)||e.set(o,(s=(s=t).toLowerCase(),Nd.find(e=>s.endsWith(e.toLowerCase()))??"length")),e.get(o);var s}})(),Hd=e=>"object"==typeof e&&e?.ref?Md(e.ref):"string"==typeof e?e:"number"==typeof e&&String(e),Od=e=>{if("string"==typeof e)return e;if("object"==typeof e&&e&&"ref"in e){const t=Md(e.ref);return null==e.mix?t:`color-mix(in srgb, ${e.onto?Md(e.onto):"transparent"}, ${t} ${(e=>Math.max(0,Math.min(100,e)))(100*e.mix)}%)`}return!1},Vd=e=>"string"==typeof e?e:"number"==typeof e?`${e}px`:"object"==typeof e&&e&&"calc"in e?`calc(${e.calc.replace(/ ?[*/+] ?/g," $& ").replace(/-?\b[a-z][a-z0-9]*\b(?![-(])/gi,e=>"-"===e[0]?e:" "+Md(e)+" ")})`:!("object"!=typeof e||!e||!("ref"in e))&&Md(e.ref),zd=(e,t)=>"string"==typeof e?e:!0===e?zd({},t):!1===e?"columnBorder"===t?zd({color:"transparent"},t):"none":"object"==typeof e&&e&&"ref"in e?Md(e.ref):Ud(e.style??"solid")+" "+Vd(e.width??{ref:"borderWidth"})+" "+Od(e.color??{ref:"borderColor"}),Wd=e=>[Vd(e.offsetX??0),Vd(e.offsetY??0),Vd(e.radius??0),Vd(e.spread??0),Od(e.color??{ref:"foregroundColor"}),...e.inset?["inset"]:[]].join(" "),Ud=Hd,$d=e=>"string"==typeof e?e.includes(",")?e:jd(e):"object"==typeof e&&e&&"googleFont"in e?$d(e.googleFont):"object"==typeof e&&e&&"ref"in e?Md(e.ref):!!Array.isArray(e)&&e.map(e=>("object"==typeof e&&"googleFont"in e&&(e=e.googleFont),jd(e))).join(", "),jd=e=>/^[\w-]+$|\w\(/.test(e)?e:JSON.stringify(e),Kd=e=>"string"==typeof e?e:"object"==typeof e&&e&&"url"in e?`url(${JSON.stringify(e.url)})`:"object"==typeof e&&e&&"svg"in e?Kd({url:`data:image/svg+xml,${encodeURIComponent(e.svg)}`}):!("object"!=typeof e||!e||!("ref"in e))&&Md(e.ref),_d={color:Od,colorScheme:Hd,length:Vd,scale:Hd,border:zd,borderStyle:Ud,shadow:e=>"string"==typeof e?e:!1===e?"none":"object"==typeof e&&e&&"ref"in e?Md(e.ref):Array.isArray(e)?e.map(Wd).join(", "):Wd(e),image:Kd,fontFamily:$d,fontWeight:Hd,duration:(e,t,o)=>"string"==typeof e?e:"number"==typeof e?(e>=10&&o?.warn(104,{value:e,param:t}),`${e}s`):!("object"!=typeof e||!e||!("ref"in e))&&Md(e.ref)},qd=(e,t,o)=>_d[Bd(e)](t,e,o),Yd=class e{constructor(e,t=[]){this.params=e,this.parts=t}withPart(t){return"function"==typeof t&&(t=t()),t instanceof Fd?new e(this.params,[...this.parts,t]):(this.params.themeLogger.preInitErr(259,"Invalid part",{part:t}),this)}withoutPart(e){return this.withPart(Sd({feature:e}))}withParams(e,t=Rd){return this.withPart(Sd({modeParams:{[t]:e}}))}_startUse({styleContainer:e,cssLayer:t,nonce:o,loadThemeGoogleFonts:s,moduleCss:i}){if(fd)return;Jd(),vd(e,t,o,i);const n=Qd(this);if(n.length>0)for(const r of n)s&&ec(r,o);for(const r of this.parts)r.use(e,t,o)}_getCssClass(){return this._cssClassCache??(this._cssClassCache=Zd(this.parts).map(e=>e.use(void 0,void 0,void 0)).filter(Boolean).concat(this._getParamsClassName()).join(" "))}_getParamsClassName(){return this._paramsClassName??(this._paramsClassName="ag-theme-params-"+ ++bd().paramsId)}_getModeParams(){let e=this._paramsCache;if(!e){const t={[Rd]:{...Gd}};for(const e of Zd(this.parts))for(const o of Object.keys(e.modeParams)){const s=e.modeParams[o];if(s){const e=t[o]??(t[o]={}),i=/* @__PURE__ */new Set;for(const t of Object.keys(s)){const o=s[t];void 0!==o&&(e[t]=o,i.add(t))}if(o===Rd)for(const o of Object.keys(t)){const e=t[o];if(o!==Rd)for(const t of i)delete e[t]}}}this._paramsCache=e=t}return e}_getParamsCss(){if(!this._paramsCssCache){let e="",t="";const o=this._getModeParams(),{overridePrefix:s,themeLogger:i}=this.params,n=s?`--ag-${s}-`:void 0;for(const a of Object.keys(o)){const s=o[a];if(a!==Rd){const o=`:where([data-ag-theme-mode="${"object"==typeof CSS?CSS.escape(a):a}"]) & {\n`;e+=o,t+=o}for(const o of Object.keys(s).sort()){const r=s[o],l=qd(o,r,i);if(!1===l)i.error(107,{key:o,value:r});else{const s=Dd(o),i=n?s.replace("--ag-",n):s,r=s.replace("--ag-","--ag-inherited-");e+=`\t${s}: var(${r}, ${l});\n`,t+=`\t${r}: var(${i});\n`}}a!==Rd&&(e+="}\n",t+="}\n")}const r=`:where(.${this._getParamsClassName()})`;let l=`${r} {\n${e}}\n`;l+=`:has(> ${r}):not(${r}) {\n${t}}\n`,this._paramsCssCache=l}return this._paramsCssCache}},Zd=e=>{const t=/* @__PURE__ */new Map;for(const s of e)t.set(s.feature,s);const o=[];for(const s of e)s.feature&&t.get(s.feature)!==s||o.push(s);return o},Qd=e=>{const t=/* @__PURE__ */new Set,o=e=>{if(Array.isArray(e))e.forEach(o);else{const o=e?.googleFont;"string"==typeof o&&t.add(o)}};return Object.values(e._getModeParams()).flatMap(e=>Object.values(e)).forEach(o),Array.from(t).sort()},Xd=!1,Jd=()=>{if(!Xd){Xd=!0;for(const e of Array.from(document.head.querySelectorAll('style[data-ag-scope="legacy"]')))e.remove()}},ec=async(e,t)=>{Cd(`@import url('https://${tc}/css2?family=${encodeURIComponent(e)}:wght@100;200;300;400;500;600;700;800;900&display=swap');\n`,document.head,`googleFont:${e}`,void 0,0,t)},tc="fonts.googleapis.com",oc={changeKey:"listItemHeight",type:"length",defaultValue:24},sc=class extends He{constructor(){super(...arguments),this.beanName="environment",this.sizeEls=/* @__PURE__ */new Map,this.lastKnownValues=/* @__PURE__ */new Map,this.sizesMeasured=!1,this.globalCSS=[]}wireBeans(e){this.eRootDiv=e.eRootDiv}postConstruct(){const{gos:e,eRootDiv:t}=this;e.setInstanceDomData(t);const o=e.get("themeStyleContainer"),s="undefined"!=typeof ShadowRoot,i=s&&t.getRootNode()instanceof ShadowRoot;this.eStyleContainer=("function"==typeof o?o():o)??(i?t:document.head),o||i||!s||nc(t,this.shadowRootError.bind(this),this.addDestroyFunc.bind(this)),this.cssLayer=e.get("themeCssLayer"),this.styleNonce=e.get("styleNonce"),this.addManagedPropertyListener("theme",()=>this.handleThemeChange()),this.handleThemeChange(),this.getSizeEl(oc),this.initVariables(),this.addDestroyFunc(()=>(e=>{const t=yd.grids.get(e)?.styleContainer;t&&(yd.grids.delete(e),Array.from(yd.grids.values()).some(e=>e.styleContainer===t)?wd(t):(wd(t,!0),yd.map.delete(t)))})(this)),this.mutationObserver=new MutationObserver(()=>{this.fireStylesChangedEvent("theme")}),this.addDestroyFunc(()=>this.mutationObserver.disconnect())}applyThemeClasses(e,t=[]){const{theme:o}=this,s=o?o._getCssClass():this.applyLegacyThemeClasses();for(const i of Array.from(e.classList))i.startsWith("ag-theme-")&&e.classList.remove(i);if(s){const o=e.className;e.className=`${o}${o?" ":""}${s}${t?.length?" "+t.join(" "):""}`}}applyLegacyThemeClasses(){let e="";this.mutationObserver.disconnect();let t=this.eRootDiv;for(;t;){let o=!1;for(const s of Array.from(t.classList))s.startsWith("ag-theme-")&&(o=!0,e=e?`${e} ${s}`:s);o&&this.mutationObserver.observe(t,{attributes:!0,attributeFilter:["class"]}),t=t.parentElement}return e}addGlobalCSS(e,t){this.theme?Cd(e,this.eStyleContainer,t,this.cssLayer,0,this.styleNonce):this.globalCSS.push([e,t])}getDefaultListItemHeight(){return this.getCSSVariablePixelValue(oc)}getCSSVariablePixelValue(e){const t=this.lastKnownValues.get(e);if(null!=t)return t;const o=this.measureSizeEl(e);return"detached"===o||"no-styles"===o?(e.cacheDefault&&this.lastKnownValues.set(e,e.defaultValue),e.defaultValue):(this.lastKnownValues.set(e,o),o)}measureSizeEl(e){const t=this.getSizeEl(e);if(null==t.offsetParent)return"detached";const o=t.offsetWidth;return o===ic?"no-styles":(this.sizesMeasured=!0,o)}getMeasurementContainer(){let e=this.eMeasurementContainer;return e||(e=this.eMeasurementContainer=xe({tag:"div",cls:"ag-measurement-container"}),this.eRootDiv.appendChild(e)),e}getSizeEl(e){let t=this.sizeEls.get(e);if(t)return t;const o=this.getMeasurementContainer();t=xe({tag:"div"});const s=this.setSizeElStyles(t,e);o.appendChild(t),this.sizeEls.set(e,t);const{type:i,noWarn:n}=e;if("length"!==i&&"border"!==i)return t;let r=this.measureSizeEl(e);"no-styles"!==r||n||this.varError(s,e.defaultValue);const l=we(this.beans,t,()=>{const t=this.measureSizeEl(e);"detached"!==t&&"no-styles"!==t&&(this.lastKnownValues.set(e,t),t!==r&&(r=t,this.fireStylesChangedEvent(e.changeKey)))});return this.addDestroyFunc(()=>l()),t}setSizeElStyles(e,t){const{changeKey:o,type:s}=t;let i=Dd(o);return"border"===s?(i.endsWith("-width")&&(i=i.slice(0,-6)),e.className="ag-measurement-element-border",e.style.setProperty("--ag-internal-measurement-border",`var(${i}, solid ${ic}px)`)):e.style.width=`var(${i}, ${ic}px)`,i}handleThemeChange(){const{gos:e,theme:t}=this,o=e.get("theme");let s;if("legacy"===o)s=void 0;else{const e=o??this.getDefaultTheme();e instanceof Yd?s=e:this.themeError(e)}s!==t&&this.handleNewTheme(s),this.postProcessThemeChange(s,o)}handleNewTheme(e){const{gos:t,eRootDiv:o,globalCSS:s}=this,i=this.getAdditionalCss();if(e){vd(this.eStyleContainer,this.cssLayer,this.styleNonce,i);for(const[e,t]of s)Cd(e,this.eStyleContainer,t,this.cssLayer,0,this.styleNonce);s.length=0}this.theme=e,e?._startUse({loadThemeGoogleFonts:t.get("loadThemeGoogleFonts"),styleContainer:this.eStyleContainer,cssLayer:this.cssLayer,nonce:this.styleNonce,moduleCss:i}),((e,t,o,s,i,n)=>{if(fd)return;const r=yd.grids.get(e);r?r.paramsCss=t:yd.grids.set(e,{styleContainer:s,paramsCss:t}),wd(s),t&&o&&Cd(t,s,o,i,2,n,!0)})(this,e?._getParamsCss()??null,e?._getParamsClassName()??null,this.eStyleContainer,this.cssLayer,this.styleNonce),this.applyThemeClasses(o),this.fireStylesChangedEvent("theme")}fireStylesChangedEvent(e){this.eventSvc.dispatchEvent({type:"stylesChanged",[`${e}Changed`]:!0})}},ic=15538,nc=(e,t,o)=>{let s=60;const i=setInterval(()=>{"undefined"!=typeof ShadowRoot&&e.getRootNode()instanceof ShadowRoot&&(t(),clearInterval(i)),(e.isConnected||--s<0)&&clearInterval(i)},1e3);o(()=>clearInterval(i))},rc={wrapperBorder:!0,rowBorder:!0,headerRowBorder:!0,footerRowBorder:{ref:"rowBorder"},columnBorder:{style:"solid",width:1,color:"transparent"},headerColumnBorder:!1,headerColumnBorderHeight:"100%",pinnedColumnBorder:!0,pinnedRowBorder:!0,sidePanelBorder:!0,sideBarPanelWidth:250,sideBarPanelAnimationDuration:0,sideBarBackgroundColor:{ref:"chromeBackgroundColor"},sideButtonBarBackgroundColor:{ref:"sideBarBackgroundColor"},sideButtonBarTopPadding:0,sideButtonSelectedUnderlineWidth:2,sideButtonSelectedUnderlineColor:"transparent",sideButtonSelectedUnderlineTransitionDuration:0,sideButtonBackgroundColor:"transparent",sideButtonTextColor:{ref:"textColor"},sideButtonHoverBackgroundColor:{ref:"sideButtonBackgroundColor"},sideButtonHoverTextColor:{ref:"sideButtonTextColor"},sideButtonSelectedBackgroundColor:Id,sideButtonSelectedTextColor:{ref:"sideButtonTextColor"},sideButtonBorder:"solid 1px transparent",sideButtonSelectedBorder:!0,sideButtonLeftPadding:{ref:"spacing"},sideButtonRightPadding:{ref:"spacing"},sideButtonVerticalPadding:{calc:"spacing * 3"},cellFontFamily:{ref:"fontFamily"},cellFontSize:{ref:"dataFontSize"},cellFontWeight:{ref:"fontWeight"},headerCellHoverBackgroundColor:"transparent",headerCellMovingBackgroundColor:{ref:"headerCellHoverBackgroundColor"},headerCellBackgroundTransitionDuration:"0.2s",cellTextColor:{ref:"textColor"},rangeSelectionBorderStyle:"solid",rangeSelectionBorderColor:kd,rangeSelectionBackgroundColor:Pd(.2),rangeSelectionChartBackgroundColor:"#0058FF1A",rangeSelectionChartCategoryBackgroundColor:"#00FF841A",rangeSelectionHighlightColor:Pd(.5),rangeHeaderHighlightColor:{ref:"foregroundColor",mix:.08,onto:"headerBackgroundColor"},rowNumbersSelectedColor:Pd(.5),rowHoverColor:Pd(.08),columnHoverColor:Pd(.05),selectedRowBackgroundColor:Pd(.12),modalOverlayBackgroundColor:{ref:"backgroundColor",mix:.66},dataBackgroundColor:Id,oddRowBackgroundColor:{ref:"dataBackgroundColor"},wrapperBorderRadius:8,cellHorizontalPadding:{calc:"spacing * 2 * cellHorizontalPaddingScale"},cellWidgetSpacing:{calc:"spacing * 1.5"},cellHorizontalPaddingScale:1,rowGroupIndentSize:{calc:"cellWidgetSpacing + iconSize"},valueChangeDeltaUpColor:"#43a047",valueChangeDeltaDownColor:"#e53935",valueChangeValueHighlightBackgroundColor:"#16a08580",rowHeight:{calc:"max(iconSize, cellFontSize) + spacing * 3.25 * rowVerticalPaddingScale"},rowVerticalPaddingScale:1,paginationPanelHeight:{ref:"rowHeight",calc:"max(rowHeight, 22px)"},dragHandleColor:Ed(.7),headerColumnResizeHandleHeight:"30%",headerColumnResizeHandleWidth:2,headerColumnResizeHandleColor:{ref:"borderColor"},iconButtonColor:{ref:"iconColor"},iconButtonBackgroundColor:"transparent",iconButtonBackgroundSpread:4,iconButtonBorderRadius:1,iconButtonHoverColor:{ref:"iconButtonColor"},iconButtonHoverBackgroundColor:Ed(.1),iconButtonActiveColor:kd,iconButtonActiveBackgroundColor:Pd(.28),iconButtonActiveIndicatorColor:kd,setFilterIndentSize:{ref:"iconSize"},chartMenuPanelWidth:260,chartMenuLabelColor:Ed(.8),cellEditingBorder:{color:kd},cellEditingShadow:{ref:"cardShadow"},fullRowEditInvalidBackgroundColor:{ref:"invalidColor",onto:"backgroundColor",mix:.25},columnSelectIndentSize:{ref:"iconSize"},toolPanelSeparatorBorder:!0,columnDropCellBackgroundColor:Ed(.07),columnDropCellTextColor:{ref:"textColor"},columnDropCellDragHandleColor:{ref:"textColor"},columnDropCellBorder:{color:Ed(.13)},selectCellBackgroundColor:Ed(.07),selectCellBorder:{color:Ed(.13)},advancedFilterBuilderButtonBarBorder:!0,advancedFilterBuilderIndentSize:{calc:"spacing * 2 + iconSize"},advancedFilterBuilderJoinPillColor:"#f08e8d",advancedFilterBuilderColumnPillColor:"#a6e194",advancedFilterBuilderOptionPillColor:"#f3c08b",advancedFilterBuilderValuePillColor:"#85c0e4",filterPanelApplyButtonColor:Id,filterPanelApplyButtonBackgroundColor:kd,columnPanelApplyButtonColor:Id,columnPanelApplyButtonBackgroundColor:kd,filterPanelCardSubtleColor:{ref:"textColor",mix:.7},filterPanelCardSubtleHoverColor:{ref:"textColor"},findMatchColor:Ad,findMatchBackgroundColor:"#ffff00",findActiveMatchColor:Ad,findActiveMatchBackgroundColor:"#ffa500",filterToolPanelGroupIndent:{ref:"spacing"},rowLoadingSkeletonEffectColor:Ed(.15),statusBarLabelColor:Ad,statusBarLabelFontWeight:500,statusBarValueColor:Ad,statusBarValueFontWeight:500,pinnedSourceRowTextColor:{ref:"textColor"},pinnedSourceRowBackgroundColor:{ref:"dataBackgroundColor"},pinnedSourceRowFontWeight:600,pinnedRowFontWeight:600,pinnedRowBackgroundColor:{ref:"dataBackgroundColor"},pinnedRowTextColor:{ref:"textColor"},rowDragIndicatorColor:{ref:"rangeSelectionBorderColor"},rowDragIndicatorWidth:2,columnDragIndicatorColor:{ref:"accentColor"},columnDragIndicatorWidth:2},lc={cellBatchEditBackgroundColor:"rgba(220 181 139 / 16%)",cellBatchEditTextColor:"#422f00",rowBatchEditBackgroundColor:{ref:"cellBatchEditBackgroundColor"},rowBatchEditTextColor:{ref:"cellBatchEditTextColor"}},ac={...lc,cellBatchEditTextColor:"#f3d0b3"},dc=/* @__PURE__ */(()=>Sd({feature:"batchEditStyle",params:lc,css:".ag-cell-batch-edit{background-color:var(--ag-cell-batch-edit-background-color);color:var(--ag-cell-batch-edit-text-color);display:inherit}.ag-row-batch-edit{background-color:var(--ag-row-batch-edit-background-color);color:var(--ag-row-batch-edit-text-color)}"}))(),cc={buttonTextColor:"inherit",buttonFontWeight:"normal",buttonBackgroundColor:"transparent",buttonBorder:!1,buttonBorderRadius:{ref:"borderRadius"},buttonHorizontalPadding:{calc:"spacing * 2"},buttonVerticalPadding:{ref:"spacing"},buttonHoverTextColor:{ref:"buttonTextColor"},buttonHoverBackgroundColor:{ref:"buttonBackgroundColor"},buttonHoverBorder:{ref:"buttonBorder"},buttonActiveTextColor:{ref:"buttonHoverTextColor"},buttonActiveBackgroundColor:{ref:"buttonHoverBackgroundColor"},buttonActiveBorder:{ref:"buttonHoverBorder"},buttonDisabledTextColor:{ref:"inputDisabledTextColor"},buttonDisabledBackgroundColor:{ref:"inputDisabledBackgroundColor"},buttonDisabledBorder:{ref:"inputDisabledBorder"}},hc=/* @__PURE__ */(()=>Sd({feature:"buttonStyle",params:{...cc,buttonBackgroundColor:Id,buttonBorder:!0,buttonHoverBackgroundColor:{ref:"rowHoverColor"},buttonActiveBorder:{color:kd}},css:":where(.ag-button){background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0;text-indent:inherit;text-shadow:inherit;text-transform:inherit;word-spacing:inherit;&:disabled{cursor:default}&:focus-visible{box-shadow:var(--ag-focus-shadow);outline:none}}.ag-standard-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--ag-button-background-color);border:var(--ag-button-border);border-radius:var(--ag-button-border-radius);color:var(--ag-button-text-color);cursor:pointer;font-weight:var(--ag-button-font-weight);padding:var(--ag-button-vertical-padding) var(--ag-button-horizontal-padding);&:active{background-color:var(--ag-button-active-background-color);border:var(--ag-button-active-border);color:var(--ag-button-active-text-color)}&:disabled{background-color:var(--ag-button-disabled-background-color);border:var(--ag-button-disabled-border);color:var(--ag-button-disabled-text-color)}}.ag-standard-button:hover{background-color:var(--ag-button-hover-background-color);border:var(--ag-button-hover-border);color:var(--ag-button-hover-text-color)}"}))(),uc=/* @__PURE__ */(()=>Sd({feature:"columnDropStyle",css:".ag-column-drop-vertical-empty-message{align-items:center;border:dashed var(--ag-border-width);border-color:var(--ag-border-color);display:flex;inset:0;justify-content:center;margin:calc(var(--ag-spacing)*1.5) calc(var(--ag-spacing)*2);overflow:hidden;padding:calc(var(--ag-spacing)*2);position:absolute}"}))(),gc={formulaToken1Color:"#3269c6",formulaToken1BackgroundColor:{ref:"formulaToken1Color",mix:.08},formulaToken1Border:{color:{ref:"formulaToken1Color"}},formulaToken2Color:"#c0343f",formulaToken2BackgroundColor:{ref:"formulaToken2Color",mix:.06},formulaToken2Border:{color:{ref:"formulaToken2Color"}},formulaToken3Color:"#8156b8",formulaToken3BackgroundColor:{ref:"formulaToken3Color",mix:.08},formulaToken3Border:{color:{ref:"formulaToken3Color"}},formulaToken4Color:"#007c1f",formulaToken4BackgroundColor:{ref:"formulaToken4Color",mix:.06},formulaToken4Border:{color:{ref:"formulaToken4Color"}},formulaToken5Color:"#b03e85",formulaToken5BackgroundColor:{ref:"formulaToken5Color",mix:.08},formulaToken5Border:{color:{ref:"formulaToken5Color"}},formulaToken6Color:"#b74900",formulaToken6BackgroundColor:{ref:"formulaToken6Color",mix:.06},formulaToken6Border:{color:{ref:"formulaToken6Color"}},formulaToken7Color:"#247492",formulaToken7BackgroundColor:{ref:"formulaToken7Color",mix:.08},formulaToken7Border:{color:{ref:"formulaToken7Color"}}},pc=/* @__PURE__ */(()=>Sd({feature:"formulaStyle",params:gc}))(),mc={warn:(...e)=>{Dt(e[0],e[1])},error:(...e)=>{Mt(e[0],e[1])},preInitErr:(...e)=>{Pt(e[0],e[2],e[1])}},fc=/* @__PURE__ */(()=>Sd({feature:"checkboxStyle",params:{checkboxBorderWidth:1,checkboxBorderRadius:{ref:"borderRadius"},checkboxUncheckedBackgroundColor:Id,checkboxUncheckedBorderColor:Td(.3),checkboxCheckedBackgroundColor:kd,checkboxCheckedBorderColor:{ref:"checkboxCheckedBackgroundColor"},checkboxCheckedShapeImage:{svg:''},checkboxCheckedShapeColor:Id,checkboxIndeterminateBackgroundColor:Td(.3),checkboxIndeterminateBorderColor:{ref:"checkboxIndeterminateBackgroundColor"},checkboxIndeterminateShapeImage:{svg:''},checkboxIndeterminateShapeColor:Id,radioCheckedShapeImage:{svg:''}},css:'.ag-checkbox-input-wrapper,.ag-radio-button-input-wrapper{background-color:var(--ag-checkbox-unchecked-background-color);border:solid var(--ag-checkbox-border-width) var(--ag-checkbox-unchecked-border-color);flex:none;height:var(--ag-icon-size);position:relative;width:var(--ag-icon-size);&:where(.ag-checked){background-color:var(--ag-checkbox-checked-background-color);border-color:var(--ag-checkbox-checked-border-color)}&:where(.ag-checked):after{background-color:var(--ag-checkbox-checked-shape-color)}&:where(.ag-disabled){filter:grayscale();opacity:.5}}.ag-checkbox-input,.ag-radio-button-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:block;height:var(--ag-icon-size);margin:0;opacity:0;width:var(--ag-icon-size)}.ag-checkbox-input-wrapper:after,.ag-radio-button-input-wrapper:after{content:"";display:block;inset:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none;position:absolute}.ag-checkbox-input-wrapper:where(:focus-within,:active),.ag-radio-button-input-wrapper:where(:focus-within,:active){box-shadow:var(--ag-focus-shadow)}.ag-checkbox-input-wrapper{border-radius:var(--ag-checkbox-border-radius);&:where(.ag-checked):after{-webkit-mask-image:var(--ag-checkbox-checked-shape-image);mask-image:var(--ag-checkbox-checked-shape-image)}&:where(.ag-indeterminate){background-color:var(--ag-checkbox-indeterminate-background-color);border-color:var(--ag-checkbox-indeterminate-border-color)}&:where(.ag-indeterminate):after{background-color:var(--ag-checkbox-indeterminate-shape-color);-webkit-mask-image:var(--ag-checkbox-indeterminate-shape-image);mask-image:var(--ag-checkbox-indeterminate-shape-image)}}.ag-cell-editing-error .ag-checkbox-input-wrapper:focus-within{box-shadow:var(--ag-focus-error-shadow)}.ag-radio-button-input-wrapper{border-radius:100%;&:where(.ag-checked):after{-webkit-mask-image:var(--ag-radio-checked-shape-image);mask-image:var(--ag-radio-checked-shape-image)}}'}))(),Cc=()=>({...Ld,...ac,backgroundColor:"hsl(217, 0%, 17%)",foregroundColor:"#FFF",chromeBackgroundColor:Td(.05),rowHoverColor:Pd(.15),selectedRowBackgroundColor:Pd(.2),menuBackgroundColor:Td(.1),browserColorScheme:"dark",popupShadow:"0 0px 20px #000A",cardShadow:"0 1px 4px 1px #000A",advancedFilterBuilderJoinPillColor:"#7a3a37",advancedFilterBuilderColumnPillColor:"#355f2d",advancedFilterBuilderOptionPillColor:"#5a3168",advancedFilterBuilderValuePillColor:"#374c86",filterPanelApplyButtonColor:Ad,columnPanelApplyButtonColor:Ad,findMatchColor:Id,findActiveMatchColor:Id,checkboxUncheckedBorderColor:Td(.4),toggleButtonOffBackgroundColor:Td(.4),rowBatchEditBackgroundColor:Td(.1),formulaToken1Color:"#4da3e5",formulaToken2Color:"#f55864",formulaToken3Color:"#b688f2",formulaToken4Color:"#24bb4a",formulaToken5Color:"#e772ba",formulaToken6Color:"#f69b5f",formulaToken7Color:"#a3e6ff"}),vc=/* @__PURE__ */(()=>Sd({feature:"colorScheme",params:Ld,modeParams:{light:Ld,dark:Cc(),"dark-blue":{...Cc(),backgroundColor:"#1f2836"}}}))(),wc={aggregation:'',arrows:'',asc:'',cancel:'',chart:'',"color-picker":'',columns:'',contracted:'',copy:'',cross:'',csv:'',cut:'',desc:'',down:'',excel:'',expanded:'',eye:'',"eye-slash":'',filter:'',first:'',grip:'',group:'',last:'',left:'',linked:'',loading:'',maximize:'',menu:'',"menu-alt":'',minimize:'',minus:'',next:'',none:'',"not-allowed":'',paste:'',pin:'',pivot:'',plus:'',previous:'',right:'',save:'',settings:'',"small-left":'',"small-right":'',tick:'',"tree-closed":'',"tree-indeterminate":'',"tree-open":'',unlinked:'',up:''},bc={aasc:'',adesc:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"column-arrow":'',edit:'',"filter-add":'',"pinned-bottom":'',"pinned-top":'',"small-down":'',"small-up":'',"un-pin":''},yc=(e,t=1.5)=>{const o=bc[e];if(o)return o;const s=wc[e];if(!s)throw new Error(`Missing icon data for ${e}`);return``+s+""},Sc=(e={})=>Sd({feature:"iconSet",css:()=>((e={})=>{let t="";for(const o of[...Object.keys(wc),...Object.keys(bc)]){const s=yc(o,e.strokeWidth);t+=`.ag-icon-${o}::before { mask-image: url('data:image/svg+xml,${encodeURIComponent(s)}'); }\n`}return t})(e)}),Rc=/* @__PURE__ */Sc({strokeWidth:1}),xc=/* @__PURE__ */Sc(),Fc={inputBackgroundColor:"transparent",inputBorder:!1,inputBorderRadius:0,inputTextColor:{ref:"textColor"},inputPlaceholderTextColor:{ref:"inputTextColor",mix:.5},inputPaddingStart:0,inputHeight:{calc:"max(iconSize, fontSize) + spacing * 2"},inputFocusBackgroundColor:{ref:"inputBackgroundColor"},inputFocusBorder:{ref:"inputBorder"},inputFocusShadow:"none",inputFocusTextColor:{ref:"inputTextColor"},inputDisabledBackgroundColor:{ref:"inputBackgroundColor"},inputDisabledBorder:{ref:"inputBorder"},inputDisabledTextColor:{ref:"inputTextColor"},inputInvalidBackgroundColor:{ref:"inputBackgroundColor"},inputInvalidBorder:{ref:"inputBorder"},inputInvalidTextColor:{ref:"inputTextColor"},inputIconColor:{ref:"inputTextColor"},pickerButtonBorder:!1,pickerButtonFocusBorder:{ref:"inputFocusBorder"},pickerButtonBackgroundColor:{ref:"backgroundColor"},pickerButtonFocusBackgroundColor:{ref:"backgroundColor"},pickerListBorder:!1,pickerListBackgroundColor:{ref:"backgroundColor"},colorPickerThumbSize:18,colorPickerTrackSize:12,colorPickerThumbBorderWidth:3,colorPickerTrackBorderRadius:12,colorPickerColorBorderRadius:4},Dc=/* @__PURE__ */(()=>Sd({feature:"inputStyle",params:{...Fc,inputBackgroundColor:Id,inputBorder:!0,inputBorderRadius:{ref:"borderRadius"},inputPaddingStart:{ref:"spacing"},inputFocusBorder:{color:kd},inputFocusShadow:{ref:"focusShadow"},inputDisabledBackgroundColor:Td(.06),inputDisabledTextColor:{ref:"textColor",mix:.5},inputInvalidBorder:{color:{ref:"invalidColor"}},pickerButtonBorder:!0,pickerListBorder:!0},css:()=>':where(.ag-input-field-input[type=number]:not(.ag-number-field-input-stepper)){-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}}.ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){background-color:var(--ag-input-background-color);border:var(--ag-input-border);border-radius:var(--ag-input-border-radius);color:var(--ag-input-text-color);font-family:inherit;font-size:inherit;line-height:inherit;margin:0;min-height:var(--ag-input-height);padding:0;&:where(:disabled){background-color:var(--ag-input-disabled-background-color);border:var(--ag-input-disabled-border);color:var(--ag-input-disabled-text-color)}&:where(:focus){background-color:var(--ag-input-focus-background-color);border:var(--ag-input-focus-border);box-shadow:var(--ag-input-focus-shadow);color:var(--ag-input-focus-text-color);outline:none}&:where(:invalid){background-color:var(--ag-input-invalid-background-color);border:var(--ag-input-invalid-border);color:var(--ag-input-invalid-text-color)}&:where(.invalid){background-color:var(--ag-input-invalid-background-color);border:var(--ag-input-invalid-border);color:var(--ag-input-invalid-text-color)}&::-moz-placeholder{color:var(--ag-input-placeholder-text-color)}&::placeholder{color:var(--ag-input-placeholder-text-color)}}:where(.ag-ltr) .ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){padding-left:var(--ag-input-padding-start)}:where(.ag-rtl) .ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){padding-right:var(--ag-input-padding-start)}&:where(.ag-ltr,.ag-rtl) .ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){padding:0 var(--ag-input-padding-start)}:where(.ag-column-select-header-filter-wrapper),:where(.ag-filter-add-select),:where(.ag-filter-filter),:where(.ag-filter-toolpanel-search),:where(.ag-floating-filter-search-icon),:where(.ag-mini-filter){.ag-input-wrapper:before{background-color:currentcolor;color:var(--ag-input-icon-color);content:"";display:block;height:12px;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNS4zIDlhMy43IDMuNyAwIDEgMCAwLTcuNSAzLjcgMy43IDAgMCAwIDAgNy41Wk0xMC41IDEwLjUgOC4zIDguMiIvPjwvc3ZnPg==");mask-image:url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNS4zIDlhMy43IDMuNyAwIDEgMCAwLTcuNSAzLjcgMy43IDAgMCAwIDAgNy41Wk0xMC41IDEwLjUgOC4zIDguMiIvPjwvc3ZnPg==");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;opacity:.5;position:absolute;width:12px}}:where(.ag-ltr) :where(.ag-column-select-header-filter-wrapper),:where(.ag-ltr) :where(.ag-filter-add-select),:where(.ag-ltr) :where(.ag-filter-filter),:where(.ag-ltr) :where(.ag-filter-toolpanel-search),:where(.ag-ltr) :where(.ag-floating-filter-search-icon),:where(.ag-ltr) :where(.ag-mini-filter){.ag-input-wrapper:before{margin-left:var(--ag-spacing)}.ag-number-field-input,.ag-text-field-input{padding-left:calc(var(--ag-spacing)*1.5 + 12px)}}:where(.ag-rtl) :where(.ag-column-select-header-filter-wrapper),:where(.ag-rtl) :where(.ag-filter-add-select),:where(.ag-rtl) :where(.ag-filter-filter),:where(.ag-rtl) :where(.ag-filter-toolpanel-search),:where(.ag-rtl) :where(.ag-floating-filter-search-icon),:where(.ag-rtl) :where(.ag-mini-filter){.ag-input-wrapper:before{margin-right:var(--ag-spacing)}.ag-number-field-input,.ag-text-field-input{padding-right:calc(var(--ag-spacing)*1.5 + 12px)}}.ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){&:focus{box-shadow:var(--ag-focus-shadow);&:where(.invalid),&:where(:invalid){box-shadow:var(--ag-focus-error-shadow)}}}'}))(),Mc={tabBarBackgroundColor:"transparent",tabBarHorizontalPadding:0,tabBarTopPadding:0,tabBackgroundColor:"transparent",tabTextColor:{ref:"textColor"},tabHorizontalPadding:{ref:"spacing"},tabTopPadding:{ref:"spacing"},tabBottomPadding:{ref:"spacing"},tabSpacing:"0",tabHoverBackgroundColor:{ref:"tabBackgroundColor"},tabHoverTextColor:{ref:"tabTextColor"},tabSelectedBackgroundColor:{ref:"tabBackgroundColor"},tabSelectedTextColor:{ref:"tabTextColor"},tabSelectedBorderWidth:{ref:"borderWidth"},tabSelectedBorderColor:"transparent",tabSelectedUnderlineColor:"transparent",tabSelectedUnderlineWidth:0,tabSelectedUnderlineTransitionDuration:0,tabBarBorder:!1},Pc=/* @__PURE__ */(()=>Sd({feature:"tabStyle",params:{...Mc,tabBarBorder:!0,tabBarBackgroundColor:Ed(.05),tabTextColor:{ref:"textColor",mix:.7},tabSelectedTextColor:{ref:"textColor"},tabHoverTextColor:{ref:"textColor"},tabSelectedBorderColor:{ref:"borderColor"},tabSelectedBackgroundColor:Id},css:'.ag-tabs-header{background-color:var(--ag-tab-bar-background-color);border-bottom:var(--ag-tab-bar-border);display:flex;flex:1;gap:var(--ag-tab-spacing);padding:var(--ag-tab-bar-top-padding) var(--ag-tab-bar-horizontal-padding) 0}.ag-tabs-header-wrapper{display:flex}.ag-tabs-close-button-wrapper{align-items:center;border:0;display:flex;padding:var(--ag-spacing)}:where(.ag-ltr) .ag-tabs-close-button-wrapper{border-right:solid var(--ag-border-width) var(--ag-border-color)}:where(.ag-rtl) .ag-tabs-close-button-wrapper{border-left:solid var(--ag-border-width) var(--ag-border-color)}.ag-tabs-close-button{background-color:unset;border:0;cursor:pointer;padding:0}.ag-tab{align-items:center;background-color:var(--ag-tab-background-color);border-left:var(--ag-tab-selected-border-width) solid transparent;border-right:var(--ag-tab-selected-border-width) solid transparent;color:var(--ag-tab-text-color);cursor:pointer;display:flex;flex:1;justify-content:center;padding:var(--ag-tab-top-padding) var(--ag-tab-horizontal-padding) var(--ag-tab-bottom-padding);position:relative}.ag-tab:hover{background-color:var(--ag-tab-hover-background-color);color:var(--ag-tab-hover-text-color)}.ag-tab.ag-tab-selected{background-color:var(--ag-tab-selected-background-color);color:var(--ag-tab-selected-text-color)}:where(.ag-ltr) .ag-tab.ag-tab-selected:where(:not(:first-of-type)){border-left-color:var(--ag-tab-selected-border-color)}:where(.ag-rtl) .ag-tab.ag-tab-selected:where(:not(:first-of-type)){border-right-color:var(--ag-tab-selected-border-color)}:where(.ag-ltr) .ag-tab.ag-tab-selected:where(:not(:last-of-type)){border-right-color:var(--ag-tab-selected-border-color)}:where(.ag-rtl) .ag-tab.ag-tab-selected:where(:not(:last-of-type)){border-left-color:var(--ag-tab-selected-border-color)}.ag-tab:after{background-color:var(--ag-tab-selected-underline-color);bottom:0;content:"";display:block;height:var(--ag-tab-selected-underline-width);left:0;opacity:0;position:absolute;right:0;transition:opacity var(--ag-tab-selected-underline-transition-duration)}.ag-tab.ag-tab-selected:after{opacity:1}'}))(),Ec=/* @__PURE__ */(()=>{return(e=mc,new Yd({themeLogger:e,overridePrefix:void 0})).withParams(rc).withPart(hc).withPart(uc).withPart(dc).withPart(pc).withPart(fc).withPart(vc).withPart(xc).withPart(Pc).withPart(Dc).withPart(uc).withParams({fontFamily:[{googleFont:"IBM Plex Sans"},"-apple-system","BlinkMacSystemFont","Segoe UI","Roboto","Oxygen-Sans","Ubuntu"]});var e})(),Tc=(e,t,o,s,i)=>({changeKey:e,type:t,defaultValue:o,noWarn:s,cacheDefault:i}),Ic=Tc("cellHorizontalPadding","length",16),Ac=Tc("indentationLevel","length",0,!0,!0),kc=Tc("rowGroupIndentSize","length",0),Lc=Tc("rowHeight","length",42),Gc=Tc("headerHeight","length",48),Nc=Tc("rowBorderWidth","border",1),Bc=Tc("pinnedRowBorderWidth","border",1),Hc=Tc("headerRowBorderWidth","border",1),Oc=class extends He{constructor(){super(...arguments),this.beanName="eventSvc",this.eventServiceType="global",this.globalSvc=new u}addListener(e,t,o){this.globalSvc.addEventListener(e,t,o)}removeListener(e,t,o){this.globalSvc.removeEventListener(e,t,o)}addGlobalListener(e,t=!1){this.globalSvc.addGlobalListener(e,t)}removeGlobalListener(e,t=!1){this.globalSvc.removeGlobalListener(e,t)}dispatchEvent(e){this.globalSvc.dispatchEvent(this.gos.addCommon(e))}dispatchEventOnce(e){this.globalSvc.dispatchEventOnce(this.gos.addCommon(e))}};function Vc(e,t,o){const s=e.visibleCols.headerGroupRowCount;if(o>=s)return{column:t,headerRowIndex:o};let i=t.getParent();for(;i&&i.getProvidedColumnGroup().getLevel()>o;)i=i.getParent();const n=t.isSpanHeaderHeight();return!i||n&&i.isPadding()?{column:t,headerRowIndex:s}:{column:i,headerRowIndex:i.getProvidedColumnGroup().getLevel()}}var zc=/* @__PURE__ */new Set(["gridPreDestroyed","fillStart","pasteStart"]),Wc=["columnEverythingChanged","newColumnsLoaded","columnPivotModeChanged","pivotMaxColumnsExceeded","columnRowGroupChanged","expandOrCollapseAll","columnPivotChanged","gridColumnsChanged","columnValueChanged","columnMoved","columnVisible","columnPinned","columnGroupOpened","columnResized","displayedColumnsChanged","virtualColumnsChanged","columnHeaderMouseOver","columnHeaderMouseLeave","columnHeaderClicked","columnHeaderContextMenu","asyncTransactionsFlushed","rowGroupOpened","rowDataUpdated","pinnedRowDataChanged","pinnedRowsChanged","rangeSelectionChanged","cellSelectionChanged","chartCreated","chartRangeSelectionChanged","chartOptionsChanged","chartDestroyed","toolPanelVisibleChanged","toolPanelSizeChanged","modelUpdated","cutStart","cutEnd","pasteStart","pasteEnd","fillStart","fillEnd","cellSelectionDeleteStart","cellSelectionDeleteEnd","rangeDeleteStart","rangeDeleteEnd","undoStarted","undoEnded","redoStarted","redoEnded","cellClicked","cellDoubleClicked","cellMouseDown","cellContextMenu","cellValueChanged","cellEditRequest","rowValueChanged","headerFocused","cellFocused","rowSelected","selectionChanged","tooltipShow","tooltipHide","cellKeyDown","cellMouseOver","cellMouseOut","filterChanged","filterModified","filterUiChanged","filterOpened","floatingFilterUiChanged","advancedFilterBuilderVisibleChanged","sortChanged","virtualRowRemoved","rowClicked","rowDoubleClicked","gridReady","gridPreDestroyed","gridSizeChanged","viewportChanged","firstDataRendered","dragStarted","dragStopped","dragCancelled","rowEditingStarted","rowEditingStopped","cellEditingStarted","cellEditingStopped","bodyScroll","bodyScrollEnd","paginationChanged","componentStateChanged","storeRefreshed","stateUpdated","columnMenuVisibleChanged","contextMenuVisibleChanged","rowDragEnter","rowDragMove","rowDragLeave","rowDragEnd","rowDragCancel","findChanged","rowResizeStarted","rowResizeEnded","columnsReset","bulkEditingStarted","bulkEditingStopped","batchEditingStarted","batchEditingStopped"].reduce((e,t)=>{var o;return e[t]=!(o=t)||o.length<2?o:"on"+o[0].toUpperCase()+o.substring(1),e},{}),Uc={agSetColumnFilter:"SetFilter",agSetColumnFloatingFilter:"SetFilter",agMultiColumnFilter:"MultiFilter",agMultiColumnFloatingFilter:"MultiFilter",agGroupColumnFilter:"GroupFilter",agGroupColumnFloatingFilter:"GroupFilter",agGroupCellRenderer:"GroupCellRenderer",agGroupRowRenderer:"GroupCellRenderer",agRichSelect:"RichSelect",agRichSelectCellEditor:"RichSelect",agDetailCellRenderer:"SharedMasterDetail",agSparklineCellRenderer:"Sparklines",agDragAndDropImage:"SharedDragAndDrop",agColumnHeader:"ColumnHeaderComp",agColumnGroupHeader:"ColumnGroupHeaderComp",agSortIndicator:"Sort",agAnimateShowChangeCellRenderer:"HighlightChanges",agAnimateSlideCellRenderer:"HighlightChanges",agLoadingCellRenderer:"LoadingCellRenderer",agSkeletonCellRenderer:"SkeletonCellRenderer",agCheckboxCellRenderer:"CheckboxCellRenderer",agLoadingOverlay:"Overlay",agExportingOverlay:"Overlay",agNoRowsOverlay:"Overlay",agNoMatchingRowsOverlay:"Overlay",agTooltipComponent:"Tooltip",agReadOnlyFloatingFilter:"CustomFilter",agTextColumnFilter:"TextFilter",agNumberColumnFilter:"NumberFilter",agBigIntColumnFilter:"BigIntFilter",agDateColumnFilter:"DateFilter",agDateInput:"DateFilter",agTextColumnFloatingFilter:"TextFilter",agNumberColumnFloatingFilter:"NumberFilter",agBigIntColumnFloatingFilter:"BigIntFilter",agDateColumnFloatingFilter:"DateFilter",agFormulaCellEditor:"Formula",agCellEditor:"TextEditor",agSelectCellEditor:"SelectEditor",agTextCellEditor:"TextEditor",agNumberCellEditor:"NumberEditor",agDateCellEditor:"DateEditor",agDateStringCellEditor:"DateEditor",agCheckboxCellEditor:"CheckboxEditor",agLargeTextCellEditor:"LargeTextEditor",agMenuItem:"MenuItem",agColumnsToolPanel:"ColumnsToolPanel",agFiltersToolPanel:"FiltersToolPanel",agNewFiltersToolPanel:"NewFiltersToolPanel",agAggregationComponent:"StatusBar",agSelectedRowCountComponent:"StatusBar",agTotalRowCountComponent:"StatusBar",agFilteredRowCountComponent:"StatusBar",agTotalAndFilteredRowCountComponent:"StatusBar",agFindCellRenderer:"Find"};function $c(e){return`"${e}"`}var jc={allowFormula:"Formula",aggFunc:"SharedAggregation",autoHeight:"RowAutoHeight",cellClass:"CellStyle",cellClassRules:"CellStyle",cellEditor:({cellEditor:e,editable:t,groupRowEditable:o})=>t||o?"string"==typeof e?Uc[e]??"CustomEditor":"CustomEditor":null,cellRenderer:({cellRenderer:e})=>"string"!=typeof e?null:Uc[e],cellStyle:"CellStyle",columnChooserParams:"ColumnMenu",contextMenuItems:"ContextMenu",dndSource:"DragAndDrop",dndSourceOnRowDrag:"DragAndDrop",editable:({editable:e,cellEditor:t})=>e&&!t?"TextEditor":null,groupRowEditable:({groupRowEditable:e,cellEditor:t})=>e?t?"RowGroupingEdit":["RowGroupingEdit","TextEditor"]:null,groupRowValueSetter:({groupRowValueSetter:e})=>e?"RowGroupingEdit":null,enableCellChangeFlash:"HighlightChanges",enablePivot:"SharedPivot",enableRowGroup:"SharedRowGrouping",enableValue:"SharedAggregation",filter:({filter:e})=>e&&"string"!=typeof e&&"boolean"!=typeof e?"CustomFilter":"string"==typeof e?Uc[e]??"ColumnFilter":"ColumnFilter",floatingFilter:"ColumnFilter",getQuickFilterText:"QuickFilter",headerTooltip:"Tooltip",headerTooltipValueGetter:"Tooltip",mainMenuItems:"ColumnMenu",menuTabs:e=>{const t=["columnsMenuTab","generalMenuTab"];return e.menuTabs?.some(e=>t.includes(e))?"ColumnMenu":null},pivot:"SharedPivot",pivotIndex:"SharedPivot",rowDrag:"RowDrag",rowGroup:"SharedRowGrouping",rowGroupIndex:"SharedRowGrouping",tooltipField:"Tooltip",tooltipValueGetter:"Tooltip",tooltipComponentSelector:"Tooltip",spanRows:"CellSpan",groupHierarchy:"SharedRowGrouping"},Kc={headerName:void 0,columnGroupShow:void 0,headerStyle:void 0,headerClass:void 0,toolPanelClass:void 0,headerValueGetter:void 0,pivotKeys:void 0,groupId:void 0,colId:void 0,sort:void 0,initialSort:void 0,field:void 0,type:void 0,cellDataType:void 0,tooltipComponent:void 0,tooltipField:void 0,headerTooltip:void 0,headerTooltipValueGetter:void 0,cellClass:void 0,showRowGroup:void 0,filter:void 0,initialAggFunc:void 0,defaultAggFunc:void 0,aggFunc:void 0,groupRowEditable:void 0,groupRowValueSetter:void 0,pinned:void 0,initialPinned:void 0,chartDataType:void 0,cellAriaRole:void 0,cellEditorPopupPosition:void 0,headerGroupComponent:void 0,headerGroupComponentParams:void 0,cellStyle:void 0,cellRenderer:void 0,cellRendererParams:void 0,cellEditor:void 0,cellEditorParams:void 0,filterParams:void 0,pivotValueColumn:void 0,headerComponent:void 0,headerComponentParams:void 0,floatingFilterComponent:void 0,floatingFilterComponentParams:void 0,tooltipComponentParams:void 0,refData:void 0,columnChooserParams:void 0,children:void 0,sortingOrder:void 0,allowedAggFuncs:void 0,menuTabs:void 0,pivotTotalColumnIds:void 0,cellClassRules:void 0,icons:void 0,sortIndex:void 0,initialSortIndex:void 0,flex:void 0,initialFlex:void 0,width:void 0,initialWidth:void 0,minWidth:void 0,maxWidth:void 0,rowGroupIndex:void 0,initialRowGroupIndex:void 0,pivotIndex:void 0,initialPivotIndex:void 0,suppressColumnsToolPanel:void 0,suppressFiltersToolPanel:void 0,openByDefault:void 0,marryChildren:void 0,suppressStickyLabel:void 0,hide:void 0,initialHide:void 0,rowGroup:void 0,initialRowGroup:void 0,pivot:void 0,initialPivot:void 0,checkboxSelection:void 0,showDisabledCheckboxes:void 0,headerCheckboxSelection:void 0,headerCheckboxSelectionFilteredOnly:void 0,headerCheckboxSelectionCurrentPageOnly:void 0,suppressHeaderMenuButton:void 0,suppressMovable:void 0,lockPosition:void 0,lockVisible:void 0,lockPinned:void 0,unSortIcon:void 0,suppressSizeToFit:void 0,suppressAutoSize:void 0,enableRowGroup:void 0,enablePivot:void 0,enableValue:void 0,editable:void 0,suppressPaste:void 0,suppressNavigable:void 0,enableCellChangeFlash:void 0,rowDrag:void 0,dndSource:void 0,autoHeight:void 0,wrapText:void 0,sortable:void 0,resizable:void 0,singleClickEdit:void 0,floatingFilter:void 0,cellEditorPopup:void 0,suppressFillHandle:void 0,wrapHeaderText:void 0,autoHeaderHeight:void 0,dndSourceOnRowDrag:void 0,valueGetter:void 0,valueSetter:void 0,filterValueGetter:void 0,keyCreator:void 0,valueFormatter:void 0,valueParser:void 0,comparator:void 0,equals:void 0,pivotComparator:void 0,suppressKeyboardEvent:void 0,suppressHeaderKeyboardEvent:void 0,colSpan:void 0,rowSpan:void 0,spanRows:void 0,getQuickFilterText:void 0,onCellValueChanged:void 0,onCellClicked:void 0,onCellDoubleClicked:void 0,onCellContextMenu:void 0,rowDragText:void 0,tooltipValueGetter:void 0,tooltipComponentSelector:void 0,cellRendererSelector:void 0,cellEditorSelector:void 0,suppressSpanHeaderHeight:void 0,useValueFormatterForExport:void 0,useValueParserForImport:void 0,mainMenuItems:void 0,contextMenuItems:void 0,suppressFloatingFilterButton:void 0,suppressHeaderFilterButton:void 0,suppressHeaderContextMenu:void 0,loadingCellRenderer:void 0,loadingCellRendererParams:void 0,loadingCellRendererSelector:void 0,context:void 0,dateComponent:void 0,dateComponentParams:void 0,getFindText:void 0,rowGroupingHierarchy:void 0,groupHierarchy:void 0,allowFormula:void 0},_c=["overlayLoadingTemplate","overlayNoRowsTemplate","gridId","quickFilterText","rowModelType","editType","domLayout","clipboardDelimiter","rowGroupPanelShow","multiSortKey","pivotColumnGroupTotals","pivotRowTotals","pivotPanelShow","fillHandleDirection","groupDisplayType","treeDataDisplayType","treeDataChildrenField","treeDataParentIdField","colResizeDefault","tooltipTrigger","serverSidePivotResultFieldSeparator","columnMenu","tooltipShowMode","invalidEditValueMode","grandTotalRow","themeCssLayer","findSearchValue","styleNonce","renderingMode"],qc=["components","rowStyle","context","autoGroupColumnDef","localeText","icons","datasource","dragAndDropImageComponentParams","serverSideDatasource","viewportDatasource","groupRowRendererParams","aggFuncs","fullWidthCellRendererParams","defaultColGroupDef","defaultColDef","defaultCsvExportParams","defaultExcelExportParams","columnTypes","rowClassRules","detailCellRendererParams","loadingCellRendererParams","overlayComponentParams","loadingOverlayComponentParams","noRowsOverlayComponentParams","activeOverlayParams","popupParent","themeStyleContainer","statusBar","chartThemeOverrides","customChartThemes","chartToolPanelsDef","dataTypeDefinitions","advancedFilterParent","advancedFilterBuilderParams","advancedFilterParams","formulaDataSource","formulaFuncs","initialState","autoSizeStrategy","selectionColumnDef","findOptions","filterHandlers","groupHierarchyConfig"],Yc=["sortingOrder","alignedGrids","rowData","columnDefs","excelStyles","pinnedTopRowData","pinnedBottomRowData","chartThemes","rowClass","paginationPageSizeSelector","suppressOverlays"],Zc=["rowHeight","detailRowHeight","rowBuffer","headerHeight","groupHeaderHeight","groupLockGroupColumns","floatingFiltersHeight","pivotHeaderHeight","pivotGroupHeaderHeight","groupDefaultExpanded","pivotDefaultExpanded","viewportRowModelPageSize","viewportRowModelBufferSize","autoSizePadding","maxBlocksInCache","maxConcurrentDatasourceRequests","tooltipShowDelay","tooltipSwitchShowDelay","tooltipHideDelay","cacheOverflowSize","paginationPageSize","cacheBlockSize","infiniteInitialRowCount","serverSideInitialRowCount","scrollbarWidth","asyncTransactionWaitMillis","blockLoadDebounceMillis","keepDetailRowsCount","undoRedoCellEditingLimit","cellFlashDuration","cellFadeDuration","tabIndex","pivotMaxGeneratedColumns","rowDragInsertDelay"],Qc=["theme","rowSelection"],Xc=["cellSelection","sideBar","rowNumbers","suppressGroupChangesColumnVisibility","groupAggFiltering","suppressStickyTotalRow","groupHideParentOfSingleChild","enableRowPinning"],Jc=["loadThemeGoogleFonts","suppressMakeColumnVisibleAfterUnGroup","suppressRowClickSelection","suppressCellFocus","suppressHeaderFocus","suppressHorizontalScroll","groupSelectsChildren","alwaysShowHorizontalScroll","alwaysShowVerticalScroll","debug","enableBrowserTooltips","enableCellExpressions","groupSuppressBlankHeader","suppressMenuHide","suppressRowDeselection","unSortIcon","suppressMultiSort","alwaysMultiSort","singleClickEdit","suppressLoadingOverlay","suppressNoRowsOverlay","suppressAutoSize","skipHeaderOnAutoSize","suppressColumnMoveAnimation","suppressMoveWhenColumnDragging","suppressMovableColumns","suppressFieldDotNotation","enableRangeSelection","enableRangeHandle","enableFillHandle","suppressClearOnFillReduction","deltaSort","suppressTouch","allowContextMenuWithControlKey","suppressContextMenu","suppressDragLeaveHidesColumns","suppressRowGroupHidesColumns","suppressMiddleClickScrolls","suppressPreventDefaultOnMouseWheel","suppressCopyRowsToClipboard","copyHeadersToClipboard","copyGroupHeadersToClipboard","pivotMode","suppressAggFuncInHeader","suppressColumnVirtualisation","alwaysAggregateAtRootLevel","suppressFocusAfterRefresh","functionsReadOnly","animateRows","groupSelectsFiltered","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","enableRtl","enableCellSpan","suppressClickEdit","rowDragEntireRow","rowDragManaged","refreshAfterGroupEdit","suppressRowDrag","suppressMoveWhenRowDragging","rowDragMultiRow","enableGroupEdit","embedFullWidthRows","suppressPaginationPanel","groupHideOpenParents","groupHideColumnsUntilExpanded","groupAllowUnbalanced","pagination","paginationAutoPageSize","suppressScrollOnNewData","suppressScrollWhenPopupsAreOpen","purgeClosedRowNodes","cacheQuickFilter","includeHiddenColumnsInQuickFilter","ensureDomOrder","accentedSort","suppressChangeDetection","valueCache","valueCacheNeverExpires","aggregateOnlyChangedColumns","suppressAnimationFrame","suppressExcelExport","suppressCsvExport","includeHiddenColumnsInAdvancedFilter","suppressMultiRangeSelection","enterNavigatesVerticallyAfterEdit","enterNavigatesVertically","suppressPropertyNamesCheck","rowMultiSelectWithClick","suppressRowHoverHighlight","suppressRowTransform","suppressClipboardPaste","suppressLastEmptyLineOnPaste","enableCharts","suppressMaintainUnsortedOrder","enableCellTextSelection","suppressBrowserResizeObserver","suppressMaxRenderedRowRestriction","excludeChildrenWhenTreeDataFiltering","tooltipMouseTrack","tooltipInteraction","keepDetailRows","paginateChildRows","preventDefaultOnContextMenu","undoRedoCellEditing","allowDragFromColumnsToolPanel","pivotSuppressAutoColumn","suppressExpandablePivotGroups","debounceVerticalScrollbar","detailRowAutoHeight","serverSideSortAllLevels","serverSideEnableClientSideSort","serverSideOnlyRefreshFilteredGroups","suppressAggFilteredOnly","showOpenedGroup","suppressClipboardApi","suppressModelUpdateAfterUpdateTransaction","stopEditingWhenCellsLoseFocus","groupMaintainOrder","columnHoverHighlight","readOnlyEdit","suppressRowVirtualisation","enableCellEditingOnBackspace","resetRowDataOnUpdate","removePivotHeaderRowWhenSingleValueColumn","suppressCopySingleCellRanges","suppressGroupRowsSticky","suppressCutToClipboard","rowGroupPanelSuppressSort","allowShowChangeAfterFilter","enableAdvancedFilter","masterDetail","treeData","reactiveCustomComponents","applyQuickFilterBeforePivotOrAgg","suppressServerSideFullWidthLoadingRow","suppressAdvancedFilterEval","loading","maintainColumnOrder","enableStrictPivotColumnOrder","suppressSetFilterByDefault","enableFilterHandlers","suppressStartEditOnTab","hidePaddedHeaderRows","ssrmExpandAllAffectsAllRows","animateColumnResizing"],eh=["doesExternalFilterPass","processPivotResultColDef","processPivotResultColGroupDef","getBusinessKeyForNode","isRowSelectable","rowDragText","groupRowRenderer","dragAndDropImageComponent","fullWidthCellRenderer","loadingCellRenderer","overlayComponent","loadingOverlayComponent","noRowsOverlayComponent","overlayComponentSelector","activeOverlay","detailCellRenderer","quickFilterParser","quickFilterMatcher","getLocaleText","isExternalFilterPresent","getRowHeight","getRowClass","getRowStyle","getFullRowEditValidationErrors","getContextMenuItems","getMainMenuItems","processRowPostCreate","processCellForClipboard","getGroupRowAgg","isFullWidthRow","sendToClipboard","focusGridInnerElement","navigateToNextHeader","tabToNextHeader","navigateToNextCell","tabToNextCell","tabToNextGridContainer","processCellFromClipboard","getDocument","postProcessPopup","getChildCount","getDataPath","isRowMaster","postSortRows","processHeaderForClipboard","processUnpinnedColumns","processGroupHeaderForClipboard","paginationNumberFormatter","processDataFromClipboard","getServerSideGroupKey","isServerSideGroup","createChartContainer","getChartToolbarItems","fillOperation","isApplyServerSideTransaction","getServerSideGroupLevelParams","isServerSideGroupOpenByDefault","isGroupOpenByDefault","initialGroupOrderComparator","loadingCellRendererSelector","getRowId","chartMenuItems","groupTotalRow","alwaysPassFilter","isRowPinnable","isRowPinned","isRowValidDropPosition"];function th(e,t,o){return"number"==typeof t||null==t?null==t||t>=o?null:`${e}: value should be greater than or equal to ${o}`:`${e}: value should be a number`}var oh={alignedGrids:"AlignedGrids",allowContextMenuWithControlKey:"ContextMenu",autoSizeStrategy:"ColumnAutoSize",cellSelection:"CellSelection",columnHoverHighlight:"ColumnHover",datasource:"InfiniteRowModel",doesExternalFilterPass:"ExternalFilter",editType:"EditCore",invalidEditValueMode:"EditCore",enableAdvancedFilter:"AdvancedFilter",enableCellSpan:"CellSpan",enableCharts:"IntegratedCharts",enableRangeSelection:"CellSelection",enableRowPinning:"PinnedRow",findSearchValue:"Find",getFullRowEditValidationErrors:"EditCore",getContextMenuItems:"ContextMenu",getLocaleText:"Locale",getMainMenuItems:"ColumnMenu",getRowClass:"RowStyle",getRowStyle:"RowStyle",groupTotalRow:"SharedRowGrouping",grandTotalRow:"ClientSideRowModelHierarchy",initialState:"GridState",isExternalFilterPresent:"ExternalFilter",isRowPinnable:"PinnedRow",isRowPinned:"PinnedRow",localeText:"Locale",masterDetail:"SharedMasterDetail",pagination:"Pagination",pinnedBottomRowData:"PinnedRow",pinnedTopRowData:"PinnedRow",pivotMode:"SharedPivot",pivotPanelShow:"RowGroupingPanel",quickFilterText:"QuickFilter",rowClass:"RowStyle",rowClassRules:"RowStyle",rowData:"ClientSideRowModel",rowDragManaged:"RowDrag",refreshAfterGroupEdit:["RowGrouping","TreeData"],rowGroupPanelShow:"RowGroupingPanel",rowNumbers:"RowNumbers",rowSelection:"SharedRowSelection",rowStyle:"RowStyle",serverSideDatasource:"ServerSideRowModel",sideBar:"SideBar",statusBar:"StatusBar",treeData:"SharedTreeData",undoRedoCellEditing:"UndoRedoEdit",valueCache:"ValueCache",viewportDatasource:"ViewportRowModel"},sh=()=>{const e={autoSizePadding:{validate:({autoSizePadding:e})=>th("autoSizePadding",e,0)},cacheBlockSize:{supportedRowModels:["serverSide","infinite"],validate:({cacheBlockSize:e})=>th("cacheBlockSize",e,1)},cacheOverflowSize:{validate:({cacheOverflowSize:e})=>th("cacheOverflowSize",e,1)},datasource:{supportedRowModels:["infinite"]},domLayout:{validate:e=>{const t=e.domLayout,o=["autoHeight","normal","print"];return t&&!o.includes(t)?`domLayout must be one of [${o.join()}], currently it's ${t}`:null}},enableFillHandle:{dependencies:{enableRangeSelection:{required:[!0]}}},enableRangeHandle:{dependencies:{enableRangeSelection:{required:[!0]}}},enableCellSpan:{supportedRowModels:["clientSide","serverSide"]},enableRangeSelection:{dependencies:{rowDragEntireRow:{required:[!1,void 0]}}},enableRowPinning:{supportedRowModels:["clientSide"],validate:({enableRowPinning:e,pinnedTopRowData:t,pinnedBottomRowData:o})=>e&&(t||o)?"Manual row pinning cannot be used together with pinned row data. Either set `enableRowPinning` to `false`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.":null},isRowPinnable:{supportedRowModels:["clientSide"],validate:({enableRowPinning:e,isRowPinnable:t,pinnedTopRowData:o,pinnedBottomRowData:s})=>t&&(o||s)?"Manual row pinning cannot be used together with pinned row data. Either remove `isRowPinnable`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.":!e&&t?"`isRowPinnable` requires `enableRowPinning` to be set.":null},isRowPinned:{supportedRowModels:["clientSide"],validate:({enableRowPinning:e,isRowPinned:t,pinnedTopRowData:o,pinnedBottomRowData:s})=>t&&(o||s)?"Manual row pinning cannot be used together with pinned row data. Either remove `isRowPinned`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.":!e&&t?"`isRowPinned` requires `enableRowPinning` to be set.":null},groupDefaultExpanded:{supportedRowModels:["clientSide"]},groupHideColumnsUntilExpanded:{supportedRowModels:["clientSide"],validate:({groupHideColumnsUntilExpanded:e,groupHideOpenParents:t,groupDisplayType:o})=>e&&!t&&"multipleColumns"!==o?"`groupHideColumnsUntilExpanded = true` requires either `groupDisplayType = 'multipleColumns'` or `groupHideOpenParents = true`":null},groupHideOpenParents:{supportedRowModels:["clientSide","serverSide"],dependencies:{groupTotalRow:{required:[void 0,"bottom"]},treeData:{required:[void 0,!1],reason:"Tree Data has values at the group level so it doesn't make sense to hide them."}}},groupHideParentOfSingleChild:{dependencies:{groupHideOpenParents:{required:[void 0,!1]}}},groupRemoveLowestSingleChildren:{dependencies:{groupHideOpenParents:{required:[void 0,!1]},groupRemoveSingleChildren:{required:[void 0,!1]}}},groupRemoveSingleChildren:{dependencies:{groupHideOpenParents:{required:[void 0,!1]},groupRemoveLowestSingleChildren:{required:[void 0,!1]}}},groupSelectsChildren:{dependencies:{rowSelection:{required:["multiple"]}}},groupHierarchyConfig:{validate({groupHierarchyConfig:e={}},t,o){for(const s of Object.keys(e))o.validation?.validateColDef(e[s]);return null}},icons:{validate:({icons:e})=>{if(e){if(e.smallDown)return Et(262);if(e.smallLeft)return Et(263);if(e.smallRight)return Et(264)}return null}},infiniteInitialRowCount:{validate:({infiniteInitialRowCount:e})=>th("infiniteInitialRowCount",e,1)},initialGroupOrderComparator:{supportedRowModels:["clientSide"]},ssrmExpandAllAffectsAllRows:{validate:e=>{if("boolean"==typeof e.ssrmExpandAllAffectsAllRows){if("serverSide"!==e.rowModelType)return"'ssrmExpandAllAffectsAllRows' is only supported with the Server Side Row Model.";if(e.ssrmExpandAllAffectsAllRows&&"function"!=typeof e.getRowId)return"'getRowId' callback must be provided for Server Side Row Model grouping to work correctly."}return null}},keepDetailRowsCount:{validate:({keepDetailRowsCount:e})=>th("keepDetailRowsCount",e,1)},paginationPageSize:{validate:({paginationPageSize:e})=>th("paginationPageSize",e,1)},paginationPageSizeSelector:{validate:e=>{const t=e.paginationPageSizeSelector;return"boolean"==typeof t||null==t||t.length?null:"'paginationPageSizeSelector' cannot be an empty array.\n If you want to hide the page size selector, set paginationPageSizeSelector to false."}},pivotMode:{dependencies:{treeData:{required:[!1,void 0],reason:"Pivot Mode is not supported with Tree Data."}}},quickFilterText:{supportedRowModels:["clientSide"]},rowBuffer:{validate:({rowBuffer:e})=>th("rowBuffer",e,0)},rowClass:{validate:e=>"function"==typeof e.rowClass?"rowClass should not be a function, please use getRowClass instead":null},rowData:{supportedRowModels:["clientSide"]},rowDragManaged:{supportedRowModels:["clientSide"],dependencies:{pagination:{required:[!1,void 0]}}},rowSelection:{validate:({rowSelection:e})=>e&&"string"==typeof e?'As of version 32.2.1, using `rowSelection` with the values "single" or "multiple" has been deprecated. Use the object value instead.':e&&"object"!=typeof e?"Expected `RowSelectionOptions` object for the `rowSelection` property.":e&&"multiRow"!==e.mode&&"singleRow"!==e.mode?`Selection mode "${e.mode}" is invalid. Use one of 'singleRow' or 'multiRow'.`:null},rowStyle:{validate:e=>{const t=e.rowStyle;return t&&"function"==typeof t?"rowStyle should be an object of key/value styles, not be a function, use getRowStyle() instead":null}},serverSideDatasource:{supportedRowModels:["serverSide"]},serverSideInitialRowCount:{supportedRowModels:["serverSide"],validate:({serverSideInitialRowCount:e})=>th("serverSideInitialRowCount",e,1)},serverSideOnlyRefreshFilteredGroups:{supportedRowModels:["serverSide"]},serverSideSortAllLevels:{supportedRowModels:["serverSide"]},sortingOrder:{validate:e=>{const t=e.sortingOrder;if(Array.isArray(t)&&t.length>0){const e=t.filter(e=>!Do(e));if(e.length>0)return`sortingOrder must be an array of type (SortDirection | SortDef)[], incorrect items are: ${e.map(e=>"string"==typeof e||null==e?St(e):JSON.stringify(e))}]`}else if(!Array.isArray(t)||!t.length)return`sortingOrder must be an array with at least one element, currently it's ${t}`;return null}},tooltipHideDelay:{validate:e=>e.tooltipHideDelay&&e.tooltipHideDelay<0?"tooltipHideDelay should not be lower than 0":null},tooltipShowDelay:{validate:e=>e.tooltipShowDelay&&e.tooltipShowDelay<0?"tooltipShowDelay should not be lower than 0":null},tooltipSwitchShowDelay:{validate:e=>e.tooltipSwitchShowDelay&&e.tooltipSwitchShowDelay<0?"tooltipSwitchShowDelay should not be lower than 0":null},treeData:{supportedRowModels:["clientSide","serverSide"],validate:e=>{const t=e.rowModelType??"clientSide";switch(t){case"clientSide":{const{treeDataChildrenField:t,treeDataParentIdField:o,getDataPath:s,getRowId:i}=e;if(!t&&!o&&!s)return"treeData requires either 'treeDataChildrenField' or 'treeDataParentIdField' or 'getDataPath' in the clientSide row model.";if(t){if(s)return"Cannot use both 'treeDataChildrenField' and 'getDataPath' at the same time.";if(o)return"Cannot use both 'treeDataChildrenField' and 'treeDataParentIdField' at the same time."}if(o){if(!i)return"getRowId callback not provided, tree data with parent id cannot be built.";if(s)return"Cannot use both 'treeDataParentIdField' and 'getDataPath' at the same time."}return null}case"serverSide":{const o=`treeData requires 'isServerSideGroup' and 'getServerSideGroupKey' in the ${t} row model.`;return e.isServerSideGroup&&e.getServerSideGroupKey?null:o}}return null}},viewportDatasource:{supportedRowModels:["viewport"]},viewportRowModelBufferSize:{validate:({viewportRowModelBufferSize:e})=>th("viewportRowModelBufferSize",e,0)},viewportRowModelPageSize:{validate:({viewportRowModelPageSize:e})=>th("viewportRowModelPageSize",e,1)},rowDragEntireRow:{dependencies:{cellSelection:{required:[void 0]}}},autoGroupColumnDef:{validate:({autoGroupColumnDef:e,showOpenedGroup:t})=>e?.field&&t?"autoGroupColumnDef.field and showOpenedGroup are not supported when used together.":e?.valueGetter&&t?"autoGroupColumnDef.valueGetter and showOpenedGroup are not supported when used together.":null},renderingMode:{validate:e=>{const t=e.renderingMode,o=["default","legacy"];return t&&!o.includes(t)?`renderingMode must be one of [${o.join()}], currently it's ${t}`:null}},autoSizeStrategy:{validate:({autoSizeStrategy:e})=>{if(!e)return null;const t=e.type;return"fitCellContents"!==t&&"fitGridWidth"!==t&&"fitProvidedWidth"!==t?`Invalid Auto-size strategy. \`autoSizeStrategy\` must be one of ${["fitCellContents","fitGridWidth","fitProvidedWidth"].map(e=>'"'+e+'"').join(", ")}, currently it's ${t}`:"fitProvidedWidth"===t&&"number"!=typeof e.width?`When using the 'fitProvidedWidth' auto-size strategy, must provide a numeric \`width\`. You provided ${e.width}`:null}}},t={};for(const o of Jc)t[o]={expectedType:"boolean"};for(const o of Zc)t[o]={expectedType:"number"};return Ye(t,e),t},ih=0,nh=0,rh="__ag_grid_instance",lh=class extends Oe{constructor(e,t){super(),this.column=e,this.eGui=t,this.lastMovingChanged=0}postConstruct(){this.addManagedElementListeners(this.eGui,{click:e=>e&&this.onClick(e)}),this.addManagedListeners(this.column,{movingChanged:()=>{this.lastMovingChanged=Date.now()}})}onClick(e){const{sortSvc:t,rangeSvc:o,gos:s}=this.beans;if(no(s)&&!e.altKey)o?.handleColumnSelection(this.column,e);else if(this.column.isSortable()){const o=this.column.isMoving(),s=Date.now()-this.lastMovingChanged<50;o||s||t?.progressSortFromEvent(this.column,e)}}},ah=class extends Oe{constructor(e,t){super(),this.eLabel=e,this.columnGroup=t,this.isSticky=!1,this.left=null,this.right=null}postConstruct(){const{columnGroup:e,beans:t}=this,{ctrlsSvc:o}=t;o.whenReady(this,()=>{const t=this.refreshPosition.bind(this);null==e.getPinned()&&this.addManagedEventListeners({bodyScroll:e=>{"horizontal"===e.direction&&this.updateSticky(e.left)}}),this.addManagedListeners(e,{leftChanged:t,displayedChildrenChanged:t}),this.addManagedEventListeners({columnResized:t}),this.refreshPosition()})}refreshPosition(){const{columnGroup:e,beans:t}=this,o=e.getLeft(),s=e.getActualWidth();if(null==o||0===s)return this.left=null,this.right=null,void this.setSticky(!1);this.left=o,this.right=o+s;const i=t.colViewport.getScrollPosition();null!=i&&this.updateSticky(i)}updateSticky(e){const{beans:t,left:o,right:s}=this;if(null==o||null==s)return void this.setSticky(!1);const{gos:i,visibleCols:n}=t,r=i.get("enableRtl")?n.bodyWidth-e:e;this.setSticky(or)}setSticky(e){const{isSticky:t,eLabel:o}=this;t!==e&&(this.isSticky=e,o.classList.toggle("ag-sticky-label",e))}},dh={tag:"div",cls:"ag-header-group-cell-label",role:"presentation",children:[{tag:"span",ref:"agLabel",cls:"ag-header-group-text",role:"presentation"},{tag:"span",ref:"agOpened",cls:"ag-header-icon ag-header-expand-icon ag-header-expand-icon-expanded"},{tag:"span",ref:"agClosed",cls:"ag-header-icon ag-header-expand-icon ag-header-expand-icon-collapsed"}]},ch={moduleName:"ColumnHeaderComp",version:mt,userComponents:{agColumnHeader:class extends Pi{constructor(){super(...arguments),this.eFilter=null,this.eFilterButton=null,this.eSortIndicator=null,this.eMenu=null,this.eLabel=null,this.eText=null,this.eColRef=null,this.eSortOrder=null,this.eSortAsc=null,this.eSortDesc=null,this.eSortMixed=null,this.eSortNone=null,this.eSortAbsoluteAsc=null,this.eSortAbsoluteDesc=null,this.isLoadingInnerComponent=!1}refresh(e){const t=this.params;if(this.params=e,this.workOutTemplate(e,!!this.beans?.sortSvc)!=this.currentTemplate||this.workOutShowMenu()!=this.currentShowMenu||e.enableSorting!=this.currentSort||e.column.formulaRef!=this.currentRef||null!=this.currentSuppressMenuHide&&this.shouldSuppressMenuHide()!=this.currentSuppressMenuHide||t.enableFilterButton!=e.enableFilterButton||t.enableFilterIcon!=e.enableFilterIcon)return!1;if(this.innerHeaderComponent){const t={...e};Ye(t,e.innerHeaderComponentParams),this.innerHeaderComponent.refresh?.(t)}else this.setDisplayName(e);return!0}workOutTemplate(e,t){const{formula:o}=this.beans,s=e.template;return s?s?.trim?s.trim():s:function(e,t){const o={"aria-hidden":"true"};return{tag:"div",cls:"ag-cell-label-container",role:"presentation",children:[{tag:"span",ref:"eMenu",cls:"ag-header-icon ag-header-cell-menu-button",attrs:o},{tag:"span",ref:"eFilterButton",cls:"ag-header-icon ag-header-cell-filter-button",attrs:o},{tag:"div",ref:"eLabel",cls:"ag-header-cell-label",role:"presentation",children:[e?{tag:"span",ref:"eColRef",cls:"ag-header-col-ref"}:null,{tag:"span",ref:"eText",cls:"ag-header-cell-text"},{tag:"span",ref:"eFilter",cls:"ag-header-icon ag-header-label-icon ag-filter-icon",attrs:o},t?{tag:"ag-sort-indicator",ref:"eSortIndicator"}:null]}]}}(!!o?.active,t)}init(e){this.params=e;const{sortSvc:t,touchSvc:o,rowNumbersSvc:s,userCompFactory:i}=this.beans,n=t?.getSortIndicatorSelector();this.currentTemplate=this.workOutTemplate(e,!!n),this.setTemplate(this.currentTemplate,n?[n]:void 0),this.eLabel&&(this.mouseListener??(this.mouseListener=this.createManagedBean(new lh(e.column,this.eLabel)))),o?.setupForHeader(this),this.setMenu(),this.setupSort(),this.setupColumnRefIndicator(),s?.setupForHeader(this),this.setupFilterIcon(),this.setupFilterButton(),this.workOutInnerHeaderComponent(i,e),this.setDisplayName(e)}workOutInnerHeaderComponent(e,t){const o=function(e,t,o){return e.getCompDetails(t,Ws,void 0,o)}(e,t,t);o&&(this.isLoadingInnerComponent=!0,o.newAgStackInstance().then(e=>{this.isLoadingInnerComponent=!1,e&&(this.isAlive()?(this.innerHeaderComponent=e,this.eText&&this.eText.appendChild(e.getGui())):this.destroyBean(e))}))}setDisplayName(e){const{displayName:t}=e,o=this.currentDisplayName;this.currentDisplayName=t,!this.eText||o===t||this.innerHeaderComponent||this.isLoadingInnerComponent||(this.eText.textContent=m(t))}addInIcon(e,t,o){const s=Ol(e,this.beans,o);s&&t.appendChild(s)}workOutShowMenu(){return this.params.enableMenu&&!!this.beans.menuSvc?.isHeaderMenuButtonEnabled()}shouldSuppressMenuHide(){return!!this.beans.menuSvc?.isHeaderMenuButtonAlwaysShowEnabled()}setMenu(){if(!this.eMenu)return;if(this.currentShowMenu=this.workOutShowMenu(),!this.currentShowMenu)return ie(this.eMenu),void(this.eMenu=void 0);const{gos:e,eMenu:t,params:o}=this,s=mo(e);this.addInIcon(s?"menu":"menuAlt",t,o.column),t.classList.toggle("ag-header-menu-icon",!s);const i=this.shouldSuppressMenuHide();this.currentSuppressMenuHide=i,this.addManagedElementListeners(t,{click:()=>this.showColumnMenu(this.eMenu)}),this.toggleMenuAlwaysShow(i)}toggleMenuAlwaysShow(e){this.eMenu?.classList.toggle("ag-header-menu-always-show",e)}showColumnMenu(e){const{currentSuppressMenuHide:t,params:o}=this;t||this.toggleMenuAlwaysShow(!0),o.showColumnMenu(e,()=>{t||this.toggleMenuAlwaysShow(!1)})}onMenuKeyboardShortcut(e){const{params:t,gos:o,beans:s,eMenu:i,eFilterButton:n}=this,r=t.column,l=mo(o);if(e&&!l){if(s.menuSvc?.isFilterMenuInHeaderEnabled(r))return t.showFilter(n??i??this.getGui()),!0}else if(t.enableMenu)return this.showColumnMenu(i??n??this.getGui()),!0;return!1}setupSort(){const{sortSvc:e}=this.beans;if(!e)return;const{enableSorting:t,column:o}=this.params;if(this.currentSort=t,!this.eSortIndicator){this.eSortIndicator=this.createBean(e.createSortIndicator(!0));const{eSortIndicator:t,eSortOrder:o,eSortAsc:s,eSortDesc:i,eSortMixed:n,eSortNone:r,eSortAbsoluteAsc:l,eSortAbsoluteDesc:a}=this;t.attachCustomElements(o,s,i,n,r,l,a)}this.eSortIndicator.setupSort(o),this.currentSort&&e.setupHeader(this,o)}setupColumnRefIndicator(){const{eColRef:e,beans:{editModelSvc:t},params:o}=this;e&&(this.currentRef=o.column.formulaRef,e.textContent=this.currentRef,K(e,!1),this.addManagedEventListeners({cellEditingStarted:()=>{const o=t?.getEditPositions();K(e,!!this.currentRef&&!!o?.some(e=>e.column.isAllowFormula()))},cellEditingStopped:()=>{K(e,!1)}}))}setupFilterIcon(){const{eFilter:e,params:t}=this;e&&this.configureFilter(t.enableFilterIcon,e,()=>{K(e,t.column.isFilterActive(),{skipAriaHidden:!0})},"filterActive")}setupFilterButton(){const{eFilterButton:e,params:t}=this;e&&(this.configureFilter(t.enableFilterButton,e,this.onFilterChangedButton.bind(this),"filter")?this.addManagedElementListeners(e,{click:()=>t.showFilter(e)}):this.eFilterButton=void 0)}configureFilter(e,t,o,s){if(!e)return ie(t),!1;const i=this.params.column;return this.addInIcon(s,t,i),this.addManagedListeners(i,{filterChanged:o}),o(),!0}onFilterChangedButton(){const e=this.params.column.isFilterActive();this.eFilterButton.classList.toggle("ag-filter-active",e)}getAnchorElementForMenu(e){const{eFilterButton:t,eMenu:o}=this;return e?t??o??this.getGui():o??t??this.getGui()}destroy(){super.destroy(),this.innerHeaderComponent=this.destroyBean(this.innerHeaderComponent),this.mouseListener=this.destroyBean(this.mouseListener)}}},icons:{menu:"menu",menuAlt:"menu-alt"}},hh={moduleName:"ColumnGroupHeaderComp",version:mt,userComponents:{agColumnGroupHeader:class extends Pi{constructor(){super(dh),this.agOpened=null,this.agClosed=null,this.agLabel=null,this.isLoadingInnerComponent=!1}init(e){const{userCompFactory:t,touchSvc:o}=this.beans;this.params=e,this.checkWarnings(),this.workOutInnerHeaderGroupComponent(t,e),this.setupLabel(e),this.addGroupExpandIcon(e),this.setupExpandIcons(),o?.setupForHeaderGroup(this)}checkWarnings(){this.params.template&&Dt(89)}workOutInnerHeaderGroupComponent(e,t){const o=function(e,t,o){return e.getCompDetails(t,Us,void 0,o)}(e,t,t);o&&(this.isLoadingInnerComponent=!0,o.newAgStackInstance().then(e=>{this.isLoadingInnerComponent=!1,e&&(this.isAlive()?(this.innerHeaderGroupComponent=e,this.agLabel.appendChild(e.getGui())):this.destroyBean(e))}))}setupExpandIcons(){const{agOpened:e,agClosed:t,params:{columnGroup:o},beans:{colGroupSvc:s}}=this;this.addInIcon("columnGroupOpened",e),this.addInIcon("columnGroupClosed",t);const i=e=>{if(Yi(e))return;const t=!o.isExpanded();s.setColumnGroupOpened(o.getProvidedColumnGroup(),t,"uiColumnExpanded")};this.addTouchAndClickListeners(t,i),this.addTouchAndClickListeners(e,i);const n=e=>{qi(e)};this.addManagedElementListeners(t,{dblclick:n}),this.addManagedElementListeners(e,{dblclick:n}),this.addManagedElementListeners(this.getGui(),{dblclick:i}),this.updateIconVisibility();const r=o.getProvidedColumnGroup(),l=this.updateIconVisibility.bind(this);this.addManagedListeners(r,{expandedChanged:l,expandableChanged:l})}addTouchAndClickListeners(e,t){this.beans.touchSvc?.setupForHeaderGroupElement(this,e,t),this.addManagedElementListeners(e,{click:t})}updateIconVisibility(){const{agOpened:e,agClosed:t,params:{columnGroup:o}}=this;if(o.isExpandable()){const s=o.isExpanded();K(e,s),K(t,!s)}else K(e,!1),K(t,!1)}addInIcon(e,t){const o=Ol(e,this.beans,null);o&&t.appendChild(o)}addGroupExpandIcon(e){if(!e.columnGroup.isExpandable()){const{agOpened:e,agClosed:t}=this;K(e,!1),K(t,!1)}}setupLabel(e){const{displayName:t,columnGroup:o}=e,{innerHeaderGroupComponent:s,isLoadingInnerComponent:i}=this,n=s||i;l(t)&&!n&&(this.agLabel.textContent=m(t)),o.getColGroupDef()?.suppressStickyLabel||this.createManagedBean(new ah(this.getGui(),o))}destroy(){super.destroy(),this.innerHeaderGroupComponent&&(this.destroyBean(this.innerHeaderGroupComponent),this.innerHeaderGroupComponent=void 0)}}},icons:{columnGroupOpened:"expanded",columnGroupClosed:"contracted"}},uh={moduleName:"AnimationFrame",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="animationFrameSvc",this.p1={list:[],sorted:!1},this.p2={list:[],sorted:!1},this.f1={list:[],sorted:!1},this.destroyTasks=[],this.ticking=!1,this.scrollGoingDown=!0,this.lastScrollTop=0,this.taskCount=0}setScrollTop(e){this.scrollGoingDown=e>=this.lastScrollTop,0===e&&(this.scrollGoingDown=!0),this.lastScrollTop=e}postConstruct(){this.active=!this.gos.get("suppressAnimationFrame"),this.batchFrameworkComps=this.beans.frameworkOverrides.batchFrameworkComps}verify(){!1===this.active&&Dt(92)}createTask(e,t,o,s,i=!1){this.verify();let n=o;s&&this.batchFrameworkComps&&(n="f1");const r={task:e,index:t,createOrder:++this.taskCount,deferred:i};this.addTaskToList(this[n],r),this.schedule()}addTaskToList(e,t){e.list.push(t),e.sorted=!1}sortTaskList(e){if(e.sorted)return;const t=this.scrollGoingDown?1:-1;e.list.sort((e,o)=>e.deferred!==o.deferred?e.deferred?-1:1:e.index!==o.index?t*(o.index-e.index):o.createOrder-e.createOrder),e.sorted=!0}addDestroyTask(e){this.verify(),this.destroyTasks.push(e),this.schedule()}executeFrame(e){const{p1:t,p2:o,f1:s,destroyTasks:i,beans:n}=this,{ctrlsSvc:r,frameworkOverrides:l}=n,a=t.list,d=o.list,c=s.list,h=Date.now();let u=0;const g=e<=0,p=r.getScrollFeature();for(;g||u{for(;(g||u{};else{if(!i.length)break;n=i.pop()}n()}u=Date.now()-h}a.length||d.length||c.length||i.length?this.requestFrame():this.ticking=!1}flushAllFrames(){this.active&&this.executeFrame(-1)}schedule(){this.active&&(this.ticking||(this.ticking=!0,this.requestFrame()))}requestFrame(){const e=this.executeFrame.bind(this,60);be(this.beans,e)}isQueueEmpty(){return!this.ticking}}]},gh={moduleName:"Touch",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="touchSvc"}mockBodyContextMenu(e,t){this.mockContextMenu(e,e.eBodyViewport,t)}mockHeaderContextMenu(e,t){this.mockContextMenu(e,e.eGui,t)}mockRowContextMenu(e){Ai()&&this.mockContextMenu(e,e.element,(t,o,s)=>{const{rowCtrl:i,cellCtrl:n}=e.getControlsForEventTarget(s?.target??null);n?.column&&n.dispatchCellContextMenuEvent(s??null),this.beans.contextMenuSvc?.handleContextMenuMouseEvent(void 0,s,i,n)})}handleCellDoubleClick(e,t){return!!(()=>{if(!Ai()||Pe("dblclick"))return!1;const t=Date.now(),o=t-e.lastIPadMouseClickEvent<200;return e.lastIPadMouseClickEvent=t,o})()&&(e.onCellDoubleClicked(t),t.preventDefault(),!0)}setupForHeader(e){const{gos:t,sortSvc:o,menuSvc:s}=this.beans;if(t.get("suppressTouch"))return;const{params:i,eMenu:n,eFilterButton:r}=e,a=new hn(e.getGui(),!0);e.addDestroyFunc(()=>a.destroy());const d=e.shouldSuppressMenuHide(),c=d&&l(n)&&i.enableMenu,h=!!s?.isHeaderContextMenuEnabled(i.column),u=((e,t,o)=>t||e&&o)(i.enableMenu,h,mo(t));let g=a;c&&(g=new hn(n,!0),e.addDestroyFunc(()=>g.destroy()));const p=e=>i.showColumnMenuAfterMouseClick(e.touchStart);if(c&&i.enableMenu&&e.addManagedListeners(g,{tap:p}),u&&e.addManagedListeners(a,{longTap:p}),i.enableSorting){const t=e=>{const t=e.touchStart.target;d&&(n?.contains(t)||r?.contains(t))||o?.progressSort(i.column,!1,"uiColumnSorted")};e.addManagedListeners(a,{tap:t})}if(i.enableFilterButton&&r){const t=new hn(r,!0);e.addManagedListeners(t,{tap:()=>i.showFilter(r)}),e.addDestroyFunc(()=>t.destroy())}}setupForHeaderGroup(e){const t=e.params;if(this.beans.menuSvc?.isHeaderContextMenuEnabled(t.columnGroup.getProvidedColumnGroup())){const o=new hn(t.eGridHeader,!0),s=e=>t.showColumnMenuAfterMouseClick(e.touchStart);e.addManagedListeners(o,{longTap:s}),e.addDestroyFunc(()=>o.destroy())}}setupForHeaderGroupElement(e,t,o){const s=new hn(t,!0);e.addManagedListeners(s,{tap:o}),e.addDestroyFunc(()=>s.destroy())}mockContextMenu(e,t,o){if(!Ai())return;const s=new hn(t);e.addManagedListeners(s,{longTap:e=>{Ae(this.beans,e.touchEvent)&&o(void 0,e.touchStart,e.touchEvent)}}),e.addDestroyFunc(()=>s.destroy())}}]};function ph(e){const t=e;return null!=t?.getFrameworkComponentInstance?t.getFrameworkComponentInstance():e}var mh=class{constructor(){this.cellValidations=/* @__PURE__ */new Map}getCellValidation(e){const{rowNode:t,column:o}=e||{};return this.cellValidations?.get(t)?.get(o)}hasCellValidation(e){return e?.rowNode&&e.column?!!this.getCellValidation(e):this.cellValidations.size>0}setCellValidation(e,t){const{rowNode:o,column:s}=e;this.cellValidations.has(o)||this.cellValidations.set(o,/* @__PURE__ */new Map),this.cellValidations.get(o).set(s,t)}clearCellValidation(e){const{rowNode:t,column:o}=e;this.cellValidations.get(t)?.delete(o)}setCellValidationMap(e){this.cellValidations=e}getCellValidationMap(){return this.cellValidations}clearCellValidationMap(){this.cellValidations.clear()}},fh=class{constructor(){this.rowValidations=/* @__PURE__ */new Map}getRowValidation(e){const{rowNode:t}=e||{};return this.rowValidations.get(t)}hasRowValidation(e){return e?.rowNode?!!this.getRowValidation(e):this.rowValidations.size>0}setRowValidation({rowNode:e},t){this.rowValidations.set(e,t)}clearRowValidation({rowNode:e}){this.rowValidations.delete(e)}setRowValidationMap(e){this.rowValidations=e}getRowValidationMap(){return this.rowValidations}clearRowValidationMap(){this.rowValidations.clear()}};function Ch(e,t={}){const{rowIndex:o,rowId:s,rowCtrl:i,rowPinned:n}=t;if(i)return i;const{rowModel:r,rowRenderer:l}=e;let{rowNode:a}=t;return a||(s?a=function(e,t,o){const{rowModel:s,pinnedRowModel:i}=e;let n;return n??(n=s?.getRowNode(t)),o?n??(n=i?.getPinnedRowById(t,o)):(n??(n=i?.getPinnedRowById(t,"top")),n??(n=i?.getPinnedRowById(t,"bottom"))),n}(e,s,n):null!=o&&(a=r.getRow(o))),a?l.getRowCtrlByNode(a):void 0}function vh(e,t={}){const{cellCtrl:o,colId:s,columnId:i,column:n}=t;if(o)return o;const r=e.colModel.getCol(s??i??bh(n)),l=t.rowCtrl??Ch(e,t),a=l?.getCellCtrl(r)??void 0;if(a)return a;const d=t.rowNode??l?.rowNode;return d?e.rowRenderer.getCellCtrls([d],[r])?.[0]:void 0}function wh(e){const{editSvc:t}=e;t?.isBatchEditing()?(Ph(e,{persist:!0}),Ih(e)):t?.stopEditing(void 0,{source:"api"})}function bh(e){if(e)return"string"==typeof e?e:e.getColId()}var yh=Symbol("unedited");function Sh({pendingValue:e,sourceValue:t}){return e===yh&&(e=t),e!==t}function Rh(e,t,o){const{key:s,event:i,cellStartedEdit:n,silent:r}=o??{},{editModelSvc:l,gos:a,userCompFactory:d}=e,c=vh(e,t),h=c?.comp?.getCellEditor(),u=Fh(e,t,s,n&&!r),g=l?.getEdit(t),p=u.value??g?.sourceValue;if(h)return l?.setEdit(t,{editorValue:Th(e,p,!0,t.column),state:"editing"}),void h.refresh?.(u);const m=t.column.getColDef(),f=ni(d,m,u);if(!f)return;const{popupFromSelector:C,popupPositionFromSelector:v}=f,w=C??!!m.cellEditorPopup,b=v??m.cellEditorPopupPosition;if(Mh(f.params,i),!c)return;const{rangeFeature:y,rowCtrl:S,comp:R,onEditorAttachedFuncs:x}=c;l?.setEdit(t,{editorValue:Th(e,p,!0,t.column),state:"editing",editorState:{cellStartedEditing:void 0,cellStoppedEditing:void 0}}),c.editCompDetails=f,x.push(()=>y?.unsetComp()),R?.setEditDetails(f,w,b,a.get("reactiveCustomComponents")),S?.refreshRow({suppressFlash:!0}),function(e,t,o,s,i){const{editSvc:n,editModelSvc:r}=e,l=r?.getEdit(t);i||"editing"!==l?.state||l?.editorState?.cellStartedEditing||(n?.dispatchCellEvent(t,o,"cellEditingStarted",{value:s}),r?.setEdit(t,{editorState:{cellStartedEditing:!0}}))}(e,t,i,p,r)}function xh(e,t,o){const s={editorValueExists:!1};if(Gh(e)&&((t.getValidationErrors?.())?.length??0)>0)return s;if(o?.isCancelling)return s;if(o?.isStopping){const e=t?.isCancelAfterEnd?.();if(e)return{...s,isCancelAfterEnd:e}}return{editorValue:t.getValue(),editorValueExists:!0}}function Fh(e,t,o,s){const{valueSvc:i,gos:n,editSvc:r}=e,l=e.gos.get("enableGroupEdit"),a=vh(e,t),d=t.rowNode?.rowIndex??void 0,c=r?.isBatchEditing(),h=e.colModel.getCol(t.column.getId()),{rowNode:u,column:g}=t,p=a.comp?.getCellEditor(),m=r?.getCellDataValue(t),f=void 0===m?p?xh(e,p)?.editorValue:void 0:m,C=f===yh?i.getValueForDisplay({column:h,node:u,from:"edit"})?.value:f;let v=l?f:C;return g.isAllowFormula()&&e.formula?.isFormula(v)&&(v=e.formula?.normaliseFormula(v,!0)??v),Co(n,{value:v,eventKey:o??null,column:g,colDef:g.getColDef(),rowIndex:d,node:u,data:u.data,cellStartedEdit:!!s,onKeyDown:a?.onKeyDown.bind(a),stopEditing:o=>{r.stopEditing(t,{source:c?"ui":"api",suppressNavigateAfterEdit:o}),Ah(e,t,{})},eGridCell:a?.eGui,parseValue:e=>i.parseValue(h,u,e,a?.value),formatValue:a?.formatValue.bind(a),validate:()=>{r?.validateEdit()}})}function Dh(e,t){const{editModelSvc:o}=e;o?.getEditMap().forEach((e,s)=>{e.forEach((e,i)=>{(t||"editing"!==e.state&&e.pendingValue!==yh)&&(Sh(e)||"editing"===e.state&&!t||o?.removeEdits({rowNode:s,column:i}))})})}function Mh(e,t){return t instanceof KeyboardEvent&&"agNumberCellEditor"===e.column.getColDef().cellEditor?e.suppressPreventDefault=["-","+",".","e"].includes(t?.key??"")||e.suppressPreventDefault:t?.preventDefault?.(),e}function Ph(e,t){for(const o of e.editModelSvc?.getEditPositions()??[]){const s=vh(e,o);if(!s)continue;const i=s.comp?.getCellEditor();if(!i)continue;const{editorValue:n,editorValueExists:r,isCancelAfterEnd:l}=xh(e,i,t);if(l){const{cellStartedEditing:t,cellStoppedEditing:s}=e.editModelSvc?.getEdit(o)?.editorState||{};e.editModelSvc?.setEdit(o,{editorState:{isCancelAfterEnd:l,cellStartedEditing:t,cellStoppedEditing:s}})}Eh(e,o,n,0,!r,t)}}function Eh(e,t,o,s,i,n){const{editModelSvc:r,valueSvc:l}=e;if(!r)return;const{rowNode:a,column:d}=t;if(!a||!d)return;let c=r.getEdit(t);if(void 0===c?.sourceValue){const o=c?Th(e,c.editorValue,!1,d):yh,s={sourceValue:l.getValue(d,a,"data"),pendingValue:o};n?.persist&&(s.state="changed"),c=r.setEdit(t,s)}r.setEdit(t,{editorValue:i?Th(e,c.sourceValue,!0,d):o}),n?.persist&&function(e,t){const{editModelSvc:o}=e,s=o?.getEdit(t),i={pendingValue:Th(e,s?.editorValue,!1,t.column)};s?.editorState?.cellStoppedEditing||"editing"===s?.state||(i.state="changed"),o?.setEdit(t,i)}(e,t)}function Th(e,t,o,s){const{formula:i}=e;return s.isAllowFormula()&&i?.isFormula(t)?i?.normaliseFormula(t,o)??t:t}function Ih(e,t,o={}){if(t||(t=e.editModelSvc?.getEditPositions()),t)for(const s of t)Ah(e,s,o)}function Ah(e,t,o,s=vh(e,t)){const i=e.editModelSvc,n=i?.getEdit(t);let r;if(r=n&&"editing"!==n.state&&n.editorState?.cellStoppedEditing?n.state:"changed",!s)return void(n&&i?.setEdit(t,{state:r}));const l=s.comp,a=l?.getCellEditor();if(l&&!a)return s?.refreshCell(),void(n&&(i?.setEdit(t,{state:r}),Lh(e,t,e.gos.get("enableGroupEdit")?kh(n,o?.cancel):{valueChanged:!1,newValue:void 0,oldValue:n.sourceValue},o)));if(Gh(e)){const e=n&&a?.getValidationErrors?.(),o=i?.getCellValidationModel();e?.length?o?.setCellValidation(t,{errorMessages:e}):o?.clearCellValidation(t)}n&&i?.setEdit(t,{state:r}),l?.setEditDetails(),l?.refreshEditStyles(!1,!1),s?.refreshCell({force:!0,suppressFlash:!0});const d=i?.getEdit(t);if(d&&"editing"!==d.state){const s=o?.cancel;Lh(e,t,e.gos.get("enableGroupEdit")?kh(d,s):function(e,t,o){if(o||e.editorState.isCancelAfterEnd)return{valueChanged:!1,newValue:void 0,oldValue:e.sourceValue};let s=e.editorValue;return null!=s&&s!==yh||(s=t?.pendingValue),s===yh&&(s=void 0),{valueChanged:Sh(e),newValue:s,oldValue:e.sourceValue}}(d,n,s),o)}}function kh(e,t){const{sourceValue:o,pendingValue:s}=e;let i;return t||s===yh||(i=s),{valueChanged:!t&&Sh(e),newValue:i,oldValue:o,value:o}}function Lh(e,t,o,{silent:s,event:i}={}){const{editSvc:n,editModelSvc:r}=e,{editorState:l}=r?.getEdit(t)||{},{isCancelBeforeStart:a,cellStartedEditing:d,cellStoppedEditing:c}=l||{};s||a||!d||c||(n?.dispatchCellEvent(t,i,"cellEditingStopped",o),r?.setEdit(t,{editorState:{cellStoppedEditing:!0}}))}function Gh(e){return!!e.gos.get("getFullRowEditValidationErrors")||function(e){if(!e)return!1;for(let t=0,o=e.length;t0,t=e?r.join(". "):"";k(l,e),e&&s.announceValue(`${a} ${r}`,"editorValidation"),l instanceof HTMLInputElement?l.setCustomValidity(t):l.classList.toggle("invalid",e)}r?.length>0&&o.setCellValidation({rowNode:i,column:n},{errorMessages:r}),d.add(c.rowCtrl)}if(Ph(e,{persist:!1}),n?.setCellValidationModel(o),l){const t=Bh(e);n?.setRowValidationModel(t)}for(const c of d.values()){c.rowEditStyleFeature?.applyRowStyles();for(const e of c.getAllCellCtrls())e.tooltipFeature?.refreshTooltip(!0),e.editorTooltipFeature?.refreshTooltip(!0),e.editStyleFeature?.applyCellStyles?.()}}var Bh=e=>{const t=new fh,o=e.gos.get("getFullRowEditValidationErrors"),s=e.editModelSvc?.getEditMap();if(!s)return t;for(const i of s.keys()){const e=s.get(i);if(!e)continue;const n=[],{rowIndex:r,rowPinned:l}=i;for(const t of e.keys()){const o=e.get(t);if(!o)continue;const{editorValue:s,pendingValue:i,sourceValue:a}=o,d=s??(i===yh?void 0:i)??a;n.push({column:t,colId:t.getColId(),rowIndex:r,rowPinned:l,oldValue:a,newValue:d})}const a=o?.({editorsState:n})??[];a.length>0&&t.setRowValidation({rowNode:i},{errorMessages:a})}return t};function Hh(e){return!(!e.rowPinned||!e.pinnedSibling)}function Oh(e,t,o,s){const i="top"===t;if(!o)return Oh(e,t,i?e.getPinnedTopRow(0):e.getPinnedBottomRow(0),s);if(!s){const s=i?e.getPinnedTopRowCount():e.getPinnedBottomRowCount();return Oh(e,t,o,i?e.getPinnedTopRow(s-1):e.getPinnedBottomRow(s-1))}let n=!1,r=!1;const l=[];return e.forEachPinnedRow(t,e=>e!==o||n?n&&e===s?(r=!0,void l.push(e)):void(n&&!r&&l.push(e)):(n=!0,void l.push(e))),l}var Vh=class extends Oe{constructor(e,t,o,s){super(),this.cellCtrl=e,this.rowNode=o,this.rowCtrl=s,this.beans=t}init(){this.eGui=this.cellCtrl.eGui}onKeyDown(e){const t=e.key;if(t!==fs||!os(this.cellCtrl.column)||!this.beans.rowNumbersSvc?.handleKeyDownOnCell(this.cellCtrl.cellPosition,e))switch(t){case fs:this.onEnterKeyDown(e);break;case xs:this.onF2KeyDown(e);break;case Cs:this.onEscapeKeyDown(e);break;case ms:this.onTabKeyDown(e);break;case ps:case Rs:this.onBackspaceOrDeleteKeyDown(t,e);break;case Ss:case bs:case ys:case ws:this.onNavigationKeyDown(e,t)}}onNavigationKeyDown(e,t){const{cellCtrl:o,beans:s}=this;if(!s.editSvc?.isEditing(o,{withOpenEditor:!0})){if(e.shiftKey&&o.isRangeSelectionEnabled())this.onShiftRangeSelect(e);else{const i=o.getFocusedCellPosition();s.navigation?.navigateToNextCell(e,t,i,!0)}e.preventDefault()}}onShiftRangeSelect(e){const{rangeSvc:t,navigation:o}=this.beans;if(!t)return;const s=t.extendLatestRangeInDirection(e);s&&(e.key===ws||e.key===ys?o?.ensureColumnVisible(s.column):o?.ensureRowVisible(s.rowIndex))}onTabKeyDown(e){this.beans.navigation?.onTabKeyDown(this.cellCtrl,e)}onBackspaceOrDeleteKeyDown(e,t){const{cellCtrl:o,beans:s,rowNode:i}=this,{gos:n,rangeSvc:r,eventSvc:l,editSvc:a}=s;if(l.dispatchEvent({type:"keyShortcutChangedCellStart"}),function(e,t=!1){return e===Rs||!t&&e===ps&&Ii()}(e,n.get("enableCellEditingOnBackspace"))&&!a?.isEditing(o,{withOpenEditor:!0})){if(r&&so(n))r.clearCellRangeCellValues({dispatchWrapperEvents:!0,wrapperEventSource:"deleteKey"});else if(o.isCellEditable()){const e=s.valueSvc.getDeleteValue(o.column,i);i.setDataValue(o.column,e,"cellClear")}}else a?.isEditing(o,{withOpenEditor:!0})||s.editSvc?.startEditing(o,{startedEdit:!0,event:t});l.dispatchEvent({type:"keyShortcutChangedCellEnd"})}onEnterKeyDown(e){const{cellCtrl:t,beans:o}=this,{editSvc:s,navigation:i}=o,n=s?.isEditing(t,{withOpenEditor:!0}),r=t.rowNode,l=s?.isRowEditing(r,{withOpenEditor:!0}),a=t=>{s?.startEditing(t,{startedEdit:!0,event:e,source:"edit"})&&e.preventDefault()};if(n||l){if(this.isCtrlEnter(e))return void s?.applyBulkEdit(t,o?.rangeSvc?.getCellRanges()||[]);if(Nh(o),"block-stop"===s?.checkNavWithValidation(void 0,e))return;s?.isEditing(t,{withOpenEditor:!0})?s?.stopEditing(t,{event:e,source:"edit"}):l&&!t.isCellEditable()?s?.stopEditing({rowNode:r},{event:e,source:"edit"}):a(t)}else if(o.gos.get("enterNavigatesVertically")){const o=e.shiftKey?bs:Ss;i?.navigateToNextCell(null,o,t.cellPosition,!1)}else{if(s?.hasValidationErrors())return;s?.hasValidationErrors(t)&&s.revertSingleCellEdit(t,!0),a(t)}}isCtrlEnter(e){return(e.ctrlKey||e.metaKey)&&e.key===fs}onF2KeyDown(e){const{cellCtrl:t,beans:{editSvc:o}}=this;o?.isEditing()&&(Nh(this.beans),"block-stop"===o?.checkNavWithValidation(void 0,e))||o?.startEditing(t,{startedEdit:!0,event:e})}onEscapeKeyDown(e){const{cellCtrl:t,beans:{editSvc:o}}=this;"block-stop"===o?.checkNavWithValidation(t,e)&&o.revertSingleCellEdit(t),setTimeout(()=>{o?.stopEditing(t,{event:e,cancel:!0})})}processCharacter(e){const t=e.target!==this.eGui,{beans:{editSvc:o},cellCtrl:s}=this;if(!t&&!o?.isEditing(s,{withOpenEditor:!0}))if(e.key===vs)this.onSpaceKeyDown(e);else if(o?.isCellEditable(s,"ui")){if(o?.hasValidationErrors()&&!o?.hasValidationErrors(s))return;o?.startEditing(s,{startedEdit:!0,event:e,source:"api",editable:!0}),s.editCompDetails?.params?.suppressPreventDefault||e.preventDefault()}}onSpaceKeyDown(e){const{gos:t,editSvc:o}=this.beans,{rowNode:s}=this.cellCtrl;!o?.isEditing(this.cellCtrl,{withOpenEditor:!0})&&Lt(t)&&this.beans.selectionSvc?.handleSelectionEvent(e,s,"spaceKey"),e.preventDefault()}},zh=class extends Oe{constructor(e,t,o){super(),this.cellCtrl=e,this.column=o,this.beans=t}onMouseEvent(e,t){if(!Yi(t))switch(e){case"click":this.onCellClicked(t);break;case"pointerdown":case"mousedown":case"touchstart":this.onMouseDown(t);break;case"dblclick":this.onCellDoubleClicked(t);break;case"mouseout":this.onMouseOut(t);break;case"mouseover":this.onMouseOver(t)}}onCellClicked(e){if(this.beans.touchSvc?.handleCellDoubleClick(this,e))return;const{eventSvc:t,rangeSvc:o,editSvc:s,editModelSvc:i,frameworkOverrides:n,gos:r}=this.beans,l=e.ctrlKey||e.metaKey,{cellCtrl:a}=this,{column:d,cellPosition:c,rowNode:h}=a,u=Hr(r,d,h,e);o&&l&&!u&&o.getCellRangeCount(c)>1&&o.intersectLastRange(!0);const g=a.createEvent(e,"cellClicked");g.isEventHandlingSuppressed=u,t.dispatchEvent(g);const p=d.getColDef();if(p.onCellClicked&&window.setTimeout(()=>{n.wrapOutgoing(()=>{p.onCellClicked(g)})},0),!u&&"editing"!==i?.getState(a)){const t=s?.isEditing(),o=s?.isRangeSelectionEnabledWhileEditing(),n=i?.getCellValidationModel().getCellValidationMap().size??0,r=i?.getRowValidationModel().getRowValidationMap().size??0;if(t&&(o||n>0||r>0))return;s?.shouldStartEditing(a,e)?s?.startEditing(a,{event:e}):s?.shouldStopEditing(a,e)&&("fullRow"===this.beans.gos.get("editType")?s?.stopEditing(a,{event:e,source:"edit"}):s?.stopEditing(void 0,{event:e,source:"edit"}))}}onCellDoubleClicked(e){const{column:t,beans:o,cellCtrl:s}=this,{eventSvc:i,frameworkOverrides:n,editSvc:r,editModelSvc:l,gos:a}=o,d=Hr(a,s.column,s.rowNode,e),c=t.getColDef(),h=s.createEvent(e,"cellDoubleClicked");if(h.isEventHandlingSuppressed=d,i.dispatchEvent(h),"function"==typeof c.onCellDoubleClicked&&window.setTimeout(()=>{n.wrapOutgoing(()=>{c.onCellDoubleClicked(h)})},0),!d&&r?.shouldStartEditing(s,e)&&"editing"!==l?.getState(s)){const t=r?.isEditing(),o=r?.isRangeSelectionEnabledWhileEditing(),i=l?.getCellValidationModel().getCellValidationMap().size??0,n=l?.getRowValidationModel().getRowValidationMap().size??0;if(t&&(o||i>0||n>0))return;r?.startEditing(s,{event:e})}}onMouseDown(e){const{shiftKey:t}=e,o=e.target,{cellCtrl:s,beans:i}=this,{eventSvc:n,rangeSvc:r,rowNumbersSvc:l,focusSvc:a,gos:d,editSvc:c}=i,{column:h,rowNode:u,cellPosition:g}=s,p=Hr(d,h,u,e),m=()=>{const t=s.createEvent(e,"cellMouseDown");t.isEventHandlingSuppressed=p,n.dispatchEvent(t)};if(p)return void m();if(this.isRightClickInExistingRange(e))return;const f=r&&!r.isEmpty(),C=this.containsWidget(o),v=os(h);if(!l||!v||l.handleMouseDownOnCell(g,e)){if(!t||!f){const t=c?.isEditing(s),i=d.get("enableCellTextSelection")&&e.defaultPrevented,n=(Ei()||i)&&!t&&!j(o)&&!C;s.focusCell(n,e)}if(t&&f&&!a.isCellFocused(g)){e.preventDefault();const t=a.getFocusedCell();if(t){const{column:o,rowIndex:s,rowPinned:i}=t,n=!!c?.isRangeSelectionEnabledWhileEditing?.();c?.isEditing(t)&&!n&&c?.stopEditing(t),n||a.setFocusedCell({column:o,rowIndex:s,rowPinned:i,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,sourceEvent:e})}}C||(r?.handleCellMouseDown(e,g),m())}}isRightClickInExistingRange(e){const{rangeSvc:t}=this.beans;if(t){const o=t.isCellInAnyRange(this.cellCtrl.cellPosition),s=vo(this.beans,e);if(o&&s)return!0}return!1}containsWidget(e){return q(e,"ag-selection-checkbox",3)||q(e,"ag-drag-handle",3)}onMouseOut(e){if(this.mouseStayingInsideCell(e))return;const{eventSvc:t,colHover:o}=this.beans;t.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseOut")),o?.clearMouseOver()}onMouseOver(e){if(this.mouseStayingInsideCell(e))return;const{eventSvc:t,colHover:o}=this.beans;t.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseOver")),o?.setMouseOver([this.column])}mouseStayingInsideCell(e){if(!e.target||!e.relatedTarget)return!1;const t=this.cellCtrl.eGui,o=t.contains(e.target),s=t.contains(e.relatedTarget);return o&&s}},Wh=class extends Oe{constructor(e,t){super(),this.cellCtrl=e,this.beans=t,this.column=e.column,this.rowNode=e.rowNode}setupRowSpan(){this.rowSpan=this.column.getRowSpan(this.rowNode),this.addManagedListeners(this.beans.eventSvc,{newColumnsLoaded:()=>this.onNewColumnsLoaded()})}init(){this.eSetLeft=this.cellCtrl.getRootElement(),this.eContent=this.cellCtrl.eGui;const e=this.cellCtrl.getCellSpan();if(e||(this.setupColSpan(),this.setupRowSpan()),this.onLeftChanged(),this.onWidthChanged(),e||this._legacyApplyRowSpan(),e){const t=this.refreshSpanHeight.bind(this,e);t(),this.addManagedListeners(this.beans.eventSvc,{paginationChanged:t,recalculateRowBounds:t,pinnedHeightChanged:t})}}refreshSpanHeight(e){const t=e.getCellHeight();null!=t&&(this.eContent.style.height=`${t}px`)}onNewColumnsLoaded(){const e=this.column.getRowSpan(this.rowNode);this.rowSpan!==e&&(this.rowSpan=e,this._legacyApplyRowSpan(!0))}onDisplayColumnsChanged(){const e=this.getColSpanningList();t(this.colsSpanning,e)||(this.colsSpanning=e,this.onWidthChanged(),this.onLeftChanged())}setupColSpan(){null!=this.column.getColDef().colSpan&&(this.colsSpanning=this.getColSpanningList(),this.addManagedListeners(this.beans.eventSvc,{displayedColumnsChanged:this.onDisplayColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onWidthChanged.bind(this)}))}onWidthChanged(){if(!this.eContent)return;const e=this.getCellWidth();this.eContent.style.width=`${e}px`}getCellWidth(){return this.colsSpanning?this.colsSpanning.reduce((e,t)=>e+t.getActualWidth(),0):this.column.getActualWidth()}getColSpanningList(){const{column:e,rowNode:t}=this,o=e.getColSpan(t),s=[];if(1===o)s.push(e);else{let t=e;const i=e.getPinned();for(let e=0;t&&ethis.removeFeatures()),this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.setupFocus(),this.applyStaticCssClasses(),this.setWrapText(),this.onFirstRightPinnedChanged(),this.onLastLeftPinnedChanged(),this.onColumnHover(),this.setupControlComps(),this.setupAutoHeight(s,r),this.refreshFirstAndLastStyles(),this.checkFormulaError(),this.refreshAriaRowIndex(),this.refreshAriaColIndex(),this.positionFeature?.init(),this.customStyleFeature?.setComp(e),this.editStyleFeature?.setComp(e),this.tooltipFeature?.refreshTooltip(),this.keyboardListener?.init(),this.rangeFeature?.setComp(e),this.rowResizeFeature?.refreshRowResizer();const l=n?this.isCellEditable():void 0,a=!l&&this.hasEdit&&this.editSvc?.isEditing(this,{withOpenEditor:!0});if(l||a?this.editSvc?.startEditing(this,{startedEdit:!1,source:"api",silent:!0,continueEditing:!0,editable:l}):this.showValue(!1,!0),this.onCompAttachedFuncs.length){for(const e of this.onCompAttachedFuncs)e();this.onCompAttachedFuncs=[]}}checkFormulaError(){const e=!!this.beans.formula?.getFormulaError(this.column,this.rowNode);this.eGui.classList.toggle("formula-error",e)}setupAutoHeight(e,t){this.isAutoHeight=this.beans.rowAutoHeight?.setupCellAutoHeight(this,e,t)??!1}getCellAriaRole(){return this.column.getColDef().cellAriaRole??"gridcell"}isCellRenderer(){const e=this.column.getColDef();return null!=e.cellRenderer||null!=e.cellRendererSelector}getValueToDisplay(){return this.valueFormatted??this.value}getDeferLoadingCellRenderer(){const{beans:e,column:t}=this,{userCompFactory:o,ctrlsSvc:s,eventSvc:i}=e,n=t.getColDef(),r=this.createCellRendererParams();r.deferRender=!0;const l=ii(o,n,r);if(s.getGridBodyCtrl()?.scrollFeature?.isScrolling()){let e;const t=new Ns(t=>{e=t}),[o]=this.addManagedListeners(i,{bodyScrollEnd:()=>{e(),o()}});return{loadingComp:l,onReady:t}}return{loadingComp:l,onReady:Ns.resolve()}}showValue(e,t){const{beans:o,column:s,rowNode:i,rangeFeature:n}=this,{userCompFactory:r}=o;let l,a=this.getValueToDisplay();const d=i.stub&&null==i.groupData?.[s.getId()],c=s.getColDef();if(d||this.isCellRenderer()){const e=this.createCellRendererParams();l=!d||os(s)?si(r,c,e):ii(r,c,e)}if(!l&&!d&&o.findSvc?.isMatch(i,s)){const e=this.createCellRendererParams();l=si(r,{...s.getColDef(),cellRenderer:"agFindCellRenderer"},e)}if(this.hasEdit&&this.editSvc.isBatchEditing()&&this.editSvc.isRowEditing(i,{checkSiblings:!0})){const e=this.editSvc.prepDetailsDuringBatch(this,{compDetails:l,valueToDisplay:a});e&&(e.compDetails?l=e.compDetails:e.valueToDisplay&&(a=e.valueToDisplay))}this.comp.setRenderDetails(l,a,e),this.customRowDragComp?.refreshVisibility(),!t&&n&&be(o,()=>n?.refreshRangeStyleAndHandle()),this.rowResizeFeature?.refreshRowResizer()}setupControlComps(){const e=this.column.getColDef();this.includeSelection=this.isIncludeControl(this.isCheckboxSelection(e),!0),this.includeRowDrag=this.isIncludeControl(e.rowDrag),this.includeDndSource=this.isIncludeControl(e.dndSource),this.comp.setIncludeSelection(this.includeSelection),this.comp.setIncludeDndSource(this.includeDndSource),this.comp.setIncludeRowDrag(this.includeRowDrag)}isForceWrapper(){return this.beans.gos.get("enableCellTextSelection")||this.column.isAutoHeight()}getCellValueClass(){let e="";return"agCheckboxCellRenderer"===this.column.getColDef().cellRenderer&&(e=" ag-allow-overflow"),`ag-cell-value${e}`}isIncludeControl(e,t=!1){return(null==this.rowNode.rowPinned||t&&Hh(this.rowNode))&&!!e}isCheckboxSelection(e){const{rowSelection:t,groupDisplayType:o}=this.beans.gridOptions,s=to(t),i=ts(this.column);return("custom"!==o||"selectionColumn"===s||!i)&&(e.checkboxSelection||i&&"object"==typeof t&&Jt(t))}refreshShouldDestroy(){const e=this.column.getColDef(),t=this.includeSelection!=this.isIncludeControl(this.isCheckboxSelection(e),!0),o=this.includeRowDrag!=this.isIncludeControl(e.rowDrag),s=this.includeDndSource!=this.isIncludeControl(e.dndSource),i=this.isAutoHeight!=this.column.isAutoHeight();return t||o||s||i}onPopupEditorClosed(e){const{editSvc:t}=this.beans;if(!t?.isEditing(this,{withOpenEditor:!0}))return;const o=e instanceof KeyboardEvent,s=e instanceof MouseEvent,i=o&&e.key===Cs;t.stopEditing(this,{source:t.isBatchEditing()?"ui":"api",cancel:i,event:o||s?e:void 0}),i&&this.focusCell(!0,e)}stopEditing(e=!1){const{editSvc:t}=this.beans;return t?.stopEditing(this,{cancel:e,source:t?.isBatchEditing()?"ui":"api"})??!1}createCellRendererParams(){const{value:e,valueFormatted:t,column:o,rowNode:s,comp:i,eGui:n,beans:{valueSvc:r,gos:l,editSvc:a}}=this;return Co(l,{value:e,valueFormatted:t,getValue:()=>r.getValueForDisplay({column:o,node:s,from:"edit"}).value,setValue:e=>a?.setDataValue({rowNode:s,column:o},e)||s.setDataValue(o,e),formatValue:this.formatValue.bind(this),data:s.data,node:s,pinned:o.getPinned(),colDef:o.getColDef(),column:o,refreshCell:this.refreshCell.bind(this),eGridCell:n,eParentOfValue:i.getParentOfValue(),registerRowDragger:(e,t,o,s)=>this.registerRowDragger(e,t,s),setTooltip:(e,t)=>{l.assertModuleRegistered("Tooltip",3),this.tooltipFeature&&this.disableTooltipFeature(),this.enableTooltipFeature(e,t),this.tooltipFeature?.refreshTooltip()}})}onCellChanged(e){e.column===this.column&&this.refreshCell()}refreshOrDestroyCell(e){if(this.refreshShouldDestroy()?this.rowCtrl?.recreateCell(this):this.refreshCell(e),this.hasEdit&&this.editCompDetails){const{editSvc:e,comp:t}=this;!t?.getCellEditor()&&e.isEditing(this,{withOpenEditor:!0})&&e.startEditing(this,{startedEdit:!1,source:"api",silent:!0})}}refreshCell(e){const{editStyleFeature:t,customStyleFeature:o,rowCtrl:{rowEditStyleFeature:s},beans:{cellFlashSvc:i,filterManager:n},column:r,comp:l,suppressRefreshCell:a,tooltipFeature:d}=this;if(a)return;const{field:c,valueGetter:h,showRowGroup:u,enableCellChangeFlash:g}=r.getColDef(),p=null==c&&null==h&&null==u,m=e?.newData??!1,f=p||e&&(e.force||m),C=!!l,v=this.updateAndFormatValue(C);if(C){if(f||v){this.showValue(!!m,!1);const r=n?.isSuppressFlashingCellsBecauseFiltering();e?.suppressFlash||r||!g||i?.flashCell(this),t?.applyCellStyles?.(),o?.applyUserStyles(),o?.applyClassesFromColDef(),s?.applyRowStyles(),this.checkFormulaError()}d?.refreshTooltip(),o?.applyCellClassRules()}}isCellEditable(){return this.column.isCellEditable(this.rowNode)}formatValue(e){return this.callValueFormatter(e)??e}callValueFormatter(e){return this.beans.valueSvc.formatValue(this.column,this.rowNode,e)}updateAndFormatValue(e){const t=this.value,o=this.valueFormatted,{value:s,valueFormatted:i}=this.beans.valueSvc.getValueForDisplay({column:this.column,node:this.rowNode,includeValueFormatted:!0,from:"edit"});return this.value=s,this.valueFormatted=i,!e||!this.valuesAreEqual(t,this.value)||this.valueFormatted!=o}valuesAreEqual(e,t){const o=this.column.getColDef();return o.equals?o.equals(e,t):e===t}addDomData(e){const t=this.eGui;Vt(this.beans.gos,t,zr,this),e.addDestroyFunc(()=>Vt(this.beans.gos,t,zr,null))}createEvent(e,t){const{rowNode:o,column:s,value:i,beans:n}=this;return function(e,t,o,{rowNode:s,column:i},n){return Co(e.gos,{type:o,node:s,data:s.data,value:n,column:i,colDef:i.getColDef(),rowPinned:s.rowPinned,event:t,rowIndex:s.rowIndex})}(n,e,t,{rowNode:o,column:s},i)}processCharacter(e){this.keyboardListener?.processCharacter(e)}onKeyDown(e){this.keyboardListener?.onKeyDown(e)}onMouseEvent(e,t){this.mouseListener?.onMouseEvent(e,t)}getColSpanningList(){return this.positionFeature?.getColSpanningList()??[]}onLeftChanged(){this.comp&&this.positionFeature?.onLeftChanged()}onDisplayedColumnsChanged(){this.eGui&&(this.refreshAriaColIndex(),this.refreshFirstAndLastStyles())}refreshFirstAndLastStyles(){const{comp:e,column:t,beans:o}=this;rr(e,t,o.visibleCols)}refreshAriaColIndex(){const e=this.beans.visibleCols.getAriaColIndex(this.column);O(this.eGui,e)}onWidthChanged(){return this.positionFeature?.onWidthChanged()}getRowPosition(){const{rowIndex:e,rowPinned:t}=this.cellPosition;return{rowIndex:e,rowPinned:t}}updateRangeBordersIfRangeCount(){this.comp&&this.rangeFeature?.updateRangeBordersIfRangeCount()}onCellSelectionChanged(){this.comp&&this.rangeFeature?.onCellSelectionChanged()}isRangeSelectionEnabled(){return null!=this.rangeFeature}focusCell(e=!1,t){const o=this.editSvc?.allowedFocusTargetOnValidation(this);o&&o!==this||this.beans.focusSvc.setFocusedCell({...this.getFocusedCellPosition(),forceBrowserFocus:e,sourceEvent:t})}restoreFocus(e=!1){const{beans:{editSvc:t,focusSvc:o},comp:s}=this;if(!s||t?.isEditing(this)||!this.isCellFocused()||!o.shouldTakeFocus())return;const i=()=>{if(!this.isAlive())return;const e=s.getFocusableElement();this.isCellFocused()&&e.focus({preventScroll:!0})};e?setTimeout(i,0):i()}onRowIndexChanged(){this.createCellPosition(),this.refreshAriaRowIndex(),this.onCellFocused(),this.restoreFocus(),this.rangeFeature?.onCellSelectionChanged(),this.rowResizeFeature?.refreshRowResizer()}onSuppressCellFocusChanged(e){const t=this.eGui;t&&ve(t,"tabindex",e?void 0:-1)}onFirstRightPinnedChanged(){if(!this.comp)return;const e=this.column.isFirstRightPinned();this.comp.toggleCss("ag-cell-first-right-pinned",e)}onLastLeftPinnedChanged(){if(!this.comp)return;const e=this.column.isLastLeftPinned();this.comp.toggleCss("ag-cell-last-left-pinned",e)}checkCellFocused(){return this.beans.focusSvc.isCellFocused(this.cellPosition)}isCellFocused(){const e=this.checkCellFocused();return this.hasBeenFocused||(this.hasBeenFocused=e),e}setupFocus(){this.restoreFocus(!0),this.onCellFocused(this.focusEventWhileNotReady??void 0)}onCellFocused(e){const{beans:t}=this;if(kn(t))return;if(!this.comp)return void(e&&(this.focusEventWhileNotReady=e));const o=this.isCellFocused(),s=t.editSvc?.isEditing(this)??!1;if(this.comp.toggleCss("ag-cell-focus",o),o&&(e?.forceBrowserFocus||!this.hasBrowserFocus()&&this.beans.focusSvc.shouldTakeFocus())){let o=this.comp.getFocusableElement();if(s){const e=zi(o,null,!0);e.length&&(o=e[0])}const i=!e||e.preventScrollOnBrowserFocus;o.focus({preventScroll:i}),function(e,t){if(!t.isContentEditable)return;const o=S(e).getSelection();if(!o)return;const s=b(e).createRange();s.selectNodeContents(t),s.collapse(!1),o.removeAllRanges(),o.addRange(s)}(t,o)}o&&this.focusEventWhileNotReady&&(this.focusEventWhileNotReady=null),o&&e&&this.rowCtrl.announceDescription()}createCellPosition(){const{rowIndex:e,rowPinned:t}=this.rowNode;this.cellPosition={rowIndex:e,rowPinned:r(t),column:this.column}}applyStaticCssClasses(){const{comp:e}=this;e.toggleCss("ag-cell",!0),e.toggleCss("ag-cell-not-inline-editing",!0);const t=1==this.column.isAutoHeight();e.toggleCss("ag-cell-auto-height",t),e.toggleCss("ag-cell-normal-height",!t)}onColumnHover(){this.beans.colHover?.onCellColumnHover(this.column,this.comp)}onColDefChanged(){this.comp&&(this.column.isTooltipEnabled()?(this.disableTooltipFeature(),this.enableTooltipFeature()):this.disableTooltipFeature(),this.setWrapText(),this.editSvc?.isEditing(this)?this.editSvc?.handleColDefChanged(this):this.refreshOrDestroyCell({force:!0,suppressFlash:!0}))}setWrapText(){const e=1==this.column.getColDef().wrapText;this.comp.toggleCss("ag-cell-wrap-text",e)}dispatchCellContextMenuEvent(e){const t=this.column.getColDef(),o=this.createEvent(e,"cellContextMenu"),{beans:s}=this;s.eventSvc.dispatchEvent(o),t.onCellContextMenu&&window.setTimeout(()=>{s.frameworkOverrides.wrapOutgoing(()=>{t.onCellContextMenu(o)})},0)}getCellRenderer(){return this.comp?.getCellRenderer()??null}destroy(){this.onCompAttachedFuncs=[],this.onEditorAttachedFuncs=[],this.isCellFocused()&&this.hasBrowserFocus()&&this.beans.focusSvc.attemptToRecoverFocus(),super.destroy()}hasBrowserFocus(){return this.eGui?.contains(w(this.beans))??!1}createSelectionCheckbox(){const e=this.beans.selectionSvc?.createCheckboxSelectionComponent();if(e)return this.beans.context.createBean(e),e.init({rowNode:this.rowNode,column:this.column}),e}createDndSource(){const e=this.beans.registry.createDynamicBean("dndSourceComp",!1,this.rowNode,this.column,this.eGui);return e&&this.beans.context.createBean(e),e}registerRowDragger(e,t,o){if(this.customRowDragComp)return void this.customRowDragComp.setDragElement(e,t);const s=this.createRowDragComp(e,t,o);s&&(this.customRowDragComp=s,this.addDestroyFunc(()=>{this.beans.context.destroyBean(s),this.customRowDragComp=null}),s.refreshVisibility())}createRowDragComp(e,t,o){const s=this.beans.rowDragSvc?.createRowDragCompForCell(this.rowNode,this.column,()=>this.value,e,t,o);if(s)return this.beans.context.createBean(s),s}cellEditorAttached(){for(const e of this.onEditorAttachedFuncs)e();this.onEditorAttachedFuncs=[]}setFocusedCellPosition(e){}getFocusedCellPosition(){return this.cellPosition}refreshAriaRowIndex(){if(!os(this.column)||!this.eGui)return;const{ariaRowIndex:e}=this.rowCtrl;null!=e&&H(this.eGui,e)}getRootElement(){return this.eGui}};function jh(e,t,o,s,i,n){if(null==o&&null==t)return;const r={},l={},a=(e,t)=>{for(const o of e.split(" "))""!=o.trim()&&t(o)};if(o){const t=Object.keys(o);for(let i=0;i{c?r[e]=!0:l[e]=!0})}}if(t&&n)for(const d of Object.keys(t))a(d,e=>{r[e]||(l[e]=!0)});n&&Object.keys(l).forEach(n),Object.keys(r).forEach(i)}function Kh(e){if(e.group)return e.level;const t=e.parent;return t?t.level+1:0}var _h=0,qh=class extends Oe{constructor(e,t,o,s,i){super(),this.rowNode=e,this.useAnimationFrameForCreate=s,this.printLayout=i,this.focusEventWhileNotReady=null,this.allRowGuis=[],this.active=!0,this.centerCellCtrls={list:[],map:{}},this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}},this.slideInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.fadeInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.rowDragComps=[],this.lastMouseDownOnDragger=!1,this.emptyStyle={},this.updateColumnListsPending=!1,this.rowId=null,this.ariaRowIndex=null,this.businessKey=null,this.beans=t,this.gos=t.gos,this.paginationPage=t.pagination?.getCurrentPage()??0,this.suppressRowTransform=this.gos.get("suppressRowTransform"),this.instanceId=e.id+"-"+_h++,this.rowId=f(e.id),this.initRowBusinessKey(),this.rowFocused=t.focusSvc.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned),this.rowLevel=Kh(this.rowNode),this.setRowType(),this.setAnimateFlags(o),this.rowStyles=this.processStylesFromGridOptions(),this.rowEditStyleFeature=t.editSvc?.createRowStyleFeature(this),this.addListeners()}initRowBusinessKey(){this.businessKeyForNodeFunc=this.gos.get("getBusinessKeyForNode"),this.updateRowBusinessKey()}updateRowBusinessKey(){"function"==typeof this.businessKeyForNodeFunc&&(this.businessKey=f(this.businessKeyForNodeFunc(this.rowNode)))}updateGui(e,t){"left"===e?this.leftGui=t:"right"===e?this.rightGui=t:"fullWidth"===e?this.fullWidthGui=t:this.centerGui=t}setComp(e,t,o,s){const{context:i,rowRenderer:n}=this.beans,r={rowComp:e,element:t,containerType:o,compBean:s=or(this,i,s)};this.allRowGuis.push(r),this.updateGui(o,r),this.initialiseRowComp(r);const l=this.rowNode,a="FullWidthLoading"===this.rowType||l.stub,d=!l.data&&"infinite"===this.beans.rowModel.getType();a||d||l.rowPinned||n.dispatchFirstDataRenderedEvent(),this.setupFocus()}unsetComp(e){this.allRowGuis=this.allRowGuis.filter(t=>t.containerType!==e),this.updateGui(e,void 0)}isCacheable(){return"FullWidthDetail"===this.rowType&&this.gos.get("keepDetailRows")}setCached(e){const t=e?"none":"";for(const o of this.allRowGuis)o.element.style.display=t}initialiseRowComp(e){const t=this.gos;this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.listenOnDomOrder(e),this.onRowHeightChanged(e),this.updateRowIndexes(e),this.setFocusedClasses(e),this.setStylesFromGridOptions(!1,e),Lt(t)&&this.rowNode.selectable&&this.onRowSelected(e),this.updateColumnLists(!this.useAnimationFrameForCreate);const o=e.rowComp,s=this.getInitialRowClasses(e.containerType);for(const i of s)o.toggleCss(i,!0);this.executeSlideAndFadeAnimations(e),this.rowNode.group&&G(e.element,!!this.rowNode.expanded),this.setRowCompRowId(o),this.setRowCompRowBusinessKey(o),Vt(t,e.element,Ur,this),e.compBean.addDestroyFunc(()=>Vt(t,e.element,Ur,null)),this.useAnimationFrameForCreate?this.beans.animationFrameSvc.createTask(this.addHoverFunctionality.bind(this,e),this.rowNode.rowIndex,"p2",!1):this.addHoverFunctionality(e),this.isFullWidth()&&this.setupFullWidth(e),t.get("rowDragEntireRow")&&this.addRowDraggerToRow(e),this.useAnimationFrameForCreate&&this.beans.animationFrameSvc.addDestroyTask(()=>{this.isAlive()&&e.rowComp.toggleCss("ag-after-created",!0)}),this.executeProcessRowPostCreateFunc()}setRowCompRowBusinessKey(e){null!=this.businessKey&&e.setRowBusinessKey(this.businessKey)}setRowCompRowId(e){const t=f(this.rowNode.id);this.rowId=t,null!=t&&e.setRowId(t)}executeSlideAndFadeAnimations(e){const{containerType:t}=e;this.slideInAnimation[t]&&($e(()=>{this.onTopChanged()}),this.slideInAnimation[t]=!1),this.fadeInAnimation[t]&&($e(()=>{e.rowComp.toggleCss("ag-opacity-zero",!1)}),this.fadeInAnimation[t]=!1)}addRowDraggerToRow(e){const t=this.beans.rowDragSvc?.createRowDragCompForRow(this.rowNode,e.element);if(!t)return;const o=this.createBean(t,this.beans.context);this.rowDragComps.push(o),e.compBean.addDestroyFunc(()=>{this.rowDragComps=this.rowDragComps.filter(e=>e!==o),this.rowEditStyleFeature=this.destroyBean(this.rowEditStyleFeature,this.beans.context),this.destroyBean(o,this.beans.context)})}setupFullWidth(e){const t=this.getPinnedForContainer(e.containerType),o=this.createFullWidthCompDetails(e.element,t);e.rowComp.showFullWidth(o)}getFullWidthCellRenderers(){return this.gos.get("embedFullWidthRows")?this.allRowGuis.map(e=>e?.rowComp?.getFullWidthCellRenderer()):[this.fullWidthGui?.rowComp?.getFullWidthCellRenderer()]}executeProcessRowPostCreateFunc(){const e=this.gos.getCallback("processRowPostCreate");e&&this.areAllContainersReady()&&e({eRow:this.centerGui.element,ePinnedLeftRow:this.leftGui?this.leftGui.element:void 0,ePinnedRightRow:this.rightGui?this.rightGui.element:void 0,node:this.rowNode,rowIndex:this.rowNode.rowIndex,addRenderedRowListener:this.addEventListener.bind(this)})}areAllContainersReady(){const{leftGui:e,centerGui:t,rightGui:o,beans:{visibleCols:s}}=this,i=!!e||!s.isPinningLeft(),n=!!t,r=!!o||!s.isPinningRight();return i&&n&&r}isNodeFullWidthCell(){if(this.rowNode.detail)return!0;const e=this.beans.gos.getCallback("isFullWidthRow");return!!e&&e({rowNode:this.rowNode})}setRowType(){const{rowNode:e,gos:t,beans:{colModel:o}}=this,s=e.stub&&!t.get("suppressServerSideFullWidthLoadingRow")&&!t.get("groupHideOpenParents"),i=this.isNodeFullWidthCell(),n=t.get("masterDetail")&&e.detail,r=Zt(t,e,o.isPivotMode());this.rowType=s?"FullWidthLoading":n?"FullWidthDetail":i?"FullWidth":r?"FullWidthGroup":"Normal"}updateColumnLists(e=!1,t=!1){if(this.isFullWidth())return;const{animationFrameSvc:o}=this.beans;!o?.active||e||this.printLayout?this.updateColumnListsImpl(t):this.updateColumnListsPending||(o.createTask(()=>{this.active&&this.updateColumnListsImpl(!0)},this.rowNode.rowIndex,"p1",!1),this.updateColumnListsPending=!0)}getNewCellCtrl(e){if(!this.beans.rowSpanSvc?.isCellSpanning(e,this.rowNode))return new $h(e,this.rowNode,this.beans,this)}isCorrectCtrlForSpan(e){return!this.beans.rowSpanSvc?.isCellSpanning(e.column,this.rowNode)}createCellCtrls(e,t,o=null){const s={list:[],map:{}},i=(e,t,o)=>{null!=o?s.list.splice(o,0,t):s.list.push(t),s.map[e]=t},n=[];for(const d of t){const t=d.getInstanceId();let o=e.map[t];o&&!this.isCorrectCtrlForSpan(o)&&(o.destroy(),o=void 0),o||(o=this.getNewCellCtrl(d)),o&&i(t,o)}for(const d of e.list){const e=d.column.getInstanceId();null==s.map[e]&&(this.isCellEligibleToBeRemoved(d,o)?d.destroy():n.push([e,d]))}if(n.length)for(const[d,c]of n){const e=s.list.findIndex(e=>e.column.getLeft()>c.column.getLeft());i(d,c,-1===e?void 0:Math.max(e-1,0))}const{focusSvc:r,visibleCols:l}=this.beans,a=r.getFocusedCell();if(a&&a.column.getPinned()==o){const e=a.column.getInstanceId();if(!s.map[e]&&l.allCols.includes(a.column)){const t=this.createFocusedCellCtrl();if(t){const o=s.list.findIndex(e=>e.column.getLeft()>t.column.getLeft());i(e,t,-1===o?void 0:Math.max(o-1,0))}}}return s}createFocusedCellCtrl(){const{focusSvc:e,rowSpanSvc:t}=this.beans,o=e.getFocusedCell();if(!o)return;const s=t?.getCellSpan(o.column,this.rowNode);if(s){if(s.firstNode!==this.rowNode||!s.doesSpanContain(o))return}else if(!e.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))return;return this.getNewCellCtrl(o.column)}updateColumnListsImpl(e){this.updateColumnListsPending=!1,this.createAllCellCtrls(),this.setCellCtrls(e)}setCellCtrls(e){for(const t of this.allRowGuis){const o=this.getCellCtrlsForContainer(t.containerType);t.rowComp.setCellCtrls(o,e)}}getCellCtrlsForContainer(e){switch(e){case"left":return this.leftCellCtrls.list;case"right":return this.rightCellCtrls.list;case"fullWidth":return[];case"center":return this.centerCellCtrls.list}}createAllCellCtrls(){const e=this.beans.colViewport,t=this.beans.visibleCols;if(this.printLayout)this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,t.allCols),this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}};else{const o=e.getColsWithinViewport(this.rowNode);this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,o);const s=t.getLeftColsForRow(this.rowNode);this.leftCellCtrls=this.createCellCtrls(this.leftCellCtrls,s,"left");const i=t.getRightColsForRow(this.rowNode);this.rightCellCtrls=this.createCellCtrls(this.rightCellCtrls,i,"right")}}isCellEligibleToBeRemoved(e,t){const o=!0,{column:s}=e;if(s.getPinned()!=t)return o;if(!this.isCorrectCtrlForSpan(e))return o;const{visibleCols:i,editSvc:n}=this.beans,r=n?.isEditing(e),l=e.isCellFocused();return r||l?!(i.allCols.indexOf(s)>=0)&&o:o}getDomOrder(){return this.gos.get("ensureDomOrder")||kt(this.gos,"print")}listenOnDomOrder(e){e.compBean.addManagedPropertyListeners(["domLayout","ensureDomOrder"],()=>{e.rowComp.setDomOrder(this.getDomOrder())})}setAnimateFlags(e){if(this.rowNode.sticky||!e)return;const t=l(this.rowNode.oldRowTop),{visibleCols:o}=this.beans,s=o.isPinningLeft(),i=o.isPinningRight();if(t){const{slideInAnimation:e}=this;if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows"))return void(e.fullWidth=!0);e.center=!0,e.left=s,e.right=i}else{const{fadeInAnimation:e}=this;if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows"))return void(e.fullWidth=!0);e.center=!0,e.left=s,e.right=i}}isFullWidth(){return"Normal"!==this.rowType}refreshFullWidth(){const e=(e,t)=>!e||e.rowComp.refreshFullWidth(()=>this.createFullWidthCompDetails(e.element,t).params),t=e(this.fullWidthGui,null),o=e(this.centerGui,null),s=e(this.leftGui,"left"),i=e(this.rightGui,"right");return t&&o&&s&&i}addListeners(){const{beans:e,gos:t,rowNode:o}=this,{expansionSvc:s,eventSvc:i,context:n,rowSpanSvc:r}=e;this.addManagedListeners(this.rowNode,{heightChanged:()=>this.onRowHeightChanged(),rowSelected:()=>this.onRowSelected(),rowIndexChanged:this.onRowIndexChanged.bind(this),topChanged:this.onTopChanged.bind(this),...s?.getRowExpandedListeners(this)??{}}),o.detail&&this.addManagedListeners(o.parent,{dataChanged:this.onRowNodeDataChanged.bind(this)}),this.addManagedListeners(o,{dataChanged:this.onRowNodeDataChanged.bind(this),cellChanged:this.postProcessCss.bind(this),rowHighlightChanged:this.onRowNodeHighlightChanged.bind(this),draggingChanged:this.postProcessRowDragging.bind(this),uiLevelChanged:this.onUiLevelChanged.bind(this),rowPinned:this.onRowPinned.bind(this)}),this.addManagedListeners(i,{paginationPixelOffsetChanged:this.onPaginationPixelOffsetChanged.bind(this),heightScaleChanged:this.onTopChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:this.onVirtualColumnsChanged.bind(this),cellFocused:this.onCellFocusChanged.bind(this),cellFocusCleared:this.onCellFocusChanged.bind(this),paginationChanged:this.onPaginationChanged.bind(this),modelUpdated:this.refreshFirstAndLastRowStyles.bind(this),columnMoved:()=>this.updateColumnLists()}),r&&this.addManagedListeners(r,{spannedCellsUpdated:({pinned:e})=>{e&&!o.rowPinned||this.updateColumnLists()}}),this.addDestroyFunc(()=>{this.rowDragComps=this.destroyBeans(this.rowDragComps,n),this.tooltipFeature=this.destroyBean(this.tooltipFeature,n),this.rowEditStyleFeature=this.destroyBean(this.rowEditStyleFeature,n)}),this.addManagedPropertyListeners(["rowStyle","getRowStyle","rowClass","getRowClass","rowClassRules"],this.postProcessCss.bind(this)),this.addManagedPropertyListener("rowDragEntireRow",()=>{if(t.get("rowDragEntireRow"))for(const e of this.allRowGuis)this.addRowDraggerToRow(e);else this.rowDragComps=this.destroyBeans(this.rowDragComps,n)}),this.addListenersForCellComps()}addListenersForCellComps(){this.addManagedListeners(this.rowNode,{rowIndexChanged:()=>{for(const e of this.getAllCellCtrls())e.onRowIndexChanged()},cellChanged:e=>{for(const t of this.getAllCellCtrls())t.onCellChanged(e)}})}onRowPinned(){for(const e of this.allRowGuis)e.rowComp.toggleCss("ag-row-pinned-source",!!this.rowNode.pinnedSibling)}onRowNodeDataChanged(e){this.refreshRow({suppressFlash:!e.update,newData:!e.update})}refreshRow(e){if(this.isFullWidth()===!!this.isNodeFullWidthCell())if(this.isFullWidth())this.refreshFullWidth()||this.beans.rowRenderer.redrawRow(this.rowNode);else{for(const t of this.getAllCellCtrls())t.refreshCell(e);for(const e of this.allRowGuis)this.setRowCompRowId(e.rowComp),this.updateRowBusinessKey(),this.setRowCompRowBusinessKey(e.rowComp);this.onRowSelected(),this.postProcessCss()}else this.beans.rowRenderer.redrawRow(this.rowNode)}postProcessCss(){this.setStylesFromGridOptions(!0),this.postProcessClassesFromGridOptions(),this.postProcessRowClassRules(),this.rowEditStyleFeature?.applyRowStyles(),this.postProcessRowDragging()}onRowNodeHighlightChanged(){const e=this.beans.rowDropHighlightSvc,t=e?.row===this.rowNode?e.position:"none",o="above"===t,s="inside"===t,i="below"===t,n="none"!==t,r=o||i,l=this.rowNode.uiLevel,a=r&&l>0,d=a?l.toString():"0";for(const c of this.allRowGuis){const e=c.rowComp;e.toggleCss("ag-row-highlight-above",o),e.toggleCss("ag-row-highlight-inside",s),e.toggleCss("ag-row-highlight-below",i),e.toggleCss("ag-row-highlight-indent",a),n?c.element.style.setProperty("--ag-row-highlight-level",d):c.element.style.removeProperty("--ag-row-highlight-level")}}postProcessRowDragging(){const e=this.rowNode.dragging;for(const t of this.allRowGuis)t.rowComp.toggleCss("ag-row-dragging",e)}onDisplayedColumnsChanged(){this.updateColumnLists(!0),this.beans.rowAutoHeight?.requestCheckAutoHeight()}onVirtualColumnsChanged(){this.updateColumnLists(!1,!0)}getRowPosition(){return{rowPinned:r(this.rowNode.rowPinned),rowIndex:this.rowNode.rowIndex}}onKeyboardNavigate(e){const t=this.findFullWidthInfoForEvent(e);if(!t)return;const{rowGui:o,column:s}=t;if(o.element!==e.target)return;const i=this.rowNode,{focusSvc:n,navigation:r}=this.beans,l=n.getFocusedCell(),a={rowIndex:i.rowIndex,rowPinned:i.rowPinned,column:l?.column??s};r?.navigateToNextCell(e,e.key,a,!0),e.preventDefault()}onTabKeyDown(e){if(e.defaultPrevented||Yi(e))return;const t=this.allRowGuis.find(t=>t.element.contains(e.target)),o=t?t.element:null,s=o===e.target,i=w(this.beans);let n=!1;o&&i&&(n=o.contains(i)&&i.classList.contains("ag-cell"));let r=null;s||n||(r=Ui(this.beans,o,!1,e.shiftKey)),(this.isFullWidth()&&s||!r)&&this.beans.navigation?.onTabKeyDown(this,e)}getFullWidthElement(){return this.fullWidthGui?this.fullWidthGui.element:null}getRowYPosition(){const e=this.allRowGuis.find(e=>re(e.element))?.element;return e?e.getBoundingClientRect().top:0}onSuppressCellFocusChanged(e){const t=this.isFullWidth()&&e?void 0:this.gos.get("tabIndex");for(const o of this.allRowGuis)ve(o.element,"tabindex",t)}setupFocus(){this.isFullWidth()&&(this.restoreFullWidthFocus(!0),this.onFullWidthRowFocused(this.focusEventWhileNotReady??void 0))}restoreFullWidthFocus(e=!1){const{focusSvc:t,editSvc:o}=this.beans;if(o?.isEditing(this))return;if(!t.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned)||!t.shouldTakeFocus())return;const s=this.getFullWidthRowGuiForFocus();if(!s)return;const i=()=>{this.isAlive()&&t.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned)&&s.element.focus({preventScroll:!0})};e?setTimeout(i,0):i()}getFullWidthRowGuiForFocus(e){if(this.fullWidthGui)return this.fullWidthGui;const t=this.beans.focusSvc.getFocusedCell(),o=this.beans.colModel.getCol(e?.column??t?.column);if(!o)return;const s=o?.pinned;return"right"===s?this.rightGui:"left"===s?this.leftGui:this.centerGui}setFullWidthRowFocusedClass(e,t){this.forEachGui(void 0,o=>{o.element.classList.toggle("ag-full-width-focus",t&&o===e)})}onFullWidthRowFocused(e){const{focusSvc:t}=this.beans;if(!this.isFullWidth()||!t.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))return void this.setFullWidthRowFocusedClass(void 0,!1);const o=this.getFullWidthRowGuiForFocus(e);if(!o)return e&&(this.focusEventWhileNotReady=e),void this.setFullWidthRowFocusedClass(void 0,!1);this.setFullWidthRowFocusedClass(o,!0),this.focusEventWhileNotReady=null,e?.forceBrowserFocus&&o.element.focus({preventScroll:!0})}recreateCell(e){this.centerCellCtrls=this.removeCellCtrl(this.centerCellCtrls,e),this.leftCellCtrls=this.removeCellCtrl(this.leftCellCtrls,e),this.rightCellCtrls=this.removeCellCtrl(this.rightCellCtrls,e),e.destroy(),this.updateColumnLists()}removeCellCtrl(e,t){const o={list:[],map:{}};for(const s of e.list)s!==t&&(o.list.push(s),o.map[s.column.getInstanceId()]=s);return o}onMouseEvent(e,t){switch(e){case"dblclick":this.onRowDblClick(t);break;case"click":this.onRowClick(t);break;case"pointerdown":case"touchstart":case"mousedown":this.onRowMouseDown(t)}}createRowEvent(e,t){const{rowNode:o}=this;return Co(this.gos,{type:e,node:o,data:o.data,rowIndex:o.rowIndex,rowPinned:o.rowPinned,event:t})}createRowEventWithSource(e,t){const o=this.createRowEvent(e,t);return o.source=this,o}onRowDblClick(e){if(Yi(e))return;const t=this.createRowEventWithSource("rowDoubleClicked",e);t.isEventHandlingSuppressed=this.isSuppressMouseEvent(e),this.beans.eventSvc.dispatchEvent(t)}findFullWidthInfoForEvent(e){if(!e)return;const t=this.findFullWidthRowGui(e.target),o=this.getColumnForFullWidth(t);return t&&o?{rowGui:t,column:o}:void 0}findFullWidthRowGui(e){return this.allRowGuis.find(t=>t.element.contains(e))}getColumnForFullWidth(e){const{visibleCols:t}=this.beans;switch(e?.containerType){case"center":return t.centerCols[0];case"left":return t.leftCols[0];case"right":return t.rightCols[0];default:return t.allCols[0]}}onRowMouseDown(e){if(this.lastMouseDownOnDragger=q(e.target,"ag-row-drag",3),!this.isFullWidth()||this.isSuppressMouseEvent(e))return;const{rangeSvc:t,focusSvc:o}=this.beans;t?.removeAllCellRanges();const s=this.findFullWidthInfoForEvent(e);if(!s)return;const{rowGui:i,column:n}=s,r=i.element,l=e.target,a=this.rowNode;let d=e.defaultPrevented||Ei();r&&r.contains(l)&&j(l)&&(d=!1),o.setFocusedCell({rowIndex:a.rowIndex,column:n,rowPinned:a.rowPinned,forceBrowserFocus:d})}isSuppressMouseEvent(e){const{gos:t,rowNode:o}=this;if(this.isFullWidth())return function(e,t,o,s){const i=t?.suppressMouseEventHandling;return Or(e,void 0,o,s,i)}(t,this.findFullWidthRowGui(e.target)?.rowComp.getFullWidthCellRendererParams(),o,e);const s=Wr(t,e.target);return null!=s&&Hr(t,s.column,o,e)}onRowClick(e){if(Yi(e)||this.lastMouseDownOnDragger)return;const t=this.isSuppressMouseEvent(e),{eventSvc:o,selectionSvc:s}=this.beans,i=this.createRowEventWithSource("rowClicked",e);i.isEventHandlingSuppressed=t,o.dispatchEvent(i),t||s?.handleSelectionEvent(e,this.rowNode,"rowClicked")}setupDetailRowAutoHeight(e){"FullWidthDetail"===this.rowType&&this.beans.masterDetailSvc?.setupDetailRowAutoHeight(this,e)}createFullWidthCompDetails(e,t){const{gos:o,rowNode:s}=this,i=Co(o,{fullWidth:!0,data:s.data,node:s,value:s.key,valueFormatted:s.key,eGridCell:e,eParentOfValue:e,pinned:t,addRenderedRowListener:this.addEventListener.bind(this),registerRowDragger:(e,t,o,s)=>this.addFullWidthRowDragging(e,t,o,s),setTooltip:(e,t)=>{o.assertModuleRegistered("Tooltip",3),this.setupFullWidthRowTooltip(e,t)}}),n=this.beans.userCompFactory;switch(this.rowType){case"FullWidthDetail":return function(e,t){return e.getCompDetailsFromGridOptions(ti,"agDetailCellRenderer",t,!0)}(n,i);case"FullWidthGroup":{const{value:e,valueFormatted:t}=this.beans.valueSvc.getValueForDisplay({node:this.rowNode,includeValueFormatted:!0,from:"edit"});return i.value=e,i.valueFormatted=t,function(e,t){return e.getCompDetailsFromGridOptions(ei,"agGroupRowRenderer",t,!0)}(n,i)}case"FullWidthLoading":return function(e,t){return e.getCompDetailsFromGridOptions(Js,"agLoadingCellRenderer",t,!0)}(n,i);default:return function(e,t){return e.getCompDetailsFromGridOptions(Xs,void 0,t,!0)}(n,i)}}setupFullWidthRowTooltip(e,t){this.fullWidthGui&&(this.tooltipFeature=this.beans.tooltipSvc?.setupFullWidthRowTooltip(this.tooltipFeature,this,e,t))}addFullWidthRowDragging(e,t,o="",s){const{rowDragSvc:i,context:n}=this.beans;if(!i||!this.isFullWidth())return;const r=i.createRowDragComp(()=>o,this.rowNode,void 0,e,t,s);this.createBean(r,n),this.addDestroyFunc(()=>{this.destroyBean(r,n)})}onUiLevelChanged(){const e=Kh(this.rowNode);if(this.rowLevel!=e){const t="ag-row-level-"+e,o="ag-row-level-"+this.rowLevel;for(const e of this.allRowGuis)e.rowComp.toggleCss(t,!0),e.rowComp.toggleCss(o,!1)}this.rowLevel=e}isFirstRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBounds.getFirstRow()}isLastRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBounds.getLastRow()}refreshFirstAndLastRowStyles(){const e=this.isFirstRowOnPage(),t=this.isLastRowOnPage();if(this.firstRowOnPage!==e){this.firstRowOnPage=e;for(const t of this.allRowGuis)t.rowComp.toggleCss("ag-row-first",e)}if(this.lastRowOnPage!==t){this.lastRowOnPage=t;for(const e of this.allRowGuis)e.rowComp.toggleCss("ag-row-last",t)}}getAllCellCtrls(){return 0===this.leftCellCtrls.list.length&&0===this.rightCellCtrls.list.length?this.centerCellCtrls.list:[...this.centerCellCtrls.list,...this.leftCellCtrls.list,...this.rightCellCtrls.list]}postProcessClassesFromGridOptions(){const e=[];if(this.beans.rowStyleSvc?.processClassesFromGridOptions(e,this.rowNode),e.length)for(const t of e)for(const e of this.allRowGuis)e.rowComp.toggleCss(t,!0)}postProcessRowClassRules(){this.beans.rowStyleSvc?.processRowClassRules(this.rowNode,e=>{for(const t of this.allRowGuis)t.rowComp.toggleCss(e,!0)},e=>{for(const t of this.allRowGuis)t.rowComp.toggleCss(e,!1)})}setStylesFromGridOptions(e,t){e&&(this.rowStyles=this.processStylesFromGridOptions()),this.forEachGui(t,e=>e.rowComp.setUserStyles(this.rowStyles))}getPinnedForContainer(e){return"left"===e||"right"===e?e:null}getInitialRowClasses(e){const t=this.getPinnedForContainer(e),o=this.isFullWidth(),{rowNode:s,beans:i}=this,n=[];n.push("ag-row"),n.push(this.rowFocused?"ag-row-focus":"ag-row-no-focus"),this.fadeInAnimation[e]&&n.push("ag-opacity-zero"),n.push(s.rowIndex%2==0?"ag-row-even":"ag-row-odd"),s.isRowPinned()&&(n.push("ag-row-pinned"),i.pinnedRowModel?.isManual()&&n.push("ag-row-pinned-manual")),!s.isRowPinned()&&s.pinnedSibling&&n.push("ag-row-pinned-source"),s.isSelected()&&n.push("ag-row-selected"),s.footer&&n.push("ag-row-footer"),n.push("ag-row-level-"+this.rowLevel),s.stub&&n.push("ag-row-loading"),o&&n.push("ag-full-width-row"),i.expansionSvc?.addExpandedCss(n,s),s.dragging&&n.push("ag-row-dragging");const{rowStyleSvc:r}=i;return r&&(r.processClassesFromGridOptions(n,s),r.preProcessRowClassRules(n,s)),n.push(this.printLayout?"ag-row-position-relative":"ag-row-position-absolute"),this.isFirstRowOnPage()&&n.push("ag-row-first"),this.isLastRowOnPage()&&n.push("ag-row-last"),o&&("left"===t&&n.push("ag-cell-last-left-pinned"),"right"===t&&n.push("ag-cell-first-right-pinned")),n}processStylesFromGridOptions(){return this.beans.rowStyleSvc?.processStylesFromGridOptions(this.rowNode)??this.emptyStyle}onRowSelected(e){this.beans.selectionSvc?.onRowCtrlSelected(this,e=>{e!==this.centerGui&&e!==this.fullWidthGui||this.announceDescription()},e)}announceDescription(){this.beans.selectionSvc?.announceAriaRowSelection(this.rowNode)}addHoverFunctionality(e){if(!this.active)return;const{element:t,compBean:o}=e,{rowNode:s,beans:i,gos:n}=this;o.addManagedListeners(t,{pointerenter:e=>{"mouse"===e.pointerType&&s.dispatchRowEvent("mouseEnter")},pointerleave:e=>{"mouse"===e.pointerType&&s.dispatchRowEvent("mouseLeave")}}),o.addManagedListeners(s,{mouseEnter:()=>{i.dragSvc?.dragging||n.get("suppressRowHoverHighlight")||(t.classList.add("ag-row-hover"),s.setHovered(!0))},mouseLeave:()=>{this.resetHoveredStatus(t)}})}resetHoveredStatus(e){const t=e?[e]:this.allRowGuis.map(e=>e.element);for(const o of t)o.classList.remove("ag-row-hover");this.rowNode.setHovered(!1)}roundRowTopToBounds(e){const t=this.beans.ctrlsSvc.getScrollFeature().getApproximateVScollPosition(),o=this.applyPaginationOffset(t.top,!0)-100,s=this.applyPaginationOffset(t.bottom,!0)+100;return Math.min(Math.max(o,e),s)}forEachGui(e,t){if(e)t(e);else for(const o of this.allRowGuis)t(o)}isRowRendered(){return this.allRowGuis.length>0}onRowHeightChanged(e){if(null==this.rowNode.rowHeight)return;const t=this.rowNode.rowHeight,o=this.beans.environment.getDefaultRowHeight(),s=Gt(this.gos)?Nt(this.beans,this.rowNode).height:void 0,i=s?Math.min(o,s)-2+"px":void 0;this.forEachGui(e,e=>{e.element.style.height=`${t}px`,i&&e.element.style.setProperty("--ag-line-height",i)})}destroyFirstPass(e=!1){this.active=!1;const{rowNode:t}=this;if(!e&&zt(this.gos)&&!t.sticky)if(null!=t.rowTop){const e=this.roundRowTopToBounds(t.rowTop);this.setRowTop(e)}else for(const s of this.allRowGuis)s.rowComp.toggleCss("ag-opacity-zero",!0);this.fullWidthGui?.element.contains(w(this.beans))&&this.beans.focusSvc.attemptToRecoverFocus(),t.setHovered(!1);const o=this.createRowEvent("virtualRowRemoved");this.dispatchLocalEvent(o),this.beans.eventSvc.dispatchEvent(o),super.destroy()}destroySecondPass(){this.allRowGuis.length=0;const e=e=>{for(const t of e.list)t.destroy();return{list:[],map:{}}};this.centerCellCtrls=e(this.centerCellCtrls),this.leftCellCtrls=e(this.leftCellCtrls),this.rightCellCtrls=e(this.rightCellCtrls)}setFocusedClasses(e){this.forEachGui(e,e=>{e.rowComp.toggleCss("ag-row-focus",this.rowFocused),e.rowComp.toggleCss("ag-row-no-focus",!this.rowFocused)})}onCellFocusChanged(){const{focusSvc:e}=this.beans,t=e.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned);t!==this.rowFocused&&(this.rowFocused=t,this.setFocusedClasses())}onPaginationChanged(){const e=this.beans.pagination?.getCurrentPage()??0;this.paginationPage!==e&&(this.paginationPage=e,this.onTopChanged()),this.refreshFirstAndLastRowStyles()}onTopChanged(){this.setRowTop(this.rowNode.rowTop)}onPaginationPixelOffsetChanged(){this.onTopChanged()}applyPaginationOffset(e,t=!1){return this.rowNode.isRowPinned()||this.rowNode.sticky?e:e+this.beans.pageBounds.getPixelOffset()*(t?1:-1)}setRowTop(e){if(!this.printLayout&&l(e)){const t=this.applyPaginationOffset(e),o=`${this.rowNode.isRowPinned()||this.rowNode.sticky?t:this.beans.rowContainerHeight.getRealPixelPosition(t)}px`;this.setRowTopStyle(o)}}getInitialRowTop(e){return this.suppressRowTransform?this.getInitialRowTopShared(e):void 0}getInitialTransform(e){return this.suppressRowTransform?void 0:`translateY(${this.getInitialRowTopShared(e)})`}getInitialRowTopShared(e){if(this.printLayout)return"";const t=this.rowNode;let o;if(t.sticky)o=t.stickyRowTop;else{const s=this.slideInAnimation[e]?this.roundRowTopToBounds(t.oldRowTop):t.rowTop,i=this.applyPaginationOffset(s);o=t.isRowPinned()?i:this.beans.rowContainerHeight.getRealPixelPosition(i)}return o+"px"}setRowTopStyle(e){for(const t of this.allRowGuis)this.suppressRowTransform?t.rowComp.setTop(e):t.rowComp.setTransform(`translateY(${e})`)}getCellCtrl(e,t=!1){let o=null;for(const s of this.getAllCellCtrls())s.column==e&&(o=s);if(null!=o||t)return o;for(const s of this.getAllCellCtrls())s?.getColSpanningList().indexOf(e)>=0&&(o=s);return o}onRowIndexChanged(){null!=this.rowNode.rowIndex&&(this.onCellFocusChanged(),this.updateRowIndexes(),this.postProcessCss())}updateRowIndexes(e){const t=this.rowNode.getRowIndexString();if(null===t)return;const o=(this.beans.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0)+(this.beans.filterManager?.getHeaderRowCount()??0),s=this.rowNode.rowIndex%2==0,i=this.ariaRowIndex=o+this.rowNode.rowIndex+1;this.forEachGui(e,e=>{e.rowComp.setRowIndex(t),e.rowComp.toggleCss("ag-row-even",s),e.rowComp.toggleCss("ag-row-odd",!s),H(e.element,i)})}};function Yh(e){return e.ctrlsSvc.getScrollFeature().getVScrollPosition()}var Zh={moduleName:"KeyboardNavigation",version:mt,beans:[class extends Oe{constructor(){super(),this.beanName="navigation",this.onPageDown=Ke(this.onPageDown,100),this.onPageUp=Ke(this.onPageUp,100)}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl})}handlePageScrollingKey(e,t=!1){const o=e.key,s=e.altKey,i=e.ctrlKey||e.metaKey,n=!!this.beans.rangeSvc&&e.shiftKey,r=ta(this.gos,e);let l=!1;switch(o){case Ms:case Ps:i||s||(this.onHomeOrEndKey(o),l=!0);break;case ws:case ys:case bs:case Ss:if(!r)return!1;!i||s||n||(this.onCtrlUpDownLeftRight(o,r),l=!0);break;case Ds:case Fs:i||s||(l=this.handlePageUpDown(o,r,t))}return l&&e.preventDefault(),l}handlePageUpDown(e,t,o){return o&&(t=this.beans.focusSvc.getFocusedCell()),!!t&&(e===Fs?this.onPageUp(t):this.onPageDown(t),!0)}navigateTo({scrollIndex:e,scrollType:t,scrollColumn:o,focusIndex:s,focusColumn:i,isAsync:n,rowPinned:r}){const{scrollFeature:a}=this.gridBodyCon;l(o)&&!o.isPinned()&&a.ensureColumnVisible(o),l(e)&&a.ensureIndexVisible(e,t),n||a.ensureIndexVisible(s);const{focusSvc:d}=this.beans;d.setFocusedCell({rowIndex:s,column:i,rowPinned:r,forceBrowserFocus:!0}),this.setRangeToCellIfSupported({rowIndex:s,rowPinned:r,column:i})}onPageDown(e){const t=this.beans,o=Yh(t),s=this.getViewportHeight(),{pageBounds:i,rowModel:n,rowAutoHeight:r}=t,l=i.getPixelOffset(),a=o.top+s,d=n.getRowIndexAtPixel(a+l);r?.active?this.navigateToNextPageWithAutoHeight(e,d):this.navigateToNextPage(e,d)}onPageUp(e){const t=this.beans,o=Yh(t),{pageBounds:s,rowModel:i,rowAutoHeight:n}=t,r=s.getPixelOffset(),l=o.top,a=i.getRowIndexAtPixel(l+r);n?.active?this.navigateToNextPageWithAutoHeight(e,a,!0):this.navigateToNextPage(e,a,!0)}navigateToNextPage(e,t,o=!1){const{pageBounds:s,rowModel:i}=this.beans,n=this.getViewportHeight(),r=s.getFirstRow(),l=s.getLastRow(),a=s.getPixelOffset(),d=i.getRow(e.rowIndex),c=o?d?.rowHeight-n-a:n-a,h=d?.rowTop+c;let u,g=i.getRowIndexAtPixel(h+a);if(g===e.rowIndex){const s=o?-1:1;t=g=e.rowIndex+s}o?(u="bottom",gl&&(g=l),t>l&&(t=l)),this.isRowTallerThanView(i.getRow(g))&&(t=g,u="top"),this.navigateTo({scrollIndex:t,scrollType:u,scrollColumn:null,focusIndex:g,focusColumn:e.column})}navigateToNextPageWithAutoHeight(e,t,o=!1){this.navigateTo({scrollIndex:t,scrollType:o?"bottom":"top",scrollColumn:null,focusIndex:t,focusColumn:e.column}),setTimeout(()=>{const s=this.getNextFocusIndexForAutoHeight(e,o);this.navigateTo({scrollIndex:t,scrollType:o?"bottom":"top",scrollColumn:null,focusIndex:s,focusColumn:e.column,isAsync:!0})},50)}getNextFocusIndexForAutoHeight(e,t=!1){const o=t?-1:1,s=this.getViewportHeight(),{pageBounds:i,rowModel:n}=this.beans,r=i.getLastRow();let l=0,a=e.rowIndex;for(;a>=0&&a<=r;){const e=n.getRow(a);if(e){const t=e.rowHeight??0;if(l+t>s)break;l+=t}a+=o}return Math.max(0,Math.min(a,r))}getViewportHeight(){const e=this.beans,t=Yh(e),o=this.beans.scrollVisibleSvc.getScrollbarWidth();let s=t.bottom-t.top;return e.ctrlsSvc.get("center").isHorizontalScrollShowing()&&(s-=o),s}isRowTallerThanView(e){if(!e)return!1;const t=e.rowHeight;return"number"==typeof t&&t>this.getViewportHeight()}onCtrlUpDownLeftRight(e,t){const o=this.beans.cellNavigation.getNextCellToFocus(e,t,!0);if(!o)return;const{rowIndex:s,rowPinned:i,column:n}=this.getNormalisedPosition(o)??o,r=n;this.navigateTo({scrollIndex:s,scrollType:null,scrollColumn:r,focusIndex:s,focusColumn:r,rowPinned:i})}onHomeOrEndKey(e){const t=e===Ms,{visibleCols:o,pageBounds:s,rowModel:i}=this.beans,n=o.allCols,r=t?s.getFirstRow():s.getLastRow(),l=i.getRow(r);if(!l)return;const a=(t?n:[...n].reverse()).find(e=>!e.isSuppressNavigable(l)&&!os(e));a&&this.navigateTo({scrollIndex:r,scrollType:null,scrollColumn:a,focusIndex:r,focusColumn:a})}onTabKeyDown(e,t){const o=t.shiftKey,s=this.tabToNextCellCommon(e,o,t),i=this.beans,{ctrlsSvc:n,pageBounds:r,focusSvc:l,gos:a}=i;if(!1===s)if(o){const{rowIndex:o,rowPinned:s}=e.getRowPosition();(s?0===o:o===r.getFirstRow())&&(0===a.get("headerHeight")||An(i)?Ln(i,!0,!0):(t.preventDefault(),l.focusPreviousFromFirstCell(t)))}else e instanceof $h&&e.focusCell(!0),(l.focusOverlay(!1)||Ln(i,o))&&t.preventDefault();else s?t.preventDefault():null===s&&n.get("gridCtrl").allowFocusForNextCoreContainer(o)}tabToNextCell(e,t){const o=this.beans,{focusSvc:s,rowRenderer:i}=o,n=s.getFocusedCell();if(!n)return!1;let r=Dn(o,n);return!(!r&&(r=i.getRowByPosition(n),!r?.isFullWidth())||!this.tabToNextCellCommon(r,e,t,"api"))}tabToNextCellCommon(e,t,o,s="ui"){const{editSvc:i,focusSvc:n}=this.beans;let r;const l=e instanceof $h?e:e.getAllCellCtrls()?.[0];return r=i?.isEditing()?i?.moveToNextCell(l,t,o,s):this.moveToNextCellNotEditing(e,t,o),null===r?r:r||!!n.focusedHeader}moveToNextCellNotEditing(t,o,s){const i=this.beans.visibleCols.allCols;let n;if(t instanceof qh){if(n={...t.getRowPosition(),column:o?i[0]:e(i)},this.gos.get("embedFullWidthRows")&&s){const e=t.findFullWidthInfoForEvent(s);e&&(n.column=e.column)}}else n=t.getFocusedCellPosition();const r=this.findNextCellToFocusOn(n,{backwards:o,startEditing:!1});if(!1===r)return null;if(r instanceof $h)r.focusCell(!0);else if(r)return this.tryToFocusFullWidthRow(r,o);return l(r)}findNextCellToFocusOn(e,{backwards:t,startEditing:o,skipToNextEditableCell:s}){let i=e;const n=this.beans,{cellNavigation:r,gos:a,focusSvc:d,rowRenderer:c}=n;for(;;){e!==i&&(e=i),t||(i=this.getLastCellOfColSpan(i)),i=r.getNextTabbedCell(i,t);const h=a.getCallback("tabToNextCell");if(l(h)){const s=h({backwards:t,editing:o,previousCellPosition:e,nextCellPosition:i||null});if(!0===s)i=e;else{if(!1===s)return!1;i={rowIndex:s.rowIndex,column:s.column,rowPinned:s.rowPinned}}}if(!i)return null;if(i.rowIndex<0){const e=On(n);return d.focusHeaderPosition({headerPosition:{headerRowIndex:e+i.rowIndex,column:i.column},fromCell:!0}),null}const u="fullRow"===a.get("editType");if(o&&(!u||s)&&!this.isCellEditable(i))continue;this.ensureCellVisible(i);const g=Dn(n,i);if(!g){const e=c.getRowByPosition(i);if(!e||!e.isFullWidth()||o)continue;return{...e.getRowPosition(),column:i?.column}}if(!r.isSuppressNavigable(g.column,g.rowNode))return g.setFocusedCellPosition(i),this.setRangeToCellIfSupported(i),g}}isCellEditable(e){const t=this.lookupRowNodeForCell(e);return!!t&&e.column.isCellEditable(t)}lookupRowNodeForCell({rowIndex:e,rowPinned:t}){const{pinnedRowModel:o,rowModel:s}=this.beans;return"top"===t?o?.getPinnedTopRow(e):"bottom"===t?o?.getPinnedBottomRow(e):s.getRow(e)}navigateToNextCell(e,t,o,s){let i=o,n=!1;const r=this.beans,{cellNavigation:d,focusSvc:c,gos:h}=r;for(;i&&(i===o||!this.isValidNavigateCell(i));)h.get("enableRtl")?t===ws&&(i=this.getLastCellOfColSpan(i)):t===ys&&(i=this.getLastCellOfColSpan(i)),i=d.getNextCellToFocus(t,i),n=a(i);if(n&&e&&e.key===bs&&(i={rowIndex:-1,rowPinned:null,column:o.column}),s){const s=h.getCallback("navigateToNextCell");if(l(s)){const n=s({key:t,previousCellPosition:o,nextCellPosition:i||null,event:e});i=l(n)?{rowPinned:n.rowPinned,rowIndex:n.rowIndex,column:n.column}:null}}if(!i)return;if(i.rowIndex<0){const t=On(r);return void c.focusHeaderPosition({headerPosition:{headerRowIndex:t+i.rowIndex,column:i.column??o.column},event:e||void 0,fromCell:!0})}const u=this.getNormalisedPosition(i);u?this.focusPosition(u):this.tryToFocusFullWidthRow(i)}getNormalisedPosition(e){if(this.beans.spannedRowRenderer?.getCellByPosition(e))return e;this.ensureCellVisible(e);const t=Dn(this.beans,e);return t?(e=t.getFocusedCellPosition(),this.ensureCellVisible(e),e):null}tryToFocusFullWidthRow(t,o){const{visibleCols:s,rowRenderer:i,focusSvc:n,eventSvc:r}=this.beans,l=s.allCols;if(!i.getRowByPosition(t)?.isFullWidth())return!1;const a=n.getFocusedCell(),d={rowIndex:t.rowIndex,rowPinned:t.rowPinned,column:t.column||(o?e(l):l[0])};this.focusPosition(d);const c=null==o?null!=a&&yn(d,a):o;return r.dispatchEvent({type:"fullWidthRowFocused",rowIndex:d.rowIndex,rowPinned:d.rowPinned,column:d.column,isFullWidthCell:!0,fromBelow:c}),!0}focusPosition(e){const{focusSvc:t}=this.beans;t.setFocusedCell({rowIndex:e.rowIndex,column:e.column,rowPinned:e.rowPinned,forceBrowserFocus:!0}),this.setRangeToCellIfSupported(e)}setRangeToCellIfSupported(e){os(e.column)||this.beans.rangeSvc?.setRangeToCell(e)}isValidNavigateCell(e){return!!Fn(this.beans,e)}getLastCellOfColSpan(t){const o=Dn(this.beans,t);if(!o)return t;const s=o.getColSpanningList();return 1===s.length?t:{rowIndex:t.rowIndex,column:e(s),rowPinned:t.rowPinned}}ensureCellVisible(e){const t=Wt(this.gos),o=this.beans.rowModel.getRow(e.rowIndex),s=t&&o?.sticky,{scrollFeature:i}=this.gridBodyCon;!s&&a(e.rowPinned)&&i.ensureIndexVisible(e.rowIndex),e.column.isPinned()||i.ensureColumnVisible(e.column)}ensureColumnVisible(e){const t=this.gridBodyCon.scrollFeature;e.isPinned()||t.ensureColumnVisible(e)}ensureRowVisible(e){this.gridBodyCon.scrollFeature.ensureIndexVisible(e)}},class extends Oe{constructor(){super(...arguments),this.beanName="cellNavigation"}wireBeans(e){this.rowSpanSvc=e.rowSpanSvc}getNextCellToFocus(e,t,o=!1){return o?this.getNextCellToFocusWithCtrlPressed(e,t):this.getNextCellToFocusWithoutCtrlPressed(e,t)}getNextCellToFocusWithCtrlPressed(e,t){const o=e===bs,s=e===Ss,i=e===ws;let n,r;const{pageBounds:l,gos:a,visibleCols:d,pinnedRowModel:c}=this.beans,{rowPinned:h}=t;if(o||s)r=h&&c?o?0:"top"===h?c.getPinnedTopRowCount()-1:c.getPinnedBottomRowCount()-1:o?l.getFirstRow():l.getLastRow(),n=t.column;else{const e=a.get("enableRtl");r=t.rowIndex,n=(i!==e?d.allCols:[...d.allCols].reverse()).find(e=>!os(e)&&this.isCellGoodToFocusOn({rowIndex:r,rowPinned:null,column:e}))}return n?{rowIndex:r,rowPinned:h,column:n}:null}getNextCellToFocusWithoutCtrlPressed(e,t){let o=t,s=!1;for(;!s;){switch(e){case bs:o=this.getCellAbove(o);break;case Ss:o=this.getCellBelow(o);break;case ys:o=this.gos.get("enableRtl")?this.getCellToLeft(o):this.getCellToRight(o);break;case ws:o=this.gos.get("enableRtl")?this.getCellToRight(o):this.getCellToLeft(o);break;default:o=null,Dt(8,{key:e})}s=!o||this.isCellGoodToFocusOn(o)}return o}isCellGoodToFocusOn(e){const t=e.column;let o;const{pinnedRowModel:s,rowModel:i}=this.beans;switch(e.rowPinned){case"top":o=s?.getPinnedTopRow(e.rowIndex);break;case"bottom":o=s?.getPinnedBottomRow(e.rowIndex);break;default:o=i.getRow(e.rowIndex)}return!!o&&!this.isSuppressNavigable(t,o)}getCellToLeft(e){if(!e)return null;const t=this.beans.visibleCols.getColBefore(e.column);return t?{rowIndex:e.rowIndex,column:t,rowPinned:e.rowPinned}:null}getCellToRight(e){if(!e)return null;const t=this.beans.visibleCols.getColAfter(e.column);return t?{rowIndex:e.rowIndex,column:t,rowPinned:e.rowPinned}:null}getCellBelow(e){if(!e)return null;const t=this.rowSpanSvc?.getCellEnd(e)??e,o=En(this.beans,t,!0);return o?{rowIndex:o.rowIndex,column:e.column,rowPinned:o.rowPinned}:null}getCellAbove(e){if(!e)return null;const t=this.rowSpanSvc?.getCellStart(e)??e,o=Mn(this.beans,{rowIndex:t.rowIndex,rowPinned:t.rowPinned},!0);return o?{rowIndex:o.rowIndex,column:e.column,rowPinned:o.rowPinned}:null}getNextTabbedCell(e,t){return t?this.getNextTabbedCellBackwards(e):this.getNextTabbedCellForwards(e)}getNextTabbedCellForwards(e){const{visibleCols:t,pagination:o}=this.beans,s=t.allCols;let i=e.rowIndex,n=e.rowPinned,r=t.getColAfter(e.column);if(!r){r=s[0];const t=En(this.beans,e,!0);if(a(t))return null;if(!t.rowPinned&&!(o?.isRowInPage(t.rowIndex)??1))return null;i=t?t.rowIndex:null,n=t?t.rowPinned:null}return{rowIndex:i,column:r,rowPinned:n}}getNextTabbedCellBackwards(t){const{beans:o}=this,{visibleCols:s,pagination:i}=o,n=s.allCols;let r=t.rowIndex,l=t.rowPinned,d=s.getColBefore(t.column);if(!d){d=e(n);const s=Mn(o,{rowIndex:t.rowIndex,rowPinned:t.rowPinned},!0);if(a(s))return null;if(!s.rowPinned&&!(i?.isRowInPage(s.rowIndex)??1))return null;r=s?s.rowIndex:null,l=s?s.rowPinned:null}return{rowIndex:r,column:d,rowPinned:l}}isSuppressNavigable(e,t){const{suppressNavigable:o}=e.colDef;return"boolean"==typeof o?o:"function"==typeof o&&o(e.createColumnFunctionCallbackParams(t))}},class extends Oe{constructor(){super(...arguments),this.beanName="headerNavigation",this.currentHeaderRowWithoutSpan=-1}postConstruct(){const e=this.beans;e.ctrlsSvc.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl});const t=b(e);this.addManagedElementListeners(t,{mousedown:()=>{this.currentHeaderRowWithoutSpan=-1}})}getHeaderPositionForColumn(t,o){let s;const{colModel:i,colGroupSvc:n,ctrlsSvc:r}=this.beans;if("string"==typeof t?(s=i.getCol(t),s||(s=n?.getColumnGroup(t)??null)):s=t,!s)return null;const l=r.getHeaderRowContainerCtrl()?.getAllCtrls(),a="filter"===e(l||[]).type,d=On(this.beans)-1;let c=-1,h=s;for(;h;)c++,h=h.getParent();let u=c;return o&&a&&u===d-1&&u++,-1===u?null:{headerRowIndex:u,column:s}}navigateVertically(e,t){const{focusSvc:o,visibleCols:s}=this.beans,{focusedHeader:i}=o;if(!i)return!1;const{headerRowIndex:n}=i,r=i.column,l=On(this.beans),a=this.getHeaderRowType(n),d=s.headerGroupRowCount;let{headerRowIndex:c,column:h,headerRowIndexWithoutSpan:u}="UP"===e?function(e,t,o){const s=o-1;if("filter"!==e){const e=t instanceof Fo&&t.isSpanHeaderHeight();let o=t.getParent();for(;o&&(o.getProvidedColumnGroup().getLevel()>s||e&&o.isPadding());)o=o.getParent();if(o)return e?{column:o,headerRowIndex:o.getProvidedColumnGroup().getLevel(),headerRowIndexWithoutSpan:s}:{column:o,headerRowIndex:s,headerRowIndexWithoutSpan:s}}return{column:t,headerRowIndex:s,headerRowIndexWithoutSpan:s}}(a,r,n):function(e,t,o){const s=t+1,i={column:e,headerRowIndex:s,headerRowIndexWithoutSpan:s};if(e instanceof gs){if(s>=o)return{column:e.getDisplayedLeafColumns()[0],headerRowIndex:o,headerRowIndexWithoutSpan:s};let t=e.getDisplayedChildren()[0];if(t instanceof gs&&t.isPadding()){const e=t.getDisplayedLeafColumns()[0];e.isSpanHeaderHeight()&&(t=e)}i.column=t,t instanceof Fo&&t.isSpanHeaderHeight()&&(i.headerRowIndex=o,i.headerRowIndexWithoutSpan=s)}return i}(r,n,d),g=!1;return c<0&&(c=0,h=r,g=!0),c>=l?(c=-1,this.currentHeaderRowWithoutSpan=-1):void 0!==u&&(this.currentHeaderRowWithoutSpan=u),!(!g&&!h)&&o.focusHeaderPosition({headerPosition:{headerRowIndex:c,column:h},allowUserOverride:!0,event:t})}navigateHorizontally(e,t=!1,o){const{focusSvc:s,gos:i}=this.beans,n={...s.focusedHeader};let r,l;-1!==this.currentHeaderRowWithoutSpan?n.headerRowIndex=this.currentHeaderRowWithoutSpan:this.currentHeaderRowWithoutSpan=n.headerRowIndex,"LEFT"===e!==i.get("enableRtl")?(l="Before",r=this.findHeader(n,l)):(l="After",r=this.findHeader(n,l));const a=i.getCallback("tabToNextHeader");if(t&&a){const e=s.focusHeaderPositionFromUserFunc({userFunc:a,headerPosition:r,direction:l});if(e){const{headerRowIndex:e}=s.focusedHeader||{};null!=e&&e!=n.headerRowIndex&&(this.currentHeaderRowWithoutSpan=e)}return e}return r||!t?s.focusHeaderPosition({headerPosition:r,direction:l,fromTab:t,allowUserOverride:!0,event:o}):this.focusNextHeaderRow(n,l,o)}focusNextHeaderRow(t,o,s){const i=this.beans,n=t.headerRowIndex;let r,l=null;const a=On(i),d=this.beans.visibleCols.allCols;if("Before"===o){if(n<=0)return!1;l=e(d),r=n-1,this.currentHeaderRowWithoutSpan-=1}else l=d[0],r=n+1,this.currentHeaderRowWithoutSpan=a&&(h=-1),i.focusSvc.focusHeaderPosition({headerPosition:{column:c,headerRowIndex:h},direction:o,fromTab:!0,allowUserOverride:!0,event:s})}scrollToColumn(t,o="After"){if(t.getPinned())return;let s;if(us(t)){const i=t.getDisplayedLeafColumns();s="Before"===o?e(i):i[0]}else s=t;this.gridBodyCon.scrollFeature.ensureColumnVisible(s)}findHeader(e,t){const{colGroupSvc:o,visibleCols:s}=this.beans;let i=e.column;if(i instanceof gs){const e=i.getDisplayedLeafColumns();i="Before"===t?e[0]:e[e.length-1]}const n="Before"===t?s.getColBefore(i):s.getColAfter(i);if(!n)return;const r=s.headerGroupRowCount;if(e.headerRowIndex>=r)return{headerRowIndex:e.headerRowIndex,column:n};const l=o?.getColGroupAtLevel(n,e.headerRowIndex);return l?l.isPadding()&&n.isSpanHeaderHeight()?{headerRowIndex:s.headerGroupRowCount,column:n}:{headerRowIndex:e.headerRowIndex,column:l??n}:{headerRowIndex:n instanceof Fo&&n.isSpanHeaderHeight()?s.headerGroupRowCount:e.headerRowIndex,column:n}}getHeaderRowType(e){const t=this.beans.ctrlsSvc.getHeaderRowContainerCtrl();if(t)return t.getRowType(e)}}],apiFunctions:{getFocusedCell:function(e){return e.focusSvc.getFocusedCell()},clearFocusedCell:function(e){return e.focusSvc.clearFocusedCell()},setFocusedCell:function(e,t,o,s){e.focusSvc.setFocusedCell({rowIndex:t,column:o,rowPinned:s,forceBrowserFocus:!0})},setFocusedHeader:function(e,t,o=!1){const s=e.headerNavigation?.getHeaderPositionForColumn(t,o);s&&e.focusSvc.focusHeaderPosition({headerPosition:s})},tabToNextCell:function(e,t){return e.navigation?.tabToNextCell(!1,t)??!1},tabToPreviousCell:function(e,t){return e.navigation?.tabToNextCell(!0,t)??!1}}},Qh=class extends Oe{constructor(e,t){super(),this.isLeft=e,this.elements=t,this.getWidth=e?()=>this.beans.pinnedCols.leftWidth:()=>this.beans.pinnedCols.rightWidth}postConstruct(){this.addManagedEventListeners({[(this.isLeft?"left":"right")+"PinnedWidthChanged"]:this.onPinnedWidthChanged.bind(this)})}onPinnedWidthChanged(){const e=this.getWidth(),t=e>0;for(const o of this.elements)o&&(K(o,t),pe(o,e))}},Xh={moduleName:"PinnedColumn",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="pinnedCols"}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl});const e=this.checkContainerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}checkContainerWidths(){const{gos:e,visibleCols:t,eventSvc:o}=this.beans,s=kt(e,"print"),i=s?0:t.getColsLeftWidth(),n=s?0:t.getDisplayedColumnsRightWidth();i!=this.leftWidth&&(this.leftWidth=i,o.dispatchEvent({type:"leftPinnedWidthChanged"})),n!=this.rightWidth&&(this.rightWidth=n,o.dispatchEvent({type:"rightPinnedWidthChanged"}))}keepPinnedColumnsNarrowerThanViewport(){const e=Q(this.gridBodyCtrl.eBodyViewport);if(e<=50)return;const t=this.getPinnedColumnsOverflowingViewport(e-50),o=this.gos.getCallback("processUnpinnedColumns"),{columns:s,hasLockedPinned:i}=t;let n=s;(n.length||i)&&(o&&(n=o({columns:n,viewportWidth:e})),n?.length&&(n=n.filter(e=>!os(e)),this.setColsPinned(n,null,"viewportSizeFeature")))}createPinnedWidthFeature(e,...t){return new Qh(e,t)}setColsPinned(e,t,o){const{colModel:s,colAnimation:i,visibleCols:n,gos:r}=this.beans;if(!s.cols)return;if(!e?.length)return;if(kt(r,"print"))return void Dt(37);let l;i?.start(),l=!0===t||"left"===t?"left":"right"===t?"right":null;const a=[];for(const d of e){if(!d)continue;const e=s.getCol(d);e&&e.getPinned()!==l&&(this.setColPinned(e,l),a.push(e))}a.length&&(n.refresh(o),ba(this.eventSvc,a,o)),i?.finish()}initCol(e){const{pinned:t,initialPinned:o}=e.colDef;void 0!==t?this.setColPinned(e,t):this.setColPinned(e,o)}setColPinned(e,t){e.pinned=!0===t||"left"===t?"left":"right"===t?"right":null,e.dispatchStateUpdatedEvent("pinned")}setupHeaderPinnedWidth(e){const{scrollVisibleSvc:t}=this.beans;if(null==e.pinned)return;const o="left"===e.pinned,s="right"===e.pinned;e.hidden=!0;const i=()=>{const i=o?this.leftWidth:this.rightWidth;if(null==i)return;const n=0==i,r=e.hidden!==n,l=this.gos.get("enableRtl"),a=t.getScrollbarWidth(),d=t.verticalScrollShowing&&(l&&o||!l&&s)?i+a:i;e.comp.setPinnedContainerWidth(`${d}px`),e.comp.setDisplayed(!n),r&&(e.hidden=n,e.refresh())};e.addManagedEventListeners({leftPinnedWidthChanged:i,rightPinnedWidthChanged:i,scrollVisibilityChanged:i,scrollbarWidthChanged:i})}getHeaderResizeDiff(e,t){if(t.getPinned()){const{leftWidth:t,rightWidth:o}=this,s=Q(this.beans.ctrlsSvc.getGridBodyCtrl().eBodyViewport)-50;if(t+o+e>s){if(!(s>t+o))return 0;e=s-t-o}}return e}getPinnedColumnsOverflowingViewport(e){const t=(this.rightWidth??0)+(this.leftWidth??0);let o=!1;if(t0;){if(r0){const e=i[l++];if(e.colDef.lockPinned){o=!0;continue}d-=e.getActualWidth(),a.push(e)}}return{columns:a,hasLockedPinned:o}}}],css:[".ag-pinned-left-floating-bottom,.ag-pinned-left-floating-top,.ag-pinned-right-floating-bottom,.ag-pinned-right-floating-top{min-width:0;overflow:hidden;position:relative}.ag-pinned-left-sticky-top,.ag-pinned-right-sticky-top{height:100%;overflow:hidden;position:relative}.ag-sticky-bottom-full-width-container,.ag-sticky-top-full-width-container{height:100%;overflow:hidden;width:100%}.ag-pinned-left-header,.ag-pinned-right-header{display:inline-block;height:100%;overflow:hidden;position:relative}.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible){.ag-horizontal-left-spacer:not(.ag-scroller-corner){border-right:var(--ag-pinned-column-border)}.ag-horizontal-right-spacer:not(.ag-scroller-corner){border-left:var(--ag-pinned-column-border)}}.ag-pinned-right-header{border-left:var(--ag-pinned-column-border)}.ag-pinned-left-header{border-right:var(--ag-pinned-column-border)}.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left,.ag-cell-range-single-cell,.ag-cell-focus:not(.ag-cell-range-selected):focus-within){border-left:var(--ag-pinned-column-border)}.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right,.ag-cell-range-single-cell,.ag-cell-focus:not(.ag-cell-range-selected):focus-within){border-right:var(--ag-pinned-column-border)}.ag-pinned-left-header .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-pinned-right-header .ag-header-cell-resize:after{left:50%}.ag-pinned-left-header .ag-header-cell-resize{right:-3px}.ag-pinned-right-header .ag-header-cell-resize{left:-3px}"]},Jh=class extends He{constructor(){super(),this.beanName="ariaAnnounce",this.descriptionContainer=null,this.pendingAnnouncements=/* @__PURE__ */new Map,this.lastAnnouncement="",this.updateAnnouncement=je(this,this.updateAnnouncement.bind(this),200)}postConstruct(){const e=this.beans,t=this.descriptionContainer=b(e).createElement("div");t.classList.add("ag-aria-description-container"),A(t,"polite"),x(t,"relevant","additions text"),x(t,"atomic",!0),e.eRootDiv.appendChild(t)}announceValue(e,t){this.pendingAnnouncements.set(t,e),this.updateAnnouncement()}updateAnnouncement(){if(!this.descriptionContainer)return;const e=Array.from(this.pendingAnnouncements.values()).join(". ");this.pendingAnnouncements.clear(),this.descriptionContainer.textContent="",setTimeout(()=>{this.handleAnnouncementUpdate(e)},50)}handleAnnouncementUpdate(e){if(!this.isAlive()||!this.descriptionContainer)return;let t=e;null!=t&&""!=t.replace(/[ .]/g,"")?(this.lastAnnouncement===t&&(t=`${t}​`),this.lastAnnouncement=t,this.descriptionContainer.textContent=t):this.lastAnnouncement=""}destroy(){super.destroy();const{descriptionContainer:e}=this;e&&(se(e),e.remove()),this.descriptionContainer=null,this.pendingAnnouncements.clear()}},eu={moduleName:"Aria",version:mt,beans:[class extends Jh{}]},tu="ag-delay-render",ou={moduleName:"ColumnDelayRender",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="colDelayRenderSvc",this.hideRequested=!1,this.alreadyRevealed=!1,this.timesRetried=0,this.requesters=/* @__PURE__ */new Set}hideColumns(e){this.alreadyRevealed||this.requesters.has(e)||(this.requesters.add(e),this.hideRequested||(this.beans.ctrlsSvc.whenReady(this,e=>{e.gridBodyCtrl.eGridBody.classList.add(tu)}),this.hideRequested=!0))}revealColumns(e){if(this.alreadyRevealed||!this.isAlive())return;if(this.requesters.delete(e),this.requesters.size>0)return;const{renderStatus:t,ctrlsSvc:o}=this.beans;if(t){if(!t.areHeaderCellsRendered()&&this.timesRetried<5)return this.timesRetried++,void setTimeout(()=>this.revealColumns(e));this.timesRetried=0}o.getGridBodyCtrl().eGridBody.classList.remove(tu),this.alreadyRevealed=!0}}],css:[":where(.ag-delay-render){.ag-cell,.ag-header-cell,.ag-header-group-cell,.ag-row,.ag-spanned-cell-wrapper{visibility:hidden}}"]},su=class extends Pi{constructor(){super()}},iu={tag:"div",cls:"ag-overlay-exporting-center",children:[{tag:"span",ref:"eExportingIcon",cls:"ag-loading-icon"},{tag:"span",ref:"eExportingText",cls:"ag-exporting-text"}]},nu={tag:"div",cls:"ag-overlay-loading-center",children:[{tag:"span",ref:"eLoadingIcon",cls:"ag-loading-icon"},{tag:"span",ref:"eLoadingText",cls:"ag-loading-text"}]},ru={tag:"span",cls:"ag-overlay-no-matching-rows-center"},lu={tag:"span",cls:"ag-overlay-no-rows-center"},au={tag:"div",cls:"ag-overlay",role:"presentation",children:[{tag:"div",cls:"ag-overlay-panel",role:"presentation",children:[{tag:"div",ref:"eOverlayWrapper",cls:"ag-overlay-wrapper",role:"presentation"}]}]},du=class extends Pi{constructor(){super(au),this.eOverlayWrapper=null,this.activeOverlay=null,this.activePromise=null,this.activeCssClass=null,this.elToFocusAfter=null,this.overlayExclusive=!1,this.oldWrapperPadding=null,this.registerCSS(".ag-overlay{inset:0;pointer-events:none;position:absolute;z-index:2}.ag-overlay-panel,.ag-overlay-wrapper{display:flex;height:100%;width:100%}.ag-overlay-wrapper{align-items:center;flex:none;justify-content:center;text-align:center}.ag-overlay-exporting-wrapper,.ag-overlay-loading-wrapper,.ag-overlay-modal-wrapper{pointer-events:all}.ag-overlay-exporting-center,.ag-overlay-loading-center{background:var(--ag-background-color);border:solid var(--ag-border-width) var(--ag-border-color);border-radius:var(--ag-border-radius);box-shadow:var(--ag-popup-shadow);display:flex;padding:var(--ag-spacing)}")}handleKeyDown(t){if(t.key!==ms||t.defaultPrevented||Yi(t))return;const{beans:o,eOverlayWrapper:s}=this;if(s&&Ui(o,s,!1,t.shiftKey))return;let i=!1;i=t.shiftKey?o.focusSvc.focusGridView({column:e(o.visibleCols.allCols),backwards:!0,canFocusOverlay:!1}):Ln(o,!1),i&&t.preventDefault()}updateLayoutClasses(e,t){const o=this.eOverlayWrapper;if(!o)return;const s=o.classList,{AUTO_HEIGHT:i,NORMAL:n,PRINT:r}=Sr;s.toggle(i,t.autoHeight),s.toggle(n,t.normal),s.toggle(r,t.print)}postConstruct(){this.createManagedBean(new Rr(this)),this.setDisplayed(!1,{skipAriaHidden:!0}),this.beans.overlays.setWrapperComp(this,!1),this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)}),this.addManagedEventListeners({gridSizeChanged:this.refreshWrapperPadding.bind(this)})}setWrapperTypeClass(e){const t=this.eOverlayWrapper?.classList;t?(this.activeCssClass&&t.toggle(this.activeCssClass,!1),this.activeCssClass=e,t.toggle(e,!0)):this.activeCssClass=null}showOverlay(e,t,o){if(this.destroyActiveOverlay(),this.elToFocusAfter=null,this.activePromise=e,this.overlayExclusive=o,!e)return this.refreshWrapperPadding(),Ns.resolve();if(this.setWrapperTypeClass(t),this.setDisplayed(!0,{skipAriaHidden:!0}),this.refreshWrapperPadding(),o&&this.isGridFocused()){const e=w(this.beans);e&&!y(this.beans)&&(this.elToFocusAfter=e)}return e.then(t=>{const s=this.eOverlayWrapper;s?this.activePromise===e?(this.activePromise=null,t&&(this.activeOverlay!==t&&(s.appendChild(t.getGui()),this.activeOverlay=t),o&&this.isGridFocused()&&Wi(s))):this.activeOverlay!==t&&(this.destroyBean(t),t=null):this.destroyBean(t)}),e}refreshWrapperPadding(){if(!this.eOverlayWrapper)return void(this.oldWrapperPadding=null);let e=0;(!!this.activeOverlay||!!this.activePromise)&&!this.overlayExclusive&&(e=this.beans.ctrlsSvc.get("gridHeaderCtrl")?.headerHeight||0),e!==this.oldWrapperPadding&&(this.oldWrapperPadding=e,this.eOverlayWrapper.style.setProperty("padding-top",`${e}px`))}destroyActiveOverlay(){this.activePromise=null;const e=this.activeOverlay;if(!e)return this.overlayExclusive=!1,this.elToFocusAfter=null,void this.refreshWrapperPadding();let t=this.elToFocusAfter;this.elToFocusAfter=null,this.activeOverlay=null,this.overlayExclusive=!1,t&&!this.isGridFocused()&&(t=null),this.destroyBean(e);const o=this.eOverlayWrapper;o&&se(o),t?.focus?.({preventScroll:!0}),this.refreshWrapperPadding()}hideOverlay(){this.destroyActiveOverlay(),this.setDisplayed(!1,{skipAriaHidden:!0})}isGridFocused(){const e=w(this.beans);return!!e&&this.beans.eGridDiv.contains(e)}destroy(){this.elToFocusAfter=null,this.destroyActiveOverlay(),this.beans.overlays.setWrapperComp(this,!0),super.destroy(),this.eOverlayWrapper=null}},cu={selector:"AG-OVERLAY-WRAPPER",component:du},hu=["refresh"],uu=e=>({name:e,optionalMethods:hu}),gu={id:"agLoadingOverlay",overlayType:"loading",comp:uu("loadingOverlayComponent"),wrapperCls:"ag-overlay-loading-wrapper",exclusive:!0,compKey:"loadingOverlayComponent",paramsKey:"loadingOverlayComponentParams",isSuppressed:e=>{const t=e.get("loading");return!1===t||!0===e.get("suppressLoadingOverlay")&&!0!==t}},pu={id:"agNoRowsOverlay",overlayType:"noRows",comp:uu("noRowsOverlayComponent"),wrapperCls:"ag-overlay-no-rows-wrapper",compKey:"noRowsOverlayComponent",paramsKey:"noRowsOverlayComponentParams",isSuppressed:e=>e.get("suppressNoRowsOverlay")},mu={id:"agNoMatchingRowsOverlay",overlayType:"noMatchingRows",comp:uu("noMatchingRowsOverlayComponent"),wrapperCls:"ag-overlay-no-matching-rows-wrapper"},fu={id:"agExportingOverlay",overlayType:"exporting",comp:uu("exportingOverlayComponent"),wrapperCls:"ag-overlay-exporting-wrapper",exclusive:!0},Cu={id:"activeOverlay",comp:uu("activeOverlay"),wrapperCls:"ag-overlay-modal-wrapper",exclusive:!0},vu={moduleName:"Overlay",version:mt,userComponents:{agLoadingOverlay:class extends su{constructor(){super(...arguments),this.eLoadingIcon=null,this.eLoadingText=null}init(e){const{beans:t,gos:o}=this,s=r(o.get("overlayLoadingTemplate")?.trim());if(this.setTemplate(s??nu),!s){const o=Ol("overlayLoading",t,null);o&&this.eLoadingIcon.appendChild(o);const s=e.loading?.overlayText??this.getLocaleTextFunc()("loadingOoo","Loading...");this.eLoadingText.textContent=s,t.ariaAnnounce.announceValue(s,"overlay")}}},agNoRowsOverlay:class extends su{init(e){const{beans:t,gos:o}=this,s=r(o.get("overlayNoRowsTemplate")?.trim());if(this.setTemplate(s??lu),!s){const o=e.noRows?.overlayText??this.getLocaleTextFunc()("noRowsToShow","No Rows To Show");this.getGui().textContent=o,t.ariaAnnounce.announceValue(o,"overlay")}}},agNoMatchingRowsOverlay:class extends su{init(e){const{beans:t}=this;this.setTemplate(ru);const o=e.noMatchingRows?.overlayText??this.getLocaleTextFunc()("noMatchingRows","No Matching Rows");this.getGui().textContent=o,t.ariaAnnounce.announceValue(o,"overlay")}},agExportingOverlay:class extends su{constructor(){super(...arguments),this.eExportingIcon=null,this.eExportingText=null}init(e){const{beans:t}=this;this.setTemplate(iu);const o=Ol("overlayExporting",t,null);o&&this.eExportingIcon.appendChild(o);const s=e.exporting?.overlayText??this.getLocaleTextFunc()("exportingOoo","Exporting...");this.eExportingText.textContent=s,t.ariaAnnounce.announceValue(s,"overlay")}}},apiFunctions:{showLoadingOverlay:function(e){e.overlays?.showLoadingOverlay()},showNoRowsOverlay:function(e){e.overlays?.showNoRowsOverlay()},hideOverlay:function(e){e.overlays?.hideOverlay()}},icons:{overlayLoading:"loading",overlayExporting:"loading"},beans:[class extends Oe{constructor(){super(...arguments),this.beanName="overlays",this.eWrapper=void 0,this.exclusive=!1,this.oldExclusive=!1,this.currentDef=null,this.showInitialOverlay=!0,this.userForcedNoRows=!1,this.exportsInProgress=0,this.newColumnsLoadedCleanup=null}postConstruct(){const e=this.gos;this.showInitialOverlay=It(e);const t=()=>{this.userForcedNoRows||this.updateOverlay(!1)},[o,s,i,n]=this.addManagedEventListeners({newColumnsLoaded:t,rowCountReady:()=>{this.disableInitialOverlay(),t(),s()},rowDataUpdated:t,modelUpdated:t});this.newColumnsLoadedCleanup=o,this.addManagedPropertyListeners(["loading","activeOverlay","activeOverlayParams","overlayComponentParams","loadingOverlayComponentParams","noRowsOverlayComponentParams"],e=>this.onPropChange(new Set(e.changeSet?.properties)))}destroy(){this.doHideOverlay(),super.destroy(),this.eWrapper=void 0}setWrapperComp(e,t){this.isAlive()&&(t?this.eWrapper===e&&(this.eWrapper=void 0):this.eWrapper=e,this.updateOverlay(!1))}isVisible(){return!!this.currentDef}showLoadingOverlay(){this.showInitialOverlay=!1;const e=this.gos;if(!this.eWrapper||e.get("activeOverlay"))return;if(this.isDisabled(gu))return;const t=e.get("loading");(t||void 0===t)&&this.doShowOverlay(gu)}showNoRowsOverlay(){this.showInitialOverlay=!1;const e=this.gos;!this.eWrapper||e.get("activeOverlay")||e.get("loading")||this.isDisabled(pu)||(this.userForcedNoRows=!0,this.doShowOverlay(pu))}async showExportOverlay(e){const{gos:t,beans:o}=this;if(!this.eWrapper||t.get("activeOverlay")||t.get("loading")||this.isDisabled(fu)||this.userForcedNoRows&&this.currentDef===pu)return void e();const s=this.getDesiredDefWithOverride(fu);if(!s)return void e();this.exportsInProgress++,this.focusedCell=o.focusSvc.getFocusedCell(),await this.doShowOverlay(s),await new Promise(e=>setTimeout(()=>e()));const i=Date.now();try{e()}finally{const e=Date.now()-i,t=Math.max(0,300-e),s=()=>{this.exportsInProgress--,0===this.exportsInProgress&&(this.updateOverlay(!1),function(e,t){const o=e.focusSvc,s=o.getFocusedCell();if(s&&t&&bn(s,t)){const{rowIndex:s,rowPinned:i,column:n}=t;y(e)&&o.setFocusedCell({rowIndex:s,column:n,rowPinned:i,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!Vi()})}}(o,this.focusedCell),this.focusedCell=null)};t>0?setTimeout(()=>s(),t):s()}}hideOverlay(){const e=this.gos;this.showInitialOverlay=!1;const t=this.userForcedNoRows;this.userForcedNoRows=!1,e.get("loading")?Dt(99):e.get("activeOverlay")?Dt(296):this.currentDef!==mu?(this.doHideOverlay(),t&&this.getOverlayDef()!==pu&&this.updateOverlay(!1)):Dt(297)}getOverlayWrapperSelector(){return cu}getOverlayWrapperCompClass(){return du}onPropChange(e){const t=e.has("activeOverlay");if((t||e.has("loading"))&&this.updateOverlay(t))return;const o=this.currentDef,s=this.eWrapper?.activeOverlay;if(s&&o){const t=e.has("activeOverlayParams");if(o===Cu)t&&s.refresh?.(this.makeCompParams(!0));else{const t=o.paramsKey;(e.has("overlayComponentParams")||t&&e.has(t))&&s.refresh?.(this.makeCompParams(!1,t,o.overlayType))}}}updateOverlay(e){const t=this.eWrapper;if(!t)return this.currentDef=null,!1;const o=this.getDesiredDefWithOverride(),s=this.currentDef,i=o===Cu&&e;return o!==s?o?(this.doShowOverlay(o),!0):(this.disableInitialOverlay(),this.doHideOverlay()):i&&o?(t.hideOverlay(),this.doShowOverlay(o),!0):(o||this.disableInitialOverlay(),!1)}getDesiredDefWithOverride(e){const{gos:t}=this;let o=(s=t.get("activeOverlay"))?{agLoadingOverlay:gu,agNoRowsOverlay:pu,agNoMatchingRowsOverlay:mu,agExportingOverlay:fu}[s]??Cu:null;var s;return o||(o=e??this.getOverlayDef(),o&&this.isDisabled(o)&&(o=null)),o}getOverlayDef(){const{gos:e,beans:t}=this,{rowModel:o}=t,s=e.get("loading");if(void 0!==s){if(this.disableInitialOverlay(),s)return gu}else if(this.showInitialOverlay){if(!(this.isDisabled(gu)||e.get("columnDefs")&&e.get("rowData")))return gu;this.disableInitialOverlay()}else this.disableInitialOverlay();return(i=o.getOverlayType())?{loading:gu,noRows:pu,noMatchingRows:mu,exporting:fu}[i]:null;var i}disableInitialOverlay(){this.showInitialOverlay=!1,this.newColumnsLoadedCleanup?.(),this.newColumnsLoadedCleanup=null}doShowOverlay(e){const{gos:t,beans:o}=this,{userCompFactory:s}=o;this.currentDef=e;const i=e!==Cu,n=!!e.exclusive;let r,l;this.exclusive=n,(e.paramsKey&&t.get(e.paramsKey)||e.compKey&&t.get(e.compKey))&&(r=e.paramsKey),i&&(t.get("overlayComponent")||t.get("overlayComponentSelector"))&&(l=s.getCompDetailsFromGridOptions({name:"overlayComponent",optionalMethods:["refresh"]},void 0,this.makeCompParams(!1,e.paramsKey,e.overlayType))),l??(l=s.getCompDetailsFromGridOptions(e.comp,i?e.id:void 0,this.makeCompParams(!i,r,e.overlayType),!1));const a=l?.newAgStackInstance()??null,d=this.eWrapper?this.eWrapper.showOverlay(a,e.wrapperCls,n):Ns.resolve();return this.eWrapper?.refreshWrapperPadding(),this.setExclusive(n),d}makeCompParams(e,t,o){const{gos:s}=this;return Co(s,(e?s.get("activeOverlayParams"):{...s.get("overlayComponentParams"),...t&&s.get(t)||null,overlayType:o})??{})}doHideOverlay(){let e=!1;this.currentDef&&(this.currentDef=null,e=!0),this.exclusive=!1;const t=this.eWrapper;return t&&(t.hideOverlay(),t.refreshWrapperPadding(),this.setExclusive(!1)),e}setExclusive(e){this.oldExclusive!==e&&(this.oldExclusive=e,this.eventSvc.dispatchEvent({type:"overlayExclusiveChanged"}))}isDisabled(e){const{gos:t}=this;return e.overlayType&&t.get("suppressOverlays")?.includes(e.overlayType)||!0===e.isSuppressed?.(t)}}]},wu=class{constructor(e){this.entriesMap={},this.entriesList=[],this.maxCount=e}addRow(e){if(this.entriesMap[e.rowNode.id]=e,this.entriesList.push(e),e.setCached(!0),this.entriesList.length>this.maxCount){const e=this.entriesList[0];e.destroyFirstPass(),e.destroySecondPass(),this.removeFromCache(e)}}getRow(e){if(null==e?.id)return null;const t=this.entriesMap[e.id];return t?(this.removeFromCache(t),t.setCached(!1),t.rowNode!=e?null:t):null}has(e){return null!=this.entriesMap[e.id]}removeRow(e){const t=e.id,o=this.entriesMap[t];delete this.entriesMap[t],s(this.entriesList,o)}removeFromCache(e){const t=e.rowNode.id;delete this.entriesMap[t],s(this.entriesList,e)}getEntries(){return this.entriesList}};function bu(e){if(!e)return;const t={top:{},bottom:{},normal:{}};for(const o of e){const e=o.id;switch(o.rowPinned){case"top":t.top[e]=o;break;case"bottom":t.bottom[e]=o;break;default:t.normal[e]=o}}return t}function yu(e,t){const o=e.id;switch(e.rowPinned){case"top":return null!=t.top[o];case"bottom":return null!=t.bottom[o];default:return null!=t.normal[o]}}var Su=e=>{if(e.data)return e;let t=e.childrenAfterGroup;for(;t?.length;){const e=t[0];if(e.data)return e;t=e.childrenAfterGroup}},Ru=e=>{if(!e)return e;if("bigint"==typeof e)return e<0n?-e:e;const t=Number(e);return isNaN(t)?e:Math.abs(t)},xu=(e,t)=>({tag:"span",ref:`eSort${e}`,cls:`ag-sort-indicator-icon ag-sort-${t} ag-hidden`,attrs:{"aria-hidden":"true"}}),Fu={tag:"span",cls:"ag-sort-indicator-container",children:[xu("Order","order"),xu("Asc","ascending-icon"),xu("Desc","descending-icon"),xu("Mixed","mixed-icon"),xu("AbsoluteAsc","absolute-ascending-icon"),xu("AbsoluteDesc","absolute-descending-icon"),xu("None","none-icon")]},Du=class extends Pi{constructor(e){super(),this.eSortOrder=null,this.eSortAsc=null,this.eSortDesc=null,this.eSortMixed=null,this.eSortNone=null,this.eSortAbsoluteAsc=null,this.eSortAbsoluteDesc=null,e||this.setTemplate(Fu)}attachCustomElements(e,t,o,s,i,n,r){this.eSortOrder=e,this.eSortAsc=t,this.eSortDesc=o,this.eSortMixed=s,this.eSortNone=i,this.eSortAbsoluteAsc=n,this.eSortAbsoluteDesc=r}setupSort(e,t=!1,o){if(this.column=e,this.suppressOrder=t,this.getSortDefOverride=o,this.setupMultiSortIndicator(),!e.isSortable()&&!e.getColDef().showRowGroup)return;this.addInIcon("sortAscending",this.eSortAsc,e),this.addInIcon("sortDescending",this.eSortDesc,e),this.addInIcon("sortUnSort",this.eSortNone,e),this.addInIcon("sortAbsoluteAscending",this.eSortAbsoluteAsc,e),this.addInIcon("sortAbsoluteDescending",this.eSortAbsoluteDesc,e);const s=this.updateIcons.bind(this),i=this.onSortChanged.bind(this);this.addManagedPropertyListener("unSortIcon",s),this.addManagedEventListeners({newColumnsLoaded:s,sortChanged:i,columnRowGroupChanged:i}),this.onSortChanged()}addInIcon(e,t,o){if(null==t)return;const s=Ol(e,this.beans,o);s&&t.appendChild(s)}onSortChanged(){this.updateIcons(),this.suppressOrder||this.updateSortOrder()}updateIcons(){const{eSortAsc:e,eSortDesc:t,eSortAbsoluteAsc:o,eSortAbsoluteDesc:s,eSortNone:i,column:n,gos:r,beans:l}=this,a=ko(n,l,this.getSortDefOverride),d=a.isDefaultSortAllowed,c=a.isAbsoluteSortAllowed,{isAbsoluteSort:h,isDefaultSort:u,isAscending:g,isDescending:p,direction:m}=a;e&&K(e,g&&u&&d,{skipAriaHidden:!0}),t&&K(t,p&&u&&d,{skipAriaHidden:!0}),i&&K(i,!(!n.getColDef().unSortIcon&&!r.get("unSortIcon")||m),{skipAriaHidden:!0}),o&&K(o,g&&h&&c,{skipAriaHidden:!0}),s&&K(s,p&&h&&c,{skipAriaHidden:!0})}setupMultiSortIndicator(){const{eSortMixed:e,column:t,gos:o}=this;this.addInIcon("sortUnSort",e,t);const s=t.getColDef().showRowGroup;Ut(o)&&s&&(this.addManagedEventListeners({sortChanged:this.updateMultiSortIndicator.bind(this),columnRowGroupChanged:this.updateMultiSortIndicator.bind(this)}),this.updateMultiSortIndicator())}updateMultiSortIndicator(){const{eSortMixed:e,beans:t,column:o}=this;e&&K(e,"mixed"===t.sortSvc.getDisplaySortForColumn(o)?.direction,{skipAriaHidden:!0})}updateSortOrder(){const{eSortOrder:e,column:t,beans:{sortSvc:o}}=this;if(!e)return;const s=o.getColumnsWithSortingOrdered(),i=o.getDisplaySortIndexForColumn(t)??-1,n=s.some(e=>o.getDisplaySortIndexForColumn(e)??!1);K(e,i>=0&&n,{skipAriaHidden:!0}),i>=0?e.textContent=(i+1).toString():se(e)}refresh(){this.onSortChanged()}},Mu={selector:"AG-SORT-INDICATOR",component:Du},Pu={moduleName:"Sort",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="sortSvc"}progressSort(e,t,o){const s=this.getNextSortDirection(e);this.setSortForColumn(e,s,t,o)}progressSortFromEvent(e,t){const o="ctrl"===this.gos.get("multiSortKey")?t.ctrlKey||t.metaKey:t.shiftKey;this.progressSort(e,o,"uiColumnSorted")}setSortForColumn(e,t,o,s){const{gos:i,showRowGroupCols:n}=this.beans;let r=[e];if(Ut(i)&&e.getColDef().showRowGroup){const t=(n?.getSourceColumnsForGroupColumn?.(e))?.filter(e=>e.isSortable());t&&(r=[e,...t])}for(const a of r)this.setColSort(a,t,s);const l=[];if(!o&&!i.get("alwaysMultiSort")||i.get("suppressMultiSort")){const e=this.clearSortBarTheseColumns(r,s);l.push(...e)}this.updateSortIndex(e),l.push(...r),this.dispatchSortChangedEvents(s,l)}updateSortIndex(e){const{gos:t,colModel:o,showRowGroupCols:s}=this.beans,i=Ut(t),n=s?.getShowRowGroupCol(e.getId()),r=i&&n||e,l=this.getColumnsWithSortingOrdered();o.forAllCols(e=>this.setColSortIndex(e,null));const a=l.filter(e=>!(i&&e.getColDef().showRowGroup||e===r));(r.getSortDef()?[...a,r]:a).forEach((e,t)=>this.setColSortIndex(e,t))}onSortChanged(e,t){this.dispatchSortChangedEvents(e,t)}isSortActive(){let e=!1;return this.beans.colModel.forAllCols(t=>{if(t.getSortDef())return e=!0,!0}),e}dispatchSortChangedEvents(e,t){const o={type:"sortChanged",source:e};t&&(o.columns=t),this.eventSvc.dispatchEvent(o)}clearSortBarTheseColumns(e,t){const o=[];return this.beans.colModel.forAllCols(s=>{e.includes(s)||(s.getSortDef()&&o.push(s),this.setColSort(s,void 0,t))}),o}getNextSortDirection(e,t){const o=e.getSortingOrder(),s=void 0===t?e.getSortDef():Do(t);let i=o.findIndex(e=>To(e,s))+1;return i>=o.length&&(i=0),Do(o[i])}getIndexedSortMap(){const{gos:e,colModel:t,showRowGroupCols:o,rowGroupColsSvc:s}=this.beans;let i=[];if(t.forAllCols(e=>{e.getSortDef()&&i.push(e)}),t.isPivotMode()){const t=Ut(e);i=i.filter(e=>{const s=!!e.getAggFunc(),i=!e.isPrimary(),n=t?o?.getShowRowGroupCol(e.getId()):e.getColDef().showRowGroup;return s||i||n})}const n=s?.columns.filter(e=>!!e.getSortDef())??[],r={};i.forEach((e,t)=>r[e.getId()]=t),i.sort((e,t)=>{const o=e.getSortIndex(),s=t.getSortIndex();return null!=o&&null!=s?o-s:null==o&&null==s?r[e.getId()]>r[t.getId()]?1:-1:null==s?-1:1});const l=Ut(e)&&!!n.length;l&&(i=[...new Set(i.map(e=>o?.getShowRowGroupCol(e.getId())??e))]);const a=/* @__PURE__ */new Map;if(i.forEach((e,t)=>a.set(e,t)),l)for(const d of n){const e=o.getShowRowGroupCol(d.getId());a.set(d,a.get(e))}return a}getColumnsWithSortingOrdered(){return[...this.getIndexedSortMap().entries()].sort(([,e],[,t])=>e-t).map(([e])=>e)}collectSortItems(e=!1){const t=[],o=this.getColumnsWithSortingOrdered();for(const s of o){const o=s.getSortDef()?.direction;if(!o)continue;const i={sort:o,type:Ao(s.getSortDef()?.type)};e?i.colId=s.getId():i.column=s,t.push(i)}return t}getSortModel(){return this.collectSortItems(!0)}getSortOptions(){return this.collectSortItems()}canColumnDisplayMixedSort(e){const t=Ut(this.gos),o=!!e.getColDef().showRowGroup;return t&&o}getDisplaySortForColumn(e){const t=this.beans.showRowGroupCols?.getSourceColumnsForGroupColumn(e);if(!this.canColumnDisplayMixedSort(e)||!t?.length)return e.getSortDef();const o=null!=e.getColDef().field||e.getColDef().valueGetter?[e,...t]:t,s=o[0].getSortDef();return o.every(e=>To(e.getSortDef(),s))?s:{type:Ao(e.getSortDef()?.type),direction:"mixed"}}getDisplaySortIndexForColumn(e){return this.getIndexedSortMap().get(e)}setupHeader(e,t){const o=()=>{const{type:o,direction:s}=Do(t.getSortDef());if(e.toggleCss("ag-header-cell-sorted-asc","asc"===s),e.toggleCss("ag-header-cell-sorted-desc","desc"===s),e.toggleCss("ag-header-cell-sorted-abs-asc","absolute"===o&&"asc"===s),e.toggleCss("ag-header-cell-sorted-abs-desc","absolute"===o&&"desc"===s),e.toggleCss("ag-header-cell-sorted-none",!s),t.getColDef().showRowGroup){const o=!(this.beans.showRowGroupCols?.getSourceColumnsForGroupColumn(t))?.every(e=>s==e.getSortDef()?.direction);e.toggleCss("ag-header-cell-sorted-mixed",o)}};e.addManagedEventListeners({sortChanged:o,columnPinned:o,columnRowGroupChanged:o,displayedColumnsChanged:o})}initCol(e){const{sortIndex:t,initialSortIndex:o}=e.colDef,s=cs(e.colDef);s&&e.setSortDef(s,!0),void 0!==t?null!==t&&(e.sortIndex=t):null!==o&&(e.sortIndex=o)}updateColSort(e,t,o){void 0!==t&&this.setColSort(e,Do(t),o)}setColSort(e,t,o){To(e.getSortDef(),t)||(e.setSortDef(Do(t),void 0===t),e.dispatchColEvent("sortChanged",o)),e.dispatchStateUpdatedEvent("sort")}setColSortIndex(e,t){e.sortIndex=t,e.dispatchStateUpdatedEvent("sortIndex")}createSortIndicator(e){return new Du(e)}getSortIndicatorSelector(){return Mu}},class extends Oe{constructor(){super(...arguments),this.beanName="rowNodeSorter",this.accentedSort=!1,this.primaryColumnsSortGroups=!1,this.pivotActive=!1}postConstruct(){this.firstLeaf=It(this.gos)?ea:Su,this.addManagedPropertyListeners(["accentedSort","autoGroupColumnDef","treeData"],this.updateOptions.bind(this));const e=this.updatePivotModeState.bind(this);this.addManagedEventListeners({columnPivotModeChanged:e,columnPivotChanged:e}),this.updateOptions(),e()}updateOptions(){this.accentedSort=!!this.gos.get("accentedSort"),this.primaryColumnsSortGroups=Ut(this.gos)}updatePivotModeState(){this.pivotActive=this.beans.colModel.isPivotActive()}doFullSortInPlace(e,t){return e.sort((e,o)=>this.compareRowNodes(t,e,o))}compareRowNodes(e,t,o){if(t===o)return 0;const s=this.accentedSort;for(let i=0,n=e.length;i{const{sibling:o,pinnedSibling:s}=t;e.refreshRowByNode(t),e.refreshRowByNode(o),e.refreshRowByNode(s),e.refreshRowByNode(o?.pinnedSibling),e.refreshRowByNode(s?.sibling)},Tu={moduleName:"Expression",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="expressionSvc",this.cache={}}evaluate(e,t){if("string"==typeof e)return this.evaluateExpression(e,t);Mt(15,{expression:e})}evaluateExpression(e,t){try{return this.createExpressionFunction(e)(t.value,t.context,t.oldValue,t.newValue,t.value,t.node,t.data,t.colDef,t.rowIndex,t.api,t.getValue,t.column,t.columnGroup)}catch(o){return Mt(16,{expression:e,params:t,e:o}),null}}createExpressionFunction(e){const t=this.cache;if(t[e])return t[e];const o=this.createFunctionBody(e),s=new Function("x, ctx, oldValue, newValue, value, node, data, colDef, rowIndex, api, getValue, column, columnGroup",o);return t[e]=s,s}createFunctionBody(e){return e.includes("return")?e:"return "+e+";"}}]},Iu={moduleName:"ChangeDetection",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="changeDetectionSvc",this.deferredDepth=0,this.batchedPath=null,this.batchedNodes=null}destroy(){super.destroy(),this.batchedPath=null,this.batchedNodes=null}postConstruct(){this.csrm=nn(this.beans),this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this)})}beginDeferred(){this.deferredDepth++}endDeferred(){if(0===this.deferredDepth)return;if(--this.deferredDepth>0)return;const e=this.batchedPath,t=this.batchedNodes;this.batchedPath=null,this.batchedNodes=null,e&&this.csrm?.doAggregate(e);const{rowRenderer:o}=this.beans;if(t)for(const s of t)Eu(o,s);if(e){const t=e.getSortedRows();for(let e=0,s=t.length;e{const{beans:o,fns:{[e]:s}}=this;return s?s(o,...t):this.apiNotFound(e)}}}apiNotFound(e){const{beans:t,gos:o,preDestroyLink:s}=this;if(t){const t=kl[e];o.assertModuleRegistered(t,`api.${e}`)&&Dt(27,{fnName:e,module:t})}else Dt(26,{fnName:e,preDestroyLink:s})}destroy(){super.destroy(),this.fns=Ll,this.beans=null}},class extends pd{constructor(){super(...arguments),this.agGridDefaults={},this.agGridDefaultOverrides={},this.jsComps={},this.selectors={},this.icons={}}postConstruct(){const e=this.gos.get("components");if(null!=e)for(const t of Object.keys(e))this.jsComps[t]=e[t]}registerModule(e){const{icons:t,userComponents:o,dynamicBeans:s,selectors:i}=e;if(o){const e=(e,t,o,s)=>{this.agGridDefaults[e]=t,(o||s)&&(this.agGridDefaultOverrides[e]={params:o,processParams:s})};for(const t of Object.keys(o)){let s=o[t];if(md(s)&&(s=s.getComp(this.beans)),"object"==typeof s){const{classImp:o,params:i,processParams:n}=s;e(t,o,i,n)}else e(t,s)}}this.registerDynamicBeans(s);for(const n of i??[])this.selectors[n.selector]=n;if(t)for(const n of Object.keys(t))this.icons[n]=t[n]}getUserComponent(e,t){const o=(e,t,o,s)=>({componentFromFramework:t,component:e,params:o,processParams:s}),{frameworkOverrides:s}=this.beans,i=s.frameworkComponent(t,this.gos.get("components"));if(null!=i)return o(i,!0);const n=this.jsComps[t];if(n)return o(n,s.isFrameworkComponent(n));const r=this.agGridDefaults[t];if(r){const e=this.agGridDefaultOverrides[t];return o(r,!1,e?.params,e?.processParams)}return this.beans.validation?.missingUserComponent(e,t,this.agGridDefaults,this.jsComps),null}getSelector(e){return this.selectors[e]}getIcon(e){return this.icons[e]}getDynamicError(e,t){return t?Et(279,{name:e}):this.beans.validation?.missingDynamicBean(e)??Et(256)}},class extends Oe{constructor(){super(...arguments),this.beanName="userCompFactory"}wireBeans(e){this.agCompUtils=e.agCompUtils,this.registry=e.registry,this.frameworkCompWrapper=e.frameworkCompWrapper,this.gridOptions=e.gridOptions}getCompDetailsFromGridOptions(e,t,o,s=!1){return this.getCompDetails(this.gridOptions,e,t,o,s)}getCompDetails(e,t,o,s,i=!1){const{name:n,cellRenderer:r}=t;let l,a,{compName:d,jsComp:c,fwComp:h,paramsFromSelector:u,popupFromSelector:g,popupPositionFromSelector:p}=Os(this.beans.frameworkOverrides,e,t,s);const m=e=>{const t=this.registry.getUserComponent(n,e);t&&(c=t.componentFromFramework?void 0:t.component,h=t.componentFromFramework?t.component:void 0,l=t.params,a=t.processParams)};var f;if(null!=d&&m(d),null==c&&null==h&&null!=o&&m(o),!c||!r||(f=c)&&f.prototype&&"getGui"in f.prototype||(c=this.agCompUtils?.adaptFunction(t,c)),!c&&!h){const{validation:e}=this.beans;return void(!i||d===o&&o?o&&!e&&Mt(146,{comp:o}):d?e?.isProvidedUserComp(d)||Mt(50,{compName:d}):o?e||Mt(260,{...this.gos.getModuleErrorParams(),propName:n,compName:o}):Mt(216,{name:n}))}const C=this.mergeParams(e,t,s,u,l,a),v=null==c,w=c??h;return{componentFromFramework:v,componentClass:w,params:C,type:t,popupFromSelector:g,popupPositionFromSelector:p,newAgStackInstance:()=>this.newAgStackInstance(w,v,C,t)}}newAgStackInstance(e,t,o,s){let i;i=t?this.frameworkCompWrapper.wrap(e,s.mandatoryMethods,s.optionalMethods,s):new e,this.createBean(i);const n=i.init?.(o);return null==n?Ns.resolve(i):n.then(()=>i)}mergeParams(e,t,o,s=null,i,n){const r={...o,...i},l=e?.[t.name+"Params"];return"function"==typeof l?Ye(r,l(o)):"object"==typeof l&&Ye(r,l),Ye(r,s),n?n(r):r}},class extends Oe{constructor(){super(...arguments),this.beanName="rowContainerHeight",this.scrollY=0,this.uiBodyHeight=0}postConstruct(){this.addManagedEventListeners({bodyHeightChanged:this.updateOffset.bind(this)}),this.maxDivHeight=function(){if(void 0!==Ri)return Ri;if(!document.body)return-1;let e=1e6;const t=Ti()?6e6:1e9,o=document.createElement("div");for(document.body.appendChild(o);;){const s=2*e;if(o.style.height=s+"px",s>t||o.clientHeight!==s)break;e=s}return o.remove(),Ri=e,e}(),tt(this.gos,this.maxDivHeight)}updateOffset(){if(!this.stretching)return;const e=this.beans.ctrlsSvc.getScrollFeature().getVScrollPosition().top,t=this.getUiBodyHeight();e===this.scrollY&&t===this.uiBodyHeight||(this.scrollY=e,this.uiBodyHeight=t,this.calculateOffset())}calculateOffset(){this.setUiContainerHeight(this.maxDivHeight),this.pixelsToShave=this.modelHeight-this.uiContainerHeight,this.maxScrollY=this.uiContainerHeight-this.uiBodyHeight;const e=this.scrollY/this.maxScrollY*this.pixelsToShave;tt(this.gos,this.pixelsToShave),this.setDivStretchOffset(e)}setUiContainerHeight(e){e!==this.uiContainerHeight&&(this.uiContainerHeight=e,this.eventSvc.dispatchEvent({type:"rowContainerHeightChanged"}))}clearOffset(){this.setUiContainerHeight(this.modelHeight),this.pixelsToShave=0,this.setDivStretchOffset(0)}setDivStretchOffset(e){const t="number"==typeof e?Math.floor(e):null;this.divStretchOffset!==t&&(this.divStretchOffset=t,this.eventSvc.dispatchEvent({type:"heightScaleChanged"}))}setModelHeight(e){this.modelHeight=e,this.stretching=null!=e&&this.maxDivHeight>0&&e>this.maxDivHeight,this.stretching?this.calculateOffset():this.clearOffset()}getRealPixelPosition(e){return e-this.divStretchOffset}getUiBodyHeight(){const e=this.beans.ctrlsSvc.getScrollFeature().getVScrollPosition();return e.bottom-e.top}getScrollPositionForPixel(e){if(this.pixelsToShave<=0)return e;const t=e/(this.modelHeight-this.getUiBodyHeight());return this.maxScrollY*t}},class extends Oe{constructor(){super(...arguments),this.beanName="visibleCols",this.colsAndGroupsMap={},this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.headerGroupRowCount=0,this.bodyWidth=0,this.leftWidth=0,this.rightWidth=0,this.isBodyWidthDirty=!0}refresh(e,t=!1){const{colFlex:o,colModel:s,colGroupSvc:i,colViewport:n,selectionColSvc:r}=this.beans;t||this.buildTrees(s,i),i?.updateOpenClosedVisibility(),this.leftCols=Ta(this.treeLeft),this.centerCols=Ta(this.treeCenter),this.rightCols=Ta(this.treeRight),r?.refreshVisibility(this.leftCols,this.centerCols,this.rightCols),this.joinColsAriaOrder(s),this.joinCols(),this.headerGroupRowCount=this.getHeaderRowCount(),this.setLeftValues(e),this.autoHeightCols=this.allCols.filter(e=>e.isAutoHeight()),o?.refreshFlexedColumns(),this.updateBodyWidths(),this.setFirstRightAndLastLeftPinned(s,this.leftCols,this.rightCols,e),n.checkViewportColumns(!1),this.eventSvc.dispatchEvent({type:"displayedColumnsChanged",source:e})}getHeaderRowCount(){if(!this.gos.get("hidePaddedHeaderRows"))return this.beans.colModel.cols.treeDepth;let e=0;for(const t of this.allCols){let o=t.getParent();for(;o;){if(!o.isPadding()){const t=o.getProvidedColumnGroup().getLevel()+1;t>e&&(e=t);break}o=o.getParent()}}return e}updateBodyWidths(){const e=Xo(this.centerCols),t=Xo(this.leftCols),o=Xo(this.rightCols);this.isBodyWidthDirty=this.bodyWidth!==e,this.bodyWidth===e&&this.leftWidth===t&&this.rightWidth===o||(this.bodyWidth=e,this.leftWidth=t,this.rightWidth=o,this.eventSvc.dispatchEvent({type:"columnContainerWidthChanged"}),this.eventSvc.dispatchEvent({type:"displayedColumnsWidthChanged"}))}setLeftValues(e){this.setLeftValuesOfCols(e),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned(t,o,s,i){let n,r;this.gos.get("enableRtl")?(n=o?o[0]:null,r=s?e(s):null):(n=o?e(o):null,r=s?s[0]:null);for(const e of t.getCols())e.setLastLeftPinned(e===n,i),e.setFirstRightPinned(e===r,i)}buildTrees(e,t){const o=e.getColsToShow(),s=o.filter(e=>"left"==e.getPinned()),i=o.filter(e=>"right"==e.getPinned()),n=o.filter(e=>"left"!=e.getPinned()&&"right"!=e.getPinned()),r=new Ma,l=e=>t?t.createColumnGroups(e):e.columns;this.treeLeft=l({columns:s,idCreator:r,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=l({columns:i,idCreator:r,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=l({columns:n,idCreator:r,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.ariaOrderColumns=[]}joinColsAriaOrder(e){const t=e.getCols(),o=[],s=[],i=[];for(const n of t){const e=n.getPinned();e?!0===e||"left"===e?o.push(n):i.push(n):s.push(n)}this.ariaOrderColumns=o.concat(s).concat(i)}getAriaColIndex(e){let t;return t=us(e)?e.getLeafColumns()[0]:e,this.ariaOrderColumns.indexOf(t)+1}setLeftValuesOfGroups(){for(const e of[this.treeLeft,this.treeRight,this.treeCenter])for(const t of e)us(t)&&t.checkLeft()}setLeftValuesOfCols(e){const{colModel:t}=this.beans;if(!t.getColDefCols())return;const o=t.getCols().slice(0),s=this.gos.get("enableRtl");for(const i of[this.leftCols,this.rightCols,this.centerCols]){if(s){let t=Xo(i);for(const o of i)t-=o.getActualWidth(),o.setLeft(t,e)}else{let t=0;for(const o of i)o.setLeft(t,e),t+=o.getActualWidth()}Pa(o,i)}for(const i of o)i.setLeft(null,e)}joinCols(){this.gos.get("enableRtl")?this.allCols=this.rightCols.concat(this.centerCols).concat(this.leftCols):this.allCols=this.leftCols.concat(this.centerCols).concat(this.rightCols)}getAllTrees(){return this.treeLeft&&this.treeRight&&this.treeCenter?this.treeLeft.concat(this.treeCenter).concat(this.treeRight):null}isColDisplayed(e){return this.allCols.indexOf(e)>=0}getLeftColsForRow(e){const{leftCols:t,beans:{colModel:o}}=this;return o.colSpanActive?this.getColsForRow(e,t):t}getRightColsForRow(e){const{rightCols:t,beans:{colModel:o}}=this;return o.colSpanActive?this.getColsForRow(e,t):t}getColsForRow(e,t,o,s){const i=[];let n=null;for(let r=0;r1){const e=d-1;for(let o=1;o<=e;o++)c.push(t[r+o]);r+=e}let h;if(o){h=!1;for(const e of c)o(e)&&(h=!0)}else h=!0;h&&(0===i.length&&n&&s&&s(l)&&i.push(n),i.push(l)),n=l}return i}getContainerWidth(e){switch(e){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getColBefore(e){const t=this.allCols,o=t.indexOf(e);return o>0?t[o-1]:null}isPinningLeft(){return this.leftCols.length>0}isPinningRight(){return this.rightCols.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};const e=e=>{this.colsAndGroupsMap[e.getUniqueId()]=e};Ea(this.treeCenter,!1,e),Ea(this.treeLeft,!1,e),Ea(this.treeRight,!1,e)}isVisible(e){return this.colsAndGroupsMap[e.getUniqueId()]===e}getFirstColumn(){const t=this.gos.get("enableRtl"),o=["leftCols","centerCols","rightCols"];t&&o.reverse();for(let s=0;s(t,o)=>{if(!this.isAlive())return;const s=zc.has(t);if(s&&!e||!s&&e)return;if(!function(e){return!!Wc[e]}(t))return;const i=(e,t)=>{const o=Wc[e],s=this.gridOptions[o];"function"==typeof s&&this.beans.frameworkOverrides.wrapOutgoing(()=>s(t))};if(this.gridReadyFired)i(t,o);else if("gridReady"===t){i(t,o),this.gridReadyFired=!0;for(const e of this.queueEvents)i(e.eventName,e.event);this.queueEvents=[]}else this.queueEvents.push({eventName:t,event:o})}}wireBeans(e){this.gridOptions=e.gridOptions,this.validation=e.validation,this.api=e.gridApi,this.gridId=e.context.getId()}get gridOptionsContext(){return this.gridOptions.context}postConstruct(){this.validateGridOptions(this.gridOptions),this.eventSvc.addGlobalListener(this.globalEventHandlerFactory().bind(this),!0),this.eventSvc.addGlobalListener(this.globalEventHandlerFactory(!0).bind(this),!1),this.propEventSvc.setFrameworkOverrides(this.beans.frameworkOverrides),this.addManagedEventListeners({gridOptionsChanged:({options:e})=>{this.updateGridOptions({options:e,force:!0,source:"optionsUpdated"})}})}destroy(){super.destroy(),this.queueEvents=[]}get(e){return this.gridOptions[e]??Je[e]}getCallback(e){return this.mergeGridCommonParams(this.gridOptions[e])}exists(e){return l(this.gridOptions[e])}mergeGridCommonParams(e){return e?t=>e(this.addCommon(t)):e}updateGridOptions({options:e,force:t,source:o="api"}){const s={id:ih++,properties:[]},i=[],{gridOptions:n,validation:r}=this;for(const l of Object.keys(e)){const a=Xe.applyGlobalGridOption(l,e[l]);r?.warnOnInitialPropertyUpdate(o,l);const d=t||"object"==typeof a&&"api"===o,c=n[l];if(d||c!==a){n[l]=a;const e={type:l,currentValue:a,previousValue:c,changeSet:s,source:o};i.push(e)}}this.validateGridOptions(this.gridOptions),s.properties=i.map(e=>e.type);for(const l of i)tt(this,l.type,l.previousValue,l.currentValue),this.propEventSvc.dispatchEvent(l)}addPropertyEventListener(e,t){this.propEventSvc.addEventListener(e,t)}removePropertyEventListener(e,t){this.propEventSvc.removeEventListener(e,t)}getDomDataKey(){return this.domDataKey}addCommon(e){return e.api=this.api,e.context=this.gridOptionsContext,e}validateOptions(e,t){for(const o of Object.keys(e)){const s=e[o];if(null==s||!1===s)continue;let i=t[o];"function"==typeof i&&(i=i(e,this.gridOptions,this.beans)),i&&this.assertModuleRegistered(i,o)}}validateGridOptions(e){this.validateOptions(e,oh),this.validation?.processGridOptions(e)}validateColDef(e,t,o){!o&&this.beans.dataTypeSvc?.isColPendingInference(t)||(this.validateOptions(e,jc),this.validation?.validateColDef(e))}assertModuleRegistered(e,t){const o=Array.isArray(e)?e.some(e=>this.isModuleRegistered(e)):this.isModuleRegistered(e);return o||Mt(200,{...this.getModuleErrorParams(),moduleName:e,reasonOrId:t}),o}getModuleErrorParams(){return{gridId:this.gridId,gridScoped:ut(),rowModelType:this.get("rowModelType"),isUmd:!1}}isModuleRegistered(e){return ht(e,this.gridId,this.get("rowModelType"))}setInstanceDomData(e){e[rh]=this.instanceId}isElementInThisInstance(e){let t=e;for(;t;){const e=t[rh];if(l(e))return e===this.instanceId;t=t.parentElement}return!1}},class extends Oe{constructor(){super(...arguments),this.beanName="colModel",this.pivotMode=!1,this.ready=!1,this.changeEventsDispatching=!1}postConstruct(){this.pivotMode=this.gos.get("pivotMode"),this.addManagedPropertyListeners(["groupDisplayType","treeData","treeDataDisplayType","groupHideOpenParents","groupHideColumnsUntilExpanded","rowNumbers","hidePaddedHeaderRows"],e=>this.refreshAll(ls(e.source))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],this.recreateColumnDefs.bind(this)),this.addManagedPropertyListener("pivotMode",e=>this.setPivotMode(this.gos.get("pivotMode"),ls(e.source)))}createColsFromColDefs(e){const{beans:t}=this,{valueCache:o,colAutosize:s,rowGroupColsSvc:i,pivotColsSvc:n,valueColsSvc:r,visibleCols:l,eventSvc:a,groupHierarchyColSvc:d}=t,c=this.colDefs?ka(t,e):void 0;o?.expire();const h=this.colDefCols?.list,u=this.colDefCols?.tree,g=zo(t,this.colDefs,!0,u,e);Jo(t,this.colDefCols?.tree,g.columnTree);const p=g.columnTree,m=g.treeDepth,f=Qo(p),C={};for(const v of f)C[v.getId()]=v;this.colDefCols={tree:p,treeDepth:m,list:f,map:C},this.createColumnsForService([d],this.colDefCols,e),i?.extractCols(e,h),n?.extractCols(e,h),r?.extractCols(e,h),this.ready=!0,this.changeEventsDispatching=!0,this.refreshCols(!0,e),this.changeEventsDispatching=!1,l.refresh(e),a.dispatchEvent({type:"columnEverythingChanged",source:e}),c&&(this.changeEventsDispatching=!0,c(),this.changeEventsDispatching=!1),a.dispatchEvent({type:"newColumnsLoaded",source:e}),"gridInitializing"===e&&s?.applyAutosizeStrategy()}refreshCols(e,o){if(!this.colDefCols)return;const s=this.cols?.tree;this.saveColOrder();const{autoColSvc:i,selectionColSvc:n,rowNumbersSvc:r,quickFilter:l,pivotResultCols:a,showRowGroupCols:d,rowAutoHeight:c,visibleCols:h,colViewport:u,eventSvc:g,formula:p}=this.beans,m=this.selectCols(a,this.colDefCols);p?.setFormulasActive(m),this.createColumnsForService([i,n,r],m,o);const f=(C=this.gos,this.showingPivotResult?!C.get("enableStrictPivotColumnOrder"):C.get("maintainColumnOrder"));var C;e&&!f||this.restoreColOrder(m),this.positionLockedCols(m),d?.refresh(),l?.refreshCols(),this.setColSpanActive(),c?.setAutoHeightActive(m),h.clear(),u.clear(),t(s,this.cols.tree)||g.dispatchEvent({type:"gridColumnsChanged"})}createColumnsForService(e,t,o){for(const s of e)s&&(s.createColumns(t,e=>{this.lastOrder=e(this.lastOrder),this.lastPivotOrder=e(this.lastPivotOrder)},o),s.addColumns(t))}selectCols(e,t){const o=e?.getPivotResultCols()??null;this.showingPivotResult=null!=o;const{map:s,list:i,tree:n,treeDepth:r}=o??t;return this.cols={list:i.slice(),map:{...s},tree:n.slice(),treeDepth:r},o&&(o.list.some(e=>void 0!==this.cols?.map[e.getColId()])||(this.lastPivotOrder=null)),this.cols}getColsToShow(){if(!this.cols)return[];const{beans:e,showingPivotResult:t,cols:o}=this,{valueColsSvc:s,selectionColSvc:i,gos:n}=e,r=this.isPivotMode()&&!t,l=i?.isSelectionColumnEnabled(),a=function({gos:e,formula:t}){const o=e.get("rowNumbers");return o||!!t?.active&&!1!==o}(e),d=s?.columns,c=qt(n);return o.list.filter(e=>{const t=es(e);return r?d?.includes(e)||t&&(!c||e.isVisible())||l&&ts(e)||a&&os(e):t&&!c||e.isVisible()})}refreshAll(e){this.ready&&(this.refreshCols(!1,e),this.beans.visibleCols.refresh(e))}setColsVisible(e,t=!1,o){Aa(this.beans,{state:e.map(e=>({colId:"string"==typeof e?e:e.getColId(),hide:!t}))},o)}restoreColOrder(e){const t=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!t)return;const o=t.filter(t=>null!=e.map[t.getId()]);if(0===o.length)return;if(o.length===e.list.length)return void(e.list=o);const s=e=>{const t=e.getOriginalParent();return!!t&&(t.getChildren().length>1||s(t))};if(!o.some(e=>s(e))){const t=new Set(o);for(const s of e.list)t.has(s)||o.push(s);return void(e.list=o)}const i=/* @__PURE__ */new Map;for(let h=0;h!i.has(e));if(0===n.length)return void(e.list=o);const r=(e,t)=>{const o=t?t.getOriginalParent():e.getOriginalParent();if(!o)return null;let s=null,n=null;for(const r of o.getChildren())if(r!==t&&r!==e){if(r instanceof Fo){const e=i.get(r);if(null==e)continue;(null==s||s{const t=i.get(e);null!=t&&(null==s||s=0;h--)d[c--]=l[h];for(let h=o.length-1;h>=0;h--){const e=o[h],t=a.get(e);if(t)if(Array.isArray(t))for(let o=t.length-1;o>=0;o--){const e=t[o];d[c--]=e}else d[c--]=t;d[c--]=e}e.list=d}positionLockedCols(e){e.list=ma(e.list,this.gos)}saveColOrder(){this.showingPivotResult?this.lastPivotOrder=this.cols?.list??null:this.lastOrder=this.cols?.list??null}getColumnDefs(e){return this.colDefCols&&this.beans.colDefFactory?.getColumnDefs(this.colDefCols.list,this.showingPivotResult,this.lastOrder,this.cols?.list??[],e)}setColSpanActive(){this.colSpanActive=!!this.cols?.list.some(e=>null!=e.getColDef().colSpan)}isPivotMode(){return this.pivotMode}setPivotMode(e,t){if(e===this.pivotMode)return;if(this.pivotMode=e,!this.ready)return;this.refreshCols(!1,t);const{visibleCols:o,eventSvc:s}=this.beans;o.refresh(t),s.dispatchEvent({type:"columnPivotModeChanged"})}isPivotActive(){const e=this.beans.pivotColsSvc?.columns;return this.pivotMode&&!!e?.length}recreateColumnDefs(e){if(!this.cols)return;this.beans.autoColSvc?.updateColumns(e);const t=ls(e.source);this.createColsFromColDefs(t)}setColumnDefs(e,t){this.colDefs=e,this.createColsFromColDefs(t)}destroy(){Jo(this.beans,this.colDefCols?.tree),super.destroy()}getColTree(){return this.cols?.tree??[]}getColDefColTree(){return this.colDefCols?.tree??[]}getColDefCols(){return this.colDefCols?.list??null}getCols(){return this.cols?.list??[]}forAllCols(e){const{pivotResultCols:t,autoColSvc:s,selectionColSvc:i,groupHierarchyColSvc:n}=this.beans;o(this.colDefCols?.list,e)||o(s?.columns?.list,e)||o(i?.columns?.list,e)||o(n?.columns?.list,e)||o(t?.getPivotResultCols()?.list,e)}getColsForKeys(e){return e?e.map(e=>this.getCol(e)).filter(e=>null!=e):[]}getColDefCol(e){return this.colDefCols?.list?this.getColFromCollection(e,this.colDefCols):null}getCol(e){return null==e?null:this.getColFromCollection(e,this.cols)}getColById(e){return this.cols?.map[e]??null}getColFromCollection(e,t){if(null==t)return null;const{map:o,list:s}=t;if("string"==typeof e&&o[e])return o[e];for(let l=0;l{const e=()=>{for(const e of this.getAllCellCtrls())e.onCellSelectionChanged()},t=()=>{for(const e of this.getAllCellCtrls())e.updateRangeBordersIfRangeCount()},o=()=>{this.eventSvc.addListener("cellSelectionChanged",e),this.eventSvc.addListener("columnMoved",t),this.eventSvc.addListener("columnPinned",t),this.eventSvc.addListener("columnVisible",t)},s=()=>{this.eventSvc.removeListener("cellSelectionChanged",e),this.eventSvc.removeListener("columnMoved",t),this.eventSvc.removeListener("columnPinned",t),this.eventSvc.removeListener("columnVisible",t)};this.addDestroyFunc(()=>s()),this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{so(this.gos)?o():s()}),so(this.gos)&&o()}}wireBeans(e){this.pageBounds=e.pageBounds,this.colModel=e.colModel,this.pinnedRowModel=e.pinnedRowModel,this.rowModel=e.rowModel,this.focusSvc=e.focusSvc,this.rowContainerHeight=e.rowContainerHeight,this.ctrlsSvc=e.ctrlsSvc,this.editSvc=e.editSvc}postConstruct(){this.ctrlsSvc.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.initialise()})}initialise(){this.addManagedEventListeners({paginationChanged:this.onPageLoaded.bind(this),pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this),pinnedRowsChanged:this.onPinnedRowsChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),bodyScroll:this.onBodyScroll.bind(this),bodyHeightChanged:this.redraw.bind(this,{})}),this.addManagedPropertyListeners(["domLayout","embedFullWidthRows"],()=>this.onDomLayoutChanged()),this.addManagedPropertyListeners(["suppressMaxRenderedRowRestriction","rowBuffer"],()=>this.redraw()),this.addManagedPropertyListener("suppressCellFocus",e=>this.onSuppressCellFocusChanged(e.currentValue)),this.addManagedPropertyListeners(["groupSuppressBlankHeader","getBusinessKeyForNode","fullWidthCellRenderer","fullWidthCellRendererParams","suppressStickyTotalRow","groupRowRenderer","groupRowRendererParams","loadingCellRenderer","loadingCellRendererParams","detailCellRenderer","detailCellRendererParams","enableRangeSelection","enableCellTextSelection"],()=>this.redrawRows()),this.addManagedPropertyListener("cellSelection",({currentValue:e,previousValue:t})=>{(!t&&e||t&&!e)&&this.redrawRows()});const{stickyRowSvc:e,gos:t,showRowGroupCols:o}=this.beans;if(o&&this.addManagedPropertyListener("showOpenedGroup",()=>{const e=o.columns;e.length&&this.refreshCells({columns:e,force:!0})}),e)this.stickyRowFeature=e.createStickyRowFeature(this,this.createRowCon.bind(this),this.destroyRowCtrls.bind(this));else{const e=this.gridBodyCtrl;e.setStickyTopHeight(0),e.setStickyBottomHeight(0)}this.registerCellEventListeners(),this.initialiseCache(),this.printLayout=kt(t,"print"),this.embedFullWidthRows=this.printLayout||t.get("embedFullWidthRows"),this.redrawAfterModelUpdate()}initialiseCache(){if(this.gos.get("keepDetailRows")){const e=this.getKeepDetailRowsCount();this.cachedRowCtrls=new wu(null!=e?e:3)}}getKeepDetailRowsCount(){return this.gos.get("keepDetailRowsCount")}getStickyTopRowCtrls(){return this.stickyRowFeature?.stickyTopRowCtrls??[]}getStickyBottomRowCtrls(){return this.stickyRowFeature?.stickyBottomRowCtrls??[]}updateAllRowCtrls(){const e=Object.values(this.rowCtrlsByRowIndex),t=Object.values(this.zombieRowCtrls),o=this.cachedRowCtrls?.getEntries()??[];t.length>0||o.length>0?this.allRowCtrls=[...e,...t,...o]:this.allRowCtrls=e}isCellBeingRendered(e,t){const o=this.rowCtrlsByRowIndex[e];return t&&o?!(!o.isFullWidth()&&!this.beans.spannedRowRenderer?.getCellByPosition({rowIndex:e,column:t,rowPinned:null})&&!o.getCellCtrl(t)&&o.isRowRendered()):!!o}updateCellFocus(e){for(const t of this.getAllCellCtrls())t.onCellFocused(e);for(const t of this.getFullWidthRowCtrls())t.onFullWidthRowFocused(e)}onCellFocusChanged(e){if(null!=e?.rowIndex&&!e.rowPinned){const t=this.beans.colModel.getCol(e.column)??void 0;this.isCellBeingRendered(e.rowIndex,t)||this.redraw()}this.updateCellFocus(e)}onSuppressCellFocusChanged(e){for(const t of this.getAllCellCtrls())t.onSuppressCellFocusChanged(e);for(const t of this.getFullWidthRowCtrls())t.onSuppressCellFocusChanged(e)}registerCellEventListeners(){this.addManagedEventListeners({cellFocused:e=>this.onCellFocusChanged(e),cellFocusCleared:()=>this.updateCellFocus(),flashCells:e=>{const{cellFlashSvc:t}=this.beans;if(t)for(const o of this.getAllCellCtrls())t.onFlashCells(o,e)},columnHoverChanged:()=>{for(const e of this.getAllCellCtrls())e.onColumnHover()},displayedColumnsChanged:()=>{for(const e of this.getAllCellCtrls())e.onDisplayedColumnsChanged()},displayedColumnsWidthChanged:()=>{if(this.printLayout)for(const e of this.getAllCellCtrls())e.onLeftChanged()}}),this.setupRangeSelectionListeners(),this.refreshListenersToColumnsForCellComps(),this.addManagedEventListeners({gridColumnsChanged:this.refreshListenersToColumnsForCellComps.bind(this)}),this.addDestroyFunc(this.removeGridColumnListeners.bind(this))}removeGridColumnListeners(){for(const e of this.destroyFuncsForColumnListeners)e();this.destroyFuncsForColumnListeners.length=0}refreshListenersToColumnsForCellComps(){this.removeGridColumnListeners();const e=this.colModel.getCols();for(const t of e){const e=e=>{for(const o of this.getAllCellCtrls())o.column===t&&e(o)},o=()=>{e(e=>e.onLeftChanged())},s=()=>{e(e=>e.onWidthChanged())},i=()=>{e(e=>e.onFirstRightPinnedChanged())},n=()=>{e(e=>e.onLastLeftPinnedChanged())},r=()=>{e(e=>e.onColDefChanged())};t.__addEventListener("leftChanged",o),t.__addEventListener("widthChanged",s),t.__addEventListener("firstRightPinnedChanged",i),t.__addEventListener("lastLeftPinnedChanged",n),t.__addEventListener("colDefChanged",r),this.destroyFuncsForColumnListeners.push(()=>{t.__removeEventListener("leftChanged",o),t.__removeEventListener("widthChanged",s),t.__removeEventListener("firstRightPinnedChanged",i),t.__removeEventListener("lastLeftPinnedChanged",n),t.__removeEventListener("colDefChanged",r)})}}onDomLayoutChanged(){const e=kt(this.gos,"print"),t=e||this.gos.get("embedFullWidthRows"),o=t!==this.embedFullWidthRows||this.printLayout!==e;this.printLayout=e,this.embedFullWidthRows=t,o&&this.redrawAfterModelUpdate({domLayoutChanged:!0})}datasourceChanged(){this.firstRenderedRow=0,this.lastRenderedRow=-1;const e=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(e)}onPageLoaded(e){const t={recycleRows:e.keepRenderedRows,animate:e.animate,newData:e.newData,newPage:e.newPage,onlyBody:!0};this.redrawAfterModelUpdate(t)}getAllCellsNotSpanningForColumn(e){const t=[];for(const o of this.getAllRowCtrls()){const s=o.getCellCtrl(e,!0)?.eGui;s&&t.push(s)}return t}refreshFloatingRowComps(e=!0){this.refreshFloatingRows(this.topRowCtrls,"top",e),this.refreshFloatingRows(this.bottomRowCtrls,"bottom",e)}refreshFloatingRows(e,t,o){const{pinnedRowModel:s,beans:i,printLayout:n}=this,r=Object.fromEntries(e.map(e=>[e.rowNode.id,e]));s?.forEachPinnedRow(t,(l,a)=>{const d=e[a];d&&void 0===s.getPinnedRowById(d.rowNode.id,t)&&(d.destroyFirstPass(),d.destroySecondPass()),l.id in r&&o?(e[a]=r[l.id],delete r[l.id]):e[a]=new qh(l,i,!1,!1,n)}),e.length=("top"===t?s?.getPinnedTopRowCount():s?.getPinnedBottomRowCount())??0}onPinnedRowDataChanged(){this.redrawAfterModelUpdate({recycleRows:!0})}onPinnedRowsChanged(){this.redrawAfterModelUpdate({recycleRows:!0})}redrawRow(e,t=!1){if(e.sticky)this.stickyRowFeature?.refreshStickyNode(e);else{if(this.cachedRowCtrls?.has(e))return void this.cachedRowCtrls.removeRow(e);{const t=t=>{const o=t[e.rowIndex];o&&o.rowNode===e&&(o.destroyFirstPass(),o.destroySecondPass(),t[e.rowIndex]=this.createRowCon(e,!1,!1))};switch(e.rowPinned){case"top":t(this.topRowCtrls);break;case"bottom":t(this.bottomRowCtrls);break;default:t(this.rowCtrlsByRowIndex),this.updateAllRowCtrls()}}}t||this.dispatchDisplayedRowsChanged(!1)}redrawRows(e){const{editSvc:t}=this.beans;if(t?.isEditing()&&(t.isBatchEditing()?t.cleanupEditors():t.stopEditing(void 0,{source:"api"})),null==e)this.redrawAfterModelUpdate();else{for(const t of e??[])this.redrawRow(t,!0);this.dispatchDisplayedRowsChanged(!1)}}redrawAfterModelUpdate(e={}){this.getLockOnRefresh();const t=this.beans.focusSvc?.getFocusCellToUseAfterRefresh();this.updateContainerHeights(),this.scrollToTopIfNewData(e);const o=!e.domLayoutChanged&&!!e.recycleRows,s=e.animate&&zt(this.gos),i=o?this.getRowsToRecycle():null;o||this.removeAllRowComps(),this.workOutFirstAndLastRowsToRender();const{stickyRowFeature:n,gos:r}=this;if(n){n.checkStickyRows();const e=n.extraTopHeight+n.extraBottomHeight;e&&this.updateContainerHeights(e)}this.recycleRows(i,s),this.gridBodyCtrl.updateRowCount(),e.onlyBody||this.refreshFloatingRowComps(r.get("enableRowPinning")?o:void 0),this.dispatchDisplayedRowsChanged(),null!=t&&this.restoreFocusedCell(t),this.releaseLockOnRefresh()}scrollToTopIfNewData(e){const t=e.newData||e.newPage,o=this.gos.get("suppressScrollOnNewData");t&&!o&&(this.gridBodyCtrl.scrollFeature.scrollToTop(),this.stickyRowFeature?.resetOffsets())}updateContainerHeights(e=0){const{rowContainerHeight:t}=this;if(this.printLayout)return void t.setModelHeight(null);let o=this.pageBounds.getCurrentPageHeight();0===o&&(o=1),t.setModelHeight(o+e)}getLockOnRefresh(){if(this.refreshInProgress)throw new Error(Et(252));this.refreshInProgress=!0,this.beans.frameworkOverrides.getLockOnRefresh?.()}releaseLockOnRefresh(){this.refreshInProgress=!1,this.beans.frameworkOverrides.releaseLockOnRefresh?.()}isRefreshInProgress(){return this.refreshInProgress}restoreFocusedCell(e){if(!e)return;const t=this.beans.focusSvc,o=this.findPositionToFocus(e);o?e.rowIndex===o.rowIndex&&e.rowPinned==o.rowPinned?t.doesRowOrCellHaveBrowserFocus()||this.updateCellFocus(Co(this.gos,{...o,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,type:"cellFocused"})):t.setFocusedCell({...o,preventScrollOnBrowserFocus:!0,forceBrowserFocus:!0}):t.focusHeaderPosition({headerPosition:{headerRowIndex:On(this.beans)-1,column:e.column}})}findPositionToFocus(e){const{pagination:t,pageBounds:o}=this.beans;let s=e;for(null==s.rowPinned&&t&&o&&!t.isRowInPage(s.rowIndex)&&(s={rowPinned:null,rowIndex:o.getFirstRow()});s;){if(null==s.rowPinned&&o)if(s.rowIndexo.getLastRow()&&(s={rowPinned:null,rowIndex:o.getLastRow()});const t=this.getRowByPosition(s);if(t?.isAlive())return{...t.getRowPosition(),column:e.column};s=Mn(this.beans,s)}return null}getAllCellCtrls(){const e=[],t=this.getAllRowCtrls(),o=t.length;for(let s=0;syu(e.rowNode,t)):o}getCellCtrls(e,t){let o;l(t)&&(o={},t.forEach(e=>{const t=this.colModel.getCol(e);l(t)&&(o[t.getId()]=!0)}));const s=[];for(const i of this.getRowCtrls(e))for(const e of i.getAllCellCtrls()){const t=e.column.getId();o&&!o[t]||s.push(e)}return s}destroy(){this.removeAllRowComps(!0),super.destroy()}removeAllRowComps(e=!1){const t=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(t,e),this.stickyRowFeature?.destroyStickyCtrls()}getRowsToRecycle(){const e=[];for(const o of Object.keys(this.rowCtrlsByRowIndex))null==this.rowCtrlsByRowIndex[o].rowNode.id&&e.push(o);this.removeRowCtrls(e);const t={};for(const o of Object.values(this.rowCtrlsByRowIndex))t[o.rowNode.id]=o;return this.rowCtrlsByRowIndex={},t}removeRowCtrls(e,t=!1){for(const o of e){const e=this.rowCtrlsByRowIndex[o];e&&(e.destroyFirstPass(t),e.destroySecondPass()),delete this.rowCtrlsByRowIndex[o]}}onBodyScroll(e){"vertical"===e.direction&&this.redraw({afterScroll:!0})}redraw(e={}){const{focusSvc:t,animationFrameSvc:o}=this.beans,{afterScroll:s}=e;let i;const n=this.stickyRowFeature;n&&(i=t?.getFocusCellToUseAfterRefresh()||void 0);const r=this.firstRenderedRow,l=this.lastRenderedRow;this.workOutFirstAndLastRowsToRender();let a=!1;if(n){a=n.checkStickyRows();const e=n.extraTopHeight+n.extraBottomHeight;e&&this.updateContainerHeights(e)}const d=this.firstRenderedRow!==r||this.lastRenderedRow!==l;if((!s||a||d)&&(this.getLockOnRefresh(),this.recycleRows(null,!1,s),this.releaseLockOnRefresh(),this.dispatchDisplayedRowsChanged(s&&!a),null!=i)){const e=t?.getFocusCellToUseAfterRefresh();null!=i&&null==e&&(o?.flushAllFrames(),this.restoreFocusedCell(i))}}removeRowCompsNotToDraw(e,t){const o={};for(const i of e)o[i]=!0;const s=Object.keys(this.rowCtrlsByRowIndex).filter(e=>!o[e]);this.removeRowCtrls(s,t)}calculateIndexesToDraw(e){const t=[];for(let r=this.firstRenderedRow;r<=this.lastRenderedRow;r++)t.push(r);const o=this.beans.pagination,s=this.beans.focusSvc?.getFocusedCell()?.rowIndex;null!=s&&(sthis.lastRenderedRow)&&(!o||o.isRowInPage(s))&&s{const o=e.rowNode.rowIndex;null!=o&&o!==s&&(othis.lastRenderedRow)&&this.doNotUnVirtualiseRow(e)&&t.push(o)};for(const r of Object.values(this.rowCtrlsByRowIndex))i(r);if(e)for(const r of Object.values(e))i(r);t.sort((e,t)=>e-t);const n=[];for(let r=0;r{this.destroyRowCtrls(e,t),this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()}):this.destroyRowCtrls(e,t)}this.updateAllRowCtrls()}dispatchDisplayedRowsChanged(e=!1){this.eventSvc.dispatchEvent({type:"displayedRowsChanged",afterScroll:e})}onDisplayedColumnsChanged(){const{visibleCols:e}=this.beans,t=e.isPinningLeft(),o=e.isPinningRight();this.pinningLeft===t&&o===this.pinningRight||(this.pinningLeft=t,this.pinningRight=o,this.embedFullWidthRows&&this.redrawFullWidthEmbeddedRows())}redrawFullWidthEmbeddedRows(){const e=[];for(const t of this.getFullWidthRowCtrls()){const o=t.rowNode.rowIndex;e.push(o.toString())}this.refreshFloatingRowComps(),this.removeRowCtrls(e),this.redraw({afterScroll:!0})}getFullWidthRowCtrls(e){const t=bu(e);return this.getAllRowCtrls().filter(e=>{if(!e.isFullWidth())return!1;const o=e.rowNode;return!(null!=t&&!yu(o,t))})}createOrUpdateRowCtrl(e,t,o,s){let i,n=this.rowCtrlsByRowIndex[e];if(n||(i=this.rowModel.getRow(e),l(i)&&l(t)&&t[i.id]&&i.alreadyRendered&&(n=t[i.id],t[i.id]=null)),!n){if(i||(i=this.rowModel.getRow(e)),!l(i))return;n=this.createRowCon(i,o,s)}i&&(i.alreadyRendered=!0),this.rowCtrlsByRowIndex[e]=n}destroyRowCtrls(e,t){const o=[];if(e)for(const s of Object.values(e))if(s)if(this.cachedRowCtrls&&s.isCacheable())this.cachedRowCtrls.addRow(s);else if(s.destroyFirstPass(!t),t){const e=s.instanceId;this.zombieRowCtrls[e]=s,o.push(()=>{s.destroySecondPass(),delete this.zombieRowCtrls[e]})}else s.destroySecondPass();t&&(o.push(()=>{this.isAlive()&&(this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged())}),window.setTimeout(()=>{for(const e of o)e()},400))}getRowBuffer(){return this.gos.get("rowBuffer")}getRowBufferInPixels(){return this.getRowBuffer()*Bt(this.beans)}workOutFirstAndLastRowsToRender(){const{rowContainerHeight:e,pageBounds:t,rowModel:o}=this;let s,i;if(e.updateOffset(),o.isRowsToRender())if(this.printLayout)this.beans.environment.refreshRowHeightVariable(),s=t.getFirstRow(),i=t.getLastRow();else{const n=this.getRowBufferInPixels(),r=this.ctrlsSvc.getScrollFeature(),l=this.gos.get("suppressRowVirtualisation");let a,d,c=!1;do{const o=t.getPixelOffset(),{pageFirstPixel:s,pageLastPixel:i}=t.getCurrentPagePixelRange(),h=e.divStretchOffset,u=r.getVScrollPosition(),g=u.top,p=u.bottom;l?(a=s+h,d=i+h):(a=Math.max(g+o-n,s)+h,d=Math.min(p+o+n,i)+h),this.firstVisibleVPixel=Math.max(g+o,s)+h,this.lastVisibleVPixel=Math.min(p+o,i)+h,c=this.ensureAllRowsInRangeHaveHeightsCalculated(a,d)}while(c);let h=o.getRowIndexAtPixel(a),u=o.getRowIndexAtPixel(d);const g=t.getFirstRow(),p=t.getLastRow();hp&&(u=p),s=h,i=u}else s=0,i=-1;const n=kt(this.gos,"normal"),r=this.gos.get("suppressMaxRenderedRowRestriction"),l=Math.max(this.getRowBuffer(),500);n&&!r&&i-s>l&&(i=s+l);const a=s!==this.firstRenderedRow,d=i!==this.lastRenderedRow;(a||d)&&(this.firstRenderedRow=s,this.lastRenderedRow=i,this.eventSvc.dispatchEvent({type:"viewportChanged",firstRow:s,lastRow:i}))}dispatchFirstDataRenderedEvent(){this.dataFirstRenderedFired||(this.dataFirstRenderedFired=!0,be(this.beans,()=>{this.beans.eventSvc.dispatchEvent({type:"firstDataRendered",firstRow:this.firstRenderedRow,lastRow:this.lastRenderedRow})}))}ensureAllRowsInRangeHaveHeightsCalculated(e,t){const o=this.pinnedRowModel?.ensureRowHeightsValid(),s=this.stickyRowFeature?.ensureRowHeightsValid(),{pageBounds:i,rowModel:n}=this,r=n.ensureRowHeightsValid(e,t,i.getFirstRow(),i.getLastRow());return(r||s)&&this.eventSvc.dispatchEvent({type:"recalculateRowBounds"}),!!(s||r||o)&&(this.updateContainerHeights(),!0)}doNotUnVirtualiseRow(e){const t=e.rowNode,o=this.focusSvc.isRowFocused(t.rowIndex,t.rowPinned),s=this.editSvc?.isEditing(e),i=t.detail;return(o||s||i)&&!!this.isRowPresent(t)||!1}isRowPresent(e){return!!this.rowModel.isRowPresent(e)&&(this.beans.pagination?.isRowInPage(e.rowIndex)??!0)}createRowCon(e,t,o){const s=this.cachedRowCtrls?.getRow(e)??null;if(s)return s;const i=o&&!this.printLayout&&!!this.beans.animationFrameSvc?.active;return new qh(e,this.beans,t,i,this.printLayout)}getRenderedNodes(){const e=Object.values(this.rowCtrlsByRowIndex).map(e=>e.rowNode);return[...this.getStickyTopRowCtrls().map(e=>e.rowNode),...e,...this.getStickyBottomRowCtrls().map(e=>e.rowNode)]}getRowByPosition(e){let t;const{rowIndex:o}=e;switch(e.rowPinned){case"top":t=this.topRowCtrls[o];break;case"bottom":t=this.bottomRowCtrls[o];break;default:t=this.rowCtrlsByRowIndex[o],t||(t=this.getStickyTopRowCtrls().find(e=>e.rowNode.rowIndex===o)||null,t||(t=this.getStickyBottomRowCtrls().find(e=>e.rowNode.rowIndex===o)||null))}return t}isRangeInRenderedViewport(e,t){if(null==e||null==t)return!1;const o=e>this.lastRenderedRow;return!(tthis.callColumnCellValueChangedHandler(e);this.eventSvc.addListener("cellValueChanged",o,!0),this.addDestroyFunc(()=>this.eventSvc.removeListener("cellValueChanged",o,!0)),this.addManagedPropertyListener("treeData",e=>this.isTreeData=e.currentValue)}getValueForDisplay(e){const t=this.beans,o=e.column,s=e.node,i=t.showRowGroupColValueSvc,n=!o&&s.group,r=o?.colDef.showRowGroup,l=!this.isTreeData||s.footer;if(i&&l&&(n||r)){const t=i.getGroupValue(s,o,this.displayIgnoresAggData(s));return null==t?{value:null,valueFormatted:null}:{value:t.value,valueFormatted:e.includeValueFormatted?i.formatAndPrefixGroupColValue(t,o,e.exporting):null}}if(!o)return{value:s.key,valueFormatted:null};let a=this.getValue(o,s,e.from,this.displayIgnoresAggData(s)),d=a;const c=t.formula;return o.isAllowFormula()&&c?.isFormula(a)&&(e.useRawFormula?(a=c.normaliseFormula(a,!0),d=c.resolveValue(o,s)):(a=c.resolveValue(o,s),d=a)),{value:a,valueFormatted:!e.includeValueFormatted||e.exporting&&!1===o.colDef.useValueFormatterForExport?null:this.formatValue(o,s,d)}}getValue(e,t,o,s=!1){if(this.initialised||this.init(),!t)return;const i=e.colDef,n=t.group;if(!n){const t=i.pivotValueColumn;t&&(e=t)}const r=this.editSvc?.getPendingEditValue(t,e,o);if(void 0!==r)return r;let l=this.resolveValue(e,t,s,n);if(void 0!==l){if(this.cellExpressions&&C(l)){const o=l.substring(1);l=this.executeValueGetter(o,t.data,e,t)}return l}if(n){const e=i.showRowGroup;if("string"==typeof e){const o=this.rowGroupColsSvc?.getColumnIndex(e);if(null!=o&&o>t.level)return null}}}displayIgnoresAggData(e){return!(!e.group||e.footer||-1===e.level||!e.sibling||this.gos.get("groupSuppressBlankHeader")||e.leafGroup&&this.colModel.isPivotMode()||!e.expanded)}resolveValue(e,t,o,s){const i=e.colDef,n=e.colId,r=!s&&this.formulaDataSvc;if(r&&r.hasDataSource()&&!0===i.allowFormula){const o=r.getFormula({column:e,rowNode:t});if(C(o))return o}const l=s&&!o?t.aggData:void 0,a=this.isTreeData;if(a&&void 0!==l?.[n])return l[n];const d=t.data,c=i.field,h=i.valueGetter;if(a){if(h)return this.executeValueGetter(h,d,e,t);if(c&&d)return td(d,c,e.isFieldContainsDots())}const u=t.groupData;if(u&&n in u)return u[n];if(void 0!==l?.[n])return l[n];const g=i.showRowGroup,p="string"!=typeof g||!s,m=this.isSsrm,f=m&&o&&!!i.aggFunc;return h&&!f?p?this.executeValueGetter(h,d,e,t):void 0:m&&t.footer&&t.field&&(!0===g||g===t.field)?td(d,t.field,e.isFieldContainsDots()):c&&d&&!f&&p?td(d,c,e.isFieldContainsDots()):void 0}parseValue(e,t,o,s){const i=e.getColDef();if(i.allowFormula&&this.beans.formula?.isFormula(o))return o;const n=i.valueParser;if(l(n)){const r=Co(this.gos,{node:t,data:t?.data,oldValue:s,newValue:o,colDef:i,column:e});return"function"==typeof n?n(r):this.expressionSvc?.evaluate(n,r)}return o}getDeleteValue(e,t){return l(e.getColDef().valueParser)?this.parseValue(e,t,"",this.getValueForDisplay({column:e,node:t,from:"edit"}).value)??null:null}formatValue(e,t,o,s,i=!0){const{expressionSvc:n}=this.beans;let r,l=null;const a=e.getColDef();if(s?r=s:i&&(r=a.valueFormatter),r){const s=t?t.data:null,i=Co(this.gos,{value:o,node:t,data:s,colDef:a,column:e});l="function"==typeof r?r(i):n?n.evaluate(r,i):null}else if(a.refData)return a.refData[o]||"";return null==l&&Array.isArray(o)&&(l=o.join(", ")),l}setValue(e,t,o,s){const i=t.getColDef();if(!e.data&&this.canCreateRowNodeData(e,i)&&(e.data={}),!this.isSetValueSupported(t,e,o,i))return!1;const n=this.getValue(t,e,"data"),r=Co(this.gos,{node:e,data:e.data,oldValue:n,newValue:o,colDef:i,column:t});let l=!1;if(e.data){const n=this.handleExternalFormulaChange({column:t,eventSource:s,newValue:o,setterParams:r,rowNode:e});if(null!==n)return n;l=this.computeValueChange({column:t,rowNode:e,newValue:o,params:r,rowData:e.data,valueSetter:i.valueSetter,field:i.field})??!0}const a=this.beans.changeDetectionSvc;a?.beginDeferred();try{if(e.group){const i=this.beans.rowGroupingEditValueSvc?.setGroupDataValue(e,t,o,n,s,l||o!==n);if(void 0!==i)return!(!l&&!i)&&this.finishValueChange(e,t,r,s,o)}return!!l&&this.finishValueChange(e,t,r,s)}finally{a?.endDeferred()}}canCreateRowNodeData(e,t){return!e.group||null==t.groupRowValueSetter&&null==t.groupRowEditable&&!t.pivotValueColumn}finishValueChange(e,t,o,s,i){e.resetQuickFilterAggregateText(),this.valueCache?.onDataChanged();const n=void 0===i?this.getValue(t,e,"data"):i;return this.dispatchCellValueChangedEvent(e,o,n,s),e.pinnedSibling&&this.dispatchCellValueChangedEvent(e.pinnedSibling,o,n,s),!0}isSetValueSupported(e,t,o,s){const{field:i,valueSetter:n}=s,r=this.beans.formula,l=e.isAllowFormula()&&r?.isFormula(o),d=!!this.formulaDataSvc?.hasDataSource();return!a(i)||!a(n)||d&&l?!(this.dataTypeSvc&&!this.dataTypeSvc.checkType(e,o)&&(Dt(135),1)):!(!t.group||!s.groupRowValueSetter&&!s.groupRowEditable)||(Dt(17),!1)}handleExternalFormulaChange(e){const{column:t,rowNode:o,newValue:s,eventSource:i,setterParams:n}=e,r=this.beans.formula,d=this.formulaDataSvc;if(!d?.hasDataSource()||!t.isAllowFormula())return null;const c=r?.isFormula(s),h=d.getFormula({column:t,rowNode:o});if(c){if(h===s)return!1;d.setFormula({column:t,rowNode:o,formula:s});const e=r?.resolveValue(t,o),c=t.getColDef();if(l(c.valueSetter)||!a(c.field)){const s={...n,newValue:e};this.computeValueChange({column:t,rowNode:o,newValue:e,params:s,rowData:o.data,valueSetter:c.valueSetter,field:c.field})}return this.finishValueChange(o,t,n,i)}return void 0!==h&&d.setFormula({column:t,rowNode:o,formula:void 0}),null}computeValueChange(e){const{valueSetter:t,params:o,rowData:s,field:i,column:n,newValue:r}=e;return l(t)?"function"==typeof t?t(o):this.expressionSvc?.evaluate(t,o):!!s&&this.setValueUsingField(s,i,r,n.isFieldContainsDots())}dispatchCellValueChangedEvent(e,t,o,s){this.eventSvc.dispatchEvent({type:"cellValueChanged",event:null,rowIndex:e.rowIndex,rowPinned:e.rowPinned,column:t.column,colDef:t.colDef,data:e.data,node:e,oldValue:t.oldValue,newValue:o,newRawValue:t.newValue,value:o,source:s})}callColumnCellValueChangedHandler(e){const t=e.colDef.onCellValueChanged;"function"==typeof t&&this.beans.frameworkOverrides.wrapOutgoing(()=>{t(e)})}setValueUsingField(e,t,o,s){if(!t)return!1;let i=!1;if(s){const s=t.split(".");let n=e;for(;s.length>0&&n;){const e=s.shift();0===s.length?(i=n[e]===o,i||(n[e]=o)):n=n[e]}}else i=e[t]===o,i||(e[t]=o);return!i}executeValueGetterWithValueCache(e,t,o,s){const i=o.getColId(),n=this.valueCache.getValue(s,i);if(void 0!==n)return n;const r=this.executeValueGetterWithoutValueCache(e,t,o,s);return this.valueCache.setValue(s,i,r),r}executeValueGetterWithoutValueCache(e,t,o,s){const i=Co(this.gos,{data:t,node:s,column:o,colDef:o.getColDef(),getValue:e=>this.getValueCallback(s,e)});let n;return n="function"==typeof e?e(i):this.expressionSvc?.evaluate(e,i),n}getValueCallback(e,t){const o=this.colModel.getColDefCol(t);return o?this.getValue(o,e,"data"):null}getKeyForNode(e,t){const o=this.getValue(e,t,"data"),s=e.getColDef().keyCreator;let i=o;return s&&(i=s(Co(this.gos,{value:o,colDef:e.getColDef(),column:e,node:t,data:t.data}))),"string"==typeof i||null==i||(i=String(i),"[object Object]"===i&&Dt(121)),i}},class extends Oe{constructor(){super(...arguments),this.beanName="focusSvc",this.focusFallbackTimeout=null,this.needsFocusRestored=!1}wireBeans(e){this.colModel=e.colModel,this.visibleCols=e.visibleCols,this.rowRenderer=e.rowRenderer,this.navigation=e.navigation,this.filterManager=e.filterManager,this.overlays=e.overlays}postConstruct(){const e=this.clearFocusedCell.bind(this);this.addManagedEventListeners({columnPivotModeChanged:e,newColumnsLoaded:this.onColumnEverythingChanged.bind(this),columnGroupOpened:e,columnRowGroupChanged:e}),this.addDestroyFunc(function(e){const t=b(e);var o;return o=t,Hi>0||(o.addEventListener("keydown",Oi),o.addEventListener("mousedown",Oi)),Hi++,()=>{Hi--,function(e){Hi>0||(e.removeEventListener("keydown",Oi),e.removeEventListener("mousedown",Oi))}(t)}}(this.beans))}attemptToRecoverFocus(){this.needsFocusRestored=!0,null!=this.focusFallbackTimeout&&clearTimeout(this.focusFallbackTimeout),this.focusFallbackTimeout=window.setTimeout(this.setFocusRecovered.bind(this),100)}setFocusRecovered(){this.needsFocusRestored=!1,null!=this.focusFallbackTimeout&&(clearTimeout(this.focusFallbackTimeout),this.focusFallbackTimeout=null)}shouldTakeFocus(){return this.gos.get("suppressFocusAfterRefresh")?(this.setFocusRecovered(),!1):this.needsFocusRestored?(this.setFocusRecovered(),!0):this.doesRowOrCellHaveBrowserFocus()}onColumnEverythingChanged(){if(!this.focusedCell)return;const e=this.focusedCell.column;e!==this.colModel.getCol(e.getId())&&this.clearFocusedCell()}getFocusCellToUseAfterRefresh(){const{gos:e,focusedCell:t}=this;return e.get("suppressFocusAfterRefresh")||e.get("suppressCellFocus")||!t?null:this.doesRowOrCellHaveBrowserFocus()?t:null}getFocusHeaderToUseAfterRefresh(){return this.gos.get("suppressFocusAfterRefresh")||!this.focusedHeader?null:this.isDomDataPresentInHierarchy(w(this.beans),dr)?this.focusedHeader:null}doesRowOrCellHaveBrowserFocus(){const e=w(this.beans);return!!this.isDomDataPresentInHierarchy(e,zr,!0)||this.isDomDataPresentInHierarchy(e,Ur,!0)}isDomDataPresentInHierarchy(e,t,o){let s=e;for(;s;){const e=Ot(this.gos,s,t);if(e)return!e.destroyed||!o||(this.attemptToRecoverFocus(),!1);s=s.parentNode}return!1}getFocusedCell(){return this.focusedCell}getFocusEventParams(e){const{rowIndex:t,rowPinned:o,column:s}=e,i={rowIndex:t,rowPinned:o,column:s,isFullWidthCell:!1},n=this.rowRenderer.getRowByPosition({rowIndex:t,rowPinned:o});return n&&(i.isFullWidthCell=n.isFullWidth()),i}clearFocusedCell(){if(null==this.focusedCell)return;const e=this.getFocusEventParams(this.focusedCell);this.focusedCell=null,this.eventSvc.dispatchEvent({type:"cellFocusCleared",...e})}setFocusedCell(e){this.setFocusRecovered();const{column:t,rowIndex:o,rowPinned:s,forceBrowserFocus:i=!1,preventScrollOnBrowserFocus:n=!1,sourceEvent:l}=e,a=this.colModel.getCol(t);if(!a)return void(this.focusedCell=null);this.focusedCell={rowIndex:o,rowPinned:r(s),column:a};const d=this.getFocusEventParams(this.focusedCell);this.eventSvc.dispatchEvent({type:"cellFocused",...d,...this.previousCellFocusParams&&{previousParams:this.previousCellFocusParams},forceBrowserFocus:i,preventScrollOnBrowserFocus:n,sourceEvent:l}),this.previousCellFocusParams=d}isCellFocused(e){return null!=this.focusedCell&&bn(e,this.focusedCell)}isHeaderWrapperFocused(e){if(null==this.focusedHeader)return!1;const{column:t,rowCtrl:{rowIndex:o,pinned:s}}=e,{column:i,headerRowIndex:n}=this.focusedHeader;return t===i&&o===n&&s==i.getPinned()}focusHeaderPosition(e){if(this.setFocusRecovered(),An(this.beans))return!1;const{direction:t,fromTab:o,allowUserOverride:s,event:i,fromCell:n,rowWithoutSpanValue:r,scroll:l=!0}=e;let{headerPosition:a}=e;if(n&&this.filterManager?.isAdvFilterHeaderActive())return this.focusAdvancedFilter(a);if(s){const e=this.focusedHeader,s=On(this.beans);if(o){const o=this.gos.getCallback("tabToNextHeader");o&&(a=this.getHeaderPositionFromUserFunc({userFunc:o,direction:t,currentPosition:e,headerPosition:a,headerRowCount:s}))}else{const t=this.gos.getCallback("navigateToNextHeader");if(t&&i){const o=t({key:i.key,previousHeaderPosition:e,nextHeaderPosition:a,headerRowCount:s,event:i});a=null===o?e:o}}}return!!a&&this.focusProvidedHeaderPosition({headerPosition:a,direction:t,event:i,fromCell:n,rowWithoutSpanValue:r,scroll:l})}focusHeaderPositionFromUserFunc(e){if(An(this.beans))return!1;const{userFunc:t,headerPosition:o,direction:s,event:i}=e,n=this.focusedHeader,r=On(this.beans),l=this.getHeaderPositionFromUserFunc({userFunc:t,direction:s,currentPosition:n,headerPosition:o,headerRowCount:r});return!!l&&this.focusProvidedHeaderPosition({headerPosition:l,direction:s,event:i})}getHeaderPositionFromUserFunc(e){const{userFunc:t,direction:o,currentPosition:s,headerPosition:i,headerRowCount:n}=e,r=t({backwards:"Before"===o,previousHeaderPosition:s,nextHeaderPosition:i,headerRowCount:n});return!0===r?s:!1===r?null:r}focusProvidedHeaderPosition(e){const{headerPosition:t,direction:o,fromCell:s,rowWithoutSpanValue:i,event:n,scroll:r=!0}=e,{column:l,headerRowIndex:a}=t,{filterManager:d,ctrlsSvc:c,headerNavigation:h}=this.beans;if(this.focusedHeader&&(u=e.headerPosition,g=this.focusedHeader,u.headerRowIndex===g.headerRowIndex&&u.column===g.column))return!1;var u,g;if(-1===a)return d?.isAdvFilterHeaderActive()?this.focusAdvancedFilter(t):this.focusGridView({column:l,event:n});r&&h?.scrollToColumn(l,o);const p=c.getHeaderRowContainerCtrl(l.getPinned())?.focusHeader(t.headerRowIndex,l,n)||!1;return h&&p&&(null!=i||s)&&(h.currentHeaderRowWithoutSpan=i??-1),p}focusFirstHeader(){if(this.overlays?.exclusive&&this.focusOverlay())return!0;const e=this.visibleCols.allCols[0];if(!e)return!1;const t=Vc(this.beans,e,0);return this.focusHeaderPosition({headerPosition:t,rowWithoutSpanValue:0})}focusLastHeader(t){if(this.overlays?.exclusive&&this.focusOverlay(!0))return!0;const o=On(this.beans)-1,s=e(this.visibleCols.allCols);return this.focusHeaderPosition({headerPosition:{headerRowIndex:o,column:s},rowWithoutSpanValue:-1,event:t})}focusPreviousFromFirstCell(e){return this.filterManager?.isAdvFilterHeaderActive()?this.focusAdvancedFilter(null):this.focusLastHeader(e)}isAnyCellFocused(){return!!this.focusedCell}isRowFocused(e,t){return null!=this.focusedCell&&this.focusedCell.rowIndex===e&&this.focusedCell.rowPinned===r(t)}focusOverlay(e){const t=this.overlays?.isVisible()&&this.overlays.eWrapper?.getGui();return!!t&&Wi(t,e)}getDefaultTabToNextGridContainerTarget(e){const{backwards:t,focusableContainers:o}=e,s=t?-1:1;let i;const n=()=>(void 0===i&&(i=this.getGridBodyTabTarget(t)),i);for(let r=e.nextIndex;r>=0&&rthis.refreshRowHeightVariable()),this.getSizeEl(Lc),this.getSizeEl(Gc),this.getSizeEl(Nc),this.getSizeEl(Bc),this.refreshRowBorderWidthVariable()}getPinnedRowBorderWidth(){return this.getCSSVariablePixelValue(Bc)}getRowBorderWidth(){return this.getCSSVariablePixelValue(Nc)}getHeaderRowBorderWidth(){return this.getCSSVariablePixelValue(Hc)}getDefaultRowHeight(){return this.getCSSVariablePixelValue(Lc)}getDefaultHeaderHeight(){return this.getCSSVariablePixelValue(Gc)}getDefaultCellHorizontalPadding(){return this.getCSSVariablePixelValue(Ic)}getCellPaddingLeft(){const e=this.getDefaultCellHorizontalPadding(),t=this.getCSSVariablePixelValue(Ac);return e-1+this.getCSSVariablePixelValue(kc)*t}getCellPadding(){const e=this.getDefaultCellHorizontalPadding()-1;return this.getCellPaddingLeft()+e}getDefaultColumnMinWidth(){return Math.min(36,this.getDefaultRowHeight())}refreshRowHeightVariable(){const{eRootDiv:e}=this,t=e.style.getPropertyValue("--ag-line-height").trim(),o=this.gos.get("rowHeight");if(null==o||isNaN(o)||!isFinite(o))return null!==t&&e.style.setProperty("--ag-line-height",null),-1;const s=`${o}px`;return t!=s?(e.style.setProperty("--ag-line-height",s),o):""!=t?Number.parseFloat(t):-1}fireStylesChangedEvent(e){"rowBorderWidth"===e&&this.refreshRowBorderWidthVariable(),super.fireStylesChangedEvent(e)}refreshRowBorderWidthVariable(){const e=this.getCSSVariablePixelValue(Nc);this.eRootDiv.style.setProperty("--ag-internal-row-border-width",`${e}px`)}postProcessThemeChange(e,t){e&&getComputedStyle(this.getMeasurementContainer()).getPropertyValue("--ag-legacy-styles-loaded")&&Mt(t?106:239)}getAdditionalCss(){const e=/* @__PURE__ */new Map;return e.set("core",['.ag-aria-description-container{border:0;z-index:9999;clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ag-unselectable{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ag-selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text}.ag-shake-left-to-right{animation-direction:alternate;animation-duration:.2s;animation-iteration-count:infinite;animation-name:ag-shake-left-to-right}@keyframes ag-shake-left-to-right{0%{padding-left:6px;padding-right:2px}to{padding-left:2px;padding-right:6px}}.ag-body-horizontal-scroll-viewport,.ag-body-vertical-scroll-viewport,.ag-body-viewport,.ag-center-cols-viewport,.ag-floating-bottom-viewport,.ag-floating-top-viewport,.ag-header-viewport,.ag-sticky-bottom-viewport,.ag-sticky-top-viewport{flex:1 1 auto;height:100%;min-width:0;overflow:hidden;position:relative}.ag-viewport{position:relative}.ag-spanning-container{position:absolute;top:0;z-index:1}.ag-body-viewport,.ag-center-cols-viewport,.ag-floating-bottom-viewport,.ag-floating-top-viewport,.ag-header-viewport,.ag-sticky-bottom-viewport,.ag-sticky-top-viewport{overflow-x:auto;-ms-overflow-style:none!important;scrollbar-width:none!important}.ag-body-viewport::-webkit-scrollbar,.ag-center-cols-viewport::-webkit-scrollbar,.ag-floating-bottom-viewport::-webkit-scrollbar,.ag-floating-top-viewport::-webkit-scrollbar,.ag-header-viewport::-webkit-scrollbar,.ag-sticky-bottom-viewport::-webkit-scrollbar,.ag-sticky-top-viewport::-webkit-scrollbar{display:none!important}.ag-body-viewport{display:flex;overflow-x:hidden;&:where(.ag-layout-normal){overflow-y:auto;-webkit-overflow-scrolling:touch}}.ag-floating-bottom-container,.ag-floating-top-container,.ag-sticky-bottom-container,.ag-sticky-top-container{min-height:1px}.ag-center-cols-viewport{min-height:100%;width:100%}.ag-body-horizontal-scroll-viewport{overflow-x:scroll}.ag-body-vertical-scroll-viewport{overflow-y:scroll}.ag-body-container,.ag-body-horizontal-scroll-container,.ag-body-vertical-scroll-container,.ag-center-cols-container,.ag-floating-bottom-container,.ag-floating-bottom-full-width-container,.ag-floating-top-container,.ag-full-width-container,.ag-header-container,.ag-pinned-left-cols-container,.ag-pinned-left-sticky-bottom,.ag-pinned-right-cols-container,.ag-pinned-right-sticky-bottom,.ag-sticky-bottom-container,.ag-sticky-top-container{position:relative}.ag-floating-bottom-container,.ag-floating-top-container,.ag-header-container,.ag-pinned-left-floating-bottom,.ag-pinned-left-floating-top,.ag-pinned-right-floating-bottom,.ag-pinned-right-floating-top,.ag-sticky-bottom-container,.ag-sticky-top-container{height:100%;white-space:nowrap}.ag-center-cols-container,.ag-pinned-right-cols-container{display:block}.ag-body-horizontal-scroll-container{height:100%}.ag-body-vertical-scroll-container{width:100%}.ag-floating-bottom-full-width-container,.ag-floating-top-full-width-container,.ag-full-width-container,.ag-sticky-bottom-full-width-container,.ag-sticky-top-full-width-container{pointer-events:none;position:absolute;top:0}:where(.ag-ltr) .ag-floating-bottom-full-width-container,:where(.ag-ltr) .ag-floating-top-full-width-container,:where(.ag-ltr) .ag-full-width-container,:where(.ag-ltr) .ag-sticky-bottom-full-width-container,:where(.ag-ltr) .ag-sticky-top-full-width-container{left:0}:where(.ag-rtl) .ag-floating-bottom-full-width-container,:where(.ag-rtl) .ag-floating-top-full-width-container,:where(.ag-rtl) .ag-full-width-container,:where(.ag-rtl) .ag-sticky-bottom-full-width-container,:where(.ag-rtl) .ag-sticky-top-full-width-container{right:0}.ag-full-width-container{width:100%}.ag-floating-bottom-full-width-container,.ag-floating-top-full-width-container{display:inline-block;height:100%;overflow:hidden;width:100%}.ag-body{display:flex;flex:1 1 auto;flex-direction:row!important;min-height:0;position:relative}.ag-body-horizontal-scroll,.ag-body-vertical-scroll{display:flex;min-height:0;min-width:0;position:relative;&:where(.ag-scrollbar-invisible){bottom:0;position:absolute;&:where(.ag-apple-scrollbar){opacity:0;transition:opacity .4s;visibility:hidden;&:where(.ag-scrollbar-active),&:where(.ag-scrollbar-scrolling){opacity:1;visibility:visible}}}}.ag-body-horizontal-scroll{width:100%;&:where(.ag-scrollbar-invisible){left:0;right:0}}.ag-body-vertical-scroll{height:100%;&:where(.ag-scrollbar-invisible){top:0;z-index:10}}:where(.ag-ltr) .ag-body-vertical-scroll{&:where(.ag-scrollbar-invisible){right:0}}:where(.ag-rtl) .ag-body-vertical-scroll{&:where(.ag-scrollbar-invisible){left:0}}.ag-force-vertical-scroll{overflow-y:scroll!important}.ag-horizontal-left-spacer,.ag-horizontal-right-spacer{height:100%;min-width:0;overflow-x:scroll;&:where(.ag-scroller-corner){overflow-x:hidden}}:where(.ag-row-animation) .ag-row{transition:transform .4s,top .4s,opacity .2s;&:where(.ag-after-created){transition:transform .4s,top .4s,height .4s,opacity .2s}}:where(.ag-row-animation.ag-prevent-animation) .ag-row{transition:none!important;&:where(.ag-row.ag-after-created){transition:none!important}}:where(.ag-row-no-animation) .ag-row{transition:none}.ag-row-loading{align-items:center;display:flex}.ag-row-position-absolute{position:absolute}.ag-row-position-relative{position:relative}.ag-full-width-row{overflow:hidden;pointer-events:all}.ag-row-inline-editing{z-index:1}.ag-row-dragging{z-index:2}.ag-stub-cell{align-items:center;display:flex}.ag-cell{display:inline-block;height:100%;position:absolute;white-space:nowrap;&:focus-visible{box-shadow:none}}.ag-cell-value{flex:1 1 auto}.ag-cell-value:not(.ag-allow-overflow),.ag-group-value{overflow:hidden;text-overflow:ellipsis}.ag-cell-wrap-text{white-space:normal;word-break:break-word}:where(.ag-cell) .ag-icon{display:inline-block;vertical-align:middle}.ag-floating-top{display:flex;overflow:hidden;position:relative;white-space:nowrap;width:100%}:where(.ag-floating-top:not(.ag-invisible)){border-bottom:var(--ag-pinned-row-border)}.ag-floating-bottom{display:flex;overflow:hidden;position:relative;white-space:nowrap;width:100%}:where(.ag-floating-bottom:not(.ag-invisible)){border-top:var(--ag-pinned-row-border)}.ag-sticky-bottom,.ag-sticky-top{background-color:var(--ag-data-background-color);display:flex;height:0;overflow:hidden;position:absolute;width:100%;z-index:1}.ag-sticky-bottom{box-sizing:content-box!important;:where(.ag-pinned-left-sticky-bottom),:where(.ag-pinned-right-sticky-bottom),:where(.ag-sticky-bottom-container){border-top:var(--ag-row-border);box-sizing:border-box}}.ag-opacity-zero{opacity:0!important}.ag-cell-label-container{align-items:center;display:flex;flex-direction:row-reverse;height:100%;justify-content:space-between;width:100%}:where(.ag-right-aligned-header){.ag-cell-label-container{flex-direction:row}.ag-header-cell-text{text-align:end}}.ag-column-group-icons{display:block;:where(.ag-column-group-closed-icon),:where(.ag-column-group-opened-icon){cursor:pointer}}:where(.ag-ltr){direction:ltr;.ag-body,.ag-body-horizontal-scroll,.ag-body-viewport,.ag-floating-bottom,.ag-floating-top,.ag-header,.ag-sticky-bottom,.ag-sticky-top{flex-direction:row}}:where(.ag-rtl){direction:rtl;text-align:right;.ag-body,.ag-body-horizontal-scroll,.ag-body-viewport,.ag-floating-bottom,.ag-floating-top,.ag-header,.ag-sticky-bottom,.ag-sticky-top{flex-direction:row-reverse}.ag-icon-contracted,.ag-icon-expanded,.ag-icon-tree-closed{display:block}}:where(.ag-rtl){.ag-icon-contracted,.ag-icon-expanded,.ag-icon-tree-closed{transform:rotate(180deg)}}:where(.ag-rtl){.ag-icon-contracted,.ag-icon-expanded,.ag-icon-tree-closed{transform:rotate(-180deg)}}:where(.ag-ltr) .ag-row:not(.ag-row-level-0) .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}:where(.ag-rtl) .ag-row:not(.ag-row-level-0) .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}:where(.ag-ltr) .ag-row-group-leaf-indent{margin-left:calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size))}:where(.ag-rtl) .ag-row-group-leaf-indent{margin-right:calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size))}.ag-value-change-delta{padding:0 2px}.ag-value-change-delta-up{color:var(--ag-value-change-delta-up-color)}.ag-value-change-delta-down{color:var(--ag-value-change-delta-down-color)}.ag-value-change-value{background-color:transparent;border-radius:1px;padding-left:1px;padding-right:1px;transition:background-color 1s}.ag-value-change-value-highlight{background-color:var(--ag-value-change-value-highlight-background-color);transition:background-color .1s}.ag-cell-data-changed{background-color:var(--ag-value-change-value-highlight-background-color)!important}.ag-cell-data-changed-animation{background-color:transparent}.ag-cell-highlight{background-color:var(--ag-range-selection-highlight-color)!important}.ag-row,.ag-spanned-row{color:var(--ag-cell-text-color);font-family:var(--ag-cell-font-family);font-size:var(--ag-cell-font-size);font-weight:var(--ag-cell-font-weight);white-space:nowrap;--ag-internal-content-line-height:calc(min(var(--ag-row-height), var(--ag-line-height, 1000px)) - var(--ag-internal-row-border-width, 1px) - 2px)}.ag-row{background-color:var(--ag-data-background-color);border-bottom:var(--ag-row-border);height:var(--ag-row-height);width:100%;&.ag-row-editing-invalid{background-color:var(--ag-full-row-edit-invalid-background-color)}}:where(.ag-body-vertical-content-no-gap>div>div>div,.ag-body-vertical-content-no-gap>div>div>div>div)>.ag-row-last{border-bottom-color:transparent}.ag-group-contracted,.ag-group-expanded{cursor:pointer}.ag-cell,.ag-full-width-row .ag-cell-wrapper.ag-row-group{border:1px solid transparent;line-height:var(--ag-internal-content-line-height);-webkit-font-smoothing:subpixel-antialiased}:where(.ag-ltr) .ag-cell{border-right:var(--ag-column-border)}:where(.ag-rtl) .ag-cell{border-left:var(--ag-column-border)}.ag-spanned-cell-wrapper{background-color:var(--ag-data-background-color);position:absolute}.ag-spanned-cell-wrapper>.ag-spanned-cell{display:block;position:relative}:where(.ag-ltr) :where(.ag-body-horizontal-content-no-gap) .ag-column-last{border-right-color:transparent}:where(.ag-rtl) :where(.ag-body-horizontal-content-no-gap) .ag-column-last{border-left-color:transparent}.ag-cell-wrapper{align-items:center;display:flex;>:where(:not(.ag-cell-value,.ag-group-value)){align-items:center;display:flex;height:var(--ag-internal-content-line-height)}&:where(.ag-row-group){align-items:flex-start}:where(.ag-full-width-row) &:where(.ag-row-group){align-items:center;height:100%}}:where(.ag-ltr) .ag-cell-wrapper{padding-left:calc(var(--ag-indentation-level)*var(--ag-row-group-indent-size))}:where(.ag-rtl) .ag-cell-wrapper{padding-right:calc(var(--ag-indentation-level)*var(--ag-row-group-indent-size))}:where(.ag-cell-wrap-text:not(.ag-cell-auto-height)) .ag-cell-wrapper{align-items:normal;height:100%;:where(.ag-cell-value){height:100%}}:where(.ag-ltr) .ag-row>.ag-cell-wrapper.ag-row-group{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size)*var(--ag-indentation-level))}:where(.ag-rtl) .ag-row>.ag-cell-wrapper.ag-row-group{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size)*var(--ag-indentation-level))}.ag-cell-focus:not(.ag-cell-range-selected):focus-within,.ag-cell-range-single-cell,.ag-cell-range-single-cell.ag-cell-range-handle,.ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),.ag-context-menu-open .ag-full-width-row.ag-row-focus .ag-cell-wrapper.ag-row-group,.ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group{border:1px solid;border-color:var(--ag-range-selection-border-color);border-style:var(--ag-range-selection-border-style);outline:initial}.ag-full-width-row.ag-row-focus:focus{box-shadow:none}:where(.ag-ltr) .ag-group-contracted,:where(.ag-ltr) .ag-group-expanded,:where(.ag-ltr) .ag-row-drag,:where(.ag-ltr) .ag-selection-checkbox{margin-right:var(--ag-cell-widget-spacing)}:where(.ag-rtl) .ag-group-contracted,:where(.ag-rtl) .ag-group-expanded,:where(.ag-rtl) .ag-row-drag,:where(.ag-rtl) .ag-selection-checkbox{margin-left:var(--ag-cell-widget-spacing)}.ag-drag-handle-disabled{opacity:.35;pointer-events:none}:where(.ag-ltr) .ag-group-child-count{margin-left:3px}:where(.ag-rtl) .ag-group-child-count{margin-right:3px}.ag-row-highlight-above:after,.ag-row-highlight-below:after,.ag-row-highlight-inside:after{background-color:var(--ag-row-drag-indicator-color);border-radius:calc(var(--ag-row-drag-indicator-width)/2);content:"";height:var(--ag-row-drag-indicator-width);pointer-events:none;position:absolute;width:calc(100% - 1px)}:where(.ag-ltr) .ag-row-highlight-above:after,:where(.ag-ltr) .ag-row-highlight-below:after,:where(.ag-ltr) .ag-row-highlight-inside:after{left:1px}:where(.ag-rtl) .ag-row-highlight-above:after,:where(.ag-rtl) .ag-row-highlight-below:after,:where(.ag-rtl) .ag-row-highlight-inside:after{right:1px}.ag-row-highlight-above:after{top:0}.ag-row-highlight-below:after{bottom:0}.ag-row-highlight-indent:after{display:block;width:auto}:where(.ag-ltr) .ag-row-highlight-indent:after{left:calc((var(--ag-cell-widget-spacing) + var(--ag-icon-size))*2 + var(--ag-cell-horizontal-padding) + var(--ag-row-highlight-level)*var(--ag-row-group-indent-size));right:1px}:where(.ag-rtl) .ag-row-highlight-indent:after{left:1px;right:calc((var(--ag-cell-widget-spacing) + var(--ag-icon-size))*2 + var(--ag-cell-horizontal-padding) + var(--ag-row-highlight-level)*var(--ag-row-group-indent-size))}.ag-row-highlight-inside:after{background-color:var(--ag-selected-row-background-color);border:1px solid var(--ag-range-selection-border-color);display:block;height:auto;inset:0;width:auto}.ag-body,.ag-floating-bottom,.ag-floating-top{background-color:var(--ag-data-background-color)}.ag-row-odd{background-color:var(--ag-odd-row-background-color)}.ag-row-selected:before{background-color:var(--ag-selected-row-background-color);content:"";display:block;inset:0;pointer-events:none;position:absolute}.ag-row-hover.ag-full-width-row.ag-row-group:before,.ag-row-hover:not(.ag-full-width-row):before{background-color:var(--ag-row-hover-color);content:"";display:block;inset:0;pointer-events:none;position:absolute}.ag-row-hover.ag-row-selected:before{background-color:var(--ag-row-hover-color);background-image:linear-gradient(var(--ag-selected-row-background-color),var(--ag-selected-row-background-color))}.ag-row.ag-full-width-row.ag-row-group>*{position:relative}.ag-column-hover{background-color:var(--ag-column-hover-color)}.ag-header-range-highlight{background-color:var(--ag-range-header-highlight-color)}.ag-right-aligned-cell{font-variant-numeric:tabular-nums}:where(.ag-ltr) .ag-right-aligned-cell{text-align:right}:where(.ag-rtl) .ag-right-aligned-cell{text-align:left}.ag-right-aligned-cell .ag-cell-value,.ag-right-aligned-cell .ag-group-value{margin-left:auto}:where(.ag-ltr) .ag-cell:not(.ag-cell-inline-editing),:where(.ag-ltr) .ag-full-width-row .ag-cell-wrapper.ag-row-group{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size)*var(--ag-indentation-level));padding-right:calc(var(--ag-cell-horizontal-padding) - 1px)}:where(.ag-rtl) .ag-cell:not(.ag-cell-inline-editing),:where(.ag-rtl) .ag-full-width-row .ag-cell-wrapper.ag-row-group{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size)*var(--ag-indentation-level))}.ag-row>.ag-cell-wrapper{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px)}.ag-row-dragging{cursor:move;opacity:.5}.ag-details-row{background-color:var(--ag-data-background-color);padding:calc(var(--ag-spacing)*3.75)}.ag-layout-auto-height,.ag-layout-print{.ag-center-cols-container,.ag-center-cols-viewport{min-height:150px}}.ag-overlay-exporting-wrapper,.ag-overlay-loading-wrapper,.ag-overlay-modal-wrapper{background-color:var(--ag-modal-overlay-background-color)}.ag-skeleton-container{align-content:center;height:100%;width:100%}.ag-skeleton-effect{animation:ag-skeleton-loading 1.5s ease-in-out .5s infinite;background-color:var(--ag-row-loading-skeleton-effect-color);border-radius:.25rem;height:1em;width:100%}:where(.ag-ltr) .ag-right-aligned-cell .ag-skeleton-effect{margin-left:auto}:where(.ag-rtl) .ag-right-aligned-cell .ag-skeleton-effect{margin-right:auto}@keyframes ag-skeleton-loading{0%{background-color:var(--ag-row-loading-skeleton-effect-color)}50%{background-color:color-mix(in srgb,transparent,var(--ag-row-loading-skeleton-effect-color) 40%)}to{background-color:var(--ag-row-loading-skeleton-effect-color)}}.ag-loading{align-items:center;display:flex;height:100%}:where(.ag-ltr) .ag-loading{padding-left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-loading{padding-right:var(--ag-cell-horizontal-padding)}:where(.ag-ltr) .ag-loading-icon{padding-right:var(--ag-cell-widget-spacing)}:where(.ag-rtl) .ag-loading-icon{padding-left:var(--ag-cell-widget-spacing)}.ag-header{background-color:var(--ag-header-background-color);border-bottom:var(--ag-header-row-border);color:var(--ag-header-text-color);display:flex;font-family:var(--ag-header-font-family);font-size:var(--ag-header-font-size);font-weight:var(--ag-header-font-weight);overflow:hidden;white-space:nowrap;width:100%}.ag-header-row{height:var(--ag-header-height);position:absolute}.ag-floating-filter-button-button,.ag-header-cell-filter-button,.ag-header-cell-menu-button,.ag-header-expand-icon,.ag-panel-title-bar-button,:where(.ag-header-cell-sortable) .ag-header-cell-label,:where(.ag-header-group-cell-selectable) .ag-header-cell-comp-wrapper{cursor:pointer}:where(.ag-ltr) .ag-header-expand-icon{margin-left:4px}:where(.ag-rtl) .ag-header-expand-icon{margin-right:4px}.ag-header-row:where(:not(:first-child)){:where(.ag-header-cell:not(.ag-header-span-height.ag-header-span-total,.ag-header-parent-hidden)),:where(.ag-header-group-cell.ag-header-group-cell-with-group){border-top:var(--ag-header-row-border)}}.ag-header-row:where(:not(.ag-header-row-column-group)){overflow:hidden}:where(.ag-header.ag-header-allow-overflow) .ag-header-row{overflow:visible}.ag-header-cell{display:inline-flex;overflow:hidden}.ag-header-group-cell{contain:paint;display:flex}.ag-header-cell,.ag-header-group-cell{align-items:center;gap:var(--ag-cell-widget-spacing);height:100%;padding:0 var(--ag-cell-horizontal-padding);position:absolute}@property --ag-internal-moving-color{syntax:"";inherits:false;initial-value:transparent}@property --ag-internal-hover-color{syntax:"";inherits:false;initial-value:transparent}.ag-header-cell:where(:not(.ag-floating-filter)):before,.ag-header-group-cell:before{background-image:linear-gradient(var(--ag-internal-hover-color),var(--ag-internal-hover-color)),linear-gradient(var(--ag-internal-moving-color),var(--ag-internal-moving-color));content:"";inset:0;position:absolute;--ag-internal-moving-color:transparent;--ag-internal-hover-color:transparent;transition:--ag-internal-moving-color var(--ag-header-cell-background-transition-duration),--ag-internal-hover-color var(--ag-header-cell-background-transition-duration)}.ag-header-cell:where(:not(.ag-floating-filter)):where(:hover):before,.ag-header-group-cell:where(:hover):before{--ag-internal-hover-color:var(--ag-header-cell-hover-background-color)}.ag-header-cell:where(:not(.ag-floating-filter)):where(.ag-header-cell-moving):before,.ag-header-group-cell:where(.ag-header-cell-moving):before{--ag-internal-moving-color:var(--ag-header-cell-moving-background-color);--ag-internal-hover-color:var(--ag-header-cell-hover-background-color)}:where(.ag-header-cell:not(.ag-floating-filter)>*,.ag-header-group-cell>*){position:relative;z-index:1}.ag-header-cell-menu-button:where(:not(.ag-header-menu-always-show)){opacity:0;transition:opacity .2s}.ag-header-cell-filter-button,:where(.ag-header-cell.ag-header-active) .ag-header-cell-menu-button{opacity:1}.ag-header-cell-label,.ag-header-group-cell-label{align-items:center;align-self:stretch;display:flex;flex:1 1 auto;overflow:hidden;padding:5px 0}:where(.ag-ltr) .ag-sort-indicator-icon{padding-left:var(--ag-spacing)}:where(.ag-rtl) .ag-sort-indicator-icon{padding-right:var(--ag-spacing)}.ag-header-cell-label{text-overflow:ellipsis}.ag-header-group-cell-label.ag-sticky-label{flex:none;max-width:100%;overflow:visible;position:sticky}:where(.ag-ltr) .ag-header-group-cell-label.ag-sticky-label{left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-header-group-cell-label.ag-sticky-label{right:var(--ag-cell-horizontal-padding)}.ag-header-cell-text,.ag-header-group-text{overflow:hidden;text-overflow:ellipsis}.ag-header-cell-text{word-break:break-word}.ag-header-cell-comp-wrapper{width:100%}:where(.ag-header-group-cell) .ag-header-cell-comp-wrapper{display:flex}:where(.ag-header-cell:not(.ag-header-cell-auto-height)) .ag-header-cell-comp-wrapper{align-items:center;display:flex;height:100%}.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper{white-space:normal}.ag-header-cell-comp-wrapper-limited-height>*{overflow:hidden}:where(.ag-right-aligned-header) .ag-header-cell-label{flex-direction:row-reverse}:where(.ag-header-cell:not(.ag-right-aligned-header)){.ag-header-col-ref{color:var(--ag-subtle-text-color)}}:where(.ag-ltr) :where(.ag-header-cell:not(.ag-right-aligned-header)){.ag-header-col-ref{margin-right:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-left:var(--ag-spacing)}}:where(.ag-rtl) :where(.ag-header-cell:not(.ag-right-aligned-header)){.ag-header-col-ref{margin-left:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-right:var(--ag-spacing)}}:where(.ag-header-cell.ag-right-aligned-header){.ag-header-col-ref{color:var(--ag-subtle-text-color)}}:where(.ag-ltr) :where(.ag-header-cell.ag-right-aligned-header){.ag-header-col-ref{margin-left:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-right:var(--ag-spacing)}}:where(.ag-rtl) :where(.ag-header-cell.ag-right-aligned-header){.ag-header-col-ref{margin-right:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-left:var(--ag-spacing)}}.ag-header-cell:after,.ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group)):after{content:"";height:var(--ag-header-column-border-height);position:absolute;top:calc(50% - var(--ag-header-column-border-height)*.5);z-index:1}:where(.ag-ltr) .ag-header-cell:after,:where(.ag-ltr) .ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group)):after{border-right:var(--ag-header-column-border);right:0}:where(.ag-rtl) .ag-header-cell:after,:where(.ag-rtl) .ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group)):after{border-left:var(--ag-header-column-border);left:0}.ag-header-highlight-after:after,.ag-header-highlight-before:after{background-color:var(--ag-column-drag-indicator-color);border-radius:calc(var(--ag-column-drag-indicator-width)/2);content:"";height:100%;position:absolute;top:0;width:var(--ag-column-drag-indicator-width)}:where(.ag-ltr) .ag-header-highlight-before:after{left:0}:where(.ag-rtl) .ag-header-highlight-before:after{right:0}:where(.ag-ltr) .ag-header-highlight-after:after{right:0;:where(.ag-pinned-left-header) &{right:1px}}:where(.ag-rtl) .ag-header-highlight-after:after{left:0;:where(.ag-pinned-left-header) &{left:1px}}.ag-header-cell-resize{align-items:center;cursor:ew-resize;display:flex;height:100%;position:absolute;top:0;width:8px;z-index:2}:where(.ag-ltr) .ag-header-cell-resize{right:-3px}:where(.ag-rtl) .ag-header-cell-resize{left:-3px}.ag-header-cell-resize:after{background-color:var(--ag-header-column-resize-handle-color);content:"";height:var(--ag-header-column-resize-handle-height);position:absolute;top:calc(50% - var(--ag-header-column-resize-handle-height)*.5);width:var(--ag-header-column-resize-handle-width);z-index:1}:where(.ag-ltr) .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}:where(.ag-rtl) .ag-header-cell-resize:after{right:calc(50% - var(--ag-header-column-resize-handle-width))}:where(.ag-header-cell.ag-header-span-height) .ag-header-cell-resize:after{height:calc(100% - var(--ag-spacing)*4);top:calc(var(--ag-spacing)*2)}.ag-header-group-cell-no-group:where(.ag-header-span-height){display:none}.ag-sort-indicator-container{display:flex;gap:var(--ag-spacing)}.ag-layout-print{&.ag-body{display:block;height:unset}&.ag-root-wrapper{container-type:normal;display:inline-block}.ag-body-horizontal-scroll,.ag-body-vertical-scroll{display:none}&.ag-force-vertical-scroll{overflow-y:visible!important}}@media print{.ag-root-wrapper.ag-layout-print{container-type:normal;display:table;.ag-body-horizontal-scroll-viewport,.ag-body-viewport,.ag-center-cols-container,.ag-center-cols-viewport,.ag-root,.ag-root-wrapper-body,.ag-virtual-list-viewport{display:block!important;height:auto!important;overflow:hidden!important}.ag-cell,.ag-row{-moz-column-break-inside:avoid;break-inside:avoid}}}ag-grid,ag-grid-angular{display:block}.ag-root-wrapper{border:var(--ag-wrapper-border);border-radius:var(--ag-wrapper-border-radius);container-type:inline-size;display:flex;flex-direction:column;overflow:hidden;position:relative;&.ag-layout-normal{height:100%}}.ag-root-wrapper-body{display:flex;flex-direction:row;&.ag-layout-normal{flex:1 1 auto;height:0;min-height:0}}.ag-root{display:flex;flex-direction:column;position:relative;&.ag-layout-auto-height,&.ag-layout-normal{flex:1 1 auto;overflow:hidden;width:0}&.ag-layout-normal{height:100%}}.ag-drag-handle{color:var(--ag-drag-handle-color);cursor:grab;:where(.ag-icon){color:var(--ag-drag-handle-color)}}.ag-chart-menu-icon,.ag-chart-settings-next,.ag-chart-settings-prev,.ag-column-group-icons,.ag-column-select-header-icon,.ag-filter-toolpanel-expand,.ag-floating-filter-button-button,.ag-group-title-bar-icon,.ag-header-cell-filter-button,.ag-header-cell-menu-button,.ag-header-expand-icon,.ag-panel-title-bar-button,.ag-panel-title-bar-button-icon,.ag-set-filter-group-icons,:where(.ag-group-contracted) .ag-icon,:where(.ag-group-expanded) .ag-icon{background-color:var(--ag-icon-button-background-color);border-radius:var(--ag-icon-button-border-radius);box-shadow:0 0 0 var(--ag-icon-button-background-spread) var(--ag-icon-button-background-color);color:var(--ag-icon-button-color)}.ag-chart-menu-icon:hover,.ag-chart-settings-next:hover,.ag-chart-settings-prev:hover,.ag-column-group-icons:hover,.ag-column-select-header-icon:hover,.ag-filter-toolpanel-expand:hover,.ag-floating-filter-button-button:hover,.ag-group-title-bar-icon:hover,.ag-header-cell-filter-button:hover,.ag-header-cell-menu-button:hover,.ag-header-expand-icon:hover,.ag-panel-title-bar-button-icon:hover,.ag-panel-title-bar-button:hover,.ag-set-filter-group-icons:hover,:where(.ag-group-contracted) .ag-icon:hover,:where(.ag-group-expanded) .ag-icon:hover{background-color:var(--ag-icon-button-hover-background-color);box-shadow:0 0 0 var(--ag-icon-button-background-spread) var(--ag-icon-button-hover-background-color);color:var(--ag-icon-button-hover-color)}:where(.ag-filter-active),:where(.ag-filter-toolpanel-group-instance-header-icon),:where(.ag-filter-toolpanel-instance-header-icon){position:relative}:where(.ag-filter-active):after,:where(.ag-filter-toolpanel-group-instance-header-icon):after,:where(.ag-filter-toolpanel-instance-header-icon):after{background-color:var(--ag-icon-button-active-indicator-color);border-radius:50%;content:"";height:6px;position:absolute;top:-1px;width:6px}:where(.ag-ltr) :where(.ag-filter-active):after,:where(.ag-ltr) :where(.ag-filter-toolpanel-group-instance-header-icon):after,:where(.ag-ltr) :where(.ag-filter-toolpanel-instance-header-icon):after{right:-1px}:where(.ag-rtl) :where(.ag-filter-active):after,:where(.ag-rtl) :where(.ag-filter-toolpanel-group-instance-header-icon):after,:where(.ag-rtl) :where(.ag-filter-toolpanel-instance-header-icon):after{left:-1px}.ag-filter-active{background-image:linear-gradient(var(--ag-icon-button-active-background-color),var(--ag-icon-button-active-background-color));border-radius:1px;outline:solid var(--ag-icon-button-background-spread) var(--ag-icon-button-active-background-color);:where(.ag-icon-filter){clip-path:path("M8,0C8,4.415 11.585,8 16,8L16,16L0,16L0,0L8,0Z");color:var(--ag-icon-button-active-color)}}']),function(e,t){for(const o of t.sort((e,t)=>e.moduleName.localeCompare(t.moduleName))){const t=o.css;t&&e.set(`module-${o.moduleName}`,t)}}(e,Array.from(new Set(nt))),e}getDefaultTheme(){return Ec}varError(e,t){Dt(9,{variable:{cssName:e,defaultValue:t}})}themeError(e){Mt(240,{theme:e})}shadowRootError(){Mt(293)}},class extends Oe{constructor(){super(...arguments),this.beanName="scrollVisibleSvc"}wireBeans(e){this.ctrlsSvc=e.ctrlsSvc,this.colAnimation=e.colAnimation}postConstruct(){const{gos:e}=this;this.horizontalScrollShowing=!0===e.get("alwaysShowHorizontalScroll"),this.verticalScrollShowing=!0===e.get("alwaysShowVerticalScroll"),this.getScrollbarWidth();const t=this.updateScrollVisible.bind(this);this.addManagedEventListeners({displayedColumnsChanged:t,displayedColumnsWidthChanged:t,newColumnsLoaded:t})}updateScrollVisible(){const{colAnimation:e}=this;e?.isActive()?e.executeLaterVMTurn(()=>{e.executeLaterVMTurn(()=>this.updateScrollVisibleImpl())}):this.updateScrollVisibleImpl()}updateScrollVisibleImpl(){const e=this.ctrlsSvc.get("center");if(!e||this.colAnimation?.isActive())return;const t={horizontalScrollShowing:e.isHorizontalScrollShowing(),verticalScrollShowing:this.verticalScrollShowing};this.setScrollsVisible(t),this.updateScrollGap()}updateScrollGap(){const e=this.ctrlsSvc.get("center"),t=e.hasHorizontalScrollGap(),o=e.hasVerticalScrollGap();this.horizontalScrollGap===t&&this.verticalScrollGap===o||(this.horizontalScrollGap=t,this.verticalScrollGap=o,this.eventSvc.dispatchEvent({type:"scrollGapChanged"}))}setScrollsVisible(e){this.horizontalScrollShowing===e.horizontalScrollShowing&&this.verticalScrollShowing===e.verticalScrollShowing||(this.horizontalScrollShowing=e.horizontalScrollShowing,this.verticalScrollShowing=e.verticalScrollShowing,this.eventSvc.dispatchEvent({type:"scrollVisibilityChanged"}))}getScrollbarWidth(){if(null==this.scrollbarWidth){const e=this.gos.get("scrollbarWidth"),t="number"==typeof e&&e>=0?e:Li();null!=t&&(this.scrollbarWidth=t,this.eventSvc.dispatchEvent({type:"scrollbarWidthChanged"}))}return this.scrollbarWidth}},class extends Oe{constructor(){super(...arguments),this.beanName="ctrlsSvc",this.params={},this.ready=!1,this.readyCallbacks=[]}postConstruct(){this.addEventListener("ready",()=>{if(this.updateReady(),this.ready){for(const e of this.readyCallbacks)e(this.params);this.readyCallbacks.length=0}},this.beans.frameworkOverrides.runWhenReadyAsync?.()??!1)}updateReady(){const e=Object.values(this.params);this.ready=23===e.length&&e.every(e=>e?.isAlive()??!1)}whenReady(e,t){this.ready?t(this.params):this.readyCallbacks.push(t),e.addDestroyFunc(()=>{const e=this.readyCallbacks.indexOf(t);e>=0&&this.readyCallbacks.splice(e,1)})}register(e,t){this.params[e]=t,this.updateReady(),this.ready&&this.dispatchLocalEvent({type:"ready"}),t.addDestroyFunc(()=>{this.updateReady()})}get(e){return this.params[e]}getGridBodyCtrl(){return this.params.gridBodyCtrl}getHeaderRowContainerCtrls(){const{leftHeader:e,centerHeader:t,rightHeader:o}=this.params;return[e,o,t]}getHeaderRowContainerCtrl(e){const t=this.params;switch(e){case"left":return t.leftHeader;case"right":return t.rightHeader;default:return t.centerHeader}}getScrollFeature(){return this.getGridBodyCtrl().scrollFeature}},class extends Oe{constructor(){super(...arguments),this.beanName="syncSvc",this.waitingForColumns=!1}postConstruct(){this.addManagedPropertyListener("columnDefs",e=>this.setColumnDefs(e))}start(){this.beans.ctrlsSvc.whenReady(this,()=>{const e=this.gos.get("columnDefs");e?this.setColumnsAndData(e):this.waitingForColumns=!0,this.gridReady()})}setColumnsAndData(e){const{colModel:t,rowModel:o}=this.beans;t.setColumnDefs(e??[],"gridInitializing"),o.start()}gridReady(){const{eventSvc:e,gos:t}=this;e.dispatchEvent({type:"gridReady"}),tt(t,t.isModuleRegistered("EnterpriseCore"))}setColumnDefs(e){const t=this.gos.get("columnDefs");if(t)return this.waitingForColumns?(this.waitingForColumns=!1,void this.setColumnsAndData(t)):void this.beans.colModel.setColumnDefs(t,ls(e.source))}},class extends Oe{constructor(){super(...arguments),this.beanName="colNames"}getDisplayNameForColumn(e,t,o=!1){if(!e)return null;const s=this.getHeaderName(e.getColDef(),e,null,null,t),{aggColNameSvc:i}=this.beans;return o&&i?i.getHeaderName(e,s):s}getDisplayNameForProvidedColumnGroup(e,t,o){const s=t?.getColGroupDef();return s?this.getHeaderName(s,null,e,t,o):null}getDisplayNameForColumnGroup(e,t){return this.getDisplayNameForProvidedColumnGroup(e,e.getProvidedColumnGroup(),t)}getHeaderName(e,t,o,s,i){const n=e.headerValueGetter;if(n){const r=Co(this.gos,{colDef:e,column:t,columnGroup:o,providedColumnGroup:s,location:i});return"function"==typeof n?n(r):"string"==typeof n?this.beans.expressionSvc?.evaluate(n,r)??null:""}return null!=e.headerName?e.headerName:e.field?(r=e.field)&&null!=r?r.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z])([a-z])/g,"$1 $2$3").replace(/\./g," ").split(" ").map(e=>e.substring(0,1).toUpperCase()+(e.length>1?e.substring(1,e.length):"")).join(" "):null:"";var r}},class extends Oe{constructor(){super(...arguments),this.beanName="colViewport",this.colsWithinViewport=[],this.headerColsWithinViewport=[],this.colsWithinViewportHash="",this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.columnsToRenderLeft=[],this.columnsToRenderRight=[],this.columnsToRenderCenter=[]}wireBeans(e){this.visibleCols=e.visibleCols,this.colModel=e.colModel}postConstruct(){this.suppressColumnVirtualisation=this.gos.get("suppressColumnVirtualisation")}getScrollPosition(){return this.scrollPosition}setScrollPosition(e,t,o=!1){const{visibleCols:s}=this,i=s.isBodyWidthDirty;if(e!==this.scrollWidth||t!==this.scrollPosition||i){if(this.scrollWidth=e,this.scrollPosition=t,s.isBodyWidthDirty=!0,this.gos.get("enableRtl")){const o=s.bodyWidth;this.viewportLeft=o-t-e,this.viewportRight=o-t}else this.viewportLeft=t,this.viewportRight=e+t;this.colModel.ready&&this.checkViewportColumns(o)}}getColumnHeadersToRender(e){switch(e){case"left":return this.columnsToRenderLeft;case"right":return this.columnsToRenderRight;default:return this.columnsToRenderCenter}}getHeadersToRender(e,t){let o;switch(e){case"left":o=this.rowsOfHeadersToRenderLeft[t];break;case"right":o=this.rowsOfHeadersToRenderRight[t];break;default:o=this.rowsOfHeadersToRenderCenter[t]}return o??[]}extractViewportColumns(){const e=this.visibleCols.centerCols;this.isColumnVirtualisationSuppressed()?(this.colsWithinViewport=e,this.headerColsWithinViewport=e):(this.colsWithinViewport=e.filter(this.isColumnInRowViewport.bind(this)),this.headerColsWithinViewport=e.filter(this.isColumnInHeaderViewport.bind(this)))}isColumnVirtualisationSuppressed(){return this.suppressColumnVirtualisation||0===this.viewportRight}clear(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.colsWithinViewportHash=""}isColumnInHeaderViewport(e){return!(!e.isAutoHeaderHeight()&&!function(e){for(;e;){if(e.isAutoHeaderHeight())return!0;e=e.getParent()}return!1}(e))||this.isColumnInRowViewport(e)}isColumnInRowViewport(e){if(e.isAutoHeight())return!0;const t=e.getLeft()||0,o=t+e.getActualWidth(),s=this.viewportLeft-200,i=this.viewportRight+200;return!(ti&&o>i)}getViewportColumns(){const{leftCols:e,rightCols:t}=this.visibleCols;return this.colsWithinViewport.concat(e).concat(t)}getColsWithinViewport(e){if(!this.colModel.colSpanActive)return this.colsWithinViewport;const t=this.isColumnVirtualisationSuppressed()?void 0:this.isColumnInRowViewport.bind(this),{visibleCols:o}=this,s=o.centerCols;return o.getColsForRow(e,s,t,e=>{const t=e.getLeft();return l(t)&&t>this.viewportLeft})}checkViewportColumns(e=!1){this.extractViewport()&&this.eventSvc.dispatchEvent({type:"virtualColumnsChanged",afterScroll:e})}calculateHeaderRows(){const{leftCols:e,rightCols:t}=this.visibleCols;this.columnsToRenderLeft=e,this.columnsToRenderRight=t,this.columnsToRenderCenter=this.colsWithinViewport;const o=e=>{const t=/* @__PURE__ */new Set,o={};for(const s of e){let e=s.getParent();const i=s.isSpanHeaderHeight();for(;e&&!t.has(e);){if(i&&e.isPadding()){e=e.getParent();continue}const s=e.getProvidedColumnGroup().getLevel();o[s]??(o[s]=[]),o[s].push(e),t.add(e),e=e.getParent()}}return o};this.rowsOfHeadersToRenderLeft=o(e),this.rowsOfHeadersToRenderRight=o(t),this.rowsOfHeadersToRenderCenter=o(this.headerColsWithinViewport)}extractViewport(){this.extractViewportColumns();const e=this.getViewportColumns().map(e=>`${e.getId()}-${e.getPinned()||"normal"}`).join("#"),t=this.colsWithinViewportHash!==e;return t&&(this.colsWithinViewportHash=e,this.calculateHeaderRows()),t}},class extends Oe{constructor(){super(...arguments),this.beanName="iconSvc"}createIconNoSpan(e,t){return Ol(e,this.beans,t?.column)}}],icons:{selectOpen:"small-down",smallDown:"small-down",colorPicker:"color-picker",smallUp:"small-up",checkboxChecked:"small-up",checkboxIndeterminate:"checkbox-indeterminate",checkboxUnchecked:"checkbox-unchecked",radioButtonOn:"radio-button-on",radioButtonOff:"radio-button-off",smallLeft:"small-left",smallRight:"small-right"},apiFunctions:{getGridId:function(e){return e.context.getId()},destroy:function(e){e.gridDestroySvc.destroy()},isDestroyed:function(e){return e.gridDestroySvc.destroyCalled},getGridOption:function(e,t){return e.gos.get(t)},setGridOption:function(e,t,o){Bl(e,{[t]:o})},updateGridOptions:Bl,isModuleRegistered:function(e,t){const o=t.replace(/Module$/,"");return e.gos.isModuleRegistered(o)}},dependsOn:[hd,Ca,Fa,Pu,ch,Ia,hh,vu,Iu,uh,Zh,Xh,eu,gh,gd,ud,Tu,ja,ou]};function ku(e){const{inputValue:t,allSuggestions:o,hideIrrelevant:s,filterByPercentageOfBestMatch:i}=e;let n=(o??[]).map((e,o)=>({value:e,relevance:Lu(t,e),idx:o}));if(n.sort((e,t)=>e.relevance-t.relevance),s&&(n=n.filter(e=>e.relevance0&&i&&i>0){const e=n[0].relevance*i;n=n.filter(t=>e-t.relevance<0)}const r=[],l=[];for(const a of n)r.push(a.value),l.push(a.idx);return{values:r,indices:l}}function Lu(e,t){const o=e.length,s=t.length;if(0===s)return o||0;let i,n=e.toLocaleLowerCase(),r=t.toLocaleLowerCase();e.length1&&i>1){const o=e[h-2],s=n[h-2],l=t[i-2];s===r[i-2]&&(d++,o===l&&d++)}h{const l=function(e,t){const o=[];for(const s of Array.isArray(e)?e:[e]){const e=Bu[s];if(e)for(const s of e){const e=Hu[s];e&&e!==t||o.push(s)}else o.push(s)}return o}(t,i),a="string"==typeof e?e:ju[e];if(r)return function(e,t){const o=t.filter(e=>"IntegratedCharts"===e||"Sparklines"===e);let s="";return!globalThis?.agCharts&&o.length>0?s=`Unable to use ${e} as either the ag-charts-community or ag-charts-enterprise script needs to be included alongside ag-grid-enterprise.\n`:t.some(e=>Gu[e])&&(s+=`Unable to use ${e} as that requires the ag-grid-enterprise script to be included.\n`),s}(a,l);const d=l.filter(e=>"IntegratedCharts"===e||"Sparklines"===e),c=d.length>0?`${d.map(e=>Ou(e)).join()} must be initialised with an AG Charts module. One of 'AgChartsCommunityModule' / 'AgChartsEnterpriseModule'.`:"";return`Unable to use ${a} as ${l.length>1?"one of "+l.map(e=>Ou(e)).join(", "):Ou(l[0])} is not registered${o?" for gridId: "+s:""}. ${c} Check if you have registered the module:\n\n${(e=>{const t=e.map(e=>`import { ${Ou(e)} } from '${Gu[e]?"ag-grid-enterprise":"ag-grid-community"}';`);return e.some(e=>"IntegratedCharts"===e||"Sparklines"===e)&&t.push("import { AgChartsEnterpriseModule } from 'ag-charts-enterprise';"),`import { ModuleRegistry } from 'ag-grid-community'; \n${t.join(" \n")} \n\nModuleRegistry.registerModules([ ${e.map(e=>Ou(e,!0)).join(", ")} ]); \n\nFor more info see: ${vt}/modules/`})(l)}`+(n?` \n\n${n}`:"")},Wu=e=>`${e} must be initialised with an AG Charts module. One of 'AgChartsCommunityModule' / 'AgChartsEnterpriseModule'.\n\nimport { AgChartsEnterpriseModule } from 'ag-charts-enterprise';\nimport { ModuleRegistry } from 'ag-grid-community';\nimport { ${e} } from 'ag-grid-enterprise';\n \nModuleRegistry.registerModules([${e}.with(AgChartsEnterpriseModule)]);\n `,Uu={1:()=>"`rowData` must be an array",2:({nodeId:e})=>`Duplicate node id '${e}' detected from getRowId callback, this could cause issues in your grid.`,3:()=>"Calling gridApi.resetRowHeights() makes no sense when using Auto Row Height.",4:({id:e})=>`Could not find row id=${e}, data item was not found for this id`,5:({data:e})=>["Could not find data item as object was not found.",e," Consider using getRowId to help the Grid find matching row data"],6:()=>"'groupHideOpenParents' only works when specifying specific columns for 'colDef.showRowGroup'",7:()=>"Pivoting is not supported with aligned grids as it may produce different columns in each grid.",8:({key:e})=>`Unknown key for navigation ${e}`,9:({variable:e})=>`No value for ${e?.cssName}. This usually means that the grid has been initialised before styles have been loaded. The default value of ${e?.defaultValue} will be used and updated when styles load.`,10:({eventType:e})=>`As of v33, the '${e}' event is deprecated. Use the global 'modelUpdated' event to determine when row children have changed.`,11:()=>"No gridOptions provided to createGrid",12:({colKey:e})=>["column ",e," not found"],13:()=>"Could not find rowIndex, this means tasks are being executed on a rowNode that has been removed from the grid.",14:({groupPrefix:e})=>`Row IDs cannot start with ${e}, this is a reserved prefix for AG Grid's row grouping feature.`,15:({expression:e})=>["value should be either a string or a function",e],16:({expression:e,params:t,e:o})=>["Processing of the expression failed","Expression = ",e,"Params = ",t,"Exception = ",o],17:()=>"you need either field or valueSetter set on colDef for editing to work",18:()=>"alignedGrids contains an undefined option.",19:()=>"alignedGrids - No api found on the linked grid.",20:()=>'You may want to configure via a callback to avoid setup race conditions:\n "alignedGrids: () => [linkedGrid]"',21:()=>"pivoting is not supported with aligned grids. You can only use one of these features at a time in a grid.",22:({key:e})=>`${e} is an initial property and cannot be updated.`,23:()=>"The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead.",24:()=>"row height must be a number if not using standard row model",25:({id:e})=>["The getRowId callback must return a string. The ID ",e," is being cast to a string."],26:({fnName:e,preDestroyLink:t})=>`Grid API function ${e}() cannot be called as the grid has been destroyed.\n Either clear local references to the grid api, when it is destroyed, or check gridApi.isDestroyed() to avoid calling methods against a destroyed grid.\n To run logic when the grid is about to be destroyed use the gridPreDestroy event. See: ${t}`,27:({fnName:e,module:t})=>`API function '${e}' not registered to module '${t}'`,28:()=>"setRowCount cannot be used while using row grouping.",29:()=>"tried to call sizeColumnsToFit() but the grid is coming back with zero width, maybe the grid is not visible yet on the screen?",30:({toIndex:e})=>["tried to insert columns in invalid location, toIndex = ",e,"remember that you should not count the moving columns when calculating the new index"],31:()=>"infinite loop in resizeColumnSets",32:()=>"applyColumnState() - the state attribute should be an array, however an array was not found. Please provide an array of items (one for each col you want to change) for state.",33:()=>"stateItem.aggFunc must be a string. if using your own aggregation functions, register the functions first before using them in get/set state. This is because it is intended for the column state to be stored and retrieved as simple JSON.",34:({key:e})=>`the column type '${e}' is a default column type and cannot be overridden.`,35:()=>"Column type definitions 'columnTypes' with a 'type' attribute are not supported because a column type cannot refer to another column type. Only column definitions 'columnDefs' can use the 'type' attribute to refer to a column type.",36:({t:e})=>"colDef.type '"+e+"' does not correspond to defined gridOptions.columnTypes",37:()=>"Changing the column pinning status is not allowed with domLayout='print'",38:({iconName:e})=>`provided icon '${e}' needs to be a string or a function`,39:()=>"Applying column order broke a group where columns should be married together. Applying new order has been discarded.",40:({e:e,method:t})=>`${e}\n${(e=>`AG Grid: Unable to use the Clipboard API (navigator.clipboard.${e}()). The reason why it could not be used has been logged in the previous line. For this reason the grid has defaulted to using a workaround which doesn't perform as well. Either fix why Clipboard API is blocked, OR stop this message from appearing by setting grid property suppressClipboardApi=true (which will default the grid to using the workaround rather than the API.`)(t)}`,41:()=>"Browser did not allow document.execCommand('copy'). Ensure 'api.copySelectedRowsToClipboard() is invoked via a user event, i.e. button click, otherwise the browser will prevent it for security reasons.",42:()=>"Browser does not support document.execCommand('copy') for clipboard operations",43:({iconName:e})=>`As of v33, icon '${e}' is deprecated. Use the icon CSS name instead.`,44:()=>'Data type definition hierarchies (via the "extendsDataType" property) cannot contain circular references.',45:({parentCellDataType:e})=>`The data type definition ${e} does not exist.`,46:()=>'The "baseDataType" property of a data type definition must match that of its parent.',47:({cellDataType:e})=>`Missing data type definition - "${e}"`,48:({property:e,inferred:t,colId:o})=>`Cell data type is "object"${t?" (inferred)":""} but no Value ${e} has been provided${o?` for column "${o}"`:""}. Please either provide an object data type definition with a Value ${e}, or set:\n - "colDef.value${e}"${t&&"Parser"===e?"\n - \"colDef.cellDataType = 'object'\"":""}`,49:({methodName:e})=>`Framework component is missing the method ${e}()`,50:({compName:e})=>`Could not find component ${e}, did you forget to configure this component?`,51:()=>"Export cancelled. Export is not allowed as per your configuration.",52:()=>"There is no `window` associated with the current `document`",53:()=>"unknown value type during csv conversion",54:()=>"Could not find document body, it is needed for drag and drop and context menu.",55:()=>"addRowDropZone - A container target needs to be provided",56:()=>"addRowDropZone - target already exists in the list of DropZones. Use `removeRowDropZone` before adding it again.",57:()=>"unable to show popup filter, filter instantiation failed",58:()=>"no values found for select cellEditor",59:()=>"cannot select pinned rows",60:()=>"cannot select node until it has finished loading",61:()=>"since version v32.2.0, rowNode.isFullWidthCell() has been deprecated. Instead check `rowNode.detail` followed by the user provided `isFullWidthRow` grid option.",62:({colId:e})=>`setFilterModel() - no column found for colId: ${e}`,63:({colId:e})=>`setFilterModel() - unable to fully apply model, filtering disabled for colId: ${e}`,64:({colId:e})=>`setFilterModel() - unable to fully apply model, unable to create filter for colId: ${e}`,65:()=>"filter missing setModel method, which is needed for setFilterModel",66:()=>"filter API missing getModel method, which is needed for getFilterModel",67:()=>"Filter is missing isFilterActive() method",68:()=>"Column Filter API methods have been disabled as Advanced Filters are enabled.",69:({guiFromFilter:e})=>`getGui method from filter returned ${e}; it should be a DOM element.`,70:({newFilter:e})=>"Grid option quickFilterText only supports string inputs, received: "+typeof e,71:()=>"debounceMs is ignored when apply button is present",72:({keys:e})=>["ignoring FilterOptionDef as it doesn't contain one of ",e],73:()=>"invalid FilterOptionDef supplied as it doesn't contain a 'displayKey'",74:()=>"no filter options for filter",75:()=>"Unknown button type specified",76:({filterModelType:e})=>['Unexpected type of filter "',e,'", it looks like the filter was configured with incorrect Filter Options'],77:()=>"Filter model is missing 'conditions'",78:()=>'Filter Model contains more conditions than "filterParams.maxNumConditions". Additional conditions have been ignored.',79:()=>'"filterParams.maxNumConditions" must be greater than or equal to zero.',80:()=>'"filterParams.numAlwaysVisibleConditions" must be greater than or equal to zero.',81:()=>'"filterParams.numAlwaysVisibleConditions" cannot be greater than "filterParams.maxNumConditions".',82:({param:e})=>`DateFilter ${e} is not a number`,83:()=>"DateFilter minValidYear should be <= maxValidYear",84:()=>"DateFilter minValidDate should be <= maxValidDate",85:()=>"DateFilter should not have both minValidDate and minValidYear parameters set at the same time! minValidYear will be ignored.",86:()=>"DateFilter should not have both maxValidDate and maxValidYear parameters set at the same time! maxValidYear will be ignored.",87:()=>"DateFilter parameter minValidDate should always be lower than or equal to parameter maxValidDate.",88:({index:e})=>`Invalid row index for ensureIndexVisible: ${e}`,89:()=>"A template was provided for Header Group Comp - templates are only supported for Header Comps (not groups)",90:()=>"datasource is missing getRows method",91:()=>"Filter is missing method doesFilterPass",92:()=>"AnimationFrameService called but animation frames are off",93:()=>"cannot add multiple ranges when `cellSelection.suppressMultiRanges = true`",94:({paginationPageSizeOption:e,pageSizeSet:t,pageSizesSet:o,pageSizeOptions:s})=>`'paginationPageSize=${e}'${t?"":" (default value)"}, but ${e} is not included in${o?"":" the default"} paginationPageSizeSelector=[${s?.join(", ")}].`,95:({paginationPageSizeOption:e,paginationPageSizeSelector:t})=>`Either set '${t}' to an array that includes ${e} or to 'false' to disable the page size selector.`,96:({id:e,data:t})=>["Duplicate ID",e,"found for pinned row with data",t,"When `getRowId` is defined, it must return unique IDs for all pinned rows. Use the `rowPinned` parameter."],97:({colId:e})=>`cellEditor for column ${e} is missing getGui() method`,98:()=>"popup cellEditor does not work with fullRowEdit - you cannot use them both - either turn off fullRowEdit, or stop using popup editors.",99:()=>"Since v32, `api.hideOverlay()` does not hide the loading overlay when `loading=true`. Set `loading=false` instead.",101:({propertyName:e,componentName:t,agGridDefaults:o,jsComps:s})=>{const i=[],n=ku({inputValue:t,allSuggestions:[...Object.keys(o??[]).filter(e=>!["agCellEditor","agGroupRowRenderer","agSortIndicator"].includes(e)),...Object.keys(s??[]).filter(e=>!!s[e])],hideIrrelevant:!0,filterByPercentageOfBestMatch:.8}).values;return i.push(`Could not find '${t}' component. It was configured as "${e}: '${t}'" but it wasn't found in the list of registered components.\n`),n.length>0&&i.push(` Did you mean: [${n.slice(0,3)}]?\n`),i.push("If using a custom component check it has been registered correctly."),i},102:()=>"selectAll: 'filtered' only works when gridOptions.rowModelType='clientSide'",103:()=>"Invalid selection state. When using client-side row model, the state must conform to `string[]`.",104:({value:e,param:t})=>`Numeric value ${e} passed to ${t} param will be interpreted as ${e} seconds. If this is intentional use "${e}s" to silence this warning.`,105:({e:e})=>["chart rendering failed",e],106:()=>`Theming API and Legacy Themes are both used in the same page. A Theming API theme has been provided to the 'theme' grid option, but the file (ag-grid.css) is also included and will cause styling issues. Remove ag-grid.css from the page. See the migration guide: ${vt}/theming-migration/`,107:({key:e,value:t})=>`Invalid value for theme param ${e} - ${t}`,108:({e:e})=>["chart update failed",e],109:({inputValue:e,allSuggestions:t})=>{const o=ku({inputValue:e,allSuggestions:t,hideIrrelevant:!0,filterByPercentageOfBestMatch:.8}).values;return[`Could not find '${e}' aggregate function. It was configured as "aggFunc: '${e}'" but it wasn't found in the list of registered aggregations.`,o.length>0?` Did you mean: [${o.slice(0,3)}]?`:"","If using a custom aggregation function check it has been registered correctly."].join("\n")},110:()=>"groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup",111:()=>"Invalid selection state. When `groupSelects` is enabled, the state must conform to `IServerSideGroupSelectionState`.",113:()=>"Set Filter cannot initialise because you are using a row model that does not contain all rows in the browser. Either use a different filter type, or configure Set Filter such that you provide it with values",114:({component:e})=>`Could not find component with name of ${e}. Is it in Vue.components?`,116:()=>"Invalid selection state. The state must conform to `IServerSideSelectionState`.",117:()=>"selectAll must be of boolean type.",118:()=>"Infinite scrolling must be enabled in order to set the row count.",119:()=>"Unable to instantiate filter",120:()=>"MultiFloatingFilterComp expects MultiFilter as its parent",121:()=>"a column you are grouping or pivoting by has objects as values. If you want to group by complex objects then either a) use a colDef.keyCreator (see AG Grid docs) or b) to toString() on the object to return a key",122:()=>"could not find the document, document is empty",123:()=>"Advanced Filter is only supported with the Client-Side Row Model or Server-Side Row Model.",124:()=>"No active charts to update.",125:({chartId:e})=>`Unable to update chart. No active chart found with ID: ${e}.`,126:()=>"unable to restore chart as no chart model is provided",127:({allRange:e})=>`unable to create chart as ${e?"there are no columns in the grid":"no range is selected"}.`,128:({feature:e})=>`${e} is only available if using 'multiRow' selection mode.`,129:({feature:e,rowModel:t})=>`${e} is only available if using 'clientSide' or 'serverSide' rowModelType, you are using ${t}.`,130:()=>'cannot multi select unless selection mode is "multiRow"',132:()=>"Row selection features are not available unless `rowSelection` is enabled.",133:({iconName:e})=>`icon '${e}' function should return back a string or a dom object`,134:({iconName:e})=>`Did not find icon '${e}'`,135:()=>"Data type of the new value does not match the cell data type of the column",136:()=>"Unable to update chart as the 'type' is missing. It must be either 'rangeChartUpdate', 'pivotChartUpdate', or 'crossFilterChartUpdate'.",137:({type:e,currentChartType:t})=>`Unable to update chart as a '${e}' update type is not permitted on a ${t}.`,138:({chartType:e})=>`invalid chart type supplied: ${e}`,139:({customThemeName:e})=>`a custom chart theme with the name ${e} has been supplied but not added to the 'chartThemes' list`,140:({name:e})=>`no stock theme exists with the name '${e}' and no custom chart theme with that name was supplied to 'customChartThemes'`,141:()=>"cross filtering with row grouping is not supported.",142:()=>"cross filtering is only supported in the client side row model.",143:({panel:e})=>`'${e}' is not a valid Chart Tool Panel name`,144:({type:e})=>`Invalid charts data panel group name supplied: '${e}'`,145:({group:e})=>`As of v32, only one charts customize panel group can be expanded at a time. '${e}' will not be expanded.`,146:({comp:e})=>`Unable to instantiate component '${e}' as its module hasn't been loaded. Add 'ValidationModule' to see which module is required.`,147:({group:e})=>`Invalid charts customize panel group name supplied: '${e}'`,148:({group:e})=>`invalid chartGroupsDef config '${e}'`,149:({group:e,chartType:t})=>`invalid chartGroupsDef config '${e}.${t}'`,150:()=>"'seriesChartTypes' are required when the 'customCombo' chart type is specified.",151:({chartType:e})=>`invalid chartType '${e}' supplied in 'seriesChartTypes', converting to 'line' instead.`,152:({colId:e})=>`no 'seriesChartType' found for colId = '${e}', defaulting to 'line'.`,153:({chartDataType:e})=>`unexpected chartDataType value '${e}' supplied, instead use 'category', 'series' or 'excluded'`,154:({colId:e})=>`cross filtering requires a 'agSetColumnFilter' or 'agMultiColumnFilter' to be defined on the column with id: ${e}`,155:({option:e})=>`'${e}' is not a valid Chart Toolbar Option`,156:({panel:e})=>`Invalid panel in chartToolPanelsDef.panels: '${e}'`,157:({unrecognisedGroupIds:e})=>["unable to find group(s) for supplied groupIds:",e],158:()=>"can not expand a column item that does not represent a column group header",159:()=>"Invalid params supplied to createExcelFileForExcel() - `ExcelExportParams.data` is empty.",160:()=>"Export cancelled. Export is not allowed as per your configuration.",161:()=>"The Excel Exporter is currently on Multi Sheet mode. End that operation by calling 'api.getMultipleSheetAsExcel()' or 'api.exportMultipleSheetsAsExcel()'",162:({id:e,dataType:t})=>`Unrecognized data type for excel export [${e}.dataType=${t}]`,163:({featureName:e})=>`Excel table export does not work with ${e}. The exported Excel file will not contain any Excel tables.\n Please turn off ${e} to enable Excel table exports.`,164:()=>"Unable to add data table to Excel sheet: A table already exists.",165:()=>"Unable to add data table to Excel sheet: Missing required parameters.",166:({unrecognisedGroupIds:e})=>["unable to find groups for these supplied groupIds:",e],167:({unrecognisedColIds:e})=>["unable to find columns for these supplied colIds:",e],168:()=>"detailCellRendererParams.template should be function or string",169:()=>'Reference to eDetailGrid was missing from the details template. Please add data-ref="eDetailGrid" to the template.',170:({providedStrategy:e})=>`invalid cellRendererParams.refreshStrategy = ${e} supplied, defaulting to refreshStrategy = 'rows'.`,171:()=>"could not find detail grid options for master detail, please set gridOptions.detailCellRendererParams.detailGridOptions",172:()=>"could not find getDetailRowData for master / detail, please set gridOptions.detailCellRendererParams.getDetailRowData",173:({group:e})=>`invalid chartGroupsDef config '${e}'`,174:({group:e,chartType:t})=>`invalid chartGroupsDef config '${e}.${t}'`,175:({menuTabName:e,itemsToConsider:t})=>[`Trying to render an invalid menu item '${e}'. Check that your 'menuTabs' contains one of `,t],176:({key:e})=>`unknown menu item type ${e}`,177:()=>"valid values for cellSelection.handle.direction are 'x', 'y' and 'xy'. Default to 'xy'.",178:({colId:e})=>`column ${e} is not visible`,179:()=>"totalValueGetter should be either a function or a string (expression)",180:()=>"agRichSelectCellEditor requires cellEditorParams.values to be set",181:()=>"agRichSelectCellEditor cannot have `multiSelect` and `allowTyping` set to `true`. AllowTyping has been turned off.",182:()=>'you cannot mix groupDisplayType = "multipleColumns" with treeData, only one column can be used to display groups when doing tree data',183:()=>"Group Column Filter only works on group columns. Please use a different filter.",184:({parentGroupData:e,childNodeData:t})=>["duplicate group keys for row data, keys should be unique",[e,t]],185:({data:e})=>["getDataPath() should not return an empty path",[e]],186:({rowId:e,rowData:t,duplicateRowsData:o})=>["duplicate group keys for row data, keys should be unique",e,t,...o??[]],187:({rowId:e,firstData:t,secondData:o})=>[`Duplicate node id ${e}. Row IDs are provided via the getRowId() callback. Please modify the getRowId() callback code to provide unique row id values.`,"first instance",t,"second instance",o],188:e=>`getRowId callback must be provided for Server Side Row Model ${e?.feature||"selection"} to work correctly.`,189:({startRow:e})=>`invalid value ${e} for startRow, the value should be >= 0`,190:({rowGroupId:e,data:t})=>["null and undefined values are not allowed for server side row model keys",e?`column = ${e}`:"","data is ",t],194:({method:e})=>`calling gridApi.${e}() is only possible when using rowModelType=\`clientSide\`.`,195:({justCurrentPage:e})=>`selecting just ${e?"current page":"filtered"} only works when gridOptions.rowModelType='clientSide'`,196:({key:e})=>`Provided ids must be of string type. Invalid id provided: ${e}`,197:()=>"`toggledNodes` must be an array of string ids.",199:()=>"getSelectedNodes and getSelectedRows functions cannot be used with select all functionality with the server-side row model. Use `api.getServerSideSelectionState()` instead.",200:zu,201:({rowModelType:e})=>`Could not find row model for rowModelType = ${e}`,202:()=>"`getSelectedNodes` and `getSelectedRows` functions cannot be used with `groupSelectsChildren` and the server-side row model. Use `api.getServerSideSelectionState()` instead.",203:()=>"Server Side Row Model does not support Dynamic Row Height and Cache Purging. Either a) remove getRowHeight() callback or b) remove maxBlocksInCache property. Purging has been disabled.",204:()=>"Server Side Row Model does not support Auto Row Height and Cache Purging. Either a) remove colDef.autoHeight or b) remove maxBlocksInCache property. Purging has been disabled.",205:({duplicateIdText:e})=>`Unable to display rows as duplicate row ids (${e}) were returned by the getRowId callback. Please modify the getRowId callback to provide unique ids.`,206:()=>"getRowId callback must be implemented for transactions to work. Transaction was ignored.",207:()=>'The Set Filter Parameter "defaultToNothingSelected" value was ignored because it does not work when "excelMode" is used.',208:()=>"Set Filter Value Formatter must return string values. Please ensure the Set Filter Value Formatter returns string values for complex objects.",209:()=>`Set Filter Key Creator is returning null for provided values and provided values are primitives. Please provide complex objects. See ${vt}/filter-set-filter-list/#filter-value-types`,210:()=>"Set Filter has a Key Creator, but provided values are primitives. Did you mean to provide complex objects?",211:()=>"property treeList=true for Set Filter params, but you did not provide a treeListPathGetter or values of type Date.",212:()=>"please review all your toolPanel components, it seems like at least one of them doesn't have an id",213:()=>"Advanced Filter does not work with Filters Tool Panel. Filters Tool Panel has been disabled.",214:({key:e})=>`unable to lookup Tool Panel as invalid key supplied: ${e}`,215:({key:e,defaultByKey:t})=>`the key ${e} is not a valid key for specifying a tool panel, valid keys are: ${Object.keys(t??{}).join(",")}`,216:({name:e})=>`Missing component for '${e}'`,217:({invalidColIds:e})=>["unable to find grid columns for the supplied colDef(s):",e],218:({property:e,defaultOffset:t})=>`${e} must be a number, the value you provided is not a valid number. Using the default of ${t}px.`,219:({property:e})=>`Property ${e} does not exist on the target object.`,220:({lineDash:e})=>`'${e}' is not a valid 'lineDash' option.`,221:()=>"agAggregationComponent should only be used with the client and server side row model.",222:()=>"agFilteredRowCountComponent should only be used with the client side row model.",223:()=>"agSelectedRowCountComponent should only be used with the client and server side row model.",224:()=>"agTotalAndFilteredRowCountComponent should only be used with the client side row model.",225:()=>"agTotalRowCountComponent should only be used with the client side row model.",226:()=>"viewport is missing init method.",227:()=>"menu item icon must be DOM node or string",228:({menuItemOrString:e})=>`unrecognised menu item ${e}`,230:()=>"detailCellRendererParams.template is not supported by AG Grid React. To change the template, provide a Custom Detail Cell Renderer. See https://www.ag-grid.com/react-data-grid/master-detail-custom-detail/",231:()=>"As of v32, using custom components with `reactiveCustomComponents = false` is deprecated.",232:()=>"Using both rowData and v-model. rowData will be ignored.",233:({methodName:e})=>`Framework component is missing the method ${e}()`,234:()=>'Group Column Filter does not work with the colDef property "field". This property will be ignored.',235:()=>'Group Column Filter does not work with the colDef property "filterValueGetter". This property will be ignored.',236:()=>'Group Column Filter does not work with the colDef property "filterParams". This property will be ignored.',237:()=>"Group Column Filter does not work with Tree Data enabled. Please disable Tree Data, or use a different filter.",238:()=>"setRowCount can only accept a positive row count.",239:()=>'Theming API and CSS File Themes are both used in the same page. In v33 we released the Theming API as the new default method of styling the grid. See the migration docs https://www.ag-grid.com/react-data-grid/theming-migration/. Because no value was provided to the `theme` grid option it defaulted to themeQuartz. But the file (ag-grid.css) is also included and will cause styling issues. Either pass the string "legacy" to the theme grid option to use v32 style themes, or remove ag-grid.css from the page to use Theming API.',240:({theme:e})=>`theme grid option must be a Theming API theme object or the string "legacy", received: ${e}`,243:()=>"Failed to deserialize state - each provided state object must be an object.",244:()=>"Failed to deserialize state - `selectAllChildren` must be a boolean value or undefined.",245:()=>"Failed to deserialize state - `toggledNodes` must be an array.",246:()=>"Failed to deserialize state - Every `toggledNode` requires an associated string id.",247:()=>"Row selection state could not be parsed due to invalid data. Ensure all child state has toggledNodes or does not conform with the parent rule. \nPlease rebuild the selection state and reapply it.",248:()=>"SetFloatingFilter expects SetFilter as its parent",249:()=>"Must supply a Value Formatter in Set Filter params when using a Key Creator",250:()=>"Must supply a Key Creator in Set Filter params when `treeList = true` on a group column, and Tree Data or Row Grouping is enabled.",251:({chartType:e})=>`AG Grid: Unable to create chart as an invalid chartType = '${e}' was supplied.`,252:()=>"cannot get grid to draw rows when it is in the middle of drawing rows. \nYour code probably called a grid API method while the grid was in the render stage. \nTo overcome this, put the API call into a timeout, e.g. instead of api.redrawRows(), call setTimeout(function() { api.redrawRows(); }, 0). \nTo see what part of your code that caused the refresh check this stacktrace.",253:({version:e})=>["Illegal version string: ",e],254:()=>"Cannot create chart: no chart themes available.",255:({point:e})=>`Lone surrogate U+${e?.toString(16).toUpperCase()} is not a scalar value`,256:()=>"Unable to initialise. See validation error, or load ValidationModule if missing.",257:()=>Wu("IntegratedChartsModule"),258:()=>Wu("SparklinesModule"),259:({part:e})=>`the argument to theme.withPart must be a Theming API part object, received: ${e}`,260:({propName:e,compName:t,gridScoped:o,gridId:s,rowModelType:i})=>zu({reasonOrId:`AG Grid '${e}' component: ${t}`,moduleName:Uc[t],gridId:s,gridScoped:o,rowModelType:i}),261:()=>"As of v33, `column.isHovered()` is deprecated. Use `api.isColumnHovered(column)` instead.",262:()=>'As of v33, icon key "smallDown" is deprecated. Use "advancedFilterBuilderSelect" for Advanced Filter Builder dropdown, "selectOpen" for Select cell editor and dropdowns (e.g. Integrated Charts menu), "richSelectOpen" for Rich Select cell editor.',263:()=>'As of v33, icon key "smallLeft" is deprecated. Use "panelDelimiterRtl" for Row Group Panel / Pivot Panel, "subMenuOpenRtl" for sub-menus.',264:()=>'As of v33, icon key "smallRight" is deprecated. Use "panelDelimiter" for Row Group Panel / Pivot Panel, "subMenuOpen" for sub-menus.',265:({colId:e})=>`Unable to infer chart data type for column '${e}' if first data entry is null. Please specify "chartDataType", or a "cellDataType" in the column definition. For more information, see ${vt}/integrated-charts-range-chart#coldefchartdatatype .`,266:()=>'As of v33.1, using "keyCreator" with the Rich Select Editor has been deprecated. It now requires the "formatValue" callback to convert complex data to strings.',267:()=>"Detail grids can not use a different theme to the master grid, the `theme` detail grid option will be ignored.",268:()=>"Transactions aren't supported with tree data when using treeDataChildrenField",269:()=>"When `masterSelects: 'detail'`, detail grids must be configured with multi-row selection",270:({id:e,parentId:t})=>`Cycle detected for row with id='${e}' and parent id='${t}'. Resetting the parent for row with id='${e}' and showing it as a root-level node.`,271:({id:e,parentId:t})=>`Parent row not found for row with id='${e}' and parent id='${t}'. Showing row with id='${e}' as a root-level node.`,272:()=>"No AG Grid modules are registered! It is recommended to start with all Community features via the AllCommunityModule:\n \n import { ModuleRegistry, AllCommunityModule } from 'ag-grid-community';\n \n ModuleRegistry.registerModules([ AllCommunityModule ]);\n ",273:({providedId:e,usedId:t})=>`Provided column id '${e}' was already in use, ensure all column and group ids are unique. Using '${t}' instead.`,274:({prop:e})=>{let t=`Since v33, ${e} has been deprecated.`;switch(e){case"maxComponentCreationTimeMs":t+=" This property is no longer required and so will be removed in a future version.";break;case"setGridApi":t+=" This method is not called by AG Grid. To access the GridApi see: https://ag-grid.com/react-data-grid/grid-interface/#grid-api ";break;case"children":t+=" For multiple versions AgGridReact does not support children."}return t},275:Vu,276:()=>"Row Numbers Row Resizer cannot be used when Grid Columns have `autoHeight` enabled.",277:({colId:e})=>`'enableFilterHandlers' is set to true, but column '${e}' does not have 'filter.doesFilterPass' or 'filter.handler' set.`,278:({colId:e})=>`Unable to create filter handler for column '${e}'`,279:e=>{},280:({colId:e})=>`'name' must be provided for custom filter components for column '${e}`,281:({colId:e})=>`Filter for column '${e}' does not have 'filterParams.buttons', but the new Filters Tool Panel has buttons configured. Either configure buttons for the filter, or disable buttons on the Filters Tool Panel.`,282:()=>"New filter tool panel requires `enableFilterHandlers: true`.",283:()=>"As of v34, use the same method on the filter handler (`api.getColumnFilterHandler(colKey)`) instead.",284:()=>"As of v34, filters are active when they have a model. Use `api.getColumnFilterModel()` instead.",285:()=>"As of v34, use (`api.getColumnFilterModel()`) instead.",286:()=>"As of v34, use (`api.setColumnFilterModel()`) instead.",287:()=>"`api.doFilterAction()` requires `enableFilterHandlers = true",288:()=>"`api.getColumnFilterModel(key, true)` requires `enableFilterHandlers = true",289:({rowModelType:e})=>`Row Model '${e}' is not supported with Batch Editing`,290:({rowIndex:e,rowPinned:t})=>`Row with index '${e}' and pinned state '${t}' not found`,291:()=>"License Key being set multiple times with different values. This can result in an incorrect license key being used,",292:({colId:e})=>`The Multi Filter for column '${e}' has buttons configured against the child filters. When 'enableFilterHandlers=true', buttons must instead be provided against the parent Multi Filter params. The child filter buttons will be ignored.`,293:()=>"The grid was initialised detached from the DOM and was then inserted into a Shadow Root. Theme styles are probably broken. Pass the themeStyleContainer grid option to let the grid know where in the document to insert theme CSS.",294:()=>"When using the `agRichSelectCellEditor` setting `filterListAsync = true` requires `allowTyping = true` and the `values()` callback must return a Promise of filtered values.",295:({blockedService:e})=>`colDef.allowFormula is not supported with ${e}. Formulas has been turned off.`,296:()=>"Since v35, `api.hideOverlay()` does not hide the overlay when `activeOverlay` is set. Set `activeOverlay=null` instead.",297:()=>'`api.hideOverlay()` does not hide the no matching rows overlay as it is only controlled by grid state. Set `suppressOverlays=["noMatchingRows"] to not show it.',298:()=>"Columns Tool Panel 'buttons' requires 'apply' to enable Deferred Updates."};function $u(e,t){const o=Uu[e];if(!o)return[`Missing error text for error id ${e}!`];const s=o(t),i=`\nSee ${xt(e,t)}`;return Array.isArray(s)?s.concat(i):[s,i]}var ju={1:"Charting Aggregation",2:"pivotResultFields",3:"setTooltip"},Ku=class{constructor(e="javascript"){var t;this.frameworkName=e,this.renderingEngine="vanilla",this.batchFrameworkComps=!1,this.wrapIncoming=e=>e(),this.wrapOutgoing=e=>e(),this.baseDocLink=`${et}/${this.frameworkName}-data-grid`,t=this.baseDocLink,vt=t}frameworkComponent(e){return null}isFrameworkComponent(e){return!1}getDocLink(e){return this.baseDocLink+(e?"/"+e:"")}},_u=/* @__PURE__ */new WeakMap,qu=/* @__PURE__ */new WeakMap;function Yu(e,t,o){if(!t)return Mt(11),{};const s=o;let i;if(!s?.setThemeOnGridDiv){const t=Cl({tag:"div"});t.style.height="100%",e.appendChild(t),e=t,i=()=>e.remove()}return(new Qu).create(e,t,t=>{const o=new Il(e);t.createBean(o)},void 0,o,i)}var Zu=1,Qu=class{create(e,t,o,s,i,n){const r=Xe.applyGlobalGridOptions(t),l=r.gridId??String(Zu++),a=this.getRegisteredModules(i,l,r.rowModelType),d=this.createBeansList(r.rowModelType,a,l),c=this.createProvidedBeans(e,r,i);if(!d)return;const h=new pn({providedBeanInstances:c,beanClasses:d,id:l,beanInitComparator:Cn,beanDestroyComparator:vn,derivedBeans:[mn],destroyCallback:()=>{qu.delete(u),_u.delete(e),function(e){delete lt[e]}(l),n?.()}});this.registerModuleFeatures(h,a),o(h),h.getBean("syncSvc").start(),s?.(h);const u=h.getBean("gridApi");return _u.set(e,u),qu.set(u,e),u}getRegisteredModules(e,t,o){return ct(Au,void 0,!0),e?.modules?.forEach(e=>ct(e,t)),function(e,t){const o=lt[e]??{};return[...Object.values(rt.all??{}),...Object.values(o.all??{}),...Object.values(rt[t]??{}),...Object.values(o[t]??{})]}(t,Xu(o))}registerModuleFeatures(e,t){const o=e.getBean("registry"),s=e.getBean("apiFunctionSvc");for(const i of t){o.registerModule(i);const e=i.apiFunctions;if(e){const t=Object.keys(e);for(const o of t)s?.addFunction(o,e[o])}}}createProvidedBeans(e,t,o){let s=o?o.frameworkOverrides:null;a(s)&&(s=new Ku);const i={gridOptions:t,eGridDiv:e,eRootDiv:e,globalListener:o?o.globalListener:null,globalSyncListener:o?o.globalSyncListener:null,frameworkOverrides:s,withinStudio:o?.withinStudio};return o?.providedBeanInstances&&Object.assign(i,o.providedBeanInstances),i}createBeansList(e,t,o){const s={clientSide:"ClientSideRowModel",infinite:"InfiniteRowModel",serverSide:"ServerSideRowModel",viewport:"ViewportRowModel"},i=Xu(e),n=s[i];if(!n)return void Pt(201,{rowModelType:i},`Unknown rowModelType ${i}.`);if(!at)return void Pt(272,void 0,"No AG Grid modules are registered! It is recommended to start with all Community features via the AllCommunityModule:\n \n import { ModuleRegistry, AllCommunityModule } from 'ag-grid-community';\n \n ModuleRegistry.registerModules([ AllCommunityModule ]);\n ");if(!e){const e=Object.entries(s).filter(([e,t])=>ht(t,o,e));if(1==e.length){const[t,o]=e[0];if(t!==i){const e={moduleName:o,rowModelType:t};return void Pt(275,e,Vu(e))}}}if(!ht(n,o,i)){const e=!1,t=`rowModelType = '${i}'`,s=e?`Unable to use ${t} as that requires the ag-grid-enterprise script to be included.\n`:`Missing module ${n}Module for rowModelType ${i}.`;return void Pt(200,{reasonOrId:t,moduleName:n,gridScoped:ut(),gridId:o,rowModelType:i,isUmd:e},s)}const r=/* @__PURE__ */new Set;for(const l of t)for(const e of l.beans??[])r.add(e);return Array.from(r)}};function Xu(e){return e??"clientSide"}var Ju=(e,t)=>{for(let o=0,s=e.length;o{if(null!=o){const e=o.getSortedRows();for(let t=0,o=e.length;t{const l=e.level+1;for(let a=0,d=t.length;a{if(!h&&void 0!==h){const t=e.sourceRowIndex;h=t<=u,u=t}e.data!==t&&(e.updateData(t),r.has(e)||l.add(e),!e.selectable&&e.isSelected()&&d.push(e))},m=(e,t,o)=>{for(let s=0,n=t.length;s0;if(f){const e=o._leafs??(o._leafs=[]);void 0===h?lg(e,a,n):rg(e,a)&&(n.reordered=!0)}(f||g||l.size)&&(e.rowDataUpdated=!0,this.deselect(d))}deleteUnusedNodes(e,{removals:t},o,s){const i=this.rootNode._leafs;for(let n=0,r=i.length;n0}updateRowData(e,t,o){if(this.dispatchRowDataUpdateStarted(e.add),this.beans.groupStage?.getNestedDataGetter())return Dt(268),{remove:[],update:[],add:[]};const s=[],i=Qt(this.gos),n=this.executeRemove(i,e,t,s,o),r=this.executeUpdate(i,e,t,s),l=this.executeAdd(e,t);return this.deselect(s),{remove:n,update:r,add:l}}executeRemove(e,{remove:t},{adds:o,updates:s,removals:i},n,r){const l=this.rootNode._leafs,a=l?.length,d=t?.length;if(!d||!a)return[];let c=0,h=a,u=0;const g=new Array(d);for(let p=0;pu&&(u=a),g[c++]=l,this.destroyNode(l,r)&&(l.isSelected()&&n.push(l),o.delete(l)||(s.delete(l),i.push(l)))}return g.length=c,c&&ng(l,h,u),g}executeUpdate(e,{update:t},{adds:o,updates:s},i){const n=t?.length;if(!n)return[];const r=new Array(n);let l=0;for(let a=0;a=a;--e){const o=s[e];o.sourceRowIndex=t,s[t--]=o}t.reordered=!0}s.length=l;const d=new Array(r),c=t.adds;for(let h=0;h=o||Number.isNaN(t))return o;t=Math.ceil(t);const s=this.gos;return t>0&&s.get("treeData")&&s.get("getDataPath")&&(t=og(e,t)),t}},og=(e,t)=>{for(let o=0,s=e.length;o{e.group=!0,e.level=-1,e._expanded=!0,e.id="ROOT_NODE_ID",0!==e._leafs?.length&&(e._leafs=[]);const t=[],o=[],s=[],i=[];e.childrenAfterGroup=t,e.childrenAfterSort=o,e.childrenAfterAggFilter=s,e.childrenAfterFilter=i;const n=e.sibling;return n&&(n.childrenAfterGroup=t,n.childrenAfterSort=o,n.childrenAfterAggFilter=s,n.childrenAfterFilter=i,n.childrenMapped=e.childrenMapped),e.updateHasChildren(),e},ig=(e,t)=>{if(e)for(let o=0,s=e.length;o{for(let s=t=Math.max(0,t),i=e.length;s{e.length=t.size;let o=0,s=!1,i=!1;for(const n of t){const t=n.sourceRowIndex;t===o?i||(i=s):(t>=0?i=!0:s=!0,n.sourceRowIndex=o,e[o]=n),++o}return i},lg=(e,t,{adds:o})=>{const s=e.length,i=t.size;i>s&&(e.length=i);let n=0;for(let r=0;r{const t=e.childrenAfterSort,o=e.sibling;if(o&&(o.childrenAfterSort=t),t)for(let s=0,i=t.length-1;s<=i;s++){const e=t[s],o=0===s,n=s===i;e.firstChild!==o&&(e.firstChild=o,e.dispatchRowEvent("firstChildChanged")),e.lastChild!==n&&(e.lastChild=n,e.dispatchRowEvent("lastChildChanged")),e.childIndex!==s&&(e.childIndex=s,e.dispatchRowEvent("childIndexChanged"))}},cg=(e,t)=>{const o=t.childrenAfterGroup;if(o)for(let s=0,i=o.length;s{this.beans.groupStage?.invalidateGroupCols(),this.refreshModel({step:"group",afterColumnsChanged:!0,keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame")})};this.addManagedEventListeners({newColumnsLoaded:o,columnRowGroupChanged:o,columnValueChanged:this.onValueChanged.bind(this),columnPivotChanged:()=>this.refreshModel({step:"pivot"}),columnPivotModeChanged:()=>this.refreshModel({step:"group"}),filterChanged:this.onFilterChanged.bind(this),sortChanged:this.onSortChanged.bind(this),stylesChanged:this.onGridStylesChanges.bind(this),gridReady:this.onGridReady.bind(this),rowExpansionStateChanged:this.onRowGroupOpened.bind(this)}),this.addPropertyListeners()}addPropertyListeners(){const{beans:e,stagesRefreshProps:t}=this,o=[e.groupStage,e.filterStage,e.pivotStage,e.aggStage,e.sortStage,e.filterAggStage,e.flattenStage].filter(e=>!!e);this.stages=o;for(let s=o.length-1;s>=0;--s){const e=o[s];for(const o of e.refreshProps)t.set(o,s)}this.addManagedPropertyListeners([...t.keys(),"rowData"],e=>{const t=e.changeSet?.properties;t&&this.onPropChange(t)}),this.addManagedPropertyListener("rowHeight",()=>this.resetRowHeights())}start(){this.started=!0,this.rowNodesCountReady?this.refreshModel({step:"group",rowDataUpdated:!0,newData:!0}):this.setInitialData()}setInitialData(){this.gos.get("rowData")&&this.onPropChange(["rowData"])}ensureRowHeightsValid(e,t,o,s){let i,n=!1;do{i=!1;const r=this.getRowIndexAtPixel(e),l=this.getRowIndexAtPixel(t),a=Math.max(r,o),d=Math.min(l,s);for(let e=a;e<=d;e++){const t=this.getRow(e);if(t.rowHeightEstimated){const e=Nt(this.beans,t);t.setRowHeight(e.height),i=!0,n=!0}}i&&this.setRowTopAndRowIndex()}while(i);return n}onPropChange(e){const{nodeManager:t,gos:o,beans:s}=this,i=s.groupStage;if(!t)return;const n=new Set(e),r=i?.onPropChange(n);let l;n.has("rowData")?l=o.get("rowData"):r&&(l=i?.extractData()),l&&!Array.isArray(l)&&(l=null,Dt(1));const a={step:"nothing",changedProps:n};if(l){const e=!r&&!this.isEmpty()&&l.length>0&&o.exists("getRowId")&&!o.get("resetRowDataOnUpdate");this.refreshingData=!0,e?(a.keepRenderedRows=!0,a.animate=!o.get("suppressAnimationFrame"),a.changedRowNodes=new Jl,t.setImmutableRowData(a,l)):(a.rowDataUpdated=!0,a.newData=!0,t.setNewRowData(l),this.rowNodesCountReady=!0)}const d=a.rowDataUpdated?"group":this.getRefreshedStage(e);d&&(a.step=d,this.refreshModel(a))}getRefreshedStage(e){const{stages:t,stagesRefreshProps:o}=this;if(!t)return null;const s=t.length;let i=s;for(let n=0,r=e.length;n{null==e?.id||t.has(e.id)||e.clearRowTopAndRowIndex()},s=t=>{o(t),o(t.detailNode),o(t.sibling);const i=t.childrenAfterGroup;if(t.hasChildren()&&i&&(!e||-1===t.level||t.expanded))for(let e=0,o=i.length;e{let t=i[e];if(this.gos.get("groupHideOpenParents"))for(;t.expanded&&t.childrenAfterSort&&t.childrenAfterSort.length>0;)t=t.childrenAfterSort[0];return t.rowIndex},r=t.footerSvc;return r?r?.getTopDisplayIndex(s,e,i,n):n(e)}getTopLevelIndexFromDisplayedIndex(e){const{rootNode:t,rowsToDisplay:o}=this;if(!t||!o.length||o[0]===t)return e;let s=this.getRow(e);s.footer&&(s=s.sibling);let i=s.parent;for(;i&&i!==t;)s=i,i=s.parent;const n=t.childrenAfterSort?.indexOf(s)??-1;return n>=0?n:e}getRowBounds(e){const t=this.rowsToDisplay[e];return t?{rowTop:t.rowTop,rowHeight:t.rowHeight}:null}onRowGroupOpened(){this.refreshModel({step:"map",keepRenderedRows:!0,animate:zt(this.gos)})}onFilterChanged({afterDataChange:e,columns:t}){if(!e){const e=0===t.length||t.some(e=>e.isPrimary())?"filter":"filter_aggregates";this.refreshModel({step:e,keepRenderedRows:!0,animate:zt(this.gos)})}}onSortChanged(){this.refreshModel({step:"sort",keepRenderedRows:!0,animate:zt(this.gos)})}getType(){return"clientSide"}onValueChanged(){this.refreshModel({step:this.beans.colModel.isPivotActive()?"pivot":"aggregate"})}isSuppressModelUpdateAfterUpdateTransaction(e){if(!this.gos.get("suppressModelUpdateAfterUpdateTransaction"))return!1;const{changedRowNodes:t,newData:o,rowDataUpdated:s}=e;return!(!t||o||!s||t.removals.length||t.adds.size)}reMapRows(){if(this.refreshingModel||this.refreshingData)return this.noKeepRenderedRows=!0,this.noKeepUndoRedoStack=!0,void(this.noAnimate=!0);this.refreshModel({step:"map",keepRenderedRows:!1,keepUndoRedoStack:!1,animate:!1})}refreshModel(e){const{nodeManager:t,eventSvc:o,started:s}=this;if(!t)return;const i=!!e.rowDataUpdated;if(s&&i&&o.dispatchEvent({type:"rowDataUpdated"}),this.deferRefresh(e))return this.setPendingRefreshFlags(e),void(this.rowDataUpdatedPending||(this.rowDataUpdatedPending=i));this.rowDataUpdatedPending&&(this.rowDataUpdatedPending=!1,e.step="group"),this.updateRefreshParams(e);let n=!1;this.refreshingModel=!0;try{this.executeRefresh(e,i),n=!0}finally{this.refreshingData=!1,this.refreshingModel=!1,n||this.setPendingRefreshFlags(e)}this.clearPendingRefreshFlags(),o.dispatchEvent({type:"modelUpdated",animate:e.animate,keepRenderedRows:e.keepRenderedRows,newData:e.newData,newPage:!1,keepUndoRedoStack:e.keepUndoRedoStack})}executeRefresh(e,t){const{beans:o,rootNode:s}=this;o.masterDetailSvc?.refreshModel(e),t&&"group"!==e.step&&o.colFilter?.refreshModel();let i=e.changedPath;switch(i?.addRow(s),"group"===e.step&&(this.doGrouping(s,e),i??(i=e.changedPath)),i??(i=o.changedPathFactory?.ensureRowsPath(e,s)),e.step){case"group":case"filter":this.doFilter(i);case"pivot":this.doPivot(i)&&(i=void 0,e.changedPath=void 0);case"aggregate":this.doAggregate(i);case"filter_aggregates":this.doFilterAggregates(i);case"sort":this.doSort(i,e.changedRowNodes);case"map":this.doRowsToDisplay()}const n=/* @__PURE__ */new Set;this.setRowTopAndRowIndex(n),this.clearRowTopAndRowIndex(i,n),this.updateRefreshParams(e)}deferRefresh(e){return!(!this.refreshingModel&&!this.beans.colModel.changeEventsDispatching&&(this.isSuppressModelUpdateAfterUpdateTransaction(e)?(this.started&&(this.refreshingData=!1),0):this.started))}setPendingRefreshFlags(e){this.pendingNewData||(this.pendingNewData=!!e.newData),this.noKeepRenderedRows||(this.noKeepRenderedRows=!e.keepRenderedRows),this.noKeepUndoRedoStack||(this.noKeepUndoRedoStack=!e.keepUndoRedoStack),this.noAnimate||(this.noAnimate=!e.animate)}clearPendingRefreshFlags(){this.pendingNewData=!1,this.noKeepRenderedRows=!1,this.noKeepUndoRedoStack=!1,this.noAnimate=!1}updateRefreshParams(e){e.newData=this.pendingNewData||!!e.newData,e.keepRenderedRows=!this.noKeepRenderedRows&&!!e.keepRenderedRows,e.keepUndoRedoStack=!this.noKeepUndoRedoStack&&!!e.keepUndoRedoStack,e.animate=!this.noAnimate&&!!e.animate}isEmpty(){return!this.rootNode?._leafs?.length||!this.beans.colModel?.ready}isRowsToRender(){return this.rowsToDisplay.length>0}getOverlayType(){const{beans:e,gos:t}=this;if(this.rootNode?._leafs?.length){if(e.filterManager?.isAnyFilterPresent()&&0===this.getRowCount())return"noMatchingRows"}else if(this.rowCountReady||0==(t.get("rowData")?.length??0))return"noRows";return null}getNodesInRangeForSelection(e,t){let o=!1,s=!1;const i=[],n=go(this.gos);return this.forEachNodeAfterFilterAndSort(r=>{if(!s)if(o&&(r===t||r===e)&&(s=!0,n&&r.group))cg(i,r);else{if(!o){if(r!==t&&r!==e)return;o=!0,t===e&&(s=!0)}r.group&&n||i.push(r)}}),i}getTopLevelNodes(){return this.rootNode?.childrenAfterGroup??null}getRow(e){return this.rowsToDisplay[e]}getFormulaRow(e){return this.formulaRows[e]}isRowPresent(e){return this.rowsToDisplay.indexOf(e)>=0}getRowIndexAtPixel(e){const t=this.rowsToDisplay,o=t.length;if(this.isEmpty()||0===o)return-1;let s=0,i=o-1;if(e<=0)return 0;if(t[i].rowTop<=e)return i;let n=-1,r=-1;for(;;){const o=Math.floor((s+i)/2),l=t[o];if(this.isRowInPixel(l,e))return o;if(l.rowTope&&(i=o-1),n===s&&r===i)return o;n=s,r=i}}isRowInPixel(e,t){const o=e.rowTop,s=o+e.rowHeight;return o<=t&&s>t}forEachLeafNode(e){const t=this.rootNode?._leafs;if(t)for(let o=0,s=t.length;oe.childrenAfterAggFilter)}forEachNodeAfterFilterAndSort(e,t=!1){this.depthFirstSearchRowNodes(e,t,e=>e.childrenAfterSort)}forEachPivotNode(e,t,o){const{colModel:s,rowGroupColsSvc:i}=this.beans;if(!s.isPivotMode())return;if(!i?.columns.length)return void e(this.rootNode,0);const n=o?"childrenAfterSort":"childrenAfterGroup";this.depthFirstSearchRowNodes(e,t,e=>e.leafGroup?null:e[n])}depthFirstSearchRowNodes(e,t=!1,o=e=>e.childrenAfterGroup,s=this.rootNode,i=0){let n=i;if(!s)return n;const r=s===this.rootNode;if(r||e(s,n++),s.hasChildren()&&!s.footer){const i=r||this.hierarchical?o(s):null;if(i){const l=this.beans.footerSvc;n=l?.addTotalRows(n,s,e,t,r,"top")??n;for(const s of i)n=this.depthFirstSearchRowNodes(e,t,o,s,n);return l?.addTotalRows(n,s,e,t,r,"bottom")??n}}return n}doAggregate(e){this.rootNode&&this.beans.aggStage?.execute(e)}doFilterAggregates(e){const t=this.rootNode,o=this.beans.filterAggStage;if(o&&this.hierarchical)return void o.execute(e);t.childrenAfterAggFilter=t.childrenAfterFilter;const s=t.sibling;s&&(s.childrenAfterAggFilter=t.childrenAfterFilter)}doSort(e,t){const o=this.beans.sortStage;o?o.execute(e,t):eg(this.rootNode,this.hierarchical,e,e=>{e.childrenAfterSort=e.childrenAfterAggFilter.slice(0),dg(e)})}doGrouping(e,t){const o=this.beans.groupStage?.execute(t);if(void 0===o){const t=e._leafs;e.childrenAfterGroup=t,e.updateHasChildren();const o=e.sibling;o&&(o.childrenAfterGroup=t)}(o||t.rowDataUpdated)&&this.beans.colFilter?.refreshModel(),!this.rowCountReady&&this.rowNodesCountReady&&(this.rowCountReady=!0,this.eventSvc.dispatchEventOnce({type:"rowCountReady"}))}doFilter(e){const t=this.beans.filterStage;t?t.execute(e):eg(this.rootNode,this.hierarchical,e,e=>{e.childrenAfterFilter=e.childrenAfterGroup,ag(e)})}doPivot(e){return this.beans.pivotStage?.execute(e)??!1}getRowNode(e){const t=this.nodeManager?.getRowNode(e);return"object"==typeof t?t:this.beans.groupStage?.getNonLeaf(e)}batchUpdateRowData(e,t){if(!this.asyncTransactionsTimer){this.asyncTransactions=[];const e=this.gos.get("asyncTransactionWaitMillis");this.asyncTransactionsTimer=setTimeout(()=>this.executeBatchUpdateRowData(),e)}this.asyncTransactions.push({rowDataTransaction:e,callback:t})}flushAsyncTransactions(){const e=this.asyncTransactionsTimer;e&&(clearTimeout(e),this.executeBatchUpdateRowData())}executeBatchUpdateRowData(){const{nodeManager:e,beans:t,eventSvc:o,asyncTransactions:s}=this;if(!e)return;t.valueCache?.onDataChanged();const i=[],n=[],r=new Jl,l=!this.gos.get("suppressAnimationFrame");for(const{rowDataTransaction:a,callback:d}of s??[]){this.rowNodesCountReady=!0,this.refreshingData=!0;const t=e.updateRowData(a,r,l);i.push(t),d&&n.push(d.bind(null,t))}this.commitTransactions(r,l),n.length>0&&setTimeout(()=>{for(let e=0,t=n.length;e0&&o.dispatchEvent({type:"asyncTransactionsFlushed",results:i}),this.asyncTransactionsTimer=0,this.asyncTransactions=null}updateRowData(e){const t=this.nodeManager;if(!t)return null;this.beans.valueCache?.onDataChanged(),this.rowNodesCountReady=!0;const o=new Jl,s=!this.gos.get("suppressAnimationFrame");this.refreshingData=!0;const i=t.updateRowData(e,o,s);return this.commitTransactions(o,s),i}commitTransactions(e,t){this.refreshModel({step:"group",rowDataUpdated:!0,keepRenderedRows:!0,animate:t,changedRowNodes:e})}doRowsToDisplay(){const{rootNode:e,beans:t}=this;if(t.formula?.active){const t=e?.childrenAfterSort??[];this.formulaRows=t,this.rowsToDisplay=t.filter(e=>!e.softFiltered);for(const e of this.rowsToDisplay)e.setUiLevel(0);return}const o=t.flattenStage;if(o)return void(this.rowsToDisplay=o.execute());const s=this.rootNode.childrenAfterSort??[];for(const i of s)i.setUiLevel(0);this.rowsToDisplay=s}onRowHeightChanged(){this.refreshModel({step:"map",keepRenderedRows:!0,keepUndoRedoStack:!0})}resetRowHeights(){const e=this.rootNode;if(!e)return;const t=this.resetRowHeightsForAllRowNodes();e.setRowHeight(e.rowHeight,!0);const o=e.sibling;o?.setRowHeight(o.rowHeight,!0),t&&this.onRowHeightChanged()}resetRowHeightsForAllRowNodes(){let e=!1;return this.forEachNode(t=>{t.setRowHeight(t.rowHeight,!0);const o=t.detailNode;o?.setRowHeight(o.rowHeight,!0);const s=t.sibling;s?.setRowHeight(s.rowHeight,!0),e=!0}),e}onGridStylesChanges(e){e.rowHeightChanged&&!this.beans.rowAutoHeight?.active&&this.resetRowHeights()}onGridReady(){this.started||this.setInitialData()}destroy(){super.destroy(),this.nodeManager=this.destroyBean(this.nodeManager),this.started=!1,this.rootNode=null,this.rowsToDisplay=[],this.asyncTransactions=null,this.stages=null,this.stagesRefreshProps.clear(),clearTimeout(this.asyncTransactionsTimer)}onRowHeightChangedDebounced(){this.onRowHeightChanged_debounced()}},class extends Oe{constructor(){super(...arguments),this.beanName="sortStage",this.step="sort",this.refreshProps=["postSortRows","groupDisplayType","accentedSort"]}execute(e,t){const o=this.beans.sortSvc.getSortOptions(),s=o.length>0&&!!t&&this.gos.get("deltaSort"),{gos:i,colModel:n,rowGroupColsSvc:r,rowNodeSorter:l,rowRenderer:a,showRowGroupCols:d}=this.beans,c=i.get("groupMaintainOrder"),h=n.getCols().some(e=>e.isRowGroupActive()),u=r?.columns,g=n.isPivotMode(),p=i.getCallback("postSortRows");let m,f=!1;if(eg(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,e,i=>{const n=g&&i.leafGroup;let r=c&&h&&!i.leafGroup;r&&(m??(m=this.shouldSortContainsGroupCols(o)),r&&(r=!m));let a=null;if(r){let e=!1;if(u){const t=i.level+1;t{const t=e.childrenAfterSort,o=e.childrenAfterAggFilter,s=t?.length,i=o?.length;if(!s||!i)return null;const n=new Array(i),r=/* @__PURE__ */new Set;for(let a=0;a{const n=t.childrenAfterSort,r=t.childrenAfterAggFilter;if(!r)return n&&n.length>0?n:[];const l=r.length;if(l<=1)return n?.length!==l||0!==l&&n[0]!==r[0]?r.slice():n;if(!n||l<=4)return e.doFullSortInPlace(r.slice(),i);const a=/* @__PURE__ */new Map,{updates:d,adds:c}=o,h=[];for(let g=0;g{let s=0;o.length=t.size;for(let i=0,n=e.length;ie.compareRowNodes(i,t,o)||~a.get(t)-~a.get(o)),u===l?h:((e,t,o,s,i,n)=>{const r=new Array(n);let l,a=0,d=o[a],c=-1,h=0,u=0;const g=o.length,p=s.length;for(;;){if(c<0){if(h>=p)break;if(l=s[h++],c=i.get(l)??-1,c<0)continue}if((e.compareRowNodes(t,d,l)||~i.get(d)-c)<0){if(r[u++]=d,++a>=g)break;d=o[a]}else r[u++]=l,c=-1}for(;a=0&&(r[u++]=e)}return r})(e,i,h,n,a,l))})(l,i,t,e,o):l.doFullSortInPlace(i.childrenAfterAggFilter.slice(),o));a||(a=i.childrenAfterAggFilter?.slice()??[]),f||(f=i.childrenAfterSort?.[0]!==a[0]),i.childrenAfterSort=a,dg(i),p&&p({nodes:i.childrenAfterSort})}),f&&i.get("groupHideOpenParents")){const e=d?.columns;e?.length&&a.refreshCells({columns:e,force:!0})}}shouldSortContainsGroupCols(e){const t=e.length;if(!t)return!1;if(Ut(this.gos)){for(let o=0;oi&&(t=i),t}function pg({ctrlsSvc:e,scrollVisibleSvc:t}){const o=e.getGridBodyCtrl(),s=o.isVerticalScrollShowing()?t.getScrollbarWidth():0;return Q(o.eGridBody)-s}var mg="ag-animate-autosize";function fg({ctrlsSvc:e,gos:t},o){if(!t.get("animateColumnResizing")||t.get("enableRtl")||!e.isAlive())return;const s=e.getGridBodyCtrl().eGridBody.classList;o?s.add(mg):s.remove(mg)}var Cg={moduleName:"ColumnAutoSize",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="colAutosize",this.timesDelayed=0,this.shouldQueueResizeOperations=!1,this.resizeOperationQueue=[]}postConstruct(){const{gos:e}=this,t=e.get("autoSizeStrategy");if(t){let o=!1;const s=t.type;if("fitGridWidth"===s||"fitProvidedWidth"===s)o=!0;else if("fitCellContents"===s){this.addManagedEventListeners({firstDataRendered:()=>this.onFirstDataRendered(t)});const s=e.get("rowData");o=null!=s&&s.length>0&&It(e)}o&&this.beans.colDelayRenderSvc?.hideColumns(s)}}autoSizeCols(e){const{eventSvc:t,visibleCols:o,colModel:s}=this.beans;fg(this.beans,!0),this.innerAutoSizeCols(e).then(i=>{const n=e=>Sa(t,Array.from(e),!0,"autosizeColumns");if(!e.scaleUpToFitGridWidth)return fg(this.beans,!1),n(i);const r=pg(this.beans),l=e.colKeys.filter(e=>!(s.getCol(e)?.getColDef().suppressAutoSize||os(e)||(e=>o.leftCols.some(t=>as(t,e)))(e)||(e=>o.rightCols.some(t=>as(t,e)))(e)));this.sizeColumnsToFit(r,e.source,!0,{defaultMaxWidth:e.defaultMaxWidth,defaultMinWidth:e.defaultMinWidth,columnLimits:e.columnLimits?.map(e=>({...e,key:e.colId})),colKeys:l,onlyScaleUp:!0,animate:!1}),fg(this.beans,!1),n(i)})}innerAutoSizeCols(e){return new Promise((t,o)=>{if(this.shouldQueueResizeOperations)return this.pushResizeOperation(()=>this.innerAutoSizeCols(e).then(t,o));const{colKeys:s,skipHeader:i,skipHeaderGroups:n,stopAtGroup:r,defaultMaxWidth:l,defaultMinWidth:a,columnLimits:d=[],source:c="api"}=e,{animationFrameSvc:h,renderStatus:u,colModel:g,autoWidthCalc:p,visibleCols:m}=this.beans;if(h?.flushAllFrames(),this.timesDelayed<5&&u&&(!u.areHeaderCellsRendered()||!u.areCellsRendered()))return this.timesDelayed++,void setTimeout(()=>{this.isAlive()&&this.innerAutoSizeCols(e).then(t,o)});this.timesDelayed=0;const f=/* @__PURE__ */new Set;let C=-1;const v=Object.fromEntries(d.map(({colId:e,...t})=>[e,t])),w=i??this.gos.get("skipHeaderOnAutoSize"),b=n??w;for(;0!==C;){C=0;const e=[];for(const t of s){if(!t||ss(t))continue;const o=g.getCol(t);if(!o||f.has(o)||o.getColDef().suppressAutoSize)continue;const s=p.getPreferredWidthForColumn(o,w);if(s>0){const e=v[o.colId]??{};e.minWidth??(e.minWidth=a),e.maxWidth??(e.maxWidth=l);const t=gg(o,s,e);o.setActualWidth(t,c),f.add(o),C++}e.push(o)}e.length&&m.refresh(c)}b||this.autoSizeColumnGroupsByColumns(s,c,r),t(f)})}autoSizeColumn(e,t,o){this.autoSizeCols({colKeys:[e],skipHeader:o,skipHeaderGroups:!0,source:t})}autoSizeColumnGroupsByColumns(e,t,o){const{colModel:s,ctrlsSvc:i}=this.beans,n=/* @__PURE__ */new Set,r=s.getColsForKeys(e);for(const a of r){let e=a.getParent();for(;e&&e!=o;)e.isPadding()||n.add(e),e=e.getParent()}let l;for(const a of n){for(const e of i.getHeaderRowContainerCtrls())if(l=e.getHeaderCtrlForColumn(a),l)break;l?.resizeLeafColumnsToFit(t)}}autoSizeAllColumns(e){this.shouldQueueResizeOperations?this.pushResizeOperation(()=>this.autoSizeAllColumns(e)):this.autoSizeCols({colKeys:this.beans.visibleCols.allCols,...e})}addColumnAutosizeListeners(e,t){const o=this.gos.get("skipHeaderOnAutoSize"),s=()=>{this.autoSizeColumn(t,"uiColumnResized",o)};e.addEventListener("dblclick",s);const i=new hn(e);return i.addEventListener("doubleTap",s),()=>{e.removeEventListener("dblclick",s),i.destroy()}}addColumnGroupResize(e,t,o){const s=this.gos.get("skipHeaderOnAutoSize"),i=()=>{const e=[],i=t.getDisplayedLeafColumns();for(const t of i)t.getColDef().suppressAutoSize||e.push(t.getColId());e.length>0&&this.autoSizeCols({colKeys:e,skipHeader:s,stopAtGroup:t,source:"uiColumnResized"}),o()};return e.addEventListener("dblclick",i),()=>e.removeEventListener("dblclick",i)}sizeColumnsToFitGridBody(e,t){if(!this.isAlive())return;const o=pg(this.beans);o>0?this.sizeColumnsToFit(o,"sizeColumnsToFit",!1,e):void 0===t?window.setTimeout(()=>{this.sizeColumnsToFitGridBody(e,100)},0):100===t?window.setTimeout(()=>{this.sizeColumnsToFitGridBody(e,500)},100):500===t?window.setTimeout(()=>{this.sizeColumnsToFitGridBody(e,-1)},500):Dt(29)}sizeColumnsToFit(e,t="sizeColumnsToFit",o,i){if(this.shouldQueueResizeOperations)return void this.pushResizeOperation(()=>this.sizeColumnsToFit(e,t,o,i));const{beans:n}=this,r=i?.animate??!0;r&&fg(n,!0);const l={};for(const{key:s,...C}of i?.columnLimits??[])l["string"==typeof s?s:s.getColId()]=C;const a=n.visibleCols.allCols;if(e<=0||!a.length)return;const d=Xo(a);if(i?.onlyScaleUp&&d>e)return;if(e===d&&a.every(e=>{if(e.colDef.suppressSizeToFit)return!0;const t=l?.[e.getId()],o=t?.minWidth??i?.defaultMinWidth,s=t?.maxWidth??i?.defaultMaxWidth,n=e.getActualWidth();return(null==o||n>=o)&&(null==s||n<=s)}))return;const c=[],h=[];for(const s of a){const e=i?.colKeys?.some(e=>as(s,e))??!0;s.getColDef().suppressSizeToFit||!e?h.push(s):c.push(s)}const u=c.slice(0);let g=!1;const p=e=>{s(c,e),h.push(e)},m={};for(const s of c){i?.onlyScaleUp&&(m[s.getColId()]=s.getActualWidth()),s.resetActualWidth(t);const e=l?.[s.getId()],o=e?.minWidth??i?.defaultMinWidth??-1/0,n=e?.maxWidth??i?.defaultMaxWidth??1/0,r=s.getActualWidth(),a=Math.max(Math.min(r,n),o);a!=r&&s.setActualWidth(a,t,!0)}for(;!g;){g=!0;const o=e-Xo(h);if(o<=0)for(const e of c){const o=l?.[e.getId()]?.minWidth??i?.defaultMinWidth??e.minWidth;e.setActualWidth(o,t,!0)}else{const e=o/Xo(c);let s=o;for(let o=c.length-1;o>=0;o--){const n=c[o],r=n.getColId(),a=m[r],d=l?.[r],h=d?.minWidth??i?.defaultMinWidth??a,u=d?.maxWidth??i?.defaultMaxWidth,f=Math.max(h??-1/0,n.getMinWidth()),C=Math.min(u??1/0,n.getMaxWidth());let v=Math.round(n.getActualWidth()*e);vC?(v=C,p(n),g=!1):0===o&&(v=s),n.setActualWidth(v,t,!0),s-=v}}}for(const s of u)s.fireColumnWidthChangedEvent(t);const f=n.visibleCols;f.setLeftValues(t),f.updateBodyWidths(),o||(Sa(this.eventSvc,u,!0,t),r&&fg(n,!1))}applyAutosizeStrategy(){const{gos:e,colDelayRenderSvc:t}=this.beans,o=e.get("autoSizeStrategy");"fitGridWidth"!==o?.type&&"fitProvidedWidth"!==o?.type||setTimeout(()=>{if(!this.isAlive())return;const e=o.type;if("fitGridWidth"===e){const{columnLimits:e,defaultMinWidth:t,defaultMaxWidth:s}=o,i=e?.map(({colId:e,minWidth:t,maxWidth:o})=>({key:e,minWidth:t,maxWidth:o}));this.sizeColumnsToFitGridBody({defaultMinWidth:t,defaultMaxWidth:s,columnLimits:i})}else"fitProvidedWidth"===e&&this.sizeColumnsToFit(o.width,"sizeColumnsToFit");t?.revealColumns(e)})}onFirstDataRendered({colIds:e,...t}){setTimeout(()=>{if(!this.isAlive())return;const o="autosizeColumns";e?this.autoSizeCols({...t,source:o,colKeys:e}):this.autoSizeAllColumns({...t,source:o}),this.beans.colDelayRenderSvc?.revealColumns(t.type)})}processResizeOperations(){this.shouldQueueResizeOperations=!1;for(const e of this.resizeOperationQueue)e();this.resizeOperationQueue=[]}pushResizeOperation(e){this.resizeOperationQueue.push(e)}destroy(){this.resizeOperationQueue.length=0,super.destroy()}}],apiFunctions:{sizeColumnsToFit:function(e,t){"number"==typeof t?e.colAutosize?.sizeColumnsToFit(t,"api"):e.colAutosize?.sizeColumnsToFitGridBody(t)},autoSizeColumns:ug,autoSizeAllColumns:function(e,t){t&&"object"==typeof t?ug(e,t):e.colAutosize?.autoSizeAllColumns({source:"api",skipHeader:t})}},dependsOn:[va],css:[":where(.ag-ltr) :where(.ag-animate-autosize){.ag-cell,.ag-header-cell,.ag-header-group-cell{transition:width .2s ease-in-out,left .2s ease-in-out}}:where(.ag-rtl) :where(.ag-animate-autosize){.ag-cell,.ag-header-cell,.ag-header-group-cell{transition:width .2s ease-in-out,right .2s ease-in-out}}"]},vg={moduleName:"SharedExport",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="gridSerializer"}wireBeans(e){this.visibleCols=e.visibleCols,this.colModel=e.colModel,this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel}serialize(e,t={}){const{allColumns:o,columnKeys:s,skipRowGroups:i,exportRowNumbers:n}=t,r=this.getColumnsToExport({allColumns:o,skipRowGroups:i,columnKeys:s,exportRowNumbers:n});return[this.prepareSession(r),this.prependContent(t),this.exportColumnGroups(t,r),this.exportHeaders(t,r),this.processPinnedTopRows(t,r),this.processRows(t,r),this.processPinnedBottomRows(t,r),this.appendContent(t)].reduce((e,t)=>t(e),e).parse()}processRow(e,t,o,s){const i=t.shouldRowBeSkipped||(()=>!1),n=null!=t.rowPositions||!!t.onlySelected,r=this.gos.get("groupHideOpenParents")&&!n,l=this.colModel.isPivotMode()?s.leafGroup:!s.group,a=!!s.footer,d=1===s.allChildrenCount&&1===s.childrenAfterGroup?.length&&function(e,t){const o=e.get("groupHideParentOfSingleChild");return!0===o||!("leafGroupsOnly"!==o||!t.leafGroup)||!!e.get("groupRemoveSingleChildren")||!(!e.get("groupRemoveLowestSingleChildren")||!t.leafGroup)}(this.gos,s);if(!l&&!a&&(t.skipRowGroups||d||r)||t.onlySelected&&!s.isSelected()||t.skipPinnedTop&&"top"===s.rowPinned||t.skipPinnedBottom&&"bottom"===s.rowPinned||s.stub)return;if(-1===s.level&&!l&&!a)return;if(i(Co(this.gos,{node:s})))return;const c=e.onNewBodyRow(s);if(o.forEach((e,t)=>{c.onColumn(e,t,s)}),t.getCustomContentBelowRow){const o=t.getCustomContentBelowRow(Co(this.gos,{node:s}));o&&e.addCustomContent(o)}}appendContent(e){return t=>{const o=e.appendContent;return o&&t.addCustomContent(o),t}}prependContent(e){return t=>{const o=e.prependContent;return o&&t.addCustomContent(o),t}}prepareSession(e){return t=>(t.prepare(e),t)}exportColumnGroups(e,t){return o=>{if(!e.skipColumnGroupHeaders){const s=new Ma,{colGroupSvc:i}=this.beans,n=i?i.createColumnGroups({columns:t,idCreator:s,pinned:null,isStandaloneStructure:!0}):t;this.recursivelyAddHeaderGroups(n,o,e.processGroupHeaderCallback)}return o}}exportHeaders(e,t){return o=>{if(!e.skipColumnHeaders){const e=o.onNewHeaderRow();t.forEach((t,o)=>{e.onColumn(t,o,void 0)})}return o}}processPinnedTopRows(e,t){return o=>{const s=this.processRow.bind(this,o,e,t);return e.rowPositions?e.rowPositions.filter(e=>"top"===e.rowPinned).sort((e,t)=>e.rowIndex-t.rowIndex).map(e=>this.pinnedRowModel?.getPinnedTopRow(e.rowIndex)).forEach(s):this.pinnedRowModel?.isManual()||this.pinnedRowModel?.forEachPinnedRow("top",s),o}}processRows(e,t){return o=>{const s=this.rowModel,i=It(this.gos),n=At(this.gos),r=!i&&e.onlySelected,l=this.processRow.bind(this,o,e,t),{exportedRows:a="filteredAndSorted"}=e;if(e.rowPositions)e.rowPositions.filter(e=>null==e.rowPinned).sort((e,t)=>e.rowIndex-t.rowIndex).map(e=>s.getRow(e.rowIndex)).forEach(l);else if(this.colModel.isPivotMode())i?s.forEachPivotNode(l,!0,"filteredAndSorted"===a):n?s.forEachNodeAfterFilterAndSort(l,!0):s.forEachNode(l);else if(e.onlySelectedAllPages||r){const e=this.beans.selectionSvc?.getSelectedNodes()??[];this.replicateSortedOrder(e),e.forEach(l)}else"all"===a?s.forEachNode(l):i||n?s.forEachNodeAfterFilterAndSort(l,!0):s.forEachNode(l);return o}}replicateSortedOrder(e){const{sortSvc:t,rowNodeSorter:o}=this.beans;if(!t||!o)return;const s=t.getSortOptions(),i=(e,t)=>null!=e.rowIndex&&null!=t.rowIndex?e.rowIndex-t.rowIndex:e.level===t.level?e.parent?.id===t.parent?.id?o.compareRowNodes(s,e,t)||(e.rowIndex??-1)-(t.rowIndex??-1):i(e.parent,t.parent):e.level>t.level?i(e.parent,t):i(e,t.parent);e.sort(i)}processPinnedBottomRows(e,t){return o=>{const s=this.processRow.bind(this,o,e,t);return e.rowPositions?e.rowPositions.filter(e=>"bottom"===e.rowPinned).sort((e,t)=>e.rowIndex-t.rowIndex).map(e=>this.pinnedRowModel?.getPinnedBottomRow(e.rowIndex)).forEach(s):this.pinnedRowModel?.isManual()||this.pinnedRowModel?.forEachPinnedRow("bottom",s),o}}getColumnsToExport(e){const{allColumns:t=!1,skipRowGroups:o=!1,exportRowNumbers:s=!1,columnKeys:i}=e,{colModel:n,gos:r,visibleCols:l}=this,a=n.isPivotMode(),d=e=>!ts(e)&&(!os(e)||s);if(i?.length)return n.getColsForKeys(i).filter(d);const c=r.get("treeData");let h=[];return h=t&&!a?n.getCols():l.allCols,h=h.filter(e=>d(e)&&(!(o&&!c)||!es(e))),h}recursivelyAddHeaderGroups(e,t,o){const s=[];for(const i of e){const e=i;if(e.getChildren)for(const t of e.getChildren()??[])s.push(t)}e.length>0&&us(e[0])&&this.doAddHeaderHeader(t,e,o),s&&s.length>0&&this.recursivelyAddHeaderGroups(s,t,o)}doAddHeaderHeader(t,o,s){const i=t.onNewHeaderGroupingRow();let n=0;for(const r of o){const t=r;let o;o=s?s(Co(this.gos,{columnGroup:t})):this.beans.colNames.getDisplayNameForColumnGroup(t,"header");const l=(t.isExpandable()?t.getLeafColumns():[]).reduce((t,o,s,i)=>{let n=e(t);return"open"!==o.getColumnGroupShow()?n&&null==n[1]&&(n[1]=s-1):n&&null==n[1]||(n=[s],t.push(n)),s===i.length-1&&n&&null==n[1]&&(n[1]=s),t},[]);i.onColumn(t,o||"",n++,t.getLeafColumns().length-1,l)}}}]},wg=class extends Oe{getFileName(e){const t=this.getDefaultFileExtension();return e?.length||(e=this.getDefaultFileName()),e.includes(".")?e:`${e}.${t}`}getData(e){return this.beans.gridSerializer.serialize(this.createSerializingSession(e),e)}getDefaultFileName(){return`export.${this.getDefaultFileExtension()}`}};function bg(e,t){const o=document.defaultView||window;if(!o)return void Dt(52);const s=document.createElement("a"),i=o.URL.createObjectURL(t);s.setAttribute("href",i),s.setAttribute("download",e),s.style.display="none",document.body.appendChild(s),s.dispatchEvent(new MouseEvent("click",{bubbles:!1,cancelable:!0,view:o})),s.remove(),o.setTimeout(()=>{o.URL.revokeObjectURL(i)},0)}var yg,Sg=class{constructor(e){this.valueFrom="data";const{colModel:t,rowGroupColsSvc:o,colNames:s,valueSvc:i,gos:n,processCellCallback:r,processHeaderCallback:l,processGroupHeaderCallback:a,processRowGroupCallback:d,valueFrom:c}=e;this.colModel=t,this.rowGroupColsSvc=o,this.colNames=s,this.valueSvc=i,this.gos=n,this.processCellCallback=r,this.processHeaderCallback=l,this.processGroupHeaderCallback=a,this.processRowGroupCallback=d,c&&(this.valueFrom=c)}prepare(e){}extractHeaderValue(e){return this.getHeaderName(this.processHeaderCallback,e)??""}extractRowCellValue(e){const{column:t,node:o,currentColumnIndex:s,accumulatedRowIndex:i,type:n,useRawFormula:r}=e,l=0===s&&Zt(this.gos,o,this.colModel.isPivotMode());if(this.processRowGroupCallback&&(this.gos.get("treeData")||o.group)&&(t.isRowGroupDisplayed(o.rowGroupColumn?.getColId()??"")||l))return{value:this.processRowGroupCallback(Co(this.gos,{column:t,node:o}))??""};if(this.processCellCallback)return{value:this.processCellCallback(Co(this.gos,{accumulatedRowIndex:i,column:t,node:o,value:this.valueSvc.getValueForDisplay({column:t,node:o,from:this.valueFrom}).value,type:n,parseValue:e=>this.valueSvc.parseValue(t,o,e,this.valueSvc.getValue(t,o,this.valueFrom)),formatValue:e=>this.valueSvc.formatValue(t,o,e)??e}))??""};const a=this.gos.get("treeData"),d=this.valueSvc,c=-1===o.level&&o.footer,h=!0===t.colDef.showRowGroup&&(o.group||a);if(!c&&(l||h)){let e="",s=o;for(;s&&-1!==s.level;){const{value:o,valueFormatted:i}=d.getValueForDisplay({column:l?void 0:t,node:s,includeValueFormatted:!0,exporting:!0,from:this.valueFrom});e=` -> ${i??o??""}${e}`,s=s.parent}return{value:e,valueFormatted:e}}const{value:u,valueFormatted:g}=d.getValueForDisplay({column:t,node:o,includeValueFormatted:!0,exporting:!0,useRawFormula:r,from:this.valueFrom});return{value:u??"",valueFormatted:g}}getHeaderName(e,t){return e?e(Co(this.gos,{column:t})):this.colNames.getDisplayNameForColumn(t,"csv",!0)}},Rg=class extends Sg{constructor(e){super(e),this.config=e,this.isFirstLine=!0,this.result="";const{suppressQuotes:t,columnSeparator:o}=e;this.suppressQuotes=t,this.columnSeparator=o}addCustomContent(e){e&&("string"==typeof e?(/^\s*\n/.test(e)||this.beginNewLine(),e=e.replace(/\r?\n/g,"\r\n"),this.result+=e):e.forEach(e=>{this.beginNewLine(),e.forEach((e,t)=>{0!==t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(e.data.value||""),e.mergeAcross&&this.appendEmptyCells(e.mergeAcross)})}))}onNewHeaderGroupingRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderGroupingRowColumn.bind(this)}}onNewHeaderGroupingRowColumn(e,t,o,s){0!=o&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(t),this.appendEmptyCells(s)}appendEmptyCells(e){for(let t=1;t<=e;t++)this.result+=this.columnSeparator+this.putInQuotes("")}onNewHeaderRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderRowColumn.bind(this)}}onNewHeaderRowColumn(e,t){0!=t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(this.extractHeaderValue(e))}onNewBodyRow(){return this.beginNewLine(),{onColumn:this.onNewBodyRowColumn.bind(this)}}onNewBodyRowColumn(e,t,o){0!=t&&(this.result+=this.columnSeparator);const s=this.extractRowCellValue({column:e,node:o,currentColumnIndex:t,accumulatedRowIndex:t,type:"csv",useRawFormula:!1});this.result+=this.putInQuotes(s.valueFormatted??s.value)}putInQuotes(e){if(this.suppressQuotes)return e;if(null==e)return'""';let t;return"string"==typeof e?t=e:"function"==typeof e.toString?t=e.toString():(Dt(53),t=""),'"'+t.replace(/"/g,'""')+'"'}parse(){return this.result}beginNewLine(){this.isFirstLine||(this.result+="\r\n"),this.isFirstLine=!1}},xg={moduleName:"CsvExport",version:mt,beans:[class extends wg{constructor(){super(...arguments),this.beanName="csvCreator"}getMergedParams(e){const t=this.gos.get("defaultCsvExportParams");return Object.assign({},t,e)}export(e){if(this.isExportSuppressed())return void Dt(51);const t=()=>{const t=this.getMergedParams(e),o=this.getData(t),s=new Blob(["\ufeff",o],{type:"text/plain"}),i=t.fileName,n="function"==typeof i?i(Co(this.gos,{})):i;bg(this.getFileName(n),s)},{overlays:o}=this.beans;o?o.showExportOverlay(t):t()}exportDataAsCsv(e){this.export(e)}getDataAsCsv(e,t=!1){const o=t?Object.assign({},e):this.getMergedParams(e);return this.getData(o)}getDefaultFileExtension(){return"csv"}createSerializingSession(e){const{colModel:t,colNames:o,rowGroupColsSvc:s,valueSvc:i,gos:n}=this.beans,{processCellCallback:r,processHeaderCallback:l,processGroupHeaderCallback:a,processRowGroupCallback:d,suppressQuotes:c,columnSeparator:h,valueFrom:u}=e;return new Rg({colModel:t,colNames:o,valueSvc:i,gos:n,processCellCallback:r||void 0,processHeaderCallback:l||void 0,processGroupHeaderCallback:a||void 0,processRowGroupCallback:d||void 0,suppressQuotes:c||!1,columnSeparator:h||",",rowGroupColsSvc:s,valueFrom:u})}isExportSuppressed(){return this.gos.get("suppressCsvExport")}}],apiFunctions:{getDataAsCsv:function(e,t){return e.csvCreator?.getDataAsCsv(t)},exportDataAsCsv:function(e,t){e.csvCreator?.exportDataAsCsv(t)}},dependsOn:[vg]},Fg=class extends He{constructor(e,t){super(),this.ctrl=e,t&&(this.beans=t)}postConstruct(){this.refreshTooltip()}setBrowserTooltip(e,t){const o="title",s=this.ctrl.getGui();s&&(null==e||""==e&&!t?s.removeAttribute(o):s.setAttribute(o,e))}updateTooltipText(){const{getTooltipValue:e}=this.ctrl;e&&(this.tooltip=e())}createTooltipFeatureIfNeeded(){if(null==this.tooltipManager){const e=this.beans.registry.createDynamicBean("tooltipStateManager",!0,this.ctrl,()=>this.tooltip);e&&(this.tooltipManager=this.createBean(e,this.beans.context))}}attemptToShowTooltip(){this.tooltipManager?.prepareToShowTooltip()}attemptToHideTooltip(){this.tooltipManager?.hideTooltip()}setTooltipAndRefresh(e){this.tooltip=e,this.refreshTooltip()}refreshTooltip(e){this.browserTooltips=this.beans.gos.get("enableBrowserTooltips"),this.updateTooltipText(),this.browserTooltips?(this.setBrowserTooltip(this.tooltip),this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context)):(this.setBrowserTooltip(e?"":null,e),this.createTooltipFeatureIfNeeded())}destroy(){this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context),super.destroy()}},Dg=!1,Mg=class extends He{constructor(e,t){super(),this.tooltipCtrl=e,this.getTooltipValue=t,this.interactionEnabled=!1,this.isInteractingWithTooltip=!1,this.state=0,this.tooltipInstanceCount=0,this.tooltipMouseTrack=!1}wireBeans(e){this.popupSvc=e.popupSvc}postConstruct(){this.gos.get("tooltipInteraction")&&(this.interactionEnabled=!0),this.tooltipTrigger=this.getTooltipTrigger(),this.tooltipMouseTrack=this.gos.get("tooltipMouseTrack");const e=this.tooltipCtrl.getGui();0===this.tooltipTrigger&&this.addManagedListeners(e,{mouseenter:this.onMouseEnter.bind(this),mouseleave:this.onMouseLeave.bind(this)}),1===this.tooltipTrigger&&this.addManagedListeners(e,{focusin:this.onFocusIn.bind(this),focusout:this.onFocusOut.bind(this)}),this.addManagedListeners(e,{mousemove:this.onMouseMove.bind(this)}),this.interactionEnabled||this.addManagedListeners(e,{mousedown:this.onMouseDown.bind(this),keydown:this.onKeyDown.bind(this)})}getGridOptionsTooltipDelay(e){const t=this.gos.get(e);return Math.max(200,t)}getTooltipDelay(e){return this.tooltipCtrl[`getTooltip${e}DelayOverride`]?.()??this.getGridOptionsTooltipDelay(`tooltip${e}Delay`)}destroy(){this.setToDoNothing(),super.destroy()}getTooltipTrigger(){const e=this.gos.get("tooltipTrigger");return e&&"hover"!==e?1:0}onMouseEnter(e){this.interactionEnabled&&this.interactiveTooltipTimeoutId&&(this.unlockService(),this.startHideTimeout()),Ai()||(Dg?this.showTooltipTimeoutId=window.setTimeout(()=>{this.prepareToShowTooltip(e)},100):this.prepareToShowTooltip(e))}onMouseMove(e){this.lastMouseEvent&&(this.lastMouseEvent=e),this.tooltipMouseTrack&&2===this.state&&this.tooltipComp&&this.positionTooltip()}onMouseDown(){this.setToDoNothing()}onMouseLeave(){this.interactionEnabled?this.lockService():this.setToDoNothing()}onFocusIn(){this.prepareToShowTooltip()}onFocusOut(e){const t=e.relatedTarget,o=this.tooltipCtrl.getGui(),s=this.tooltipComp?.getGui();this.isInteractingWithTooltip||o.contains(t)||this.interactionEnabled&&s?.contains(t)||this.setToDoNothing()}onKeyDown(){this.isInteractingWithTooltip&&(this.isInteractingWithTooltip=!1),this.setToDoNothing()}prepareToShowTooltip(e){if(0!=this.state||Dg)return;let t=0;e&&(t=this.isLastTooltipHiddenRecently()?this.getTooltipDelay("SwitchShow"):this.getTooltipDelay("Show")),this.lastMouseEvent=e||null,this.showTooltipTimeoutId=window.setTimeout(this.showTooltip.bind(this),t),this.state=1}isLastTooltipHiddenRecently(){return Date.now()-yg<1e3}setToDoNothing(e){e||2!==this.state||this.hideTooltip(),this.onBodyScrollEventCallback&&(this.onBodyScrollEventCallback(),this.onBodyScrollEventCallback=void 0),this.clearEventHandlers(),this.onDocumentKeyDownCallback&&(this.onDocumentKeyDownCallback(),this.onDocumentKeyDownCallback=void 0),this.clearTimeouts(),this.state=0,this.lastMouseEvent=null}showTooltip(){const e=this.getTooltipValue(),t=this.tooltipCtrl;if(!l(e)||t.shouldDisplayTooltip&&!t.shouldDisplayTooltip())return void this.setToDoNothing();const o=this.gos.addCommon({location:t.getLocation?.()??"UNKNOWN",value:e,hideTooltipCallback:()=>this.hideTooltip(!0),...t.getAdditionalParams?.()});this.state=2,this.tooltipInstanceCount++;const s=this.newTooltipComponentCallback.bind(this,this.tooltipInstanceCount);this.createTooltipComp(o,s)}hideTooltip(e){!e&&this.isInteractingWithTooltip||(this.tooltipComp&&(this.destroyTooltipComp(),yg=Date.now()),this.eventSvc.dispatchEvent({type:"tooltipHide",parentGui:this.tooltipCtrl.getGui()}),e&&(this.isInteractingWithTooltip=!1),this.setToDoNothing(!0))}newTooltipComponentCallback(e,t){if(2!==this.state||this.tooltipInstanceCount!==e)return void this.destroyBean(t);const o=t.getGui();this.tooltipComp=t,o.classList.contains("ag-tooltip")||o.classList.add("ag-tooltip-custom"),0===this.tooltipTrigger&&o.classList.add("ag-tooltip-animate"),this.interactionEnabled&&o.classList.add("ag-tooltip-interactive");const s=this.getLocaleTextFunc(),i=this.popupSvc?.addPopup({eChild:o,ariaLabel:s("ariaLabelTooltip","Tooltip")});if(i&&(this.tooltipPopupDestroyFunc=i.hideFunc),this.positionTooltip(),1===this.tooltipTrigger){const e=()=>this.setToDoNothing();[this.onBodyScrollEventCallback]=this.addManagedEventListeners({bodyScroll:e}),this.setEventHandlers(e)}this.interactionEnabled&&([this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener]=this.addManagedElementListeners(o,{mouseenter:this.onTooltipMouseEnter.bind(this),mouseleave:this.onTooltipMouseLeave.bind(this)}),[this.onDocumentKeyDownCallback]=this.addManagedElementListeners(b(this.beans),{keydown:e=>{o.contains(e?.target)||this.onKeyDown()}}),1===this.tooltipTrigger&&([this.tooltipFocusInListener,this.tooltipFocusOutListener]=this.addManagedElementListeners(o,{focusin:this.onTooltipFocusIn.bind(this),focusout:this.onTooltipFocusOut.bind(this)}))),this.eventSvc.dispatchEvent({type:"tooltipShow",tooltipGui:o,parentGui:this.tooltipCtrl.getGui()}),this.startHideTimeout()}onTooltipMouseEnter(){this.isInteractingWithTooltip=!0,this.unlockService()}onTooltipMouseLeave(){this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,this.lockService())}onTooltipFocusIn(){this.isInteractingWithTooltip=!0}isTooltipFocused(){const e=this.tooltipComp?.getGui(),t=w(this.beans);return!!e&&e.contains(t)}onTooltipFocusOut(e){const t=this.tooltipCtrl.getGui();this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,t.contains(e.relatedTarget)?this.startHideTimeout():this.hideTooltip())}positionTooltip(){const e={type:"tooltip",ePopup:this.tooltipComp.getGui(),nudgeY:18,skipObserver:this.tooltipMouseTrack};this.lastMouseEvent?this.popupSvc?.positionPopupUnderMouseEvent({...e,mouseEvent:this.lastMouseEvent}):this.popupSvc?.positionPopupByComponent({...e,eventSource:this.tooltipCtrl.getGui(),position:"under",keepWithinBounds:!0,nudgeY:5})}destroyTooltipComp(){this.tooltipComp.getGui().classList.add("ag-tooltip-hiding");const e=this.tooltipPopupDestroyFunc,t=this.tooltipComp,o=0===this.tooltipTrigger?1e3:0;window.setTimeout(()=>{e(),this.destroyBean(t)},o),this.clearTooltipListeners(),this.tooltipPopupDestroyFunc=void 0,this.tooltipComp=void 0}clearTooltipListeners(){for(const e of[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener,this.tooltipFocusInListener,this.tooltipFocusOutListener])e&&e();this.tooltipMouseEnterListener=this.tooltipMouseLeaveListener=this.tooltipFocusInListener=this.tooltipFocusOutListener=null}lockService(){Dg=!0,this.interactiveTooltipTimeoutId=window.setTimeout(()=>{this.unlockService(),this.setToDoNothing()},100)}unlockService(){Dg=!1,this.clearInteractiveTimeout()}startHideTimeout(){this.clearHideTimeout(),this.hideTooltipTimeoutId=window.setTimeout(this.hideTooltip.bind(this),this.getTooltipDelay("Hide"))}clearShowTimeout(){this.showTooltipTimeoutId&&(window.clearTimeout(this.showTooltipTimeoutId),this.showTooltipTimeoutId=void 0)}clearHideTimeout(){this.hideTooltipTimeoutId&&(window.clearTimeout(this.hideTooltipTimeoutId),this.hideTooltipTimeoutId=void 0)}clearInteractiveTimeout(){this.interactiveTooltipTimeoutId&&(window.clearTimeout(this.interactiveTooltipTimeoutId),this.interactiveTooltipTimeoutId=void 0)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout(),this.clearInteractiveTimeout()}},Pg=0,Eg=class extends He{constructor(){super(...arguments),this.beanName="popupSvc",this.popupList=[]}postConstruct(){this.addManagedEventListeners({stylesChanged:this.handleThemeChange.bind(this)})}getPopupParent(){return this.gos.get("popupParent")||this.getDefaultPopupParent()}positionPopupUnderMouseEvent(e){const{ePopup:t,nudgeX:o,nudgeY:s,skipObserver:i}=e;this.positionPopup({ePopup:t,nudgeX:o,nudgeY:s,keepWithinBounds:!0,skipObserver:i,updatePosition:()=>this.calculatePointerAlign(e.mouseEvent),postProcessCallback:()=>this.callPostProcessPopup(e.additionalParams,e.type,e.ePopup,null,e.mouseEvent)})}calculatePointerAlign(e){const t=this.getParentRect();return{x:e.clientX-t.left,y:e.clientY-t.top}}positionPopupByComponent(e){const{ePopup:t,nudgeX:o,nudgeY:s,keepWithinBounds:i,eventSource:n,alignSide:r="left",position:l="over",type:a}=e,d=n.getBoundingClientRect(),c=this.getParentRect();this.setAlignedTo(n,t),this.positionPopup({ePopup:t,nudgeX:o,nudgeY:s,keepWithinBounds:i,updatePosition:()=>{let o,i=d.left-c.left;return"right"===r&&(i-=t.offsetWidth-d.width),"over"===l?(o=d.top-c.top,this.setAlignedStyles(t,"over")):(this.setAlignedStyles(t,"under"),o="under"===this.shouldRenderUnderOrAbove(t,d,c,e.nudgeY||0)?d.top-c.top+d.height:d.top-t.offsetHeight-2*(s||0)-c.top),{x:i,y:o}},postProcessCallback:()=>this.callPostProcessPopup(e.additionalParams,a,t,n,null)})}positionPopupForMenu(e){const{eventSource:t,ePopup:o,event:s}=e,i=t.getBoundingClientRect(),n=this.getParentRect();this.setAlignedTo(t,o);let r=!1;this.positionPopup({ePopup:o,keepWithinBounds:!0,updatePosition:()=>{const e=this.keepXYWithinBounds(o,i.top-n.top,0),t=o.clientWidth>0?o.clientWidth:200;r||(o.style.minWidth=`${t}px`,r=!0);const s=n.right-n.left-t;let l;return this.gos.get("enableRtl")?(l=d(),l<0&&(l=a(),this.setAlignedStyles(o,"left")),l>s&&(l=0,this.setAlignedStyles(o,"right"))):(l=a(),l>s&&(l=d(),this.setAlignedStyles(o,"right")),l<0&&(l=0,this.setAlignedStyles(o,"left"))),{x:l,y:e};function a(){return i.right-n.left-2}function d(){return i.left-n.left-t}},postProcessCallback:()=>this.callPostProcessPopup(e.additionalParams,"subMenu",o,t,s instanceof MouseEvent?s:void 0)})}shouldRenderUnderOrAbove(e,t,o,s){const i=o.bottom-t.bottom,n=t.top-o.top,r=e.offsetHeight+s;return i>r?"under":n>r||n>i?"above":"under"}setAlignedStyles(e,t){const o=this.getPopupIndex(e);if(-1===o)return;const{alignedToElement:s}=this.popupList[o];if(s){for(const t of["right","left","over","above","under"])s.classList.remove(`ag-has-popup-positioned-${t}`),e.classList.remove(`ag-popup-positioned-${t}`);t&&(s.classList.add(`ag-has-popup-positioned-${t}`),e.classList.add(`ag-popup-positioned-${t}`))}}setAlignedTo(e,t){const o=this.getPopupIndex(t);-1!==o&&(this.popupList[o].alignedToElement=e)}positionPopup(e){const{ePopup:t,keepWithinBounds:o,nudgeX:s,nudgeY:i,skipObserver:n,updatePosition:r}=e,l={width:0,height:0},a=(n=!1)=>{let{x:a,y:d}=r();n&&t.clientWidth===l.width&&t.clientHeight===l.height||(l.width=t.clientWidth,l.height=t.clientHeight,s&&(a+=s),i&&(d+=i),o&&(a=this.keepXYWithinBounds(t,a,1),d=this.keepXYWithinBounds(t,d,0)),t.style.left=`${a}px`,t.style.top=`${d}px`,e.postProcessCallback&&e.postProcessCallback())};if(a(),!n){const e=we(this.beans,t,()=>a(!0));setTimeout(()=>e(),200)}}getParentRect(){const e=b(this.beans);let t=this.getPopupParent();return t===e.body?t=e.documentElement:"static"===getComputedStyle(t).position&&(t=t.offsetParent),ee(t)}keepXYWithinBounds(e,t,o){const s=0===o,i=s?"clientHeight":"clientWidth",n=s?"top":"left",r=s?"height":"width",l=s?"scrollTop":"scrollLeft",a=b(this.beans),d=a.documentElement,c=this.getPopupParent(),h=e.getBoundingClientRect(),u=c.getBoundingClientRect(),g=a.documentElement.getBoundingClientRect(),p=c===a.body,m=Math.ceil(h[r]);let f=p?(s?X:J)(d)+d[l]:c[i];p&&(f-=Math.abs(g[n]-u[n]));const C=f-m;return Math.min(Math.max(t,0),Math.max(C,0))}addPopup(e){const{eChild:t,ariaLabel:o,ariaOwns:s,alwaysOnTop:i,positionCallback:n,anchorToElement:r}=e,l=this.getPopupIndex(t);if(-1!==l)return{hideFunc:this.popupList[l].hideFunc};this.initialisePopupPosition(t);const a=this.createPopupWrapper(t,!!i,o,s),d=this.addEventListenersToPopup({...e,wrapperEl:a});return n&&n(),this.addPopupToPopupList(t,a,d,r),{hideFunc:d}}initialisePopupPosition(e){const t=this.getPopupParent().getBoundingClientRect();l(e.style.top)||(e.style.top=-1*t.top+"px"),l(e.style.left)||(e.style.left=-1*t.left+"px")}createPopupWrapper(e,t,o,s){const i=this.getPopupParent(),{environment:n,gos:r}=this.beans,l=xe({tag:"div"});return n.applyThemeClasses(l),l.classList.add("ag-popup"),e.classList.add(r.get("enableRtl")?"ag-rtl":"ag-ltr","ag-popup-child"),e.hasAttribute("role")||P(e,"dialog"),o?E(e,o):s&&(e.id||(e.id=`popup-component-${Pg}`),z(s,e.id)),l.appendChild(e),i.appendChild(l),t?this.setAlwaysOnTop(e,!0):this.bringPopupToFront(e),l}addEventListenersToPopup(e){const t=this.beans,o=b(t),{wrapperEl:s,eChild:i,closedCallback:n,afterGuiAttached:r,closeOnEsc:l,modal:a,ariaOwns:d}=e;let c=!1;const h=e=>{s.contains(w(t))&&(e.key!==Cs||this.isStopPropagation(e)||p({keyboardEvent:e}))},u=e=>p({mouseEvent:e}),g=e=>p({touchEvent:e}),p=(e={})=>{const{mouseEvent:t,touchEvent:r,keyboardEvent:l,forceHide:a}=e;(a||!this.isEventFromCurrentPopup({mouseEvent:t,touchEvent:r},i)&&!c)&&(c=!0,s.remove(),o.removeEventListener("keydown",h),o.removeEventListener("mousedown",u),o.removeEventListener("touchstart",g),o.removeEventListener("contextmenu",u),this.eventSvc.removeListener("dragStarted",u),n&&n(t||r||l),this.removePopupFromPopupList(i,d))};return r&&r({hidePopup:p}),window.setTimeout(()=>{l&&o.addEventListener("keydown",h),a&&(o.addEventListener("mousedown",u),this.eventSvc.addListener("dragStarted",u),o.addEventListener("touchstart",g),o.addEventListener("contextmenu",u))},0),p}addPopupToPopupList(e,t,o,s){this.popupList.push({element:e,wrapper:t,hideFunc:o,instanceId:Pg,isAnchored:!!s}),s&&this.setPopupPositionRelatedToElement(e,s),Pg+=1}getPopupIndex(e){return this.popupList.findIndex(t=>t.element===e)}setPopupPositionRelatedToElement(e,t){const o=this.getPopupIndex(e);if(-1===o)return;const s=this.popupList[o];if(s.stopAnchoringPromise&&s.stopAnchoringPromise.then(e=>e&&e()),s.stopAnchoringPromise=void 0,s.isAnchored=!1,!t)return;const i=this.keepPopupPositionedRelativeTo({element:t,ePopup:e,hidePopup:s.hideFunc});return s.stopAnchoringPromise=i,s.isAnchored=!0,i}removePopupFromPopupList(e,t){this.setAlignedStyles(e,null),this.setPopupPositionRelatedToElement(e,null),t&&z(t,null),this.popupList=this.popupList.filter(t=>t.element!==e)}keepPopupPositionedRelativeTo(e){const t=this.getPopupParent(),o=t.getBoundingClientRect(),{element:s,ePopup:i}=e,n=s.getBoundingClientRect(),r=e=>Number.parseInt(e.substring(0,e.length-1),10),l=(e,t)=>{const s=o[e]-n[e],l=r(i.style[e]);return{initialDiff:s,lastDiff:s,initial:l,last:l,direction:t}},a=l("top",0),d=l("left",1),c=this.beans.frameworkOverrides;return new Ns(o=>{c.wrapIncoming(()=>{var n;(n=()=>{const o=t.getBoundingClientRect(),n=s.getBoundingClientRect();if(0==n.top&&0==n.left&&0==n.height&&0==n.width)return void e.hidePopup();const l=(e,t)=>{const s=r(i.style[t]);e.last!==s&&(e.initial=s,e.last=s);const l=o[t]-n[t];if(l!=e.lastDiff){const o=this.keepXYWithinBounds(i,e.initial+e.initialDiff-l,e.direction);i.style[t]=`${o}px`,e.last=o}e.lastDiff=l};l(a,"top"),l(d,"left")},new Ns(e=>{e(window.setInterval(n,200))})).then(e=>{o(()=>{null!=e&&window.clearInterval(e)})})},"popupPositioning")})}isEventFromCurrentPopup(e,t){const{mouseEvent:o,touchEvent:s}=e,i=o||s;if(!i)return!1;const n=this.getPopupIndex(t);if(-1===n)return!1;for(let r=n;re.element)}hasAnchoredPopup(){return this.popupList.some(e=>e.isAnchored)}isStopPropagation(e){return Yi(e)}}]};function Ig(e){return"whenTruncated"===e.get("tooltipShowMode")}function Ag(e,t){return Ig(e)?ue(t):void 0}var kg=(e,t)=>{const o=e;return"function"==typeof o.getTranslatedMessage?o.getTranslatedMessage(t):e.message},Lg=(e,t,o)=>{const{editModelSvc:s}=e,i=s?.getCellValidationModel()?.getCellValidation(t)?.errorMessages,n=s?.getRowValidationModel().getRowValidation(t)?.errorMessages,r=i||n;return r?.length?r.join(o("tooltipValidationErrorSeparator",". ")):void 0},Gg={moduleName:"Tooltip",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="tooltipSvc"}setupHeaderTooltip(e,t,o,s){e&&t.destroyBean(e);const i=this.gos,n=Ig(i),{column:r,eGui:l}=t,a=r.getColDef();s||!n||a.headerComponent||(s=ue(()=>l.querySelector(".ag-header-cell-text")));const d="header",c=this.beans.colNames.getDisplayNameForColumn(r,"header",!0),h=o??c,u={getGui:()=>l,getLocation:()=>d,getTooltipValue:()=>o??a?.headerTooltipValueGetter?.(Co(i,{location:d,colDef:a,column:r,value:h,valueFormatted:c}))??a?.headerTooltip,shouldDisplayTooltip:s,getAdditionalParams:()=>({column:r,colDef:r.getColDef()})};let g=this.createTooltipFeature(u);return g&&(g=t.createBean(g),t.setRefreshFunction("tooltip",()=>g.refreshTooltip())),g}setupHeaderGroupTooltip(e,t,o,s){e&&t.destroyBean(e);const i=this.gos,n=Ig(i),{column:r,eGui:l}=t,a=r.getColGroupDef();s||!n||a?.headerGroupComponent||(s=ue(()=>l.querySelector(".ag-header-group-text")));const d="headerGroup",c=this.beans.colNames.getDisplayNameForColumnGroup(r,"header"),h=o??c,u={getGui:()=>l,getLocation:()=>d,getTooltipValue:()=>o??a?.headerTooltipValueGetter?.(Co(i,{location:d,colDef:a,column:r,value:h,valueFormatted:c}))??a?.headerTooltip,shouldDisplayTooltip:s,getAdditionalParams:()=>{const e={column:r};return a&&(e.colDef=a),e}},g=this.createTooltipFeature(u);return g?t.createBean(g):g}enableCellTooltipFeature(e,t,o){const{beans:s}=this,{column:i,rowNode:n}=e,r=((e,t,o)=>{const{editSvc:s}=e,{column:i}=t,n=((e,t)=>{if(Ig(e.gos)){if(t.isCellRenderer()){const e=t.column.getColDef();if(!e.showRowGroup&&"agGroupCellRenderer"!==e.cellRenderer)return;return ue(()=>{const e=t.eGui;return e.querySelector(".ag-group-value")||e.querySelector(".ag-cell-value")||e})}return ue(()=>{const e=t.eGui;return 0===e.children.length?e:e.querySelector(".ag-cell-value")})}})(e,t),r=()=>!s?.isEditing(t)&&(!n||!!i.isTooltipEnabled()&&n());return{shouldDisplayDefault:r,shouldDisplayColumnTooltip:r,shouldDisplayCustomTooltip:o??r}})(s,e,o),a=this.getLocaleTextFunc();let d=null;const c=()=>(d=(({beans:e,ctrl:t,value:o,displayFunctions:s,translate:i})=>{const{editSvc:n,formula:r,gos:a}=e,{column:d,rowNode:c}=t;if(r?.active&&d.isAllowFormula()){const e=r.getFormulaError(d,c);if(e)return{value:kg(e,i),location:"cellFormula",shouldDisplay:()=>!!r?.getFormulaError(d,c)}}if(!n?.isEditing(t)){const o=Lg(e,t,i);if(o)return{value:o,location:"cellEditor",shouldDisplay:()=>!n?.isEditing(t)&&!!Lg(e,t,i)}}const{shouldDisplayCustomTooltip:h,shouldDisplayColumnTooltip:u}=s;if(null!=o)return{value:o,location:"cell",shouldDisplay:h};const g=d.getColDef(),p=c.data;if(g.tooltipField&&l(p))return{value:td(p,g.tooltipField,d.isTooltipFieldContainsDots()),location:"cell",shouldDisplay:u};const m=g.tooltipValueGetter;return m?{value:m(Co(a,{location:"cell",colDef:d.getColDef(),column:d,rowIndex:t.cellPosition.rowIndex,node:c,data:c.data,value:t.value,valueFormatted:t.valueFormatted})),location:"cell",shouldDisplay:u}:null})({beans:s,ctrl:e,value:t,displayFunctions:r,translate:a}),d),h={getGui:()=>e.eGui,getLocation:()=>d?.location??"cell",getTooltipValue:()=>c()?.value,shouldDisplayTooltip:()=>{const e=d??c();return!!e&&(!e.shouldDisplay||e.shouldDisplay())},getAdditionalParams:()=>({column:i,colDef:i.getColDef(),rowIndex:e.cellPosition.rowIndex,node:n,data:n.data,valueFormatted:e.valueFormatted})};return this.createTooltipFeature(h,s)}setupFullWidthRowTooltip(e,t,o,s){const i={getGui:()=>t.getFullWidthElement(),getTooltipValue:()=>o,getLocation:()=>"fullWidthRow",shouldDisplayTooltip:s},n=this.beans,r=n.context;e&&t.destroyBean(e,r);const l=this.createTooltipFeature(i,n);if(l)return t.createBean(l,r)}setupCellEditorTooltip(e,t){const{beans:o}=this,{context:s}=o,i=t.getValidationElement?.(!0)||!t.isPopup?.()&&e.eGui;if(!i)return;const n=this.createTooltipFeature({getGui:()=>i,getTooltipValue:()=>Lg(o,e,this.getLocaleTextFunc()),getLocation:()=>"cellEditor",shouldDisplayTooltip:()=>{const{editModelSvc:e}=o,t=e?.getRowValidationModel()?.getRowValidationMap(),s=e?.getCellValidationModel()?.getCellValidationMap(),i=!!t&&t.size>0,n=!!s&&s.size>0;return i||n}},o);return n?e.createBean(n,s):void 0}initCol(e){const{colDef:t}=e;e.tooltipEnabled=l(t.tooltipField)||l(t.tooltipValueGetter)||l(t.tooltipComponent)}createTooltipFeature(e,t){return this.beans.registry.createDynamicBean("tooltipFeature",!1,e,t)}}],dynamicBeans:{tooltipFeature:Fg,highlightTooltipFeature:class extends Fg{constructor(e,t,o){super(e,o),this.highlightTracker=t,this.onHighlight=this.onHighlight.bind(this)}postConstruct(){super.postConstruct(),this.wireHighlightListeners()}wireHighlightListeners(){this.addManagedPropertyListener("tooltipTrigger",({currentValue:e})=>{this.setTooltipMode(e)}),this.setTooltipMode(this.gos.get("tooltipTrigger")),this.highlightTracker.addEventListener("itemHighlighted",this.onHighlight)}onHighlight(e){1===this.tooltipMode&&(e.highlighted?this.attemptToShowTooltip():this.attemptToHideTooltip())}setTooltipMode(e="focus"){this.tooltipMode="focus"===e?1:0}destroy(){this.highlightTracker.removeEventListener("itemHighlighted",this.onHighlight),super.destroy()}},tooltipStateManager:class extends Mg{createTooltipComp(e,t){(function(e,t){return e.getCompDetails(t.colDef,Ys,"agTooltipComponent",t,!0)})(this.beans.userCompFactory,e)?.newAgStackInstance().then(t)}setEventHandlers(e){[this.onColumnMovedEventCallback]=this.addManagedEventListeners({columnMoved:e})}clearEventHandlers(){this.onColumnMovedEventCallback?.(),this.onColumnMovedEventCallback=void 0}}},userComponents:{agTooltipComponent:class extends on{constructor(){super({tag:"div",cls:"ag-tooltip"})}init(e){const{value:t}=e,o=this.getGui();o.textContent=m(t);const s=e.location.replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase();o.classList.add(`ag-${s}-tooltip`)}}},dependsOn:[Tg],css:[".ag-tooltip{background-color:var(--ag-tooltip-background-color);border:var(--ag-tooltip-border);border-radius:var(--ag-border-radius);color:var(--ag-tooltip-text-color);padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);position:absolute;white-space:normal;z-index:99999;&:where(.ag-cell-editor-tooltip),&:where(.ag-cell-formula-tooltip){background-color:var(--ag-tooltip-error-background-color);border:var(--ag-tooltip-error-border);color:var(--ag-tooltip-error-text-color);font-weight:500}}.ag-tooltip-custom{position:absolute;z-index:99999}.ag-tooltip-custom:where(:not(.ag-tooltip-interactive)),.ag-tooltip:where(:not(.ag-tooltip-interactive)){pointer-events:none}.ag-tooltip-animate{transition:opacity 1s;&:where(.ag-tooltip-hiding){opacity:0}}"]},Ng={selector:"AG-INPUT-TEXT-FIELD",component:class extends Oa{constructor(e,t="ag-text-field",o="text"){super(e,t,o)}postConstruct(){super.postConstruct(),this.config.allowedCharPattern&&this.preventDisallowedCharacters()}setValue(e,t){const o=this.eInput;return o.value!==e&&(o.value=l(e)?e:""),super.setValue(e,t)}setStartValue(e){this.setValue(e,!0)}setCustomValidity(e){const t=this.eInput,o=e.length>0;t.setCustomValidity(e),o&&t.reportValidity(),k(t,o)}preventDisallowedCharacters(){const e=new RegExp(`[${this.config.allowedCharPattern}]`);this.addManagedListeners(this.eInput,{keydown:t=>{Br(t)&&t.key&&!e.test(t.key)&&t.preventDefault()},paste:t=>{(t.clipboardData?.getData("text"))?.split("").some(t=>!e.test(t))&&t.preventDefault()}})}}},Bg=class extends sn{constructor(e){super(),this.cellEditorInput=e,this.eEditor=null}initialiseEditor(e){const{cellEditorInput:t}=this;this.setTemplate({tag:"div",cls:"ag-cell-edit-wrapper",children:[t.getTemplate()]},t.getAgComponents());const{eEditor:o}=this,{cellStartedEdit:s,eventKey:i,suppressPreventDefault:n}=e;let r;o.getInputElement().setAttribute("title",""),t.init(o,e);let l=!0;s?(this.focusAfterAttached=!0,i===ps||i===Rs?r="":i&&1===i.length?n?l=!1:r=i:(r=t.getStartValue(),i!==xs&&(this.highlightAllOnFocus=!0))):(this.focusAfterAttached=!1,r=t.getStartValue()),l&&null!=r&&o.setStartValue(r),this.addGuiEventListener("keydown",e=>{const{key:t}=e;t!==Fs&&t!==Ds||e.preventDefault()})}afterGuiAttached(){const e=this.getLocaleTextFunc(),t=this.eEditor;if(t.setInputAriaLabel(e("ariaInputEditor","Input Editor")),!this.focusAfterAttached)return;Ei()||t.getFocusableElement().focus();const o=t.getInputElement();this.highlightAllOnFocus?o.select():this.cellEditorInput.setCaret?.()}focusIn(){const{eEditor:e}=this,t=e.getFocusableElement(),o=e.getInputElement();t.focus(),o.select()}getValue(){return this.cellEditorInput.getValue()}agSetEditValue(e){this.params.value=e;const t=this.cellEditorInput.getStartValue();this.eEditor.setStartValue(t??null)}isPopup(){return!1}getValidationElement(){return this.eEditor.getInputElement()}getValidationErrors(){return this.cellEditorInput.getValidationErrors()}},Hg={tag:"ag-input-text-field",ref:"eEditor",cls:"ag-cell-editor"},Og=class{constructor(e){this.getLocaleTextFunc=e}getTemplate(){return Hg}getAgComponents(){return[Ng]}init(e,t){this.eEditor=e,this.params=t;const o=t.maxLength;null!=o&&e.setMaxLength(o)}getValidationErrors(){const{params:e}=this,{maxLength:t,getValidationErrors:o}=e,s=this.getValue(),i=this.getLocaleTextFunc();let n=[];return null!=t&&"string"==typeof s&&s.length>t&&n.push(i("maxLengthValidation",`Must be ${t} characters or fewer.`,[String(t)])),n.length||(n=null),o?o({value:s,cellEditorParams:e,internalErrors:n}):n}getValue(){const{eEditor:e,params:t}=this,o=e.getValue();return l(o)||l(t.value)?t.parseValue(o):t.value}getStartValue(){const e=this.params;return e.useFormatter||e.column.getColDef().refData?e.formatValue(e.value):e.value}setCaret(){Ei()&&this.eEditor.getInputElement().focus({preventScroll:!0});const e=this.eEditor,t=e.getValue(),o=l(t)&&t.length||0;o&&e.getInputElement().setSelectionRange(o,o)}},Vg=class extends Bg{constructor(){super(new Og(()=>this.getLocaleTextFunc()))}},zg={tag:"div",cls:"ag-popup-editor",attrs:{tabindex:"-1"}},Wg=class extends on{constructor(e){super(zg),this.params=e}postConstruct(){Vt(this.gos,this.getGui(),"popupEditorWrapper",!0),this.addKeyDownListener()}addKeyDownListener(){const e=this.getGui(),t=this.params;this.addManagedElementListeners(e,{keydown:e=>{jr(this.gos,e,t.node,t.column,!0)||t.onKeyDown(e)}})}};function Ug(e,t){return e.editModelSvc?.hasEdits(t,{withOpenEditor:!0})??!1}function $g(e,t){const o=t.column,s=t.rowNode,i=o.getColDef();if(!s)return Ug(e,t);const n=i.editable;return s.group&&null!=i.groupRowEditable?!!e.rowGroupingEditValueSvc?.isGroupCellEditable(s,o)||Ug(e,t):!!o.isColumnFunc(s,n)||Ug(e,t)}var jg=(e,t=!1)=>{if(void 0!==e)return Sh(e)||t&&"editing"===e.state};function Kg(e,t,o=!1){return jg(e.editModelSvc?.getEdit(t),o)}var _g=(e,t,o)=>{if(e)for(let s=0,i=e.length;s{const t={rowNode:s,column:e};return Kg(o,t,!0)||qg(o,t)||Yg(o,t)});return void this.applyStyle(n,e)}this.applyStyle(n)}applyStyle(e=!1,t=!1){const o=!!this.editSvc?.isBatchEditing(),s="fullRow"===this.gos.get("editType");this.rowCtrl?.forEachGui(void 0,({rowComp:i})=>{i.toggleCss("ag-row-editing",s&&t),i.toggleCss("ag-row-batch-edit",s&&t&&o),i.toggleCss("ag-row-inline-editing",t),i.toggleCss("ag-row-not-inline-editing",!t),i.toggleCss("ag-row-editing-invalid",s&&t&&e)})}},Xg=/* @__PURE__ */new Set(["undo","redo","paste","bulk","rangeSvc"]),Jg=/* @__PURE__ */new Set(["ui","api"]),ep={paste:"api",rangeSvc:"api",fillHandle:"api",cellClear:"api",bulk:"api"},tp=new Set(Object.keys(ep)),op=/* @__PURE__ */new Set(["paste","rangeSvc","cellClear","redo","undo"]),sp={cancel:!0,source:"api"},ip={cancel:!1,source:"api"},np={checkSiblings:!0},rp={force:!0,suppressFlash:!0},lp={force:!0};function ap(e){return{rowNodes:e?Array.from(e.keys()):void 0,columns:e?[...new Set(Array.from(e.values()).flatMap(e=>Array.from(e.keys())))]:void 0}}function dp(e,t){return t??e.get("editType")??"singleCell"}var cp=class extends Oe{postConstruct(){this.model=this.beans.editModelSvc,this.editSvc=this.beans.editSvc,this.addManagedEventListeners({cellFocused:this.onCellFocusChanged?.bind(this),cellFocusCleared:this.onCellFocusChanged?.bind(this)})}clearEdits(e){this.model.clearEditValue(e)}onCellFocusChanged(e){let t;const o=e.previousParams,{editSvc:s,beans:i}=this,n="cellFocused"===e.type?e.sourceEvent:null;o&&(t=vh(i,o));const{gos:r,editModelSvc:l}=i,a="cellFocusCleared"===e.type;if(s.isEditing(void 0,{withOpenEditor:!0})){const{column:t,rowIndex:d,rowPinned:c}=e,h={column:t,rowNode:Fn(i,{rowIndex:d,rowPinned:c})},u="block"===r.get("invalidEditValueMode");if(u)return;const g=!u,p=!!l?.getCellValidationModel().hasCellValidation(h),m=g&&p;!o&&!a||s.stopEditing(void 0,{cancel:m,source:a&&g?"api":void 0,event:n})||(s.isBatchEditing()?s.cleanupEditors():s.stopEditing(void 0,{source:"api"}))}t?.refreshCell({suppressFlash:!0,force:!0})}stopCancelled(e){const t=this.editSvc.isBatchEditing()&&!e;for(const o of this.model.getEditPositions())Ah(this.beans,o,{cancel:!0},vh(this.beans,o)),this.model.stop(o,t,!0);return!0}stopCommitted(e,t){const o=this.model.getEditPositions(),s={all:[],pass:[],fail:[]};for(const r of o)s.all.push(r),(this.model.getCellValidationModel().getCellValidation(r)?.errorMessages?.length??0)>0?s.fail.push(r):s.pass.push(r);const i=this.processValidationResults(s),n=this.editSvc.isBatchEditing()&&!t;for(const r of i.destroy)Ah(this.beans,r,{event:e},vh(this.beans,r)),this.model.stop(r,n,!1);for(const r of i.keep){const e=vh(this.beans,r);!this.editSvc.cellEditingInvalidCommitBlocks()&&e&&this.editSvc.revertSingleCellEdit(e)}return!0}cleanupEditors({rowNode:e}={},t){Ph(this.beans,{persist:!1});const o=this.model.getEditPositions(),s=[];if(e)for(const i of o)i.rowNode!==e&&s.push(i);else for(const i of o)s.push(i);Ih(this.beans,s),Dh(this.beans,t)}setFocusOutOnEditor(e){e.comp?.getCellEditor()?.focusOut?.()}setFocusInOnEditor(e){const t=e.comp,o=t?.getCellEditor();if(o?.focusIn)o.focusIn();else{const o="fullRow"===this.beans.gos.get("editType");e.focusCell(o),e.onEditorAttachedFuncs.push(()=>t?.getCellEditor()?.focusIn?.())}}setupEditors(e){const{event:t,ignoreEventKey:o=!1,startedEdit:s,position:i,cells:n=this.model.getEditPositions()}=e,r=t instanceof KeyboardEvent&&!o&&t.key||void 0;!function(e,t,o,s,i,n){0===t.length&&o?.rowNode&&o?.column&&Rh(e,o,{key:s,event:i,cellStartedEdit:n});const{valueSvc:r,editSvc:l,editModelSvc:a}=e,{rowNode:d,column:c}=o??{};for(const h of t){const{rowNode:t,column:u}=h,g=vh(e,h);if(!g){if(t&&u){const i=r.getValue(u,t,"data"),n=(o?.rowNode===t&&o?.column===u&&s||void 0)??l?.getCellDataValue(h)??r.getValueForDisplay({column:u,node:t,from:"edit"})?.value??i??yh;a?.setEdit(h,{pendingValue:Th(e,n,!1,u),sourceValue:i,state:"editing"})}continue}const p=n&&d===g.rowNode&&g.column===c;Rh(e,{rowNode:d,column:g.column},{key:p?s:null,event:p?i:null,cellStartedEdit:p&&n})}}(this.beans,n,i,r,t,s)}dispatchCellEvent(e,t,o,s){const i=vh(this.beans,e);i&&this.eventSvc.dispatchEvent({...i.createEvent(t??null,o),...s})}dispatchRowEvent(e,t,o){if(o)return;const s=Ch(this.beans,e);s&&this.eventSvc.dispatchEvent(s.createRowEvent(t))}shouldStop(e,t,o="ui"){const s=this.editSvc.isBatchEditing();return!(!s||"api"!==o)||(!s||"ui"!==o&&"edit"!==o)&&("api"===o||(t instanceof KeyboardEvent&&!s?t.key===fs:null))}shouldCancel(e,t,o="ui"){const s=this.editSvc.isBatchEditing();return t instanceof KeyboardEvent&&!s&&t.key===Cs||!(!s||"api"!==o)||"api"===o}setEditMap(e,t){t?.update||this.editSvc.stopEditing(void 0,{cancel:!0,source:"api"});const o=[];if(e.forEach((e,t)=>{e.forEach((e,s)=>{"editing"===e.state&&o.push({...e,rowNode:t,column:s})})}),t?.update&&(e=new Map([...this.model.getEditMap(),...e])),this.model?.setEditMap(e),o.length>0){const e=o.at(-1),t=e.pendingValue===yh?void 0:e.pendingValue;this.start({position:e,event:new KeyboardEvent("keydown",{key:t}),source:"api"});const s=vh(this.beans,e);s&&this.setFocusInOnEditor(s)}}destroy(){this.cleanupEditors(),super.destroy()}},hp={moduleName:"TextEditor",version:mt,userComponents:{agCellEditor:Vg,agTextCellEditor:Vg},dependsOn:[{moduleName:"EditCore",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="editModelSvc",this.edits=/* @__PURE__ */new Map,this.cellValidations=new mh,this.rowValidations=new fh,this.suspendEdits=!1}suspend(e){this.suspendEdits=e}removeEdits({rowNode:e,column:t}){if(!this.hasEdits({rowNode:e})||!e)return;const o=this.getEditRow(e);t?o.delete(t):o.clear(),0===o.size&&this.edits.delete(e)}getEditRow(e,t={}){if(this.suspendEdits)return;if(0===this.edits.size)return;const o=e&&this.edits.get(e);if(o)return o;if(t.checkSiblings){const t=e.pinnedSibling;if(t)return this.getEditRow(t)}}getEditRowDataValue(e,{checkSiblings:t}={}){if(!e||0===this.edits.size)return;const o=this.getEditRow(e),s=e.pinnedSibling,i=t&&s&&this.getEditRow(s);if(!o&&!i)return;const n={...e.data},r=(e,t)=>e.forEach(({editorValue:e,pendingValue:o},s)=>{const i=void 0===e?o:e;i!==yh&&(t[s.getColId()]=i)});return o&&r(o,n),i&&r(i,n),n}getEdit(e={},t){const{rowNode:o,column:s}=e,i=this.edits;if(this.suspendEdits||0===i.size||!o||!s)return;const n=i.get(o)?.get(s);if(n)return n;if(t?.checkSiblings){const e=o.pinnedSibling;if(e)return i.get(e)?.get(s)}}getEditMap(e=!0){if(this.suspendEdits||0===this.edits.size)/* @__PURE__ */return new Map;if(!e)return this.edits;const t=/* @__PURE__ */new Map;return this.edits.forEach((e,o)=>{const s=/* @__PURE__ */new Map;e.forEach(({editorState:e,...t},o)=>s.set(o,{...t})),t.set(o,s)}),t}setEditMap(e){this.edits.clear(),e.forEach((e,t)=>{const o=/* @__PURE__ */new Map;e.forEach((e,t)=>o.set(t,{...e})),this.edits.set(t,o)})}setEdit(e,t){const o=this.edits;0!==o.size&&o.has(e.rowNode)||o.set(e.rowNode,/* @__PURE__ */new Map);const s={editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0},...this.getEdit(e),...t};return this.getEditRow(e.rowNode).set(e.column,s),s}clearEditValue(e){const{rowNode:t,column:o}=e;if(!t)return;const s=e=>{e.editorValue=void 0,e.pendingValue=e.sourceValue,e.state="changed"};if(!o)return void this.getEditRow(t)?.forEach(s);const i=this.getEdit(e);i&&s(i)}getState(e){if(!this.suspendEdits)return this.getEdit(e)?.state}getEditPositions(e){if(this.suspendEdits||0===(e??this.edits).size)return[];const t=[];return(e??this.edits).forEach((e,o)=>{for(const s of e.keys()){const{editorState:i,...n}=e.get(s);t.push({rowNode:o,column:s,...n})}}),t}hasRowEdits(e,t){return!this.suspendEdits&&0!==this.edits.size&&!!this.getEditRow(e,t)}hasEdits(e={},t={}){if(this.suspendEdits)return!1;if(0===this.edits.size)return!1;const{rowNode:o,column:s}=e,{withOpenEditor:i}=t;if(o){const n=this.getEditRow(o,t);return!!n&&(s?i?"editing"===this.getEdit(e)?.state:n.has(s):0!==n.size&&(!i||Array.from(n.values()).some(({state:e})=>"editing"===e)))}return i?this.getEditPositions().some(({state:e})=>"editing"===e):this.edits.size>0}start(e){const t=this.getEditRow(e.rowNode)??/* @__PURE__ */new Map,{rowNode:o,column:s}=e;s&&!t.has(s)&&t.set(s,{editorValue:void 0,pendingValue:yh,sourceValue:this.beans.valueSvc.getValue(s,o,"data"),state:"editing",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}}),this.edits.set(o,t)}stop(e,t,o){if(this.hasEdits(e))if(t){const t=this.getEditRow(e.rowNode)?.get(e.column);!t||t.pendingValue!==yh&&t.pendingValue!==t.sourceValue?t&&o&&(t.editorValue=void 0):this.removeEdits(e)}else this.removeEdits(e)}clear(){for(const e of this.edits.values())e.clear();this.edits.clear()}getCellValidationModel(){return this.cellValidations}getRowValidationModel(){return this.rowValidations}setCellValidationModel(e){this.cellValidations=e}setRowValidationModel(e){this.rowValidations=e}destroy(){super.destroy(),this.clear()}},class extends Oe{constructor(){super(...arguments),this.beanName="editSvc",this.committing=!1,this.batch=!1,this.batchStartDispatched=!1,this.stopping=!1,this.rangeSelectionWhileEditing=0}postConstruct(){const{beans:e}=this;this.model=e.editModelSvc,this.valueSvc=e.valueSvc,this.rangeSvc=e.rangeSvc,this.addManagedPropertyListener("editType",({currentValue:e})=>{this.stopEditing(void 0,sp),this.createStrategy(e)});const t=(e=>()=>{const t=new Set(e.colModel.getCols()),o=e.editModelSvc.getEditMap(!0);(({editModelSvc:e},t,o)=>{for(const s of t)e?.getEditRow(s)?.forEach((t,i)=>!o.has(i)&&e.removeEdits({rowNode:s,column:i}))})(e,(({rowModel:e,pinnedRowModel:t,editModelSvc:o},s)=>{const i=/* @__PURE__ */new Set;e.forEachNode(e=>s.has(e)&&i.add(e)),t?.forEachPinnedRow("top",e=>s.has(e)&&i.add(e)),t?.forEachPinnedRow("bottom",e=>s.has(e)&&i.add(e));for(const n of s)i.has(n)||o.removeEdits({rowNode:n});return i})(e,new Set(o.keys())),t)})(e),o=()=>{const t=this.model.getCellValidationModel().getCellValidationMap().size>0,o=this.model.getRowValidationModel().getRowValidationMap().size>0;return t||o?this.stopEditing(void 0,sp):this.isEditing()&&(this.batch?Ih(e,this.model.getEditPositions()):this.stopEditing(void 0,ip)),!1};this.addManagedEventListeners({columnPinned:t,columnVisible:t,columnRowGroupChanged:t,rowExpansionStateChanged:t,pinnedRowsChanged:t,displayedRowsChanged:t,sortChanged:o,filterChanged:o,cellFocused:this.onCellFocused.bind(this)})}isBatchEditing(){return this.batch}startBatchEditing(){this.batch||(this.batch=!0,this.batchStartDispatched=!1,this.stopEditing(void 0,sp))}stopBatchEditing(e){this.batch&&(e&&this.stopEditing(void 0,e),this.batchStartDispatched&&this.dispatchBatchStopped(/* @__PURE__ */new Map,!1),this.batch=!1,this.batchStartDispatched=!1)}ensureBatchStarted(){this.batch&&!this.batchStartDispatched&&(this.batchStartDispatched=!0,this.dispatchBatchEvent("batchEditingStarted",/* @__PURE__ */new Map))}createStrategy(e){const{beans:t,gos:o,strategy:s}=this,i=dp(o,e);if(s){if(s.beanName===i)return s;this.destroyStrategy()}return this.strategy=this.createOptionalManagedBean(t.registry.createDynamicBean(i,!0))}destroyStrategy(){this.strategy&&(this.strategy.destroy(),this.strategy=this.destroyBean(this.strategy))}shouldStartEditing(e,t,o,s="ui"){const i=function(e,{column:t},o,s,i="ui"){if(o instanceof KeyboardEvent&&(o.key===ms||o.key===fs||o.key===xs||o.key===ps&&s))return!0;if(o?.shiftKey&&0!=e.rangeSvc?.getCellRanges().length)return!1;const n=t?.getColDef(),r=function(e,t){return!0===e.get("suppressClickEdit")?0:!0===e.get("singleClickEdit")||t?.singleClickEdit?1:2}(e.gos,n),l=o?.type;return"click"===l&&1===o?.detail&&1===r||"dblclick"===l&&2===o?.detail&&2===r||"api"===i&&!!s}(this.beans,e,t,o,s);return i&&(this.strategy??(this.strategy=this.createStrategy())),i}shouldStopEditing(e,t,o="ui"){return this.strategy?.shouldStop(e,t,o)??null}shouldCancelEditing(e,t,o="ui"){return this.strategy?.shouldCancel(e,t,o)??null}validateEdit(){return function(e){Nh(e,!0);const t=e.editModelSvc?.getCellValidationModel().getCellValidationMap();if(!t)return null;const o=[];return t.forEach((e,t)=>{e.forEach(({errorMessages:e},s)=>{o.push({column:s,rowIndex:t.rowIndex,rowPinned:t.rowPinned,messages:e??null})})}),o}(this.beans)}isEditing(e,t){return this.model.hasEdits(e??void 0,t??np)}isRowEditing(e,t){return!!e&&this.model.hasRowEdits(e,t)}enableRangeSelectionWhileEditing(){this.beans.rangeSvc&&this.gos.get("cellSelection")&&this.rangeSelectionWhileEditing++}disableRangeSelectionWhileEditing(){this.rangeSelectionWhileEditing=Math.max(0,this.rangeSelectionWhileEditing-1)}isRangeSelectionEnabledWhileEditing(){return this.rangeSelectionWhileEditing>0}startEditing(e,t){const{startedEdit:o=!0,event:s=null,source:i="ui",ignoreEventKey:n=!1,silent:r}=t;if(this.strategy??(this.strategy=this.createStrategy()),!(t.editable??this.isCellEditable(e,"api")))return;const l=vh(this.beans,e);if(l&&!l.comp)return t.editable=void 0,void l.onCompAttachedFuncs.push(()=>this.startEditing(e,t));const a=this.shouldStartEditing(e,s,o,i);!1!==a||"api"===i?(this.batch||!this.shouldStopEditing(e,void 0,i)||t.continueEditing||this.stopEditing(void 0,{source:i}),a&&this.ensureBatchStarted(),this.strategy.start({position:e,event:s,source:i,ignoreEventKey:n,startedEdit:o,silent:r})):this.isEditing(e)&&this.stopEditing()}stopEditing(e,t){const o=this.prepareStopContext(e,t);if(!o)return!1;this.stopping=!0;let s=!1,{edits:i}=o;try{const n=this.processStopRequest(o);return s||(s=n.res),i=n.edits,this.finishStopEditing({...o,edits:i,params:t,position:e,res:s}),s}finally{this.rangeSelectionWhileEditing=0,this.stopping=!1}}prepareStopContext(e,t){const{event:o=null,cancel:s=!1,source:i="ui",forceCancel:n=!1,forceStop:r=!1,commit:l=!1}=t||{};if(tp.has(i)&&this.batch)return e?.rowNode&&e?.column&&this.bulkRefreshCell(e),null;const a=this.committing?ep[i]:i;if(!(this.committing||this.isEditing(e)||this.batch&&this.model.hasEdits(e,np))||!this.strategy||this.stopping)return null;const d=vh(this.beans,e);d&&(d.onEditorAttachedFuncs=[]);const c=!s&&(!!this.shouldStopEditing(e,o,a)||(this.committing||"paste"===i)&&!this.batch)||r,h=s&&!!this.shouldCancelEditing(e,o,a)||n;return{cancel:s,cellCtrl:d,edits:this.model.getEditMap(!0),event:o??null,forceCancel:n,forceStop:r,commit:l,position:e,source:i,treatAsSource:a,willCancel:h,willStop:c}}processStopRequest(e){const{event:t,position:o,willCancel:s,willStop:i}=e;return i||s?this.handleStopOrCancel(e):this.shouldHandleMidBatchKey(t,o)?{res:!1,edits:this.handleMidBatchKey(t,o,e)}:(Ph(this.beans,{persist:!0}),this.batch&&this.strategy?.cleanupEditors(o),{res:!1,edits:this.model.getEditMap()})}handleStopOrCancel(e){const{beans:t,model:o}=this,{cancel:s,commit:i,edits:n,event:r,source:l,willCancel:a,willStop:d}=e;Ph(t,{persist:!this.batch||!a,isCancelling:a||s,isStopping:d});const c=o.getEditMap(),h=a||this.batch&&!i?[]:this.processEdits(c,l);s?this.strategy?.stopCancelled(e.forceCancel):this.strategy?.stopCommitted(r,i),this.clearValidationIfNoOpenEditors();for(const u of h)o.clearEditValue(u);this.bulkRefreshMap(n);for(const u of o.getEditPositions(c)){const e=vh(t,u),o=Sh(u);e?.refreshCell({force:!0,suppressFlash:!o})}return{res:d,edits:c}}shouldHandleMidBatchKey(e,t){return e instanceof KeyboardEvent&&this.batch&&!!this.strategy?.midBatchInputsAllowed(t)&&this.isEditing(t,{withOpenEditor:!0})}handleMidBatchKey(e,t,o){const{beans:s,model:i}=this,{cellCtrl:n,edits:r}=o,{key:l}=e,a=l===fs,d=l===Cs,c=l===ms;if(a||c||d){if(a||c)Ph(s,{persist:!0});else if(d&&n){const{rowNode:e,column:t}=n;if(this.batch&&e&&t){const o={rowNode:e,column:t};Ih(s,[o],{silent:!0}),this.model.stop(o,!0,!0),vh(s,o)?.refreshCell(rp)}else this.revertSingleCellEdit(n)}return this.batch?this.strategy?.cleanupEditors():Ih(s,i.getEditPositions(),{event:e,cancel:d}),e.preventDefault(),this.bulkRefreshMap(r,{suppressFlash:!0}),i.getEditMap()}return r}finishStopEditing({cellCtrl:e,edits:t,params:o,position:s,res:i,commit:n,forceCancel:r,willCancel:l,willStop:a}){const d=this.beans;i&&s&&(this.batch&&!n||this.model.removeEdits(s)),this.navigateAfterEdit(o,e?.cellPosition),Dh(d),this.clearValidationIfNoOpenEditors();const{rowRenderer:c,formula:h}=d;if(l&&c.refreshRows({rowNodes:Array.from(t.keys())}),this.batch){h?h.refreshFormulas(!0):c.refreshRows({suppressFlash:!0,force:!0});const e=a&&n;(e||l&&r)&&this.dispatchBatchStopped(t,e)}}dispatchBatchStopped(e,t){let o;t&&(o=function(e){const t=/* @__PURE__ */new Map;for(const[o,s]of e){const e=/* @__PURE__ */new Map;for(const[t,o]of s)Sh(o)&&e.set(t,o);e.size>0&&t.set(o,e)}return t}(e),o.size>0&&this.ensureBatchStarted()),this.batchStartDispatched&&(this.batchStartDispatched=!1,this.dispatchBatchEvent("batchEditingStopped",o??/* @__PURE__ */new Map))}clearValidationIfNoOpenEditors(){this.model.hasEdits(void 0,{withOpenEditor:!0})||(this.model.getCellValidationModel().clearCellValidationMap(),this.model.getRowValidationModel().clearRowValidationMap())}navigateAfterEdit(e,t){if(!e||!t)return;const{event:o,suppressNavigateAfterEdit:s}=e;if(!(o instanceof KeyboardEvent)||s)return;const{key:i,shiftKey:n}=o,r=this.gos.get("enterNavigatesVerticallyAfterEdit");if(i!==fs||!r)return;const l=n?bs:Ss;this.beans.navigation?.navigateToNextCell(null,l,t,!1)}processEdits(e,t){const o=Array.from(e.keys()),s=this.model.getCellValidationModel().getCellValidationMap().size>0||this.model.getRowValidationModel().getRowValidationMap().size>0,i=[],{changeDetectionSvc:n}=this.beans;n?.beginDeferred();try{for(const n of o){const o=e.get(n);for(const e of o.keys()){const r=o.get(e),l={rowNode:n,column:e};if(Sh(r)&&!s){const o=vh(this.beans,l);this.setNodeDataValue(n,e,r.pendingValue,o,t)||i.push(l)}}}}finally{n?.endDeferred()}return i}setNodeDataValue(e,t,o,s,i="edit"){const n=Jg.has(i)?"edit":i;s&&(s.suppressRefreshCell=!0),this.committing=!0;try{return e.setDataValue(t,o,n)}finally{this.committing=!1,s&&(s.suppressRefreshCell=!1)}}syncEditAfterCommit(e,t){const o=this.model.getEdit(e);o&&"editing"!==o.state&&(t?this.beans.editModelSvc?.setEdit(e,{sourceValue:o.pendingValue}):this.model.clearEditValue(e))}setEditMap(e,t){this.strategy??(this.strategy=this.createStrategy()),this.strategy?.setEditMap(e,t),this.bulkRefreshMap(e);let o=rp;t?.forceRefreshOfEditCellsOnly&&(o={...ap(e),...rp}),this.beans.rowRenderer.refreshCells(o)}dispatchEditValuesChanged({rowNode:e,column:t},o={}){if(!e||!t||!o)return;const{pendingValue:s,sourceValue:i}=o,{rowIndex:n,rowPinned:r,data:l}=e;this.beans.eventSvc.dispatchEvent({type:"cellEditValuesChanged",node:e,rowIndex:n,rowPinned:r,column:t,source:"api",data:l,newValue:s,oldValue:i,value:s,colDef:t.getColDef()})}bulkRefreshCell(e,t){It(this.gos,this.beans.rowModel)&&this.refCell(e,this.model.getEdit(e),t)}bulkRefreshMap(e,t){It(this.gos,this.beans.rowModel)&&e.forEach((e,o)=>{for(const s of e.keys())this.refCell({rowNode:o,column:s},e.get(s),t)})}refCell({rowNode:e,column:t},o,s={}){const{beans:i,gos:n}=this,r=/* @__PURE__ */new Set([e]),l=/* @__PURE__ */new Set,a=e.pinnedSibling;a&&r.add(a);const d=e.sibling;d&&l.add(d);let c=e.parent;for(;c;)c.sibling?.footer&&n.get("groupTotalRow")||!c.parent&&c.sibling&&n.get("grandTotalRow")?l.add(c.sibling):l.add(c),c=c.parent;for(const h of r)this.dispatchEditValuesChanged({rowNode:h,column:t},o);for(const h of r)vh(i,{rowNode:h,column:t})?.refreshCell(s);for(const h of l){const e=vh(i,{rowNode:h,column:t});e&&(e.refreshCell(s),!s.force&&this.batch&&e.editStyleFeature?.applyCellStyles?.())}}stopAllEditing(e=!1,t="ui"){this.isEditing()&&this.stopEditing(void 0,{cancel:e,source:t})}isCellEditable(e,t="ui"){const{gos:o,beans:s}=this,i=e.rowNode;if(i.group&&null==e.column.getColDef().groupRowEditable)if(o.get("treeData")){if(!i.data&&!o.get("enableGroupEdit"))return!1}else if(!o.get("enableGroupEdit"))return!1;const n="fullRow"===dp(o)?function(e,t,o="ui"){const s=$g(e,t);if(s||"ui"===o)return s;const{rowNode:i,column:n}=t;for(const r of e.colModel.getCols())if(r!==n&&$g(e,{rowNode:i,column:r}))return!0;return!1}(s,e,t):$g(s,e);return n&&(this.strategy??(this.strategy=this.createStrategy())),n}cellEditingInvalidCommitBlocks(){return"block"===this.gos.get("invalidEditValueMode")}checkNavWithValidation(e,t,o=!0){if(this.hasValidationErrors(e)){const s=vh(this.beans,e);return this.cellEditingInvalidCommitBlocks()?(t?.preventDefault?.(),o&&(s&&!s.hasBrowserFocus()&&s.focusCell(),s?.comp?.getCellEditor()?.focusIn?.()),"block-stop"):(s&&this.revertSingleCellEdit(s),"revert-continue")}return"continue"}revertSingleCellEdit(e,t=!1){const o=vh(this.beans,e);o?.comp?.getCellEditor()&&(Ih(this.beans,[e],{silent:!0}),this.model.clearEditValue(e),Rh(this.beans,e,{silent:!0}),Nh(this.beans),o?.refreshCell(rp),t&&(o?.focusCell(),o?.comp?.getCellEditor()?.focusIn?.()))}hasValidationErrors(e){Nh(this.beans);const t=vh(this.beans,e);t&&(t.refreshCell(rp),t.rowCtrl.rowEditStyleFeature?.applyRowStyles());let o=!1;return e?.rowNode?(o||(o=this.model.getRowValidationModel().hasRowValidation({rowNode:e.rowNode})),e.column&&(o||(o=this.model.getCellValidationModel().hasCellValidation({rowNode:e.rowNode,column:e.column})))):(o||(o=this.model.getCellValidationModel().getCellValidationMap().size>0),o||(o=this.model.getRowValidationModel().getRowValidationMap().size>0)),o}moveToNextCell(e,t,o,s="ui"){let i;const n=this.isEditing(),r=n&&"block-stop"===this.checkNavWithValidation(void 0,o);return e instanceof $h&&n&&(i=this.strategy?.moveToNextEditingCell(e,t,o,s,r)),null===i||(i=i||!!this.beans.focusSvc.focusedHeader,!1!==i||r||this.stopEditing()),i}getPendingEditValue(e,t,o){if("data"===o)return;if("batch"===o&&!this.batch)return;const s=this.model.getEdit({rowNode:e,column:t},np);if(!s)return;if(this.stopping&&!this.batch&&!s.editorState?.cellStartedEditing)return;if("edit"===o){const e=s.editorValue;if(null!=e&&e!==yh)return e}const i=s.pendingValue;return i!==yh?i:void 0}getCellDataValue(e){const t=this.model.getEdit(e,np);if(t){const e=t.pendingValue;if(e!==yh)return e;const o=t.sourceValue;if(null!=o)return o}return this.valueSvc.getValue(e.column,e.rowNode,"data")}addStopEditingWhenGridLosesFocus(e){!function(e,t,o){const{gos:s,popupSvc:i}=t;if(!s.get("stopEditingWhenCellsLoseFocus"))return;const n=e=>{const n=e.relatedTarget;if(null===ki(n))return void wh(t);let r=o.some(e=>e.contains(n))&&s.isElementInThisInstance(n);r||(r=!!i&&(i.getActivePopups().some(e=>e.contains(n))||i.isElementWithinCustomPopup(n))),r||wh(t)};for(const r of o)e.addManagedElementListeners(r,{focusout:n})}(this,this.beans,e)}createPopupEditorWrapper(e){return new Wg(e)}batchResetToSourceValue(e){if(!this.batch)return!1;const t=this.model.getEdit(e);if(!t)return!1;const{pendingValue:o,sourceValue:s,state:i}=t;return o!==s&&"editing"!==i&&(this.dispatchEditValuesChanged(e,{...t,pendingValue:s}),this.beans.editModelSvc?.removeEdits(e),vh(this.beans,e)?.refreshCell(rp),!0)}setDataValue(e,t,o){try{const s=this.batch,i=this.isEditing(s?void 0:e);if((!i||this.committing)&&!s&&!op.has(o))return;if(!i&&!s&&"paste"===o)return;if("batch"===o&&!s)return;if("edit"===o){if(i&&this.applyEditorValue(e,t))return!0;if(!s)return}if(this.strategy??(this.strategy=this.createStrategy()),"batch"===o||"edit"===o)return this.applyDirectValue(e,t,o);const n=this.beans;let r;if(r=s?"ui":this.committing?o??"api":"api",!o||Xg.has(o))return this.applyDirectValue(e,t,o);const l=this.applyExistingEdit(e,t,o,r);return void 0!==l?l:(Eh(n,e,t,0,void 0,{persist:!0}),this.ensureBatchStarted(),this.stopEditing(e,{source:r,suppressNavigateAfterEdit:!0}),!0)}finally{this.committing=!1}}applyExistingEdit(e,t,o,s){const i=this.model.getEdit(e);if(i)return i.pendingValue!==t&&(i.sourceValue!==t?(Eh(this.beans,e,t,0,void 0,{persist:!0}),this.ensureBatchStarted(),this.stopEditing(e,{source:s,suppressNavigateAfterEdit:!0}),!0):(this.beans.editModelSvc?.removeEdits(e),this.ensureBatchStarted(),this.dispatchEditValuesChanged(e,{...i,pendingValue:t}),!0))}applyEditorValue(e,t){const o=this.beans,s=vh(o,e),i=s?.comp?.getCellEditor();return!(!s||!i||(Eh(o,e,t,0,void 0,{persist:!0}),s.editStyleFeature?.applyCellStyles?.(),"agSetEditValue"in i?(i.agSetEditValue(t),0):i.refresh&&s.editCompDetails?(i.refresh({...s.editCompDetails.params,value:t}),0):(s.hasBrowserFocus()&&s.onEditorAttachedFuncs.push(()=>{const t=vh(this.beans,e);t?.focusCell(!0),t?.comp?.getCellEditor()?.focusIn?.()}),Ih(o,[e],{silent:!0,cancel:!0}),Rh(o,e,{silent:!0}),Nh(o),vh(o,e)?.refreshCell(rp),0)))}applyDirectValue(e,t,o){const s=this.beans;if(this.batch){if("batch"===o&&vh(s,e)?.comp?.getCellEditor()){const{editModelSvc:o,valueSvc:i}=s,{rowNode:n,column:r}=e;void 0===(o?.getEdit(e))?.sourceValue&&o?.setEdit(e,{sourceValue:i.getValue(r,n,"data")}),o?.setEdit(e,{pendingValue:t})}else Eh(s,e,t,0,void 0,{persist:!0}),"batch"!==o&&this.cleanupEditors();return Dh(s),this.ensureBatchStarted(),this.bulkRefreshCell(e),!0}Eh(s,e,t,0,void 0,{persist:!0});const i=vh(s,e),n=this.setNodeDataValue(e.rowNode,e.column,t,i,o);return this.syncEditAfterCommit(e,n),Dh(s),vh(s,e)?.refreshCell(n?lp:rp),n}handleColDefChanged(e){!function(e,t){const o=t.comp?.getCellEditor();if(!o?.refresh)return;const{eventKey:s,cellStartedEdit:i}=t.editCompDetails.params,{column:n}=t,r=Fh(e,t,s,i),l=n.getColDef(),a=ni(e.userCompFactory,l,r);o.refresh(Mh(a.params,s))}(this.beans,e)}destroy(){this.model.clear(),this.destroyStrategy(),super.destroy()}prepDetailsDuringBatch(e,t){const{model:o}=this;if(!this.batch)return;if(!o.hasRowEdits(e.rowNode,np))return;const{rowNode:s}=e,{compDetails:i,valueToDisplay:n}=t;if(i){const{params:e}=i;return e.data=o.getEditRowDataValue(s,np),{compDetails:i}}return{valueToDisplay:n}}cleanupEditors(){this.strategy?.cleanupEditors()}dispatchCellEvent(e,t,o,s){this.strategy?.dispatchCellEvent(e,t,o,s)}dispatchBatchEvent(e,t){this.eventSvc.dispatchEvent(this.createBatchEditEvent(e,t))}createBatchEditEvent(e,t){return Co(this.gos,{type:e,..."batchEditingStopped"===e?{changes:this.toEventChangeList(t)}:{}})}toEventChangeList(e){return this.model.getEditPositions(e).map(e=>({rowIndex:e.rowNode.rowIndex,rowPinned:e.rowNode.rowPinned,columnId:e.column.getColId(),newValue:e.pendingValue,oldValue:e.sourceValue}))}applyBulkEdit({rowNode:e,column:t},o){if(!o||0===o.length)return;const{beans:s,rangeSvc:i,valueSvc:n}=this,{formula:r}=s;Ph(s,{persist:!0});const l=this.model.getEditMap(!0);let a=l.get(e)?.get(t)?.pendingValue,d=!1;this.batch||(this.eventSvc.dispatchEvent({type:"bulkEditingStarted"}),d=!0);const c=r?.isFormula(a)??!1;o.forEach(e=>{const t=e.columns.some(e=>e?.isAllowFormula());if(i?.forEachRowInRange(e,o=>{const i=Fn(s,o);if(void 0===i)return;const d=l.get(i)??/* @__PURE__ */new Map;let h=a;for(const t of e.columns){if(!t)continue;const e=!!c&&t.isAllowFormula();if(this.isCellEditable({rowNode:i,column:t},"api")){const e=n.getValue(t,i,"data",!0);let o=n.parseValue(t,i??null,h,e);Number.isNaN(o)&&(o=null),d.set(t,{editorValue:void 0,pendingValue:o,sourceValue:e,state:"changed",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}})}e&&(h=r?.updateFormulaByOffset({value:h,columnDelta:1}))}d.size>0&&l.set(i,d),c&&t&&(a=r?.updateFormulaByOffset({value:a,rowDelta:1}))}),this.setEditMap(l),this.batch)return this.cleanupEditors(),Dh(s),void this.ensureBatchStarted();this.committing=!0;try{this.stopEditing(void 0,{source:"bulk"})}finally{this.committing=!1,d&&this.eventSvc.dispatchEvent({type:"bulkEditingStopped",changes:this.toEventChangeList(l)})}});const h=vh(s,{rowNode:e,column:t});h&&h.focusCell(!0)}createCellStyleFeature(e){return new Zg(e,this.beans)}createRowStyleFeature(e){return new Qg(e,this.beans)}setEditingCells(e,t){const{beans:o}=this,{colModel:s,valueSvc:i}=o,n=/* @__PURE__ */new Map;for(let{colId:r,column:l,colKey:a,rowIndex:d,rowPinned:c,newValue:h,state:u}of e){const e=r?s.getCol(r):a?s.getCol(a):l;if(!e)continue;const g=Fn(o,{rowIndex:d,rowPinned:c});if(!g)continue;const p=i.getValue(e,g,"data",!0);if(!t?.forceRefreshOfEditCellsOnly&&!Sh({pendingValue:h,sourceValue:p})&&"editing"!==u)continue;let m=n.get(g);m||(m=/* @__PURE__ */new Map,n.set(g,m)),void 0===h&&(h=yh),m.set(e,{editorValue:void 0,pendingValue:h,sourceValue:p,state:u??"changed",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}})}this.setEditMap(n,t)}onCellFocused(e){const t=vh(this.beans,e);if(!t||!this.isEditing(t,np))return;const o=this.model.getEdit(t);if(!o||!Sh(o))return;const s=this.getLocaleTextFunc()("ariaPendingChange","Pending Change");this.beans.ariaAnnounce?.announceValue(s,"pendingChange")}allowedFocusTargetOnValidation(e){return vh(this.beans,e)}}],apiFunctions:{getEditingCells:function(e){const t=e.editModelSvc?.getEditMap(),o=[];return t?.forEach((e,t)=>{const{rowIndex:s,rowPinned:i}=t;e.forEach((e,t)=>{const{editorValue:n,pendingValue:r,sourceValue:l,state:a}=e,d=Sh(e);let c=n??r;c===yh&&(c=void 0);const h={newValue:c,oldValue:l,state:a,column:t,colId:t.getColId(),colKey:t.getColId(),rowIndex:s,rowPinned:i},u="editing"===a;(u||!u&&d)&&o.push(h)})}),o},getEditRowValues:function(e,t){return e.editModelSvc?.getEditRowDataValue(t,{checkSiblings:!0})},getCellEditorInstances:(e,t={})=>{const o=e.rowRenderer.getCellCtrls(t.rowNodes,t.columns),s=new Array(o.length);let i=0;for(let n=0,r=o.length;ne.ctrlsSvc.getScrollFeature().ensureIndexVisible(t,void 0),"ensureVisible")}(e,i),function(e,t,o="auto"){e.frameworkOverrides.wrapIncoming(()=>e.ctrlsSvc.getScrollFeature().ensureColumnVisible(t,o),"ensureVisible")}(e,s),r?.startEditing({rowNode:d,column:a},{event:o?new KeyboardEvent("keydown",{key:o}):void 0,source:"api",editable:!0})):Dt(290,{rowIndex:i,rowPinned:n})},stopEditing:function(e,t=!1){const{editSvc:o}=e;if(o?.isBatchEditing()){if(t)for(const t of e.editModelSvc?.getEditPositions()??[])"editing"===t.state&&o.revertSingleCellEdit(t);else Ph(e,{persist:!0});Ih(e,void 0,{cancel:t})}else o?.stopEditing(void 0,{cancel:t,source:"edit",forceStop:!t,forceCancel:t})},isEditing:function(e,t){const o=vh(e,t);return!!e.editSvc?.isEditing(o)},validateEdit:function(e){return e.editSvc?.validateEdit()||null}},dynamicBeans:{singleCell:class extends cp{constructor(){super(...arguments),this.beanName="singleCell"}shouldStop(e,t,o="ui"){const s=super.shouldStop(e,t,o);if(null!==s)return s;const i=e?.rowNode,n=e?.column,r=this.rowNode,l=this.column;return r&&l||!i||!n?r!==i||l!==n||!r&&!l&&this.model.hasEdits(void 0,{withOpenEditor:!0}):null}midBatchInputsAllowed(e){return this.model.hasEdits(e)}start(e){const{position:t,startedEdit:o,event:s,ignoreEventKey:i}=e;this.rowNode===t.rowNode&&this.column===t.column||super.cleanupEditors(),this.rowNode=t.rowNode,this.column=t.column,this.model.start(t),this.setupEditors({cells:[t],position:t,startedEdit:o,event:s,ignoreEventKey:i})}dispatchRowEvent(e,t,o){}processValidationResults(e){return e.fail.length>0&&this.editSvc.cellEditingInvalidCommitBlocks()?{destroy:[],keep:e.all}:{destroy:e.all,keep:[]}}stopCancelled(e){return super.stopCancelled(e),this.clearPosition()}stopCommitted(e,t){return super.stopCommitted(e,t),this.clearPosition()}clearPosition(){return this.rowNode=void 0,this.column=void 0,!0}onCellFocusChanged(e){const{colModel:t,editSvc:o}=this.beans,{rowIndex:s,column:i,rowPinned:n}=e,r=Fn(this.beans,{rowIndex:s,rowPinned:n}),l=bh(i),a=t.getCol(l),d=e.previousParams;if(d){const e=bh(d.column);if(d?.rowIndex===s&&e===l&&d?.rowPinned===n)return}"cellFocused"==e.type&&(o?.isRangeSelectionEnabledWhileEditing()||o?.isEditing({rowNode:r,column:a},{withOpenEditor:!0}))||super.onCellFocusChanged(e)}moveToNextEditingCell(e,t,o,s="ui",i=!1){const n=this.beans.focusSvc.getFocusedCell();n&&(e=Dn(this.beans,n)??e);const r=e.cellPosition;let l;const a="fullRow"===this.beans.gos.get("editType");a&&this.model.suspend(!0),i||(e.eGui.focus(),this.editSvc?.stopEditing(e,{source:this.editSvc?.isBatchEditing()?"ui":"api",event:o}));try{l=this.beans.navigation?.findNextCellToFocusOn(r,{backwards:t,startEditing:!0})}finally{a&&this.model.suspend(!1)}if(!1===l)return null;if(null==l)return!1;const d=l.cellPosition,c=e.isCellEditable(),h=l.isCellEditable(),u=d&&r.rowIndex===d.rowIndex&&r.rowPinned===d.rowPinned;c&&!i&&this.setFocusOutOnEditor(e);const g=this.gos.get("suppressStartEditOnTab");let p=!1;if(u||i||(super.cleanupEditors(l,!0),g?l.focusCell(!0,o):(p=!0,this.editSvc.startEditing(l,{startedEdit:!0,event:o,source:s,ignoreEventKey:!0,editable:h}))),h&&!i){if(l.focusCell(!1,o),g)l.focusCell(!0,o);else if(!l.comp?.getCellEditor()){if(!p){const e=this.editSvc?.isEditing(l,{withOpenEditor:!0});Rh(this.beans,l,{event:o,cellStartedEdit:!0,silent:e})}this.setFocusInOnEditor(l),this.cleanupEditors(l)}}else h&&i&&this.setFocusInOnEditor(l),l.focusCell(!0,o);return e.rowCtrl?.refreshRow({suppressFlash:!0,force:!0}),!0}destroy(){super.destroy(),this.rowNode=void 0,this.column=void 0}},fullRow:class extends cp{constructor(){super(...arguments),this.beanName="fullRow",this.startedRows=/* @__PURE__ */new Set}shouldStop(e,t,o="ui"){const{rowNode:s,beans:i}=this,{rowNode:n}=e||{};if(!Ch(i,{rowNode:s}))return!0;const r=super.shouldStop({rowNode:s},t,o);return null!==r?r:!!s&&n!==s}midBatchInputsAllowed({rowNode:e}){return!!e&&this.model.hasEdits({rowNode:e})}clearEdits(e){this.model.clearEditValue(e)}start(e){const{position:t,silent:o,startedEdit:s,event:i,ignoreEventKey:n}=e,{rowNode:r}=t,{beans:l,model:a,startedRows:d}=this;this.rowNode!==r&&super.cleanupEditors(t);const c=l.visibleCols.allCols,h=[],u=[];for(const g of c)g.isCellEditable(r)&&u.push(g);if(0!=u.length){d.has(r)||(this.dispatchRowEvent({rowNode:r},"rowEditingStarted",o),d.add(r));for(const e of u){const t={rowNode:r,column:e};h.push(t),a.start(t)}this.rowNode=r,this.setupEditors({cells:h,position:t,startedEdit:s,event:i,ignoreEventKey:n})}}processValidationResults(e){return e.fail.length>0&&this.editSvc.cellEditingInvalidCommitBlocks()?{destroy:[],keep:e.all}:{destroy:e.all,keep:[]}}stopCancelled(e){const{rowNode:t,model:o}=this;return!(t&&!o.hasRowEdits(t)||(super.stopCancelled(e),this.cleanupEditors({rowNode:t},!0),this.rowNode=void 0,0))}stopCommitted(e,t){const{rowNode:o,beans:s,model:i,editSvc:n}=this;if(o&&!i.hasRowEdits(o))return!1;const r=[];if(i.getEditMap().forEach((e,t)=>{if(e&&0!==e.size)for(const o of e.values())if(Sh(o)){r.push(t);break}}),Nh(s),"block-stop"===n.checkNavWithValidation({rowNode:o}))return!1;if(super.stopCommitted(e,t),t||!n.isBatchEditing())for(const l of r)this.dispatchRowEvent({rowNode:l},"rowValueChanged");return this.cleanupEditors({rowNode:o},!0),this.rowNode=void 0,!0}onCellFocusChanged(e){const{rowIndex:t}=e,o=e.previousParams;if(o?.rowIndex===t||e.sourceEvent instanceof KeyboardEvent)return;const{beans:s,gos:i,model:n}=this;if(s.editSvc?.isRangeSelectionEnabledWhileEditing())return;const r=vh(s,o);"block"===i.get("invalidEditValueMode")&&r&&(n.getCellValidationModel().getCellValidation(r)||n.getRowValidationModel().getRowValidation(r))||super.onCellFocusChanged(e)}cleanupEditors(e={},t){super.cleanupEditors(e,t);const{startedRows:o}=this;for(const s of o)this.dispatchRowEvent({rowNode:s},"rowEditingStopped"),this.destroyEditorsForRow(s);o.clear()}destroyEditorsForRow(e){const t=Ch(this.beans,{rowNode:e});if(!t)return;const o={};for(const s of t.getAllCellCtrls())s.comp?.getCellEditor()&&Ah(this.beans,s,o,s)}moveToNextEditingCell(e,t,o,s="ui",i=!1){const{beans:n,model:r,gos:l,editSvc:a}=this,d=e.cellPosition;let c;r.suspend(!0);try{c=n.navigation?.findNextCellToFocusOn(d,{backwards:t,startEditing:!0,skipToNextEditableCell:!1})}finally{r.suspend(!1)}if(!1===c)return null;if(null==c)return!1;const h=c.cellPosition,u=e.isCellEditable(),g=c.isCellEditable(),p=h&&d.rowIndex===h.rowIndex&&d.rowPinned===h.rowPinned;u&&this.setFocusOutOnEditor(e),this.restoreEditors();const m=l.get("suppressStartEditOnTab");return g&&!i?m?c.focusCell(!0,o):(c.comp?.getCellEditor()||Rh(n,c,{event:o,cellStartedEdit:!0}),this.setFocusInOnEditor(c),c.focusCell(!1,o)):(g&&i&&this.setFocusInOnEditor(c),c.focusCell(!0,o)),p||i||(a?.stopEditing({rowNode:e.rowNode},{event:o,forceStop:!0}),a?.isRowEditing(e.rowNode,{withOpenEditor:!0})&&this.cleanupEditors(c,!0),m?c.focusCell(!0,o):a.startEditing(c,{startedEdit:!0,event:o,source:s,ignoreEventKey:!0,editable:g||void 0})),e.rowCtrl?.refreshRow({suppressFlash:!0,force:!0}),!0}restoreEditors(){const{beans:e,model:t}=this;t.getEditMap().forEach((t,o)=>t.forEach(({state:t},s)=>{if("editing"!==t)return;const i=vh(e,{rowNode:o,column:s});i&&!i.comp?.getCellEditor()&&Rh(e,i,{silent:!0})}))}destroy(){super.destroy(),this.rowNode=void 0,this.startedRows.clear()}}},dependsOn:[Tg,Gg],css:[".ag-cell-inline-editing{border:var(--ag-cell-editing-border)!important;border-radius:var(--ag-border-radius);box-shadow:var(--ag-cell-editing-shadow);padding:0;z-index:1;.ag-cell-edit-wrapper,.ag-cell-editor,.ag-cell-wrapper,:where(.ag-cell-editor) .ag-input-field-input,:where(.ag-cell-editor) .ag-wrapper{height:100%;line-height:normal;min-height:100%;width:100%}&.ag-cell-editing-error{border-color:var(--ag-invalid-color)!important}}:where(.ag-popup-editor) .ag-large-text{background-color:var(--ag-background-color);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dropdown-shadow);padding:0}.ag-large-text-input{display:block;height:auto;padding:var(--ag-cell-horizontal-padding)}:where(.ag-rtl .ag-large-text-input) .ag-text-area-input{resize:none}:where(.ag-ltr) .ag-checkbox-edit{padding-left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-checkbox-edit{padding-right:var(--ag-cell-horizontal-padding)}:where(.ag-row.ag-row-editing-invalid .ag-cell-inline-editing){opacity:.8}.ag-popup-editor{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}"]}]},up={agSetColumnFilter:"agSetColumnFilterHandler",agMultiColumnFilter:"agMultiColumnFilterHandler",agGroupColumnFilter:"agGroupColumnFilterHandler",agNumberColumnFilter:"agNumberColumnFilterHandler",agBigIntColumnFilter:"agBigIntColumnFilterHandler",agDateColumnFilter:"agDateColumnFilterHandler",agTextColumnFilter:"agTextColumnFilterHandler"},gp=new Set(Object.values(up));function pp(e,t){const o=e.filterUi;if(!o)return null;if(o.created)return o.promise;if(t)return null;const s=o.create(o.refreshed),i=o;return i.created=!0,i.promise=s,s}function mp(e,t,o,s,i,n,r){return t.refresh?.({...o,model:s,source:n,additionalEventAttributes:r}),e().then(e=>{if(e){const{filter:t,filterParams:o}=e;fp(t,o,s,i,n,r)}})}function fp(e,t,o,s,i,n){e?.refresh?.({...t,model:o,state:s,source:i,additionalEventAttributes:n})}function Cp(e,t,o,s){const i=e();i?.created&&i.promise.then(e=>{const n=t();fp(e,i.filterParams,n,o()??{model:n},"ui",s)})}function vp(e){let t,o,s=!1;const{action:i,filterParams:n,getFilterUi:r,getModel:l,getState:a,updateState:d,updateModel:c,processModelToApply:h}=e;switch(i){case"apply":{const e=a();o=e?.model??null,h&&(o=h(o)),t={state:e?.state,model:o},s=!0;break}case"clear":t={model:null},n?.buttons?.includes("apply")||(s=!0,o=null);break;case"reset":t={model:null},s=!0,o=null;break;case"cancel":t={model:l()}}d(t),s?c(o):Cp(r,l,a,{fromAction:i})}function wp(e,t){return e[t]??null}function bp(e,t,o){e.menuVisible!==t&&(e.menuVisible=t,e.dispatchColEvent("menuVisibleChanged",o))}function yp(e){const{enterpriseMenuFactory:t,filterMenuFactory:o,gos:s}=e;return t&&mo(s)?t:o}var Sp={moduleName:"SharedMenu",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="menuSvc"}postConstruct(){const{enterpriseMenuFactory:e,filterMenuFactory:t}=this.beans;this.activeMenuFactory=e??t}showColumnMenu(e){this.showColumnMenuCommon(this.activeMenuFactory,e,"columnMenu")}showFilterMenu(e){this.showColumnMenuCommon(yp(this.beans),e,e.containerType,!0)}showHeaderContextMenu(e,t,o){this.activeMenuFactory?.showMenuAfterContextMenuEvent(e,t,o)}hidePopupMenu(){this.beans.contextMenuSvc?.hideActiveMenu(),this.activeMenuFactory?.hideActiveMenu()}hideFilterMenu(){yp(this.beans)?.hideActiveMenu()}isColumnMenuInHeaderEnabled(e){const{suppressHeaderMenuButton:t}=e.getColDef();return!t&&!!this.activeMenuFactory?.isMenuEnabled(e)&&(mo(this.gos)||!!this.beans.enterpriseMenuFactory)}isFilterMenuInHeaderEnabled(e){return!e.getColDef().suppressHeaderFilterButton&&!!this.beans.filterManager?.isFilterAllowed(e)}isHeaderContextMenuEnabled(e){return!(e&&So(e)?e.getColDef():e?.getColGroupDef())?.suppressHeaderContextMenu&&"new"===this.gos.get("columnMenu")}isHeaderMenuButtonAlwaysShowEnabled(){return this.isSuppressMenuHide()}isHeaderMenuButtonEnabled(){const e=!this.isSuppressMenuHide();return!(Ai()&&e)}isHeaderFilterButtonEnabled(e){return this.isFilterMenuInHeaderEnabled(e)&&!mo(this.gos)&&!this.isFloatingFilterButtonDisplayed(e)}isFilterMenuItemEnabled(e){return!(!this.beans.filterManager?.isFilterAllowed(e)||mo(this.gos)||this.isFilterMenuInHeaderEnabled(e)||this.isFloatingFilterButtonDisplayed(e))}isFloatingFilterButtonEnabled(e){return!e.getColDef().suppressFloatingFilterButton}isFloatingFilterButtonDisplayed(e){return!!e.getColDef().floatingFilter&&this.isFloatingFilterButtonEnabled(e)}isSuppressMenuHide(){const e=this.gos,t=e.get("suppressMenuHide");return mo(e)?!!e.exists("suppressMenuHide")&&t:t}showColumnMenuCommon(e,t,o,s){const{positionBy:i,onClosedCallback:n}=t,r=t.column;if("button"===i){const{buttonElement:i}=t;e?.showMenuAfterButtonClick(r,i,o,n,s)}else if("mouse"===i){const{mouseEvent:i}=t;e?.showMenuAfterMouseEvent(r,i,o,n,s)}else if(r){const t=this.beans,i=t.ctrlsSvc;i.getScrollFeature().ensureColumnVisible(r,"auto"),be(t,()=>{const t=i.getHeaderRowContainerCtrl(r.getPinned())?.getHeaderCtrlForColumn(r);t&&e?.showMenuAfterButtonClick(r,t.getAnchorElementForMenu(s),o,n,s)})}}}],apiFunctions:{showColumnMenu:function(e,t){const o=e.colModel.getCol(t);o?e.menuSvc?.showColumnMenu({column:o,positionBy:"auto"}):Mt(12,{colKey:t})},hidePopupMenu:function(e){e.menuSvc?.hidePopupMenu()}}},Rp={january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},xp=["january","february","march","april","may","june","july","august","september","october","november","december"];function Fp(e,t){return null==e?-1:null==t?1:Number.parseFloat(e)-Number.parseFloat(t)}function Dp(e,t){if(null==e)return-1;if(null==t)return 1;const o=Ka(e),s=Ka(t);return null!=o&&null!=s?o===s?0:o>s?1:-1:String(e).localeCompare(String(t))}function Mp(e){return e instanceof Date&&!isNaN(e.getTime())}var Pp={number:()=>{},bigint:()=>{},boolean:()=>({maxNumConditions:1,debounceMs:0,filterOptions:["empty",{displayKey:"true",displayName:"True",predicate:(e,t)=>t,numberOfInputs:0},{displayKey:"false",displayName:"False",predicate:(e,t)=>!1===t,numberOfInputs:0}]}),date:()=>({isValidDate:Mp}),dateString:({dataTypeDefinition:e})=>({comparator:(t,o)=>{const s=e.dateParser(o);return null==o||st?1:0},isValidDate:t=>"string"==typeof t&&Mp(e.dateParser(t))}),dateTime:e=>Pp.date(e),dateTimeString:e=>Pp.dateString(e),object:()=>{},text:()=>{}},Ep={number:()=>({comparator:Fp}),bigint:()=>({comparator:Dp}),boolean:({t:e})=>({valueFormatter:t=>l(t.value)?e(String(t.value),t.value?"True":"False"):e("blanks","(Blanks)")}),date:({formatValue:e,t:t})=>({valueFormatter:o=>{const s=e(o);return l(s)?s:t("blanks","(Blanks)")},treeList:!0,treeListFormatter:(e,o)=>{if("NaN"===e)return t("invalidDate","Invalid Date");if(1===o&&null!=e){const o=xp[Number(e)-1];return t(o,Rp[o])}return e??t("blanks","(Blanks)")},treeListPathGetter:e=>Qa(e,!1)}),dateString:({formatValue:e,dataTypeDefinition:t,t:o})=>({valueFormatter:t=>{const s=e(t);return l(s)?s:o("blanks","(Blanks)")},treeList:!0,treeListPathGetter:e=>Qa(t.dateParser(e??void 0),!1),treeListFormatter:(e,t)=>{if(1===t&&null!=e){const t=xp[Number(e)-1];return o(t,Rp[t])}return e??o("blanks","(Blanks)")}}),dateTime:e=>{const t=Ep.date(e);return t.treeListPathGetter=Qa,t},dateTimeString(e){const t=e.dataTypeDefinition.dateParser,o=Ep.dateString(e);return o.treeListPathGetter=e=>Qa(t(e??void 0)),o},object:({formatValue:e,t:t})=>({valueFormatter:o=>{const s=e(o);return l(s)?s:t("blanks","(Blanks)")}}),text:()=>{}};function Tp(e,t,o,s,i,n,r){let l=t,a=o;const d="agSetColumnFilter"===e;a||"object"!==s.baseDataType||d||(a=({column:e,node:t})=>i({column:e,node:t,value:n.valueSvc.getValue(e,t,"data")}));const c=(0,(d?Ep:Pp)[s.baseDataType])({dataTypeDefinition:s,formatValue:i,t:r});return l="object"==typeof t?{...c,...t}:c,{filterParams:l,filterValueGetter:a}}var Ip={boolean:"agTextColumnFilter",date:"agDateColumnFilter",dateString:"agDateColumnFilter",dateTime:"agDateColumnFilter",dateTimeString:"agDateColumnFilter",bigint:"agBigIntColumnFilter",number:"agNumberColumnFilter",object:"agTextColumnFilter",text:"agTextColumnFilter"},Ap={boolean:"agTextColumnFloatingFilter",date:"agDateColumnFloatingFilter",dateString:"agDateColumnFloatingFilter",dateTime:"agDateColumnFloatingFilter",dateTimeString:"agDateColumnFloatingFilter",bigint:"agBigIntColumnFloatingFilter",number:"agNumberColumnFloatingFilter",object:"agTextColumnFloatingFilter",text:"agTextColumnFloatingFilter"};function kp(e,t=!1){return(t?Ap:Ip)[e??"text"]}function Lp(e,t,o){if(null==t)return null;let s=null;const{compName:i,jsComp:n,fwComp:r}=ai(e,t);return i?s={agSetColumnFilter:"agSetColumnFloatingFilter",agMultiColumnFilter:"agMultiColumnFloatingFilter",agGroupColumnFilter:"agGroupColumnFloatingFilter",agNumberColumnFilter:"agNumberColumnFloatingFilter",agBigIntColumnFilter:"agBigIntColumnFloatingFilter",agDateColumnFilter:"agDateColumnFloatingFilter",agTextColumnFilter:"agTextColumnFloatingFilter"}[i]:null==n&&null==r&&!0===t.filter&&(s=o()),s}var Gp={filterHandler:()=>({doesFilterPass:()=>!0})};function Np(e,t,o,s){if(!e.isPrimary())return!0;const i=!o;return!(!e.isValueActive()||!i)&&(!!t||s)}var Bp=class extends Pi{constructor(e){const{className:t="ag-filter-apply-panel"}=e??{};super(function(e){return{tag:"div",cls:e}}(t)),this.listeners=[],this.validationMessage=null,this.className=t}updateButtons(e,t){const o=this.buttons;if(this.buttons=e,o===e)return;const s=this.getGui();let i;se(s),this.destroyListeners();const n=document.createDocumentFragment(),r=this.className,l=({type:e,label:o})=>{const s=t=>{this.dispatchLocalEvent({type:e,event:t})};["apply","clear","reset","cancel"].includes(e)||Dt(75);const l="apply"===e,a=Cl({tag:"button",attrs:{type:l&&t?"submit":"button"},ref:`${e}FilterButton`,cls:`ag-button ag-standard-button ${r}-button${l?" "+r+"-apply-button":""}`,children:o});this.activateTabIndex([a]),l&&(i=a);const d=e=>{e.key===fs&&(e.preventDefault(),s(e))},c=this.listeners;a.addEventListener("click",s),c.push(()=>a.removeEventListener("click",s)),a.addEventListener("keydown",d),c.push(()=>a.removeEventListener("keydown",d)),n.append(a)};for(const d of e)l(d);this.eApply=i;const a=this.validationTooltipFeature;i&&!a?this.validationTooltipFeature=this.createOptionalManagedBean(this.beans.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.eApply,getLocation:()=>"advancedFilter",getTooltipShowDelayOverride:()=>1e3})):!i&&a&&(this.validationTooltipFeature=this.destroyBean(a)),s.append(n)}getApplyButton(){return this.eApply}updateValidity(e,t=null){const o=this.eApply;o&&(_(o,!e),this.validationMessage=t,this.validationTooltipFeature?.setTooltipAndRefresh(this.validationMessage))}destroyListeners(){for(const e of this.listeners)e();this.listeners=[]}destroy(){this.destroyListeners(),super.destroy()}},Hp=class extends Pi{constructor(e,t,o,s,i,n){super(),this.column=e,this.wrapper=t,this.eventParent=o,this.updateModel=s,this.isGlobalButtons=i,this.enableGlobalButtonCheck=n,this.hidePopup=null,this.applyActive=!1}postConstruct(){const{comp:e,params:t}=this.wrapper,o=t,s=o.useForm,i=s?"form":"div";this.setTemplate({tag:i,cls:"ag-filter-wrapper"}),s&&this.addManagedElementListeners(this.getGui(),{submit:e=>{e?.preventDefault()},keydown:this.handleKeyDown.bind(this)}),this.appendChild(e.getGui()),this.params=o,this.resetButtonsPanel(o),this.addManagedListeners(this.eventParent,{filterParamsChanged:({column:e,params:t})=>{e===this.column&&this.resetButtonsPanel(t,this.params)},filterStateChanged:({column:e,state:t})=>{e===this.column&&this.eButtons?.updateValidity(!1!==t.valid)},filterAction:({column:e,action:t,event:o})=>{e===this.column&&this.afterAction(t,o)},...this.enableGlobalButtonCheck?{filterGlobalButtons:({isGlobal:e})=>{if(e!==this.isGlobalButtons){this.isGlobalButtons=e;const t=this.params;this.resetButtonsPanel(t,t,!0)}}}:void 0})}afterGuiAttached(e){e&&(this.hidePopup=e.hidePopup)}resetButtonsPanel(e,t,o){const{buttons:s,readOnly:i}=t??{},{buttons:n,readOnly:r,useForm:l}=e;if(!o&&i===r&&c(s,n))return;const a=n&&n.length>0&&!e.readOnly&&!this.isGlobalButtons;let d=this.eButtons;if(a){const e=n.map(e=>({type:e,label:Ji(this,`${e}Filter`)}));if(this.applyActive=en(this.params),!d){d=this.createBean(new Bp),this.appendChild(d.getGui());const e=this.column,t=t=>({event:o})=>{this.updateModel(e,t,{fromButtons:!0}),this.afterAction(t,o)};d?.addManagedListeners(d,{apply:t("apply"),clear:t("clear"),reset:t("reset"),cancel:t("cancel")}),this.eButtons=d}d.updateButtons(e,l)}else this.applyActive=!1,d&&(ie(d.getGui()),this.eButtons=this.destroyBean(d))}close(e){const t=this.hidePopup;if(!t)return;const o=e,s=o?.key;let i;s!==fs&&s!==vs||(i={keyboardEvent:o}),t(i),this.hidePopup=null}afterAction(e,t){const{params:o,applyActive:s}=this,i=o?.closeOnApply;switch(e){case"apply":t?.preventDefault(),i&&s&&this.close(t);break;case"reset":i&&s&&this.close();break;case"cancel":i&&this.close(t)}}handleKeyDown(e){!e.defaultPrevented&&e.key===fs&&this.applyActive&&(this.updateModel(this.column,"apply",{fromButtons:!0}),this.afterAction("apply",e))}destroy(){this.hidePopup=null,this.eButtons=this.destroyBean(this.eButtons)}},Op={tag:"div",cls:"ag-filter"},Vp=class extends Pi{constructor(e,t,o){super(Op),this.column=e,this.source=t,this.enableGlobalButtonCheck=o,this.wrapper=null}postConstruct(){this.beans.colFilter?.activeFilterComps.add(this),this.createFilter(!0),this.addManagedEventListeners({filterDestroyed:this.onFilterDestroyed.bind(this)})}hasFilter(){return null!=this.wrapper}getFilter(){return this.wrapper?.then(e=>e.comp)??null}afterInit(){return this.wrapper?.then(()=>{})??Ns.resolve()}afterGuiAttached(e){this.afterGuiAttachedParams=e,this.wrapper?.then(t=>{this.comp?.afterGuiAttached(e),t?.comp?.afterGuiAttached?.(e)})}afterGuiDetached(){this.wrapper?.then(e=>{e?.comp?.afterGuiDetached?.()})}createFilter(e){const{column:t,source:o,beans:{colFilter:s}}=this,i=s.getFilterUiForDisplay(t)??null;this.wrapper=i,i?.then(i=>{if(!i)return;const{isHandler:n,comp:r}=i;let a;if(n){const e=!!this.enableGlobalButtonCheck,o=this.createBean(new Hp(t,i,s,s.updateModel.bind(s),e&&s.isGlobalButtons,e));this.comp=o,a=o.getGui()}else this.registerCSS(":where(.ag-menu:not(.ag-tabs) .ag-filter)>:not(.ag-filter-wrapper){min-width:180px}"),a=r.getGui(),l(a)||Dt(69,{guiFromFilter:a});this.appendChild(a),e?this.eventSvc.dispatchEvent({type:"filterOpened",column:t,source:o,eGui:this.getGui()}):r.afterGuiAttached?.(this.afterGuiAttachedParams)})}onFilterDestroyed(e){const{source:t,column:o}=e;"api"!==t&&"paramsUpdated"!==t||o.getId()!==this.column.getId()||!this.beans.colModel.getColDefCol(this.column)||(se(this.getGui()),this.comp=this.destroyBean(this.comp),this.createFilter())}destroy(){this.beans.colFilter?.activeFilterComps.delete(this),this.eventSvc.dispatchEvent({type:"filterClosed",column:this.column}),this.wrapper=null,this.comp=this.destroyBean(this.comp),this.afterGuiAttachedParams=void 0,super.destroy()}},zp={moduleName:"FilterCore",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="filterManager",this.advFilterModelUpdateQueue=[]}wireBeans(e){this.quickFilter=e.quickFilter,this.advancedFilter=e.advancedFilter,this.colFilter=e.colFilter}postConstruct(){const e=this.refreshFiltersForAggregations.bind(this),t=this.updateAdvFilterColumns.bind(this);this.addManagedEventListeners({columnValueChanged:e,columnPivotChanged:e,columnPivotModeChanged:e,newColumnsLoaded:t,columnVisible:t,advancedFilterEnabledChanged:({enabled:e})=>this.onAdvFilterEnabledChanged(e),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.externalFilterPresent=this.isExternalFilterPresentCallback(),this.addManagedPropertyListeners(["isExternalFilterPresent","doesExternalFilterPass"],()=>{this.onFilterChanged({source:"api"})}),this.updateAggFiltering(),this.addManagedPropertyListener("groupAggFiltering",()=>{this.updateAggFiltering(),this.onFilterChanged()}),this.quickFilter&&this.addManagedListeners(this.quickFilter,{quickFilterChanged:()=>this.onFilterChanged({source:"quickFilter"})});const{gos:o}=this;this.alwaysPassFilter=o.get("alwaysPassFilter"),this.addManagedPropertyListener("alwaysPassFilter",()=>{this.alwaysPassFilter=o.get("alwaysPassFilter"),this.onFilterChanged({source:"api"})})}isExternalFilterPresentCallback(){const e=this.gos.getCallback("isExternalFilterPresent");return"function"==typeof e&&e({})}doesExternalFilterPass(e){const t=this.gos.get("doesExternalFilterPass");return"function"==typeof t&&t(e)}setFilterState(e,t,o="api"){this.isAdvFilterEnabled()||this.colFilter?.setState(e,t,o)}setFilterModel(e,t="api",o){this.isAdvFilterEnabled()?o||this.warnAdvFilters():this.colFilter?.setModel(e,t)}getFilterModel(){return this.colFilter?.getModel()??{}}getFilterState(){return this.colFilter?.getState()}isColumnFilterPresent(){return!!this.colFilter?.isFilterPresent()}isAggregateFilterPresent(){return!!this.colFilter?.isAggFilterPresent()}isChildFilterPresent(){return this.isColumnFilterPresent()||this.isQuickFilterPresent()||this.externalFilterPresent||this.isAdvFilterPresent()}isAnyFilterPresent(){return this.isChildFilterPresent()||this.isAggregateFilterPresent()}isAdvFilterPresent(){return this.isAdvFilterEnabled()&&this.advancedFilter.isFilterPresent()}onAdvFilterEnabledChanged(e){e?this.colFilter?.disableFilters()&&this.onFilterChanged({source:"advancedFilter"}):this.advancedFilter?.isFilterPresent()&&(this.advancedFilter.setModel(null),this.onFilterChanged({source:"advancedFilter"}))}isAdvFilterEnabled(){return!!this.advancedFilter?.isEnabled()}isAdvFilterHeaderActive(){return this.isAdvFilterEnabled()&&this.advancedFilter.isHeaderActive()}refreshFiltersForAggregations(){$t(this.gos)&&this.isAnyFilterPresent()&&this.onFilterChanged()}onFilterChanged(e={}){const{source:t,additionalEventAttributes:o,columns:s=[]}=e;this.externalFilterPresent=this.isExternalFilterPresentCallback(),(this.colFilter?this.colFilter.updateBeforeFilterChanged(e):Ns.resolve()).then(()=>{const e={source:t,type:"filterChanged",columns:s};o&&Ye(e,o),this.eventSvc.dispatchEvent(e),this.colFilter?.updateAfterFilterChanged()})}isSuppressFlashingCellsBecauseFiltering(){return!!this.colFilter?.isSuppressFlashingCellsBecauseFiltering()}isQuickFilterPresent(){return!!this.quickFilter?.isFilterPresent()}updateAggFiltering(){this.aggFiltering=!!$t(this.gos)}isAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&this.shouldApplyQuickFilterAfterAgg()}isNonAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&!this.shouldApplyQuickFilterAfterAgg()}shouldApplyQuickFilterAfterAgg(){return(this.aggFiltering||this.beans.colModel.isPivotMode())&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")}doesRowPassOtherFilters(e,t){return this.doesRowPassFilter({rowNode:t,colIdToSkip:e})}doesRowPassAggregateFilters(e){const{rowNode:t}=e;return!(!this.alwaysPassFilter?.(t)&&(this.isAggregateQuickFilterPresent()&&!this.quickFilter.doesRowPass(t)||this.isAggregateFilterPresent()&&!this.colFilter.doFiltersPass(t,e.colIdToSkip,!0)))}doesRowPassFilter(e){const{rowNode:t}=e;return!(!this.alwaysPassFilter?.(t)&&(this.isNonAggregateQuickFilterPresent()&&!this.quickFilter.doesRowPass(t)||this.externalFilterPresent&&!this.doesExternalFilterPass(t)||this.isColumnFilterPresent()&&!this.colFilter.doFiltersPass(t,e.colIdToSkip)||this.isAdvFilterPresent()&&!this.advancedFilter.doesFilterPass(t)))}isFilterAllowed(e){return!this.isAdvFilterEnabled()&&!!this.colFilter?.isFilterAllowed(e)}getAdvFilterModel(){return this.isAdvFilterEnabled()?this.advancedFilter.getModel():null}setAdvFilterModel(e,t="api"){this.isAdvFilterEnabled()&&(this.beans.dataTypeSvc?.isPendingInference?this.advFilterModelUpdateQueue.push(e):(this.advancedFilter.setModel(e??null),this.onFilterChanged({source:t})))}toggleAdvFilterBuilder(e,t){this.isAdvFilterEnabled()&&this.advancedFilter.getCtrl().toggleFilterBuilder({source:t,force:e})}updateAdvFilterColumns(){this.isAdvFilterEnabled()&&this.advancedFilter.updateValidity()&&this.onFilterChanged({source:"advancedFilter"})}hasFloatingFilters(){return!this.isAdvFilterEnabled()&&!!this.colFilter?.hasFloatingFilters()}getColumnFilterInstance(e){return this.isAdvFilterEnabled()?(this.warnAdvFilters(),Promise.resolve(void 0)):this.colFilter?.getFilterInstance(e)??Promise.resolve(void 0)}warnAdvFilters(){Dt(68)}setupAdvFilterHeaderComp(e){this.advancedFilter?.getCtrl().setupHeaderComp(e)}getHeaderRowCount(){return this.isAdvFilterHeaderActive()?1:0}getHeaderHeight(){return this.isAdvFilterHeaderActive()?this.advancedFilter.getCtrl().getHeaderHeight():0}processFilterModelUpdateQueue(){for(const e of this.advFilterModelUpdateQueue)this.setAdvFilterModel(e);this.advFilterModelUpdateQueue=[]}setColumnFilterModel(e,t){return this.isAdvFilterEnabled()?(this.warnAdvFilters(),Promise.resolve()):this.colFilter?.setModelForColumn(e,t)??Promise.resolve()}}],apiFunctions:{isAnyFilterPresent:function(e){return!!e.filterManager?.isAnyFilterPresent()},onFilterChanged:function(e,t="api"){e.filterManager?.onFilterChanged({source:t})}},css:[".ag-set-filter{--ag-indentation-level:0}.ag-set-filter-item{align-items:center;display:flex;height:100%}:where(.ag-ltr) .ag-set-filter-item{padding-left:calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level)*var(--ag-set-filter-indent-size))}:where(.ag-rtl) .ag-set-filter-item{padding-right:calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level)*var(--ag-set-filter-indent-size))}.ag-set-filter-item-checkbox{display:flex;height:100%;width:100%}.ag-set-filter-group-icons{display:block;:where(.ag-set-filter-group-closed-icon),:where(.ag-set-filter-group-indeterminate-icon),:where(.ag-set-filter-group-opened-icon){cursor:pointer}}:where(.ag-ltr) .ag-set-filter-group-icons{margin-right:var(--ag-widget-container-horizontal-padding)}:where(.ag-rtl) .ag-set-filter-group-icons{margin-left:var(--ag-widget-container-horizontal-padding)}.ag-filter-body-wrapper{display:flex;flex-direction:column}:where(.ag-menu:not(.ag-tabs) .ag-filter) .ag-filter-body-wrapper{min-width:180px}.ag-filter-filter{flex:1 1 0px}.ag-filter-condition{display:flex;justify-content:center}.ag-floating-filter-body{display:flex;flex:1 1 auto;height:100%;position:relative}.ag-floating-filter-full-body{align-items:center;display:flex;flex:1 1 auto;height:100%;overflow:hidden;width:100%}.ag-floating-filter-input{align-items:center;display:flex;width:100%;>:where(.ag-date-floating-filter-wrapper),>:where(.ag-floating-filter-input),>:where(.ag-input-field){flex:1 1 auto}:where(.ag-input-field-input[type=date]),:where(.ag-input-field-input[type=datetime-local]){width:1px}}.ag-floating-filter-button{display:flex;flex:none}.ag-date-floating-filter-wrapper{display:flex}.ag-set-floating-filter-input :where(.ag-input-field-input)[disabled]{pointer-events:none}.ag-floating-filter-button-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;height:var(--ag-icon-size);width:var(--ag-icon-size)}.ag-filter-loading{align-items:unset;background-color:var(--ag-chrome-background-color);height:100%;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);position:absolute;width:100%;z-index:1;:where(.ag-menu) &{background-color:var(--ag-menu-background-color)}}.ag-filter-separator{border-top:solid var(--ag-border-width) var(--menu-separator-color)}:where(.ag-filter-select) .ag-picker-field-wrapper{width:0}.ag-filter-condition-operator{height:17px}:where(.ag-ltr) .ag-filter-condition-operator-or{margin-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-filter-condition-operator-or{margin-right:calc(var(--ag-spacing)*2)}.ag-set-filter-select-all{padding-top:var(--ag-widget-container-vertical-padding)}.ag-filter-no-matches,.ag-set-filter-list{height:calc(var(--ag-list-item-height)*6)}.ag-filter-no-matches{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}.ag-set-filter-tree-list{height:calc(var(--ag-list-item-height)*10)}.ag-set-filter-filter{margin-left:var(--ag-widget-container-horizontal-padding);margin-right:var(--ag-widget-container-horizontal-padding);margin-top:var(--ag-widget-container-vertical-padding)}.ag-filter-to{margin-top:var(--ag-widget-vertical-spacing)}.ag-mini-filter{margin:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}:where(.ag-ltr) .ag-set-filter-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}:where(.ag-rtl) .ag-set-filter-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}:where(.ag-filter-menu) .ag-set-filter-list{min-width:200px}.ag-filter-virtual-list-item:focus-visible{box-shadow:inset var(--ag-focus-shadow)}.ag-filter-apply-panel{display:flex;justify-content:flex-end;overflow:hidden;padding:var(--ag-widget-vertical-spacing) var(--ag-widget-container-horizontal-padding) var(--ag-widget-container-vertical-padding)}.ag-filter-apply-panel-button{line-height:1.5}:where(.ag-ltr) .ag-filter-apply-panel-button{margin-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-filter-apply-panel-button{margin-right:calc(var(--ag-spacing)*2)}.ag-simple-filter-body-wrapper{display:flex;flex-direction:column;gap:var(--ag-widget-vertical-spacing);min-height:calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing));overflow-y:auto;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:var(--ag-widget-container-vertical-padding);:where(.ag-resizer-wrapper){margin:0}}.ag-multi-filter-menu-item{margin:var(--ag-spacing) 0}.ag-multi-filter-group-title-bar{background-color:transparent;color:var(--ag-header-text-color);font-weight:500;padding:calc(var(--ag-spacing)*1.5) var(--ag-spacing)}.ag-group-filter-field-select-wrapper{display:flex;flex-direction:column;gap:var(--ag-widget-vertical-spacing);padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}"],dependsOn:[{moduleName:"ClientSideRowModelFilter",version:mt,rowModels:["clientSide"],beans:[class extends Oe{constructor(){super(...arguments),this.beanName="filterStage",this.step="filter",this.refreshProps=["excludeChildrenWhenTreeDataFiltering"]}wireBeans(e){this.filterManager=e.filterManager}execute(e){const t=!!this.filterManager?.isChildFilterPresent();this.beans.formula?.active?this.softFilter(t,e):this.filterNodes(t,e)}filterNodes(e,t){const o=(t,o)=>{t.hasChildren()?t.childrenAfterFilter=e&&!o?t.childrenAfterGroup.filter(e=>{const t=e.childrenAfterFilter&&e.childrenAfterFilter.length>0,o=e.data&&this.filterManager.doesRowPassFilter({rowNode:e});return t||o}):t.childrenAfterGroup:t.childrenAfterFilter=t.childrenAfterGroup,ag(t)};if(this.doingTreeDataFiltering()){const e=(t,s)=>{if(t.childrenAfterGroup)for(let i=0;io(e,!1);eg(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,t,e)}}softFilter(e,t){const o=this.beans.rowModel;eg(o.rootNode,o.hierarchical,t,t=>{if(t.childrenAfterFilter=t.childrenAfterGroup,t.hasChildren())for(const o of t.childrenAfterGroup)o.softFiltered=e&&!(o.data&&this.filterManager.doesRowPassFilter({rowNode:o}));ag(t)})}doingTreeDataFiltering(){const{gos:e}=this;return!!this.beans.groupStage?.treeData&&!e.get("excludeChildrenWhenTreeDataFiltering")}}]}]},Wp={moduleName:"FilterValue",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="filterValueSvc"}getValue(e,t,o){if(!t)return;const s=e.getColDef(),{selectableFilter:i,valueSvc:n,formula:r}=this.beans,l=o??i?.getFilterValueGetter(e.getColId())??s.filterValueGetter;if(l)return this.executeFilterValueGetter(l,t.data,e,t,s);const a=n.getValue(e,t,"data");return e.isAllowFormula()&&r?.isFormula(a)?r.resolveValue(e,t):a}executeFilterValueGetter(e,t,o,s,i){const{expressionSvc:n,valueSvc:r}=this.beans,l=Co(this.gos,{data:t,node:s,column:o,colDef:i,getValue:r.getValueCallback.bind(r,s)});return"function"==typeof e?e(l):n?.evaluate(e,l)}}]},Up={moduleName:"ColumnFilter",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="colFilter",this.allColumnFilters=/* @__PURE__ */new Map,this.allColumnListeners=/* @__PURE__ */new Map,this.activeAggregateFilters=[],this.activeColumnFilters=[],this.processingFilterChange=!1,this.modelUpdates=[],this.columnModelUpdates=[],this.state=/* @__PURE__ */new Map,this.handlerMap={...up},this.isGlobalButtons=!1,this.activeFilterComps=/* @__PURE__ */new Set}postConstruct(){this.addManagedEventListeners({gridColumnsChanged:this.onColumnsChanged.bind(this),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.addManagedPropertyListener("pivotMode",this.onPivotModeChanged.bind(this));const e=this.gos,t={...e.get("initialState")?.filter?.filterModel??{}};this.initialModel=t,this.model={...t},e.get("enableFilterHandlers")||delete this.handlerMap.agMultiColumnFilter}refreshModel(){this.onNewRowsLoaded("rowDataUpdated")}setModel(e,t="api",o){const{colModel:s,dataTypeSvc:i,filterManager:n}=this.beans;if(i?.isPendingInference)return void this.modelUpdates.push({model:e,source:t});const r=[],l=this.getModel(!0);if(e){const t=new Set(Object.keys(e));this.allColumnFilters.forEach((o,s)=>{const i=e[s];r.push(this.setModelOnFilterWrapper(o,i)),t.delete(s)}),t.forEach(t=>{const o=s.getColDefCol(t)||s.getCol(t);if(!o)return void Dt(62,{colId:t});if(!o.isFilterAllowed())return void Dt(63,{colId:t});const i=this.getOrCreateFilterWrapper(o,!0);i?r.push(this.setModelOnFilterWrapper(i,e[t],!0)):Dt(64,{colId:t})})}else this.model={},this.allColumnFilters.forEach(e=>{r.push(this.setModelOnFilterWrapper(e,null))});Ns.all(r).then(()=>{const e=this.getModel(!0),s=[];this.allColumnFilters.forEach((t,o)=>{c(l?l[o]:null,e?e[o]:null)||s.push(t.column)}),s.length>0?n?.onFilterChanged({columns:s,source:t}):o&&this.updateActive("filterChanged")})}getModel(e){const t={},{allColumnFilters:o,initialModel:s,beans:{colModel:i}}=this;if(o.forEach((e,o)=>{const s=this.getModelFromFilterWrapper(e);l(s)&&(t[o]=s)}),!e)for(const n of Object.keys(s)){const e=s[n];l(e)&&!o.has(n)&&i.getCol(n)?.isFilterAllowed()&&(t[n]=e)}return t}setState(e,t,o="api"){if(this.state.clear(),t)for(const s of Object.keys(t)){const e=t[s];this.state.set(s,{model:wp(this.model,s),state:e})}this.setModel(e,o,!0)}getState(){const e=this.state;if(!e.size)return;const t={};let o=!1;return e.forEach((e,s)=>{const i=e.state;null!=i&&(o=!0,t[s]=i)}),o?t:void 0}getModelFromFilterWrapper(e){const t=e.column.getColId();if(e.isHandler)return wp(this.model,t);const o=e.filter;return o?"function"!=typeof o.getModel?(Dt(66),null):o.getModel():wp(this.initialModel,t)}isFilterPresent(){return this.activeColumnFilters.length>0}isAggFilterPresent(){return!!this.activeAggregateFilters.length}disableFilters(){this.initialModel={};const{allColumnFilters:e}=this;return!!e.size&&(e.forEach(e=>this.disposeFilterWrapper(e,"advancedFilterEnabled")),!0)}updateActiveFilters(){const{colModel:e,gos:t}=this.beans,o=!!$t(t),s=[],i=[],n=(t,n,r)=>{n&&(Np(t,e.isPivotMode(),e.isPivotActive(),o)?s.push(r):i.push(r))},r=[];return this.allColumnFilters.forEach(e=>{const t=e.column,o=t.getColId();if(e.isHandler)r.push(Ns.resolve().then(()=>{n(t,this.isHandlerActive(t),{colId:o,isHandler:!0,handler:e.handler,handlerParams:e.handlerParams})}));else{const s=pp(e);s&&r.push(s.then(e=>{n(t,(e=>!!e&&(e.isFilterActive?e.isFilterActive():(Dt(67),!1)))(e),{colId:o,isHandler:!1,comp:e})}))}}),Ns.all(r).then(()=>{this.activeAggregateFilters=s,this.activeColumnFilters=i})}updateFilterFlagInColumns(e,t){const o=[];return this.allColumnFilters.forEach(s=>{const i=s.column;if(s.isHandler)o.push(Ns.resolve().then(()=>{this.setColFilterActive(i,this.isHandlerActive(i),e,t)}));else{const n=pp(s);n&&o.push(n.then(o=>{this.setColFilterActive(i,o.isFilterActive(),e,t)}))}}),this.beans.groupFilter?.updateFilterFlags(e,t),Ns.all(o)}doFiltersPass(e,t,o){const{data:s,aggData:i}=e,n=o?this.activeAggregateFilters:this.activeColumnFilters,r=o?i:s,l=this.model;for(let a=0;a{this.isAlive()&&o?.onFilterChanged(e)};t.isRefreshInProgress()?setTimeout(s,0):s()}updateBeforeFilterChanged(e={}){const{column:t,additionalEventAttributes:o}=e,s=t?.getColId();return this.updateActiveFilters().then(()=>this.updateFilterFlagInColumns("filterChanged",o).then(()=>{this.allColumnFilters.forEach(e=>{const{column:t,isHandler:o}=e;s!==t.getColId()&&(o&&e.handler.onAnyFilterChanged?.(),pp(e,o)?.then(e=>{"function"==typeof e?.onAnyFilterChanged&&e.onAnyFilterChanged()}))}),this.processingFilterChange=!0}))}updateAfterFilterChanged(){this.processingFilterChange=!1}isSuppressFlashingCellsBecauseFiltering(){return!this.gos.get("allowShowChangeAfterFilter")&&this.processingFilterChange}onNewRowsLoaded(e){const t=[];this.allColumnFilters.forEach(e=>{const o=e.isHandler;o&&e.handler.onNewRowsLoaded?.();const s=pp(e,o);s&&t.push(s.then(e=>{e.onNewRowsLoaded?.()}))}),Ns.all(t).then(()=>this.updateActive(e,{afterDataChange:!0}))}updateActive(e,t){this.updateFilterFlagInColumns(e,t).then(()=>this.updateActiveFilters())}createGetValue(e,t){const{filterValueSvc:o,colModel:s}=this.beans;return(i,n)=>{const r=n?s.getCol(n):e;return r?o.getValue(r,i,t):void 0}}isFilterActive(e){const t=this.cachedFilter(e);if(t?.isHandler)return this.isHandlerActive(e);const o=t?.filter;return o?o.isFilterActive():null!=wp(this.initialModel,e.getColId())}isHandlerActive(e){const t=l(wp(this.model,e.getColId()));if(t)return t;const o=this.beans.groupFilter;return!!o?.isGroupFilter(e)&&o.isFilterActive(e)}getOrCreateFilterUi(e){const t=this.getOrCreateFilterWrapper(e,!0);return t?pp(t):null}getFilterUiForDisplay(e){const t=this.getOrCreateFilterWrapper(e,!0);if(!t)return null;const o=pp(t);return o?o.then(e=>({comp:e,params:t.filterUi.filterParams,isHandler:t.isHandler})):null}getHandler(e,t){const o=this.getOrCreateFilterWrapper(e,t);return o?.isHandler?o.handler:void 0}getOrCreateFilterWrapper(e,t){if(!e.isFilterAllowed())return;let o=this.cachedFilter(e);return!o&&t&&(o=this.createFilterWrapper(e),this.setColumnFilterWrapper(e,o)),o}cachedFilter(e){return this.allColumnFilters.get(e.getColId())}getDefaultFilter(e,t=!1){return this.getDefaultFilterFromDataType(()=>this.beans.dataTypeSvc?.getBaseDataType(e),t)}getDefaultFilterFromDataType(e,t=!1){return(o=this.gos).isModuleRegistered("SetFilter")&&!o.get("suppressSetFilterByDefault")?t?"agSetColumnFloatingFilter":"agSetColumnFilter":kp(e(),t);var o}getDefaultFloatingFilter(e){return this.getDefaultFilter(e,!0)}createFilterComp(e,t,o,s,i,n){const r=()=>{const r=s(this.createFilterCompParams(e,i,n),i);return ri(this.beans.userCompFactory,t,r,o)},l=r();return l?{compDetails:l,createFilterUi:e=>(e?r():l).newAgStackInstance()}:null}createFilterInstance(e,t,o,s){const i=this.beans.selectableFilter;i?.isSelectable(t)&&(t=i.getFilterDef(e,t));const{handler:n,handlerParams:r,handlerGenerator:l}=this.createHandler(e,t,o)??{},a=this.createFilterComp(e,t,o,s,!!n,"init");if(!a)return{compDetails:null,createFilterUi:null,handler:n,handlerGenerator:l,handlerParams:r};const{compDetails:d,createFilterUi:c}=a;return this.isGlobalButtons&&(d.params?.buttons?.length||Dt(281,{colId:e.getColId()})),{compDetails:d,handler:n,handlerGenerator:l,handlerParams:r,createFilterUi:c}}createBaseFilterParams(e,t){const{filterManager:o,rowModel:s}=this.beans;return Co(this.gos,{column:e,colDef:e.getColDef(),getValue:this.createGetValue(e),doesRowPassOtherFilter:t?()=>!0:t=>o?.doesRowPassOtherFilters(e.getColId(),t)??!0,rowModel:s})}createFilterCompParams(e,t,o,s){const i=this.filterChangedCallbackFactory(e),n=this.createBaseFilterParams(e,s);if(n.filterChangedCallback=i,n.filterModifiedCallback=s?()=>{}:t=>this.filterModified(e,t),t){const t=n,s=e.getColId(),r=wp(this.model,s);t.model=r,t.state=this.state.get(s)??{model:r},t.onModelChange=(t,o)=>{this.updateStoredModel(s,t),this.refreshHandlerAndUi(e,t,"ui",!1,o).then(()=>{i({...o,source:"columnFilter"})})},t.onStateChange=t=>{this.updateState(e,t),this.updateOrRefreshFilterUi(e)},t.onAction=(t,o,s)=>{this.updateModel(e,t,o),this.dispatchLocalEvent({type:"filterAction",column:e,action:t,event:s})},t.getHandler=()=>this.getHandler(e,!0),t.onUiChange=t=>this.filterUiChanged(e,t),t.source=o}return n}createFilterUiForHandler(e,t){return t?{created:!1,create:t,filterParams:e.params,compDetails:e}:null}createFilterUiLegacy(e,t,o){const s=t(),i={created:!0,create:t,filterParams:e.params,compDetails:e,promise:s};return s.then(o),i}createFilterWrapper(e){const{compDetails:t,handler:o,handlerGenerator:s,handlerParams:i,createFilterUi:n}=this.createFilterInstance(e,e.getColDef(),this.getDefaultFilter(e),e=>e),r=e.getColId();if(o)return delete this.initialModel[r],o.init?.({...i,source:"init",model:wp(this.model,r)}),{column:e,isHandler:!0,handler:o,handlerGenerator:s,handlerParams:i,filterUi:this.createFilterUiForHandler(t,n)};if(n){const o={column:e,filterUi:null,isHandler:!1};return o.filterUi=this.createFilterUiLegacy(t,n,e=>{o.filter=e??void 0}),o}return{column:e,filterUi:null,isHandler:!1}}createHandlerFunc(e,t,o){const{gos:s,frameworkOverrides:i,registry:n}=this.beans;let r;const l=s.get("enableFilterHandlers"),a=l?(e=>{const t=e.filter;if(Hs(t)){return t.handler||(r=t.doesFilterPass,r?()=>({doesFilterPass:r}):void 0)}return"string"==typeof t?t:void 0})(t):void 0,d=e=>()=>this.createBean(n.createDynamicBean(e,!0));let c,h;if("string"==typeof a){const e=s.get("filterHandlers")?.[a];null!=e?c=e:gp.has(a)&&(c=d(a),h=a)}else c=a;if(!c){let e;const{compName:s,jsComp:n,fwComp:r}=ai(i,t);s?e=s:null==n&&null==r&&!0===t.filter&&(e=o),h=this.handlerMap[e],h&&(c=d(h))}if(!c){if(!l)return;return It(s)&&Dt(277,{colId:e.getColId()}),Gp}return{filterHandler:c,handlerNameOrCallback:r??h}}createHandler(e,t,o){const s=this.createHandlerFunc(e,t,o);if(!s)return;const i=di(this.beans.userCompFactory,t,this.createFilterCompParams(e,!0,"init")),{handlerNameOrCallback:n,filterHandler:r}=s,{handler:l,handlerParams:a}=this.createHandlerFromFunc(e,r,i);return{handler:l,handlerParams:a,handlerGenerator:n??r}}createHandlerFromFunc(e,t,o){const s=e.getColDef();return{handler:t(Co(this.gos,{column:e,colDef:s})),handlerParams:this.createHandlerParams(e,o)}}createHandlerParams(e,t){const o=e.getColDef(),s=e.getColId(),i=this.filterChangedCallbackFactory(e);return Co(this.gos,{colDef:o,column:e,getValue:this.createGetValue(e),doesRowPassOtherFilter:e=>this.beans.filterManager?.doesRowPassOtherFilters(s,e)??!0,onModelChange:(t,o)=>{this.updateStoredModel(s,t),this.refreshHandlerAndUi(e,t,"handler",!1,o).then(()=>{i({...o,source:"columnFilter"})})},onModelAsStringChange:()=>{e.dispatchColEvent("filterChanged","filterChanged"),this.dispatchLocalEvent({type:"filterModelAsStringChanged",column:e})},filterParams:t})}onColumnsChanged(){const e=[],{colModel:t,filterManager:o,groupFilter:s}=this.beans;this.allColumnFilters.forEach((o,s)=>{let i;i=o.column.isPrimary()?t.getColDefCol(s):t.getCol(s),i&&i===o.column||(e.push(o.column),this.disposeFilterWrapper(o,"columnChanged"),this.disposeColumnListener(s))});const i=s&&e.every(e=>s.isGroupFilter(e));e.length>0&&!i&&o?.onFilterChanged({columns:e,source:"api"})}isFilterAllowed(e){if(!e.isFilterAllowed())return!1;const t=this.beans.groupFilter;return!t?.isGroupFilter(e)||t.isFilterAllowed(e)}getFloatingFilterCompDetails(e,t){const{userCompFactory:o,frameworkOverrides:s,selectableFilter:i,gos:n}=this.beans,r=e.getColDef(),l=i?.isSelectable(r)?i.getFilterDef(e,r):r,a=Lp(s,l,()=>this.getDefaultFloatingFilter(e))??"agReadOnlyFloatingFilter",d=n.get("enableFilterHandlers"),c=Co(n,{column:e,filterParams:di(o,l,this.createFilterCompParams(e,d,"init",!0)),currentParentModel:()=>this.getCurrentFloatingFilterParentModel(e),parentFilterInstance:t=>{this.getOrCreateFilterUi(e)?.then(e=>{t(ph(e))})},showParentFilter:t});if(d){const t=c,o=e.getColId(),s=this.filterChangedCallbackFactory(e);t.onUiChange=t=>this.floatingFilterUiChanged(e,t),t.model=wp(this.model,o),t.onModelChange=(t,i)=>{this.updateStoredModel(o,t),this.refreshHandlerAndUi(e,t,"floating",!0,i).then(()=>{s({...i,source:"columnFilter"})})},t.getHandler=()=>this.getHandler(e,!0),t.source="init"}return li(o,r,c,a)}getCurrentFloatingFilterParentModel(e){return this.getModelFromFilterWrapper(this.cachedFilter(e)??{column:e})}destroyFilterUi(e,t,o,s){const i="paramsUpdated";if(e.isHandler){const n=t.getColId();delete this.initialModel[n],this.state.delete(n);const r=e.filterUi;e.filterUi=this.createFilterUiForHandler(o,s);const l=this.eventSvc;r?.created?r.promise.then(e=>{this.destroyBean(e),l.dispatchEvent({type:"filterDestroyed",source:i,column:t})}):l.dispatchEvent({type:"filterHandlerDestroyed",source:i,column:t})}else this.destroyFilter(t,i)}destroyFilter(e,t="api"){const o=e.getColId(),s=this.allColumnFilters.get(o);this.disposeColumnListener(o),delete this.initialModel[o],s&&this.disposeFilterWrapper(s,t).then(t=>{t&&this.isAlive()&&this.beans.filterManager?.onFilterChanged({columns:[e],source:"api"})})}disposeColumnListener(e){const t=this.allColumnListeners.get(e);t&&(this.allColumnListeners.delete(e),t())}disposeFilterWrapper(e,t){let o=!1;const{column:s,isHandler:i,filterUi:n}=e,r=s.getColId();i&&(o=this.isHandlerActive(s),this.destroyBean(e.handler),delete this.model[r],this.state.delete(r));const l=()=>{this.setColFilterActive(s,!1,"filterDestroyed"),this.allColumnFilters.delete(r),this.eventSvc.dispatchEvent({type:"filterDestroyed",source:t,column:s})};if(n){if(n.created)return n.promise.then(e=>(o=i?o:!!e?.isFilterActive(),this.destroyBean(e),l(),o));l()}return Ns.resolve(o)}filterChangedCallbackFactory(e){return t=>{this.callOnFilterChangedOutsideRenderCycle({additionalEventAttributes:t,columns:[e],column:e,source:t?.source??"columnFilter"})}}filterParamsChanged(e,t="api"){const o=this.allColumnFilters.get(e);if(!o)return;const s=this.beans,i=o.column,n=i.getColDef(),r=i.isFilterAllowed(),l=this.getDefaultFilter(i),a=s.selectableFilter,d=a?.isSelectable(n)?a.getFilterDef(i,n):n,c=r?this.createHandlerFunc(i,d,this.getDefaultFilter(i)):void 0,h=!!c,u=o.isHandler;if(u!=h)return void this.destroyFilter(i,"paramsUpdated");const{compDetails:g,createFilterUi:p}=(r?this.createFilterComp(i,d,l,e=>e,h,"colDef"):null)??{compDetails:null,createFilterUi:null},m=g?.params??di(s.userCompFactory,d,this.createFilterCompParams(i,h,"colDef"));if(u){const s=c?.handlerNameOrCallback??c?.filterHandler,n=wp(this.model,e);if(o.handlerGenerator!=s){const r=o.handler,{handler:l,handlerParams:a}=this.createHandlerFromFunc(i,c.filterHandler,m);o.handler=l,o.handlerParams=a,o.handlerGenerator=s,delete this.model[e],l.init?.({...a,source:"init",model:null}),this.destroyBean(r),null!=n&&this.beans.filterManager?.onFilterChanged({columns:[i],source:t})}else{const e=this.createHandlerParams(i,g?.params);o.handlerParams=e,o.handler.refresh?.({...e,source:"colDef",model:n})}}!this.areFilterCompsDifferent(o.filterUi?.compDetails??null,g)&&o.filterUi&&g?(o.filterUi.filterParams=m,pp(o,u)?.then(e=>{!1===(!e?.refresh||e.refresh(m))?this.destroyFilterUi(o,i,g,p):this.dispatchLocalEvent({type:"filterParamsChanged",column:i,params:m})})):this.destroyFilterUi(o,i,g,p)}refreshHandlerAndUi(e,t,o,s,i){const n=this.cachedFilter(e);if(!n)return s&&this.getOrCreateFilterWrapper(e,!0),Ns.resolve();if(!n.isHandler)return Ns.resolve();const{filterUi:r,handler:l,handlerParams:a}=n;return mp(()=>{if(r){const{created:e,filterParams:t}=r;if(e)return r.promise.then(e=>e?{filter:e,filterParams:t}:void 0);r.refreshed=!0}return Ns.resolve(void 0)},l,a,t,this.state.get(e.getColId())??{model:t},o,i)}setColumnFilterWrapper(e,t){const o=e.getColId();this.allColumnFilters.set(o,t),this.allColumnListeners.set(o,this.addManagedListeners(e,{colDefChanged:()=>this.filterParamsChanged(o)})[0])}areFilterCompsDifferent(e,t){if(!t||!e)return!0;const{componentClass:o}=e,{componentClass:s}=t;return!(o===s||o?.render&&s?.render&&o.render===s.render)}hasFloatingFilters(){return this.beans.colModel.getCols().some(e=>e.getColDef().floatingFilter)}getFilterInstance(e){const t=this.beans.colModel.getColDefCol(e);if(!t)return Promise.resolve(void 0);const o=this.getOrCreateFilterUi(t);return o?new Promise(e=>{o.then(t=>{e(ph(t))})}):Promise.resolve(null)}processFilterModelUpdateQueue(){this.modelUpdates.forEach(({model:e,source:t})=>this.setModel(e,t)),this.modelUpdates=[],this.columnModelUpdates.forEach(({key:e,model:t,resolve:o})=>{this.setModelForColumn(e,t).then(()=>o())}),this.columnModelUpdates=[]}getModelForColumn(e,t){if(t){const{state:t,model:o}=this,s=e.getColId(),i=t.get(s);return i?i.model??null:wp(o,s)}const o=this.cachedFilter(e);return o?this.getModelFromFilterWrapper(o):null}setModelForColumn(e,t){if(this.beans.dataTypeSvc?.isPendingInference){let o=()=>{};const s=new Promise(e=>{o=e});return this.columnModelUpdates.push({key:e,model:t,resolve:o}),s}return new Promise(o=>{this.setModelForColumnLegacy(e,t).then(e=>o(e))})}getStateForColumn(e){return this.state.get(e)??{model:wp(this.model,e)}}setModelForColumnLegacy(e,t){const o=this.beans.colModel.getColDefCol(e),s=o?this.getOrCreateFilterWrapper(o,!0):null;return s?this.setModelOnFilterWrapper(s,t):Ns.resolve()}setColDefPropsForDataType(e,t,o){const s=e.filter,i=!0===s?this.getDefaultFilterFromDataType(()=>t.baseDataType):s;if("string"!=typeof i)return;let n,r;const l=this.beans,{filterParams:a,filterValueGetter:d}=e;({filterParams:n,filterValueGetter:r}="agMultiColumnFilter"===i?l.multiFilter?.getParamsForDataType(a,d,t,o)??{}:Tp(i,a,d,t,o,l,this.getLocaleTextFunc())),e.filterParams=n,r&&(e.filterValueGetter=r)}setColFilterActive(e,t,o,s){e.filterActive!==t&&(e.filterActive=t,e.dispatchColEvent("filterActiveChanged",o)),e.dispatchColEvent("filterChanged",o,s)}setModelOnFilterWrapper(e,t,o){return new Ns(s=>{if(e.isHandler){const i=e.column,n=i.getColId(),r=this.model[n];return this.updateStoredModel(n,t),o&&t===r?void s():void this.refreshHandlerAndUi(i,t,"api").then(()=>s())}const i=pp(e);i?i.then(e=>{if("function"!=typeof e?.setModel)return Dt(65),void s();(e.setModel(t)||Ns.resolve()).then(()=>s())}):s()})}updateStoredModel(e,t){l(t)?this.model[e]=t:delete this.model[e];const o={model:t,state:this.state.get(e)?.state};this.state.set(e,o)}filterModified(e,t){this.getOrCreateFilterUi(e)?.then(o=>{this.eventSvc.dispatchEvent({type:"filterModified",column:e,filterInstance:o,...t})})}filterUiChanged(e,t){this.gos.get("enableFilterHandlers")&&this.eventSvc.dispatchEvent({type:"filterUiChanged",column:e,...t})}floatingFilterUiChanged(e,t){this.gos.get("enableFilterHandlers")&&this.eventSvc.dispatchEvent({type:"floatingFilterUiChanged",column:e,...t})}updateModel(e,t,o){const s=e.getColId(),i=this.cachedFilter(e),n=()=>i?.filterUi;vp({action:t,filterParams:i?.filterUi?.filterParams,getFilterUi:n,getModel:()=>wp(this.model,s),getState:()=>this.state.get(s),updateState:t=>this.updateState(e,t),updateModel:e=>n()?.filterParams?.onModelChange(e,{...o,fromAction:t}),processModelToApply:i?.isHandler?i.handler.processModelToApply?.bind(i.handler):void 0})}updateAllModels(e,t){const o=[];this.allColumnFilters.forEach((t,s)=>{const i=this.beans.colModel.getColDefCol(s);i&&vp({action:e,filterParams:t.filterUi?.filterParams,getFilterUi:()=>t.filterUi,getModel:()=>wp(this.model,s),getState:()=>this.state.get(s),updateState:e=>this.updateState(i,e),updateModel:t=>{this.updateStoredModel(s,t),this.dispatchLocalEvent({type:"filterAction",column:i,action:e}),o.push(this.refreshHandlerAndUi(i,t,"ui"))},processModelToApply:t?.isHandler?t.handler.processModelToApply?.bind(t.handler):void 0})}),o.length&&Ns.all(o).then(()=>{this.callOnFilterChangedOutsideRenderCycle({source:"columnFilter",additionalEventAttributes:t,columns:[]})})}updateOrRefreshFilterUi(e){const t=e.getColId();Cp(()=>this.cachedFilter(e)?.filterUi,()=>wp(this.model,t),()=>this.state.get(t))}updateState(e,t){this.state.set(e.getColId(),t),this.dispatchLocalEvent({type:"filterStateChanged",column:e,state:t})}canApplyAll(){const{state:e,model:t,activeFilterComps:o}=this;for(const i of o)if("COLUMN_MENU"===i.source)return!1;let s=!1;for(const i of e.keys()){const o=e.get(i);if(!1===o.valid)return!1;(o.model??null)!==wp(t,i)&&(s=!0)}return s}hasUnappliedModel(e){const{model:t,state:o}=this;return(o.get(e)?.model??null)!==wp(t,e)}setGlobalButtons(e){this.isGlobalButtons=e,this.dispatchLocalEvent({type:"filterGlobalButtons",isGlobal:e})}shouldKeepStateOnDetach(e,t){if("newFiltersToolPanel"===t)return!0;const o=this.beans.filterPanelSvc;return!!o?.isActive&&!!o.getState(e.getColId())}onPivotModeChanged(e){const{colModel:t,pivotColsSvc:o}=this.beans,s=!!$t(this.gos),n=e.currentValue,r=n?this.activeColumnFilters:this.activeAggregateFilters,l=n?this.activeAggregateFilters:this.activeColumnFilters,a=[];for(const i of r){const e=t.getColById(i.colId),r=n&&!!o?.columns.length;e&&n===Np(e,n,r,s)&&(l.push(i),a.push(i))}i(r,a)}destroy(){super.destroy(),this.allColumnFilters.forEach(e=>this.disposeFilterWrapper(e,"gridDestroyed")),this.allColumnListeners.clear(),this.state.clear(),this.activeFilterComps.clear()}},class extends Oe{constructor(){super(...arguments),this.beanName="filterMenuFactory"}wireBeans(e){this.popupSvc=e.popupSvc}hideActiveMenu(){this.hidePopup?.()}showMenuAfterMouseEvent(e,t,o,s){e&&!e.isColumn||this.showPopup(e,s=>{this.popupSvc?.positionPopupUnderMouseEvent({additionalParams:{column:e},type:o,mouseEvent:t,ePopup:s})},o,t.target,mo(this.gos),s)}showMenuAfterButtonClick(e,t,o,s){if(e&&!e.isColumn)return;let i=-1,n="left";const r=mo(this.gos);!r&&this.gos.get("enableRtl")&&(i=1,n="right");const l=r?void 0:4*i,a=r?void 0:4;this.showPopup(e,s=>{this.popupSvc?.positionPopupByComponent({type:o,eventSource:t,ePopup:s,nudgeX:l,nudgeY:a,alignSide:n,keepWithinBounds:!0,position:"under",additionalParams:{column:e}})},o,t,r,s)}showPopup(e,t,o,s,i,n){const r=e?this.createBean(new Vp(e,"COLUMN_MENU")):void 0;if(this.activeMenu=r,!r?.hasFilter()||!e)return void Mt(57);const l=Cl({tag:"div",cls:"ag-menu"+(i?"":" ag-filter-menu"),role:"presentation"});let a;[this.tabListener]=this.addManagedElementListeners(l,{keydown:e=>this.trapFocusWithin(e,l)}),l.appendChild(r?.getGui());const d=fo(this.gos)?s??this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody:void 0,c=this.getLocaleTextFunc(),h=i&&"columnFilter"!==o?c("ariaLabelColumnMenu","Column Menu"):c("ariaLabelColumnFilter","Column Filter"),u=this.popupSvc?.addPopup({modal:!0,eChild:l,closeOnEsc:!0,closedCallback:t=>{bp(e,!1,"contextMenu");const i=t instanceof KeyboardEvent;this.tabListener&&(this.tabListener=this.tabListener()),i&&s&&re(s)&&$i(s)?.focus({preventScroll:!0}),r?.afterGuiDetached(),this.destroyBean(this.activeMenu),this.dispatchVisibleChangedEvent(!1,o,e),n?.()},positionCallback:()=>t(l),anchorToElement:d,ariaLabel:h});u&&(this.hidePopup=a=u.hideFunc),r.afterInit().then(()=>{t(l),r.afterGuiAttached({container:o,hidePopup:a})}),bp(e,!0,"contextMenu"),this.dispatchVisibleChangedEvent(!0,o,e)}trapFocusWithin(e,t){e.key!==ms||e.defaultPrevented||Ui(this.beans,t,!1,e.shiftKey)||(e.preventDefault(),Wi(t,e.shiftKey))}dispatchVisibleChangedEvent(e,t,o){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:e,switchingTab:!1,key:t,column:o??null,columnGroup:null})}isMenuEnabled(e){return e.isFilterAllowed()&&(e.getColDef().menuTabs??["filterMenuTab"]).includes("filterMenuTab")}showMenuAfterContextMenuEvent(){}destroy(){this.destroyBean(this.activeMenu),super.destroy()}}],dynamicBeans:{headerFilterCellCtrl:class extends cr{constructor(){super(...arguments),this.iconCreated=!1}wireComp(e,t,o,s,i){this.comp=e;const n=or(this,this.beans.context,i);this.eButtonShowMainFilter=o,this.eFloatingFilterBody=s,this.setGui(t,n),this.setupActive(),this.refreshHeaderStyles(),this.setupWidth(n),this.setupLeft(n),this.setupHover(n),this.setupFocus(n),this.setupAria(),this.setupFilterButton(),this.setupUserComp(),this.setupSyncWithFilter(n),this.setupUi(),n.addManagedElementListeners(this.eButtonShowMainFilter,{click:this.showParentFilter.bind(this)}),this.setupFilterChangedListener(n);const r=()=>this.onColDefChanged(n);n.addManagedListeners(this.column,{colDefChanged:r}),n.addManagedEventListeners({filterSwitched:({column:e})=>{e===this.column&&r()}}),n.addDestroyFunc(()=>{this.eButtonShowMainFilter=null,this.eFloatingFilterBody=null,this.userCompDetails=null,this.clearComponent()})}resizeHeader(){}moveHeader(){}getHeaderClassParams(){const{column:e,beans:t}=this,o=e.colDef;return Co(t.gos,{colDef:o,column:e,floatingFilter:!0})}setupActive(){const e=this.column.getColDef(),t=!!e.filter,o=!!e.floatingFilter;this.active=t&&o}setupUi(){if(this.comp.setButtonWrapperDisplayed(!this.suppressFilterButton&&this.active),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-full-body",this.suppressFilterButton),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-body",!this.suppressFilterButton),!this.active||this.iconCreated)return;const e=Ol("filter",this.beans,this.column);e&&(this.iconCreated=!0,this.eButtonShowMainFilter.appendChild(e))}setupFocus(e){e.createManagedBean(new Qi(this.eGui,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)}))}setupAria(){const e=this.getLocaleTextFunc();E(this.eButtonShowMainFilter,e("ariaFilterMenuOpen","Open Filter Menu"))}onTabKeyDown(e){const{beans:t}=this;if(w(t)===this.eGui)return;const o=Ui(t,this.eGui,null,e.shiftKey);if(o)return t.headerNavigation?.scrollToColumn(this.column),e.preventDefault(),void o.focus();const s=this.findNextColumnWithFloatingFilter(e.shiftKey);s&&t.focusSvc.focusHeaderPosition({headerPosition:{headerRowIndex:this.rowCtrl.rowIndex,column:s},event:e})&&e.preventDefault()}findNextColumnWithFloatingFilter(e){const t=this.beans.visibleCols;let o=this.column;do{if(o=e?t.getColBefore(o):t.getColAfter(o),!o)break}while(!o.getColDef().filter||!o.getColDef().floatingFilter);return o}handleKeyDown(e){super.handleKeyDown(e);const t=this.getWrapperHasFocus();switch(e.key){case bs:case Ss:case ws:case ys:if(t)return;qi(e);case fs:t&&Wi(this.eGui)&&e.preventDefault();break;case Cs:t||this.eGui.focus()}}onFocusIn(e){if(this.eGui.contains(e.relatedTarget))return;const t=!!e.relatedTarget&&!e.relatedTarget.classList.contains("ag-floating-filter"),o=!!e.relatedTarget&&q(e.relatedTarget,"ag-floating-filter");if(t&&o&&e.target===this.eGui){const e=this.lastFocusEvent,t=!(!e||e.key!==ms);if(e&&t){const t=e.shiftKey;Wi(this.eGui,t)}}this.focusThis()}setupHover(e){this.beans.colHover?.addHeaderFilterColumnHoverListener(e,this.comp,this.column,this.eGui)}setupLeft(e){const t=new sr(this.column,this.eGui,this.beans);e.createManagedBean(t)}setupFilterButton(){this.suppressFilterButton=!this.beans.menuSvc?.isFloatingFilterButtonEnabled(this.column),this.highlightFilterButtonWhenActive=!mo(this.gos)}setupUserComp(){if(!this.active)return;const e=this.beans.colFilter?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter());e&&this.setCompDetails(e)}setCompDetails(e){this.userCompDetails=e,this.comp.setCompDetails(e)}showParentFilter(){const e=this.suppressFilterButton?this.eFloatingFilterBody:this.eButtonShowMainFilter;this.beans.menuSvc?.showFilterMenu({column:this.column,buttonElement:e,containerType:"floatingFilter",positionBy:"button"})}setupSyncWithFilter(e){if(!this.active)return;const{beans:{colFilter:t},column:o,gos:s}=this,i=e=>{if(!("filterDestroyed"!==e?.source||this.isAlive()&&t?.isAlive()))return;const i=this.comp.getFloatingFilterComp();i&&i.then(i=>{if(i){if(s.get("enableFilterHandlers")){const t=e;let o="filter";return t?.afterFloatingFilter?o="ui":t?.afterDataChange?o="dataChanged":"api"===e?.source&&(o="api"),void this.updateFloatingFilterParams(this.userCompDetails,o)}const n=t?.getCurrentFloatingFilterParentModel(o),r=e?{...e,columns:e.columns??[],source:"api"===e.source?"api":"columnFilter"}:null;i.onParentModelChanged(n,r)}})};[this.destroySyncListener]=e.addManagedListeners(o,{filterChanged:i}),t?.isFilterActive(o)&&i(null)}setupWidth(e){const t=()=>{const e=`${this.column.getActualWidth()}px`;this.comp.setWidth(e)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupFilterChangedListener(e){this.active&&([this.destroyFilterChangedListener]=e.addManagedListeners(this.column,{filterChanged:this.updateFilterButton.bind(this)}),this.updateFilterButton())}updateFilterButton(){if(!this.suppressFilterButton&&this.comp){const e=!!this.beans.filterManager?.isFilterAllowed(this.column);this.comp.setButtonWrapperDisplayed(e),this.highlightFilterButtonWhenActive&&e&&this.eButtonShowMainFilter.classList.toggle("ag-filter-active",this.column.isFilterActive())}}onColDefChanged(e){const t=this.active;this.setupActive();const o=!t&&this.active;t&&!this.active&&(this.destroySyncListener(),this.destroyFilterChangedListener());const s=this.beans.colFilter,i=this.active?s?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter()):null,n=this.comp.getFloatingFilterComp();n&&i?n.then(t=>{!t||s?.areFilterCompsDifferent(this.userCompDetails??null,i)?this.updateCompDetails(e,i,o):this.updateFloatingFilterParams(i,"colDef")}):this.updateCompDetails(e,i,o)}updateCompDetails(e,t,o){this.isAlive()&&(this.setCompDetails(t),this.setupFilterButton(),this.setupUi(),o&&(this.setupSyncWithFilter(e),this.setupFilterChangedListener(e)))}updateFloatingFilterParams(e,t){if(!e)return;let o=e.params;this.comp.getFloatingFilterComp()?.then(e=>{"function"==typeof e?.refresh&&(this.gos.get("enableFilterHandlers")&&(o={...o,model:wp(this.beans.colFilter?.model??{},this.column.getColId()),source:t}),e.refresh(o))})}addResizeAndMoveKeyboardListeners(){}destroy(){super.destroy(),this.destroySyncListener=null,this.destroyFilterChangedListener=null}}},icons:{filter:"filter",filterActive:"filter"},apiFunctions:{isColumnFilterPresent:function(e){const t=e.filterManager;return!!t?.isColumnFilterPresent()||!!t?.isAggregateFilterPresent()},getColumnFilterInstance:function(e,t){return e.filterManager?.getColumnFilterInstance(t)??Promise.resolve(void 0)},destroyFilter:function(e,t){const o=e.colModel.getColDefCol(t);if(o)return e.colFilter?.destroyFilter(o,"api")},setFilterModel:function(e,t){e.frameworkOverrides.wrapIncoming(()=>e.filterManager?.setFilterModel(t))},getFilterModel:function(e){return e.filterManager?.getFilterModel()??{}},getColumnFilterModel:function(e,t,o){const{gos:s,colModel:i,colFilter:n}=e;o&&!s.get("enableFilterHandlers")&&(Dt(288),o=!1);const r=i.getColDefCol(t);return r?n?.getModelForColumn(r,o)??null:null},setColumnFilterModel:function(e,t,o){return e.filterManager?.setColumnFilterModel(t,o)??Promise.resolve()},showColumnFilter:function(e,t){const o=e.colModel.getCol(t);o?e.menuSvc?.showFilterMenu({column:o,containerType:"columnFilter",positionBy:"auto"}):Mt(12,{colKey:t})},hideColumnFilter:function(e){e.menuSvc?.hideFilterMenu()},getColumnFilterHandler:function(e,t){const o=e.colModel.getCol(t);if(o)return e.colFilter?.getHandler(o,!0);Mt(12,{colKey:t})},doFilterAction:function(e,t){const{colModel:o,colFilter:s,gos:i}=e;if(!i.get("enableFilterHandlers"))return void Dt(287);const{colId:n,action:r}=t;if(n){const e=o.getColById(n);e&&s?.updateModel(e,r)}else s?.updateAllModels(r)}},dependsOn:[zp,Tg,Wp,Sp]},$p={moduleName:"QuickFilter",version:mt,apiFunctions:{isQuickFilterPresent:function(e){return!!e.quickFilter?.isFilterPresent()},getQuickFilter:function(e){return e.quickFilter?.getText()},resetQuickFilter:function(e){e.quickFilter?.resetCache()}},dependsOn:[{moduleName:"QuickFilterCore",version:mt,rowModels:["clientSide"],beans:[class extends Oe{constructor(){super(...arguments),this.beanName="quickFilter",this.quickFilter=null,this.quickFilterParts=null}postConstruct(){const e=this.resetCache.bind(this),t=this.gos;this.addManagedEventListeners({columnPivotModeChanged:e,newColumnsLoaded:e,columnRowGroupChanged:e,columnVisible:()=>{t.get("includeHiddenColumnsInQuickFilter")||this.resetCache()}}),this.addManagedPropertyListener("quickFilterText",e=>this.setFilter(e.currentValue)),this.addManagedPropertyListeners(["includeHiddenColumnsInQuickFilter","applyQuickFilterBeforePivotOrAgg"],()=>this.onColumnConfigChanged()),this.quickFilter=this.parseFilter(t.get("quickFilterText")),this.parser=t.get("quickFilterParser"),this.matcher=t.get("quickFilterMatcher"),this.setFilterParts(),this.addManagedPropertyListeners(["quickFilterMatcher","quickFilterParser"],()=>this.setParserAndMatcher())}refreshCols(){const{autoColSvc:e,colModel:t,gos:o,pivotResultCols:s}=this.beans,i=t.isPivotMode(),n=e?.getColumns(),r=t.getColDefCols();let l=(i&&!o.get("applyQuickFilterBeforePivotOrAgg")?s?.getPivotResultCols()?.list:r)??[];n&&(l=l.concat(n)),this.colsToUse=o.get("includeHiddenColumnsInQuickFilter")?l:l.filter(e=>e.isVisible()||e.isRowGroupActive())}isFilterPresent(){return null!==this.quickFilter}doesRowPass(e){const t=this.gos.get("cacheQuickFilter");return this.matcher?this.doesRowPassMatcher(t,e):this.quickFilterParts.every(o=>t?this.doesRowPassCache(e,o):this.doesRowPassNoCache(e,o))}resetCache(){this.beans.rowModel.forEachNode(e=>e.quickFilterAggregateText=null)}getText(){return this.gos.get("quickFilterText")}setFilterParts(){const{quickFilter:e,parser:t}=this;this.quickFilterParts=e?t?t(e):e.split(" "):null}parseFilter(e){return l(e)?e.toUpperCase():null}setFilter(e){if(null!=e&&"string"!=typeof e)return void Dt(70,{newFilter:e});const t=this.parseFilter(e);this.quickFilter!==t&&(this.quickFilter=t,this.setFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"}))}setParserAndMatcher(){const e=this.gos.get("quickFilterParser"),t=this.gos.get("quickFilterMatcher"),o=e!==this.parser||t!==this.matcher;this.parser=e,this.matcher=t,o&&(this.setFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"}))}onColumnConfigChanged(){this.refreshCols(),this.resetCache(),this.isFilterPresent()&&this.dispatchLocalEvent({type:"quickFilterChanged"})}doesRowPassNoCache(e,t){return this.colsToUse.some(o=>{const s=this.getTextForColumn(o,e);return l(s)&&s.includes(t)})}doesRowPassCache(e,t){return this.checkGenerateAggText(e),e.quickFilterAggregateText.includes(t)}doesRowPassMatcher(e,t){let o;e?(this.checkGenerateAggText(t),o=t.quickFilterAggregateText):o=this.getAggText(t);const{quickFilterParts:s,matcher:i}=this;return i(s,o)}checkGenerateAggText(e){e.quickFilterAggregateText||(e.quickFilterAggregateText=this.getAggText(e))}getTextForColumn(e,t){let o=this.beans.filterValueSvc.getValue(e,t);const s=e.getColDef();if(s.getQuickFilterText){const i=Co(this.gos,{value:o,node:t,data:t.data,column:e,colDef:s});o=s.getQuickFilterText(i)}return l(o)?o.toString().toUpperCase():null}getAggText(e){const t=[];for(const o of this.colsToUse){const s=this.getTextForColumn(o,e);l(s)&&t.push(s)}return t.join("\n")}}],dependsOn:[zp,Wp]}]},jp={moduleName:"EventApi",version:mt,apiFunctions:{addEventListener:function(e,t,o){e.apiEventSvc?.addListener(t,o)},addGlobalListener:function(e,t){e.apiEventSvc?.addGlobalListener(t)},removeEventListener:function(e,t,o){e.apiEventSvc?.removeListener(t,o)},removeGlobalListener:function(e,t){e.apiEventSvc?.removeGlobalListener(t)}},beans:[class extends Oe{constructor(){super(...arguments),this.beanName="apiEventSvc",this.syncListeners=/* @__PURE__ */new Map,this.asyncListeners=/* @__PURE__ */new Map,this.syncGlobalListeners=/* @__PURE__ */new Set,this.globalListenerPairs=/* @__PURE__ */new Map}postConstruct(){this.wrapSvc=this.beans.frameworkOverrides.createGlobalEventListenerWrapper?.()}addListener(e,t){const o=this.wrapSvc?.wrap(e,t)??t,s=!zc.has(e),i=s?this.asyncListeners:this.syncListeners;i.has(e)||i.set(e,/* @__PURE__ */new Set),i.get(e).add(o),this.eventSvc.addListener(e,o,s)}removeListener(e,t){const o=this.wrapSvc?.unwrap(e,t)??t,s=!!this.asyncListeners.get(e)?.delete(o);s||this.syncListeners.get(e)?.delete(o),this.eventSvc.removeListener(e,o,s)}addGlobalListener(e){const t=this.wrapSvc?.wrapGlobal(e)??e,o=(e,o)=>{zc.has(e)&&t(e,o)},s=(e,o)=>{zc.has(e)||t(e,o)};this.globalListenerPairs.set(e,{syncListener:o,asyncListener:s});const i=this.eventSvc;i.addGlobalListener(o,!1),i.addGlobalListener(s,!0)}removeGlobalListener(e){const{eventSvc:t,wrapSvc:o,globalListenerPairs:s}=this,i=o?.unwrapGlobal(e)??e;if(s.has(i)){const{syncListener:o,asyncListener:n}=s.get(i);t.removeGlobalListener(o,!1),t.removeGlobalListener(n,!0),s.delete(e)}else this.syncGlobalListeners.delete(i),t.removeGlobalListener(i,!1)}destroyEventListeners(e,t){e.forEach((e,o)=>{e.forEach(e=>this.eventSvc.removeListener(o,e,t)),e.clear()}),e.clear()}destroyGlobalListeners(e,t){for(const o of e)this.eventSvc.removeGlobalListener(o,t);e.clear()}destroy(){super.destroy(),this.destroyEventListeners(this.syncListeners,!1),this.destroyEventListeners(this.asyncListeners,!0),this.destroyGlobalListeners(this.syncGlobalListeners,!1);const{globalListenerPairs:e,eventSvc:t}=this;e.forEach(({syncListener:e,asyncListener:o})=>{t.removeGlobalListener(e,!1),t.removeGlobalListener(o,!0)}),e.clear()}}]};function Kp(e,t){if("number"!=typeof e)return"";const o=t(),s=o("thousandSeparator",","),i=o("decimalSeparator",".");return e.toString().replace(".",i).replace(/(\d)(?=(\d{3})+(?!\d))/g,`$1${s}`)}var _p={tag:"span",children:[{tag:"span",ref:"eDelta",cls:"ag-value-change-delta"},{tag:"span",ref:"eValue",cls:"ag-value-change-value"}]},qp={tag:"span",children:[{tag:"span",ref:"eCurrent",cls:"ag-value-slide-current"}]},Yp={moduleName:"HighlightChanges",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="cellFlashSvc",this.nextAnimationTime=null,this.nextAnimationCycle=null,this.animations={highlight:/* @__PURE__ */new Map,"data-changed":/* @__PURE__ */new Map}}animateCell(e,t,o=this.beans.gos.get("cellFlashDuration"),s=this.beans.gos.get("cellFadeDuration")){const i=this.animations[t];i.delete(e);const n=Date.now(),r=n+o,l={phase:"flash",flashEndTime:r,fadeEndTime:n+o+s};i.set(e,l);const a=`ag-cell-${t}`,d=`${a}-animation`,{comp:c,eGui:{style:h}}=e;c.toggleCss(a,!0),c.toggleCss(d,!1),h.removeProperty("transition"),h.removeProperty("transition-delay"),this.nextAnimationTime&&r+15{this.nextAnimationCycle=setTimeout(this.advanceAnimations.bind(this),o)}),this.nextAnimationTime=r)}advanceAnimations(){const e=Date.now();let t=null;for(const o of Object.keys(this.animations)){const s=this.animations[o],i=`ag-cell-${o}`,n=`${i}-animation`;for(const[o,r]of s){if(!o.isAlive()||!o.comp){s.delete(o);continue}const{phase:l,flashEndTime:a,fadeEndTime:d}=r,c="flash"===l?a:d;if(!(e+15>=c)){t=Math.min(c,t??1/0);continue}const{comp:h,eGui:{style:u}}=o;switch(l){case"flash":h.toggleCss(i,!1),h.toggleCss(n,!0),u.transition=`background-color ${d-a}ms`,u.transitionDelay=a-e+"ms",t=Math.min(d,t??1/0),r.phase="fade";break;case"fade":h.toggleCss(i,!1),h.toggleCss(n,!1),u.removeProperty("transition"),u.removeProperty("transition-delay"),s.delete(o)}}}null==t?(this.nextAnimationTime=null,this.nextAnimationCycle=null):t&&(this.nextAnimationCycle=setTimeout(this.advanceAnimations.bind(this),t-e),this.nextAnimationTime=t)}onFlashCells(e,t){if(!e.comp)return;const o=wn(e.cellPosition);t.cells[o]&&this.animateCell(e,"highlight")}flashCell(e,t){this.animateCell(e,"data-changed",t?.flashDuration,t?.fadeDuration)}destroy(){for(const e of Object.keys(this.animations))this.animations[e].clear()}}],userComponents:{agAnimateShowChangeCellRenderer:class extends Pi{constructor(){super(_p),this.eValue=null,this.eDelta=null,this.refreshCount=0}init(e){this.refresh(e,!0)}showDelta(e,t){const o=Math.abs(t),s=e.formatValue(o),i=l(s)?s:o,n=t>=0,r=this.eDelta;r.textContent=n?"↑"+i:"↓"+i,r.classList.toggle("ag-value-change-delta-up",n),r.classList.toggle("ag-value-change-delta-down",!n)}setTimerToRemoveDelta(){this.refreshCount++;const e=this.refreshCount;this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{e===this.refreshCount&&this.hideDeltaValue()},2e3)})}hideDeltaValue(){this.eValue.classList.remove("ag-value-change-value-highlight"),se(this.eDelta)}refresh(e,t=!1){const{value:o,valueFormatted:s}=e,{eValue:i,lastValue:n,beans:r}=this;if(o===n)return!1;if(l(s)?i.textContent=s:l(o)?i.textContent=o:se(i),r.filterManager?.isSuppressFlashingCellsBecauseFiltering())return!1;const a=o&&"object"==typeof o&&"toNumber"in o?o.toNumber():o,d=n&&"object"==typeof n&&"toNumber"in n?n.toNumber():n;if(a===d)return!1;if("number"==typeof a&&"number"==typeof d){const t=a-d;this.showDelta(e,t)}return n&&i.classList.add("ag-value-change-value-highlight"),t||this.setTimerToRemoveDelta(),this.lastValue=o,!0}},agAnimateSlideCellRenderer:class extends Pi{constructor(){super(qp),this.eCurrent=null,this.refreshCount=0,this.registerCSS(".ag-value-slide-out{opacity:1}:where(.ag-ltr) .ag-value-slide-out{margin-right:5px;transition:opacity 3s,margin-right 3s}:where(.ag-rtl) .ag-value-slide-out{margin-left:5px;transition:opacity 3s,margin-left 3s}:where(.ag-ltr,.ag-rtl) .ag-value-slide-out{transition-timing-function:linear}.ag-value-slide-out-end{opacity:0}:where(.ag-ltr) .ag-value-slide-out-end{margin-right:10px}:where(.ag-rtl) .ag-value-slide-out-end{margin-left:10px}")}init(e){this.refresh(e,!0)}addSlideAnimation(){this.refreshCount++;const e=this.refreshCount;this.ePrevious?.remove();const{beans:t,eCurrent:o}=this,s=Cl({tag:"span",cls:"ag-value-slide-previous ag-value-slide-out"});this.ePrevious=s,s.textContent=o.textContent,this.getGui().insertBefore(s,o),t.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{e===this.refreshCount&&this.ePrevious.classList.add("ag-value-slide-out-end")},50),window.setTimeout(()=>{e===this.refreshCount&&(this.ePrevious?.remove(),this.ePrevious=null)},3e3)})}refresh(e,t=!1){let o=e.value;if(a(o)&&(o=""),o===this.lastValue)return!1;if(this.beans.filterManager?.isSuppressFlashingCellsBecauseFiltering())return!1;t||this.addSlideAnimation(),this.lastValue=o;const s=this.eCurrent;return l(e.valueFormatted)?s.textContent=e.valueFormatted:l(e.value)?s.textContent=o:se(s),!0}}},apiFunctions:{flashCells:function(e,t={}){const{cellFlashSvc:o}=e;o&&e.frameworkOverrides.wrapIncoming(()=>{for(const s of e.rowRenderer.getCellCtrls(t.rowNodes,t.columns))o.flashCell(s,t)})}}},Zp={tag:"div",cls:"ag-selection-checkbox",role:"presentation",children:[{tag:"ag-checkbox",ref:"eCheckbox",role:"presentation"}]},Qp=class extends Pi{constructor(){super(Zp,[za]),this.eCheckbox=null}postConstruct(){this.eCheckbox.setPassive(!0)}onDataChanged(){this.onSelectionChanged()}onSelectableChanged(){this.showOrHideSelect()}onSelectionChanged(){const e=this.getLocaleTextFunc(),{rowNode:t,eCheckbox:o}=this,s=t.isSelected(),i=W(e,s),[n,r]=t.selectable?["ariaRowToggleSelection","Press Space to toggle row selection"]:["ariaRowSelectionDisabled","Row Selection is disabled for this row"],l=e(n,r);o.setValue(s,!0),o.setInputAriaLabel(`${l} (${i})`)}init(e){if(this.rowNode=e.rowNode,this.column=e.column,this.overrides=e.overrides,this.onSelectionChanged(),this.addManagedListeners(this.eCheckbox.getWrapperElement(),{dblclick:qi,click:e=>{qi(e),this.eCheckbox.isDisabled()||this.beans.selectionSvc?.handleSelectionEvent(e,this.rowNode,"checkboxSelected")}}),this.addManagedListeners(this.rowNode,{rowSelected:this.onSelectionChanged.bind(this),dataChanged:this.onDataChanged.bind(this),selectableChanged:this.onSelectableChanged.bind(this)}),this.addManagedPropertyListener("rowSelection",({currentValue:e,previousValue:t})=>{("object"==typeof e?oo(e):void 0)!==("object"==typeof t?oo(t):void 0)&&this.onSelectableChanged()}),lo(this.gos)||"function"==typeof this.getIsVisible()){const e=this.showOrHideSelect.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e}),this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.showOrHideSelect()}this.eCheckbox.getInputElement().setAttribute("tabindex","-1")}showOrHideSelect(){const{column:e,rowNode:t,overrides:o,gos:s}=this,i=t.selectable,n=this.getIsVisible();let r;if("function"==typeof n){const s=o?.callbackParams;if(e){const o=e.createColumnFunctionCallbackParams(t);r=n({...s,...o})}else r=n({...s,node:t,data:t.data})}else r=n??!1;const l=i&&!r||!i&&r,a=i||r,d=s.get("rowSelection"),c=d&&"string"!=typeof d?!oo(d):!!e?.getColDef().showDisabledCheckboxes;this.setVisible(a&&(!l||c)),this.setDisplayed(a&&(!l||c)),a&&this.eCheckbox.setDisabled(l),o?.removeHidden&&this.setDisplayed(a)}getIsVisible(){const e=this.overrides;if(e)return e.isVisible;const t=this.gos.get("rowSelection");return t&&"string"!=typeof t?Jt(t):this.column?.getColDef()?.checkboxSelection}},Xp=class{constructor(e,t){this.rowModel=e,this.pinnedRowModel=t,this.selectAll=!1,this.rootId=null,this.endId=null,this.cachedRange=[]}reset(){this.rootId=null,this.endId=null,this.cachedRange.length=0}setRoot(e){this.rootId=e.id,this.endId=null,this.cachedRange.length=0}setEndRange(e){this.endId=e.id,this.cachedRange.length=0}getRange(){if(0===this.cachedRange.length){const e=this.getRoot(),t=this.getEnd();if(null==e||null==t)return this.cachedRange;this.cachedRange=this.getNodesInRange(e,t)??[]}return this.cachedRange}isInRange(e){return null!==this.rootId&&this.getRange().some(t=>t.id===e.id)}getRoot(e){return this.rootId?this.getRowNode(this.rootId):e?(this.setRoot(e),e):void 0}getEnd(){if(this.endId)return this.getRowNode(this.endId)}getRowNode(e){let t;const{rowModel:o,pinnedRowModel:s}=this;return t??(t=o.getRowNode(e)),s?.isManual()&&(t??(t=s.getPinnedRowById(e,"top")),t??(t=s.getPinnedRowById(e,"bottom"))),t}truncate(e){const t=this.getRange();if(0===t.length)return{keep:[],discard:[]};const o=t[0].id===this.rootId,s=t.findIndex(t=>t.id===e.id);if(s>-1){const i=t.slice(0,s),n=t.slice(s+1);return this.setEndRange(e),o?{keep:i,discard:n}:{keep:n,discard:i}}return{keep:t,discard:[]}}extend(e,t=!1){const o=this.getRoot();if(null==o){const o=this.getRange().slice();return t&&e.depthFirstSearch(e=>!e.group&&o.push(e)),o.push(e),this.setRoot(e),{keep:o,discard:[]}}const s=this.getNodesInRange(o,e);if(!s)return this.setRoot(e),{keep:[e],discard:[]};if(s.find(e=>e.id===this.endId))return this.setEndRange(e),{keep:this.getRange(),discard:[]};{const t=this.getRange().slice();return this.setEndRange(e),{keep:this.getRange(),discard:t}}}getNodesInRange(e,t){const{pinnedRowModel:o,rowModel:s}=this;if(!o?.isManual())return s.getNodesInRangeForSelection(e,t);if("top"===e.rowPinned&&!t.rowPinned)return Oh(o,"top",e,void 0).concat(s.getNodesInRangeForSelection(s.getRow(0),t)??[]);if("bottom"===e.rowPinned&&!t.rowPinned){const i=Oh(o,"bottom",void 0,e),n=s.getRowCount(),r=s.getRow(n-1);return(s.getNodesInRangeForSelection(t,r)??[]).concat(i)}if(!e.rowPinned&&!t.rowPinned)return s.getNodesInRangeForSelection(e,t);if("top"===e.rowPinned&&"top"===t.rowPinned)return Oh(o,"top",e,t);if("bottom"===e.rowPinned&&"top"===t.rowPinned){const i=Oh(o,"top",t,void 0),n=Oh(o,"bottom",void 0,e),r=s.getRow(0),l=s.getRow(s.getRowCount()-1);return i.concat(s.getNodesInRangeForSelection(r,l)??[]).concat(n)}if(!e.rowPinned&&"top"===t.rowPinned)return Oh(o,"top",t,void 0).concat(s.getNodesInRangeForSelection(s.getRow(0),e)??[]);if("top"===e.rowPinned&&"bottom"===t.rowPinned){const i=Oh(o,"top",e,void 0),n=Oh(o,"bottom",void 0,t),r=s.getRow(0),l=s.getRow(s.getRowCount()-1);return i.concat(s.getNodesInRangeForSelection(r,l)??[]).concat(n)}if("bottom"===e.rowPinned&&"bottom"===t.rowPinned)return Oh(o,"bottom",e,t);if(!e.rowPinned&&"bottom"===t.rowPinned){const i=Oh(o,"bottom",void 0,t),n=s.getRow(s.getRowCount());return(s.getNodesInRangeForSelection(e,n)??[]).concat(i)}return null}},Jp=class extends Oe{constructor(e){super(),this.column=e,this.cbSelectAllVisible=!1,this.processingEventFromCheckbox=!1}onSpaceKeyDown(e){const t=this.cbSelectAll;t.isDisplayed()&&!t.getGui().contains(w(this.beans))&&(e.preventDefault(),t.setValue(!t.getValue()))}getCheckboxGui(){return this.cbSelectAll.getGui()}setComp(e){this.headerCellCtrl=e;const t=this.createManagedBean(new Va);this.cbSelectAll=t,t.addCss("ag-header-select-all"),P(t.getGui(),"presentation"),this.showOrHideSelectAll();const o=this.updateStateOfCheckbox.bind(this);this.addManagedEventListeners({newColumnsLoaded:()=>this.showOrHideSelectAll(),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),selectionChanged:o,paginationChanged:o,modelUpdated:o}),this.addManagedPropertyListener("rowSelection",({currentValue:e,previousValue:t})=>{const o=e=>"string"!=typeof e&&e&&"singleRow"!==e.mode?e.selectAll:void 0;o(e)!==o(t)&&this.showOrHideSelectAll(),this.updateStateOfCheckbox()}),this.addManagedListeners(t,{fieldValueChanged:this.onCbSelectAll.bind(this)}),t.getInputElement().setAttribute("tabindex","-1"),this.refreshSelectAllLabel()}onDisplayedColumnsChanged(e){this.isAlive()&&this.showOrHideSelectAll("uiColumnMoved"===e.source)}showOrHideSelectAll(e=!1){const t=this.isCheckboxSelection();this.cbSelectAllVisible=t,this.cbSelectAll.setDisplayed(t),t&&(this.checkRightRowModelType("selectAllCheckbox"),this.checkSelectionType("selectAllCheckbox"),this.updateStateOfCheckbox()),this.refreshSelectAllLabel(e)}updateStateOfCheckbox(){if(!this.cbSelectAllVisible||this.processingEventFromCheckbox)return;this.processingEventFromCheckbox=!0;const e=this.getSelectAllMode(),t=this.beans.selectionSvc,o=this.cbSelectAll,s=t.getSelectAllState(e);o.setValue(s);const i=t.hasNodesToSelect(e);o.setDisabled(!i),this.refreshSelectAllLabel(),this.processingEventFromCheckbox=!1}refreshSelectAllLabel(e=!1){const t=this.getLocaleTextFunc(),{headerCellCtrl:o,cbSelectAll:s,cbSelectAllVisible:i}=this,n=W(t,s.getValue()),r=t("ariaRowSelectAll","Press Space to toggle all rows selection");o.setAriaDescriptionProperty("selectAll",i?`${r} (${n})`:null),s.setInputAriaLabel(t("ariaHeaderSelection","Column with Header Selection")),e||o.announceAriaDescription()}checkSelectionType(e){return!!co(this.gos)||(Dt(128,{feature:e}),!1)}checkRightRowModelType(e){const{gos:t,rowModel:o}=this.beans;return!(!It(t)&&!At(t)&&(Dt(129,{feature:e,rowModel:o.getType()}),1))}onCbSelectAll(){if(this.processingEventFromCheckbox)return;if(!this.cbSelectAllVisible)return;const e=this.cbSelectAll.getValue(),t=this.getSelectAllMode();let o="uiSelectAll";"currentPage"===t?o="uiSelectAllCurrentPage":"filtered"===t&&(o="uiSelectAllFiltered");const s={source:o,selectAll:t},i=this.beans.selectionSvc;e?i.selectAllRowNodes(s):i.deselectAllRowNodes(s)}isCheckboxSelection(){const{column:e,gos:t,beans:o}=this,s="object"==typeof t.get("rowSelection")?"headerCheckbox":"headerCheckboxSelection";return em(o,e)&&this.checkRightRowModelType(s)&&this.checkSelectionType(s)}getSelectAllMode(){const e=uo(this.gos,!1);if(e)return e;const{headerCheckboxSelectionCurrentPageOnly:t,headerCheckboxSelectionFilteredOnly:o}=this.column.getColDef();return t?"currentPage":o?"filtered":"all"}destroy(){super.destroy(),this.cbSelectAll=void 0,this.headerCellCtrl=void 0}};function em({gos:e,selectionColSvc:t},o){const s=e.get("rowSelection"),i=o.getColDef(),{headerCheckboxSelection:n}=i;let r=!1;if("object"==typeof s){const e=ts(o),i=es(o);("autoGroupColumn"===to(s)&&i||e&&t?.isSelectionColumnEnabled())&&(r=eo(s))}else r="function"==typeof n?n(Co(e,{column:o,colDef:i})):!!n;return r}var tm=class extends Oe{postConstruct(){const{gos:e,beans:t}=this;this.selectionCtx=new Xp(t.rowModel,t.pinnedRowModel),this.addManagedPropertyListeners(["isRowSelectable","rowSelection"],()=>{const t=lo(e);t!==this.isRowSelectable&&(this.isRowSelectable=t,this.updateSelectable())}),this.isRowSelectable=lo(e),this.addManagedEventListeners({cellValueChanged:e=>this.updateRowSelectable(e.node),rowNodeDataChanged:e=>this.updateRowSelectable(e.node)})}destroy(){super.destroy(),this.selectionCtx.reset()}createCheckboxSelectionComponent(){return new Qp}createSelectAllFeature(e){if(em(this.beans,e))return new Jp(e)}isMultiSelect(){return co(this.gos)}onRowCtrlSelected(e,t,o){const s=!!e.rowNode.isSelected();e.forEachGui(o,e=>{e.rowComp.toggleCss("ag-row-selected",s);const o=e.element;V(o,s),o.contains(w(this.beans))&&t(e)})}announceAriaRowSelection(e){if(this.isRowSelectionBlocked(e))return;const t=e.isSelected(),o=this.beans.editSvc?.isEditing({rowNode:e});if(!e.selectable||o)return;const s=this.getLocaleTextFunc()(t?"ariaRowDeselect":"ariaRowSelect",`Press SPACE to ${t?"deselect":"select"} this row`);this.beans.ariaAnnounce?.announceValue(s,"rowSelection")}isRowSelectionBlocked(e){return!e.selectable||e.rowPinned&&!Hh(e)||!Lt(this.gos)}updateRowSelectable(e,t){const o=e.rowPinned&&e.pinnedSibling?e.pinnedSibling.selectable:this.isRowSelectable?.(e)??!0;return this.setRowSelectable(e,o,t),o}setRowSelectable(e,t,o){if(e.selectable!==t){if(e.selectable=t,e.dispatchRowEvent("selectableChanged"),o)return;if(go(this.gos)){const t=this.calculateSelectedFromChildren(e);return void this.setNodesSelected({nodes:[e],newValue:t??!1,source:"selectableChanged"})}e.isSelected()&&!e.selectable&&this.setNodesSelected({nodes:[e],newValue:!1,source:"selectableChanged"})}}calculateSelectedFromChildren(e){let t=!1,o=!1;if(!e.childrenAfterGroup?.length)return e.selectable?e.__selected:null;for(let s=0;s0&&t>0?void 0:e>0)}function sm(e){const t=!1===e.isSelected(),o=e.childrenAfterFilter?.some(sm)??!1;return t||o}var im={moduleName:"SharedRowSelection",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="selectionColSvc"}postConstruct(){this.addManagedPropertyListener("rowSelection",e=>{this.onSelectionOptionsChanged(e.currentValue,e.previousValue,ls(e.source))}),this.addManagedPropertyListener("selectionColumnDef",this.updateColumns.bind(this))}addColumns(e){const t=this.columns;null!=t&&(e.list=t.list.concat(e.list),e.tree=t.tree.concat(e.tree),rs(e))}createColumns(e,t){const o=e.treeDepth,s=(this.columns?.treeDepth??-1)==o,i=this.generateSelectionCols();if(ns(i,this.columns?.list??[])&&s)return;(()=>{Jo(this.beans,this.columns?.tree),this.columns=null})();const{colGroupSvc:n}=this.beans,r=n?.findDepth(e.tree)??0;this.columns={list:i,tree:n?.balanceTreeForAutoCols(i,r)??[],treeDepth:r,map:{}},t(e=>{if(!e)return null;const t=e.filter(e=>!ts(e));return[...i,...t]})}updateColumns(e){const t=ls(e.source),{beans:o}=this;for(const s of this.columns?.list??[]){const i=this.createSelectionColDef(e.currentValue);s.setColDef(i,null,t),Aa(o,{state:[ds(i,s.colId)]},t)}}getColumn(e){return this.columns?.list.find(t=>as(t,e))??null}getColumns(){return this.columns?.list??null}isSelectionColumnEnabled(){const{gos:e,beans:t}=this,o=e.get("rowSelection");if("object"!=typeof o||!Lt(e))return!1;const s=(t.autoColSvc?.getColumns()?.length??0)>0;if("autoGroupColumn"===o.checkboxLocation&&s)return!1;const i=!!Jt(o),n=eo(o);return i||n}createSelectionColDef(e){const{gos:t}=this,o=e??t.get("selectionColumnDef"),s=t.get("enableRtl"),{rowSpan:i,spanRows:n,...r}=o??{};return{width:50,resizable:!1,suppressHeaderMenuButton:!0,sortable:!1,suppressMovable:!0,lockPosition:s?"right":"left",comparator(e,t,o,s){const i=o.isSelected();return i===s.isSelected()?0:i?1:-1},editable:!1,suppressFillHandle:!0,suppressAutoSize:!0,pinned:null,...r,colId:"ag-Grid-SelectionColumn",chartDataType:"excluded"}}generateSelectionCols(){if(!this.isSelectionColumnEnabled())return[];const e=this.createSelectionColDef(),t=e.colId;this.gos.validateColDef(e,t,!0);const o=new Fo(e,null,t,!1);return this.createBean(o),[o]}onSelectionOptionsChanged(e,t,o){const s=(t&&"string"!=typeof t?Jt(t):void 0)!==(e&&"string"!=typeof e?Jt(e):void 0),i=(t&&"string"!=typeof t?eo(t):void 0)!==(e&&"string"!=typeof e?eo(e):void 0),n=to(e)!==to(t);(s||i||n)&&this.beans.colModel.refreshAll(o)}destroy(){Jo(this.beans,this.columns?.tree),super.destroy()}refreshVisibility(e,t,o){if(!this.columns?.list.length)return;const i=e.length+t.length+o.length;if(0===i)return;const n=this.columns.list[0];n.isVisible()&&(this.beans.rowNumbersSvc?.getColumn("ag-Grid-RowNumbersColumn")?2:1)===i&&(()=>{let i;switch(n.pinned){case"left":case!0:i=e;break;case"right":i=o;break;default:i=t}i&&s(i,n)})()}}],css:[':where(.ag-selection-checkbox) .ag-checkbox-input-wrapper:before{content:"";cursor:pointer;inset:-8px;position:absolute}'],apiFunctions:{setNodesSelected:function(e,t){if(!t.nodes.every(e=>e.rowPinned&&!Hh(e)?(Dt(59),!1):void 0!==e.id||(Dt(60),!1)))return;const{nodes:o,source:s,newValue:i}=t;e.selectionSvc?.setNodesSelected({nodes:o,source:s??"api",newValue:i})},selectAll:function(e,t,o="apiSelectAll"){e.selectionSvc?.selectAllRowNodes({source:o,selectAll:t})},deselectAll:function(e,t,o="apiSelectAll"){e.selectionSvc?.deselectAllRowNodes({source:o,selectAll:t})},selectAllFiltered:function(e,t="apiSelectAllFiltered"){e.selectionSvc?.selectAllRowNodes({source:t,selectAll:"filtered"})},deselectAllFiltered:function(e,t="apiSelectAllFiltered"){e.selectionSvc?.deselectAllRowNodes({source:t,selectAll:"filtered"})},selectAllOnCurrentPage:function(e,t="apiSelectAllCurrentPage"){e.selectionSvc?.selectAllRowNodes({source:t,selectAll:"currentPage"})},deselectAllOnCurrentPage:function(e,t="apiSelectAllCurrentPage"){e.selectionSvc?.deselectAllRowNodes({source:t,selectAll:"currentPage"})},getSelectedNodes:function(e){return e.selectionSvc?.getSelectedNodes()??[]},getSelectedRows:function(e){return e.selectionSvc?.getSelectedRows()??[]}}},nm={moduleName:"RowSelection",version:mt,rowModels:["clientSide","infinite","viewport"],beans:[class extends tm{constructor(){super(...arguments),this.beanName="selectionSvc",this.selectedNodes=/* @__PURE__ */new Map,this.detailSelection=/* @__PURE__ */new Map,this.masterSelectsDetail=!1}postConstruct(){super.postConstruct();const{gos:e}=this;this.mode=ao(e),this.groupSelectsDescendants=go(e),this.groupSelectsFiltered="filteredDescendants"===ho(e),this.masterSelectsDetail="detail"===po(e),this.addManagedPropertyListeners(["groupSelectsChildren","groupSelectsFiltered","rowSelection"],()=>{const t=go(e),o=ao(e),s="filteredDescendants"===ho(e);this.masterSelectsDetail="detail"===po(e),t===this.groupSelectsDescendants&&s===this.groupSelectsFiltered&&o===this.mode||(this.deselectAllRowNodes({source:"api"}),this.groupSelectsDescendants=t,this.groupSelectsFiltered=s,this.mode=o)}),this.addManagedEventListeners({rowSelected:this.onRowSelected.bind(this)})}destroy(){super.destroy(),this.resetNodes()}handleSelectionEvent(e,t,o){if(this.isRowSelectionBlocked(t))return 0;const s=this.inferNodeSelections(t,e.shiftKey,e.metaKey||e.ctrlKey,o);if(null==s)return 0;if(this.selectionCtx.selectAll=!1,"select"in s)return s.reset?this.resetNodes():this.selectRange(s.deselect,!1,o),this.selectRange(s.select,!0,o);{const t=s.checkFilteredNodes?sm(s.node):s.newValue;return this.setNodesSelected({nodes:[s.node],newValue:t,clearSelection:s.clearSelection,keepDescendants:s.keepDescendants,event:e,source:o})}}setNodesSelected({newValue:e,clearSelection:t,suppressFinishActions:o,nodes:s,event:i,source:n,keepDescendants:r=!1}){if(0===s.length)return 0;const{gos:l}=this;if(!Lt(l)&&e)return Dt(132),0;if(s.length>1&&!this.isMultiSelect())return Dt(130),0;let a=0;for(let d=0;d0&&(this.updateGroupsFromChildrenSelections(n),this.dispatchSelectionChanged(n))),a}selectRange(e,t,o){let s=0;return e.forEach(e=>{const i=e.primaryRow;i.group&&this.groupSelectsDescendants||this.selectRowNode(i,t,void 0,o)&&s++}),s>0&&(this.updateGroupsFromChildrenSelections(o),this.dispatchSelectionChanged(o)),s}selectChildren(e,t,o){const s=this.groupSelectsFiltered?e.childrenAfterAggFilter:e.childrenAfterGroup;return s?this.setNodesSelected({newValue:t,clearSelection:!1,suppressFinishActions:!0,source:o,nodes:s}):0}getSelectedNodes(){return Array.from(this.selectedNodes.values())}getSelectedRows(){const e=[];return this.selectedNodes.forEach(t=>t.data&&e.push(t.data)),e}getSelectionCount(){return this.selectedNodes.size}filterFromSelection(e){const t=/* @__PURE__ */new Map;this.selectedNodes.forEach((o,s)=>{e(o)&&t.set(s,o)}),this.selectedNodes=t}updateGroupsFromChildrenSelections(e,t){if(!this.groupSelectsDescendants)return!1;const{gos:o,rowModel:s}=this.beans;if(!It(o))return!1;const i=s.rootNode;if(!i)return!1;let n=!1;return eg(i,this.beans.rowModel.hierarchical,t,t=>{if(t!==i){const o=this.calculateSelectedFromChildren(t);n=this.selectRowNode(t,null!==o&&o,void 0,e)||n}}),n}clearOtherNodes(e,t,o){const s=/* @__PURE__ */new Map;let i=0;return this.selectedNodes.forEach(n=>{const r=n.id==e.id;if(!(t&&function(e,t){let o=t.parent;for(;o;){if(o===e)return!0;o=o.parent}return!1}(e,n)||r)){const e=this.selectedNodes.get(n.id);i+=this.setNodesSelected({nodes:[e],newValue:!1,clearSelection:!1,suppressFinishActions:!0,source:o}),this.groupSelectsDescendants&&n.parent&&s.set(n.parent.id,n.parent)}}),s.forEach(e=>{const t=this.calculateSelectedFromChildren(e);this.selectRowNode(e,null!==t&&t,void 0,o)}),i}onRowSelected(e){const t=e.node;this.groupSelectsDescendants&&t.group||(t.isSelected()?this.selectedNodes.set(t.id,t):this.selectedNodes.delete(t.id))}syncInRowNode(e,t){this.syncInOldRowNode(e,t),this.syncInNewRowNode(e)}createDaemonNode(e){if(!e.id)return;const t=new ln(this.beans);return t.id=e.id,t.data=e.data,t.__selected=e.__selected,t.level=e.level,t}syncInOldRowNode(e,t){t&&e.id!==t.id&&this.selectedNodes.get(t.id)==e&&this.selectedNodes.set(t.id,t)}syncInNewRowNode(e){this.selectedNodes.has(e.id)?(e.__selected=!0,this.selectedNodes.set(e.id,e)):e.__selected=!1}reset(e){const t=this.getSelectionCount();this.resetNodes(),t&&this.dispatchSelectionChanged(e)}resetNodes(){this.selectedNodes.forEach(e=>{this.selectRowNode(e,!1)}),this.selectedNodes.clear()}getBestCostNodeSelection(){const{gos:e,rowModel:t}=this.beans;if(!It(e))return;const o=t.getTopLevelNodes();if(null===o)return;const s=[];return function e(t){for(let o=0,i=t.length;o{const o=this.selectRowNode(t.primaryRow,!1,void 0,e);s||(s=o)};if("currentPage"===t||"filtered"===t){if(!o)return void Mt(102);this.getNodesToSelect(t).forEach(i)}else this.selectedNodes.forEach(i),this.reset(e);if(this.selectionCtx.selectAll=!1,o&&this.groupSelectsDescendants){const t=this.updateGroupsFromChildrenSelections(e);s||(s=t)}s&&this.dispatchSelectionChanged(e)}getSelectedCounts(e){let t=0,o=0;return this.getNodesToSelect(e).forEach(e=>{this.groupSelectsDescendants&&e.group||(e.isSelected()?t++:e.selectable&&o++)}),{selectedCount:t,notSelectedCount:o}}getSelectAllState(e){const{selectedCount:t,notSelectedCount:o}=this.getSelectedCounts(e);return om(t,o)??null}hasNodesToSelect(e){return this.getNodesToSelect(e).filter(e=>e.selectable).length>0}getNodesToSelect(e){if(!this.canSelectAll())return[];const t=[],o=e=>t.push(e);if("currentPage"===e)return this.forEachNodeOnPage(e=>{if(e.group){if(!e.footer&&!e.expanded){const t=e=>{o(e);const s=e.childrenAfterFilter;if(s)for(let o=0,i=s.length;o{const t=this.selectRowNode(e.primaryRow,!0,void 0,s);n||(n=t)}),o.selectAll=!0,It(t)&&this.groupSelectsDescendants){const e=this.updateGroupsFromChildrenSelections(s);n||(n=e)}n&&this.dispatchSelectionChanged(s)}getSelectionState(){return this.isEmpty()?null:Array.from(this.selectedNodes.keys())}setSelectionState(e,t,o){if(e||(e=[]),!Array.isArray(e))return void Mt(103);const s=new Set(e),i=[];this.beans.rowModel.forEachNode(e=>{s.has(e.id)&&i.push(e)}),o&&this.resetNodes(),this.setNodesSelected({newValue:!0,nodes:i,source:t})}canSelectAll(){return It(this.beans.gos)}updateSelectable(e){const{gos:t,rowModel:o}=this.beans;if(!Lt(t))return;const s="selectableChanged",i=It(t)&&this.groupSelectsDescendants,n=[];if(i){const t=o.rootNode;t&&eg(t,o.hierarchical,e,e=>{let t=!1;for(const o of e.childrenAfterGroup)t||(t=o.selectable),o.group||this.updateRowSelectable(o,!0)||!o.isSelected()||n.push(o);this.setRowSelectable(e,t,!0)})}else o.forEachNode(e=>{!this.updateRowSelectable(e,!0)&&e.isSelected()&&n.push(e)});n.length&&this.setNodesSelected({nodes:n,newValue:!1,source:s}),!e&&i&&this.updateGroupsFromChildrenSelections?.(s)}updateSelectableAfterGrouping(e){this.updateSelectable(e),this.groupSelectsDescendants&&this.updateGroupsFromChildrenSelections?.("rowGroupChanged",e)&&this.dispatchSelectionChanged("rowGroupChanged")}refreshMasterNodeState(e,t){if(!this.masterSelectsDetail)return;const o=e.detailNode?.detailGridInfo?.api;if(!o)return;const s=function(e){let t=0,o=0;return e.forEachNode(e=>{e.isSelected()?t++:e.selectable&&o++}),om(t,o)}(o);e.isSelected()!==s&&this.selectRowNode(e,s,t,"masterDetail")&&this.dispatchSelectionChanged("masterDetail"),s||this.detailSelection.set(e.id,new Set(o.getSelectedNodes().map(e=>e.id)))}setDetailSelectionState(e,t,o){if(this.masterSelectsDetail)if(co(t))switch(e.isSelected()){case!0:o.selectAll();break;case!1:o.deselectAll();break;case void 0:{const t=this.detailSelection.get(e.id);if(t){const e=[];for(const s of t){const t=o.getRowNode(s);t&&e.push(t)}o.setNodesSelected({nodes:e,newValue:!0,source:"masterDetail"})}break}}else Dt(269)}dispatchSelectionChanged(e){this.eventSvc.dispatchEvent({type:"selectionChanged",source:e,selectedNodes:this.getSelectedNodes(),serverSideState:null})}}],dependsOn:[im]},rm=class extends Oe{constructor(e,t){super(),this.cellCtrl=e,this.staticClasses=[],this.beans=t,this.column=e.column}setComp(e){this.cellComp=e,this.applyUserStyles(),this.applyCellClassRules(),this.applyClassesFromColDef()}applyCellClassRules(){const{column:e,cellComp:t}=this,o=e.colDef,s=o.cellClassRules,i=this.getCellClassParams(e,o);jh(this.beans.expressionSvc,s===this.cellClassRules?void 0:this.cellClassRules,s,i,e=>t.toggleCss(e,!0),e=>t.toggleCss(e,!1)),this.cellClassRules=s}applyUserStyles(){const e=this.column,t=e.colDef,o=t.cellStyle;if(!o)return;let s;s="function"==typeof o?o(this.getCellClassParams(e,t)):o,s&&this.cellComp.setUserStyles(s)}applyClassesFromColDef(){const{column:e,cellComp:t}=this,o=e.colDef,s=this.getCellClassParams(e,o);for(const n of this.staticClasses)t.toggleCss(n,!1);const i=this.beans.cellStyles.getStaticCellClasses(o,s);this.staticClasses=i;for(const n of i)t.toggleCss(n,!0)}getCellClassParams(e,t){const{value:o,rowNode:s}=this.cellCtrl;return Co(this.beans.gos,{value:o,data:s.data,node:s,colDef:t,column:e,rowIndex:s.rowIndex})}},lm={moduleName:"CellStyle",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="cellStyles"}processAllCellClasses(e,t,o,s){jh(this.beans.expressionSvc,void 0,e.cellClassRules,t,o,s),this.processStaticCellClasses(e,t,o)}getStaticCellClasses(e,t){const{cellClass:o}=e;if(!o)return[];let s;return s="function"==typeof o?o(t):o,"string"==typeof s&&(s=[s]),s||[]}createCellCustomStyleFeature(e){return new rm(e,this.beans)}processStaticCellClasses(e,t,o){this.getStaticCellClasses(e,t).forEach(e=>{o(e)})}}]},am={enableBrowserTooltips:!0,tooltipTrigger:!0,tooltipMouseTrack:!0,tooltipShowMode:!0,tooltipInteraction:!0,defaultColGroupDef:!0,suppressAutoSize:!0,skipHeaderOnAutoSize:!0,autoSizeStrategy:!0,components:!0,stopEditingWhenCellsLoseFocus:!0,undoRedoCellEditing:!0,undoRedoCellEditingLimit:!0,excelStyles:!0,cacheQuickFilter:!0,customChartThemes:!0,chartThemeOverrides:!0,chartToolPanelsDef:!0,loadingCellRendererSelector:!0,localeText:!0,keepDetailRows:!0,keepDetailRowsCount:!0,detailRowHeight:!0,detailRowAutoHeight:!0,tabIndex:!0,valueCache:!0,valueCacheNeverExpires:!0,enableCellExpressions:!0,suppressTouch:!0,suppressBrowserResizeObserver:!0,suppressPropertyNamesCheck:!0,debug:!0,dragAndDropImageComponent:!0,overlayComponent:!0,suppressOverlays:!0,loadingOverlayComponent:!0,suppressLoadingOverlay:!0,noRowsOverlayComponent:!0,paginationPageSizeSelector:!0,paginateChildRows:!0,pivotPanelShow:!0,pivotSuppressAutoColumn:!0,suppressExpandablePivotGroups:!0,aggFuncs:!0,allowShowChangeAfterFilter:!0,ensureDomOrder:!0,enableRtl:!0,suppressColumnVirtualisation:!0,suppressMaxRenderedRowRestriction:!0,suppressRowVirtualisation:!0,rowDragText:!0,groupLockGroupColumns:!0,suppressGroupRowsSticky:!0,rowModelType:!0,cacheOverflowSize:!0,infiniteInitialRowCount:!0,serverSideInitialRowCount:!0,maxBlocksInCache:!0,maxConcurrentDatasourceRequests:!0,blockLoadDebounceMillis:!0,serverSideOnlyRefreshFilteredGroups:!0,serverSidePivotResultFieldSeparator:!0,viewportRowModelPageSize:!0,viewportRowModelBufferSize:!0,debounceVerticalScrollbar:!0,suppressAnimationFrame:!0,suppressPreventDefaultOnMouseWheel:!0,scrollbarWidth:!0,icons:!0,suppressRowTransform:!0,gridId:!0,enableGroupEdit:!0,initialState:!0,processUnpinnedColumns:!0,createChartContainer:!0,getLocaleText:!0,getRowId:!0,reactiveCustomComponents:!0,renderingMode:!0,columnMenu:!0,suppressSetFilterByDefault:!0,getDataPath:!0,enableCellSpan:!0,enableFilterHandlers:!0,filterHandlers:!0},dm="clientSide",cm="serverSide",hm="infinite",um={onGroupExpandedOrCollapsed:[dm],refreshClientSideRowModel:[dm],isRowDataEmpty:[dm],forEachLeafNode:[dm],forEachNodeAfterFilter:[dm],forEachNodeAfterFilterAndSort:[dm],resetRowHeights:[dm,cm],applyTransaction:[dm],applyTransactionAsync:[dm],flushAsyncTransactions:[dm],getBestCostNodeSelection:[dm],getServerSideSelectionState:[cm],setServerSideSelectionState:[cm],applyServerSideTransaction:[cm],applyServerSideTransactionAsync:[cm],applyServerSideRowData:[cm],retryServerSideLoads:[cm],flushServerSideAsyncTransactions:[cm],refreshServerSide:[cm],getServerSideGroupLevelState:[cm],refreshInfiniteCache:[hm],purgeInfiniteCache:[hm],getInfiniteRowCount:[hm],isLastRowIndexKnown:[hm,cm],expandAll:[dm,cm],collapseAll:[dm,cm],onRowHeightChanged:[dm,cm],setRowCount:[hm,cm],getCacheBlockState:[hm,cm]},gm={showLoadingOverlay:{version:"v32",message:'`showLoadingOverlay` is deprecated. Use the grid option "loading"=true instead or setGridOption("loading", true).'},clearRangeSelection:{version:"v32.2",message:"Use `clearCellSelection` instead."},getInfiniteRowCount:{version:"v32.2",old:"getInfiniteRowCount()",new:"getDisplayedRowCount()"},selectAllFiltered:{version:"v33",old:"selectAllFiltered()",new:'selectAll("filtered")'},deselectAllFiltered:{version:"v33",old:"deselectAllFiltered()",new:'deselectAll("filtered")'},selectAllOnCurrentPage:{version:"v33",old:"selectAllOnCurrentPage()",new:'selectAll("currentPage")'},deselectAllOnCurrentPage:{version:"v33",old:"deselectAllOnCurrentPage()",new:'deselectAll("currentPage")'}},pm={detailCellRendererCtrl:"SharedMasterDetail",dndSourceComp:"DragAndDrop",fillHandle:"CellSelection",groupCellRendererCtrl:"GroupCellRenderer",headerFilterCellCtrl:"ColumnFilter",headerGroupCellCtrl:"ColumnGroup",rangeHandle:"CellSelection",tooltipFeature:"Tooltip",highlightTooltipFeature:"Tooltip",tooltipStateManager:"Tooltip",groupStrategy:"RowGrouping",treeGroupStrategy:"TreeData",rowNumberRowResizer:"RowNumbers",singleCell:"EditCore",fullRow:"EditCore",agSetColumnFilterHandler:"SetFilter",agMultiColumnFilterHandler:"MultiFilter",agGroupColumnFilterHandler:"GroupFilter",agNumberColumnFilterHandler:"NumberFilter",agBigIntColumnFilterHandler:"BigIntFilter",agDateColumnFilterHandler:"DateFilter",agTextColumnFilterHandler:"TextFilter"},mm={expanded:1,contracted:1,"tree-closed":1,"tree-open":1,"tree-indeterminate":1,pin:1,"eye-slash":1,arrows:1,left:1,right:1,group:1,aggregation:1,pivot:1,"not-allowed":1,chart:1,cross:1,cancel:1,tick:1,first:1,previous:1,next:1,last:1,linked:1,unlinked:1,"color-picker":1,loading:1,menu:1,"menu-alt":1,filter:1,"filter-add":1,columns:1,maximize:1,minimize:1,copy:1,cut:1,paste:1,grip:1,save:1,csv:1,excel:1,"small-down":1,"small-left":1,"small-right":1,"small-up":1,asc:1,desc:1,aasc:1,adesc:1,none:1,up:1,down:1,plus:1,minus:1,settings:1,"checkbox-checked":1,"checkbox-indeterminate":1,"checkbox-unchecked":1,"radio-button-on":1,"radio-button-off":1,eye:1,"column-arrow":1,"un-pin":1,"pinned-top":1,"pinned-bottom":1,"chevron-up":1,"chevron-down":1,"chevron-left":1,"chevron-right":1,edit:1},fm={chart:"MenuCore",cancel:"EnterpriseCore",first:"Pagination",previous:"Pagination",next:"Pagination",last:"Pagination",linked:"IntegratedCharts",loadingMenuItems:"MenuCore",unlinked:"IntegratedCharts",menu:"ColumnHeaderComp",legacyMenu:"ColumnMenu",filter:"ColumnFilter",filterActive:"ColumnFilter",filterAdd:"NewFiltersToolPanel",filterCardCollapse:"NewFiltersToolPanel",filterCardExpand:"NewFiltersToolPanel",filterCardEditing:"NewFiltersToolPanel",filterTab:"ColumnMenu",filtersToolPanel:"FiltersToolPanel",columns:["MenuCore"],columnsToolPanel:["ColumnsToolPanel"],maximize:"EnterpriseCore",minimize:"EnterpriseCore",save:"MenuCore",columnGroupOpened:"ColumnGroupHeaderComp",columnGroupClosed:"ColumnGroupHeaderComp",accordionOpen:"EnterpriseCore",accordionClosed:"EnterpriseCore",accordionIndeterminate:"EnterpriseCore",columnSelectClosed:["ColumnsToolPanel","ColumnMenu"],columnSelectOpen:["ColumnsToolPanel","ColumnMenu"],columnSelectIndeterminate:["ColumnsToolPanel","ColumnMenu"],columnMovePin:"SharedDragAndDrop",columnMoveHide:"SharedDragAndDrop",columnMoveMove:"SharedDragAndDrop",columnMoveLeft:"SharedDragAndDrop",columnMoveRight:"SharedDragAndDrop",columnMoveGroup:"SharedDragAndDrop",columnMoveValue:"SharedDragAndDrop",columnMovePivot:"SharedDragAndDrop",dropNotAllowed:"SharedDragAndDrop",ensureColumnVisible:["ColumnsToolPanel","ColumnMenu"],groupContracted:"GroupCellRenderer",groupExpanded:"GroupCellRenderer",setFilterGroupClosed:"SetFilter",setFilterGroupOpen:"SetFilter",setFilterGroupIndeterminate:"SetFilter",setFilterLoading:"SetFilter",close:"EnterpriseCore",check:"MenuItem",colorPicker:"CommunityCore",groupLoading:"LoadingCellRenderer",overlayLoading:"Overlay",overlayExporting:"Overlay",menuAlt:"ColumnHeaderComp",menuPin:"MenuCore",menuValue:"MenuCore",menuAddRowGroup:["MenuCore","ColumnsToolPanel"],menuRemoveRowGroup:["MenuCore","ColumnsToolPanel"],clipboardCopy:"MenuCore",clipboardCut:"MenuCore",clipboardPaste:"MenuCore",pivotPanel:["ColumnsToolPanel","RowGroupingPanel"],rowGroupPanel:["ColumnsToolPanel","RowGroupingPanel"],valuePanel:"ColumnsToolPanel",columnDrag:"EnterpriseCore",rowDrag:["RowDrag","DragAndDrop"],csvExport:"MenuCore",excelExport:"MenuCore",smallDown:"CommunityCore",selectOpen:"CommunityCore",richSelectOpen:"RichSelect",richSelectRemove:"RichSelect",richSelectLoading:"RichSelect",smallLeft:"CommunityCore",smallRight:"CommunityCore",subMenuOpen:"MenuItem",subMenuOpenRtl:"MenuItem",panelDelimiter:"RowGroupingPanel",panelDelimiterRtl:"RowGroupingPanel",smallUp:"CommunityCore",sortAscending:["MenuCore","Sort"],sortDescending:["MenuCore","Sort"],sortAbsoluteAscending:["MenuCore","Sort"],sortAbsoluteDescending:["MenuCore","Sort"],sortUnSort:["MenuCore","Sort"],advancedFilterBuilder:"AdvancedFilter",advancedFilterBuilderDrag:"AdvancedFilter",advancedFilterBuilderInvalid:"AdvancedFilter",advancedFilterBuilderMoveUp:"AdvancedFilter",advancedFilterBuilderMoveDown:"AdvancedFilter",advancedFilterBuilderAdd:"AdvancedFilter",advancedFilterBuilderRemove:"AdvancedFilter",advancedFilterBuilderSelectOpen:"AdvancedFilter",chartsMenu:"IntegratedCharts",chartsMenuEdit:"IntegratedCharts",chartsMenuAdvancedSettings:"IntegratedCharts",chartsMenuAdd:"IntegratedCharts",chartsColorPicker:"IntegratedCharts",chartsThemePrevious:"IntegratedCharts",chartsThemeNext:"IntegratedCharts",chartsDownload:"IntegratedCharts",checkboxChecked:"CommunityCore",checkboxIndeterminate:"CommunityCore",checkboxUnchecked:"CommunityCore",radioButtonOn:"CommunityCore",radioButtonOff:"CommunityCore",rowPin:"PinnedRow",rowUnpin:"PinnedRow",rowPinBottom:"PinnedRow",rowPinTop:"PinnedRow"},Cm=/* @__PURE__ */new Set(["colorPicker","smallUp","checkboxChecked","checkboxIndeterminate","checkboxUnchecked","radioButtonOn","radioButtonOff","smallDown","smallLeft","smallRight"]),vm=/* @__PURE__ */new Set(["firstChildChanged","lastChildChanged","childIndexChanged"]),wm={moduleName:"Validation",version:mt,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="validation"}wireBeans(e){this.gridOptions=e.gridOptions,Ct=$u}warnOnInitialPropertyUpdate(e,t){"api"===e&&am[t]&&Dt(22,{key:t})}processGridOptions(e){this.processOptions(e,{objectName:"gridOptions",allProperties:[...Yc,...qc,..._c,...Zc,...eh,...Jc,...Xc,...Qc,...Object.values(Wc)],propertyExceptions:["api"],docsUrl:"grid-options/",deprecations:{suppressLoadingOverlay:{version:"32",message:"Use `loading`=false instead."},enableFillHandle:{version:"32.2",message:"Use `cellSelection.handle` instead."},enableRangeHandle:{version:"32.2",message:"Use `cellSelection.handle` instead."},enableRangeSelection:{version:"32.2",message:"Use `cellSelection = true` instead."},suppressMultiRangeSelection:{version:"32.2",message:"Use `cellSelection.suppressMultiRanges` instead."},suppressClearOnFillReduction:{version:"32.2",message:"Use `cellSelection.handle.suppressClearOnFillReduction` instead."},fillHandleDirection:{version:"32.2",message:"Use `cellSelection.handle.direction` instead."},fillOperation:{version:"32.2",message:"Use `cellSelection.handle.setFillValue` instead."},suppressRowClickSelection:{version:"32.2",message:"Use `rowSelection.enableClickSelection` instead."},suppressRowDeselection:{version:"32.2",message:"Use `rowSelection.enableClickSelection` instead."},rowMultiSelectWithClick:{version:"32.2",message:"Use `rowSelection.enableSelectionWithoutKeys` instead."},groupSelectsChildren:{version:"32.2",message:'Use `rowSelection.groupSelects = "descendants"` instead.'},groupSelectsFiltered:{version:"32.2",message:'Use `rowSelection.groupSelects = "filteredDescendants"` instead.'},isRowSelectable:{version:"32.2",message:"Use `selectionOptions.isRowSelectable` instead."},suppressCopySingleCellRanges:{version:"32.2",message:"Use `rowSelection.copySelectedRows` instead."},suppressCopyRowsToClipboard:{version:"32.2",message:"Use `rowSelection.copySelectedRows` instead."},onRangeSelectionChanged:{version:"32.2",message:"Use `onCellSelectionChanged` instead."},onRangeDeleteStart:{version:"32.2",message:"Use `onCellSelectionDeleteStart` instead."},onRangeDeleteEnd:{version:"32.2",message:"Use `onCellSelectionDeleteEnd` instead."},suppressBrowserResizeObserver:{version:"32.2",message:"The grid always uses the browser's ResizeObserver, this grid option has no effect."},onColumnEverythingChanged:{version:"32.2",message:"Either use `onDisplayedColumnsChanged` which is fired at the same time, or use one of the more specific column events."},groupRemoveSingleChildren:{version:"33",message:"Use `groupHideParentOfSingleChild` instead."},groupRemoveLowestSingleChildren:{version:"33",message:'Use `groupHideParentOfSingleChild: "leafGroupsOnly"` instead.'},suppressRowGroupHidesColumns:{version:"33",message:'Use `suppressGroupChangesColumnVisibility: "suppressHideOnGroup"` instead.'},suppressMakeColumnVisibleAfterUnGroup:{version:"33",message:'Use `suppressGroupChangesColumnVisibility: "suppressShowOnUngroup"` instead.'},unSortIcon:{version:"33",message:"Use `defaultColDef.unSortIcon` instead."},sortingOrder:{version:"33",message:"Use `defaultColDef.sortingOrder` instead."},suppressPropertyNamesCheck:{version:"33",message:"`gridOptions` and `columnDefs` both have a `context` property that should be used for arbitrary user data. This means that column definitions and gridOptions should only contain valid properties making this property redundant."},suppressAdvancedFilterEval:{version:"34",message:"Advanced filter no longer uses function evaluation, so this option has no effect."}},validations:sh()})}validateApiFunction(e,t){return function(e,t,o){const s=gm[e];if(s){const{version:o,new:i,old:n,message:r}=s,l=n??e;return(...e)=>(ot(`Since ${o} api.${l} is deprecated. ${i?`Please use ${i} instead. `:""}${r??""}`),t.apply(t,e))}const i=um[e];return i?(...s)=>{const n=o.rowModel.getType();if(i.includes(n))return t.apply(t,s);st(`api.${e} can only be called when gridOptions.rowModelType is ${i.join(" or ")}`)}:t}(e,t,this.beans)}missingUserComponent(e,t,o,s){const i=Uc[t];i?this.gos.assertModuleRegistered(i,`AG Grid '${e}' component: ${t}`):Dt(101,{propertyName:e,componentName:t,agGridDefaults:o,jsComps:s})}missingDynamicBean(e){const t=pm[e];return t?Et(200,{...this.gos.getModuleErrorParams(),moduleName:t,reasonOrId:e}):void 0}checkRowEvents(e){vm.has(e)&&Dt(10,{eventType:e})}validateIcon(e){if(Cm.has(e)&&Dt(43,{iconName:e}),mm[e])return;const t=fm[e];t?Mt(200,{reasonOrId:`icon '${e}'`,moduleName:t,gridScoped:ut(),gridId:this.beans.context.getId(),rowModelType:this.gos.get("rowModelType"),additionalText:"Alternatively, use the CSS icon name directly."}):Dt(134,{iconName:e})}isProvidedUserComp(e){return!!Uc[e]}validateColDef(e){this.processOptions(e,{objectName:"colDef",allProperties:Object.keys(Kc),docsUrl:"column-properties/",deprecations:{checkboxSelection:{version:"32.2",message:"Use `rowSelection.checkboxes` in `GridOptions` instead."},headerCheckboxSelection:{version:"32.2",message:"Use `rowSelection.headerCheckbox = true` in `GridOptions` instead."},headerCheckboxSelectionFilteredOnly:{version:"32.2",message:'Use `rowSelection.selectAll = "filtered"` in `GridOptions` instead.'},headerCheckboxSelectionCurrentPageOnly:{version:"32.2",message:'Use `rowSelection.selectAll = "currentPage"` in `GridOptions` instead.'},showDisabledCheckboxes:{version:"32.2",message:"Use `rowSelection.hideDisabledCheckboxes = true` in `GridOptions` instead."},rowGroupingHierarchy:{version:"34.3",message:"Use `colDef.groupHierarchy` instead."}},validations:{autoHeight:{supportedRowModels:["clientSide","serverSide"],validate:(e,{paginationAutoPageSize:t})=>t?"colDef.autoHeight is not supported with paginationAutoPageSize.":null},allowFormula:{supportedRowModels:["clientSide"]},cellRendererParams:{validate:e=>null==e.rowGroup&&null==e.rowGroupIndex&&"agGroupCellRenderer"!==e.cellRenderer||!("checkbox"in e.cellRendererParams)?null:'Since v33.0, `cellRendererParams.checkbox` has been deprecated. Use `rowSelection.checkboxLocation = "autoGroupColumn"` instead.'},flex:{validate:(e,t)=>t.autoSizeStrategy?"colDef.flex is not supported with gridOptions.autoSizeStrategy":null},headerCheckboxSelection:{supportedRowModels:["clientSide","serverSide"],validate:(e,{rowSelection:t})=>"multiple"===t?null:"headerCheckboxSelection is only supported with rowSelection=multiple"},headerCheckboxSelectionCurrentPageOnly:{supportedRowModels:["clientSide"],validate:(e,{rowSelection:t})=>"multiple"===t?null:"headerCheckboxSelectionCurrentPageOnly is only supported with rowSelection=multiple"},headerCheckboxSelectionFilteredOnly:{supportedRowModels:["clientSide"],validate:(e,{rowSelection:t})=>"multiple"===t?null:"headerCheckboxSelectionFilteredOnly is only supported with rowSelection=multiple"},headerValueGetter:{validate:e=>{const t=e.headerValueGetter;return"function"==typeof t||"string"==typeof t?null:"headerValueGetter must be a function or a valid string expression"}},icons:{validate:({icons:e})=>{if(e){if(e.smallDown)return Et(262);if(e.smallLeft)return Et(263);if(e.smallRight)return Et(264)}return null}},sort:{validate:e=>Eo(e.sort)||Mo(e.sort)?null:`sort must be of type (SortDirection | SortDef), currently it is ${"object"==typeof e.sort?JSON.stringify(e.sort):St(e.sort)}`},initialSort:{validate:e=>Eo(e.initialSort)||Mo(e.initialSort)?null:`initialSort must be of non-null type (SortDirection | SortDef), currently it is ${"object"==typeof e.initialSort?JSON.stringify(e.initialSort):St(e.initialSort)}`},sortingOrder:{validate:e=>{const t=e.sortingOrder;if(Array.isArray(t)&&t.length>0){const e=t.filter(e=>!(Eo(e)||Mo(e)));if(e.length>0)return`sortingOrder must be an array of type non-null (SortDirection | SortDef)[], incorrect items are: [${e.map(e=>"string"==typeof e||null==e?St(e):JSON.stringify(e)).join(", ")}]`}else if(!Array.isArray(t)||!t.length)return`sortingOrder must be an array with at least one element, currently it is [${t}]`;return null}},type:{validate:e=>{const t=e.type;return t instanceof Array?t.some(e=>"string"!=typeof e)?"if colDef.type is supplied an array it should be of type 'string[]'":null:"string"==typeof t?null:"colDef.type should be of type 'string' | 'string[]'"}},rowSpan:{validate:(e,{suppressRowTransform:t})=>t?null:"colDef.rowSpan requires suppressRowTransform to be enabled."},spanRows:{dependencies:{editable:{required:[!1,void 0]},groupRowEditable:{required:[!1,void 0]},rowDrag:{required:[!1,void 0]},colSpan:{required:[void 0]},rowSpan:{required:[void 0]}},validate:(e,{rowSelection:t,cellSelection:o,suppressRowTransform:s,enableCellSpan:i,rowDragEntireRow:n,enableCellTextSelection:r})=>"object"==typeof t&&"singleRow"===t?.mode&&t?.enableClickSelection?"colDef.spanRows is not supported with rowSelection.clickSelection":o?"colDef.spanRows is not supported with cellSelection.":s?"colDef.spanRows is not supported with suppressRowTransform.":i?n?"colDef.spanRows is not supported with rowDragEntireRow.":r?"colDef.spanRows is not supported with enableCellTextSelection.":null:"colDef.spanRows requires enableCellSpan to be enabled."},groupHierarchy:{validate(e,{groupHierarchyConfig:t={}},o){const s=/* @__PURE__ */new Set(["year","quarter","month","formattedMonth","day","hour","minute","second"]),i=[];for(const n of e.groupHierarchy??[])"object"!=typeof n?s.has(n)||n in t||i.push($c(n)):o.validation?.validateColDef(n);return i.length>0?`The following parts of colDef.groupHierarchy are not recognised: ${i.join(", ")}.\nChoose one of ${[...s].map($c).join(", ")}, or define your own parts in gridOptions.groupHierarchyConfig.`:null}}}})}processOptions(e,t){const{validations:o,deprecations:s,allProperties:i,propertyExceptions:n,objectName:r,docsUrl:l}=t;i&&!0!==this.gridOptions.suppressPropertyNamesCheck&&this.checkProperties(e,[...n??[],...Object.keys(s)],i,r,l);const a=/* @__PURE__ */new Set;if(Object.keys(e).forEach(t=>{const i=s[t];if(i){const{message:e,version:o}=i;a.add(`As of v${o}, ${String(t)} is deprecated. ${e??""}`)}const n=e[t];if(null==n||!1===n)return;const r=o[t];if(!r)return;const{dependencies:l,validate:d,supportedRowModels:c,expectedType:h}=r;if(h){const e=typeof n;if(e!==h)return void a.add(`${String(t)} should be of type '${h}' but received '${e}' (${n}).`)}if(c){const e=this.gridOptions.rowModelType??"clientSide";if(!c.includes(e))return void a.add(`${String(t)} is not supported with the '${e}' row model. It is only valid with: ${c.join(", ")}.`)}if(l){const o=this.checkForRequiredDependencies(t,l,e);if(o)return void a.add(o)}if(d){const t=d(e,this.gridOptions,this.beans);if(t)return void a.add(t)}}),a.size>0)for(const d of a)ot(d)}checkForRequiredDependencies(e,t,o){const s=Object.entries(t).filter(([e,t])=>{const s=o[e];return!t.required.includes(s)});return 0===s.length?null:s.map(([t,o])=>`'${String(e)}' requires '${t}' to be one of [${o.required.map(e=>null===e?"null":void 0===e?"undefined":e).join(", ")}]. ${o.reason??""}`).join("\n ")}checkProperties(e,t,o,s,i){const n=function(e,t,o){const s={},i=e.filter(e=>!t.some(t=>t===e));if(i.length>0)for(const n of i)s[n]=ku({inputValue:n,allSuggestions:o}).values;return s}(Object.getOwnPropertyNames(e),["__ob__","__v_skip","__metadata__",...t,...o],o),r=Object.keys(n);for(const l of r){let e=`invalid ${s} property '${l}' did you mean any of these: ${n[l].slice(0,8).join(", ")}.`;o.includes("context")&&(e+=`\nIf you are trying to annotate ${s} with application data, use the '${s}.context' property instead.`),ot(e)}r.length>0&&i&&ot(`to see all the valid ${s} properties please check: ${this.beans.frameworkOverrides.getDocLink(i)}`)}}]},bm=class extends Oe{constructor(){super(...arguments),this.dispatchColumnChangedEvent=ya,this.columns=[],this.columnIndexMap={},this.updateIndexMap=()=>{this.columnIndexMap={},this.columns.forEach((e,t)=>this.columnIndexMap[e.getId()]=t)}}wireBeans(e){this.colModel=e.colModel,this.aggFuncSvc=e.aggFuncSvc,this.visibleCols=e.visibleCols,this.groupHierarchCols=e.groupHierarchyColSvc}sortColumns(e){const{groupHierarchCols:t}=this;this.columns.sort((o,s)=>t?.compareVirtualColumns(o,s)??e(o,s)),this.updateIndexMap()}setColumns(e,t){this.setColList(e,this.columns,this.eventName,!0,!0,this.columnProcessors.set,t)}addColumns(e,t){this.updateColList(e,this.columns,!0,!0,this.columnProcessors.add,this.eventName,t)}removeColumns(e,t){this.updateColList(e,this.columns,!1,!0,this.columnProcessors.remove,this.eventName,t)}getColumnIndex(e){return this.columnIndexMap[e]}setColList(e=[],t,o,s,i,n,r){const l=this.colModel.getCols();if(!l||0===l.length)return;const a=/* @__PURE__ */new Map;t.forEach((e,t)=>a.set(e,t)),t.length=0;for(const c of e){const e=this.colModel.getColDefCol(c);e&&t.push(e)}t.forEach((e,t)=>{const o=a.get(e);void 0!==o?s&&o!==t||a.delete(e):a.set(e,0)}),this.updateIndexMap();const d=this.colModel.getColDefCols();for(const c of d??[])n(c,t.indexOf(c)>=0,r);i&&this.colModel.refreshCols(!1,r),this.visibleCols.refresh(r),this.dispatchColumnChangedEvent(this.eventSvc,o,[...a.keys()],r)}updateColList(e=[],t,o,i,n,r,l){if(!e||0===e.length)return;let a=!1;const d=/* @__PURE__ */new Set;for(const h of e){if(!h)continue;const e=this.colModel.getColDefCol(h);if(e){if(d.add(e),o){if(t.indexOf(e)>=0)continue;t.push(e)}else{const o=t.indexOf(e);if(o<0)continue;for(let e=o+1;e=0:e?void 0!==h?h:!(void 0===g)&&null!=g&&g>=0:o.indexOf(m)>=0,p&&((e?null!=u||null!=g:null!=u)?s.push(m):i.push(m))}const h=e=>{const t=e.getColDef();return r(t)??l(t)};s.sort((e,t)=>h(e)-h(t));const u=[],g=this.groupHierarchCols,p=e=>{g?g.expandColumnInto(u,e):u.push(e)};s.forEach(p);for(const m of o)i.indexOf(m)>=0&&p(m);for(const m of i)u.indexOf(m)<0&&p(m);for(const m of o)u.indexOf(m)<0&&n(m,!1,e);for(const m of u)o.indexOf(m)<0&&n(m,!0,e);return this.columns=u,this.updateIndexMap(),this.columns}restoreColumnOrder(e,t){const o=this.columns,s=this.colModel.getColDefCols();if(!o.length||!s)return e;const i=Object.keys(t),n=new Set(i),r=new Set(i),l=new Set(o.map(e=>{const t=e.getColId();return r.delete(t),t}).concat(i)),a=[],d={};let c=0;for(let w=0;w{const o=d[e];for(let s=g;s>>32-i,o)}ff(e,t,o,s,i,n,r){return this.cmn(t&o|~t&s,e,t,i,n,r)}gg(e,t,o,s,i,n,r){return this.cmn(t&s|o&~s,e,t,i,n,r)}hh(e,t,o,s,i,n,r){return this.cmn(t^o^s,e,t,i,n,r)}ii(e,t,o,s,i,n,r){return this.cmn(o^(t|~s),e,t,i,n,r)}md51(e){const t=e.length,o=[1732584193,-271733879,-1732584194,271733878];let s;for(s=64;s<=e.length;s+=64)this.md5cycle(o,this.md5blk(e.substring(s-64,s)));e=e.substring(s-64);const i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(s=0;s>2]|=e.charCodeAt(s)<<(s%4<<3);if(i[s>>2]|=128<<(s%4<<3),s>55)for(this.md5cycle(o,i),s=0;s<16;s++)i[s]=0;return i[14]=8*t,this.md5cycle(o,i),o}md5blk(e){const t=[];for(let o=0;o<64;o+=4)t[o>>2]=e.charCodeAt(o)+(e.charCodeAt(o+1)<<8)+(e.charCodeAt(o+2)<<16)+(e.charCodeAt(o+3)<<24);return t}rhex(e){const t="0123456789abcdef".split("");let o="",s=0;for(;s<4;s++)o+=t[e>>8*s+4&15]+t[e>>8*s&15];return o}hex(e){for(let t=0;t>16)+(t>>16)+(o>>16)<<16|65535&o}},xm={"01":"GRID","02":"CHARTS","0102":"BOTH"},Fm=class e{constructor(e){this.watermarkMessage=void 0,this.totalMessageLength=124,this.document=e,this.md5=new Rm,this.md5.init()}validateLicense(){const t=this.getLicenseDetails(e.licenseKey),o=`AG Grid ${"BOTH"===t.currentLicenseType?"and AG Charts ":""}Enterprise`,s=void 0===t.suppliedLicenseType?"":`AG ${"BOTH"===t.suppliedLicenseType?"Grid and AG Charts":"GRID"===t.suppliedLicenseType?"Grid":"Charts"} Enterprise`;if(t.missing)this.isWebsiteUrl()&&!this.isForceWatermark()||this.outputMissingLicenseKey(o);else if(t.expired){const i=e.getGridReleaseDate(),n=e.formatDate(i);this.outputExpiredKey(t.expiry,n,o,s)}else t.valid?t.isTrial&&t.trialExpired&&this.outputExpiredTrialKey(t.expiry,o,s):this.outputInvalidLicenseKey(!!t.incorrectLicenseType,o,s)}static extractExpiry(t){const o=t.substring(t.lastIndexOf("_")+1,t.length);return new Date(parseInt(e.decode(o),10))}static extractLicenseComponents(t){let o=t.replace(/[\u200B-\u200D\uFEFF]/g,"");if(o=o.replace(/\r?\n|\r/g,""),t.length<=32)return{md5:null,license:t,version:null,isTrial:null};const s=o.length-32,i=o.substring(s),n=o.substring(0,s),[r,l,a]=e.extractBracketedInformation(o);return{md5:i,license:n,version:r,isTrial:l,type:a}}getLicenseDetails(t){const o=e.chartsLicenseManager?"BOTH":"GRID";if(!t?.length)return{licenseKey:t,valid:!1,missing:!0,currentLicenseType:o};const s=e.getGridReleaseDate(),{md5:i,license:n,version:r,isTrial:l,type:a}=e.extractLicenseComponents(t);let d,c,h,u=i===this.md5.md5(n)&&!t.includes("For_Trialing_ag-Grid_Only"),g=null,p=!1;function m(){d=gg,r){case"legacy":case"2":l&&m();break;case"3":a?.length?(h=a,a!==xm["01"]&&a!==xm["0102"]||"BOTH"===o&&"BOTH"!==h?(u=!1,p=!0):l&&m()):u=!1}return u?{licenseKey:t,valid:u,expiry:e.formatDate(g),expired:c,version:r,isTrial:l,trialExpired:d,incorrectLicenseType:p,currentLicenseType:o,suppliedLicenseType:h}:{licenseKey:t,valid:u,incorrectLicenseType:p,currentLicenseType:o,suppliedLicenseType:h}}isDisplayWatermark(){return this.isForceWatermark()||!this.isLocalhost()&&!this.isWebsiteUrl()&&!!this.watermarkMessage?.length}getWatermarkMessage(){return this.watermarkMessage||""}getHostname(){const{hostname:e=""}=(this.document.defaultView||window).location;return e}isForceWatermark(){const{pathname:e}=(this.document.defaultView||window).location;return!!e&&e.includes("forceWatermark")}isWebsiteUrl(){return null!==this.getHostname().match(/^(?:[\w-]+\.)?(ag-grid|bryntum)\.com$/)}isLocalhost(){return null!==this.getHostname().match(/^(?:127\.0\.0\.1|localhost)$/)}static formatDate(e){const t=e.getDate(),o=e.getMonth(),s=e.getFullYear();return t+" "+["January","February","March","April","May","June","July","August","September","October","November","December"][o]+" "+s}static getGridReleaseDate(){return new Date(parseInt(e.decode(e.RELEASE_INFORMATION),10))}static decode(t){const o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let s,i,n,r,l,a,d,c="",h=0;const u=t.replace(/[^A-Za-z0-9+/=]/g,"");for(;h>4,i=(15&l)<<4|a>>2,n=(3&a)<<6|d,c+=String.fromCharCode(s),64!=a&&(c+=String.fromCharCode(i)),64!=d&&(c+=String.fromCharCode(n));return c=e.utf8_decode(c),c}static utf8_decode(e){e=e.replace(/rn/g,"n");let t="";for(let o=0;o127&&s<2048?(t+=String.fromCharCode(s>>6|192),t+=String.fromCharCode(63&s|128)):(t+=String.fromCharCode(s>>12|224),t+=String.fromCharCode(s>>6&63|128),t+=String.fromCharCode(63&s|128))}return t}static setChartsLicenseManager(e){this.chartsLicenseManager=e,this.chartsLicenseManager?.setLicenseKey(this.licenseKey,!0)}static setLicenseKey(e){l(this.licenseKey)&&this.licenseKey!==e&&bt(ot,291,void 0,!0,"AG Grid: License Key being set multiple times with different values. This can result in an incorrect license key being used."),this.licenseKey=e,this.chartsLicenseManager?.setLicenseKey(e,!0)}static extractBracketedInformation(e){if(!e.includes("["))return["legacy",!1,void 0];const t=e.match(/\[(.*?)\]/g).map(e=>e.replace("[","").replace("]",""));if(!t||0===t.length)return["legacy",!1,void 0];const o=1===t.filter(e=>"TRIAL"===e).length,s=t.filter(e=>0===e.indexOf("v"))[0];return[s?s.replace("v",""):"legacy",o,xm[t.filter(e=>xm[e])[0]]]}centerPadAndOutput(e){this.totalMessageLength,e.length}padAndOutput(e,t="*",o=""){}outputInvalidLicenseKey(e,t,o){}outputExpiredTrialKey(e,t,o){}outputMissingLicenseKey(e){}outputExpiredKey(e,t,o,s){}};Fm.RELEASE_INFORMATION="MTc3NDQyNTc0Nzc3NQ==";var Dm=Fm,Mm={tag:"div",cls:"ag-watermark",children:[{tag:"div",ref:"eLicenseTextRef",cls:"ag-watermark-text"}]},Pm={selector:"AG-WATERMARK",component:class extends Pi{constructor(){super(Mm),this.eLicenseTextRef=null,this.registerCSS('.ag-watermark{bottom:20px;color:#9b9b9b;opacity:.7;position:absolute;transition:opacity 1s ease-out 3s}:where(.ag-ltr) .ag-watermark{right:25px}:where(.ag-rtl) .ag-watermark{left:25px}.ag-watermark:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDkiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyMDkgMzYiPjxwYXRoIGZpbGw9IiM5YjliOWIiIGQ9Ik0xOTIuOTkzIDIzLjY1OHYtNy45NDZoLTEzLjU0MWwtNy45NDcgNy45NDZ6TTIwOC4yNSAzLjk1aC0xNi45NzRsLTguMDEgNy45NDdoMjQuOTg0ek0xNjMuNjIyIDMxLjYwNWw0LjA2OS00LjA2OWgxMy43MzJ2Ny45NDdoLTE3LjgwMXoiLz48cGF0aCBmaWxsPSIjOWI5YjliIiBkPSJNMTY2LjYxIDE5Ljc4aDguNzczbDguMDEtNy45NDZIMTY2LjYxek0xNTcuMDExIDMxLjYwNWg2LjYxMWw3Ljg4My03Ljk0N2gtMTQuNDk0ek0xOTEuMjc2IDMuOTVsLTQuMDY4IDQuMDdIMTYxLjI3Vi4wNzJoMzAuMDA2ek0yMC44NCAzMC4yMDZIOC4zNzhsLTIuMTYyIDUuMzRILjc1TDEyLjI1NyA4LjU5Mmg0Ljc2OEwyOC41MyAzNS41NDZoLTUuNTN6bS0xLjcxNy00LjI2TDE0LjYwOSAxNC45NWwtNC41MTQgMTAuOTk4ek0xMDQuNDM3IDE4LjUwOWMxLjU4OS0yLjM1MiA1LjU5NC0yLjYwNyA3LjI0Ny0yLjYwN3Y0LjU3OGMtMi4wMzQgMC00LjA2OS4wNjMtNS4yNzcuOTUzLTEuMjA3Ljg5LTEuODQzIDIuMDk4LTEuODQzIDMuNTZ2MTAuNTUzaC00Ljk1OVYxNS45MDJoNC43Njh6TTExOS4zNzYgMTUuOTAyaC00Ljk1OHYxOS42NDRoNC45NTh6TTExOS4zNzYgNy4xM2gtNC45NTh2NS44NDhoNC45NTh6TTE0My45NzkgNy4xM3YyOC40MTZoLTQuNzY4bC0uMTI3LTIuOTg4YTguMyA4LjMgMCAwIDEtMi42NyAyLjQ4Yy0xLjA4MS41NzItMi40MTYuODktMy45NDIuODktMS4zMzUgMC0yLjYwNi0uMjU1LTMuNjg3LS43LTEuMTQ0LS41MDgtMi4xNjItMS4xNDQtMi45ODgtMi4wMzRhOS42IDkuNiAwIDAgMS0xLjk3MS0zLjE3OWMtLjUwOC0xLjIwNy0uNjk5LTIuNjA2LS42OTktNC4xMzJzLjI1NC0yLjkyNC42OTktNC4xOTZjLjUwOS0xLjI3MSAxLjE0NS0yLjM1MiAxLjk3MS0zLjI0MnMxLjg0NC0xLjU4OSAyLjk4OC0yLjA5OCAyLjM1Mi0uNzYzIDMuNjg3LS43NjNjMS41MjYgMCAyLjc5Ny4yNTUgMy44NzguODI3czEuOTcxIDEuMzM1IDIuNjcgMi40MTZWNy4xOTNoNC45NTl6bS0xMC40MjYgMjQuNTM4YzEuNjUzIDAgMi45MjQtLjU3MiAzLjk0MS0xLjY1M3MxLjUyNi0yLjU0MyAxLjUyNi00LjMyMy0uNTA5LTMuMTc4LTEuNTI2LTQuMzIyYy0xLjAxNy0xLjA4MS0yLjI4OC0xLjY1My0zLjk0MS0xLjY1My0xLjU5IDAtMi45MjUuNTcyLTMuODc4IDEuNjUzLTEuMDE3IDEuMDgtMS41MjYgMi41NDMtMS41MjYgNC4zMjIgMCAxLjc4LjUwOSAzLjE4IDEuNTI2IDQuMjYgMS4wMTcgMS4xNDQgMi4yODggMS43MTYgMy44NzggMS43MTZNNTcuMjAyIDIwLjM1M0g0NC45MzN2NC4yNTloNi45OTNjLS4xOSAyLjE2MS0xLjAxNyAzLjgxNC0yLjQxNiA1LjE1LTEuMzk4IDEuMjctMy4xNzggMS45MDYtNS40NjcgMS45MDYtMS4yNzEgMC0yLjQ4LS4yNTQtMy40OTYtLjY5OWE3IDcgMCAwIDEtMi43MzQtMS45N2MtLjc2My0uODI3LTEuMzM1LTEuODQ0LTEuNzgtMy4wNTJzLS42MzYtMi40OC0uNjM2LTMuOTQyLjE5LTIuNzMzLjYzNi0zLjk0MWMuMzgxLTEuMjA4IDEuMDE3LTIuMTYyIDEuNzgtMy4wNTIuNzYzLS44MjYgMS42NTMtMS40NjIgMi43MzMtMS45N2E5LjEgOS4xIDAgMCAxIDMuNTYtLjdxNC4wMDUgMCA2LjEwMyAxLjkwN2wzLjMwNi0zLjMwNWMtMi40OC0xLjkwNy01LjY1OC0yLjkyNS05LjQwOS0yLjkyNS0yLjA5NyAwLTQuMDA0LjMxOC01LjcyMSAxLjAxOC0xLjcxNi42OTktMy4xNzkgMS41ODktNC4zODYgMi43OTdBMTIuMSAxMi4xIDAgMCAwIDMxLjIgMTYuMjJjLS42MzUgMS43MTctLjk1MyAzLjYyNC0uOTUzIDUuNjU4cy4zMTggMy45NDIgMS4wMTcgNS42NThjLjcgMS43MTcgMS41OSAzLjE3OSAyLjc5NyA0LjM4N2ExMi4xIDEyLjEgMCAwIDAgNC4zODcgMi43OTdjMS43MTYuNyAzLjYyMyAxLjAxNyA1LjY1NyAxLjAxNyAyLjAzNSAwIDMuODc4LS4zMTggNS41MzEtMS4wMTcgMS42NTMtLjcgMy4wNTItMS41OSA0LjE5Ni0yLjc5N3ExLjcxNi0xLjgxMiAyLjY3LTQuMzg3Yy42MzYtMS43MTYuOTU0LTMuNjIzLjk1NC01LjY1OHYtLjgyNmMtLjE5MS0uMTI3LS4yNTUtLjQ0NS0uMjU1LS43TTk1Ljk4MiAyMC4zNTNoLTEyLjI3djQuMjU5aDYuOTkzYy0uMTkgMi4xNjEtMS4wMTcgMy44MTQtMi40MTYgNS4xNS0xLjM5OCAxLjI3LTMuMTc4IDEuOTA2LTUuNDY3IDEuOTA2LTEuMjcxIDAtMi40OC0uMjU0LTMuNDk2LS42OTlhNyA3IDAgMCAxLTIuNzM0LTEuOTdjLS43NjMtLjgyNy0xLjMzNS0xLjg0NC0xLjc4LTMuMDUycy0uNjM2LTIuNDgtLjYzNi0zLjk0Mi4xOS0yLjczMy42MzYtMy45NDFjLjM4MS0xLjIwOCAxLjAxNy0yLjE2MiAxLjc4LTMuMDUyLjc2My0uODI2IDEuNjUzLTEuNDYyIDIuNzM0LTEuOTdhOS4xIDkuMSAwIDAgMSAzLjU2LS43cTQuMDA1IDAgNi4xMDMgMS45MDdsMy4zMDUtMy4zMDVjLTIuNDc5LTEuOTA3LTUuNjU4LTIuOTI1LTkuNDA4LTIuOTI1LTIuMDk4IDAtNC4wMDUuMzE4LTUuNzIyIDEuMDE4LTEuNzE2LjY5OS0zLjE3OCAxLjU4OS00LjM4NiAyLjc5N2ExMi4xIDEyLjEgMCAwIDAtMi43OTcgNC4zODZjLS42MzYgMS43MTctLjk1NCAzLjYyNC0uOTU0IDUuNjU4cy4zMTggMy45NDIgMS4wMTcgNS42NThjLjcgMS43MTcgMS41OSAzLjE3OSAyLjc5NyA0LjM4N2ExMi4xIDEyLjEgMCAwIDAgNC4zODcgMi43OTdjMS43MTYuNyAzLjYyMyAxLjAxNyA1LjY1OCAxLjAxNyAyLjAzNCAwIDMuODc4LS4zMTggNS41My0xLjAxNyAxLjY1My0uNyAzLjA1Mi0xLjU5IDQuMTk2LTIuNzk3cTEuNzE4LTEuODEyIDIuNjctNC4zODdjLjYzNi0xLjcxNi45NTQtMy42MjMuOTU0LTUuNjU4di0uODI2Yy0uMTktLjEyNy0uMjU1LS40NDUtLjI1NS0uNyIvPjwvc3ZnPg==");background-repeat:no-repeat;background-size:170px 40px;content:"";display:block;height:40px;width:170px}.ag-watermark-text{font-family:Impact,sans-serif;font-size:19px;font-weight:700;opacity:.5}:where(.ag-ltr) .ag-watermark-text{padding-left:.7rem}:where(.ag-rtl) .ag-watermark-text{padding-right:.7rem}')}wireBeans(e){this.licenseManager=e.licenseManager}postConstruct(){const e=this.shouldDisplayWatermark();this.setDisplayed(e),e&&(this.eLicenseTextRef.textContent=this.licenseManager.getWatermarkMessage(),window.setTimeout(()=>this.addCss("ag-opacity-zero"),0),window.setTimeout(()=>this.setDisplayed(!1),5e3))}shouldDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}}},Em=class extends Oe{constructor(){super(...arguments),this.beanName="licenseManager"}postConstruct(){this.validateLicense()}validateLicense(){const e=this.beans;if(e.withinStudio)this.licenseManager={isDisplayWatermark:()=>!1,getWatermarkMessage:()=>""};else{const t=new Dm(b(e));this.licenseManager=t,t.validateLicense()}}static getLicenseDetails(e){return new Dm(null).getLicenseDetails(e)}getWatermarkSelector(){return Pm}isDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}getWatermarkMessage(){return this.licenseManager.getWatermarkMessage()}static setLicenseKey(e){Dm.setLicenseKey(e)}static setChartsLicenseManager(e){Dm.setChartsLicenseManager(e)}},Tm={0:1,"0.00":2,"#,##0":3,"#,##0.00":4,"0%":9,"0.00%":10,"0.00E+00":11,"# ?/?":12,"# ??/??":13,"mm-dd-yy":14,"d-mmm-yy":15,"d-mmm":16,"mmm-yy":17,"h:mm AM/PM":18,"h:mm:ss AM/PM":19,"h:mm":20,"h:mm:ss":21,"m/d/yy h:mm":22,"#,##0 ;(#,##0)":37,"#,##0 ;[Red](#,##0)":38,"#,##0.00;(#,##0.00)":39,"#,##0.00;[Red](#,##0.00)":40,"mm:ss":45,"[h]:mm:ss":46,"mmss.0":47,"##0.0E+0":48,"@":49},Im="\r\n";function Am(e,t,o){if(!t&&""!==t&&0!==t)return"";let s=t;return"boolean"==typeof t&&o&&(s=o(t)),` ${e}="${s}"`}function km(e,t){let o="";if(e.properties&&(e.properties.prefixedAttributes&&e.properties.prefixedAttributes.forEach(e=>{for(const s of Object.keys(e.map))o+=Am(e.prefix+s,e.map[s],t)}),e.properties.rawMap))for(const i of Object.keys(e.properties.rawMap))o+=Am(i,e.properties.rawMap[i],t);let s="<"+e.name+o;if(!e.children&&null==e.textNode)return s+"/>"+Im;if(null!=e.textNode)return s+">"+e.textNode+""+Im;if(s+=">\r\n",e.children)for(const i of e.children)s+=km(i,t);return s+""+Im}var Lm,Gm,Nm,Bm,Hm,Om,Vm,zm,Wm,Um=e=>Math.round(96*e/72),$m=e=>Math.ceil(9525*e),jm=(e,t)=>{if(!t)return;let o;return o="number"==typeof t?t:t({rowIndex:e}),o},Km=(e,t)=>{const o=function(e={}){const t=["version"];return e.version||(e.version="1.0"),e.encoding&&t.push("encoding"),e.standalone&&t.push("standalone"),``${t}="${e[t]}"`).join(" ")} ?>`}({encoding:"UTF-8",standalone:"yes"}),s=km(e);return t?s:`${o}${s}`},_m=e=>{const t=String.fromCharCode,o=Math.floor(e/26),s=e%26;return o&&26!==e?s?o<26?t(65+o-1)+t(65+s-1):_m(o)+t(65+s-1):_m(o-1)+"Z":t(65+e-1)},qm=e=>e.replaceAll("\n","_x000a_"),Ym=e=>{if(null==e)return null;let t="";for(let o=0;o=0&&s<=31&&10!==s?`_x${s.toString(16).toUpperCase().padStart(4,"0")}_`:e[o]}return t},Zm=e=>{const t=[];for(const o of e.keys()){const e=o.toString(),s={name:"t",textNode:f(Ym(e))};e.trim().length!==e.length&&(s.properties={rawMap:{"xml:space":"preserve"}}),t.push({name:"si",children:[s]})}return t},Qm=class extends Sg{constructor(e){super(e),this.mixedStyles={},this.mixedStyleCounter=0,this.rows=[],this.frozenRowCount=0,this.skipFrozenRows=!1,this.frozenColumnCount=0,this.skipFrozenColumns=!1,this.formulaSvc=e.formulaSvc,this.config=Object.assign({},e),this.workbook=e.workbook,this.stylesByIds={};for(const o of this.config.baseExcelStyles)this.stylesByIds[o.id]=o;const t={id:"_quotePrefix",quotePrefix:1};this.stylesByIds[t.id]=t,this.excelStyles=[...this.config.baseExcelStyles,t]}addCustomContent(e){for(const t of e){const e=this.rows.length+1;let o;this.config.suppressRowOutline||null==t.outlineLevel||(o=t.outlineLevel);const s={height:jm(e,t.height||this.config.rowHeight),cells:(t.cells||[]).map((t,o)=>{const s=this.addImage(e,this.columnsToExport[o],t.data?.value);let i=null;t.styleId&&(i="string"==typeof t.styleId?[t.styleId]:t.styleId);const n=this.getStyleId(i);if(s)return this.createCell(n,this.getDataTypeForValue(s.value),null==s.value?"":s.value);const r=t.data?.value??"",l=this.getDataTypeForValue(r);return t.mergeAcross?this.createMergedCell(n,l,r,t.mergeAcross):this.createCell(n,l,r)}),outlineLevel:o};null!=t.collapsed&&(s.collapsed=t.collapsed),null!=t.hidden&&(s.hidden=t.hidden),this.rows.push(s)}}onNewHeaderGroupingRow(){const e=[],{freezeRows:t,headerRowHeight:o}=this.config;return this.rows.push({cells:e,height:jm(this.rows.length+1,o)}),t&&this.frozenRowCount++,{onColumn:(t,o,s,i,n)=>{const r=this.config.styleLinker({rowType:"HEADER_GROUPING",rowIndex:1,value:`grouping-${o}`,columnGroup:t});e.push({...this.createMergedCell(this.getStyleId(r),this.getDataTypeForValue("string"),o,i),collapsibleRanges:n})}}}onNewHeaderRow(){const{freezeRows:e,headerRowHeight:t}=this.config;return e&&this.frozenRowCount++,this.onNewRow(this.onNewHeaderColumn,t)}onNewBodyRow(e){const{freezeRows:t,rowHeight:o}=this.config;this.skipFrozenRows||("headersAndPinnedRows"===t&&"top"===e?.rowPinned||"function"==typeof t&&t(Co(this.gos,{node:e}))?this.frozenRowCount++:this.skipFrozenRows=!0);const s=this.onNewRow(this.onNewBodyColumn,o);return e&&this.addRowOutlineIfNecessary(e),s}prepare(e){super.prepare(e),this.columnsToExport=[...e],this.cols=e.map((e,t)=>this.convertColumnToExcel(e,t))}parse(){const e=this.rows.reduce((e,t)=>Math.max(e,t.cells.length),0);for(;this.cols.length{const s=this.extractHeaderValue(o),i=this.config.styleLinker({rowType:"HEADER",rowIndex:e,value:s,column:o});t.push(this.createCell(this.getStyleId(i),this.getDataTypeForValue("string"),s))}}onNewBodyColumn(e,t){let o=0;const{freezeColumns:s,rightToLeft:i}=this.config;return(n,r,l)=>{if(o>0)return void(o-=1);if(!this.skipFrozenColumns){const e=n.getPinned();"pinned"===s&&e&&(!0===e||"left"===e)!==i||"function"==typeof s&&s(Co(this.gos,{column:n}))?this.frozenColumnCount++:this.skipFrozenColumns=!0}const{value:a,valueFormatted:d}=this.extractRowCellValue({column:n,node:l,currentColumnIndex:r,accumulatedRowIndex:e,type:"excel",useRawFormula:!0}),c=a,h="bigint"==typeof c?c.toString():c,u=this.config.styleLinker({rowType:"BODY",rowIndex:e,value:c,column:n,node:l}),g=this.getStyleId(u),p=n.getColSpan(l),m=this.addImage(e,n,h);if(m)t.push(this.createCell(g,this.getDataTypeForValue(m.value),null==m.value?"":m.value));else if(p>1)o=p-1,t.push(this.createMergedCell(g,this.getDataTypeForValue(c),h,p-1));else{const o=n.isAllowFormula()&&this.formulaSvc?.isFormula(h),s=this.createCell(g,o?"f":this.getDataTypeForValue(c),o?this.formulaSvc?.updateFormulaByOffset({value:h,rowDelta:e-(l.formulaRowIndex+1),useRefFormat:!1}):h,d);t.push(s)}}}onNewRow(e,t){const o=[];return this.rows.push({cells:o,height:jm(this.rows.length+1,t)}),{onColumn:e.bind(this,this.rows.length,o)()}}addWorksheetToWorkbook(e){const{excelStyles:t,config:o}=this;return this.mapSharedStrings(e),this.frozenColumnCount&&(o.frozenColumnCount=this.frozenColumnCount),this.frozenRowCount&&(o.frozenRowCount=this.frozenRowCount),this.workbook.addWorksheet(t,e,o)}mapSharedStrings(e){let t;for(const o of e.table.rows)for(const e of o.cells){const o=e.data;if(!o||"s"!==o.type)continue;const s=o.value;null!=s&&(""!==s?o.value=this.workbook.getStringPosition(String(s)).toString():(t??(t=this.workbook.getStringPosition("").toString()),o.value=t))}}getDataTypeForValue(e){if(void 0===e)return"empty";let t="s";try{this.isNumerical(e)&&(t="n")}catch(o){}return t}getTypeFromStyle(e,t){if(this.isFormula(t))return"f";if(e?.dataType)switch(e.dataType.toLocaleLowerCase()){case"formula":return"f";case"string":return"s";case"number":return"n";case"datetime":return"d";case"error":return"e";case"boolean":return"b";default:Dt(162,{id:e.id,dataType:e.dataType})}return null}addImage(e,t,o){if(!this.config.addImageToCell)return;const s=this.config.addImageToCell(e,t,o);return s?(this.workbook.addBodyImageToMap(s.image,e,t,this.columnsToExport,this.config.rowHeight),s):void 0}createCell(e,t,o,s){const i=this.getStyleById(e);i?.dataType||"s"!==t||null==s||(o=s);const n=this.getTypeFromStyle(i,o)||t,{value:r,escaped:l}=this.getCellValue(n,o),a=[];return i&&a.push(e),l&&a.push("_quotePrefix"),{styleId:e=this.getStyleId(a)||void 0,data:{type:n,value:r}}}createMergedCell(e,t,o,s){const i=null==o?"":o;return{styleId:this.getStyleById(e)?e:void 0,data:{type:t,value:"s"===t?String(i):o},mergeAcross:s}}getCellValue(e,t){let o=!1;if(null==t||"s"===e&&""===t)return{value:"",escaped:!1};if("s"===e)"'"===(t=String(t))[0]&&(o=!0,t=t.slice(1));else if("f"===e)t=this.addXlfnPrefix(t).slice(1);else if("n"===e){const e=Number(t);isNaN(e)?t="":""!==t&&(t=e.toString())}return{value:t,escaped:o}}addXlfnPrefix(e){return e?e.replace(/(^|[^A-Z0-9._])(CONCAT)(\s*\()/gi,(e,t,o,s)=>`${t}_xlfn.${o}${s}`):e}getStyleId(e){if(!e?.length)return null;const t=e.filter(e=>null!=this.stylesByIds[e]);if(!t.length)return null;if(1===t.length)return t[0];const o=t.join("-");return this.mixedStyles[o]||this.addNewMixedStyle(t),this.mixedStyles[o].excelID}addNewMixedStyle(e){this.mixedStyleCounter+=1;const t=`mixedStyle${this.mixedStyleCounter}`,o={};for(const i of e){const e=this.stylesByIds[i];e&&Ye(o,e,!0,!0)}o.id=t;const s=e.join("-");this.mixedStyles[s]={excelID:t,key:s,result:o},this.excelStyles.push(o),this.stylesByIds[t]=o}isFormula(e){if(null==e)return!1;const t=String(e);return this.config.autoConvertFormulas&&C(t)}isNumerical(e){return"bigint"!=typeof e&&isFinite(e)&&""!==e&&!isNaN(parseFloat(e))}getStyleById(e){return null==e?null:this.stylesByIds[e]||null}},Xm={getTemplate(e){const{name:t,ContentType:o,Extension:s,PartName:i}=e;return{name:t,properties:{rawMap:{Extension:s,PartName:i,ContentType:o}}}}},Jm=e=>"jpg"===e?"jpeg":e,ef={getTemplate({sheetLen:e,hasCustomProperties:t}){const o=new Array(e).fill(void 0).map((e,t)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${t+1}.xml`})),s=OC.size,i=VC.size,n={};zC.forEach(e=>{n[Jm(e.type)]=!0});const r=new Array(s).fill(void 0).map((e,t)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${t+1}.xml`})),l=[];UC.forEach(({name:e})=>{l.push({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/${e}.xml`})});const a=t?[{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.custom-properties+xml",PartName:"/docProps/custom.xml"}]:[],d=Object.keys(n).map(e=>({name:"Default",ContentType:`image/${e}`,Extension:e}));return i&&d.push({name:"Default",Extension:"vml",ContentType:"application/vnd.openxmlformats-officedocument.vmlDrawing"}),{name:"Types",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"}},children:[...d,{name:"Default",Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"},{name:"Default",ContentType:"application/xml",Extension:"xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",PartName:"/xl/workbook.xml"},...o,{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.theme+xml",PartName:"/xl/theme/theme1.xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",PartName:"/xl/styles.xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",PartName:"/xl/sharedStrings.xml"},...r,...l,{name:"Override",ContentType:"application/vnd.openxmlformats-package.core-properties+xml",PartName:"/docProps/core.xml"},...a].map(e=>Xm.getTemplate(e))}}},tf={getTemplate(e){const t=/* @__PURE__ */(new Date).toJSON();return{name:"cp:coreProperties",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{cp:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",xsi:"http://www.w3.org/2001/XMLSchema-instance"}}]},children:[{name:"dc:creator",textNode:e},{name:"dc:title",textNode:"Workbook"},{name:"dcterms:created",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:t},{name:"dcterms:modified",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:t}]}}},of=e=>Object.keys(e).filter(t=>t&&null!=e[t]).map((t,o)=>({name:"property",properties:{rawMap:{fmtid:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:(o+2).toString(),name:f(t)??""}},children:[{name:"vt:lpwstr",textNode:f(Ym(String(e[t])))??""}]})),sf=e=>({name:"Properties",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties","xmlns:vt":"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"}},children:of(e)}),nf=(e,t)=>({name:`xdr:${e}`,children:[{name:"xdr:col",textNode:t.col.toString()},{name:"xdr:colOff",textNode:t.offsetX.toString()},{name:"xdr:row",textNode:t.row.toString()},{name:"xdr:rowOff",textNode:t.offsetY.toString()}]}),rf=e=>{const t=[{name:"a:ext",properties:{rawMap:{uri:"{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}"}},children:[{name:"a16:creationId",properties:{rawMap:{id:"{822E6D20-D7BC-2841-A643-D49A6EF008A2}","xmlns:a16":"http://schemas.microsoft.com/office/drawing/2014/main"}}}]}];switch(e.recolor?.toLowerCase()){case"grayscale":case"sepia":case"washout":t.push({name:"a:ext",properties:{rawMap:{uri:"{C183D7F6-B498-43B3-948B-1728B52AA6E4}"}},children:[{name:"adec:decorative",properties:{rawMap:{val:"0","xmlns:adec":"http://schemas.microsoft.com/office/drawing/2017/decorative"}}}]})}return{name:"a:extLst",children:t}},lf=(e,t)=>({name:"xdr:nvPicPr",children:[{name:"xdr:cNvPr",properties:{rawMap:{id:t,name:e.id,descr:null!=e.altText?e.altText:void 0}},children:[rf(e)]},{name:"xdr:cNvPicPr",properties:{rawMap:{preferRelativeResize:"0"}},children:[{name:"a:picLocks"}]}]}),af=e=>{if(!e.saturation&&!e.tint)return;const t=[];return e.saturation&&t.push({name:"a:satMod",properties:{rawMap:{val:1e3*e.saturation}}}),e.tint&&t.push({name:"a:tint",properties:{rawMap:{val:1e3*e.tint}}}),t},df=(e,t)=>{let o;if(e.transparency){const t=Math.min(Math.max(e.transparency,0),100);o=[{name:"a:alphaModFix",properties:{rawMap:{amt:1e5-Math.round(1e3*t)}}}]}if(e.recolor)switch(o||(o=[]),e.recolor.toLocaleLowerCase()){case"grayscale":o.push({name:"a:grayscl"});break;case"sepia":o.push((i={color:"D9C3A5",tint:50,saturation:180},{name:"a:duotone",children:[{name:"a:prstClr",properties:{rawMap:{val:(s={color:"black"}).color}},children:af(s)},{name:"a:srgbClr",properties:{rawMap:{val:i.color}},children:af(i)}]}));break;case"washout":o.push({name:"a:lum",properties:{rawMap:{bright:"70000",contrast:"-70000"}}})}var s,i;return{name:"xdr:blipFill",children:[{name:"a:blip",properties:{rawMap:{cstate:"print","r:embed":`rId${t}`,"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}},children:o},{name:"a:stretch",children:[{name:"a:fillRect"}]}]}},cf=(e,t)=>{const o={name:"a:xfrm",children:[{name:"a:off",properties:{rawMap:{x:0,y:0}}},{name:"a:ext",properties:{rawMap:{cx:t.width,cy:t.height}}}]};if(e.rotation){const t=e.rotation;o.properties={rawMap:{rot:6e4*Math.min(Math.max(t,0),360)}}}return{name:"xdr:spPr",children:[o,{name:"a:prstGeom",properties:{rawMap:{prst:"rect"}},children:[{name:"a:avLst"}]}]}},hf=(e,t,o,s)=>({name:"xdr:pic",children:[lf(e,t+1),df(e,o+1),cf(e,s)]}),uf={getTemplate(e){const{sheetIndex:t}=e,o=OC.get(t),s=WC.get(t);return{name:"xdr:wsDr",properties:{rawMap:{"xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"}},children:o.map((e,t)=>{const o=(e=>{e.fitCell=!!e.fitCell||!e.width||!e.height;const{position:t={},fitCell:o,width:s=0,height:i=0,totalHeight:n,totalWidth:r}=e,{offsetX:l=0,offsetY:a=0,row:d=1,rowSpan:c=1,column:h=1,colSpan:u=1}=t;return{from:{row:d-1,col:h-1,offsetX:$m(l),offsetY:$m(a)},to:{row:d-1+(o?1:c-1),col:h-1+(o?1:u-1),offsetX:$m(s+l),offsetY:$m(i+a)},height:$m(n||i),width:$m(r||s)}})(e);return{name:"xdr:twoCellAnchor",properties:{rawMap:{editAs:"absolute"}},children:[nf("from",o.from),nf("to",o.to),hf(e,t,s.get(e.id).index,o),{name:"xdr:clientData"}]}})}}},gf={getTemplate(e){const{Id:t,Type:o,Target:s}=e;return{name:"Relationship",properties:{rawMap:{Id:t,Type:o,Target:s}}}}},pf=e=>({name:"Relationships",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}},children:e.map(e=>gf.getTemplate(e))}),mf=e=>({name:"sst",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:e.size,uniqueCount:e.size}},children:Zm(e)}),ff={None:"None",Dot:"Dotted",Dash:"Dashed",Double:"Double",DashDot:"DashDot",DashDotDot:"DashDotDot",SlantDashDot:"SlantDashDot",Continuous:"Continuous"},Cf=["Dashed","DashDot","DashDotDot"],vf={None:"none",Solid:"solid",Gray50:"mediumGray",Gray75:"darkGray",Gray25:"lightGray",HorzStripe:"darkHorizontal",VertStripe:"darkVertical",ReverseDiagStripe:"darkDown",DiagStripe:"darkUp",DiagCross:"darkGrid",ThickDiagCross:"darkTrellis",ThinHorzStripe:"lightHorizontal",ThinVertStripe:"lightVertical",ThinReverseDiagStripe:"lightDown",ThinDiagStripe:"lightUp",ThinHorzCross:"lightGrid",ThinDiagCross:"lightTrellis",Gray125:"gray125",Gray0625:"gray0625"},wf={Automatic:"general",Left:"left",Center:"center",Right:"right",Fill:"fill",Justify:"justify",CenterAcrossSelection:"centerContinuous",Distributed:"distributed",JustifyDistributed:"justify"},bf={Automatic:void 0,Top:"top",Bottom:"bottom",Center:"center",Justify:"justify",Distributed:"distributed",JustifyDistributed:"justify"},yf=e=>null==e?e:("#"===e.charAt(0)&&(e=e.substring(1)),6===e.length?"FF"+e:e),Sf=(e,t)=>{if(!e)return"thin";const o=(e=>{switch(e){case 1:return"thin";case 2:return"medium";case 3:return"thick";default:return"hair"}})(t);if("Continuous"===e)return o;const s=ff[e];return"medium"===o&&Cf.some(e=>e===s)?`medium${s}`:`${s.charAt(0).toLowerCase()}${s.substring(1)}`},Rf=e=>wf[e]||"general",xf=e=>bf[e]||void 0,Ff=e=>({name:"color",properties:{rawMap:{rgb:yf(e||"#000000")}}}),Df={getTemplate(e){const{left:t,right:o,top:s,bottom:i,diagonal:n}=e,r=t?[Ff(t.color)]:void 0,l=o?[Ff(o.color)]:void 0,a=s?[Ff(s.color)]:void 0,d=i?[Ff(i.color)]:void 0,c=n?[Ff(n.color)]:void 0;return{name:"border",children:[{name:"left",properties:{rawMap:{style:t?.style}},children:r},{name:"right",properties:{rawMap:{style:o?.style}},children:l},{name:"top",properties:{rawMap:{style:s?.style}},children:a},{name:"bottom",properties:{rawMap:{style:i?.style}},children:d},{name:"diagonal",properties:{rawMap:{style:n?.style}},children:c}]}}},Mf=e=>({name:"borders",properties:{rawMap:{count:e.length}},children:e.map(e=>Df.getTemplate(e))}),Pf=e=>{const t=["Context","LeftToRight","RightToLeft"].indexOf(e);return Math.max(t,0)},Ef={getTemplate(e){const{horizontal:t,indent:o,readingOrder:s,rotate:i,shrinkToFit:n,vertical:r,wrapText:l}=e;return{name:"alignment",properties:{rawMap:{horizontal:t&&Rf(t),indent:o,readingOrder:s&&Pf(s),textRotation:i,shrinkToFit:n,vertical:r&&xf(r),wrapText:l}}}}},Tf={getTemplate(e){const t=!1===e.protected?0:1;return{name:"protection",properties:{rawMap:{hidden:!0===e.hideFormula?1:0,locked:t}}}}},If={getTemplate(e){const{alignment:t,borderId:o,fillId:s,fontId:i,numFmtId:n,protection:r,quotePrefix:l,xfId:a}=e,d=[];return t&&d.push(Ef.getTemplate(t)),r&&d.push(Tf.getTemplate(r)),{name:"xf",properties:{rawMap:{applyAlignment:t?1:void 0,applyProtection:r?1:void 0,applyBorder:o?1:void 0,applyFill:s?1:void 0,borderId:o,fillId:s,applyFont:i?1:void 0,fontId:i,applyNumberFormat:n?1:void 0,numFmtId:n,quotePrefix:l?1:void 0,xfId:a}},children:d.length?d:void 0}}},Af=e=>({name:"cellStyleXfs",properties:{rawMap:{count:e.length}},children:e.map(e=>If.getTemplate(e))}),kf={getTemplate(e){const{builtinId:t,name:o,xfId:s}=e;return{name:"cellStyle",properties:{rawMap:{builtinId:t,name:o,xfId:s}}}}},Lf=e=>({name:"cellStyles",properties:{rawMap:{count:e.length}},children:e.map(e=>kf.getTemplate(e))}),Gf=e=>({name:"cellXfs",properties:{rawMap:{count:e.length}},children:e.map(e=>If.getTemplate(e))}),Nf={getTemplate(e){const{patternType:t,fgTheme:o,fgTint:s,fgRgb:i,bgRgb:n,bgIndexed:r}=e,l={name:"patternFill",properties:{rawMap:{patternType:t}}};return(o||s||i)&&(l.children=[{name:"fgColor",properties:{rawMap:{theme:o,tint:s,rgb:i}}}]),(r||n)&&(l.children||(l.children=[]),l.children.push({name:"bgColor",properties:{rawMap:{indexed:r,rgb:n}}})),{name:"fill",children:[l]}}},Bf=e=>({name:"fills",properties:{rawMap:{count:e.length}},children:e.map(e=>Nf.getTemplate(e))}),Hf={getTemplate(e){const{size:t,colorTheme:o,color:s="FF000000",fontName:i="Calibri",family:n,scheme:r,italic:l,bold:a,strikeThrough:d,outline:c,shadow:h,underline:u,verticalAlign:g}=e,p=[{name:"sz",properties:{rawMap:{val:t}}},{name:"color",properties:{rawMap:{theme:o,rgb:s}}},{name:"name",properties:{rawMap:{val:i}}}];return n&&p.push({name:"family",properties:{rawMap:{val:n}}}),r&&p.push({name:"scheme",properties:{rawMap:{val:r}}}),l&&p.push({name:"i"}),a&&p.push({name:"b"}),d&&p.push({name:"strike"}),c&&p.push({name:"outline"}),h&&p.push({name:"shadow"}),u&&p.push({name:"u",properties:{rawMap:{val:u}}}),g&&p.push({name:"vertAlign",properties:{rawMap:{val:g}}}),{name:"font",children:p}}},Of=e=>({name:"fonts",properties:{rawMap:{count:e.length}},children:e.map(e=>Hf.getTemplate(e))}),Vf={getTemplate(e){let{formatCode:t,numFmtId:o}=e;return t.length&&(t=function(e){const t=e.split(/(\[[^\]]*\])/);for(let o=0;o({name:"numFmts",properties:{rawMap:{count:e.length}},children:e.map(e=>Vf.getTemplate(e))}),Wf=(e,t)=>(e.includes("mixedStyle")&&t>1&&(e+=`_${t}`),e),Uf=()=>{Lm={base:0},Gm=[],Nm=[{fontName:"Calibri",colorTheme:"1",family:"2",scheme:"minor"}],Bm=[{patternType:"none"},{patternType:"gray125"}],Hm=[{left:void 0,right:void 0,top:void 0,bottom:void 0,diagonal:void 0}],Om=[{borderId:0,fillId:0,fontId:0,numFmtId:0}],Vm=[{borderId:0,fillId:0,fontId:0,numFmtId:0,xfId:0}],zm=[{builtinId:0,name:"Normal",xfId:0}]},$f=e=>{const{alignment:t,borders:o,font:s,interior:i,numberFormat:n,protection:r,quotePrefix:l}=e;let{id:a}=e,d=0,c=0,h=0,u=0;a&&(a=Wf(a,Wm),null==Lm[a]&&(i&&(d=(e=>{const t=(o=e.pattern)?vf[o]||o:"none";var o;const s=yf(e.color),i=yf(e.patternColor);let n=Bm.findIndex(e=>{const{patternType:o,fgRgb:n,bgRgb:r}=e;return!(o!=t||n!=s||r!=i)});return-1===n&&(n=Bm.length,Bm.push({patternType:t,fgRgb:s,bgRgb:i})),n})(i)),o&&(c=(e=>{const{borderBottom:t,borderTop:o,borderLeft:s,borderRight:i}=e;let n,r,l,a,d,c,h,u;s&&(l=Sf(s.lineStyle,s.weight),h=yf(s.color)),i&&(a=Sf(i.lineStyle,i.weight),u=yf(i.color)),t&&(n=Sf(t.lineStyle,t.weight),d=yf(t.color)),o&&(r=Sf(o.lineStyle,o.weight),c=yf(o.color));let g=Hm.findIndex(e=>{const{left:t,right:o,top:s,bottom:i}=e;if(!t&&(l||h))return!1;if(!o&&(a||u))return!1;if(!s&&(r||c))return!1;if(!i&&(n||d))return!1;const{style:g,color:p}=t||{},{style:m,color:f}=o||{},{style:C,color:v}=s||{},{style:w,color:b}=i||{};return g==l&&p==h&&m==a&&f==u&&C==r&&v==c&&w==n&&b==d});return-1===g&&(g=Hm.length,Hm.push({left:{style:l,color:h},right:{style:a,color:u},top:{style:r,color:c},bottom:{style:n,color:d},diagonal:{style:void 0,color:void 0}})),g})(o)),s&&(h=(e=>{const{fontName:t="Calibri",color:o,size:s,bold:i,italic:n,outline:r,shadow:l,strikeThrough:a,underline:d,family:c,verticalAlign:h}=e,u=yf(o),g=(e=>{if(void 0===e)return;const t=["Automatic","Roman","Swiss","Modern","Script","Decorative"].indexOf(e||"Automatic");return Math.max(t,0)})(c),p=d?d.toLocaleLowerCase():void 0,m=h?h.toLocaleLowerCase():void 0;let f=Nm.findIndex(e=>!(e.fontName!=t||e.color!=u||e.size!=s||e.bold!=i||e.italic!=n||e.outline!=r||e.shadow!=l||e.strikeThrough!=a||e.underline!=p||e.verticalAlign!=m||e.family!=g));return-1===f&&(f=Nm.length,Nm.push({fontName:t,color:u,size:s,bold:i,italic:n,outline:r,shadow:l,strikeThrough:a,underline:p,verticalAlign:m,family:null!=g?g.toString():void 0})),f})(s)),n&&(u=(e=>{if(Tm[e])return Tm[e];let t=Gm.findIndex(t=>t.formatCode===e);return-1===t?(t=Gm.length+164,Gm.push({formatCode:e,numFmtId:t})):t=Gm[t].numFmtId,t})(n.format)),Lm[a]=Vm.length,Vm.push({alignment:t,borderId:c||0,fillId:d||0,fontId:h||0,numFmtId:u||0,protection:r,quotePrefix:l,xfId:0})))},jf=(e,t)=>Lm[Wf(e,t)]||0,Kf={getTemplate(e){const t=zf(Gm),o=Of(Nm.map(t=>({...t,size:null!=t.size?t.size:e}))),s=Bf(Bm),i=Mf(Hm),n=Af(Om),r=Gf(Vm),l=Lf(zm);return Uf(),{name:"styleSheet",properties:{rawMap:{"mc:Ignorable":"x14ac x16r2 xr",xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:x16r2":"http://schemas.microsoft.com/office/spreadsheetml/2015/02/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision"}},children:[t,o,s,i,n,r,l,{name:"tableStyles",properties:{rawMap:{count:0,defaultPivotStyle:"PivotStyleLight16",defaultTableStyle:"TableStyleMedium2"}}}]}}},_f={getTemplate(e,t){const{name:o,columns:s,rowRange:i,displayName:n,showRowStripes:r,showColumnStripes:l,showFilterButtons:a,highlightFirstColumn:d,highlightLastColumn:c}=e||{},h=!i||i[0]-i[1]===0;if(!e||!o||!Array.isArray(s)||!s.length||h)return{name:"table"};const u=s.map((e,t)=>({name:"filterColumn",properties:{rawMap:{colId:t.toString(),hiddenButton:a[t]?0:1}}})),g=`A${i[0]}:${_m(s.length)}${i[1]}`,p=`${t+1}`,m=t?`${n}_${p}`:n;return{name:"table",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"xr xr3","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3",name:m,displayName:m,ref:g,totalsRowShown:0,id:p}},children:[{name:"autoFilter",properties:{rawMap:{ref:g}},children:u},{name:"tableColumns",properties:{rawMap:{count:s.length}},children:s.map((e,t)=>({name:"tableColumn",properties:{rawMap:{id:(t+1).toString(),name:f(qm(e)),dataCellStyle:"Normal"}}}))},{name:"tableStyleInfo",properties:{rawMap:{name:"TableStyleLight1",showFirstColumn:d?1:0,showLastColumn:c?1:0,showRowStripes:r?1:0,showColumnStripes:l?1:0}}}]}}},qf=e=>{const[t,o,s,i]=e;return{name:`a:${t}`,children:[{name:`a:${o}`,properties:{rawMap:{val:s,lastClr:i}}}]}},Yf=()=>({name:"a:clrScheme",properties:{rawMap:{name:"Office"}},children:[qf(["dk1","sysClr","windowText","000000"]),qf(["lt1","sysClr","window","FFFFFF"]),qf(["dk2","srgbClr","44546A"]),qf(["lt2","srgbClr","E7E6E6"]),qf(["accent1","srgbClr","4472C4"]),qf(["accent2","srgbClr","ED7D31"]),qf(["accent3","srgbClr","A5A5A5"]),qf(["accent4","srgbClr","FFC000"]),qf(["accent5","srgbClr","5B9BD5"]),qf(["accent6","srgbClr","70AD47"]),qf(["hlink","srgbClr","0563C1"]),qf(["folHlink","srgbClr","954F72"])]}),Zf=e=>{const[t,o,s,i]=e;return{name:`a:${t}`,properties:{rawMap:{script:s,typeface:o,panose:i}}}},Qf=()=>({name:"a:fontScheme",properties:{rawMap:{name:"Office"}},children:[{name:"a:majorFont",children:[Zf(["latin","Calibri Light",void 0,"020F0302020204030204"]),Zf(["ea",""]),Zf(["cs",""]),Zf(["font","游ゴシック Light","Jpan"]),Zf(["font","맑은 고딕","Hang"]),Zf(["font","等线 Light","Hans"]),Zf(["font","新細明體","Hant"]),Zf(["font","Times New Roman","Arab"]),Zf(["font","Times New Roman","Hebr"]),Zf(["font","Tahoma","Thai"]),Zf(["font","Nyala","Ethi"]),Zf(["font","Vrinda","Beng"]),Zf(["font","Shruti","Gujr"]),Zf(["font","MoolBoran","Khmr"]),Zf(["font","Tunga","Knda"]),Zf(["font","Raavi","Guru"]),Zf(["font","Euphemia","Cans"]),Zf(["font","Plantagenet Cherokee","Cher"]),Zf(["font","Microsoft Yi Baiti","Yiii"]),Zf(["font","Microsoft Himalaya","Tibt"]),Zf(["font","MV Boli","Thaa"]),Zf(["font","Mangal","Deva"]),Zf(["font","Gautami","Telu"]),Zf(["font","Latha","Taml"]),Zf(["font","Estrangelo Edessa","Syrc"]),Zf(["font","Kalinga","Orya"]),Zf(["font","Kartika","Mlym"]),Zf(["font","DokChampa","Laoo"]),Zf(["font","Iskoola Pota","Sinh"]),Zf(["font","Mongolian Baiti","Mong"]),Zf(["font","Times New Roman","Viet"]),Zf(["font","Microsoft Uighur","Uigh"]),Zf(["font","Sylfaen","Geor"]),Zf(["font","Arial","Armn"]),Zf(["font","Leelawadee UI","Bugi"]),Zf(["font","Microsoft JhengHei","Bopo"]),Zf(["font","Javanese Text","Java"]),Zf(["font","Segoe UI","Lisu"]),Zf(["font","Myanmar Text","Mymr"]),Zf(["font","Ebrima","Nkoo"]),Zf(["font","Nirmala UI","Olck"]),Zf(["font","Ebrima","Osma"]),Zf(["font","Phagspa","Phag"]),Zf(["font","Estrangelo Edessa","Syrn"]),Zf(["font","Estrangelo Edessa","Syrj"]),Zf(["font","Estrangelo Edessa","Syre"]),Zf(["font","Nirmala UI","Sora"]),Zf(["font","Microsoft Tai Le","Tale"]),Zf(["font","Microsoft New Tai Lue","Talu"]),Zf(["font","Ebrima","Tfng"])]},{name:"a:minorFont",children:[Zf(["latin","Calibri",void 0,"020F0502020204030204"]),Zf(["ea",""]),Zf(["cs",""]),Zf(["font","游ゴシック","Jpan"]),Zf(["font","맑은 고딕","Hang"]),Zf(["font","等线","Hans"]),Zf(["font","新細明體","Hant"]),Zf(["font","Arial","Arab"]),Zf(["font","Arial","Hebr"]),Zf(["font","Tahoma","Thai"]),Zf(["font","Nyala","Ethi"]),Zf(["font","Vrinda","Beng"]),Zf(["font","Shruti","Gujr"]),Zf(["font","DaunPenh","Khmr"]),Zf(["font","Tunga","Knda"]),Zf(["font","Raavi","Guru"]),Zf(["font","Euphemia","Cans"]),Zf(["font","Plantagenet Cherokee","Cher"]),Zf(["font","Microsoft Yi Baiti","Yiii"]),Zf(["font","Microsoft Himalaya","Tibt"]),Zf(["font","MV Boli","Thaa"]),Zf(["font","Mangal","Deva"]),Zf(["font","Gautami","Telu"]),Zf(["font","Latha","Taml"]),Zf(["font","Estrangelo Edessa","Syrc"]),Zf(["font","Kalinga","Orya"]),Zf(["font","Kartika","Mlym"]),Zf(["font","DokChampa","Laoo"]),Zf(["font","Iskoola Pota","Sinh"]),Zf(["font","Mongolian Baiti","Mong"]),Zf(["font","Arial","Viet"]),Zf(["font","Microsoft Uighur","Uigh"]),Zf(["font","Sylfaen","Geor"]),Zf(["font","Arial","Armn"]),Zf(["font","Leelawadee UI","Bugi"]),Zf(["font","Microsoft JhengHei","Bopo"]),Zf(["font","Javanese Text","Java"]),Zf(["font","Segoe UI","Lisu"]),Zf(["font","Myanmar Text","Mymr"]),Zf(["font","Ebrima","Nkoo"]),Zf(["font","Nirmala UI","Olck"]),Zf(["font","Ebrima","Osma"]),Zf(["font","Phagspa","Phag"]),Zf(["font","Estrangelo Edessa","Syrn"]),Zf(["font","Estrangelo Edessa","Syrj"]),Zf(["font","Estrangelo Edessa","Syre"]),Zf(["font","Nirmala UI","Sora"]),Zf(["font","Microsoft Tai Le","Tale"]),Zf(["font","Microsoft New Tai Lue","Talu"]),Zf(["font","Ebrima","Tfng"])]}]}),Xf=(e,t,o)=>({name:`a:${e}`,properties:{rawMap:{val:t}},children:o}),Jf=e=>{const[t,o,s,i,n,r]=e,l=[];return l.push(Xf("satMod",s)),i&&l.push(Xf("lumMod",i)),n&&l.push(Xf("tint",n)),r&&l.push(Xf("shade",r)),{name:"a:gs",properties:{rawMap:{pos:t}},children:[{name:"a:schemeClr",properties:{rawMap:{val:o}},children:l}]}},eC=(e,t)=>({name:"a:solidFill",children:[Xf("schemeClr",e,t)]}),tC=e=>{const[t,o,s,i,n]=e,[r,l]=n;return{name:"a:gradFill",properties:{rawMap:{rotWithShape:t}},children:[{name:"a:gsLst",children:[Jf(o),Jf(s),Jf(i)]},{name:"a:lin",properties:{rawMap:{ang:r,scaled:l}}}]}},oC=e=>{const[t,o,s,i]=e;return{name:"a:ln",properties:{rawMap:{w:t,cap:o,cmpd:s,algn:i}},children:[eC("phClr"),Xf("prstDash","solid"),{name:"a:miter",properties:{rawMap:{lim:"800000"}}}]}},sC=e=>{const t=[];if(e){const[o,s,i,n,r]=e;t.push({name:"a:outerShdw",properties:{rawMap:{blurRad:o,dist:s,dir:i,algn:n,rotWithShape:r}},children:[Xf("srgbClr","000000",[Xf("alpha","63000")])]})}return{name:"a:effectStyle",children:[Object.assign({},{name:"a:effectLst"},t.length?{children:t}:{})]}},iC=()=>({name:"a:fmtScheme",properties:{rawMap:{name:"Office"}},children:[{name:"a:fillStyleLst",children:[eC("phClr"),tC(["1",["0","phClr","105000","110000","67000"],["50000","phClr","103000","105000","73000"],["100000","phClr","109000","105000","81000"],["5400000","0"]]),tC(["1",["0","phClr","103000","102000","94000"],["50000","phClr","110000","100000",void 0,"100000"],["100000","phClr","120000","99000",void 0,"78000"],["5400000","0"]])]},{name:"a:lnStyleLst",children:[oC(["6350","flat","sng","ctr"]),oC(["12700","flat","sng","ctr"]),oC(["19050","flat","sng","ctr"])]},{name:"a:effectStyleLst",children:[sC(),sC(),sC(["57150","19050","5400000","ctr","0"])]},{name:"a:bgFillStyleLst",children:[eC("phClr"),eC("phClr",[Xf("tint","95000"),Xf("satMod","170000")]),tC(["1",["0","phClr","150000","102000","93000","98000"],["50000","phClr","130000","103000","98000","90000"],["100000","phClr","120000",void 0,void 0,"63000"],["5400000","0"]])]}]}),nC=()=>({name:"a:themeElements",children:[Yf(),Qf(),iC()]}),rC=()=>({name:"a:theme",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{a:"http://schemas.openxmlformats.org/drawingml/2006/main"}}],rawMap:{name:"Office Theme"}},children:[nC(),{name:"a:objectDefaults"},{name:"a:extraClrSchemeLst"}]}),lC=e=>{const{aspectratio:t,rotation:o}=e||{},s={};return t&&(s.aspectratio="t"),o&&(s.rotation="t"),{name:"o:lock",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:s}}},aC=(e,t)=>{let o;const{recolor:s,brightness:i,contrast:n,id:r}=e;if(s&&(o={},"Washout"!==s&&"Grayscale"!==s||(o.gain="19661f",o.blacklevel="22938f"),"Black & White"!==s&&"Grayscale"!==s||(o.grayscale="t","Black & White"===s&&(o.bilevel="t"))),!s||"Grayscale"===s){if(o||(o={}),null!=n&&50!==n){let e="1";n>=0&&(n<50?e=String(n/50):n<100?e=String(50/(100-n)):100===n&&(e="2147483647f")),o.gain=e}null!=i&&50!==i&&(o.blacklevel=(l=i,(l-0)/100*1-.5).toString())}var l;return{name:"v:imagedata",properties:{prefixedAttributes:[{prefix:"o:",map:{relid:`rId${t}`,title:r}}],rawMap:o}}},dC=e=>Math.floor(.74999943307122*(e??0)),cC={getTemplate(e){const t=VC.get(e.sheetIndex)||[];return{name:"xml",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{v:"urn:schemas-microsoft-com:vml",o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel"}}]},children:[{name:"o:shapelayout",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}]},children:[{name:"o:idmap",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:{data:"1"}}}]},{name:"v:shapetype",properties:{prefixedAttributes:[{prefix:"o:",map:{spt:"75",preferrelative:"t"}}],rawMap:{coordsize:"21600,21600",filled:"f",id:"_x0000_t75",path:"m@4@5l@4@11@9@11@9@5xe",stroked:"f"}},children:[{name:"v:stroke",properties:{rawMap:{joinstyle:"miter"}}},(o=["if lineDrawn pixelLineWidth 0","sum @0 1 0","sum 0 0 @1","prod @2 1 2","prod @3 21600 pixelWidth","prod @3 21600 pixelHeight","sum @0 0 1","prod @6 1 2","prod @7 21600 pixelWidth","sum @8 21600 0","prod @7 21600 pixelHeight","sum @10 21600 0"],{name:"v:formulas",children:o.map(e=>({name:"v:f",properties:{rawMap:{eqn:e}}}))}),{name:"v:path",properties:{prefixedAttributes:[{prefix:"o:",map:{connecttype:"rect",extrusionok:"f"}}],rawMap:{gradientshapeok:"t"}}},lC({aspectratio:!0})]},...t.map((e,t)=>((e,t)=>{const{width:o=0,height:s=0,altText:i}=e,n=dC(o),r=dC(s);return{name:"v:shape",properties:{rawMap:{id:e.headerFooterPosition,"o:spid":"_x0000_s1025",style:`position: absolute; margin-left: 0; margin-top: 10in; margin-bottom: 0; margin-right: 0; width: ${n}pt; height: ${r}pt; z-index: ${t+1}`,type:"#_x0000_t75",alt:i}},children:[aC(e,t+1),lC({rotation:!0})]}})(e,t))]};var o}},hC={getTemplate(e,t){const o=(t+1).toString();return{name:"sheet",properties:{rawMap:{name:e,sheetId:o,"r:id":`rId${o}`}}}}},uC=e=>({name:"sheets",children:e.map((e,t)=>hC.getTemplate(e,t))}),gC=(e,t)=>({name:"workbook",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}}],rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main"}},children:[{name:"bookViews",children:[{name:"workbookView",properties:{rawMap:{activeTab:t}}}]},uC(e)]}),pC={getTemplate(e){const{min:t,max:o,outlineLevel:s,s:i,width:n,hidden:r,bestFit:l}=e;let a=1,d="0";return n>1&&(a=(e=>Math.ceil((e-12)/7+1))(n),d="1"),{name:"col",properties:{rawMap:{min:t,max:o,outlineLevel:null!=s?s:void 0,width:a,style:i,hidden:r?"1":"0",bestFit:l?"1":"0",customWidth:d}}}}},mC=e=>({name:"mergeCell",properties:{rawMap:{ref:e}}}),fC={getTemplate(e,t,o){const{ref:s,data:i,styleId:n}=e,{type:r,value:l}=i||{type:"empty",value:null};let a=r;"f"===r?a="str":r.charAt(0)===r.charAt(0).toUpperCase()&&(a=(e=>{const t=e.charAt(0).toLowerCase();return"s"===t?"inlineStr":t})(r));const d={name:"c",properties:{rawMap:{r:s,t:"empty"===a?void 0:a,s:n?jf(n,o):void 0}}};if("empty"===a)return d;let c;return c="str"===a&&"f"===r?[{name:"f",textNode:f(Ym(l))}]:"inlineStr"===a?[{name:"is",children:[{name:"t",textNode:f(Ym(l))}]}]:[{name:"v",textNode:l}],Object.assign({},d,{children:c})}},CC=e=>""!==e.data?.value||void 0!==e.styleId,vC={getTemplate(e,t,o){const{collapsed:s,hidden:i,height:n,outlineLevel:r,cells:l=[]}=e;return((e,t)=>{const o=[];let s=0;for(let i=0;i=0;i--){const s=[],n=e[o[i].pos];for(let e=1;e<=n.mergeAcross;e++)s.push({ref:`${_m(o[i].excelPos+1+e)}${t+1}`,styleId:n.styleId,data:{type:"empty",value:null}});s.length&&e.splice(o[i].pos+1,0,...s)}})(l,t),{name:"row",properties:{rawMap:{r:t+1,collapsed:s?"1":"0",hidden:i?"1":"0",ht:n,customHeight:null!=n?"1":"0",spans:"1:1",outlineLevel:r||void 0}},children:l.filter(CC).map((e,t)=>fC.getTemplate(e,t,o))}}},wC=e=>{if(null==e)return 1;const t=["Letter","Letter Small","Tabloid","Ledger","Legal","Statement","Executive","A3","A4","A4 Small","A5","A6","B4","B5","Folio","Envelope","Envelope DL","Envelope C5","Envelope B5","Envelope C3","Envelope C4","Envelope C6","Envelope Monarch","Japanese Postcard","Japanese Double Postcard"].indexOf(e);return-1===t?1:t+1},bC=(e,t,o)=>e.reduce((e,s,i)=>{const n="Center"===(r=s.position)?"C":"Right"===r?"R":"L";var r;const l=(a=`${e}&${n}`,(d=s.font)?(a+="&"",a+=d.fontName||"Calibri",d.bold!==d.italic?a+=d.bold?",Bold":",Italic":d.bold?a+=",Bold Italic":a+=",Regular",a+=""",d.size&&(a+=`&${d.size}`),d.strikeThrough&&(a+="&S"),d.underline&&(a+="&"+("Double"===d.underline?"E":"U")),d.color&&(a+=`&K${d.color.replace("#","").toUpperCase()}`),a):a);var a,d;s.position||(s.position=["Left","Center","Right"][i]);const{image:c}=s;return"&[Picture]"===s.value&&c&&jC(c,`${n}${t}${o}`),`${l}${f((e=>{const t={"&[Page]":"&P","&[Pages]":"&N","&[Date]":"&D","&[Time]":"&T","&[Tab]":"&A","&[Path]":"&Z","&[File]":"&F","&[Picture]":"&G"};for(const o of Object.keys(t))e=e.replace(o,t[o]);return e})(s.value))}`},""),yC=e=>{const t=[];return["all","first","even"].forEach(o=>{const s=e[o],i="all"===o?"odd":o;if(s)for(const e of Object.keys(s)){const n=s[e],r=`${e.charAt(0).toUpperCase()}${e.slice(1)}`,l=e[0].toUpperCase();if(n){const e="all"===o?"":o.toUpperCase();t.push({name:`${i}${r}`,properties:{rawMap:{"xml:space":"preserve"}},textNode:bC(n,l,e)})}}}),t},SC=e=>t=>(e.length&&t.children.push({name:"cols",children:e.map(e=>pC.getTemplate(e))}),t),RC=(e,t)=>o=>(e.length&&o.children.push({name:"sheetData",children:e.map((e,o)=>vC.getTemplate(e,o,t))}),o),xC=e=>t=>{if(!e)return t;const o="boolean"==typeof e?{}:e,s={sheet:1},i=o.password?(e=>{const t=e.length;if(!t)return"";const o=new Array(t+1);o[0]=t;for(let i=1;i<=t;i++)o[i]=255&e.charCodeAt(i-1);let s=0;for(let i=o.length-1;i>=0;i--)s=((16384&s?1:0)|s<<1&32767)^o[i];return(52811^s).toString(16).toUpperCase().padStart(4,"0")})(o.password):"";i&&(s.password=i);const n={autoFilter:!1,deleteColumns:!1,deleteRows:!1,formatCells:!1,formatColumns:!1,formatRows:!1,insertColumns:!1,insertHyperlinks:!1,insertRows:!1,pivotTables:!1,selectLockedCells:!0,selectUnlockedCells:!0};return Object.keys(n).forEach(e=>{const t=o[e];null!=t&&t!==n[e]&&(s[e]=t?0:1)}),t.children.push({name:"sheetProtection",properties:{rawMap:s}}),t},FC=e=>t=>{const{top:o=.75,right:s=.7,bottom:i=.75,left:n=.7,header:r=.3,footer:l=.3}=e;return t.children.push({name:"pageMargins",properties:{rawMap:{bottom:i,footer:l,header:r,left:n,right:s,top:o}}}),t},DC=e=>t=>{var o;return e&&t.children.push({name:"pageSetup",properties:{rawMap:{horizontalDpi:0,verticalDpi:0,orientation:(o=e.orientation,!o||"Portrait"!==o&&"Landscape"!==o?"portrait":o.toLocaleLowerCase()),paperSize:wC(e.pageSize)}}}),t},MC=e=>t=>{if(!e)return t;const o=null!=e.first?1:0,s=null!=e.even?1:0;return t.children.push({name:"headerFooter",properties:{rawMap:{differentFirst:o,differentOddEven:s}},children:yC(e)}),t},PC=e=>t=>(OC.get(e)?.length&&t.children.push({name:"drawing",properties:{rawMap:{"r:id":"rId"+ ++t.rIdCounter}}}),t),EC=e=>t=>(VC.get(e)&&t.children.push({name:"legacyDrawingHF",properties:{rawMap:{"r:id":"rId"+ ++t.rIdCounter}}}),t),TC=(e=0,t=0)=>{const o=e>0||t>0;return o?[{name:"pane",properties:{rawMap:{state:o?"frozen":void 0,topLeftCell:o?`${_m(e+1)}${t+1}`:void 0,xSplit:0===e?void 0:e,ySplit:0===t?void 0:t}}}]:void 0},IC=(e=!1,t,o)=>s=>(s.children.push({name:"sheetViews",children:[{name:"sheetView",properties:{rawMap:{rightToLeft:!0===e?"1":"0",workbookViewId:"0"}},children:TC(t,o)}]}),s),AC=e=>t=>{const o=e.reduce((e,t)=>t.outlineLevel&&t.outlineLevel>e?t.outlineLevel:e,0);return t.children.push({name:"sheetFormatPr",properties:{rawMap:{baseColWidth:10,defaultRowHeight:16,outlineLevelRow:o||void 0}}}),t},kC={getTemplate(e){const{worksheet:t,currentSheet:o,config:s}=e,{margins:i={},pageSetup:n,headerFooterConfig:r,suppressColumnOutline:l,rightToLeft:a,frozenRowCount:d,frozenColumnCount:c,protectSheet:h}=s,{table:u}=t,{rows:g,columns:p}=u,m=p?.length?((e,t,o)=>{const s=[],i=[];e.forEach((e,o)=>{const n=e.cells;let r,l=0;n.forEach((e,n)=>{const a=n+l+1,d=_m(a),c=o+1;if(e.mergeAcross){l+=e.mergeAcross;const t=_m(n+l+1);s.push(`${d}${c}:${t}${c}`)}t[a-1]||(t[a-1]={});const{collapsibleRanges:h}=e;h&&h.forEach(e=>{i.push([a+e[0],a+e[1]])}),r=t[a-1],r.min=a,r.max=a,e.ref=`${d}${c}`})}),i.sort((e,t)=>e[0]!==t[0]?e[0]-t[0]:t[1]-e[1]);const n=/* @__PURE__ */new Map,r=/* @__PURE__ */new Map;return i.filter(e=>{const t=e.toString();return!n.get(t)&&(n.set(t,!0),!0)}).forEach(e=>{const s=t.find(t=>t.min==e[0]&&t.max==e[1]),i=r.get(e[0]);t.push({min:e[0],max:e[1],outlineLevel:o?void 0:i||1,width:(s||{width:100}).width}),r.set(e[0],(i||0)+1)}),s})(g,p,!!l):[],f=UC.get(o),{children:C}=[e=>(e.children.push({name:"sheetPr",children:[{name:"outlinePr",properties:{rawMap:{summaryBelow:0}}}]}),e),IC(a,c,d),AC(g),SC(p),RC(g,o+1),xC(h),(w=m,e=>(w.length&&e.children.push({name:"mergeCells",properties:{rawMap:{count:w.length}},children:w.map(e=>mC(e))}),e)),FC(i),DC(n),MC(r),PC(o),EC(o),(v=f,e=>(v&&e.children.push({name:"tableParts",properties:{rawMap:{count:"1"}},children:[{name:"tablePart",properties:{rawMap:{"r:id":"rId"+ ++e.rIdCounter}}}]}),e))].reduce((e,t)=>t(e),{children:[],rIdCounter:0});var v,w;return{name:"worksheet",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}}],rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main"}},children:C}}},LC=/* @__PURE__ */new Map,GC=[],NC=[],BC=/* @__PURE__ */new Map,HC=/* @__PURE__ */new Map,OC=/* @__PURE__ */new Map,VC=/* @__PURE__ */new Map,zC=/* @__PURE__ */new Map,WC=/* @__PURE__ */new Map,UC=/* @__PURE__ */new Map,$C="SINGLE_SHEET";function jC(e,t){const o=GC.length-1,s=e;s.headerFooterPosition=t,KC({imageToAdd:s,idx:o});let i=VC.get(o);i||(i=[],VC.set(o,i)),i.find(t=>t.id===e.id)||i.push(e)}function KC(e){const{imageToAdd:t,idx:o}=e,s=HC.get(t.id);if(s){const e=s.find(e=>e.sheetId===o);e?e.image.push(t):s.push({sheetId:o,image:[t]})}else HC.set(t.id,[{sheetId:o,image:[t]}]),zC.set(t.id,{type:t.imageType,index:zC.size})}function _C(e,t){return Km(_f.getTemplate(e,t))}function qC({drawingIndex:e,vmlDrawingIndex:t,tableName:o}={}){if(void 0===e&&void 0===t&&void 0===o)return"";const s=[];return null!=e&&s.push({Id:`rId${s.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",Target:`../drawings/drawing${e+1}.xml`}),null!=t&&s.push({Id:`rId${s.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",Target:`../drawings/vmlDrawing${t+1}.vml`}),null!=o&&s.push({Id:`rId${s.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",Target:`../tables/${o}.xml`}),Km(pf(s))}var YC=(e,t)=>{if(!e.size)return;const o=/* @__PURE__ */new Map;t.forEach((t,s)=>{e.has(t)&&o.set(s,e.get(t))}),e.clear(),o.forEach((t,o)=>e.set(o,t))},ZC=e=>{const t=BC.get(e)??[];t.push(GC.length-1),BC.set(e,t),NC.push(e)},QC=class{getStringPosition(e){return function(e){return LC.has(e)?LC.get(e):(LC.set(e,LC.size),LC.size-1)}(e)}addBodyImageToMap(e,t,o,s,i){!function(e,t,o,s,i){const n=GC.length,{row:r,column:l}=e.position||{},a=e;s&&(null==t||null==o||r&&l||(e.position||(e.position={}),e.position=Object.assign({},e.position,{row:t,column:s.indexOf(o)+1})),((e,t)=>{const{colSpan:o,column:s}=e.position;if(e.width)if(o){const i=t.slice(s-1,s+o-1);let n=0;for(let t=0;t{const{rowSpan:o,row:s}=e.position;if(e.height)if(o){let i=0,n=0;for(let r=s;r{1===(Wm=t)&&Uf(),e.forEach($f)})(e,GC.length);const s=Object.assign({},o);o.exportAsExcelTable&&o.pivotModeActive&&(Dt(163,{featureName:"pivot mode"}),s.exportAsExcelTable=!1),function(e,t){const{exportAsExcelTable:o,prependContent:s,appendContent:i,headerRowCount:n=0}=t;if(!o)return;const{name:r,showColumnStripes:l,showRowStripes:a,showFilterButton:d,highlightFirstColumn:c,highlightLastColumn:h}="boolean"==typeof o?{}:o,u=function(e){return e.replace(/^[^a-zA-Z_]+/,"_").replace(/\s/g,"_").replace(/[^a-zA-Z0-9_]/g,"_")}(r||"AG-GRID-TABLE"),g=GC.length-1,{table:p}=e,{rows:m,columns:f}=p,C=s?s.length:0,v=i?i.length:0,w=m.length,b=f.length,y=[],S=[];for(let R=0;R{if(e.length<=1)return;const t=(e=>{const t=new Map(BC),o=[];for(const s of e){const e=t.get(s);if(!e?.length)return null;const i=e.shift();o.push(i),t.set(s,e)}return o})(e)??(e=>{if(!e.length||0===NC.length)return null;const t=/* @__PURE__ */new Set,o=[];for(const s of e){const e=NC.findIndex((e,o)=>!t.has(o)&&e===s);if(-1===e)return null;t.add(e),o.push(e)}return o})(e);t&&(e=>{const t=/* @__PURE__ */new Map;e.forEach((e,o)=>t.set(e,o)),GC=e.map(e=>GC[e]),NC=e.map(e=>NC[e]),YC(OC,e),YC(VC,e),YC(UC,e),YC(WC,e),HC.forEach(e=>{e.forEach(e=>{const o=t.get(e.sheetId);null!=o&&(e.sheetId=o)})}),BC=/* @__PURE__ */new Map,NC.forEach((e,t)=>{const o=BC.get(e)??[];o.push(t),BC.set(e,o)})})(t)})(e)}reset(){LC.clear(),HC.clear(),OC.clear(),VC.clear(),zC.clear(),WC.clear(),UC.clear(),GC=[],NC=[],BC=/* @__PURE__ */new Map,$C="SINGLE_SHEET"}setFactoryMode(e){!function(e){$C=e}(e)}getFactoryMode(){return $C}getSheetNames(){return[...GC]}};function XC(e,t){let o="";for(let s=0;s>>=8;return o}var JC=e=>e.length?(e=>{if(!e.length)return 0;let t=-1,o=0,s=0,i=0;for(let n=0;n>>8^i;return-1^t})("string"==typeof e?(new TextEncoder).encode(e):e):0,ev=/* @__PURE__ */new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var tv=(e,t,o,s,i,n)=>{const{content:r,path:l,created:a}=e,d=(e=>{let t=e.getHours();return t<<=6,t|=e.getMinutes(),t<<=5,t|=e.getSeconds()/2,t})(a),c=(e=>{let t=e.getFullYear()-1980;return t<<=4,t|=e.getMonth()+1,t<<=5,t|=e.getDate(),t})(a),h=JC(i),u=void 0!==n?n:s,g=function(e){const t=String.fromCharCode;function o(e,o){return t(e>>o&63|128)}function s(e){if(!(4294967168&e))return t(e);let s="";return 4294965248&e?4294901760&e?4292870144&e||(s=t(e>>18&7|240),s+=o(e,12),s+=o(e,6)):(function(e){if(e>=55296&&e<=57343)throw new Error(Et(255,{point:e}))}(e),s=t(e>>12&15|224),s+=o(e,6)):s=t(e>>6&31|192),s+=t(63&e|128),s}const i=function(e){const t=[];if(!e)return[];const o=e.length;let s,i,n=0;for(;n=55296&&s<=56319&&ne.charCodeAt(0)),centralDirectoryHeader:Uint8Array.from(v,e=>e.charCodeAt(0))}},ov=e=>{let t;if("string"==typeof e){const o=atob(e.split(";base64,")[1]);t=Uint8Array.from(o,e=>e.charCodeAt(0))}else t=e;return{size:t.length,content:t}},sv=async e=>{const{content:t}=e,{size:o,content:s}=t?ov(t):{size:0,content:Uint8Array.from([])};let i,n,r=!1;if("file"===e.type&&s&&o>0){const e=await(async e=>{const{size:t,content:o}=await(async e=>{let t=0;const o=[],s=new WritableStream({write:e=>{o.push(e),t+=e.length}}),i=new ReadableStream({start:t=>{const o=new FileReader;o.onload=e=>{e.target?.result&&t.enqueue(e.target.result),t.close()},o.readAsArrayBuffer(e)}}),n=new window.CompressionStream("deflate-raw");return await i.pipeThrough(n).pipeTo(s),{size:t,content:new Blob(o)}})(new Blob([e]));return{size:t,content:new Uint8Array(await o.arrayBuffer())}})(s);i=e.content,n=e.size,r=!0}return{rawContent:s,rawSize:o,deflatedContent:i,deflatedSize:n,isCompressed:r}},iv=(e,t)=>{const{content:o}=e,{content:s}=o?ov(o):{content:Uint8Array.from([])};return{...tv(e,!1,t,s.length,s,void 0),content:s,isCompressed:!1}},nv=class{constructor(){this.folders=[],this.files=[]}addFolders(e){e.forEach(this.addFolder.bind(this))}addFolder(e){this.folders.push({path:e,created:/* @__PURE__ */new Date,isBase64:!1,type:"folder"})}addFile(e,t,o=!1){this.files.push({path:e,created:/* @__PURE__ */new Date,content:o?t:(new TextEncoder).encode(t),isBase64:o,type:"file"})}async getZipFile(e="application/zip"){const t=await this.buildCompressedFileStream();return this.clearStream(),new Blob([t],{type:e})}getUncompressedZipFile(e="application/zip"){const t=this.buildFileStream();return this.clearStream(),new Blob([t],{type:e})}clearStream(){this.folders=[],this.files=[]}packageFiles(e){let t=0,o=0;for(const d of e){const{localFileHeader:e,centralDirectoryHeader:s,content:i}=d;t+=e.length+i.length,o+=s.length}const s=new Uint8Array(t),i=new Uint8Array(o);let n=0,r=0;for(const d of e){const{localFileHeader:e,centralDirectoryHeader:t,content:o}=d;s.set(e,n),n+=e.length,s.set(o,n),n+=o.length,i.set(t,r),r+=t.length}const l=((e,t,o)=>{const s="PK\0\0\0\0"+XC(e,2)+XC(e,2)+XC(t,4)+XC(o,4)+"\0\0";return Uint8Array.from(s,e=>e.charCodeAt(0))})(e.length,o,t),a=new Uint8Array(s.length+i.length+l.length);return a.set(s),a.set(i,s.length),a.set(l,s.length+i.length),a}async buildCompressedFileStream(){const e=[...this.folders,...this.files],t=await Promise.all(e.map(sv)),o=[];let s=0;for(let i=0;i{const s="xl/drawings",i=`${s}/drawing${o+1}.xml`,n=`${s}/_rels/drawing${o+1}.xml.rels`;e.addFile(n,function(e){const t=WC.get(e)||[],o=[];for(const[s,i]of t){const{index:e,type:t}=i;o.push({Id:`rId${e+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${zC.get(s).index+1}.${Jm(t)}`})}return Km(pf(o))}(t)),e.addFile(i,function(e){return Km(uf.getTemplate({sheetIndex:e}))}(t))},lv=(e,t,o)=>{const s="xl/drawings",i=`${s}/vmlDrawing${o+1}.vml`,n=`${s}/_rels/vmlDrawing${o+1}.vml.rels`;e.addFile(i,function(e){return Km(cC.getTemplate({sheetIndex:e}),!0)}(t)),e.addFile(n,function(e){const t=VC.get(e)||[],o=[];for(let s=0;s{if(!t||0===t.length)return Dt(159),s.reset(),!1;s.syncOrderWithSheetData(t);const{fontSize:i=11,author:n="AG Grid",activeTab:r=0,customMetadata:l}=o,a=t.length,d=Math.max(Math.min(r,a-1),0);return(e=>{if(e.addFolders(["_rels/","docProps/","xl/","xl/theme/","xl/_rels/","xl/worksheets/"]),!HC.size)return;e.addFolders(["xl/worksheets/_rels","xl/drawings/","xl/drawings/_rels","xl/media/"]);let t=0;HC.forEach(o=>{const{base64:s,imageType:i}=o[0].image[0];e.addFile(`xl/media/image${++t}.${Jm(i)}`,s,!0)})})(e),(e=>{const t=UC,o=Array.from(t.keys());for(let s=0;s{let o=0,s=0;for(let i=0;i0&&OC.has(i),l=UC.size>0&&UC.get(i),a=HC.size&&VC.has(i);if(!r&&!l&&!a)continue;let d,c,h;r&&(rv(e,i,o),c=o,o++),a&&(lv(e,i,s),h=s,s++),l&&(d=l.name);const u=`xl/worksheets/_rels/sheet${i+1}.xml.rels`;e.addFile(u,qC({tableName:d,drawingIndex:c,vmlDrawingIndex:h}))}})(e,t),((e,t,o,s,i,n)=>{const r=!!n&&Object.keys(n).some(e=>null!=n[e]);var l;e.addFile("xl/workbook.xml",Km(gC(GC,i))),e.addFile("xl/styles.xml",(l=t,Km(Kf.getTemplate(l)))),e.addFile("xl/sharedStrings.xml",Km(mf(LC))),e.addFile("xl/theme/theme1.xml",Km(rC())),e.addFile("xl/_rels/workbook.xml.rels",function(e){const t=new Array(e).fill(void 0).map((e,t)=>({Id:`rId${t+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",Target:`worksheets/sheet${t+1}.xml`}));return Km(pf([...t,{Id:`rId${e+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",Target:"theme/theme1.xml"},{Id:`rId${e+2}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",Target:"styles.xml"},{Id:`rId${e+3}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",Target:"sharedStrings.xml"}]))}(s)),e.addFile("docProps/core.xml",function(e){return Km(tf.getTemplate(e))}(o)),r&&e.addFile("docProps/custom.xml",Km(sf(n))),e.addFile("[Content_Types].xml",function(e,t){return Km(ef.getTemplate({sheetLen:e,hasCustomProperties:t}))}(s,r)),e.addFile("_rels/.rels",function(e){const t=[{Id:"rId1",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",Target:"xl/workbook.xml"},{Id:"rId2",Type:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",Target:"docProps/core.xml"}];return e&&t.push({Id:"rId3",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",Target:"docProps/custom.xml"}),Km(pf(t))}(r))})(e,i,n,a,d,l),s.reset(),!0},dv=(e,t=new QC)=>{const{data:o,fontSize:s,author:i,activeSheetIndex:n,customMetadata:r}=e,l=e.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",a=new nv;return av(a,o,{author:i,fontSize:s,activeTab:n,customMetadata:r},t)?a.getZipFile(l):Promise.resolve(void 0)},cv=(e,t=new QC)=>{const{data:o,fontSize:s,author:i,activeSheetIndex:n,customMetadata:r}=e,l=e.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",a=new nv;if(av(a,o,{author:i,fontSize:s,activeTab:n,customMetadata:r},t))return a.getUncompressedZipFile(l)},hv=class extends Dl{constructor(e,t){super(function(e){return{tag:"div",cls:`ag-virtual-list-viewport ag-${e}-virtual-list-viewport`,role:"presentation",children:[{tag:"div",ref:"eContainer",cls:`ag-virtual-list-container ag-${e}-virtual-list-container`}]}}(t?.cssIdentifier||"default")),this.stopPropagationCallbacks=e,this.renderedRows=/* @__PURE__ */new Map,this.rowHeight=20,this.pageSize=-1,this.isScrolling=!1,this.isHeightFromTheme=!0,this.eContainer=null,this.awaitStableCallbacks=[],this.registerCSS(":where(.ag-virtual-list-viewport) .ag-tab-guard{position:sticky}.ag-virtual-list-viewport{flex:1 1 auto;height:100%;min-width:0;overflow:auto;position:relative;width:100%}.ag-virtual-list-container{overflow:hidden;position:relative}.ag-virtual-list-item{height:var(--ag-list-item-height);position:absolute;width:100%}");const{cssIdentifier:o="default",ariaRole:s="listbox",listName:i,moveItemCallback:n}=t||{};this.cssIdentifier=o,this.ariaRole=s,this.listName=i,this.moveItemCallback=n}postConstruct(){this.addScrollListener(),this.rowHeight=this.getItemHeight(),this.addResizeObserver(),this.initialiseTabGuard({onFocusIn:e=>this.onFocusIn(e),onFocusOut:e=>this.onFocusOut(e),focusInnerElement:e=>this.focusInnerElement(e),onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e)},this.stopPropagationCallbacks),this.refreshAriaProperties(),this.addManagedEventListeners({stylesChanged:this.onStylesChanged.bind(this)})}onStylesChanged(e){e.listItemHeightChanged&&(this.rowHeight=this.getItemHeight(),this.refresh())}refreshAriaProperties(){const e=this.getLocaleTextFunc()("ariaDefaultListName",this.listName||"List"),t=this.eContainer;P(t,this.model?.getRowCount()>0?this.ariaRole:"presentation"),E(t,e)}addResizeObserver(){const e=we(this.beans,this.getGui(),()=>be(this.beans,()=>this.drawVirtualRows()));this.addDestroyFunc(e)}focusInnerElement(e){return this.focusRow(e?this.model.getRowCount()-1:0),!0}onFocusIn(e){const t=e.target;var o;t.classList.contains("ag-virtual-list-item")&&(this.lastFocusedRowIndex=(o=t,Number.parseInt(o.getAttribute("aria-posinset"),10)-1))}onFocusOut(e){this.getFocusableElement().contains(e.relatedTarget)||(this.lastFocusedRowIndex=null)}handleKeyDown(e){const{key:t,shiftKey:o}=e;switch(t){case bs:case Ss:{const s=t===bs;e.preventDefault(),o?this.moveItem(s):this.navigate(s)}break;case Ms:case Ps:case Fs:case Ds:null!==this.navigateToPage(t)&&e.preventDefault()}}onTabKeyDown(e){this.stopPropagationCallbacks?.stopPropagation(e),this.forceFocusOutOfContainer(e.shiftKey)}getNextRow(e){if(null==this.lastFocusedRowIndex)return;const t=this.lastFocusedRowIndex+(e?-1:1);return t<0||t>=this.model.getRowCount()?void 0:t}moveItem(e){if(!this.moveItemCallback)return;const t=this.getComponentAt(this.lastFocusedRowIndex);t&&this.moveItemCallback(t,e)}navigate(e){const t=this.getNextRow(e);void 0!==t&&this.focusRow(t)}navigateToPage(e,t="focused"){let o=!1;"focused"===t&&(t=this.getLastFocusedRow(),o=!0);const s=this.model.getRowCount()-1;let i=-1;return e===Ms?i=0:e===Ps?i=s:e===Ds?i=Math.min(t+this.pageSize,s):e===Fs&&(i=Math.max(t-this.pageSize,0)),-1===i?null:(o?this.focusRow(i):this.ensureIndexVisible(i),i)}getLastFocusedRow(){return this.lastFocusedRowIndex}focusRow(e){this.isScrolling||(this.isScrolling=!0,this.ensureIndexVisible(e),be(this.beans,()=>{if(this.isScrolling=!1,!this.isAlive())return;const t=this.renderedRows.get(e);t&&t.eDiv.focus()}))}getComponentAt(e){const t=this.renderedRows.get(e);return t&&t.rowComponent}forEachRenderedRow(e){this.renderedRows.forEach((t,o)=>e(t.rowComponent,o))}getItemHeight(){return this.isHeightFromTheme?this.beans.environment.getDefaultListItemHeight():this.rowHeight}ensureIndexVisible(e,t=!0){const o=this.model.getRowCount();if("number"!=typeof e||e<0||e>=o)return!1;const s=e*this.rowHeight,i=s+this.rowHeight,n=this.getGui(),r=n.scrollTop,l=n.offsetHeight,a=r+l,d=t?0:this.rowHeight,c=as+d?(n.scrollTop=s,!0):!!c&&(n.scrollTop=i-l,!0)}setComponentCreator(e){this.componentCreator=e}setComponentUpdater(e){this.componentUpdater=e}getRowHeight(){return this.rowHeight}getScrollTop(){return this.getGui().scrollTop}setRowHeight(e){this.isHeightFromTheme=!1,this.rowHeight=e,this.refresh()}refresh(e){if(null==this.model||!this.isAlive())return;const t=this.model.getRowCount();this.eContainer.style.height=t*this.rowHeight+"px",this.refreshAriaProperties(),this.awaitStable(()=>{this.isAlive()&&(this.canSoftRefresh(e)?this.drawVirtualRows(!0):(this.clearVirtualRows(),this.drawVirtualRows()))})}awaitStable(e){if(this.awaitStableCallbacks.push(e),this.awaitStableCallbacks.length>1)return;const t=this.model.getRowCount();_e(this,()=>this.eContainer.clientHeight>=t*this.rowHeight,()=>{if(!this.isAlive())return;const e=this.awaitStableCallbacks;this.awaitStableCallbacks=[];for(const t of e)t()})}canSoftRefresh(e){return!!(e&&this.renderedRows.size&&"function"==typeof this.model.areRowsEqual&&this.componentUpdater)}clearVirtualRows(){this.renderedRows.forEach((e,t)=>this.removeRow(t))}drawVirtualRows(e){if(!this.isAlive()||!this.model)return;const t=this.getGui(),o=t.scrollTop,s=o+t.offsetHeight;if(o===s)this.clearVirtualRows();else{const t=Math.floor(o/this.rowHeight),i=Math.floor(s/this.rowHeight);this.pageSize=Math.floor((s-o)/this.rowHeight),this.ensureRowsRendered(t,i,e)}}ensureRowsRendered(e,t,o){this.renderedRows.forEach((o,s)=>{(st)&&s!==this.lastFocusedRowIndex&&this.removeRow(s)}),o&&this.refreshRows();for(let s=e;s<=t;s++)this.renderedRows.has(s)||s=t.getRowCount())return;const{cssIdentifier:o,ariaRole:s,renderedRows:i,eContainer:n}=this,r=t.getRow(e),l=xe({tag:"div",cls:`ag-virtual-list-item ag-${o}-virtual-list-item`,role:"tree"===s?"treeitem":"option",attrs:{tabindex:"-1"}});N(l,t.getRowCount()),B(l,e+1);const a=this.rowHeight;l.style.height=`${a}px`,l.style.top=a*e+"px";const d=this.componentCreator(r,l);d.addGuiEventListener("focusin",()=>this.lastFocusedRowIndex=e),l.appendChild(d.getGui()),i.has(e-1)?i.get(e-1).eDiv.insertAdjacentElement("afterend",l):i.has(e+1)?i.get(e+1).eDiv.insertAdjacentElement("beforebegin",l):n.appendChild(l),i.set(e,{rowComponent:d,eDiv:l,value:r})}removeRow(e){const t=this.renderedRows.get(e);t.eDiv.remove(),this.destroyBean(t.rowComponent),this.renderedRows.delete(e)}refreshRows(){const e=this.model.getRowCount();this.renderedRows.forEach((t,o)=>{if(o>=e)this.removeRow(o);else{const e=this.model.getRow(o);this.model.areRowsEqual?.(t.value,e)?this.componentUpdater(e,t.rowComponent):this.removeRow(o)}})}addScrollListener(){this.addGuiEventListener("scroll",()=>this.drawVirtualRows(),{passive:!0})}setModel(e){this.model=e}getAriaElement(){return this.eContainer}destroy(){this.isAlive()&&(this.clearVirtualRows(),this.awaitStableCallbacks.length=0,super.destroy())}},uv="ag-list-item-hovered",gv=class extends He{constructor(e,t,o){super(),this.comp=e,this.virtualList=t,this.params=o,this.currentDragValue=null,this.lastHoveredListItem=null}postConstruct(){this.beans.environment.addGlobalCSS('.ag-list-item-hovered:after{background-color:var(--ag-accent-color);content:"";height:1px;left:0;position:absolute;right:0}.ag-item-highlight-top:after{top:0}.ag-item-highlight-bottom:after{bottom:0}',"component-AgVirtualListDragFeature"),this.params.addListeners(this,this.listItemDragStart.bind(this),this.listItemDragEnd.bind(this)),this.createDropTarget(),this.createAutoScrollService()}listItemDragStart(e){this.currentDragValue=this.params.getCurrentDragValue(e),this.moveBlocked=this.params.isMoveBlocked(this.currentDragValue)}listItemDragEnd(){window.setTimeout(()=>{this.currentDragValue=null,this.moveBlocked=!1},10)}createDropTarget(){this.beans.dragAndDrop?.addDropTarget({isInterestedIn:e=>e===this.params.dragSourceType,getIconName:()=>this.moveBlocked?"pinned":"move",getContainer:()=>this.comp.getGui(),onDragging:e=>this.onDragging(e),onDragStop:()=>this.onDragStop(),onDragLeave:()=>this.onDragLeave(),onDragCancel:()=>this.onDragCancel()})}createAutoScrollService(){const e=this.virtualList.getGui();this.autoScrollService=new Xl({scrollContainer:e,scrollAxis:"y",getVerticalPosition:()=>e.scrollTop,setVerticalPosition:t=>e.scrollTop=t})}onDragging(e){if(!this.currentDragValue||this.moveBlocked)return;const t=this.getListDragItem(e),o=this.virtualList.getComponentAt(t.rowIndex);if(!o)return;const s=o.getGui().parentElement;this.lastHoveredListItem&&this.lastHoveredListItem.rowIndex===t.rowIndex&&this.lastHoveredListItem.position===t.position||(this.autoScrollService.check(e.event),this.clearHoveredItems(),this.lastHoveredListItem=t,U(s,uv),U(s,`ag-item-highlight-${t.position}`))}getListDragItem(e){const t=this.virtualList.getGui(),o=Number.parseFloat(window.getComputedStyle(t).paddingTop),s=this.virtualList.getRowHeight(),i=this.virtualList.getScrollTop(),n=Math.max(0,(e.y-o+i)/s),r=this.params.getNumRows(this.comp)-1,l=0|Math.min(r,n);return{rowIndex:l,position:Math.round(n)>n||n>r?"bottom":"top",component:this.virtualList.getComponentAt(l)}}onDragStop(){this.moveBlocked||(this.params.moveItem(this.currentDragValue,this.lastHoveredListItem),this.clearDragProperties())}onDragCancel(){this.clearDragProperties()}onDragLeave(){this.clearDragProperties()}clearDragProperties(){this.clearHoveredItems(),this.autoScrollService.ensureCleared()}clearHoveredItems(){const e=this.virtualList.getGui();for(const t of e.querySelectorAll(`.${uv}`))for(const e of[uv,"ag-item-highlight-top","ag-item-highlight-bottom"])t.classList.remove(e);this.lastHoveredListItem=null}},pv=class extends Di{constructor(e){var t;super(((t=e.cssIdentifier)??(t=t||"default"),{tag:"div",cls:`ag-panel ag-${t}-panel`,attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eTitleBar",cls:`ag-panel-title-bar ag-${t}-panel-title-bar ag-unselectable`,children:[{tag:"span",ref:"eTitle",cls:`ag-panel-title-bar-title ag-${t}-panel-title-bar-title`},{tag:"div",ref:"eTitleBarButtons",cls:`ag-panel-title-bar-buttons ag-${t}-panel-title-bar-buttons`}]},{tag:"div",ref:"eContentWrapper",cls:`ag-panel-content-wrapper ag-${t}-panel-content-wrapper`}]})),this.config=e,this.closable=!0,this.eContentWrapper=null,this.eTitleBar=null,this.eTitleBarButtons=null,this.eTitle=null,this.registerCSS(".ag-panel{background-color:var(--ag-panel-background-color);display:flex;flex-direction:column;overflow:hidden;position:relative}.ag-dialog{border:var(--ag-dialog-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dialog-shadow);position:absolute}.ag-panel-title-bar{align-items:center;background-color:var(--ag-panel-title-bar-background-color);border-bottom:var(--ag-panel-title-bar-border);color:var(--ag-panel-title-bar-text-color);cursor:default;display:flex;flex:none;font-family:var(--ag-panel-title-bar-font-family);font-size:var(--ag-panel-title-bar-font-size);font-weight:var(--ag-panel-title-bar-font-weight);height:var(--ag-panel-title-bar-height);padding:var(--ag-spacing) var(--ag-cell-horizontal-padding)}.ag-panel-title-bar-button{cursor:pointer;:where(.ag-icon){color:var(--ag-panel-title-bar-icon-color)}}:where(.ag-ltr) .ag-panel-title-bar-button{margin-left:calc(var(--ag-spacing)*2);margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-panel-title-bar-button{margin-left:var(--ag-spacing);margin-right:calc(var(--ag-spacing)*2)}.ag-panel-title-bar-title{flex:1 1 auto}.ag-panel-title-bar-buttons{display:flex}.ag-panel-content-wrapper{display:flex;flex:1 1 auto;overflow:hidden;position:relative}:where(.ag-dragging-fill-handle) .ag-dialog,:where(.ag-dragging-range-handle) .ag-dialog{opacity:.7;pointer-events:none}")}postConstruct(){const{component:e,closable:t,hideTitleBar:o,title:s,minWidth:i=250,width:n,minHeight:r=250,height:l,centered:a,popup:d,x:c,y:h,postProcessPopupParams:u}=this.config,g=this.beans,p=this.createManagedBean(new pi(this.getGui(),{minWidth:i,width:n,minHeight:r,height:l,centered:a,x:c,y:h,popup:d,calculateTopBuffer:()=>this.positionableFeature.getHeight()-this.getBodyHeight()}));this.positionableFeature=p;const m=this.getGui();if(e&&this.setBodyComponent(e),o?K(this.eTitleBar,!1):(s&&this.setTitle(s),this.setClosable(null!=t?t:this.closable)),this.addManagedElementListeners(this.eTitleBar,{mousedown:e=>{if(m.contains(e.relatedTarget)||m.contains(w(g))||this.eTitleBarButtons.contains(e.target))return void e.preventDefault();const t=this.eContentWrapper.querySelector("button, [href], input, select, textarea, [tabindex]");t&&t.focus()}}),d&&p.isPositioned())return;let f;if(this.renderComponent&&this.renderComponent(),u){const{type:e,eventSource:t,mouseEvent:o}=u;f=()=>g.popupSvc?.callPostProcessPopup(u,e,m,t,o)}p.initialisePosition(f),this.eContentWrapper.style.height="0"}renderComponent(){const e=this.getGui();e.focus(),this.close=()=>{e.remove(),this.destroy()}}getHeight(){return this.positionableFeature.getHeight()}setHeight(e){this.positionableFeature.setHeight(e)}getWidth(){return this.positionableFeature.getWidth()}setWidth(e){this.positionableFeature.setWidth(e)}setClosable(e){if(e!==this.closable&&(this.closable=e),e){const e=this.closeButtonComp=new Di({tag:"div",cls:"ag-button"});this.createBean(e);const t=e.getGui(),o=this.beans.iconSvc.createIconNoSpan("close",this.beans);o.classList.add("ag-panel-title-bar-button-icon"),t.appendChild(o),this.addTitleBarButton(e),e.addManagedElementListeners(t,{click:this.onBtClose.bind(this)})}else this.closeButtonComp&&(this.closeButtonComp.getGui().remove(),this.closeButtonComp=this.destroyBean(this.closeButtonComp))}setBodyComponent(e){e.setParentComponent(this),this.eContentWrapper.appendChild(e.getGui())}addTitleBarButton(e,t){const o=this.eTitleBarButtons,s=o.children,i=s.length;null==t&&(t=i),t=Math.max(0,Math.min(t,i)),e.addCss("ag-panel-title-bar-button");const n=e.getGui();0===t?o.prepend(n):t===i?o.append(n):s[t-1].after(n),e.setParentComponent(this)}getBodyHeight(){return Z(this.eContentWrapper)}getBodyWidth(){return Q(this.eContentWrapper)}setTitle(e){this.eTitle.innerText=e}onBtClose(){this.close()}destroy(){this.closeButtonComp&&(this.closeButtonComp=this.destroyBean(this.closeButtonComp));const e=this.getGui();e&&re(e)&&this.close(),super.destroy()}},mv=class extends pv{constructor(e,t){super({...e,popup:!0}),this.callbacks=t,this.isMaximizable=!1,this.isMaximized=!1,this.maximizeListeners=[],this.resizeListenerDestroy=null,this.lastPosition={x:0,y:0,width:0,height:0}}wireBeans(e){this.popupSvc=e.popupSvc}postConstruct(){const e=this.getGui(),{movable:t,resizable:o,maximizable:s,modal:i}=this.config;this.addCss("ag-dialog"),super.postConstruct(),this.tabGuardFeature=this.createManagedBean(new Fl(this,this.callbacks?.stopPropagationCallbacks)),this.tabGuardFeature.initialiseTabGuard({isFocusableContainer:!0,onFocusIn:()=>{this.popupSvc?.bringPopupToFront(e)},onTabKeyDown:t=>{if(i)return;const o=t.shiftKey,s=Ui(this.beans,e,!1,o);s&&!this.tabGuardFeature.getTabGuardCtrl().isTabGuard(s)||this.callbacks?.focusNextContainer(this.beans,o)&&t.preventDefault()}}),t&&this.setMovable(t),s&&this.setMaximizable(s),o&&this.setResizable(o),this.config.modal||this.callbacks?.configureFocusableContainer(this.beans,this)}setAllowFocus(e){this.tabGuardFeature.getTabGuardCtrl().setAllowFocus(e)}renderComponent(){const e=this.getGui(),{alwaysOnTop:t,modal:o,title:s,afterGuiAttached:i}=this.config,n=this.getLocaleTextFunc(),r=this.popupSvc?.addPopup({modal:o,eChild:e,closeOnEsc:!0,closedCallback:this.onClosed.bind(this),alwaysOnTop:t,ariaLabel:s||n("ariaLabelDialog","Dialog"),afterGuiAttached:i});r&&(this.close=r.hideFunc)}onClosed(e){this.destroy(),this.config.closedCallback?.(e)}setMaximized(e){this.isMaximizable&&e!==this.isMaximized&&this.toggleMaximize()}toggleMaximize(){const e=this.positionableFeature.getPosition();if(this.isMaximized){const{x:e,y:t,width:o,height:s}=this.lastPosition;this.setWidth(o),this.setHeight(s),this.positionableFeature.offsetElement(e,t)}else this.lastPosition.width=this.getWidth(),this.lastPosition.height=this.getHeight(),this.lastPosition.x=e.x,this.lastPosition.y=e.y,this.positionableFeature.offsetElement(0,0),this.setHeight("100%"),this.setWidth("100%");this.isMaximized=!this.isMaximized,this.refreshMaximizeIcon()}refreshMaximizeIcon(){K(this.maximizeIcon,!this.isMaximized),K(this.minimizeIcon,this.isMaximized)}clearMaximizebleListeners(){if(this.maximizeListeners.length){for(const e of this.maximizeListeners)e();this.maximizeListeners.length=0}this.resizeListenerDestroy&&(this.resizeListenerDestroy(),this.resizeListenerDestroy=null)}destroy(){this.maximizeButtonComp=this.destroyBean(this.maximizeButtonComp),this.clearMaximizebleListeners(),super.destroy()}setResizable(e){this.positionableFeature.setResizable(e)}setMovable(e){this.positionableFeature.setMovable(e,this.eTitleBar)}setMaximizable(e){if(!e)return this.clearMaximizebleListeners(),void(this.maximizeButtonComp&&(this.destroyBean(this.maximizeButtonComp),this.maximizeButtonComp=this.maximizeIcon=this.minimizeIcon=void 0));const t=this.eTitleBar;if(!t||e===this.isMaximizable)return;this.isMaximizable=e;const o=this.buildMaximizeAndMinimizeElements();this.refreshMaximizeIcon(),o.addManagedElementListeners(o.getGui(),{click:this.toggleMaximize.bind(this)}),this.addTitleBarButton(o,0),this.maximizeListeners.push(...this.addManagedElementListeners(t,{dblclick:this.toggleMaximize.bind(this)})),[this.resizeListenerDestroy]=this.addManagedListeners(this.positionableFeature,{resize:()=>{this.isMaximized=!1,this.refreshMaximizeIcon()}})}buildMaximizeAndMinimizeElements(){const e=this.maximizeButtonComp=this.createBean(new Di({tag:"div",cls:"ag-dialog-button"})),t=e.getGui(),o=this.beans.iconSvc;return this.maximizeIcon=o.createIconNoSpan("maximize"),t.appendChild(this.maximizeIcon),this.maximizeIcon.classList.add("ag-panel-title-bar-button-icon"),this.minimizeIcon=o.createIconNoSpan("minimize"),t.appendChild(this.minimizeIcon),this.minimizeIcon.classList.add("ag-panel-title-bar-button-icon"),e}},fv=class extends Dl{constructor(e){super(),this.setTemplateFromElement(e.getGui(),void 0,void 0,!0)}postConstruct(){this.initialiseTabGuard({onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e)})}handleKeyDown(e){e.key===Cs&&this.closePanel()}onTabKeyDown(e){e.defaultPrevented||(this.closePanel(),e.preventDefault())}closePanel(){const e=this.parentComponent;e.closeSubMenu(),setTimeout(()=>e.getGui().focus(),0)}},Cv=class extends He{constructor(e){super(),this.callbacks=e,this.ACTIVATION_DELAY=80,this.isActive=!1,this.subMenuIsOpen=!1,this.subMenuIsOpening=!1,this.suppressRootStyles=!0,this.suppressAria=!0,this.suppressFocus=!0}init(e){const{menuItemDef:t,isAnotherSubMenuOpen:o,level:s,childComponent:i,contextParams:n}=e;return this.params=e.menuItemDef,this.level=s,this.isAnotherSubMenuOpen=o,this.childComponent=i,this.contextParams=n,this.cssClassPrefix=this.params.menuItemParams?.cssClassPrefix??"ag-menu-option",this.callbacks.getMenuItemComp(this.beans,this.params,{...t,level:s,isAnotherSubMenuOpen:o,openSubMenu:e=>this.openSubMenu(e),closeSubMenu:()=>this.closeSubMenu(),closeMenu:e=>this.closeMenu(e),updateTooltip:(e,t)=>this.refreshTooltip(e,t),onItemActivated:()=>this.onItemActivated()}).then(e=>{if(!e)return;this.menuItemComp=e;const t=e.configureDefaults?.();t&&this.configureDefaults(!0===t?void 0:t)})}addListeners(e,t){t?.suppressClick||this.addManagedElementListeners(e,{click:e=>this.onItemSelected(e)}),t?.suppressKeyboardSelect||this.addManagedElementListeners(e,{keydown:e=>{e.key!==fs&&e.key!==vs||(e.preventDefault(),this.onItemSelected(e))}}),t?.suppressMouseDown||this.addManagedElementListeners(e,{mousedown:e=>{e.stopPropagation(),e.preventDefault()}}),t?.suppressMouseOver||this.addManagedElementListeners(e,{mouseenter:()=>this.onMouseEnter(),mouseleave:()=>this.onMouseLeave()})}isDisabled(){return!!this.params.disabled}openSubMenu(e=!1,t){if(this.closeSubMenu(),!this.params.subMenu)return;this.subMenuIsOpening=!0;const o=Cl({tag:"div",cls:"ag-menu",role:"presentation"});let s;this.eSubMenuGui=o;let i=()=>{this.subMenuIsOpening=!1};if(this.childComponent){const e=this.createBean(new fv(this.childComponent));e.setParentComponent(this);const t=e.getGui(),n="mouseenter",r=()=>this.cancelDeactivate();t.addEventListener(n,r),s=()=>{t.removeEventListener(n,r),this.destroyBean(e)},o.appendChild(t),this.childComponent.afterGuiAttached&&(i=()=>{this.childComponent.afterGuiAttached(),this.subMenuIsOpening=!1})}else if(this.params.subMenu){const t=this.createBean(new vv(this.level+1,this.contextParams,this.callbacks));t.setParentComponent(this),t.addMenuItems(this.params.subMenu),o.appendChild(t.getGui()),this.addManagedListeners(t,{closeMenu:e=>this.dispatchLocalEvent(e)}),t.addGuiEventListener("mouseenter",()=>this.cancelDeactivate()),s=()=>this.destroyBean(t),e&&(i=()=>{t.activateFirstItem(),this.subMenuIsOpening=!1})}const n=this.beans.popupSvc,r=this.getLocaleTextFunc(),l=n?.addPopup({modal:!0,eChild:o,positionCallback:()=>{const e=this.eGui;n?.positionPopupForMenu({eventSource:e,ePopup:o,event:t instanceof MouseEvent?t:void 0,additionalParams:this.callbacks.getPostProcessPopupParams(this.contextParams)})},anchorToElement:this.eGui,ariaLabel:r("ariaLabelSubMenu","SubMenu"),afterGuiAttached:i});this.subMenuIsOpen=!0,this.setAriaExpanded(!0),this.hideSubMenu=()=>{l&&l.hideFunc(),this.subMenuIsOpen=!1,this.setAriaExpanded(!1),s(),this.menuItemComp.setExpanded?.(!1),this.eSubMenuGui=void 0},this.menuItemComp.setExpanded?.(!0)}setAriaExpanded(e){this.suppressAria||G(this.eGui,e)}closeSubMenu(){this.hideSubMenu&&(this.hideSubMenu(),this.hideSubMenu=null,this.setAriaExpanded(!1))}isSubMenuOpen(){return this.subMenuIsOpen}isSubMenuOpening(){return this.subMenuIsOpening}activate(e,t){this.cancelActivate(),this.params.disabled&&!t||(this.isActive=!0,this.suppressRootStyles||this.eGui.classList.add(`${this.cssClassPrefix}-active`),this.menuItemComp.setActive?.(!0),this.suppressFocus||this.callbacks.preserveRangesWhile(this.beans,()=>this.eGui.focus({preventScroll:!t})),e&&this.params.subMenu&&window.setTimeout(()=>{this.isAlive()&&this.isActive&&this.openSubMenu()},300),this.onItemActivated())}deactivate(){this.cancelDeactivate(),this.suppressRootStyles||this.eGui.classList.remove(`${this.cssClassPrefix}-active`),this.menuItemComp.setActive?.(!1),this.isActive=!1,this.subMenuIsOpen&&this.closeSubMenu()}getGui(){return this.menuItemComp.getGui()}getParentComponent(){return this.parentComponent}setParentComponent(e){this.parentComponent=e}getSubMenuGui(){return this.eSubMenuGui}onItemSelected(e){this.menuItemComp.select?.(),this.params.action?this.beans.frameworkOverrides.wrapOutgoing(()=>this.params.action(this.gos.addCommon({...this.contextParams}))):this.openSubMenu(e&&"keydown"===e.type,e),this.params.subMenu&&!this.params.action||this.params.suppressCloseOnSelect||this.closeMenu(e)}closeMenu(e){const t={type:"closeMenu"};e&&(e instanceof MouseEvent?t.mouseEvent=e:t.keyboardEvent=e),this.dispatchLocalEvent(t)}onItemActivated(){const e={type:"menuItemActivated",menuItem:this};this.dispatchLocalEvent(e)}cancelActivate(){this.activateTimeoutId&&(window.clearTimeout(this.activateTimeoutId),this.activateTimeoutId=0)}cancelDeactivate(){this.deactivateTimeoutId&&(window.clearTimeout(this.deactivateTimeoutId),this.deactivateTimeoutId=0)}onMouseEnter(){this.cancelDeactivate(),this.isAnotherSubMenuOpen()?this.activateTimeoutId=window.setTimeout(()=>this.activate(!0),this.ACTIVATION_DELAY):this.activate(!0)}onMouseLeave(){this.cancelActivate(),this.isSubMenuOpen()?this.deactivateTimeoutId=window.setTimeout(()=>this.deactivate(),this.ACTIVATION_DELAY):this.deactivate()}refreshRootElementGui(e){let t=this.menuItemComp.getGui();const{cssClassPrefix:o,params:{cssClasses:s,disabled:i}}=this,n=this.menuItemComp.getRootElement?.();if(n&&(e||t.classList.add("ag-menu-option-custom"),t=n),this.suppressRootStyles=!!e,!this.suppressRootStyles){t.classList.add(o);for(const e of s??[])t.classList.add(e);i&&t.classList.add(`${o}-disabled`)}return t}applyAriaProperties(e){const{params:{checked:t,subMenu:o,subMenuRole:s,disabled:i}}=this;var n;P(e,null!=t?"menuitemcheckbox":"menuitem"),o&&x(e,"haspopup",!1===(n=s??"menu")?null:n),i&&x(e,"disabled",!0)}configureDefaults(e){if(!this.menuItemComp)return void setTimeout(()=>this.configureDefaults(e));const{suppressRootStyles:t,suppressTooltip:o,suppressAria:s,suppressTabIndex:i,suppressFocus:n}=e||{},{params:{tooltip:r,disabled:l}}=this,a=this.eGui=this.refreshRootElementGui(!!t);this.suppressAria=!!s,s||this.applyAriaProperties(a),i||a.setAttribute("tabindex","-1"),o||this.refreshTooltip(r),l||this.addListeners(a,e),this.suppressFocus=!!n}refreshTooltip(e,t){if(this.tooltip=e,this.tooltipFeature=this.destroyBean(this.tooltipFeature),!e||!this.menuItemComp)return;const o=this.beans.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.getGui(),getTooltipValue:()=>this.tooltip,getLocation:()=>"menu",shouldDisplayTooltip:t});o&&(this.tooltipFeature=this.createBean(o))}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),this.menuItemComp?.destroy?.(),super.destroy()}},vv=class extends Dl{constructor(e=0,t,o){super({tag:"div",cls:"ag-menu-list",role:"menu"}),this.level=e,this.menuActionParams=t,this.callbacks=o,this.menuItems=[]}postConstruct(){this.initialiseTabGuard({onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.callbacks.preserveRangesWhile(this.beans,()=>this.handleKeyDown(e)),onFocusIn:e=>this.handleFocusIn(e),onFocusOut:e=>this.handleFocusOut(e)})}onTabKeyDown(e){this.getParentComponent()?.getGui()?.classList.contains("ag-focus-managed")||e.preventDefault(),e.shiftKey&&this.closeIfIsChild(e)}handleKeyDown(e){switch(e.key){case bs:case ys:case Ss:case ws:e.preventDefault(),this.handleNavKey(e.key);break;case Cs:this.closeIfIsChild()&&this.callbacks.stopPropagationCallbacks.stopPropagation(e)}}handleFocusIn(e){const t=e.relatedTarget;(this.tabGuardFeature.getTabGuardCtrl().isTabGuard(t)||!this.getGui().contains(t)&&!this.activeMenuItem?.getSubMenuGui()?.contains(t))&&(this.activeMenuItem?this.activeMenuItem.activate():this.activateFirstItem())}handleFocusOut(e){const t=e.relatedTarget;!this.activeMenuItem||this.getGui().contains(t)||this.activeMenuItem.getSubMenuGui()?.contains(t)||this.activeMenuItem.isSubMenuOpening()||this.activeMenuItem.deactivate()}clearActiveItem(){this.activeMenuItem&&(this.activeMenuItem.deactivate(),this.activeMenuItem=null)}addMenuItems(e){null!=e&&Ns.all(e.map(e=>"separator"===e?Ns.resolve({eGui:this.createSeparator()}):"string"==typeof e?(this.callbacks.warnNoItem?.(e),Ns.resolve({eGui:null})):this.addItem(e))).then(e=>{for(const t of e??[])t?.eGui&&(this.appendChild(t.eGui),t.comp&&this.menuItems.push(t.comp))})}addItem(e){const t=this.createManagedBean(new Cv(this.callbacks));return t.init({menuItemDef:e,isAnotherSubMenuOpen:()=>this.menuItems.some(e=>e.isSubMenuOpen()),level:this.level,contextParams:this.menuActionParams}).then(()=>(t.setParentComponent(this),this.addManagedListeners(t,{closeMenu:e=>{this.dispatchLocalEvent(e)},menuItemActivated:e=>{this.activeMenuItem&&this.activeMenuItem!==e.menuItem&&this.activeMenuItem.deactivate(),this.activeMenuItem=e.menuItem}}),{comp:t,eGui:t.getGui()}))}activateFirstItem(){const e=this.menuItems.filter(e=>!e.isDisabled())[0];e&&e.activate()}createSeparator(){const e={tag:"div",cls:"ag-menu-separator-part"};return xe({tag:"div",cls:"ag-menu-separator",attrs:{"aria-hidden":"true"},children:[e,e,e,e]})}handleNavKey(e){switch(e){case bs:case Ss:{const t=this.findNextItem(e===bs);return void(t&&t!==this.activeMenuItem&&t.activate(!1,!0))}}e===(this.gos.get("enableRtl")?ys:ws)?this.closeIfIsChild():this.openChild()}closeIfIsChild(e){const t=this.getParentComponent();return!!(t&&t instanceof Cv)&&(e&&e.preventDefault(),t.closeSubMenu(),t.getGui().focus(),!0)}openChild(){this.activeMenuItem&&this.activeMenuItem.openSubMenu(!0)}findNextItem(t){const o=[...this.menuItems];if(!o.length)return;if(!this.activeMenuItem)return t?e(o):o[0];let s;t&&o.reverse();let i=!1;for(const e of o){if(i){s=e;break}e===this.activeMenuItem&&(i=!0)}return i&&!s?o[0]:s||this.activeMenuItem}destroy(){this.clearActiveItem(),super.destroy()}},wv=class extends Di{constructor(e){super({tag:"div"}),this.callbacks=e}init(e){this.params=e,this.cssClassPrefix=this.params.cssClassPrefix??"ag-menu-option",this.addAriaAttributes(),this.addIcon(),this.addName(),this.addShortcut(),this.addSubMenu()}configureDefaults(){return!0}addAriaAttributes(){const{checked:e,subMenu:t}=this.params,o=this.getGui();e&&function(e,t){F(e,"checked",void 0===t?"mixed":t)}(o,e),t&&G(o,!1)}addIcon(){if(this.params.isCompact)return;const e=xe({tag:"span",ref:"eIcon",cls:`${this.getClassName("part")} ${this.getClassName("icon")}`,role:"presentation"}),{checked:t,icon:o}=this.params;t?e.appendChild(this.beans.iconSvc.createIconNoSpan("check")):o&&(Ce(o)?e.appendChild(o):"string"==typeof o?e.innerHTML=o:this.callbacks?.warnNoIcon?.()),this.getGui().appendChild(e)}addName(){const e=xe({tag:"span",ref:"eName",cls:`${this.getClassName("part")} ${this.getClassName("text")}`,children:this.params.name||""});this.getGui().appendChild(e)}addShortcut(){if(this.params.isCompact)return;const e=xe({tag:"span",ref:"eShortcut",cls:`${this.getClassName("part")} ${this.getClassName("shortcut")}`,children:this.params.shortcut||""});this.getGui().appendChild(e)}addSubMenu(){const e=xe({tag:"span",ref:"ePopupPointer",cls:`${this.getClassName("part")} ${this.getClassName("popup-pointer")}`}),t=this.getGui();if(this.params.subMenu){const t=this.gos.get("enableRtl")?"subMenuOpenRtl":"subMenuOpen";e.appendChild(this.beans.iconSvc.createIconNoSpan(t))}t.appendChild(e)}getClassName(e){return`${this.cssClassPrefix}-${e}`}};function bv(e,t){if(!t)return null;const o=zi(e),s=o.indexOf(t);if(-1===s)return null;let i=-1;for(let n=s-1;n>=0;n--)if(o[n].classList.contains(Rl)){i=n;break}return i<=0?null:o[i-1]}function yv(e,t){if(!t)return!1;const o=e.querySelectorAll(`.${ji}`);if(!o.length)return!1;for(let s=0;sthis.activeItem?.tabbedItem?.afterDetachedCallback?.())}setupHeader(){const{enableCloseButton:e,cssClass:t}=this.params,o=(e,o)=>{e.classList.add(`ag-tabs-${o}`),t&&e.classList.add(`${t}-${o}`)};e?(this.setupCloseButton(o),this.eTabHeader=xe({tag:"div",role:"presentation"}),o(this.eHeader,"header-wrapper"),this.eHeader.appendChild(this.eTabHeader)):this.eTabHeader=this.eHeader,P(this.eTabHeader,"tablist"),o(this.eTabHeader,"header")}setupCloseButton(e){const t=xe({tag:"button"});e(t,"close-button");const o=this.beans.iconSvc.createIconNoSpan("close");E(t,this.params.closeButtonAriaLabel),t.appendChild(o),this.addManagedElementListeners(t,{click:()=>this.params.onCloseClicked?.()});const s=xe({tag:"div",role:"presentation"});e(s,"close-button-wrapper"),s.appendChild(t),this.eHeader.appendChild(s),this.eCloseButton=t}handleKeyDown(e){switch(e.key){case ys:case ws:{if(!this.eTabHeader.contains(w(this.beans)))return;const t=e.key===ys,o=this.gos.get("enableRtl"),s=this.items.indexOf(this.activeItem),i=t!==o?Math.min(s+1,this.items.length-1):Math.max(s-1,0);if(s===i)return;e.preventDefault();const n=this.items[i];this.showItemWrapper(n),n.eHeaderButton.focus();break}case bs:case Ss:e.stopPropagation()}}onTabKeyDown(e){if(e.defaultPrevented)return;const{beans:t,eHeader:o,eBody:s,activeItem:i,params:n}=this,{suppressTrapFocus:r,enableCloseButton:l}=n,a=w(t),d=e.target,c=e.shiftKey;if(o.contains(a))return e.preventDefault(),void(l&&c&&!this.eCloseButton?.contains(a)?this.eCloseButton?.focus():r&&c?bv(b(t).body,d)?.focus():this.focusBody(e.shiftKey));let h=null;yv(s,d)&&(c&&(h=bv(s,d)),h||r||(h=i.eHeaderButton)),h||!s.contains(a)||(h=Ui(t,s,!1,c),h)?h&&(e.preventDefault(),h.focus()):r&&!c?this.forceFocusOutOfContainer(c):l&&!c?(e.preventDefault(),this.eCloseButton?.focus()):(e.preventDefault(),this.focusHeader())}focusInnerElement(e){return e?this.focusBody(!0):(this.focusHeader(),!0)}focusHeader(e){this.activeItem.eHeaderButton.focus({preventScroll:e})}focusBody(e){return Wi(this.eBody,e)}setAfterAttachedParams(e){this.afterAttachedParams=e}showFirstItem(){this.items.length>0&&this.showItemWrapper(this.items[0])}addItem(e){const t=xe({tag:"span",cls:"ag-tab",role:"tab",attrs:{tabindex:"-1"}});t.appendChild(e.title),this.eTabHeader.appendChild(t),E(t,e.titleLabel);const o={tabbedItem:e,eHeaderButton:t};this.items.push(o),t.addEventListener("click",this.showItemWrapper.bind(this,o))}showItem(e){const t=this.items.find(t=>t.tabbedItem===e);t&&this.showItemWrapper(t)}showItemWrapper(e){const{tabbedItem:t,eHeaderButton:o}=e;this.params.onItemClicked?.({item:t}),this.activeItem!==e?(this.lastScrollListener&&(this.lastScrollListener=this.lastScrollListener()),se(this.eBody),t.bodyPromise.then(e=>{this.eBody.appendChild(e);const o=!Vi();if(this.params.suppressFocusBodyOnOpen||Wi(this.eBody,!1,o),t.afterAttachedCallback&&t.afterAttachedCallback(this.afterAttachedParams),this.params.keepScrollPosition){const o=t.getScrollableContainer?.()||e;[this.lastScrollListener]=this.addManagedElementListeners(o,{scroll:()=>{this.tabbedItemScrollMap.set(t.name,o.scrollTop)}});const s=this.tabbedItemScrollMap.get(t.name);void 0!==s&&setTimeout(()=>{o.scrollTop=s},0)}}),this.activeItem&&(this.activeItem.eHeaderButton.classList.remove("ag-tab-selected"),this.activeItem.tabbedItem.afterDetachedCallback?.()),o.classList.add("ag-tab-selected"),this.activeItem=e):this.params.onActiveItemClicked?.()}},Rv=class extends Di{constructor(e={}){super(function(e){const t=e.cssIdentifier||"default";return{tag:"div",cls:`ag-group ag-${t}-group`,role:"presentation",children:[{tag:"div",ref:"eToolbar",cls:`ag-group-toolbar ag-${t}-group-toolbar`,children:[{tag:"ag-checkbox",ref:"cbGroupEnabled"}]},{tag:"div",ref:"eContainer",cls:`ag-group-container ag-group-container-${e.direction||"vertical"} ag-${t}-group-container`}]}}(e),[za]),this.params=e,this.suppressEnabledCheckbox=!0,this.suppressToggleExpandOnEnableChange=!1,this.eToolbar=null,this.cbGroupEnabled=null,this.eContainer=null,this.registerCSS(".ag-group{position:relative;width:100%}.ag-group-title-bar{align-items:center;display:flex;padding:var(--ag-spacing)}.ag-group-title{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.ag-group-title-bar) .ag-group-title{cursor:default}.ag-group-toolbar{align-items:center;display:flex;padding:var(--ag-spacing)}.ag-group-container{display:flex}.ag-disabled .ag-group-container{pointer-events:none}.ag-disabled-group-container,.ag-disabled-group-title-bar{opacity:.5}.ag-group-container-horizontal{flex-flow:row wrap}.ag-group-container-vertical{flex-direction:column}.ag-group-title-bar-icon{cursor:pointer;flex:none}:where(.ag-ltr) .ag-group-title-bar-icon{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-group-title-bar-icon{margin-left:var(--ag-spacing)}:where(.ag-group-item-alignment-stretch) .ag-group-item{align-items:stretch}:where(.ag-group-item-alignment-start) .ag-group-item{align-items:flex-start}:where(.ag-group-item-alignment-end) .ag-group-item{align-items:flex-end}");const{enabled:t,items:o,suppressEnabledCheckbox:s,expanded:i,suppressToggleExpandOnEnableChange:n,useToggle:r}=e;this.cssIdentifier=e.cssIdentifier||"default",this.enabled=null==t||t,this.items=o||[],this.useToggle=r??!1,this.alignItems=e.alignItems||"center",this.expanded=null==i||i,null!=s&&(this.suppressEnabledCheckbox=s),null!=n&&(this.suppressToggleExpandOnEnableChange=n)}postConstruct(){if(this.setupTitleBar(),this.items.length){const e=this.items;this.items=[],this.addItems(e)}const e=this.getLocaleTextFunc();this.cbGroupEnabled.setLabel(e("enabled","Enabled")),this.enabled&&this.setEnabled(this.enabled,void 0,!0),this.setAlignItems(this.alignItems);const{onEnableChange:t,onExpandedChange:o,suppressOpenCloseIcons:s}=this.params;this.hideEnabledCheckbox(this.suppressEnabledCheckbox),this.hideOpenCloseIcons(s??!1),this.refreshChildDisplay(),K(this.eContainer,this.expanded),this.cbGroupEnabled.onValueChange(e=>{this.setEnabled(e,!0,this.suppressToggleExpandOnEnableChange),this.dispatchEnableChangeEvent(e)}),null!=t&&this.onEnableChange(t),null!=o&&this.onExpandedChange(o)}refreshChildDisplay(){K(this.eToolbar,this.expanded&&!this.suppressEnabledCheckbox),this.eTitleBar?.refreshOnExpand(this.expanded)}isExpanded(){return this.expanded}setAlignItems(e){this.alignItems!==e&&this.removeCss(`ag-group-item-alignment-${this.alignItems}`),this.alignItems=e;const t=`ag-group-item-alignment-${this.alignItems}`;return this.addCss(t),this}toggleGroupExpand(e,t){if(this.eTitleBar?.isSuppressCollapse()&&!this.useToggle)e=!0,t=!0;else if(e=null!=e?e:!this.expanded,this.expanded===e)return this;return this.expanded=e,this.refreshChildDisplay(),K(this.eContainer,e),t||this.dispatchLocalEvent({type:e?"expanded":"collapsed"}),this}addItems(e){for(const t of e)this.addItem(t)}prependItem(e){this.insertItem(e,!0)}addItem(e){this.insertItem(e,!1)}updateItems(e){const t=this.items;let o=0;for(let s=0;se(t.enabled)}),this}onExpandedChange(e){return this.addManagedListeners(this,{expanded:()=>e(!0),collapsed:()=>e(!1)}),this}hideEnabledCheckbox(e){return this.suppressEnabledCheckbox=e,this.refreshChildDisplay(),this.refreshDisabledStyles(),this}hideOpenCloseIcons(e){return this.eTitleBar?.hideOpenCloseIcons(e),this}refreshDisabledStyles(){const e=!this.enabled;this.eContainer.classList.toggle("ag-disabled",e),this.eTitleBar?.refreshDisabledStyles(this.suppressEnabledCheckbox&&e),this.eContainer.classList.toggle("ag-disabled-group-container",e)}setupTitleBar(){const e=this.useToggle?this.createToggleTitleBar():this.createDefaultTitleBar();this.eToolbar.insertAdjacentElement("beforebegin",e.getGui())}createDefaultTitleBar(){const e=this.createManagedBean(new Fv(this.params));return this.eTitleBar=e,e.refreshOnExpand(this.expanded),this.addManagedListeners(e,{expandedChanged:e=>this.toggleGroupExpand(e.expanded)}),e}createToggleTitleBar(){const e=this.createManagedBean(new ym({value:this.enabled,label:this.params.title,labelAlignment:"left",labelWidth:"flex",onValueChange:e=>{this.setEnabled(e,!0),this.dispatchEnableChangeEvent(e)}}));return e.addCss("ag-group-title-bar"),e.addCss(`ag-${this.params.cssIdentifier??"default"}-group-title-bar ag-unselectable`),this.eToggle=e,this.toggleGroupExpand(this.enabled),e}},xv="ag-disabled-group-title-bar",Fv=class extends Di{constructor(e={}){super(function(e){const t=e.cssIdentifier??"default";return{tag:"div",cls:`ag-group-title-bar ag-${t}-group-title-bar ag-unselectable`,role:e.suppressKeyboardNavigation?"presentation":"group",children:[{tag:"span",ref:"eGroupOpenedIcon",cls:`ag-group-title-bar-icon ag-${t}-group-title-bar-icon`,role:"presentation"},{tag:"span",ref:"eGroupClosedIcon",cls:`ag-group-title-bar-icon ag-${t}-group-title-bar-icon`,role:"presentation"},{tag:"span",ref:"eTitle",cls:`ag-group-title ag-${t}-group-title`}]}}(e)),this.suppressOpenCloseIcons=!1,this.suppressKeyboardNavigation=!1,this.eGroupOpenedIcon=null,this.eGroupClosedIcon=null,this.eTitle=null;const{title:t,suppressOpenCloseIcons:o,suppressKeyboardNavigation:s}=e;t&&t.length>0&&(this.title=t),null!=o&&(this.suppressOpenCloseIcons=o),this.suppressKeyboardNavigation=s??!1}postConstruct(){this.setTitle(this.title),this.hideOpenCloseIcons(this.suppressOpenCloseIcons),this.setupExpandContract()}setupExpandContract(){const e=this.beans.iconSvc;this.eGroupClosedIcon.appendChild(e.createIconNoSpan("accordionClosed")),this.eGroupOpenedIcon.appendChild(e.createIconNoSpan("accordionOpen")),this.addManagedElementListeners(this.getGui(),{click:()=>this.dispatchExpandChanged(),keydown:e=>{switch(e.key){case fs:case vs:e.preventDefault(),this.dispatchExpandChanged();break;case ys:case ws:e.preventDefault(),this.dispatchExpandChanged(e.key===ys)}}})}refreshOnExpand(e){this.refreshAriaStatus(e),this.refreshOpenCloseIcons(e)}refreshAriaStatus(e){this.suppressOpenCloseIcons||G(this.getGui(),e)}refreshOpenCloseIcons(e){const t=!this.suppressOpenCloseIcons;K(this.eGroupOpenedIcon,t&&e),K(this.eGroupClosedIcon,t&&!e)}isSuppressCollapse(){return this.suppressOpenCloseIcons}dispatchExpandChanged(e){const t={type:"expandedChanged",expanded:e};this.dispatchLocalEvent(t)}setTitle(e){const t=this.getGui(),o=!!e&&e.length>0;e=o?e:void 0,this.eTitle.textContent=e??"",K(t,o),e!==this.title&&(this.title=e);const s=t.classList.contains(xv);return this.refreshDisabledStyles(s),this}addWidget(e){return this.getGui().appendChild(e),this}hideOpenCloseIcons(e){return this.suppressOpenCloseIcons=e,e&&this.dispatchExpandChanged(!0),this}refreshDisabledStyles(e){const t=this.getGui();e?(t.classList.add(xv),t.removeAttribute("tabindex"),P(t,"presentation")):(t.classList.remove(xv),"string"!=typeof this.title||this.suppressKeyboardNavigation?(t.removeAttribute("tabindex"),P(t,"presentation")):(this.activateTabIndex([t]),P(t,"group")))}},Dv="35.2.0",Mv={moduleName:"EnterpriseCore",version:Dv,beans:[Em],icons:{accordionOpen:"tree-open",accordionClosed:"tree-closed",accordionIndeterminate:"tree-indeterminate",close:"cross",cancel:"cancel",maximize:"maximize",minimize:"minimize",columnDrag:"grip"},dependsOn:[],setLicenseKey:Em.setLicenseKey},Pv={stopPropagationCallbacks:Zi,focusNextContainer:(e,t)=>Ln(e,t),configureFocusableContainer:(e,t)=>{const o=e.ctrlsSvc.get("gridCtrl");o.addFocusableContainer(t),t.addDestroyFunc(()=>o.removeFocusableContainer(t))}},Ev=class extends mv{constructor(e){super(e,Pv)}getFocusableContainerName(){return"dialog"}},Tv=class extends hv{constructor(e){super(Zi,e)}},Iv=class extends gv{},Av={tag:"div",cls:"ag-side-button",role:"presentation",children:[{tag:"button",ref:"eToggleButton",cls:"ag-button ag-side-button-button",role:"tab",attrs:{type:"button",tabindex:"-1","aria-expanded":"false"},children:[{tag:"div",ref:"eIconWrapper",cls:"ag-side-button-icon-wrapper",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eLabel",cls:"ag-side-button-label"}]}]},kv=class extends Pi{constructor(e){super(),this.toolPanelDef=e,this.eToggleButton=null,this.eIconWrapper=null,this.eLabel=null}getToolPanelId(){return this.toolPanelDef.id}postConstruct(){this.setTemplate(Av,[]),this.setLabel(),this.setIcon(),this.addManagedElementListeners(this.eToggleButton,{click:this.onButtonPressed.bind(this)}),this.eToggleButton.setAttribute("id",`ag-${this.getCompId()}-button`)}setLabel(){const e=this.toolPanelDef,t=this.getLocaleTextFunc()(e.labelKey,e.labelDefault);this.eLabel.textContent=t}setIcon(){this.eIconWrapper.insertAdjacentElement("afterbegin",Ol(this.toolPanelDef.iconKey,this.beans))}onButtonPressed(){this.dispatchLocalEvent({type:"toggleButtonClicked"})}setSelected(e){this.toggleCss("ag-selected",e),G(this.eToggleButton,e)}},Lv={tag:"div",cls:"ag-side-buttons",role:"tablist"},Gv={selector:"AG-SIDE-BAR-BUTTONS",component:class extends Pi{constructor(){super(Lv),this.buttonComps=[]}postConstruct(){this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)})}handleKeyDown(e){e.key===ms&&e.shiftKey&&(Ln(this.beans,!0)?e.preventDefault():qi(e))}setActiveButton(e){for(const t of this.buttonComps)t.setSelected(e===t.getToolPanelId())}addButtonComp(e){const t=this.createBean(new kv(e));return this.buttonComps.push(t),this.appendChild(t),t.addEventListener("toggleButtonClicked",()=>{this.dispatchLocalEvent({type:"sideBarButtonClicked",toolPanelId:e.id})}),t}clearButtons(){this.buttonComps=this.destroyBeans(this.buttonComps),se(this.getGui())}destroy(){this.clearButtons(),super.destroy()}}},Nv={id:"columns",labelDefault:"Columns",labelKey:"columns",iconKey:"columnsToolPanel",toolPanel:"agColumnsToolPanel"},Bv={id:"filters",labelDefault:"Filters",labelKey:"filters",iconKey:"filtersToolPanel",toolPanel:"agFiltersToolPanel"},Hv={columns:Nv,filters:Bv,"filters-new":{id:"filters-new",labelDefault:"Filters",labelKey:"filters",iconKey:"filtersToolPanel",toolPanel:"agNewFiltersToolPanel"}};function Ov(e){if(e){if(!0===e)return{toolPanels:[Nv,Bv],defaultToolPanel:"columns"};if("string"==typeof e)return Ov([e]);if(Array.isArray(e)){const t=[];for(const o of e){const e=Hv[o];e?t.push(e):Dt(215,{key:o,defaultByKey:Hv})}if(0===t.length)return;return{toolPanels:t,defaultToolPanel:t[0].id}}return{toolPanels:Vv(e.toolPanels),defaultToolPanel:e.defaultToolPanel,hiddenByDefault:e.hiddenByDefault,position:e.position,hideButtons:e.hideButtons}}}function Vv(e){const t=[];return e?(e.forEach(e=>{const o=function(e){return"string"!=typeof e?e:Hv[e]?Hv[e]:(Dt(215,{key:e,defaultByKey:Hv}),null)}(e);o&&t.push(o)}),t):t}var zv=class extends Pi{constructor(){super({tag:"div",cls:"ag-tool-panel-horizontal-resize"}),this.minWidth=100,this.maxWidth=null}postConstruct(){const e=this.beans.horizontalResizeSvc.addResizeBar({eResizeBar:this.getGui(),dragStartPixels:1,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this),onResizeEnd:this.onResizeEnd.bind(this)});this.addDestroyFunc(e),this.inverted=this.gos.get("enableRtl")}dispatchResizeEvent(e,t,o){this.eventSvc.dispatchEvent({type:"toolPanelSizeChanged",width:o,started:e,ended:t})}onResizeStart(){this.startingWidth=this.elementToResize.offsetWidth,this.dispatchResizeEvent(!0,!1,this.startingWidth)}onResizeEnd(e){return this.onResizing(e,!0)}onResizing(e,t=!1){const o=this.inverted?-1:1;let s=Math.max(this.minWidth,Math.floor(this.startingWidth-e*o));null!=this.maxWidth&&(s=Math.min(this.maxWidth,s)),this.elementToResize.style.setProperty("--ag-horizontal-size",`${s}px`),this.dispatchResizeEvent(!1,t,s)}},Wv={name:"toolPanel",optionalMethods:["refresh","getState"]},Uv={tag:"div",cls:"ag-tool-panel-wrapper",role:"tabpanel",children:[{tag:"div",cls:"ag-tool-panel-content",ref:"eContent"}]},$v=class extends Pi{constructor(){super(Uv),this.eContent=null,this.animationId=0,this.defParent=null}postConstruct(){const e=this.getGui(),t=this.resizeBar=this.createManagedBean(new zv);e.setAttribute("id",`ag-${this.getCompId()}`),t.elementToResize=e,this.appendChild(t)}getToolPanelId(){return this.toolPanelId}getDefParent(){return this.defParent}setDefParent(e){this.defParent=e}setToolPanelDef(e,t){const{id:o,minWidth:s,maxWidth:i,width:n,parent:r}=e;this.toolPanelId=o,this.defParent=r??null,n&&this.getGui().style.setProperty("--ag-side-bar-panel-width",`${n}px`);const l=function(e,t,o){return e.getCompDetails(t,Wv,void 0,o,!0)}(this.beans.userCompFactory,e,t);if(null==l)return!1;const a=l.newAgStackInstance();this.params=l.params,a.then(this.setToolPanelComponent.bind(this));const d=this.resizeBar;return null!=s&&(d.minWidth=s),null!=i&&(d.maxWidth=i),!0}setToolPanelComponent(e){this.toolPanelCompInstance=e;const{eContent:t}=this;t.appendChild(e.getGui()),this.addDestroyFunc(()=>{this.destroyBean(e)})}getToolPanelInstance(){return this.toolPanelCompInstance}setResizerSizerSide(e){const t="left"===e,o=this.gos.get("enableRtl")?t:!t;this.resizeBar.inverted=o}refresh(){this.toolPanelCompInstance?.refresh(this.params)}animateDisplayed(e){if(this.isDisplayed()===e)return;const t=++this.animationId,{eContent:o}=this,s=()=>{this.animationId===t&&(i.classList.remove("ag-tool-panel-animating"),o.style.width="",i.style.width="")},i=this.getGui(),n=i.offsetWidth;this.setDisplayed(e),i.classList.add("ag-tool-panel-animating");const r=getComputedStyle(i).transitionDuration;if(!parseFloat(r))return void s();i.style.transition="none",i.style.width="",o.style.width=`${o.offsetWidth}px`,i.style.width=`${n}px`,i.offsetWidth,i.style.transition="",i.style.width=e?"":"0";const l=setTimeout(s,100);i.addEventListener("transitionstart",()=>clearTimeout(l),{once:!0}),i.addEventListener("transitionend",s,{once:!0})}},jv={tag:"div",cls:"ag-side-bar ag-unselectable",children:[{tag:"ag-side-bar-buttons",ref:"sideBarButtons"}]};function Kv(e){return"agFiltersToolPanel"===e||"agNewFiltersToolPanel"===e}var _v={selector:"AG-SIDE-BAR",component:class extends Pi{constructor(){super(jv,[Gv]),this.sideBarButtons=null,this.toolPanelWrappers=[],this.registerCSS('.ag-tool-panel-wrapper{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--ag-horizontal-size,var(--ag-side-bar-panel-width))}.ag-tool-panel-content{display:flex;height:100%;overflow:hidden auto}.ag-tool-panel-wrapper.ag-tool-panel-animating{\n /* !important required to override .ag-hidden to tool panel remains visible while animating */display:block!important;transition:width var(--ag-side-bar-panel-animation-duration) ease-in-out}@media (prefers-reduced-motion:reduce){.ag-tool-panel-wrapper.ag-tool-panel-animating{transition:none}}.ag-tool-panel-external{display:flex;flex-direction:row}:where(.ag-tool-panel-external) .ag-tool-panel-wrapper{flex-grow:1}.ag-select-agg-func-item{align-items:center;display:flex;flex:1 1 auto;flex-flow:row nowrap;height:100%;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}.ag-tool-panel-horizontal-resize{cursor:ew-resize;height:100%;position:absolute;top:0;width:5px;z-index:1}.ag-side-bar{background-color:var(--ag-side-bar-background-color);display:flex;flex-direction:row-reverse;position:relative}:where(.ag-ltr) :where(.ag-side-bar-left) .ag-tool-panel-horizontal-resize{right:-3px}:where(.ag-rtl) :where(.ag-side-bar-left) .ag-tool-panel-horizontal-resize{left:-3px}:where(.ag-ltr) :where(.ag-side-bar-right) .ag-tool-panel-horizontal-resize{left:-3px}:where(.ag-rtl) :where(.ag-side-bar-right) .ag-tool-panel-horizontal-resize{right:-3px}.ag-side-bar-left{flex-direction:row;order:-1}.ag-side-buttons{background-color:var(--ag-side-button-bar-background-color);padding-top:var(--ag-side-button-bar-top-padding);position:relative}.ag-side-button{background-color:var(--ag-side-button-background-color);border-bottom:var(--ag-side-button-border);border-top:var(--ag-side-button-border);color:var(--ag-side-button-text-color);margin-top:-1px;position:relative}.ag-side-button:before{background-color:transparent;bottom:0;content:"";display:block;position:absolute;top:0;transition:background-color var(--ag-side-button-selected-underline-transition-duration);width:var(--ag-side-button-selected-underline-width)}:where(.ag-ltr) .ag-side-button:before{left:0}:where(.ag-rtl) .ag-side-button:before{right:0}.ag-side-button:hover{background-color:var(--ag-side-button-hover-background-color);color:var(--ag-side-button-hover-text-color)}.ag-side-button.ag-selected{background-color:var(--ag-side-button-selected-background-color);border-bottom:var(--ag-side-button-selected-border);border-top:var(--ag-side-button-selected-border);color:var(--ag-side-button-selected-text-color)}.ag-side-button.ag-selected:before{background-color:var(--ag-side-button-selected-underline-color)}.ag-side-button-button{align-items:center;display:flex;flex-direction:column;gap:var(--ag-spacing);position:relative;white-space:nowrap;width:100%;&:focus{box-shadow:none}}:where(.ag-ltr) .ag-side-button-button{padding:var(--ag-side-button-vertical-padding) var(--ag-side-button-right-padding) var(--ag-side-button-vertical-padding) var(--ag-side-button-left-padding)}:where(.ag-rtl) .ag-side-button-button{padding:var(--ag-side-button-vertical-padding) var(--ag-side-button-left-padding) var(--ag-side-button-vertical-padding) var(--ag-side-button-right-padding)}.ag-side-button-button:focus-visible{box-shadow:inset var(--ag-focus-shadow)}.ag-side-button-label{writing-mode:vertical-lr}@media (resolution <= 1.5x){.ag-side-button-label{font-family:"Segoe UI",var(--ag-font-family)}:where(.ag-ltr) .ag-side-button-label{transform:rotate(.05deg)}:where(.ag-rtl) .ag-side-button-label{transform:rotate(-.05deg)}}:where(.ag-ltr) .ag-side-bar-left,:where(.ag-rtl) .ag-side-bar-right{border-right:var(--ag-side-panel-border);:where(.ag-tool-panel-wrapper){border-left:var(--ag-side-panel-border)}}:where(.ag-ltr) .ag-side-bar-right,:where(.ag-rtl) .ag-side-bar-left{border-left:var(--ag-side-panel-border);:where(.ag-tool-panel-wrapper){border-right:var(--ag-side-panel-border)}}')}postConstruct(){this.sideBarButtons.addEventListener("sideBarButtonClicked",this.onToolPanelButtonClicked.bind(this));const{beans:e,gos:t}=this,{sideBar:o}=t.get("initialState")??{};this.setSideBarDef({sideBarDef:Ov(t.get("sideBar")),sideBarState:o}),this.addManagedPropertyListener("sideBar",()=>this.setState()),e.sideBar.comp=this;const s=this.getFocusableElement();this.createManagedBean(new Qi(s,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this)})),In(e,this,s),this.addManagedPropertyListener("enableAdvancedFilter",this.onAdvancedFilterChanged.bind(this))}getFocusableContainerName(){return"sideBar"}onTabKeyDown(e){if(e.defaultPrevented)return;const{beans:t,sideBarButtons:o}=this,s=this.getGui(),i=o.getGui(),n=w(t),r=s.querySelector(".ag-tool-panel-wrapper:not(.ag-hidden)"),l=e.target,a=e.shiftKey;if(!r)return Ln(t,a,!0)?(e.preventDefault(),!0):(e[Bn]=!0,!1);if(i.contains(n))return void(Wi(r,a)&&e.preventDefault());if(!a)return;let d=null;r.contains(n)?d=Ui(t,r,void 0,!0):yv(r,l)&&(d=bv(r,l)),d||(d=i.querySelector(".ag-selected button"),d=re(d)?d:null),d&&d!==e.target&&(e.preventDefault(),d.focus())}handleKeyDown(e){const t=w(this.beans),o=this.sideBarButtons;if(!o.getGui().contains(t))return;const s=o.getGui(),i=Array.prototype.slice.call(s.querySelectorAll(".ag-side-button")),n=i.findIndex(e=>e.contains(t));let r=null;switch(e.key){case ws:case bs:r=Math.max(0,n-1);break;case ys:case Ss:r=Math.min(n+1,i.length-1)}if(null===r)return;const l=i[r].querySelector("button");l&&(l.focus(),e.preventDefault())}onToolPanelButtonClicked(e){const t=e.toolPanelId;this.openedItem()===t?this.openToolPanel(void 0,"sideBarButtonClicked"):this.openToolPanel(t,"sideBarButtonClicked")}clearDownUi(){this.sideBarButtons.clearButtons(),this.destroyToolPanelWrappers()}setSideBarDef({sideBarDef:e,sideBarState:t,existingToolPanelWrappers:o}){if(this.setDisplayed(!1),this.sideBar=e,e&&this.sideBarButtons.setDisplayed(!e.hideButtons),e?.toolPanels){const s=e.toolPanels;if(this.createToolPanelsAndSideButtons(s,t,o),!this.toolPanelWrappers.length)return;const i=t?t.visible:!e.hiddenByDefault;if(this.setDisplayed(i),this.setSideBarPosition(t?t.position:e.position),i)if(t){const{openToolPanel:e}=t;e&&this.openToolPanel(e,"sideBarInitializing")}else this.openToolPanel(e.defaultToolPanel,"sideBarInitializing")}}getDef(){return this.sideBar}setSideBarPosition(e){e||(e="right"),this.position=e;const t="left"===e,o=t?"right":"left";this.toggleCss("ag-side-bar-left",t),this.toggleCss("ag-side-bar-right",!t);for(const s of this.toolPanelWrappers)s.setResizerSizerSide(o);return this.dispatchSideBarUpdated(),this}setDisplayed(e,t){super.setDisplayed(e,t),this.dispatchSideBarUpdated()}getState(){const e={};for(const t of this.toolPanelWrappers)e[t.getToolPanelId()]=t.getToolPanelInstance()?.getState?.();return{visible:this.isDisplayed(),position:this.position,openToolPanel:this.openedItem(),toolPanels:e}}createToolPanelsAndSideButtons(e,t,o){for(const s of e)this.createToolPanelAndSideButton(s,t?.toolPanels?.[s.id],o?.[s.id])}validateDef(e){const{id:t,toolPanel:o}=e;return null==t?(Dt(212),!1):!Kv(o)||!this.beans.filterManager?.isAdvFilterEnabled()||(Dt(213),!1)}createToolPanelAndSideButton(e,t,o){if(!this.validateDef(e))return void this.destroyBean(o);let s;if(o)s=o,s.setDefParent(e.parent??null);else if(s=this.createBean(new $v),!s.setToolPanelDef(e,Co(this.gos,{initialState:t,onStateUpdated:()=>this.dispatchSideBarUpdated()})))return;var i,n;s.setDisplayed(!1),this.renderToolPanelUnderParent(s,e.parent),this.toolPanelWrappers.push(s),i=this.sideBarButtons.addButtonComp(e).eToggleButton,n=s.getGui(),function(e,t){x(e,"controls",t)}(i,n.id),T(n,i.id)}refresh(){for(const e of this.toolPanelWrappers)e.refresh()}renderToolPanelUnderParent(e,t){const o=e.getGui();t&&(this.beans.environment.applyThemeClasses(t,["ag-external","ag-tool-panel-external"]),o.classList.add(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr"));const s=t??e.getDefParent()??this.getGui();o.parentElement!==s&&s.appendChild(o)}getWrapper(e){return this.toolPanelWrappers.find(t=>t.getToolPanelId()===e)}openToolPanel(e,t="api",o){const s=this.openedItem(),i=!!e&&!!s||"sideBarInitializing"===t;for(const n of this.toolPanelWrappers){const t=e===n.getToolPanelId();t&&this.renderToolPanelUnderParent(n,o??null),i?n.setDisplayed(t):n.animateDisplayed(t)}s!==this.openedItem()&&(this.sideBarButtons.setActiveButton(e),this.raiseToolPanelVisibleEvent(e,s??void 0,t))}getToolPanelInstance(e){const t=this.getWrapper(e);if(t)return t.getToolPanelInstance();Dt(214,{key:e})}raiseToolPanelVisibleEvent(e,t,o){const s=!!e&&!!t,i=this.eventSvc;t&&i.dispatchEvent({type:"toolPanelVisibleChanged",source:o,key:t,visible:!1,switchingToolPanel:s}),e&&i.dispatchEvent({type:"toolPanelVisibleChanged",source:o,key:e,visible:!0,switchingToolPanel:s})}close(e="api"){this.openToolPanel(void 0,e)}isToolPanelShowing(){return!!this.openedItem()}openedItem(){let e=null;for(const t of this.toolPanelWrappers)t.isDisplayed()&&(e=t.getToolPanelId());return e}setState(e){const t=Ov(this.gos.get("sideBar")),o={};t&&this.sideBar&&t.toolPanels?.forEach(t=>{const{id:s}=t;if(!s)return;const i=this.sideBar.toolPanels?.find(e=>e.id===s);if(!i||t.toolPanel!==i.toolPanel)return;const n=this.getWrapper(s);if(!n)return;const r=Co(this.gos,{...t.toolPanelParams??{},initialState:e?.toolPanels?.[s],onStateUpdated:()=>this.dispatchSideBarUpdated()});!0===n.getToolPanelInstance()?.refresh(r)&&(this.toolPanelWrappers=this.toolPanelWrappers.filter(e=>e!==n),ie(n.getGui()),o[s]=n)}),this.clearDownUi(),this.setSideBarDef({sideBarDef:t,sideBarState:e,existingToolPanelWrappers:o})}dispatchSideBarUpdated(){this.eventSvc.dispatchEvent({type:"sideBarUpdated"})}destroyToolPanelWrappers(){for(const e of this.toolPanelWrappers)ie(e.getGui()),this.destroyBean(e);this.toolPanelWrappers.length=0}onAdvancedFilterChanged(){this.sideBar?.toolPanels?.some(e=>Kv("string"==typeof e?e:e.toolPanel))&&this.setState()}destroy(){this.destroyToolPanelWrappers(),super.destroy()}}},qv={moduleName:"SideBar",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="sideBar"}getSelector(){return _v}}],apiFunctions:{isSideBarVisible:function(e){return e.sideBar?.comp.isDisplayed()??!1},setSideBarVisible:function(e,t){e.sideBar?.comp.setDisplayed(t)},setSideBarPosition:function(e,t){e.sideBar?.comp.setSideBarPosition(t)},openToolPanel:function(e,t,o){e.sideBar?.comp.openToolPanel(t,"api",o)},closeToolPanel:function(e){e.sideBar?.comp.close("api")},getOpenedToolPanel:function(e){return e.sideBar?.comp.openedItem()??null},refreshToolPanel:function(e){e.sideBar?.comp.refresh()},isToolPanelShowing:function(e){return e.sideBar?.comp.isToolPanelShowing()??!1},getToolPanelInstance:function(e,t){const o=e.sideBar?.comp.getToolPanelInstance(t);return ph(o)},getSideBar:function(e){return e.sideBar?.comp.getDef()}},dependsOn:[Mv,na]},Yv=class extends wv{constructor(){super({warnNoIcon:()=>Dt(227)})}},Zv={moduleName:"MenuItem",version:Dv,userComponents:{agMenuItem:Yv},icons:{check:"tick",subMenuOpen:"small-right",subMenuOpenRtl:"small-left"},css:['.ag-menu-list{cursor:default;display:table;padding:var(--ag-spacing) 0;width:100%}.ag-menu-option,.ag-menu-separator{display:table-row}.ag-menu-option-part,.ag-menu-separator-part{display:table-cell;vertical-align:middle}.ag-menu-option{cursor:pointer;font-weight:500}:where(.ag-ltr) :where(.ag-menu-option-popup-pointer) .ag-icon{text-align:right}:where(.ag-rtl) :where(.ag-menu-option-popup-pointer) .ag-icon{text-align:left}.ag-menu-option-text{white-space:nowrap}.ag-menu-option-custom{display:contents}.ag-compact-menu-option{display:flex;flex-wrap:nowrap;width:100%}.ag-compact-menu-option-text{flex:1 1 auto;white-space:nowrap}.ag-menu-separator{height:calc(var(--ag-spacing)*2 + 1px)}.ag-menu-separator-part:after{border-top:solid var(--ag-border-width) var(--ag-menu-separator-color);content:"";display:block}.ag-compact-menu-option-active,.ag-menu-option-active{background-color:var(--ag-row-hover-color)}.ag-compact-menu-option-part,.ag-menu-option-part{line-height:var(--ag-icon-size);padding:calc(var(--ag-spacing) + 2px) 0}.ag-compact-menu-option-disabled,.ag-menu-option-disabled{cursor:not-allowed;opacity:.5}.ag-compact-menu-option-icon,.ag-menu-option-icon{width:var(--ag-icon-size)}:where(.ag-ltr) .ag-compact-menu-option-icon,:where(.ag-ltr) .ag-menu-option-icon{padding-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-compact-menu-option-icon,:where(.ag-rtl) .ag-menu-option-icon{padding-right:calc(var(--ag-spacing)*2)}.ag-compact-menu-option-text,.ag-menu-option-text{padding-left:calc(var(--ag-spacing)*2);padding-right:calc(var(--ag-spacing)*2)}:where(.ag-ltr) .ag-compact-menu-option-shortcut,:where(.ag-ltr) .ag-menu-option-shortcut{padding-right:var(--ag-spacing)}:where(.ag-rtl) .ag-compact-menu-option-shortcut,:where(.ag-rtl) .ag-menu-option-shortcut{padding-left:var(--ag-spacing)}:where(.ag-ltr) .ag-compact-menu-option-popup-pointer,:where(.ag-ltr) .ag-menu-option-popup-pointer{padding-right:var(--ag-spacing)}:where(.ag-rtl) .ag-compact-menu-option-popup-pointer,:where(.ag-rtl) .ag-menu-option-popup-pointer{padding-left:var(--ag-spacing)}.ag-menu-column-select-wrapper{height:265px;overflow:auto;:where(.ag-column-select){height:100%}}.ag-menu:where(.ag-tabs){min-width:290px}.ag-context-menu-loading-icon{pointer-events:none;position:absolute}']},Qv={tag:"div",cls:"ag-column-select-header",role:"presentation",children:[{tag:"div",ref:"eExpand",cls:"ag-column-select-header-icon"},{tag:"ag-checkbox",ref:"eSelect",cls:"ag-column-select-header-checkbox"},{tag:"ag-input-text-field",ref:"eFilterTextField",cls:"ag-column-select-header-filter-wrapper"}]},Xv={selector:"AG-PRIMARY-COLS-HEADER",component:class extends Pi{constructor(){super(Qv,[za,Ng]),this.eExpand=null,this.eSelect=null,this.eFilterTextField=null}postConstruct(){this.createExpandIcons(),this.addManagedListeners(this.eExpand,{click:this.onExpandClicked.bind(this),keydown:e=>{e.key===vs&&(e.preventDefault(),this.onExpandClicked())}}),this.addManagedElementListeners(this.eSelect.getInputElement(),{click:this.onSelectClicked.bind(this)}),this.addManagedPropertyListener("functionsReadOnly",()=>this.onFunctionsReadOnlyPropChanged()),this.eFilterTextField.setAutoComplete(!1).onValueChange(()=>this.onFilterTextChanged()),this.addManagedEventListeners({newColumnsLoaded:this.showOrHideOptions.bind(this)});const e=this.getLocaleTextFunc();this.eSelect.setInputAriaLabel(e("ariaColumnSelectAll","Toggle All Columns Visibility")),this.eFilterTextField.setInputAriaLabel(e("ariaFilterColumnsInput","Filter Columns Input")),this.activateTabIndex([this.eExpand])}onFunctionsReadOnlyPropChanged(){const e=this.gos.get("functionsReadOnly");this.eSelect.setReadOnly(e),this.eSelect.toggleCss("ag-column-select-column-readonly",e)}init(e){this.params=e;const t=this.gos.get("functionsReadOnly");this.eSelect.setReadOnly(t),this.eSelect.toggleCss("ag-column-select-column-readonly",t),this.beans.colModel.ready&&this.showOrHideOptions()}createExpandIcons(){const e=this.beans;this.eExpand.appendChild(this.eExpandChecked=Ol("columnSelectOpen",e)),this.eExpand.appendChild(this.eExpandUnchecked=Ol("columnSelectClosed",e)),this.eExpand.appendChild(this.eExpandIndeterminate=Ol("columnSelectIndeterminate",e)),this.setExpandState(0)}showOrHideOptions(){const e=this.params,t=!e.suppressColumnFilter,o=!e.suppressColumnSelectAll,s=!e.suppressColumnExpandAll,i=!!this.beans.colModel.colDefCols?.treeDepth,n=this.getLocaleTextFunc();this.eFilterTextField.setInputPlaceholder(n("searchOoo","Search...")),K(this.eFilterTextField.getGui(),t),K(this.eSelect.getGui(),o),K(this.eExpand,s&&i)}onFilterTextChanged(){this.onFilterTextChangedDebounced||(this.onFilterTextChangedDebounced=je(this,()=>{const e=this.eFilterTextField.getValue();this.dispatchLocalEvent({type:"filterChanged",filterText:e})},300)),this.onFilterTextChangedDebounced()}onSelectClicked(){this.dispatchLocalEvent({type:this.selectState?"unselectAll":"selectAll"})}onExpandClicked(){this.dispatchLocalEvent({type:0===this.expandState?"collapseAll":"expandAll"})}setExpandState(e){this.expandState=e,K(this.eExpandChecked,0===e),K(this.eExpandUnchecked,1===e),K(this.eExpandIndeterminate,2===e)}setSelectionState(e){this.selectState=e,this.eSelect.setValue(this.selectState)}}};function Jv(e){return!!e&&void 0!==e.children}function ew(e){return Jv(e)?e.groupId:e.colId}function tw(t,o,s){if(!Jv(t))return!0;const i=t,n=s;if(((t,o)=>{const s=t.children.map(ew).includes(ew(o)),i=e(t.children),n=i&&ew(i)!==ew(o);return s&&n})(i,n))return i.children.push(n),!0;if(i.groupId===o&&!i.children.map(ew).includes(ew(n)))return i.children.push(n),!0;for(let e=i.children.length-1;e>=0&&!tw(i.children[e],o,s);e--);return!1}function ow(e){const t=(e,t)=>Jv(e)&&Jv(t)&&ew(e)===ew(t),o=(e,t)=>{if(!Jv(t))return e;const s=e,i=t;if(i.children&&i.groupId&&tw(s,i.groupId,i.children[0]))return s;for(const n of i.children)o(s,n);return s},s=[];for(let i=1;i<=e.length;i++){const n=e[i-1],r=e[i];t(n,r)?e[i]=o(n,r):s.push(n)}return s}function sw(e){const t=(e,o)=>{let s;if(Lo(e))if(e.isPadding())s=o;else{const t=Object.assign({},e.getColGroupDef());t.groupId=e.getGroupId(),t.children=[o],s=t}else{const t=Object.assign({},e.getColDef());t.colId=e.getColId(),s=t}const i=e.getOriginalParent();return i?t(i,s):s};return e.map(e=>t(e,e.getColDef()))}var iw=class{constructor(e,t,o,s=!1,i){this.displayName=e,this.depth=o,this.group=s,this.localEventService=new u,s?(this.columnGroup=t,this._expanded=i,this.children=[]):this.column=t}get expanded(){return!!this._expanded}set expanded(e){e!==this._expanded&&(this._expanded=e,this.localEventService.dispatchEvent({type:"expandedChanged"}))}addEventListener(e,t){this.localEventService.addEventListener(e,t)}removeEventListener(e,t){this.localEventService.removeEventListener(e,t)}};function nw(e){return!!e?.buttons?.includes("apply")}function rw(e,t){if(!nw(t))return;const o=e.sideBar?.comp.openedItem();o&&(e.sideBar?.comp.getToolPanelInstance(o))?.refreshDeferredUi()}function lw(e,t,o,s,i){aw(e,function(e){const t=[],o=e=>{for(const s of e)s.passesFilter&&(s.group?o(s.children):t.push(s.column))};return o(e),t}(t),o,s,i)}function aw(e,t,o,s,i){e.columnStateUpdateStrategy.getPivotMode(nw(i))?function(e,t,o,s,i){!function(e,t,o,s,i){const n=e.columnStateUpdateStrategy,r=[],l=o?t=>{if(!n.isColumnSelectedInPivotModeToolPanel(nw(i),t))if(t.isAllowValue()){const o="string"==typeof t.getAggFunc()?t.getAggFunc():e.aggFuncSvc?.getDefaultAggFunc(t);r.push({colId:t.getId(),aggFunc:o})}else t.isAllowRowGroup()?r.push({colId:t.getId(),rowGroup:!0}):t.isAllowPivot()&&r.push({colId:t.getId(),pivot:!0})}:e=>{n.isColumnSelectedInPivotModeToolPanel(nw(i),e)&&r.push({colId:e.getId(),pivot:!1,rowGroup:!1,aggFunc:null})};t.forEach(l),n.applyColumnState(nw(i),r,s),rw(e,i)}(e,t,o,s,i)}(e,t,o,s,i):function(e,t,o,s,i){const n=e.columnStateUpdateStrategy,r=[];for(const l of t)l.getColDef().lockVisible||n.isColumnVisibleInToolPanel(nw(i),l)!==o&&r.push({colId:l.getId(),hide:!o});n.applyColumnState(nw(i),r,s),rw(e,i)}(e,t,o,s,i)}function dw(e,t){const{columns:o,visibleState:s,pivotState:i,eventType:n}=t,r=e.columnStateUpdateStrategy,l=r.getPivotMode(nw(t)),a=o.map(e=>{const t=e.getColId();if(l){const e=i?.[t];return{colId:t,pivot:e?.pivot,rowGroup:e?.rowGroup,aggFunc:e?.aggFunc}}return{colId:t,hide:!s?.[t]}});r.applyColumnState(nw(t),a,n),rw(e,t)}function cw(e,t,o){if(!o)return function(e){return{pivot:e.isPivotActive(),rowGroup:e.isRowGroupActive(),aggFunc:e.isValueActive()?e.getAggFunc():void 0}}(e);const s=t.getRowGroupColumns(o).includes(e);return{pivot:t.getPivotColumns(o).includes(e),rowGroup:s,aggFunc:t.getValueColumns(o).includes(e)?t.getColumnAggFunc(o,e):void 0}}var hw=(e,t)=>{if(!t)return[];let o=e;for(let s=0,i=t.length;s{const s=e.aggData;s!==t&&(e.aggData=t,e.__localEventService&&pw(e,s,t,o))},gw=(e,t,o)=>{uw(e,t,o);const s=e.pinnedSibling;s&&uw(s,t,o);const i=e.sibling;if(i){uw(i,t,o);const e=i.pinnedSibling;e&&uw(e,t,o)}},pw=(e,t,o,s)=>{if(!o){if(!t)return;const o=Object.keys(t);for(let i=0,n=o.length;i{if(!e)return;const s=e.group;s!==o&&(e.group=o,e.updateHasChildren(),s&&!o&&(uw(e,null,t.colModel),e.setAllChildrenCount(null)),t.selectionSvc?.updateRowSelectable(e),e.dispatchRowEvent("groupChanged"))},fw=(e,t,o)=>{mw(e,t,o),mw(e.pinnedSibling,t,o)},Cw=(e,t)=>{const{gos:o,rowGroupColsSvc:s}=t;if(!s||!e)return!1;const i=o.get("groupLockGroupColumns");return!(!e.isRowGroupActive()||0===i)&&(-1===i||i>s.columns.findIndex(t=>t.getColId()===e.getColId()))},vw=(e,t,o)=>{const s=e(t,`${"groupBy"===t?"Group by":"Un-Group by"} ${o}`,[o]);return s.indexOf(o)>=0?s:`${s} ${o}`},ww={name:"menuItem",optionalMethods:["setActive","select","setExpanded","configureDefaults"]},bw={getMenuItemComp:(e,t,o)=>e.userCompFactory.getCompDetails(t,ww,"agMenuItem",Co(e.gos,o),!0)?.newAgStackInstance()??Ns.resolve(),getPostProcessPopupParams:({column:e,node:t})=>({column:e,rowNode:t}),preserveRangesWhile:function(e,t){if(!e.gos.get("enableCellTextSelection"))return t();if(!Ti()&&!Ei())return t();const{selection:o,ranges:s}=function(e){const t=v(e),o="getSelection"in t?t.getSelection():null,s=[];for(let i=0;i<(o?.rangeCount??0);i++){const e=o?.getRangeAt(i);e&&s.push(e)}return{selection:o,ranges:s}}(e);t(),o?.removeAllRanges();for(const i of s)o?.addRange(i)},stopPropagationCallbacks:Zi,warnNoItem:e=>{Dt(228,{menuItemOrString:e})}},yw=class extends Cv{constructor(){super(bw)}},Sw=class extends vv{constructor(e,t={column:null,node:null,value:null}){super(e,t,bw)}},Rw=class extends Pi{constructor(e,t,o,s={}){super({tag:"div",cls:"ag-menu"}),this.column=e,this.mouseEventOrTouch=t,this.parentEl=o,this.params=s,this.displayName=null}postConstruct(){const{column:e,beans:{colNames:t}}=this;let o;if(this.initializeProperties(e),o=So(e)?t.getDisplayNameForColumn(e,"columnToolPanel"):t.getDisplayNameForProvidedColumnGroup(null,e,"columnToolPanel"),this.displayName=o,this.buildMenuItemMap(),this.isActive()){const e=this.mouseEventOrTouch;"preventDefault"in e&&e.preventDefault();const t=this.getMappedMenuItems();if(0===t.length)return;this.displayContextMenu(t)}}initializeProperties(e){const t=this.beans.columnStateUpdateStrategy;let o;o=Lo(e)?e.getLeafColumns():[e],this.columns=o;const s=t.getPivotMode(nw(this.params));this.allowScrollIntoView=!s&&o.some(this.isColumnValidForScrollIntoView),this.allowGrouping=o.some(e=>e.isPrimary()&&e.isAllowRowGroup()),this.allowValues=o.some(e=>e.isPrimary()&&e.isAllowValue()),this.allowPivoting=s&&o.some(e=>e.isPrimary()&&e.isAllowPivot())}buildMenuItemMap(){const e=this.getLocaleTextFunc(),{beans:t,displayName:o}=this,s=this.beans.columnStateUpdateStrategy,i=/* @__PURE__ */new Map;this.menuItemMap=i;const n=nw(this.params),r=s.getPivotMode(n),l=new Set(s.getRowGroupColumns(n).map(e=>e.getColId())),a=new Set(s.getValueColumns(n).map(e=>e.getColId())),d=new Set(s.getPivotColumns(n).map(e=>e.getColId()));i.set("scrollIntoView",{allowedFunction:e=>!e.isPinned()&&!r&&this.isColumnValidForScrollIntoView(e),activeFunction:()=>!1,activateLabel:()=>e("scrollColumnIntoView",`Scroll ${o} into View`,[o]),activateFunction:()=>{const e=this.columns.find(this.isColumnValidForScrollIntoView);e&&this.beans.ctrlsSvc.getScrollFeature().ensureColumnVisible(e)},deActivateFunction:()=>{},addIcon:"ensureColumnVisible"});const c=e=>e.isPrimary()&&e.isAllowRowGroup()&&!Cw(e,t);i.set("rowGroup",{allowedFunction:c,activeFunction:e=>l.has(e.getColId()),activateLabel:()=>vw(e,"groupBy",o),deactivateLabel:()=>vw(e,"ungroupBy",o),activateFunction:()=>{const e=this.addColumnsToList(s.getRowGroupColumns(n),c);s.setRowGroupColumns(n,e,"toolPanelUi"),rw(this.beans,this.params)},deActivateFunction:()=>{const e=this.removeColumnsFromList(s.getRowGroupColumns(n),c);s.setRowGroupColumns(n,e,"toolPanelUi"),rw(this.beans,this.params)},addIcon:"menuAddRowGroup",removeIcon:"menuRemoveRowGroup"});const h=e=>e.isPrimary()&&e.isAllowValue();i.set("value",{allowedFunction:h,activeFunction:e=>a.has(e.getColId()),activateLabel:()=>e("addToValues",`Add ${o} to values`,[o]),deactivateLabel:()=>e("removeFromValues",`Remove ${o} from values`,[o]),activateFunction:()=>{const e=this.addColumnsToList(s.getValueColumns(n),h);s.setValueColumns(n,e,"toolPanelUi"),rw(this.beans,this.params)},deActivateFunction:()=>{const e=this.removeColumnsFromList(s.getValueColumns(n),h);s.setValueColumns(n,e,"toolPanelUi"),rw(this.beans,this.params)},addIcon:"valuePanel",removeIcon:"valuePanel"});const u=e=>r&&e.isPrimary()&&e.isAllowPivot();i.set("pivot",{allowedFunction:u,activeFunction:e=>d.has(e.getColId()),activateLabel:()=>e("addToLabels",`Add ${o} to labels`,[o]),deactivateLabel:()=>e("removeFromLabels",`Remove ${o} from labels`,[o]),activateFunction:()=>{const e=this.addColumnsToList(s.getPivotColumns(n),u);s.setPivotColumns(n,e,"toolPanelUi"),rw(this.beans,this.params)},deActivateFunction:()=>{const e=this.removeColumnsFromList(s.getPivotColumns(n),u);s.setPivotColumns(n,e,"toolPanelUi"),rw(this.beans,this.params)},addIcon:"pivotPanel",removeIcon:"pivotPanel"})}isColumnValidForScrollIntoView(e){if(!e.isVisible())return!1;const t=e.getParent();return!t||(t.getDisplayedChildren()?.includes(e)??!0)}addColumnsToList(e,t){return[...e].concat(this.columns.filter(o=>t(o)&&!e.includes(o)))}removeColumnsFromList(e,t){return e.filter(e=>!t(e)||!this.columns.includes(e))}displayContextMenu(e){const t=this.getGui(),o=this.createBean(new Sw),s=this.getLocaleTextFunc();let i=()=>{};t.appendChild(o.getGui()),o.addMenuItems(e),o.addManagedListeners(o,{closeMenu:()=>{this.parentEl.focus(),i()}});const n=this.beans.popupSvc,r=n.addPopup({modal:!0,eChild:t,closeOnEsc:!0,afterGuiAttached:()=>Wi(o.getGui()),ariaLabel:s("ariaLabelContextMenu","Context Menu"),closedCallback:e=>{e instanceof KeyboardEvent&&this.parentEl.focus(),this.destroyBean(o)}});r&&(i=r.hideFunc),n.positionPopupUnderMouseEvent({type:"columnContextMenu",mouseEvent:this.mouseEventOrTouch,ePopup:t})}isActive(){return this.allowScrollIntoView||this.allowGrouping||this.allowValues||this.allowPivoting}getMappedMenuItems(){const e=[],{menuItemMap:t,columns:o,displayName:s,beans:i}=this;for(const n of t.values()){const t=o.some(e=>n.allowedFunction(e)&&!n.activeFunction(e)),r=o.some(e=>n.allowedFunction(e)&&n.activeFunction(e));t&&e.push({name:n.activateLabel(s),icon:Ol(n.addIcon,i,null),action:()=>n.activateFunction()}),r&&n.removeIcon&&n.deactivateLabel&&e.push({name:n.deactivateLabel(s),icon:Ol(n.removeIcon,i,null),action:()=>n.deActivateFunction?.()})}return e}},xw={tag:"div",cls:"ag-column-select-column-group",children:[{tag:"span",ref:"eColumnGroupIcons",cls:"ag-column-group-icons",children:[{tag:"span",ref:"eGroupClosedIcon",cls:"ag-column-group-closed-icon"},{tag:"span",ref:"eGroupOpenedIcon",cls:"ag-column-group-opened-icon"}]},{tag:"ag-checkbox",ref:"cbSelect",cls:"ag-column-select-checkbox"},{tag:"span",ref:"eLabel",cls:"ag-column-select-column-label"}]},Fw=class extends Pi{constructor(e,t,o,s,i){super(),this.modelItem=e,this.allowDragging=t,this.eventType=o,this.focusWrapper=s,this.params=i,this.cbSelect=null,this.eLabel=null,this.eGroupOpenedIcon=null,this.eGroupClosedIcon=null,this.eColumnGroupIcons=null,this.processingColumnStateChange=!1;const{columnGroup:n,depth:r,displayName:l}=e;this.columnGroup=n,this.columnDepth=r,this.displayName=l}postConstruct(){this.setTemplate(xw,[za]);const{beans:e,cbSelect:t,eLabel:o,displayName:s,columnDepth:i,modelItem:n,focusWrapper:r,columnGroup:l}=this,{registry:a,gos:d}=e,c=Ol("columnDrag",e);this.eDragHandle=c,c.classList.add("ag-drag-handle","ag-column-select-column-group-drag-handle");const h=t.getGui(),u=t.getInputElement();h.after(c),u.setAttribute("tabindex","-1"),o.textContent=s??"",this.setupExpandContract(),this.addCss("ag-column-select-indent-"+i),this.getGui().style.setProperty("--ag-indentation-level",String(i)),this.tooltipFeature=this.createOptionalManagedBean(a.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.focusWrapper,getLocation:()=>"columnToolPanelColumnGroup",shouldDisplayTooltip:Ag(d,()=>o)})),this.addManagedEventListeners({columnPivotModeChanged:this.onColumnStateChanged.bind(this)}),this.addManagedElementListeners(o,{click:this.onLabelClicked.bind(this)}),this.addManagedListeners(t,{fieldValueChanged:this.onCheckboxChanged.bind(this)}),this.addManagedListeners(n,{expandedChanged:this.onExpandChanged.bind(this)});const g=new hn(this.getGui(),!1);this.addManagedListeners(g,{longTap:e=>this.onContextMenu(e.touchStart)}),this.addDestroyFunc(g.destroy.bind(g)),this.addManagedListeners(r,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)}),this.setOpenClosedIcons(),this.setupDragging(),this.onColumnStateChanged(),this.addVisibilityListenersToAllChildren(),this.refreshAriaExpanded(),this.refreshAriaLabel(),this.setupTooltip();const p=nr(l.getColGroupDef(),d,null,l);for(const m of p)this.toggleCss(m,!0)}getColumns(){return this.columnGroup.getLeafColumns()}setupTooltip(){const e=this.columnGroup.getColGroupDef();if(!e)return;const t=()=>this.tooltipFeature?.setTooltipAndRefresh(e.headerTooltip);t(),this.addManagedEventListeners({newColumnsLoaded:t})}handleKeyDown(e){switch(e.key){case ws:e.preventDefault(),this.modelItem.expanded=!1;break;case ys:e.preventDefault(),this.modelItem.expanded=!0;break;case vs:e.preventDefault(),this.isSelectable()&&this.onSelectAllChanged(!this.isSelected())}}onContextMenu(e){const{columnGroup:t,gos:o}=this;if(o.get("functionsReadOnly"))return;const s=this.createBean(new Rw(t,e,this.focusWrapper,this.params));this.addDestroyFunc(()=>{s.isAlive()&&this.destroyBean(s)})}addVisibilityListenersToAllChildren(){const e=this.onColumnStateChanged.bind(this);for(const t of this.columnGroup.getLeafColumns())this.addManagedListeners(t,{visibleChanged:e,columnValueChanged:e,columnPivotChanged:e,columnRowGroupChanged:e})}setupDragging(){if(!this.allowDragging)return void K(this.eDragHandle,!1);const e=this.beans,{gos:t,eventSvc:o,dragAndDrop:s}=e;let i=!t.get("suppressDragLeaveHidesColumns");const n={type:ci.ToolPanel,eElement:this.eDragHandle,dragItemName:this.displayName,getDefaultIconName:()=>i?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{i=!t.get("suppressDragLeaveHidesColumns"),o.dispatchEvent({type:"columnPanelItemDragStart",column:this.columnGroup})},onDragStopped:()=>{o.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:t=>{i&&dw(e,{columns:this.columnGroup.getLeafColumns(),visibleState:t?.visibleState,pivotState:t?.pivotState,eventType:this.eventType,buttons:this.params.buttons})},onGridExit:()=>{i&&this.onChangeCommon(!1)}};s.addDragSource(n,!0),this.addDestroyFunc(()=>s.removeDragSource(n))}createDragItem(){const e=this.columnGroup.getLeafColumns(),t={},o={},s=this.beans.columnStateUpdateStrategy,i=nw(this.params);for(const n of e){const e=n.getId();t[e]=n.isVisible(),o[e]=cw(n,s,i)}return{columns:e,visibleState:t,pivotState:o}}setupExpandContract(){const{beans:e,eGroupClosedIcon:t,eGroupOpenedIcon:o,eColumnGroupIcons:s}=this;t.appendChild(Hl("columnSelectClosed",e,null)),o.appendChild(Hl("columnSelectOpen",e,null));const i=this.onExpandOrContractClicked.bind(this);this.addManagedElementListeners(t,{click:i}),this.addManagedElementListeners(o,{click:i});const n=new hn(s,!0);this.addManagedListeners(n,{tap:i}),this.addDestroyFunc(n.destroy.bind(n))}onLabelClicked(){const e=!this.cbSelect.getValue();this.onChangeCommon(e)}onCheckboxChanged(e){this.onChangeCommon(e.selected)}getVisibleLeafColumns(){const e=[],t=o=>{for(const s of o)s.passesFilter&&(s.group?t(s.children):e.push(s.column))};return t(this.modelItem.children),e}onChangeCommon(e){this.refreshAriaLabel(),this.processingColumnStateChange||lw(this.beans,this.modelItem.children,e,this.eventType,this.params)}refreshAriaLabel(){const{cbSelect:e,focusWrapper:t,displayName:o}=this,s=this.getLocaleTextFunc(),i=s("ariaColumnGroup","Column Group"),n=e.getValue(),r=void 0===n?s("ariaIndeterminate","indeterminate"):n?s("ariaVisible","visible"):s("ariaHidden","hidden"),l=s("ariaToggleVisibility","Press SPACE to toggle visibility");E(t,`${o} ${i}`),e.setInputAriaLabel(`${l} (${r})`),I(t,e.getInputElement().id)}onColumnStateChanged(){const e=this.workOutSelectedValue(),t=this.workOutReadOnlyValue();this.processingColumnStateChange=!0;const o=this.cbSelect;o.setValue(e),o.setReadOnly(t),this.toggleCss("ag-column-select-column-group-readonly",t),this.processingColumnStateChange=!1}workOutSelectedValue(){const e=this.beans.columnStateUpdateStrategy.getPivotMode(nw(this.params)),t=this.getVisibleLeafColumns();let o=0,s=0;for(const i of t)!e&&i.getColDef().lockVisible||(this.isColumnChecked(i)?o++:s++);if(!(o>0&&s>0))return o>0}workOutReadOnlyValue(){const e=this.beans.columnStateUpdateStrategy.getPivotMode(nw(this.params));let t=0;for(const o of this.columnGroup.getLeafColumns())e?o.isAnyFunctionAllowed()&&t++:o.getColDef().lockVisible||t++;return 0===t}isColumnChecked(e){const t=this.beans.columnStateUpdateStrategy;return t.getPivotMode(nw(this.params))?t.isColumnSelectedInPivotModeToolPanel(nw(this.params),e):t.isColumnVisibleInToolPanel(nw(this.params),e)}onExpandOrContractClicked(){const e=this.modelItem;e.expanded=!e.expanded}onExpandChanged(){this.setOpenClosedIcons(),this.refreshAriaExpanded()}setOpenClosedIcons(){const e=this.modelItem.expanded;K(this.eGroupClosedIcon,!e),K(this.eGroupOpenedIcon,e)}refreshAriaExpanded(){G(this.focusWrapper,this.modelItem.expanded)}getDisplayName(){return this.displayName}onSelectAllChanged(e){const t=this.cbSelect,o=t.getValue();!t.isReadOnly()&&(e&&!o||!e&&o)&&t.toggle()}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}setSelected(e){this.cbSelect.setValue(e,!0)}},Dw=e=>Lo(e)?e.getLeafColumns():e?[e]:[],Mw=(e,t,o,s)=>{const i=nw(s);return!(!e.get("suppressMovableColumns")&&!t.columnStateUpdateStrategy.getPivotMode(i)&&!o.find(({colDef:e})=>!!e.suppressMovable||!!e.lockPosition))},Pw=(e,t,o,s)=>{if(!o)return;const{component:i}=o;let n=null,r="top"===o.position;if(i instanceof Fw?(n=i.getColumns()[0],r=!0):i&&(n=i.column),!n)return;const l=nw(s),a=((e,t,o,s)=>{if(!t||!e)return null;const i=s.indexOf(t),n=o?i:i+1;return n-((e,t,o)=>{if(!t)return 0;const s=t[0],i=t.length;return e.indexOf(s)this.focusWrapper,getLocation:()=>"columnToolPanelColumn",shouldDisplayTooltip:Ag(l,()=>s),getAdditionalParams:()=>({colDef:r.getColDef()})})),this.setupDragging();const u=this.onColumnStateChanged.bind(this);this.addManagedEventListeners({columnPivotModeChanged:u}),this.addManagedListeners(r,{columnValueChanged:u,columnPivotChanged:u,columnRowGroupChanged:u,visibleChanged:u}),this.addManagedListeners(a,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)});const g=new hn(a);this.addManagedListeners(g,{longTap:e=>this.onContextMenu(e.touchStart)}),this.addDestroyFunc(g.destroy.bind(g)),this.addManagedPropertyListener("functionsReadOnly",this.onColumnStateChanged.bind(this)),this.addManagedListeners(t,{fieldValueChanged:this.onCheckboxChanged.bind(this)}),this.addManagedElementListeners(s,{click:this.onLabelClicked.bind(this)}),this.onColumnStateChanged(),this.refreshAriaLabel(),this.setupTooltip();const p=nr(r.getColDef(),l,r,null);for(const m of p)this.toggleCss(m,!0)}getColumn(){return this.column}setupTooltip(){const e=()=>this.tooltipFeature?.setTooltipAndRefresh(this.column.getColDef().headerTooltip);e(),this.addManagedEventListeners({newColumnsLoaded:e})}onContextMenu(e){const{column:t,gos:o}=this;if(o.get("functionsReadOnly"))return;const s=this.createBean(new Rw(t,e,this.focusWrapper,this.params));this.addDestroyFunc(()=>{s.isAlive()&&this.destroyBean(s)})}handleKeyDown(e){e.key===vs&&(e.preventDefault(),this.isSelectable()&&this.onSelectAllChanged(!this.isSelected()))}onLabelClicked(){if(this.gos.get("functionsReadOnly"))return;const e=!this.cbSelect.getValue();this.onChangeCommon(e)}onCheckboxChanged(e){this.onChangeCommon(e.selected)}onChangeCommon(e){this.cbSelect.isReadOnly()||(this.refreshAriaLabel(),this.processingColumnStateChange||aw(this.beans,[this.column],e,"toolPanelUi",this.params))}refreshAriaLabel(){const{cbSelect:e,focusWrapper:t,displayName:o}=this,s=this.getLocaleTextFunc(),i=s("ariaColumn","Column"),n=e.getValue()?s("ariaVisible","visible"):s("ariaHidden","hidden"),r=s("ariaToggleVisibility","Press SPACE to toggle visibility");E(t,`${o} ${i}`),this.cbSelect.setInputAriaLabel(`${r} (${n})`),I(t,e.getInputElement().id)}setupDragging(){const e=this.eDragHandle;if(!this.allowDragging)return void K(e,!1);const t=this.beans,{gos:o,eventSvc:s,dragAndDrop:i}=t;nw(this.params)&&e.setAttribute("data-column-tool-panel-deferred","");let n=!o.get("suppressDragLeaveHidesColumns");const r={type:ci.ToolPanel,eElement:e,dragItemName:this.displayName,getDefaultIconName:()=>n&&!nw(this.params)?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{n=!o.get("suppressDragLeaveHidesColumns"),s.dispatchEvent({type:"columnPanelItemDragStart",column:this.column})},onDragStopped:()=>{s.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:e=>{n&&!nw(this.params)&&dw(t,{columns:[this.column],visibleState:e?.visibleState,pivotState:e?.pivotState,eventType:"toolPanelUi",buttons:this.params.buttons})},onGridExit:()=>{n&&!nw(this.params)&&this.onChangeCommon(!1)}};i.addDragSource(r,!0),this.addDestroyFunc(()=>i.removeDragSource(r))}createDragItem(){const e=this.column.getColId(),t={[e]:this.column.isVisible()},o=this.beans.columnStateUpdateStrategy,s={[e]:cw(this.column,o,nw(this.params))};return{columns:[this.column],visibleState:t,pivotState:s}}onColumnStateChanged(){this.processingColumnStateChange=!0;const e=this.beans.columnStateUpdateStrategy,t=e.getPivotMode(nw(this.params));if(t){const t=e.isColumnSelectedInPivotModeToolPanel(nw(this.params),this.column);this.cbSelect.setValue(t)}else this.cbSelect.setValue(e.isColumnVisibleInToolPanel(nw(this.params),this.column));let o=!0,s=!0;if(t){const e=this.gos.get("functionsReadOnly"),t=!this.column.isAnyFunctionAllowed();o=!e&&!t,s=o}else{const{enableRowGroup:e,enableValue:t,lockPosition:i,suppressMovable:n,lockVisible:r}=this.column.getColDef();o=!r,s=!!e||!!t||!(i||n)}this.cbSelect.setReadOnly(!o),this.eDragHandle.classList.toggle("ag-column-select-column-readonly",!s),this.toggleCss("ag-column-select-column-readonly",!s&&!o),this.cbSelect.setPassive(!1),this.processingColumnStateChange=!1}getDisplayName(){return this.displayName}onSelectAllChanged(e){const t=this.cbSelect;e!==t.getValue()&&(t.isReadOnly()||t.toggle())}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}isExpandable(){return!1}setExpanded(e){Dt(158)}},Iw=class{constructor(e){this.items=e}getRowCount(){return this.items.length}getRow(e){return this.items[e]}},Aw={selector:"AG-PRIMARY-COLS-LIST",component:class extends Pi{constructor(){super({tag:"div",cls:"ag-column-select-list",role:"presentation"}),this.destroyColumnItemFuncs=[],this.hasLoadedInitialState=!1,this.isInitialState=!1,this.skipRefocus=!1}wireBeans(e){this.colModel=e.colModel}destroy(){this.destroyColumnTree(),super.destroy()}destroyColumnTree(){this.allColsTree=[];for(const e of this.destroyColumnItemFuncs)e();this.destroyColumnItemFuncs=[]}init(e,t,o){this.params=e;const{suppressSyncLayoutWithGrid:s,contractColumnSelection:i,suppressColumnMove:n}=e;this.allowDragging=t,this.eventType=o,s||this.addManagedEventListeners({columnMoved:this.onColumnsChanged.bind(this)}),this.addManagedEventListeners({newColumnsLoaded:this.onColumnsChanged.bind(this)});const r=this.fireSelectionChangedEvent.bind(this);this.addManagedEventListeners({columnPivotChanged:r,columnPivotModeChanged:r,columnRowGroupChanged:r,columnValueChanged:r,columnVisible:r,newColumnsLoaded:r}),this.expandGroupsByDefault=!i;const l=n||s,a=this.createManagedBean(new Tv({cssIdentifier:"column-select",ariaRole:"tree",moveItemCallback:(e,t)=>{l||this.moveItems(e,t)}}));this.virtualList=a,this.appendChild(a.getGui()),a.setComponentCreator((e,t)=>(x(t,"level",e.depth+1),this.createComponentFromItem(e,t))),this.colModel.ready&&this.onColumnsChanged(),l||this.createItemDragFeature()}createItemDragFeature(){const{gos:e,beans:t,virtualList:o}=this;this.createManagedBean(new Iv(this,o,{dragSourceType:ci.ToolPanel,addListeners:(e,t,o)=>{e.addManagedEventListeners({columnPanelItemDragStart:t,columnPanelItemDragEnd:o})},getCurrentDragValue:e=>(e=>e.column)(e),isMoveBlocked:o=>Mw(e,t,Dw(o),this.params),getNumRows:e=>e.getDisplayedColsList().length,moveItem:(e,o)=>Pw(t,Dw(e),o,this.params)}))}moveItems(e,t){const{gos:o,beans:s}=this,{modelItem:i}=e,{group:n,columnGroup:r,column:l,expanded:a}=i,d=Dw(n?r:l);if(Mw(o,s,d,this.params))return;const c=this.displayedColsList.indexOf(i),h=t?-1:1;let u=0;if(t){const t=e.columnDepth>0?l.getParent()?.getChildren():null;t?.length&&l===t[0]&&(u=-1)}else n&&(u=a?i.children.length:0);const g=Math.min(Math.max(c+u+h,0),this.displayedColsList.length-1);this.skipRefocus=!0,Pw(s,d,{rowIndex:g,position:t?"top":"bottom",component:this.virtualList.getComponentAt(g)},this.params),this.focusRowIfAlive(g-u).then(()=>{this.skipRefocus=!1})}createComponentFromItem(e,t){const o=this.allowDragging;if(e.group){const s=new Fw(e,o,this.eventType,t,this.params);return this.createBean(s),s}const s=new Tw(e,o,this.groupsExist,t,this.params);return this.createBean(s),s}onColumnsChanged(){const e=this.params;this.hasLoadedInitialState||(this.hasLoadedInitialState=!0,this.isInitialState=!!e.initialState);const t=this.getExpandedStates(),o=this.colModel.isPivotMode(),s=nw(e),i=s&&this.beans.columnStateUpdateStrategy.hasDeferredColumnOrder(s);(!e.suppressSyncLayoutWithGrid||s)&&!o||i?this.buildTreeFromWhatGridIsDisplaying():this.buildTreeFromProvidedColumnDefs(),this.setExpandedStates(t),this.markFilteredColumns(),this.flattenAndFilterModel(),this.isInitialState=!1}getDisplayedColsList(){return this.displayedColsList}getExpandedStates(){const e={};if(this.isInitialState){const{expandedGroupIds:t}=this.params.initialState;for(const o of t)e[o]=!0;return e}return this.allColsTree?(this.forEachItem(t=>{if(!t.group)return;const o=t.columnGroup;o&&(e[o.getId()]=t.expanded)}),e):{}}setExpandedStates(e){if(!this.allColsTree)return;const{isInitialState:t}=this;this.forEachItem(o=>{if(!o.group)return;const s=o.columnGroup;if(s){const i=e[s.getId()];(null!=i||t)&&(o.expanded=!!i)}})}buildTreeFromWhatGridIsDisplaying(){const e=nw(this.params);if(e&&this.beans.columnStateUpdateStrategy.hasDeferredColumnOrder(e)){const o=this.beans.columnStateUpdateStrategy.getPrimaryColumns(e);if(o.length>0)return t=o,void this.setColumnLayout.bind(this)(ow(sw(t)))}var t,o;this.params.suppressSyncLayoutWithGrid?this.buildTreeFromProvidedColumnDefs():(o=this.colModel,this.setColumnLayout.bind(this)(ow(sw(function(e){return e.getCols().filter(e=>{const t=e.getColDef();return e.isPrimary()&&!t.showRowGroup})}(o)))))}setColumnLayout(e){const t=function(e,t){const o=[],s=(t,i)=>{if(Jv(t)){const e=t,o=new Go(e,void 0!==e.groupId?e.groupId:e.headerName,!1,i),n=[];for(const t of e.children){const e=s(t,i+1);e&&n.push(e)}return o.setChildren(n),o}{const s=t,i=s.colId?s.colId:s.field,n=e.getColDefCol(i);return n||o.push(s),n}},i=[];for(const n of t){const e=s(n,0);e&&i.push(e)}return o.length>0&&Dt(217,{invalidColIds:o}),i}(this.colModel,e);this.buildListModel(t),this.groupsExist=e.some(e=>e&&void 0!==e.children),this.markFilteredColumns(),this.flattenAndFilterModel()}buildTreeFromProvidedColumnDefs(){const e=this.colModel;this.buildListModel(e.getColDefColTree()),this.groupsExist=!!e.colDefCols?.treeDepth}buildListModel(e){const t=this.onColumnExpanded.bind(this),o=e=>{e.addEventListener("expandedChanged",t);const o=e.removeEventListener.bind(e,"expandedChanged",t);this.destroyColumnItemFuncs.push(o)},s=this.beans.colNames,i=(e,t,o)=>{for(const s of e)Lo(s)?n(s,t,o):r(s,t,o)},n=(e,t,n)=>{if(e.getColGroupDef()?.suppressColumnsToolPanel)return;if(e.isPadding())return void i(e.getChildren(),t,n);const r=new iw(s.getDisplayNameForProvidedColumnGroup(null,e,"columnToolPanel"),e,t,!0,this.expandGroupsByDefault);n.push(r),o(r),i(e.getChildren(),t+1,r.children)},r=(e,t,o)=>{if(e.getColDef()?.suppressColumnsToolPanel)return;const i=s.getDisplayNameForColumn(e,"columnToolPanel");o.push(new iw(i,e,t))};this.destroyColumnTree(),i(e,0,this.allColsTree)}onColumnExpanded(){this.flattenAndFilterModel()}flattenAndFilterModel(){this.displayedColsList=[];const e=t=>{t.passesFilter&&(this.displayedColsList.push(t),t.group&&t.expanded&&t.children.forEach(e))},t=this.virtualList;this.allColsTree.forEach(e),t.setModel(new Iw(this.displayedColsList));let o=null;this.skipRefocus||(o=t.getLastFocusedRow()),t.refresh(),null!=o&&this.focusRowIfAlive(o),this.notifyListeners(),this.refreshAriaLabel()}refreshAriaLabel(){const e=this.getLocaleTextFunc(),t=e("ariaColumnPanelList","Column List"),o=e("columns","Columns"),s=this.displayedColsList.length;E(this.virtualList.getAriaElement(),`${t} ${s} ${o}`)}focusRowIfAlive(e){return-1===e?Promise.resolve():new Promise(t=>{window.setTimeout(()=>{this.isAlive()&&this.virtualList.focusRow(e),t()},0)})}forEachItem(e){const t=o=>{for(const s of o)e(s),s.group&&t(s.children)},o=this.allColsTree;o&&t(o)}doSetExpandedAll(e){this.forEachItem(t=>{t.group&&(t.expanded=e)})}setGroupsExpanded(e,t){if(!t)return void this.doSetExpandedAll(e);const o=[];this.forEachItem(s=>{if(!s.group)return;const i=s.columnGroup.getId();t.indexOf(i)>=0&&(s.expanded=e,o.push(i))});const s=t.filter(e=>!o.includes(e));s.length>0&&Dt(157,{unrecognisedGroupIds:s})}getExpandState(){let e=0,t=0;return this.forEachItem(o=>{o.group&&(o.expanded?e++:t++)}),e>0&&t>0?2:t>0?1:0}doSetSelectedAll(e){lw(this.beans,this.allColsTree,e,this.eventType,this.params),this.syncVisibleSelectionState(),this.fireSelectionChangedEvent()}syncVisibleSelectionState(){for(let e=0;e{if(i.group)return;if(!i.passesFilter)return;const n=i.column,r=n.getColDef();let l;if(s){if(!n.isAllowPivot()&&!n.isAllowRowGroup()&&!n.isAllowValue())return;l=o.isColumnSelectedInPivotModeToolPanel(nw(this.params),n)??!1}else{if(r.lockVisible)return;l=o.isColumnVisibleInToolPanel(nw(this.params),n)??!1}l?e++:t++}),!(e>0&&t>0))return!(0===e||t>0)}setFilterText(e){this.filterText=l(e)?e.toLowerCase():null,this.markFilteredColumns(),this.flattenAndFilterModel()}markFilteredColumns(){const e=e=>{if(!l(this.filterText))return!0;const t=e.displayName;return null==t||-1!==t.toLowerCase().indexOf(this.filterText)},t=(o,s)=>{let i=!1;if(o.group){const n=e(o);for(const e of o.children){const o=t(e,n||s);o&&(i=o)}}const n=!(!s&&!i)||e(o);return o.passesFilter=n,n};for(const o of this.allColsTree)t(o,!1)}notifyListeners(){this.fireGroupExpandedEvent(),this.fireSelectionChangedEvent()}fireGroupExpandedEvent(){const e=this.getExpandState();this.dispatchLocalEvent({type:"groupExpanded",state:e})}fireSelectionChangedEvent(){if(!this.allColsTree)return;const e=this.getSelectionState();this.dispatchLocalEvent({type:"selectionChanged",state:e})}getExpandedGroups(){const e=[];return this.allColsTree?(this.forEachItem(t=>{t.group&&t.expanded&&e.push(t.columnGroup.getId())}),e):e}}},kw={tag:"div",cls:"ag-column-select",children:[{tag:"ag-primary-cols-header",ref:"primaryColsHeaderPanel"},{tag:"ag-primary-cols-list",ref:"primaryColsListPanel"}]},Lw=class extends Pi{constructor(){super(kw,[Xv,Aw]),this.primaryColsHeaderPanel=null,this.primaryColsListPanel=null,this.registerCSS(".ag-column-select{display:flex;flex:3 1 0px;flex-direction:column;overflow:hidden;position:relative}.ag-column-select-header{flex:none;height:var(--ag-header-height);padding-left:var(--ag-widget-container-horizontal-padding);padding-right:var(--ag-widget-container-horizontal-padding)}.ag-column-select-column,.ag-column-select-column-group,.ag-column-select-header{align-items:center;display:flex;gap:var(--ag-widget-horizontal-spacing);position:relative}.ag-column-select-column,.ag-column-select-column-group{height:100%}:where(.ag-ltr) .ag-column-select-column,:where(.ag-ltr) .ag-column-select-column-group{padding-left:calc(var(--ag-indentation-level)*var(--ag-column-select-indent-size))}:where(.ag-rtl) .ag-column-select-column,:where(.ag-rtl) .ag-column-select-column-group{padding-right:calc(var(--ag-indentation-level)*var(--ag-column-select-indent-size))}.ag-column-select-column-group:where(:not(:last-child)),.ag-column-select-column:where(:not(:last-child)){margin-bottom:var(--ag-widget-vertical-spacing)}.ag-column-select-header-icon{border-radius:var(--ag-border-radius);cursor:pointer;height:var(--ag-icon-size);position:relative;width:var(--ag-icon-size);&:focus-visible{box-shadow:var(--ag-focus-shadow)}}.ag-column-select-header-filter-wrapper{flex:1 1 auto}.ag-column-select-header-filter{width:100%}.ag-column-select-list{flex:1 1 0px;overflow:hidden}:where(.ag-ltr) .ag-column-select-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-spacing)*1.5)}:where(.ag-rtl) .ag-column-select-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-spacing)*1.5)}.ag-column-select-column-group-readonly,.ag-column-select-column-readonly{opacity:.5;pointer-events:none;.ag-icon{opacity:.5}&.ag-icon-grip{opacity:.35}}.ag-column-select-column-readonly{&.ag-icon-grip,.ag-icon-grip{opacity:.35}}.ag-column-select-virtual-list-viewport{padding:calc(var(--ag-widget-container-vertical-padding)*.5) 0}.ag-column-select-virtual-list-item{padding:0 var(--ag-widget-container-horizontal-padding)}.ag-column-select-column-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-column-select-checkbox{display:flex}")}init(e,t,o){const{primaryColsHeaderPanel:s,primaryColsListPanel:i}=this;s.init(t);const n=t.suppressColumnFilter,r=t.suppressColumnSelectAll;t.suppressColumnExpandAll&&n&&r&&s.setDisplayed(!1),this.addManagedListeners(i,{groupExpanded:e=>{s.setExpandState(e.state),t.onStateUpdated()},selectionChanged:e=>s.setSelectionState(e.state)}),i.init(t,e,o),this.addManagedListeners(s,{expandAll:i.doSetExpandedAll.bind(i,!0),collapseAll:i.doSetExpandedAll.bind(i,!1),selectAll:i.doSetSelectedAll.bind(i,!0),unselectAll:i.doSetSelectedAll.bind(i,!1),filterChanged:e=>i.setFilterText(e.filterText)}),this.positionableFeature=this.createManagedBean(new mi(this.getGui(),{minHeight:100}))}toggleResizable(e){this.positionableFeature.setResizable(!!e&&{bottom:!0})}expandGroups(e){this.primaryColsListPanel.setGroupsExpanded(!0,e)}collapseGroups(e){this.primaryColsListPanel.setGroupsExpanded(!1,e)}setColumnLayout(e){this.primaryColsListPanel.setColumnLayout(e)}syncLayoutWithGrid(){this.primaryColsListPanel.onColumnsChanged()}getExpandedGroups(){return this.primaryColsListPanel.getExpandedGroups()}};function Gw(e,t,o){null!=e&&null!=t&&e.splice(o,0,...t)}var Nw={tag:"div",cls:"ag-unselectable",role:"presentation"},Bw=class extends Pi{constructor(e){super(Nw),this.horizontal=e,this.state="notDragging",this.guiDestroyFunctions=[],this.childPillComponents=[],this.resizeEnabled=!1,this.addElementClasses(this.getGui()),this.ePillDropList=Cl({tag:"div"}),this.addElementClasses(this.ePillDropList,"list"),this.registerCSS(".ag-column-drop{align-items:center;display:inline-flex;overflow:auto;position:relative;width:100%}.ag-column-drop-list{align-items:center;display:flex}.ag-column-drop-cell{align-items:center;background-color:var(--ag-column-drop-cell-background-color);border:var(--ag-column-drop-cell-border);border-radius:500px;color:var(--ag-column-drop-cell-text-color);display:flex;padding:calc(var(--ag-spacing)*.25);position:relative;&:focus-visible{box-shadow:var(--ag-focus-shadow)}:where(.ag-drag-handle){color:var(--ag-column-drop-cell-drag-handle-color)}}:where(.ag-ltr) .ag-column-drop-cell{padding-left:calc(var(--ag-spacing)*.75)}:where(.ag-rtl) .ag-column-drop-cell{padding-right:calc(var(--ag-spacing)*.75)}.ag-column-drop-cell-text{flex:1 1 auto;margin:0 var(--ag-spacing);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-column-drop-vertical{align-items:stretch;display:flex;flex-direction:column;min-height:75px;overflow:hidden}.ag-column-drop-vertical-title-bar{align-items:center;display:flex;flex:none;padding:var(--ag-widget-container-vertical-padding) calc(var(--ag-spacing)*2) 0}.ag-column-drop-vertical-list{align-items:stretch;flex-direction:column;flex-grow:1;overflow-x:auto;padding-bottom:var(--ag-spacing);padding-left:var(--ag-spacing);padding-right:var(--ag-spacing);position:relative}:where(.ag-column-drop-empty) .ag-column-drop-vertical-list{overflow:hidden}.ag-column-drop-cell-button{cursor:pointer;min-width:0;opacity:.75}:where(.ag-ltr) .ag-column-drop-cell-button{margin-right:calc(var(--ag-spacing)/4)}:where(.ag-rtl) .ag-column-drop-cell-button{margin-left:calc(var(--ag-spacing)/4)}.ag-column-drop-cell-button:hover{opacity:1}:where(.ag-ltr) .ag-column-drop-cell-drag-handle{margin-left:calc(var(--ag-spacing)/4)}:where(.ag-rtl) .ag-column-drop-cell-drag-handle{margin-right:calc(var(--ag-spacing)/4)}.ag-column-drop-wrapper{display:flex}.ag-column-drop-horizontal-half-width{width:50%!important}.ag-column-drop-cell-ghost{opacity:.5}.ag-column-drop-horizontal{background-color:var(--ag-header-background-color);border-bottom:var(--ag-header-row-border);gap:var(--ag-cell-widget-spacing);height:var(--ag-header-height);overflow:hidden;white-space:nowrap}:where(.ag-ltr) .ag-column-drop-horizontal{padding-left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-column-drop-horizontal{padding-right:var(--ag-cell-horizontal-padding)}.ag-column-drop-horizontal-list{gap:var(--ag-cell-widget-spacing)}.ag-column-drop-vertical-cell{margin-top:var(--ag-spacing)}:where(.ag-ltr) .ag-column-drop-vertical-icon{margin-right:var(--ag-widget-horizontal-spacing)}:where(.ag-rtl) .ag-column-drop-vertical-icon{margin-left:var(--ag-widget-horizontal-spacing)}.ag-select-agg-func-popup{background:var(--ag-background-color);border:solid var(--ag-border-width) var(--ag-border-color);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dropdown-shadow);height:calc(var(--ag-spacing)*5*3.5);padding:0;position:absolute}.ag-select-agg-func-virtual-list-item{cursor:default}:where(.ag-ltr) .ag-select-agg-func-virtual-list-item{padding-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-select-agg-func-virtual-list-item{padding-right:calc(var(--ag-spacing)*2)}.ag-select-agg-func-virtual-list-item:hover{background-color:var(--ag-selected-row-background-color)}:where(.ag-ltr) .ag-column-drop-horizontal-half-width:where(:not(:last-child)){border-right:solid var(--ag-border-width) var(--ag-border-color)}:where(.ag-rtl) .ag-column-drop-horizontal-half-width:where(:not(:last-child)){border-left:solid var(--ag-border-width) var(--ag-border-color)}")}toggleResizable(e){this.positionableFeature.setResizable(!!e&&{bottom:!0}),this.resizeEnabled=e}isSourceEventFromTarget(e){const{dropZoneTarget:t,dragSource:o}=e;return t.contains(o.eElement)}destroy(){this.destroyGui(),super.destroy()}destroyGui(){for(const e of this.guiDestroyFunctions)e();this.guiDestroyFunctions.length=0,this.childPillComponents.length=0,se(this.getGui()),se(this.ePillDropList)}init(e){this.params=e??{},this.createManagedBean(new Qi(this.getFocusableElement(),{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.onKeyDown.bind(this)})),this.setupDropTarget(),this.positionableFeature=new mi(this.getGui()),this.createManagedBean(this.positionableFeature),this.refreshGui(),E(this.ePillDropList,this.getAriaLabel())}onTabKeyDown(t){const o=zi(this.getFocusableElement(),null,!0),s=o.length;if(0===s)return;const{shiftKey:i}=t,n=w(this.beans),r=n===o[0],l=n===e(o);1===s||r&&i||l&&!i||o[i?0:s-1].focus()}onKeyDown(e){const{key:t}=e,o=!this.horizontal;let s=t===Ss,i=t===bs;if(!o){const e=this.gos.get("enableRtl");s=!e&&t===ys||e&&t===ws,i=!e&&t===ws||e&&t===ys}if(s||i)if(e.preventDefault(),e.shiftKey)this.moveFocusedItem(i);else{const e=Ui(this.beans,this.getFocusableElement(),!1,i);e&&e.focus()}}moveFocusedItem(e){const t=this.getFocusedItem();if(-1===t)return;const o=e?-1:1;if(!this.normalizeAndUpdateInsertIndex(t,t+o))return;const s=this.childPillComponents[t];if(!s.isMovable())return;const i=s.getItem();this.focusItemAtIndex(this.insertIndex),this.rearrangeItems([i],!0)}addElementClasses(e,t){t=t?`-${t}`:"";const o=this.horizontal?"horizontal":"vertical";e.classList.add(`ag-column-drop${t}`,`ag-column-drop-${o}${t}`)}setupDropTarget(){this.dropTarget={getContainer:this.getGui.bind(this),getIconName:this.getIconName.bind(this),onDragging:this.onDragging.bind(this),onDragEnter:this.onDragEnter.bind(this),onDragLeave:this.onDragLeave.bind(this),onDragStop:this.onDragStop.bind(this),onDragCancel:this.onDragCancel.bind(this),isInterestedIn:this.isInterestedIn.bind(this)},this.beans.dragAndDrop?.addDropTarget(this.dropTarget)}minimumAllowedNewInsertIndex(){return 0}checkInsertIndex(e){const t=this.getNewInsertIndex(e);return!(t<0)&&this.normalizeAndUpdateInsertIndex(this.insertIndex,t)}normalizeAndUpdateInsertIndex(e,t){const o=this.minimumAllowedNewInsertIndex(),s=Math.max(o,t),i=s!==e;return i&&(this.insertIndex=s),i}getNewInsertIndex(e){const t=e.event,o=this.horizontal?t.clientX:t.clientY,s=this.childPillComponents.map(e=>e.getGui().getBoundingClientRect()),i=s.findIndex(e=>this.horizontal?e.right>o&&e.lefto);if(-1===i){const e=this.gos.get("enableRtl");return s.every(e=>o>(this.horizontal?e.right:e.bottom))?e&&this.horizontal?0:this.childPillComponents.length:s.every(e=>o<(this.horizontal?e.left:e.top))?e&&this.horizontal?this.childPillComponents.length:0:this.insertIndex}return this.insertIndex<=i?i+1:i}checkDragStartedBySelf(e){"notDragging"===this.state&&(this.state="rearrangeItems",this.potentialDndItems=this.getItems(e.dragSource.getDragItem()),this.refreshGui(),this.checkInsertIndex(e),this.refreshGui())}onDragging(e){this.checkDragStartedBySelf(e),this.checkInsertIndex(e)&&this.refreshGui()}handleDragEnterEnd(e){}onDragEnter(e){const t=this.getItems(e.dragSource.getDragItem());this.state="newItemsIn";const o=t.filter(t=>this.isItemDroppable(t,e)),s=o.every(e=>-1!==this.childPillComponents.map(e=>e.getItem()).indexOf(e));0!==o.length&&(this.potentialDndItems=o,s?this.state="notDragging":(this.handleDragEnterEnd(e),this.checkInsertIndex(e),this.refreshGui()))}isPotentialDndItems(){return!!this.potentialDndItems?.length}handleDragLeaveEnd(e){}onDragLeave(e){if("rearrangeItems"===this.state){const t=this.getItems(e.dragSource.getDragItem());this.removeItems(t)}this.isPotentialDndItems()&&(this.handleDragLeaveEnd(e),this.potentialDndItems=[],this.refreshGui()),this.state="notDragging"}onDragCancel(e){this.isPotentialDndItems()&&("newItemsIn"===this.state&&this.handleDragLeaveEnd(e),this.potentialDndItems=[],this.refreshGui()),this.state="notDragging"}onDragStop(){this.isPotentialDndItems()&&("newItemsIn"===this.state?this.addItems(this.potentialDndItems):this.rearrangeItems(this.potentialDndItems),this.potentialDndItems=[],this.refreshGui()),this.state="notDragging"}removeItems(e){const t=this.getExistingItems().filter(t=>!e.includes(t));this.updateItems(t),this.refreshGui()}addItems(e){if(!e)return;const t=this.getExistingItems().slice();Gw(t,e.filter(e=>t.indexOf(e)<0),this.insertIndex),this.updateItems(t),this.refreshGui()}addItem(e){this.insertIndex=this.getExistingItems().length,this.addItems([e])}rearrangeItems(e,o){let s;return s=o?this.getExistingItems().filter(t=>-1===e.indexOf(t)):this.getNonGhostItems().slice(),Gw(s,e,this.insertIndex),!t(s,this.getExistingItems())&&(this.updateItems(s),this.refreshGui(),!0)}refreshGui(){let e=0;this.horizontal||(e=this.ePillDropList.scrollTop);const t=this.resizeEnabled,o=this.getFocusedItem(),{eGridDiv:s}=this.beans,i=Vi();let n=null;i&&(n=Ui(this.beans,s)??Ui(this.beans,s,!1,!0)),this.toggleResizable(!1),this.destroyGui(),this.addIconAndTitleToGui(),this.addEmptyMessageToGui(),this.addItemsToGui(),0!==e&&(this.ePillDropList.scrollTop=e),t&&this.toggleResizable(t),i&&this.restoreFocus(o,n)}getFocusedItem(){const e=this.getGui(),t=w(this.beans);return e.contains(t)?Array.from(e.querySelectorAll(".ag-column-drop-cell")).indexOf(t):-1}focusItemAtIndex(e){const t=this.getGui(),o=Array.from(t.querySelectorAll(".ag-column-drop-cell"))[e];o&&o.focus({preventScroll:!0})}restoreFocus(e,t){const o=this.getGui(),s=Array.from(o.querySelectorAll(".ag-column-drop-cell"));if(-1===e)return;0===s.length&&t.focus();const i=s[Math.min(s.length-1,e)];i&&i.focus()}focusList(e){const t=e?this.childPillComponents.length-1:0;this.restoreFocus(t,this.getFocusableElement())}getNonGhostItems(){const e=this.getExistingItems();return this.isPotentialDndItems()?e.filter(e=>!this.potentialDndItems.includes(e)):e}addItemsToGui(){const e=this.getNonGhostItems().map(e=>this.createItemComponent(e,!1));if(this.isPotentialDndItems()){const t=this.potentialDndItems.map(e=>this.createItemComponent(e,!0));this.insertIndex>=e.length?e.push(...t):e.splice(this.insertIndex,0,...t)}this.appendChild(this.ePillDropList),e.forEach((e,t)=>{t>0&&this.addArrow(this.ePillDropList),this.ePillDropList.appendChild(e.getGui())}),this.addAriaLabelsToComponents()}addAriaLabelsToComponents(){const{childPillComponents:e,ePillDropList:t}=this,o=e.length;P(t,0===o?"presentation":"listbox");for(let s=0;sthis.destroyBean(o)),t||this.childPillComponents.push(o),o}addIconAndTitleToGui(){const{title:e,icon:t}=this.params;if(!e||!t)return;const o=Cl({tag:"div"});if(L(o,!0),this.addElementClasses(o,"title-bar"),this.addElementClasses(t,"icon"),this.toggleCss("ag-column-drop-empty",this.isExistingItemsEmpty()),o.appendChild(t),!this.horizontal){const t=Cl({tag:"span"});this.addElementClasses(t,"title"),t.textContent=e,o.appendChild(t)}this.appendChild(o)}isExistingItemsEmpty(){return 0===this.getExistingItems().length}addEmptyMessageToGui(){const{emptyMessage:e}=this.params;if(!e||!this.isExistingItemsEmpty()||this.isPotentialDndItems())return;const t=Cl({tag:"span"});t.textContent=e,this.addElementClasses(t,"empty-message"),this.ePillDropList.appendChild(t)}addArrow(e){if(this.horizontal){const t=Ol(this.gos.get("enableRtl")?"panelDelimiterRtl":"panelDelimiter",this.beans);this.addElementClasses(t,"cell-separator"),e.appendChild(t)}}},Hw={tag:"span",role:"option",children:[{tag:"span",ref:"eDragHandle",cls:"ag-drag-handle ag-column-drop-cell-drag-handle",role:"presentation"},{tag:"span",ref:"eText",cls:"ag-column-drop-cell-text",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eButton",cls:"ag-column-drop-cell-button",role:"presentation"}]},Ow=class extends Pi{constructor(e,t,o,s,i){super(),this.dragSourceDropTarget=e,this.ghost=t,this.horizontal=o,this.template=s,this.agComponents=i,this.eText=null,this.eDragHandle=null,this.eButton=null}postConstruct(){this.setTemplate(this.template??Hw,this.agComponents);const e=this.getGui(),{beans:t,eDragHandle:o,eText:s,eButton:i}=this;this.addElementClasses(e),this.addElementClasses(o,"drag-handle"),this.addElementClasses(s,"text"),this.addElementClasses(i,"button"),o.appendChild(Ol("columnDrag",t)),i.appendChild(Ol("cancel",t)),this.tooltipFeature=this.createOptionalManagedBean(t.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.getGui()})),this.setupComponents(),!this.ghost&&this.isDraggable()&&this.addDragSource(),this.setupAria(),this.setupTooltip(),this.activateTabIndex(),this.refreshDraggable()}isDraggable(){return!0}refreshDraggable(){this.eDragHandle.classList.toggle("ag-column-select-column-readonly",!this.isDraggable())}setupAria(){const e=this.getLocaleTextFunc(),t=[this.getAriaDisplayName()];this.addAdditionalAriaInstructions(t,e),E(this.getGui(),t.join(". "))}addAdditionalAriaInstructions(e,t){if(this.isRemovable()){const o=t("ariaDropZoneColumnComponentDescription","Press DELETE to remove");e.push(o)}}setupTooltip(){const e=()=>this.tooltipFeature?.setTooltipAndRefresh(this.getTooltip());e(),this.addManagedEventListeners({newColumnsLoaded:e})}getDragSourceId(){}getDefaultIconName(){return"notAllowed"}addDragSource(){const{beans:{dragAndDrop:e},eDragHandle:t}=this,o=this.createGetDragItem(),s=this.getDefaultIconName(),i={type:this.getDragSourceType(),sourceId:this.getDragSourceId(),eElement:t,getDefaultIconName:()=>s,getDragItem:o,dragItemName:this.getDisplayName()};e?.addDragSource(i,!0),this.addDestroyFunc(()=>e?.removeDragSource(i))}setupComponents(){this.eText.textContent=this.getDisplayValue(),this.setupRemove(),this.ghost&&this.addCss("ag-column-drop-cell-ghost")}isRemovable(){return!0}refreshRemove(){K(this.eButton,this.isRemovable())}setupRemove(){this.refreshRemove();const e={type:"columnRemove"};this.addGuiEventListener("keydown",e=>this.onKeyDown(e)),this.addManagedElementListeners(this.eButton,{click:t=>{this.dispatchLocalEvent(e),t.stopPropagation()}});const t=new hn(this.eButton);this.addManagedListeners(t,{tap:()=>this.dispatchLocalEvent(e)}),this.addDestroyFunc(t.destroy.bind(t))}onKeyDown(e){e.key===Rs&&this.isRemovable()&&(e.preventDefault(),this.dispatchLocalEvent({type:"columnRemove"}))}getDisplayValue(){return this.getDisplayName()}addElementClasses(e,t){t=t?`-${t}`:"";const o=this.horizontal?"horizontal":"vertical";e.classList.add(`ag-column-drop-cell${t}`,`ag-column-drop-${o}-cell${t}`)}destroy(){super.destroy(),this.dragSourceDropTarget=null}},Vw=class extends Ow{constructor(e,t,o,s,i,n){super(t,o,i),this.column=e,this.dropZonePurpose=s,this.updateParams=n,this.eSortIndicator=null,this.popupShowing=!1,this.deferApply=nw(n)}postConstruct(){const{sortSvc:e,colNames:t}=this.beans;this.template={tag:"span",role:"option",children:[{tag:"span",ref:"eDragHandle",cls:"ag-drag-handle ag-column-drop-cell-drag-handle",role:"presentation"},{tag:"span",ref:"eText",cls:"ag-column-drop-cell-text",attrs:{"aria-hidden":"true"}},e?{tag:"ag-sort-indicator",ref:"eSortIndicator"}:void 0,{tag:"span",ref:"eButton",cls:"ag-column-drop-cell-button",role:"presentation"}]},e&&(this.agComponents=[e.getSortIndicatorSelector()]),this.displayName=t.getDisplayNameForColumn(this.column,"columnDrop"),super.postConstruct(),this.deferApply&&this.eDragHandle.setAttribute("data-column-tool-panel-deferred",""),e&&(this.setupSort(),this.addManagedEventListeners({sortChanged:()=>{this.setupAria()}})),this.isGroupingZone()&&this.addManagedPropertyListener("groupLockGroupColumns",()=>{this.refreshRemove(),this.refreshDraggable(),this.setupAria()})}getItem(){return this.column}getDisplayName(){return this.displayName}getTooltip(){return this.column.getColDef().headerTooltip}addAdditionalAriaInstructions(e,t){const o=this.gos.get("rowGroupPanelSuppressSort"),s=this.gos.get("functionsReadOnly");if(this.isAggregationZone()&&!s){const o=t("ariaDropZoneColumnValueItemDescription","Press ENTER to change the aggregation type");e.push(o)}if(this.isGroupingZone()&&this.column.isSortable()&&!o){const o=t("ariaDropZoneColumnGroupItemDescription","Press ENTER to sort");e.push(o)}super.addAdditionalAriaInstructions(e,t)}isMovable(){return this.isDraggable()}isDraggable(){return this.isReadOnly()}isRemovable(){return this.isReadOnly()}isReadOnly(){return!this.isGroupingAndLocked()&&!this.gos.get("functionsReadOnly")}getAriaDisplayName(){const e=this.getLocaleTextFunc(),{name:t,aggFuncName:o}=this.getColumnAndAggFuncName(),s=e("ariaDropZoneColumnComponentAggFuncSeparator"," of "),i={asc:e("ariaDropZoneColumnComponentSortAscending","ascending"),desc:e("ariaDropZoneColumnComponentSortDescending","descending")},n=this.getCurrentSortDirection(this.column),r=this.gos.get("rowGroupPanelSuppressSort");return[o&&`${o}${s}`,t,this.isGroupingZone()&&!r&&n&&`, ${i[n]}`].filter(e=>!!e).join("")}getColumnAndAggFuncName(){const e=this.displayName;let t="";if(this.isAggregationZone()){const e=this.beans.columnStateUpdateStrategy.getColumnAggFunc(this.deferApply,this.column),o="string"==typeof e?e:"agg";t=this.getLocaleTextFunc()(o,o)}return{name:e,aggFuncName:t}}setupSort(){if(!this.column.isSortable()||!this.isGroupingZone())return;const{gos:e,column:t,eSortIndicator:o}=this;if(!e.get("rowGroupPanelSuppressSort")){o.setupSort(t,!0,this.getSortDefOverride.bind(this));const e=e=>{e.preventDefault(),this.beans.columnStateUpdateStrategy.progressSortFromEvent(this.deferApply,t,e),o.refresh(),this.setupAria(),rw(this.beans,this.updateParams)};this.addGuiEventListener("click",e),this.addGuiEventListener("keydown",t=>{t.key===fs&&this.isGroupingZone()&&e(t)})}}getCurrentSortDirection(e){return this.beans.columnStateUpdateStrategy.getSortDef(this.deferApply,e)?.direction??null}getSortDefOverride(){if(this.deferApply)return this.beans.columnStateUpdateStrategy.getSortDef(this.deferApply,this.column)}getDefaultIconName(){return"hide"}createGetDragItem(){const{column:e}=this;return()=>{const t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t}}}setupComponents(){super.setupComponents(),this.isAggregationZone()&&!this.gos.get("functionsReadOnly")&&this.addGuiEventListener("click",this.onShowAggFuncSelection.bind(this))}onKeyDown(e){super.onKeyDown(e),e.key===fs&&this.isAggregationZone()&&!this.gos.get("functionsReadOnly")&&(e.preventDefault(),this.onShowAggFuncSelection())}getDisplayValue(){const{name:e,aggFuncName:t}=this.getColumnAndAggFuncName();return this.isAggregationZone()?`${t}(${e})`:e}onShowAggFuncSelection(){if(this.popupShowing)return;this.popupShowing=!0;const{aggFuncSvc:e,popupSvc:t}=this.beans,o=new Tv({cssIdentifier:"select-agg-func"}),s=e.getFuncNames(this.column),i=this.getGui(),n=o.getGui();o.setModel({getRow:function(e){return s[e]},getRowCount:function(){return s.length}}),this.createBean(o);const r=Cl({tag:"div",cls:"ag-select-agg-func-popup"});r.style.top="0px",r.style.left="0px",r.appendChild(n),r.style.width=`${i.clientWidth}px`;const[l]=this.addManagedElementListeners(r,{focusout:e=>{!r.contains(e.relatedTarget)&&d&&d.hideFunc()}}),a=this.getLocaleTextFunc(),d=t.addPopup({modal:!0,eChild:r,closeOnEsc:!0,closedCallback:e=>{this.destroyBean(o),this.popupShowing=!1,"Escape"===e?.key&&i.focus(),l&&l()},ariaLabel:a("ariaLabelAggregationFunction","Aggregation Function")});d&&o.setComponentCreator(this.createAggSelect.bind(this,d.hideFunc)),o.addGuiEventListener("keydown",e=>{if(e.key===fs||e.key===vs){const e=o.getLastFocusedRow();if(null==e)return;const t=o.getComponentAt(e);t&&t.selectItem()}}),t.positionPopupByComponent({type:"aggFuncSelect",eventSource:i,ePopup:r,keepWithinBounds:!0,additionalParams:{column:this.column},position:"under"}),o.refresh();const c=this.beans.columnStateUpdateStrategy.getColumnAggFunc(this.deferApply,this.column);let h=s.findIndex(e=>e===c);-1===h&&(h=0),o.focusRow(h)}createAggSelect(e,t){const o=this.getLocaleTextFunc(),s=(t||"").toString();return new zw(()=>{if(e(),this.getGui().focus(),this.beans.columnStateUpdateStrategy.setColumnAggFunc(this.deferApply,this.column,t,"toolPanelDragAndDrop"),this.column){const e=this.getGui().querySelector(".ag-column-drop-cell-text");e&&(e.textContent=this.getDisplayValue()),this.setupAria()}rw(this.beans,this.updateParams)},o(s,s))}isGroupingAndLocked(){return this.isGroupingZone()&&Cw(this.column,this.beans)}isAggregationZone(){return"aggregation"===this.dropZonePurpose}isGroupingZone(){return"rowGroup"===this.dropZonePurpose}getDragSourceType(){return ci.ToolPanel}destroy(){super.destroy(),this.column=null}},zw=class extends Pi{constructor(e,t){super({tag:"div",cls:"ag-select-agg-func-item",children:t}),this.selectItem=e,this.addGuiEventListener("click",this.selectItem)}},Ww=class extends Bw{constructor(e,t,o){super(e),this.dropZonePurpose=t,this.updateParams=o,this.addElementClasses(this.getGui(),this.dropZonePurpose.toLowerCase())}init(e){super.init(e),this.addManagedEventListeners({newColumnsLoaded:this.refreshGui.bind(this)}),this.addManagedPropertyListeners(["functionsReadOnly","rowGroupPanelSuppressSort","groupLockGroupColumns"],this.refreshGui.bind(this))}getItems(e){return e.columns??[]}isInterestedIn(e,t){return e===ci.HeaderCell||e===ci.ToolPanel&&(!this.horizontal||!t.hasAttribute("data-column-tool-panel-deferred"))}minimumAllowedNewInsertIndex(){const{gos:e,rowGroupColsSvc:t}=this.beans,o=e.get("groupLockGroupColumns"),s=t?.columns.length??0;return-1===o?s:Math.min(o,s)}showOrHideColumnOnExit(e){return this.isRowGroupPanel()&&Xt(this.gos,!0)&&!e.fromNudge}handleDragEnterEnd(e){if(this.showOrHideColumnOnExit(e)){const t=e.dragSource.getDragItem().columns;this.setColumnsVisible(t,!1,"uiColumnDragged")}}handleDragLeaveEnd(e){if(this.showOrHideColumnOnExit(e)){const t=e.dragSource.getDragItem();this.setColumnsVisible(t.columns,!0,"uiColumnDragged")}}setColumnsVisible(e,t,o){if(!e)return;if(nw(this.updateParams))return;const s=e.filter(e=>!e.getColDef().lockVisible);this.beans.columnStateUpdateStrategy.setColumnsVisible(!1,s,t,o)}isRowGroupPanel(){return"rowGroup"===this.dropZonePurpose}createPillComponent(e,t,o,s){return new Vw(e,t,o,this.dropZonePurpose,s,this.updateParams)}},Uw=class extends Ww{constructor(e,t){super(e,"pivot",t)}postConstruct(){const e=this.getLocaleTextFunc(),t=e("pivotColumnsEmptyMessage","Drag here to set column labels"),o=e("pivots","Column Labels");super.init({icon:Ol("pivotPanel",this.beans,null),emptyMessage:t,title:o}),this.horizontal&&In(this.beans,this,this.getGui()),this.addManagedEventListeners({newColumnsLoaded:this.refresh.bind(this),columnPivotChanged:this.refresh.bind(this),columnPivotModeChanged:this.checkVisibility.bind(this)}),this.refresh()}getAriaLabel(){return this.getLocaleTextFunc()("ariaPivotDropZonePanelLabel","Column Labels")}refresh(){this.checkVisibility(),this.refreshGui()}checkVisibility(){const e=this.beans.colModel,t=e.isPivotMode();if(this.horizontal)switch(this.gos.get("pivotPanelShow")){case"always":this.setDisplayed(t);break;case"onlyWhenPivoting":{const o=e.isPivotActive();this.setDisplayed(t&&o);break}default:this.setDisplayed(!1)}else this.setDisplayed(this.beans.columnStateUpdateStrategy.getPivotMode(nw(this.updateParams)))}isItemDroppable(e,t){if(this.gos.get("functionsReadOnly")||!e.isPrimary())return!1;const o=this.beans.columnStateUpdateStrategy.getPivotColumns(nw(this.updateParams)).includes(e);return e.isAllowPivot()&&(!o||this.isSourceEventFromTarget(t))}updateItems(e){this.beans.columnStateUpdateStrategy.setPivotColumns(nw(this.updateParams),e,"toolPanelUi"),rw(this.beans,this.updateParams)}getIconName(){return this.isPotentialDndItems()?"pivot":"notAllowed"}getExistingItems(){return this.beans.columnStateUpdateStrategy.getPivotColumns(nw(this.updateParams))}getFocusableContainerName(){return"pivotToolbar"}},$w=class extends Ww{constructor(e,t){super(e,"rowGroup",t)}postConstruct(){const e=this.getLocaleTextFunc(),t=e("rowGroupColumnsEmptyMessage","Drag here to set row groups"),o=e("groups","Row Groups");super.init({icon:Ol("rowGroupPanel",this.beans,null),emptyMessage:t,title:o}),this.horizontal&&In(this.beans,this,this.getGui()),this.addManagedEventListeners({columnRowGroupChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.getLocaleTextFunc()("ariaRowGroupDropZonePanelLabel","Row Groups")}isItemDroppable(e,t){if(this.gos.get("functionsReadOnly")||!e.isPrimary()||e.colDef.showRowGroup)return!1;const o=this.beans.columnStateUpdateStrategy.getRowGroupColumns(nw(this.updateParams)).includes(e);return e.isAllowRowGroup()&&(!o||this.isSourceEventFromTarget(t))}updateItems(e){this.beans.columnStateUpdateStrategy.setRowGroupColumns(nw(this.updateParams),e,"toolPanelUi"),rw(this.beans,this.updateParams)}getIconName(){return this.isPotentialDndItems()?"group":"notAllowed"}getExistingItems(){return this.beans.columnStateUpdateStrategy.getRowGroupColumns(nw(this.updateParams))}getFocusableContainerName(){return"rowGroupToolbar"}},jw=class extends Ww{constructor(e,t){super(e,"aggregation",t)}postConstruct(){const e=this.getLocaleTextFunc(),t=e("valueColumnsEmptyMessage","Drag here to aggregate"),o=e("values","Values");super.init({icon:Ol("valuePanel",this.beans,null),emptyMessage:t,title:o}),this.addManagedEventListeners({columnValueChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.getLocaleTextFunc()("ariaValuesDropZonePanelLabel","Values")}getIconName(){return this.isPotentialDndItems()?"aggregate":"notAllowed"}isItemDroppable(e,t){if(this.gos.get("functionsReadOnly")||!e.isPrimary())return!1;const o=this.beans.columnStateUpdateStrategy.getValueColumns(nw(this.updateParams)).includes(e);return e.isAllowValue()&&(!o||this.isSourceEventFromTarget(t))}updateItems(e){this.beans.columnStateUpdateStrategy.setValueColumns(nw(this.updateParams),e,"toolPanelUi"),rw(this.beans,this.updateParams)}getExistingItems(){return this.beans.columnStateUpdateStrategy.getValueColumns(nw(this.updateParams))}},Kw={tag:"div",cls:"ag-pivot-mode-panel",children:[{tag:"ag-toggle-button",ref:"cbPivotMode",cls:"ag-pivot-mode-select"}]},_w=class extends Pi{constructor(e,t){super(),this.params=e,this.onPivotModeValueChanged=t,this.cbPivotMode=null}getCurrentPivotMode(){return this.beans.columnStateUpdateStrategy.getPivotMode(nw(this.params))}syncFromGrid(){this.cbPivotMode.setValue(this.getCurrentPivotMode())}refreshEditStrategy(){this.syncFromGrid()}postConstruct(){this.setTemplate(Kw,[Sm]);const e=this.cbPivotMode;e.setValue(this.getCurrentPivotMode());const t=this.getLocaleTextFunc();e.setLabel(t("pivotMode","Pivot Mode"));const o=()=>{e.setValue(this.getCurrentPivotMode())};this.addManagedListeners(e,{fieldValueChanged:()=>{const t=!!e.getValue();this.beans.columnStateUpdateStrategy.setPivotMode(nw(this.params),t,"toolPanelUi"),this.onPivotModeValueChanged?.()}}),this.addManagedEventListeners({newColumnsLoaded:o,columnPivotModeChanged:o})}},qw=()=>{},Yw=class extends Oe{constructor(){super(...arguments),this.beanName="columnStateUpdateExecutionStrategy"}applyColumnState(e,t,o){this.getUpdateStrategy(e).applyColumnState(t,o)}commit(e){this.getUpdateStrategy(e).commit()}hasPendingChanges(e){return this.getUpdateStrategy(e).hasPendingChanges()}moveColumns(e,t,o,s){this.getUpdateStrategy(e).moveColumns(t,o,s)}reset(e){this.getUpdateStrategy(e).reset()}setColumnsVisible(e,t,o,s){this.getUpdateStrategy(e).setColumnsVisible(t,o,s)}isColumnVisibleInToolPanel(e,t){return this.getUpdateStrategy(e).isColumnVisibleInToolPanel(t)}setRowGroupColumns(e,t,o){this.getUpdateStrategy(e).setRowGroupColumns(t,o)}getRowGroupColumns(e){return this.getUpdateStrategy(e).getRowGroupColumns()}getPrimaryColumns(e){return this.getUpdateStrategy(e).getPrimaryColumns()}hasDeferredColumnOrder(e){return this.getUpdateStrategy(e).hasDeferredColumnOrder()}setValueColumns(e,t,o){this.getUpdateStrategy(e).setValueColumns(t,o)}getValueColumns(e){return this.getUpdateStrategy(e).getValueColumns()}setColumnAggFunc(e,t,o,s){this.getUpdateStrategy(e).setColumnAggFunc(t,o,s)}getColumnAggFunc(e,t){return this.getUpdateStrategy(e).getColumnAggFunc(t)}setPivotColumns(e,t,o){this.getUpdateStrategy(e).setPivotColumns(t,o)}getPivotColumns(e){return this.getUpdateStrategy(e).getPivotColumns()}setPivotMode(e,t,o){this.getUpdateStrategy(e).setPivotMode(t,o)}getPivotMode(e){return this.getUpdateStrategy(e).getPivotMode()}isColumnSelectedInPivotModeToolPanel(e,t){return this.getUpdateStrategy(e).isColumnSelectedInPivotModeToolPanel(t)}progressSortFromEvent(e,t,o){this.getUpdateStrategy(e).progressSortFromEvent(t,o)}getSortDef(e,t){return this.getUpdateStrategy(e).getSortDef(t)}getUpdateStrategy(e){return e?this.getDeferredUpdateStrategy():this.getSyncUpdateStrategy()}getSyncUpdateStrategy(){return this.syncUpdateStrategy??(this.syncUpdateStrategy=new Zw(this.beans))}getDeferredUpdateStrategy(){return this.deferredUpdateStrategy??(this.deferredUpdateStrategy=new Qw(this.beans))}},Zw=class{constructor(e){this.beans=e,this.lastPivotColIds=[],this.reset=qw,this.commit=qw,this.hasPendingChanges=()=>!1,this.hasDeferredColumnOrder=()=>!1}applyColumnState(e,t){0!==e.length&&Aa(this.beans,{state:e},t)}moveColumns(e,t,o){var s;this.beans.colMoves?.moveColumns(e,t,o),eb(s=this.beans,s.colModel.getCols().filter(e=>sb(e)).map(e=>s.colModel.getColDefCol(e.getColId())).filter(e=>!!e))}setColumnsVisible(e,t,o){const s=e.filter(e=>!e.getColDef().lockVisible);this.beans.colModel.setColsVisible(s,t,o)}setRowGroupColumns(e,t){this.beans.rowGroupColsSvc?.setColumns(e,t)}getRowGroupColumns(){return this.beans.rowGroupColsSvc?.columns??[]}getPrimaryColumns(){return ob(this.beans)}setValueColumns(e,t){this.beans.valueColsSvc?.setColumns(e,t)}getValueColumns(){return this.beans.valueColsSvc?.columns??[]}setColumnAggFunc(e,t,o){this.beans.valueColsSvc?.setColumnAggFunc?.(e,t,o)}getColumnAggFunc(e){return e.getAggFunc()}setPivotColumns(e,t){this.lastPivotColIds=e.map(e=>e.getColId()),this.beans.pivotColsSvc?.setColumns(e,t)}getPivotColumns(){return this.beans.pivotColsSvc?.columns??[]}setPivotMode(e,t){const{colModel:o,gos:s,ctrlsSvc:i}=this.beans;if(e===o.isPivotMode())return;const n=this.beans.pivotColsSvc?.columns.map(e=>e.getColId())??[];if(n.length>0&&(this.lastPivotColIds=n),!e){const e=this.beans.colModel.getColDefCols()??[];Aa(this.beans,{state:e.map(e=>({colId:e.getColId(),pivot:!1,pivotIndex:null}))},t)}s.updateGridOptions({options:{pivotMode:e},source:t}),e&&this.lastPivotColIds.length>0&&this.beans.pivotColsSvc?.setColumns(this.lastPivotColIds,t);for(const r of i.getHeaderRowContainerCtrls())r.refresh()}progressSortFromEvent(e,t){this.beans.sortSvc?.progressSortFromEvent(e,t)}isColumnVisibleInToolPanel(e){return e.isVisible()}isColumnSelectedInPivotModeToolPanel(e){return e.isAnyFunctionActive()}getPivotMode(){return this.beans.colModel.isPivotMode()}getSortDef(e){return e.getSortDef()}},Qw=class{constructor(e){this.beans=e,this.state={},this.sequence=0,this.lastPivotColIds=[]}reset(){this.sequence=0,this.state={}}hasPendingChanges(){const{state:e,beans:o}=this,{columnState:s,columnOrder:i,rowGroup:n,aggregation:r,pivot:l,pivotMode:a,sort:d,aggFuncs:c}=e,h=e=>(e??[]).map(e=>e.getColId());if(s)for(const[t,u]of s.patches){const e=o.colModel.getColDefCol(t);if(e&&(void 0!==u.hide&&u.hide!==!e.isVisible()||void 0!==u.rowGroup&&!!u.rowGroup!==e.isRowGroupActive()||void 0!==u.pivot&&!!u.pivot!==e.isPivotActive()||void 0!==u.aggFunc&&(u.aggFunc??null)!==(e.getAggFunc()??null)))return!0}if(i&&!t(i.colIds,tb(o)))return!0;if(n&&!t(n.colIds,h(o.rowGroupColsSvc?.columns)))return!0;if(r&&!t(r.colIds,h(o.valueColsSvc?.columns)))return!0;if(l&&!t(l.colIds,h(o.pivotColsSvc?.columns)))return!0;if(a&&a.pivotMode!==o.colModel.isPivotMode())return!0;if(d){for(const[e,t]of d.sortDefsByColId){const s=o.colModel.getColDefCol(e);if(s&&(t?.direction??null)!==(s.getSortDef()?.direction??null))return!0}if(d.baselineCleared){const e=ob(o);for(const t of e)if(!d.sortDefsByColId.has(t.getColId())&&null!==t.getSortDef())return!0}}if(c)for(const[t,u]of c.values){const e=o.colModel.getColDefCol(t);if(e&&u!==e.getAggFunc())return!0}return!1}commit(){const{beans:e,state:t}=this,o=[];for(const i of Object.keys(t)){const e=t[i];e&&o.push({type:i,...e})}const s=o.sort((e,t)=>e.seq-t.seq);for(const i of s)switch(i.type){case"columnState":Aa(e,{state:[...i.patches.values()]},i.eventType);break;case"columnOrder":{const t=i.colIds.map(t=>e.colModel.getColDefCol(t)).filter(e=>!!e&&sb(e));if(!e.colModel.isPivotMode())for(let o=0;osb(e)),l=(r>=0?r:0)+o;n[l]!==s&&e.colMoves?.moveColumns([s],l,i.eventType,!0)}eb(e,t);break}case"rowGroup":e.rowGroupColsSvc?.setColumns(i.colIds,i.eventType);break;case"aggregation":e.valueColsSvc?.setColumns(i.colIds,i.eventType);break;case"pivot":this.lastPivotColIds=i.colIds,e.pivotColsSvc?.setColumns(i.colIds,i.eventType);break;case"pivotMode":{const{colModel:t,ctrlsSvc:o,gos:s,stateSvc:n}=e;if(i.pivotMode!==t.isPivotMode()){const t=e.pivotColsSvc?.columns.map(e=>e.getColId())??[];t.length>0&&(this.lastPivotColIds=t);const r=n?.getState().pivot?.pivotColIds??t,l=i.pivotMode?this.state.pivot?.colIds??this.lastPivotColIds:r;n?.setState({...n.getState(),pivot:{pivotMode:i.pivotMode,pivotColIds:l}},["pivot"]),i.pivotMode||Aa(e,{state:(e.colModel.getColDefCols()??[]).map(e=>({colId:e.getColId(),pivot:!1,pivotIndex:null}))},i.eventType),s.updateGridOptions({options:{pivotMode:i.pivotMode},source:i.eventType}),i.pivotMode&&l.length>0&&e.pivotColsSvc?.setColumns(l,i.eventType);for(const e of o.getHeaderRowContainerCtrls())e.refresh()}break}case"sort":{const t=[];let o=0;for(const[e,s]of i.sortDefsByColId)t.push({colId:e,sort:s?.direction??null,sortIndex:s?.direction?o++:null,sortType:s?.type??void 0});Aa(e,{state:t,defaultState:i.baselineCleared?{sort:null,sortIndex:null,sortType:void 0}:void 0},i.eventType);break}case"aggFuncs":for(const[t,o]of i.values){const s=e.colModel.getColDefCol(t);s&&e.valueColsSvc?.setColumnAggFunc?.(s,o,i.eventType)}}this.reset()}applyColumnState(e,t){for(const s of e)nb(this.state,s);const o=lb(this.state);o.seq=ib(this.sequence),this.sequence=o.seq,o.eventType=t}moveColumns(e,t,o){const s=new Set(e.map(e=>e.getColId())),i=(this.state.columnOrder?.colIds??tb(this.beans)).filter(e=>!s.has(e)),n=e.map(e=>e.getColId()),r=ib(this.sequence);this.sequence=r,this.state.columnOrder={colIds:[...i.slice(0,t),...n,...i.slice(t)],eventType:o,seq:r}}setColumnsVisible(e,t,o){for(const i of e)i.getColDef().lockVisible||nb(this.state,{colId:i.getColId(),hide:!t});const s=lb(this.state);s.seq=ib(this.sequence),this.sequence=s.seq,s.eventType=o}setRowGroupColumns(e,t){rb(this.state,"rowGroup");const o=ib(this.sequence);this.sequence=o,this.state.rowGroup={colIds:e.map(e=>e.getColId()),eventType:t,seq:o}}setValueColumns(e,t){rb(this.state,"aggFunc");const o=new Set((this.beans.valueColsSvc?.columns??[]).map(e=>e.getColId())),s=ab(this.state);for(const n of e)if(!o.has(n.getColId())&&!s.values.has(n.getColId())){const e=n.getAggFunc(),t=null!=e?e:this.beans.aggFuncSvc?.getDefaultAggFunc(n);null!=t&&s.values.set(n.getColId(),t)}const i=ib(this.sequence);this.sequence=i,s.seq=i,s.eventType=t,this.state.aggregation={colIds:e.map(e=>e.getColId()),eventType:t,seq:i}}setColumnAggFunc(e,t,o){nb(this.state,{colId:e.getColId(),aggFunc:t});const s=lb(this.state);s.seq=ib(this.sequence),this.sequence=s.seq,s.eventType=o;const i=ab(this.state);i.seq=s.seq,i.eventType=o,i.values.set(e.getColId(),t)}getColumnAggFunc(e){const t=e.getColId();return this.state.aggFuncs?.values.has(t)?this.state.aggFuncs.values.get(t):e.getAggFunc()}isColumnVisibleInToolPanel(e){const t=this.state.columnState?.patches.get(e.getColId());return void 0!==t?.hide?!t.hide:e.isVisible()}isColumnSelectedInPivotModeToolPanel(e){const t=e.getColId(),o=this.state.columnState?.patches.get(t);let s,i,n;return s=void 0!==o?.rowGroup?!!o.rowGroup:this.state.rowGroup?this.state.rowGroup.colIds.includes(t):e.isRowGroupActive(),i=void 0!==o?.pivot?!!o.pivot:this.state.pivot?this.state.pivot.colIds.includes(t):e.isPivotActive(),n=void 0!==o?.aggFunc?null!=o.aggFunc:this.state.aggregation?this.state.aggregation.colIds.includes(t):e.isValueActive(),s||i||n}setPivotColumns(e,t){rb(this.state,"pivot");const o=ib(this.sequence);this.sequence=o,this.state.pivot={colIds:e.map(e=>e.getColId()),eventType:t,seq:o}}setPivotMode(e,t){const o=ib(this.sequence);this.sequence=o,this.state.pivotMode={pivotMode:e,eventType:t,seq:o}}getRowGroupColumns(){return Xw(this.beans,Jw(this.state.rowGroup?.colIds,this.beans.rowGroupColsSvc?.columns,this.state.columnState?.patches,e=>null==e.rowGroup?void 0:!!e.rowGroup))}getPrimaryColumns(){return Xw(this.beans,this.state.columnOrder?.colIds??tb(this.beans))}hasDeferredColumnOrder(){return!!this.state.columnOrder}getValueColumns(){return Xw(this.beans,Jw(this.state.aggregation?.colIds,this.beans.valueColsSvc?.columns,this.state.columnState?.patches,e=>void 0===e.aggFunc?void 0:null!=e.aggFunc))}getPivotColumns(){if(!this.getPivotMode())return[];const e=this.beans.pivotColsSvc?.columns,t=e?.length?e:Xw(this.beans,this.lastPivotColIds);return Xw(this.beans,Jw(this.state.pivot?.colIds,t,this.state.columnState?.patches,e=>null==e.pivot?void 0:!!e.pivot))}getPivotMode(){return this.state.pivotMode?.pivotMode??this.beans.colModel.isPivotMode()}getSortDef(e){const t=this.state.sort,o=e.getColId(),s=t?.sortDefsByColId;return s?.has(o)?s.get(o)??null:t?.baselineCleared?null:e.getSortDef()}progressSortFromEvent(e,t){const o=this.state.sort??{sortDefsByColId:/* @__PURE__ */new Map,baselineCleared:!1,seq:0,eventType:"toolPanelUi"},{sortSvc:s}=this.beans,i=e.getColId();let n;n=o.sortDefsByColId.has(i)?o.sortDefsByColId.get(i):o.baselineCleared?null:e.getSortDef();const r=s?.getNextSortDirection(e,n);if(!r)return;const{gos:l}=this.beans;(!("ctrl"===l.get("multiSortKey")?t.ctrlKey||t.metaKey:t.shiftKey)&&!l.get("alwaysMultiSort")||l.get("suppressMultiSort"))&&(o.sortDefsByColId.clear(),o.baselineCleared=!0),o.sortDefsByColId.set(i,r.direction?r:null),o.seq=ib(this.sequence),this.sequence=o.seq,this.state.sort=o}};function Xw(e,t){return t?t.map(t=>e.colModel.getColDefCol(t)).filter(e=>!!e):[]}function Jw(e,t,o,s){const i=[...e??t?.map(e=>e.getColId())??[]];if(!o?.size)return i;const n=new Set(i);for(const[r,l]of o){const e=s(l);if(void 0===e)continue;if(e){n.has(r)||(i.push(r),n.add(r));continue}if(!n.has(r))continue;n.delete(r);const t=i.indexOf(r);t>=0&&i.splice(t,1)}return i}function eb(e,t){const o=function(e){const t=e.colModel.colDefCols,o=t?.list;if(Array.isArray(o))return t}(e);if(!o)return;const s=new Set(t);o.list=[...t,...o.list.filter(e=>sb(e)&&!s.has(e))]}function tb(e){return ob(e).map(e=>e.getColId())}function ob(e){return(e.colModel.getColDefCols()??e.colModel.getCols()).filter(e=>sb(e))}function sb(e){return!!e.isPrimary()&&!es(e)&&!ss(e)}function ib(e){return e+1}function nb(e,t){const o=lb(e),s=o.patches.get(t.colId);o.patches.set(t.colId,s?{...s,...t}:t)}function rb(e,t){const o=e.columnState?.patches;if(o?.size)for(const[s,i]of o){if(!(t in i))continue;const e={...i};delete e[t],1!==Object.keys(e).length?o.set(s,e):o.delete(s)}}function lb(e){let{columnState:t}=e;return t||(t={patches:/* @__PURE__ */new Map,seq:0,eventType:"toolPanelUi"},e.columnState=t),t}function ab(e){let{aggFuncs:t}=e;return t||(t={values:/* @__PURE__ */new Map,seq:0,eventType:"toolPanelUi"},e.aggFuncs=t),t}var db={moduleName:"SharedColumnStateUpdateStrategy",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="columnStateUpdateStrategy"}applyColumnState(e,t,o){this.delegate("applyColumnState",e,t,o)}commit(e){this.delegate("commit",e)}hasPendingChanges(e){return this.delegate("hasPendingChanges",e)}moveColumns(e,t,o,s){this.delegate("moveColumns",e,t,o,s)}reset(e){this.delegate("reset",e)}setColumnsVisible(e,t,o,s){this.delegate("setColumnsVisible",e,t,o,s)}isColumnVisibleInToolPanel(e,t){return this.delegate("isColumnVisibleInToolPanel",e,t)}setRowGroupColumns(e,t,o){this.delegate("setRowGroupColumns",e,t,o)}getRowGroupColumns(e){return this.delegate("getRowGroupColumns",e)}getPrimaryColumns(e){return this.delegate("getPrimaryColumns",e)}hasDeferredColumnOrder(e){return this.delegate("hasDeferredColumnOrder",e)}setValueColumns(e,t,o){this.delegate("setValueColumns",e,t,o)}getValueColumns(e){return this.delegate("getValueColumns",e)}setColumnAggFunc(e,t,o,s){this.delegate("setColumnAggFunc",e,t,o,s)}getColumnAggFunc(e,t){return this.delegate("getColumnAggFunc",e,t)}setPivotColumns(e,t,o){this.delegate("setPivotColumns",e,t,o)}getPivotColumns(e){return this.delegate("getPivotColumns",e)}setPivotMode(e,t,o){this.delegate("setPivotMode",e,t,o)}getPivotMode(e){return this.delegate("getPivotMode",e)}isColumnSelectedInPivotModeToolPanel(e,t){return this.delegate("isColumnSelectedInPivotModeToolPanel",e,t)}progressSortFromEvent(e,t,o){this.delegate("progressSortFromEvent",e,t,o)}getSortDef(e,t){return this.delegate("getSortDef",e,t)}getUpdateStrategy(){return this.executionStrategy??(this.executionStrategy=this.createManagedBean(new Yw))}delegate(e,...t){const o=this.getUpdateStrategy();return o[e].bind(o)(...t)}}],dependsOn:[Mv]},cb={moduleName:"ColumnsToolPanel",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="colToolPanelFactory"}setPanelVisible(e,t,o){return e?e.setDisplayed(t):t&&(e=o()),e}createRowGroupPanel(e,t,o){return this.createPanel(e,t,new $w(!1,o))}createValuesPanel(e,t,o){return this.createPanel(e,t,new jw(!1,o))}createPivotPanel(e,t,o){return this.createPanel(e,t,new Uw(!1,o))}createPivotModePanel(e,t,o,s,i){return this.createPanel(e,t,new _w(o,s),i)}createPanel(e,t,o,s){return o=e.createBean(o),t.push(()=>e.destroyBean(o)),s?e.prependChild(o):e.appendChild(o),o}}],userComponents:{agColumnsToolPanel:class extends Pi{constructor(){super({tag:"div",cls:"ag-column-panel"}),this.initialised=!1,this.childDestroyFuncs=[],this.isDeferModeEnabled=!1,this.isCommitting=!1,this.onDeferredApply=()=>{this.isCommitting=!0;try{this.beans.columnStateUpdateStrategy.commit(this.isDeferModeEnabled)}finally{this.isCommitting=!1}this.deferredButtonsComp?.updateValidity(!1),this.lastKnownGridState=this.captureGridState()},this.onDeferredCancel=()=>{this.beans.columnStateUpdateStrategy.reset(this.isDeferModeEnabled),this.deferredButtonsComp?.updateValidity(!1),this.refreshToolPanelLayouts(),this.pivotModePanel?.refreshEditStrategy(),this.lastKnownGridState=this.captureGridState()},this.onPivotModePanelValueChanged=()=>{this.refreshToolPanelLayouts(),this.setLastVisible(),this.deferredButtonsComp?.updateValidity(this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled))},this.onColumnEverythingChanged=()=>{if(!this.isDeferModeEnabled||this.isCommitting)return;const e=this.captureGridState();if(!this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled))return void(this.lastKnownGridState=e);const t=this.lastKnownGridState&&this.isGridStateEqual(this.lastKnownGridState,e);this.lastKnownGridState=e,t&&this.resetDeferredState()},this.onExternalGridChange=()=>{this.isDeferModeEnabled&&!this.isCommitting&&this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled)&&(this.resetDeferredState(),this.lastKnownGridState=this.captureGridState())},this.registerCSS(".ag-column-panel{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.ag-pivot-mode-panel{display:flex;height:var(--ag-header-height)}.ag-pivot-mode-select{align-items:center;display:flex}:where(.ag-ltr) .ag-pivot-mode-select{margin-left:var(--ag-widget-container-horizontal-padding)}:where(.ag-rtl) .ag-pivot-mode-select{margin-right:var(--ag-widget-container-horizontal-padding)}.ag-column-panel-column-select:where(:not(.ag-last-visible-child)){border-bottom:var(--ag-tool-panel-separator-border)}.ag-column-panel-column-select:where(:nth-child(n+2 of :not(.ag-hidden))){border-top:var(--ag-tool-panel-separator-border)}:where(.ag-column-panel) .ag-column-drop-vertical{flex:1 1 0px;min-height:50px}:where(.ag-column-panel) .ag-column-drop-vertical:where(:not(.ag-last-column-drop)){border-bottom:var(--ag-tool-panel-separator-border)}.ag-column-panel-buttons{display:flex;flex-wrap:wrap;gap:var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing);justify-content:flex-end;overflow:hidden;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding) 0;:where(.ag-standard-button){transition:background-color .25s ease-in-out,color .25s ease-in-out}}.ag-column-panel-buttons:where(:last-child){padding-bottom:var(--ag-widget-container-vertical-padding)}.ag-column-panel-buttons-button{line-height:1.5}:where(.ag-column-panel) .ag-column-panel-buttons-apply-button:not(:disabled){background-color:var(--ag-column-panel-apply-button-background-color);color:var(--ag-column-panel-apply-button-color)}")}wireBeans(e){this.colToolPanelFactory=e.colToolPanelFactory}setVisible(e){super.setDisplayed(e),e&&!this.initialised&&this.init(this.params)}init(e){const t={...Co(this.gos,{suppressColumnMove:!1,suppressColumnSelectAll:!1,suppressColumnFilter:!1,suppressColumnExpandAll:!1,contractColumnSelection:!1,suppressPivotMode:!1,suppressRowGroups:!1,suppressValues:!1,suppressPivots:!1,suppressSyncLayoutWithGrid:!1}),...e};this.params=t;const{childDestroyFuncs:o,colToolPanelFactory:s,gos:i}=this,n=i.isModuleRegistered("SharedPivot"),r=n||i.isModuleRegistered("SharedRowGrouping");this.isDeferModeEnabled=nw(t),this.toggleCss("ag-column-panel-deferred",this.isDeferModeEnabled),!t.suppressPivotMode&&s&&n&&(this.pivotModePanel=s.createPivotModePanel(this,o,t,this.onPivotModePanelValueChanged));const l=this.createBean(new Lw);if(this.primaryColsPanel=l,o.push(()=>this.destroyBean(this.primaryColsPanel)),l.init(!0,t,"toolPanelUi"),l.addCss("ag-column-panel-column-select"),this.appendChild(l),s){!t.suppressRowGroups&&r&&(this.rowGroupDropZonePanel=s.createRowGroupPanel(this,o,t)),!t.suppressValues&&r&&(this.valuesDropZonePanel=s.createValuesPanel(this,o,t)),!t.suppressPivots&&n&&(this.pivotDropZonePanel=s.createPivotPanel(this,o,t)),this.setLastVisible();const[e]=this.addManagedEventListeners({columnPivotModeChanged:()=>{this.resetChildrenHeight(),this.setLastVisible()}});o.push(()=>e())}if(this.isDeferModeEnabled){const e=this.onExternalGridChange;o.push(...this.addManagedEventListeners({columnEverythingChanged:this.onColumnEverythingChanged,sortChanged:e,columnVisible:e,columnRowGroupChanged:e,columnValueChanged:e,columnPivotChanged:e,columnPivotModeChanged:e,newColumnsLoaded:e,...t.suppressSyncLayoutWithGrid?{}:{columnMoved:e}}))}t.buttons&&(t.buttons.includes("apply")||Dt(298),t.buttons.length&&this.initDeferredButtons(t.buttons)),this.initialised=!0}initDeferredButtons(e){const t=this.createBean(new Bp({className:"ag-column-panel-buttons"}));this.deferredButtonsComp=t,this.childDestroyFuncs.push(()=>{this.deferredButtonsComp=this.destroyBean(this.deferredButtonsComp)});const o=this.getLocaleTextFunc(),s=e.map(e=>({type:e,label:o("apply"===e?"applyColumnToolPanel":"cancelColumnToolPanel","apply"===e?"Apply":"Cancel")}));t.updateButtons(s),t.updateValidity(!1),t.addManagedListeners(t,{apply:this.onDeferredApply,cancel:this.onDeferredCancel}),this.appendChild(t)}resetDeferredState(){this.beans.columnStateUpdateStrategy.reset(this.isDeferModeEnabled),this.deferredButtonsComp?.updateValidity(!1),this.refreshToolPanelLayouts(),this.pivotModePanel?.refreshEditStrategy()}captureGridState(){const{beans:e}=this,t=e=>(e??[]).map(e=>e.getColId());return{rowGroupColIds:t(e.rowGroupColsSvc?.columns),valueColIds:t(e.valueColsSvc?.columns),pivotColIds:t(e.pivotColsSvc?.columns),pivotMode:e.colModel.isPivotMode(),columnOrder:e.colModel.getCols().map(e=>e.getColId()),visibleColIds:e.colModel.getCols().filter(e=>e.isVisible()).map(e=>e.getColId()),sortState:e.colModel.getCols().filter(e=>e.getSort()).map(e=>`${e.getColId()}:${e.getSort()}:${e.getSortIndex()}`),aggFuncState:(e.valueColsSvc?.columns??[]).map(e=>e.getAggFunc()),widthState:e.colModel.getCols().map(e=>`${e.getColId()}:${e.getActualWidth()}`)}}isGridStateEqual(e,o){return t(e.rowGroupColIds,o.rowGroupColIds)&&t(e.valueColIds,o.valueColIds)&&t(e.pivotColIds,o.pivotColIds)&&e.pivotMode===o.pivotMode&&t(e.columnOrder,o.columnOrder)&&t(e.visibleColIds,o.visibleColIds)&&t(e.sortState,o.sortState)&&t(e.aggFuncState,o.aggFuncState)&&t(e.widthState,o.widthState)}refreshDeferredUi(){this.refreshToolPanelLayouts(),this.setLastVisible(),this.pivotModePanel?.refreshEditStrategy(),this.deferredButtonsComp?.updateValidity(this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled))}refreshToolPanelLayouts(){this.primaryColsPanel.syncLayoutWithGrid(),this.rowGroupDropZonePanel?.refreshGui(),this.valuesDropZonePanel?.refreshGui(),this.pivotDropZonePanel?.refresh()}setPivotModeSectionVisible(e){const t=this.colToolPanelFactory;t&&(this.pivotModePanel=t.setPanelVisible(this.pivotModePanel,e,t.createPivotModePanel.bind(t,this,this.childDestroyFuncs,this.params,this.onPivotModePanelValueChanged,!0)),this.setLastVisible())}setRowGroupsSectionVisible(e){const t=this.colToolPanelFactory;t&&(this.rowGroupDropZonePanel=t.setPanelVisible(this.rowGroupDropZonePanel,e,t.createRowGroupPanel.bind(t,this,this.childDestroyFuncs,this.params)),this.setLastVisible())}setValuesSectionVisible(e){const t=this.colToolPanelFactory;t&&(this.valuesDropZonePanel=t.setPanelVisible(this.valuesDropZonePanel,e,t.createValuesPanel.bind(t,this,this.childDestroyFuncs,this.params)),this.setLastVisible())}setPivotSectionVisible(e){const t=this.colToolPanelFactory;t&&(this.pivotDropZonePanel=t.setPanelVisible(this.pivotDropZonePanel,e,t.createPivotPanel.bind(t,this,this.childDestroyFuncs,this.params)),this.pivotDropZonePanel?.setDisplayed(e),this.setLastVisible())}setResizers(){for(const e of[this.primaryColsPanel,this.rowGroupDropZonePanel,this.valuesDropZonePanel,this.pivotDropZonePanel]){if(!e)continue;const t=e.getGui();e.toggleResizable(!t.classList.contains("ag-last-column-drop")&&!t.classList.contains("ag-hidden")&&!t.classList.contains("ag-last-visible-child"))}}setLastVisible(){const t=this.getGui(),o=Array.prototype.slice.call(t.querySelectorAll(".ag-column-drop"));for(const e of o)e.classList.remove("ag-last-column-drop");const s=e(t.querySelectorAll(".ag-column-drop:not(.ag-hidden)"));s&&s.classList.add("ag-last-column-drop"),this.primaryColsPanel.getGui().classList.toggle("ag-last-visible-child",!s),this.setResizers()}resetChildrenHeight(){const e=this.getGui().children;for(let t=0;t({name:e(t,o+"‎"),action:()=>this.chartSvc.createPivotChart({chartType:s}),_key:i,_enterprise:n});return{name:e("pivotChart","Pivot Chart"),_key:"pivotChart",subMenu:[{_key:"pivotColumnChart",name:e("columnChart","Column"),subMenu:[t("groupedColumn","Grouped","groupedColumn","pivotGroupedColumn"),t("stackedColumn","Stacked","stackedColumn","pivotStackedColumn"),t("normalizedColumn","100% Stacked","normalizedColumn","pivotNormalizedColumn")]},{_key:"pivotBarChart",name:e("barChart","Bar"),subMenu:[t("groupedBar","Grouped","groupedBar","pivotGroupedBar"),t("stackedBar","Stacked","stackedBar","pivotStackedBar"),t("normalizedBar","100% Stacked","normalizedBar","pivotNormalizedBar")]},{_key:"pivotPieChart",name:e("pieChart","Pie"),subMenu:[t("pie","Pie","pie","pivotPie"),t("donut","Donut","donut","pivotDonut")]},{_key:"pivotLineChart",name:e("lineChart","Line"),subMenu:[t("lineChart","Line","line","pivotLineChart"),t("stackedLine","Stacked","stackedLine","pivotStackedLine"),t("normalizedLine","100% Stacked","normalizedLine","pivotNormalizedLine")]},{_key:"pivotAreaChart",name:e("areaChart","Area"),subMenu:[t("areaChart","Area","area","pivotArea"),t("stackedArea","Stacked","stackedArea","pivotStackedArea"),t("normalizedArea","100% Stacked","normalizedArea","pivotNormalizedArea")]},{_key:"pivotXYChart",name:e("xyChart","X Y (Scatter)"),subMenu:[t("scatter","Scatter","scatter","pivotScatter"),t("bubble","Bubble","bubble","pivotBubble")]},{_key:"pivotStatisticalChart",_enterprise:!1,name:e("statisticalChart","Statistical"),subMenu:[t("histogramChart","Histogram","histogram","pivotHistogram",!1)]},{_key:"pivotHierarchicalChart",_enterprise:!0,name:e("hierarchicalChart","Hierarchical"),subMenu:[t("treemapChart","Treemap","treemap","pivotTreemap",!0),t("sunburstChart","Sunburst","sunburst","pivotSunburst",!0)]},{_key:"pivotFunnel",name:e("funnel","Funnel"),subMenu:[t("funnel","Funnel","funnel","pivotFunnel"),t("coneFunnel","Cone Funnel","coneFunnel","pivotConeFunnel"),t("pyramid","Pyramid","pyramid","pivotPyramid")]},{_key:"pivotCombinationChart",name:e("combinationChart","Combination"),subMenu:[t("columnLineCombo","Column & Line","columnLineCombo","pivotColumnLineCombo"),t("AreaColumnCombo","Area & Column","areaColumnCombo","pivotAreaColumnCombo")]}],icon:Ol("chart",this.beans,void 0)}}getConfigLookup(){return{columnGroup:{_key:"pivotColumnChart",column:"pivotGroupedColumn",stackedColumn:"pivotStackedColumn",normalizedColumn:"pivotNormalizedColumn"},barGroup:{_key:"pivotBarChart",bar:"pivotGroupedBar",stackedBar:"pivotStackedBar",normalizedBar:"pivotNormalizedBar"},pieGroup:{_key:"pivotPieChart",pie:"pivotPie",donut:"pivotDonut",doughnut:"pivotDonut"},lineGroup:{_key:"pivotLineChart",line:"pivotLineChart",stackedLine:"pivotStackedLine",normalizedLine:"pivotNormalizedLine"},areaGroup:{_key:"pivotAreaChart",area:"pivotArea",stackedArea:"pivotStackedArea",normalizedArea:"pivotNormalizedArea"},scatterGroup:{_key:"pivotXYChart",bubble:"pivotBubble",scatter:"pivotScatter"},combinationGroup:{_key:"pivotCombinationChart",columnLineCombo:"pivotColumnLineCombo",areaColumnCombo:"pivotAreaColumnCombo",customCombo:null},hierarchicalGroup:{_key:"pivotHierarchicalChart",treemap:"pivotTreemap",sunburst:"pivotSunburst"},statisticalGroup:{_key:"pivotStatisticalChart",histogram:"pivotHistogram",rangeBar:null,rangeArea:null,boxPlot:null},funnelGroup:{_key:"pivotFunnel",funnel:"pivotFunnel",coneFunnel:"pivotConeFunnel",pyramid:"pivotPyramid"},polarGroup:null,specializedGroup:null}}},ub=class{constructor(e,t,o){this.beans=e,this.chartSvc=t,this.getLocaleTextFunc=o}getMenuItem(){const e=this.getLocaleTextFunc(),t=(t,o,s,i,n=!1)=>({name:e(t,o),action:()=>this.chartSvc.createChartFromCurrentRange(s),_key:i,_enterprise:n});return{name:e("chartRange","Chart Range"),_key:"chartRange",subMenu:[{name:e("columnChart","Column"),subMenu:[t("groupedColumn","Grouped","groupedColumn","rangeGroupedColumn"),t("stackedColumn","Stacked","stackedColumn","rangeStackedColumn"),t("normalizedColumn","100% Stacked","normalizedColumn","rangeNormalizedColumn")],_key:"rangeColumnChart"},{name:e("barChart","Bar"),subMenu:[t("groupedBar","Grouped","groupedBar","rangeGroupedBar"),t("stackedBar","Stacked","stackedBar","rangeStackedBar"),t("normalizedBar","100% Stacked","normalizedBar","rangeNormalizedBar")],_key:"rangeBarChart"},{name:e("pieChart","Pie"),subMenu:[t("pie","Pie","pie","rangePie"),t("donut","Donut","donut","rangeDonut")],_key:"rangePieChart"},{name:e("lineChart","Line"),subMenu:[t("lineChart","Line","line","rangeLineChart"),t("stackedLine","Stacked","stackedLine","rangeStackedLine"),t("normalizedLine","100% Stacked","normalizedLine","rangeNormalizedLine")],_key:"rangeLineChart"},{name:e("areaChart","Area"),subMenu:[t("areaChart","Area","area","rangeArea"),t("stackedArea","Stacked","stackedArea","rangeStackedArea"),t("normalizedArea","100% Stacked","normalizedArea","rangeNormalizedArea")],_key:"rangeAreaChart"},{name:e("xyChart","X Y (Scatter)"),subMenu:[t("scatter","Scatter","scatter","rangeScatter"),t("bubble","Bubble","bubble","rangeBubble")],_key:"rangeXYChart"},{name:e("polarChart","Polar"),subMenu:[t("radarLine","Radar Line","radarLine","rangeRadarLine"),t("radarArea","Radar Area","radarArea","rangeRadarArea"),t("nightingale","Nightingale","nightingale","rangeNightingale"),t("radialColumn","Radial Column","radialColumn","rangeRadialColumn"),t("radialBar","Radial Bar","radialBar","rangeRadialBar")],_key:"rangePolarChart",_enterprise:!0},{name:e("statisticalChart","Statistical"),subMenu:[t("boxPlot","Box Plot","boxPlot","rangeBoxPlot",!0),t("histogramChart","Histogram","histogram","rangeHistogram",!1),t("rangeBar","Range Bar","rangeBar","rangeRangeBar",!0),t("rangeArea","Range Area","rangeArea","rangeRangeArea",!0)],_key:"rangeStatisticalChart",_enterprise:!1},{name:e("hierarchicalChart","Hierarchical"),subMenu:[t("treemap","Treemap","treemap","rangeTreemap"),t("sunburst","Sunburst","sunburst","rangeSunburst")],_key:"rangeHierarchicalChart",_enterprise:!0},{name:e("specializedChart","Specialized"),subMenu:[t("heatmap","Heatmap","heatmap","rangeHeatmap"),t("waterfall","Waterfall","waterfall","rangeWaterfall")],_key:"rangeSpecializedChart",_enterprise:!0},{name:e("funnel","Funnel"),subMenu:[t("funnel","Funnel","funnel","rangeFunnel"),t("coneFunnel","Cone Funnel","coneFunnel","rangeConeFunnel"),t("pyramid","Pyramid","pyramid","rangePyramid")],_key:"rangeFunnel",_enterprise:!0},{name:e("combinationChart","Combination"),subMenu:[t("columnLineCombo","Column & Line","columnLineCombo","rangeColumnLineCombo"),t("AreaColumnCombo","Area & Column","areaColumnCombo","rangeAreaColumnCombo")],_key:"rangeCombinationChart"}],icon:Ol("chart",this.beans,void 0)}}getConfigLookup(){return{columnGroup:{_key:"rangeColumnChart",column:"rangeGroupedColumn",stackedColumn:"rangeStackedColumn",normalizedColumn:"rangeNormalizedColumn"},barGroup:{_key:"rangeBarChart",bar:"rangeGroupedBar",stackedBar:"rangeStackedBar",normalizedBar:"rangeNormalizedBar"},pieGroup:{_key:"rangePieChart",pie:"rangePie",donut:"rangeDonut",doughnut:"rangeDonut"},lineGroup:{_key:"rangeLineChart",line:"rangeLineChart",stackedLine:"rangeStackedLine",normalizedLine:"rangeNormalizedLine"},areaGroup:{_key:"rangeAreaChart",area:"rangeArea",stackedArea:"rangeStackedArea",normalizedArea:"rangeNormalizedArea"},scatterGroup:{_key:"rangeXYChart",bubble:"rangeBubble",scatter:"rangeScatter"},polarGroup:{_key:"rangePolarChart",radarLine:"rangeRadarLine",radarArea:"rangeRadarArea",nightingale:"rangeNightingale",radialColumn:"rangeRadialColumn",radialBar:"rangeRadialBar"},statisticalGroup:{_key:"rangeStatisticalChart",boxPlot:"rangeBoxPlot",histogram:"rangeHistogram",rangeBar:"rangeRangeBar",rangeArea:"rangeRangeArea"},hierarchicalGroup:{_key:"rangeHierarchicalChart",treemap:"rangeTreemap",sunburst:"rangeSunburst"},specializedGroup:{_key:"rangeSpecializedChart",heatmap:"rangeHeatmap",waterfall:"rangeWaterfall"},funnelGroup:{_key:"rangeFunnel",funnel:"rangeFunnel",coneFunnel:"rangeConeFunnel",pyramid:"rangePyramid"},combinationGroup:{_key:"rangeCombinationChart",columnLineCombo:"rangeColumnLineCombo",areaColumnCombo:"rangeAreaColumnCombo",customCombo:null}}}},gb={pinSubMenu:"PinnedColumn",pinLeft:"PinnedColumn",pinRight:"PinnedColumn",clearPinned:"PinnedColumn",pinRowSubMenu:"PinnedRow",pinBottom:"PinnedRow",pinTop:"PinnedRow",unpinRow:"PinnedRow",valueAggSubMenu:"SharedAggregation",autoSizeThis:"ColumnAutoSize",autoSizeAll:"ColumnAutoSize",rowGroup:"SharedRowGrouping",rowUnGroup:"SharedRowGrouping",resetColumns:"CommunityCore",expandAll:["ClientSideRowModelHierarchy","ServerSideRowModel"],contractAll:["ClientSideRowModelHierarchy","ServerSideRowModel"],copy:"Clipboard",copyWithHeaders:"Clipboard",copyWithGroupHeaders:"Clipboard",cut:"Clipboard",paste:"Clipboard",export:["CsvExport","ExcelExport"],csvExport:"CsvExport",excelExport:"ExcelExport",separator:"CommunityCore",pivotChart:"IntegratedCharts",chartRange:"IntegratedCharts",columnFilter:"ColumnFilter",columnChooser:"ColumnMenu",sortAscending:"Sort",sortDescending:"Sort",sortAbsoluteAscending:"Sort",sortAbsoluteDescending:"Sort",sortUnSort:"Sort"},pb="separator";function mb(e,t){if(e)for(let o=e.length-2;o>=0;o--){const s=e[o]===t,i=e[o+1]===t;s&&i&&e.splice(o+1,1)}}var fb={sortAscending:{fallback:"Sort Ascending",getSortDef:()=>({type:"default",direction:"asc"})},sortDescending:{fallback:"Sort Descending",getSortDef:()=>({type:"default",direction:"desc"})},sortAbsoluteAscending:{fallback:"Sort Absolute Ascending",getSortDef:()=>({type:"absolute",direction:"asc"})},sortAbsoluteDescending:{fallback:"Sort Absolute Descending",getSortDef:()=>({type:"absolute",direction:"desc"})},sortUnSort:{fallback:"Clear Sort",getSortDef:e=>({type:Ao(e.getSortDef()?.type),direction:null})}};function Cb(e,t,o,s){let i;if(e.isPrimary())i=e;else{const t=e.getColDef().pivotValueColumn;i=l(t)?t:void 0}const n=[];if(i){const e=i.isValueActive(),r=t.getFuncNames(i);n.push({name:s("noAggregation","None"),action:()=>{o.removeColumns([i],"contextMenu"),o.setColumnAggFunc(i,void 0,"contextMenu")},checked:!e});for(const l of r)n.push({name:s(l,t.getDefaultFuncLabel(l)),action:()=>{o.setColumnAggFunc(i,l,"contextMenu"),o.addColumns([i],"contextMenu")},checked:e&&i.getAggFunc()===l})}return n}var vb="filterMenuTab",wb="generalMenuTab",bb="columnsMenuTab",yb=[wb,vb,bb],Sb=class extends Oe{constructor(e,t,o,s,i){super(),this.column=e,this.restoreFocusParams=t,this.initialSelection=o,this.restrictTo=s,this.sourceElement=i,this.tabFactories={},this.includeChecks={};const{tabFactories:n,includeChecks:r}=this;n[wb]=this.createMainPanel.bind(this),n[vb]=this.createFilterPanel.bind(this),n[bb]=this.createColumnsPanel.bind(this),r[wb]=()=>!0,r[vb]=()=>!!e&&!!this.beans.filterManager?.isFilterAllowed(e),r[bb]=()=>!0}postConstruct(){const e=new Sv({items:this.getTabsToCreate().map(e=>this.createTab(e)),cssClass:"ag-menu",onActiveItemClicked:this.onHidePopup.bind(this),onItemClicked:this.onTabItemClicked.bind(this)});this.tabbedLayout=this.createBean(e),this.mainMenuList?.setParentComponent(e),this.addDestroyFunc(()=>this.destroyBean(e))}getTabsToCreate(){return this.restrictTo?this.restrictTo:(this.column?.getColDef().menuTabs??yb).filter(e=>this.isValidMenuTabItem(e)&&this.isNotSuppressed(e))}isValidMenuTabItem(e){let t=!0,o=yb;return null!=this.restrictTo&&(t=this.restrictTo.indexOf(e)>-1,o=this.restrictTo),t=t&&yb.indexOf(e)>-1,t||Dt(175,{menuTabName:e,itemsToConsider:o}),t}isNotSuppressed(e){return this.includeChecks[e]()}createTab(e){return this.tabFactories[e]()}showTabBasedOnPreviousSelection(){this.showTab(this.initialSelection)}showTab(e){const{tabItemColumns:t,tabbedLayout:o,tabItemFilter:s,tabItemGeneral:i}=this;t&&e===bb?o.showItem(t):s&&e===vb?o.showItem(s):i&&e===wb?o.showItem(i):o.showFirstItem()}onTabItemClicked(e){let t=null;switch(e.item){case this.tabItemColumns:t=bb;break;case this.tabItemFilter:t=vb;break;case this.tabItemGeneral:t=wb}t&&this.activateTab(t)}activateTab(e){const t={type:"tabSelected",key:e};this.dispatchLocalEvent(t)}createMainPanel(){const{beans:e,column:t}=this,o=e.colMenuFactory,s=o.createMenu(this,o.getMenuItems(t),this.column,()=>this.sourceElement??this.getGui());this.mainMenuList=s,s.addEventListener("closeMenu",this.onHidePopup.bind(this));const i={title:Ol("legacyMenu",e,t),titleLabel:wb.replace("MenuTab",""),bodyPromise:Ns.resolve(s.getGui()),name:wb};return this.tabItemGeneral=i,i}onHidePopup(e){this.beans.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,e)}createFilterPanel(){const e=this.column?this.createBean(new Vp(this.column,"COLUMN_MENU")):null;return this.filterComp=e,e?.hasFilter()||Mt(119),this.tabItemFilter={title:Ol("filterTab",this.beans,this.column),titleLabel:vb.replace("MenuTab",""),bodyPromise:Ns.resolve(e?.getGui()),afterAttachedCallback:t=>e?.afterGuiAttached(t),afterDetachedCallback:()=>e?.afterGuiDetached(),name:vb},this.tabItemFilter}createColumnsPanel(){const e=Cl({tag:"div",cls:"ag-menu-column-select-wrapper"}),{beans:t,column:o}=this,s=t.colChooserFactory.createColumnSelectPanel(this,o).getGui();s.classList.add("ag-menu-column-select"),e.appendChild(s);const i={title:Ol("columns",t,o),titleLabel:bb.replace("MenuTab",""),bodyPromise:Ns.resolve(e),name:bb};return this.tabItemColumns=i,i}afterGuiAttached(e){const{container:t,hidePopup:o}=e;this.tabbedLayout.setAfterAttachedParams({container:t,hidePopup:o}),o&&(this.hidePopupFunc=o,this.addDestroyFunc(o))}getGui(){return this.tabbedLayout.getGui()}destroy(){super.destroy(),this.destroyBean(this.filterComp)}},Rb=class extends Pi{constructor(e,t,o,s){super({tag:"div",ref:"eColumnMenu",cls:"ag-menu ag-column-menu",role:"presentation"}),this.menuItems=e,this.column=t,this.restoreFocusParams=o,this.sourceElement=s,this.eColumnMenu=null}postConstruct(){const e=this.beans.colMenuFactory.createMenu(this,this.menuItems,this.column,()=>this.sourceElement??this.getGui());this.mainMenuList=e,e.addEventListener("closeMenu",this.onHidePopup.bind(this)),this.eColumnMenu.appendChild(e.getGui())}onHidePopup(e){this.beans.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,e)}afterGuiAttached({hidePopup:e}){e&&(this.hidePopupFunc=e,this.addDestroyFunc(e)),Wi(this.mainMenuList.getGui())}},xb={moduleName:"MenuCore",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="menuItemMapper"}mapWithStockItems(e,t,o,s,i){if(!e)return[];const n=[],r=this.getLocaleTextFunc(),{beans:l,gos:d}=this,{pinnedCols:c,colAutosize:h,aggFuncSvc:u,rowGroupColsSvc:g,colNames:p,colModel:m,clipboardSvc:f,expansionSvc:C,focusSvc:v,csvCreator:w,excelCreator:b,menuSvc:y,colChooserFactory:S,sortSvc:R,chartMenuItemMapper:x,valueColsSvc:F,pinnedRowModel:D}=l,M=(e,t,s,i)=>{switch(function(e,t){const o=gb[t];o&&e.assertModuleRegistered(o,`menu item '${t}'`)}(d,e),e){case"pinSubMenu":return c&&t?{name:r("pinColumn","Pin Column"),icon:Ol("menuPin",l,null),subMenu:["clearPinned","pinLeft","pinRight"]}:null;case"pinLeft":return c&&t?{name:r("pinLeft","Pin Left"),action:()=>c.setColsPinned([t],"left",i),checked:!!t&&t.isPinnedLeft()}:null;case"pinRight":return c&&t?{name:r("pinRight","Pin Right"),action:()=>c.setColsPinned([t],"right",i),checked:!!t&&t.isPinnedRight()}:null;case"clearPinned":return c&&t?{name:r("noPin","No Pin"),action:()=>c.setColsPinned([t],null,i),checked:!!t&&!t.isPinned()}:null;case"pinRowSubMenu":{const e=d.get("enableRowPinning"),s=[],i=o?.rowPinned??o?.pinnedSibling?.rowPinned;return i&&s.push("unpinRow"),e&&"bottom"!==e&&"top"!=i&&s.push("pinTop"),e&&"top"!==e&&"bottom"!=i&&s.push("pinBottom"),D?.isManual()?{name:r("pinRow","Pin Row"),icon:Ol("rowPin",l,t),subMenu:s}:null}case"pinTop":return D?.isManual()?{name:r("pinTop","Pin to Top"),icon:Ol("rowPinTop",l,t),action:({node:e,column:t})=>e&&D.pinRow(e,"top",t)}:null;case"pinBottom":return D?.isManual()?{name:r("pinBottom","Pin to Bottom"),icon:Ol("rowPinBottom",l,t),action:({node:e,column:t})=>e&&D.pinRow(e,"bottom",t)}:null;case"unpinRow":return D?.isManual()?{name:r("unpinRow","Unpin Row"),icon:Ol("rowUnpin",l,t),action:({node:e,column:t})=>e&&D.pinRow(e,null,t)}:null;case"valueAggSubMenu":return u&&F&&(t?.isPrimary()||t?.getColDef().pivotValueColumn)?{name:r("valueAggregation","Value Aggregation"),icon:Ol("menuValue",l,null),subMenu:Cb(t,u,F,r),disabled:d.get("functionsReadOnly")}:null;case"autoSizeThis":return h?{name:r("autosizeThisColumn","Autosize This Column"),action:()=>t&&h.autoSizeColumn(t,i,d.get("skipHeaderOnAutoSize"))}:null;case"autoSizeAll":return h?{name:r("autosizeAllColumns","Autosize All Columns"),action:()=>h.autoSizeAllColumns({source:i,skipHeader:d.get("skipHeaderOnAutoSize")})}:null;case"rowGroup":return g?{name:vw(r,"groupBy",p.getDisplayNameForColumn(t,"header")),disabled:d.get("functionsReadOnly")||t?.isRowGroupActive()||!t?.getColDef().enableRowGroup,action:()=>g.addColumns([t],i),icon:Ol("menuAddRowGroup",l,null)}:null;case"rowUnGroup":if(g&&d.isModuleRegistered("SharedRowGrouping")){const e=t?.getColDef().showRowGroup,o=d.get("groupLockGroupColumns");let s,n,a;if(!0===e)s=r("ungroupAll","Un-Group All"),n=d.get("functionsReadOnly")||-1===o||o>=(g.columns.length??0),a=()=>g.setColumns(g.columns.slice(0,o),i);else if("string"==typeof e){const t=m.getColDefCol(e);s=vw(r,"ungroupBy",null!=t?p.getDisplayNameForColumn(t,"header"):e),n=d.get("functionsReadOnly")||Cw(t,l),a=()=>{g.removeColumns([e],i)}}else s=vw(r,"ungroupBy",p.getDisplayNameForColumn(t,"header")),n=d.get("functionsReadOnly")||!t?.isRowGroupActive()||!t?.getColDef().enableRowGroup||Cw(t,l),a=()=>g.removeColumns([t],i);return{name:s,disabled:n,action:a,icon:Ol("menuRemoveRowGroup",l,null)}}return null;case"resetColumns":return{name:r("resetColumns","Reset Columns"),action:()=>function(e,t){const{colModel:o,autoColSvc:s,selectionColSvc:i,eventSvc:n,gos:r}=e,l=o.getColDefCols();if(!l?.length)return;const d=Qo(o.getColDefColTree()),c=[];let h=1e3,u=1e3;const g=e=>{const t=Ga(e);a(t.rowGroupIndex)&&t.rowGroup&&(t.rowGroupIndex=h++),a(t.pivotIndex)&&t.pivot&&(t.pivotIndex=u++),c.push(t)};s?.getColumns()?.forEach(g),i?.getColumns()?.forEach(g),d?.forEach(g),Aa(e,{state:c},t);const p=s?.getColumns()??[];Aa(e,{state:[...i?.getColumns()??[],...p,...l].map(e=>({colId:e.colId})),applyOrder:!0},t),n.dispatchEvent(Co(r,{type:"columnsReset",source:t}))}(l,i)};case"expandAll":return C?{name:r("expandAll","Expand All Row Groups"),action:()=>C.expandAll(!0)}:null;case"contractAll":return C?{name:r("collapseAll","Collapse All Row Groups"),action:()=>C.expandAll(!1)}:null;case"copy":return f?{name:r("copy","Copy"),shortcut:r("ctrlC","Ctrl+C"),icon:Ol("clipboardCopy",l,null),action:()=>f.copyToClipboard()}:null;case"copyWithHeaders":return f?{name:r("copyWithHeaders","Copy with Headers"),icon:Ol("clipboardCopy",l,null),action:()=>f.copyToClipboard({includeHeaders:!0})}:null;case"copyWithGroupHeaders":return f?{name:r("copyWithGroupHeaders","Copy with Group Headers"),icon:Ol("clipboardCopy",l,null),action:()=>f.copyToClipboard({includeHeaders:!0,includeGroupHeaders:!0})}:null;case"cut":if(f){const e=v.getFocusedCell(),t=e?Fn(l,e):null,o=!!t&&e?.column.isCellEditable(t);return{name:r("cut","Cut"),shortcut:r("ctrlX","Ctrl+X"),icon:Ol("clipboardCut",l,null),disabled:!o||d.get("suppressCutToClipboard"),action:()=>f.cutToClipboard(void 0,"contextMenu")}}return null;case"paste":if(f){const e=d.get("suppressClipboardApi")||d.get("suppressClipboardPaste")||!t||!o||!t.isCellEditable(o)||t.isSuppressPaste(o);return{name:r("paste","Paste"),shortcut:r("ctrlV","Ctrl+V"),icon:Ol("clipboardPaste",l,null),disabled:e,action:()=>f.pasteFromClipboard()}}return null;case"export":{const e=[];return!d.get("suppressCsvExport")&&w&&e.push("csvExport"),!d.get("suppressExcelExport")&&b&&e.push("excelExport"),e.length?{name:r("export","Export"),subMenu:e,icon:Ol("save",l,null)}:null}case"csvExport":return w?{name:r("csvExport","CSV Export"),icon:Ol("csvExport",l,null),action:()=>w.exportDataAsCsv()}:null;case"excelExport":return b?{name:r("excelExport","Excel Export"),icon:Ol("excelExport",l,null),action:()=>b.exportDataAsExcel()}:null;case"separator":return e;case"pivotChart":case"chartRange":return x.getChartItems(e);case"columnFilter":return y&&t?{name:r("columnFilter","Column Filter"),icon:Ol("filter",l,null),action:()=>y.showFilterMenu({column:t,buttonElement:s(),containerType:"columnFilter",positionBy:"button"})}:null;case"columnChooser":{const e=v.focusedHeader;return S?{name:r("columnChooser","Choose Columns"),icon:Ol("columns",l,null),action:()=>S.showColumnChooser({column:t,eventSource:s(),headerPosition:e})}:null}case"sortUnSort":case"sortAscending":case"sortDescending":case"sortAbsoluteAscending":case"sortAbsoluteDescending":{if(!R||!t)return null;const{fallback:o,getSortDef:s}=fb[e];return{name:r(e,o),icon:Ol(e,l,null),action:()=>R.setSortForColumn(t,s(t),!1,i)}}default:return Dt(176,{key:e}),null}};for(const a of e){let e;if(e="string"==typeof a?M(a,t,s,i):{...a},!e)continue;const r=e,{subMenu:l}=r;l&&l instanceof Array&&(r.subMenu=this.mapWithStockItems(l,t,o,s,i)),null!=e&&n.push(e)}return mb(n,pb),n}},class extends Oe{constructor(){super(...arguments),this.beanName="chartMenuItemMapper"}getChartItems(e){const t=this.beans,o=t.chartSvc,s="pivotChart"===e;if(!o)return null;const i=this.getLocaleTextFunc.bind(this),n=s?new hb(t,o,i):new ub(t,o,i),r=o.isEnterprise();let l=n.getMenuItem();if(l?.subMenu&&!r){const e=t=>({...t,subMenu:t.subMenu?.filter(e=>!e._enterprise).map(t=>e(t))});l=e(l)}const a=this.gos.get("chartToolPanelsDef")?.settingsPanel?.chartGroupsDef;return a&&(l=this.filterAndOrderChartMenu(l,a,n.getConfigLookup())),this.cleanInternals(l)}cleanInternals(e){if(!e)return e;const t=e=>{delete e?._key,delete e?._enterprise;for(const o of e?.subMenu??[])t(o);return e};return t(e)}buildLookup(e){const t={},o=e=>{if(t[e._key]=e,e.subMenu)for(const t of e.subMenu)o(t)};return o(e),t}filterAndOrderChartMenu(e,t,o){const s=this.buildLookup(e),i={...e,subMenu:[]};for(const n of Object.keys(t)){const e=t[n],r=o[n];if(null===r)continue;if(null==r){Dt(173,{group:n});continue}const l=s[r._key];if(l)if(l.subMenu){const t=e.map(e=>{const t=r[e];if(null!=t)return s[t];Dt(174,{group:n,chartType:e})}).filter(e=>void 0!==e);t.length>0&&(l.subMenu=t,i.subMenu?.push(l))}else i.subMenu?.push(l)}return 0==i.subMenu?.length?null:i}},class extends Oe{constructor(){super(...arguments),this.beanName="menuUtils"}restoreFocusOnClose(e,t,o,s){const{eventSource:i}=e,n=o instanceof KeyboardEvent;if(!s&&!n||!i)return;const r=w(this.beans);(t.contains(r)||y(this.beans))&&this.focusHeaderCell(e)}closePopupAndRestoreFocusOnSelect(e,t,o){let s;o?.keyboardEvent&&(s=o.keyboardEvent),e(s&&{keyboardEvent:s});const i=this.beans,n=i.focusSvc,r=n.getFocusedCell();if(y(i))if(r){const{rowIndex:e,rowPinned:t,column:o}=r;n.setFocusedCell({rowIndex:e,column:o,rowPinned:t,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}else this.focusHeaderCell(t)}onContextMenu(e){const{mouseEvent:t,touchEvent:o,showMenuCallback:s,source:i}=e;if((this.gos.get("allowContextMenuWithControlKey")||!t||!t.ctrlKey&&!t.metaKey)&&(t&&this.blockMiddleClickScrollsIfNeeded(t),("ui"!==i||!this.gos.get("suppressContextMenu"))&&s(t??o.touches[0]))){const e=t??o;e?.cancelable&&e.preventDefault()}}async focusHeaderCell(t){const{column:o,columnIndex:s,headerPosition:i,eventSource:n}=t,{visibleCols:r,headerNavigation:l,focusSvc:a}=this.beans,d=await r.allCols.some(e=>e===o);if(this.isAlive())if(o?.isAlive()&&d&&n&&re(n)){const e=$i(n);e&&(l?.scrollToColumn(o),e.focus())}else if(i&&-1!==s){const t=r.allCols,o=t[s]||e(t);o&&a.focusHeaderPosition({headerPosition:{headerRowIndex:i.headerRowIndex,column:o}})}}blockMiddleClickScrollsIfNeeded(e){this.gos.get("suppressMiddleClickScrolls")&&2===e.which&&e.preventDefault()}}],icons:{chart:"chart",columns:"columns",loadingMenuItems:"loading",menuPin:"pin",menuValue:"aggregation",menuAddRowGroup:"group",menuRemoveRowGroup:"group",clipboardCopy:"copy",clipboardCut:"cut",clipboardPaste:"paste",save:"save",csvExport:"csv",excelExport:"excel",sortAscending:"asc",sortDescending:"desc",sortAbsoluteAscending:"aasc",sortAbsoluteDescending:"adesc",sortUnSort:"none"},dependsOn:[Mv,Tg,Sp,Zv]},Fb={moduleName:"ColumnMenu",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="enterpriseMenuFactory"}hideActiveMenu(){this.destroyBean(this.activeMenu)}showMenuAfterMouseEvent(e,t,o,s,i){const{column:n,columnGroup:r}=this.splitColumnOrGroup(e),l=i?"filterMenuTab":void 0;this.showMenu(n,r,e=>{const s=e.getGui();this.beans.popupSvc.positionPopupUnderMouseEvent({type:o,additionalParams:{column:n},mouseEvent:t,ePopup:s}),l&&e.showTab?.(l),this.dispatchVisibleChangedEvent(!0,!1,n,r,l)},o,l,void 0,t.target,s)}splitColumnOrGroup(e){const t=e&&So(e);return{column:t?e:void 0,columnGroup:t?void 0:e}}showMenuAfterButtonClick(e,t,o,s,i){let n=-1,r="left";this.gos.get("enableRtl")&&(n=1,r="right");const l=i?"filterMenuTab":void 0,a=l?[l]:void 0,d=mo(this.gos),c=(d?9:4)*n,h=d?-23:4,{column:u,columnGroup:g}=this.splitColumnOrGroup(e);this.showMenu(u,g,e=>{const s=e.getGui();this.beans.popupSvc.positionPopupByComponent({type:o,additionalParams:{column:u},eventSource:t,ePopup:s,alignSide:r,nudgeX:c,nudgeY:h,position:"under",keepWithinBounds:!0}),l&&e.showTab?.(l),this.dispatchVisibleChangedEvent(!0,!1,u,g,l)},o,l,a,t,s)}showMenu(e,t,o,s,i,n,r,l){const a=this.getMenuParams(e,t,n,r);if(!a)return;const{menu:d,eMenuGui:c,anchorToElement:h,restoreFocusParams:u}=a,g=[],{menuUtils:p,popupSvc:m}=this.beans;g.push(t=>{const o=d.getGui();this.destroyBean(d),e&&(bp(e,!1,"contextMenu"),p.restoreFocusOnClose(u,o,t)),l?.()});const f=this.getLocaleTextFunc();if(m.addPopup({modal:!0,eChild:c,closeOnEsc:!0,closedCallback:o=>{for(const e of g)e(o);this.dispatchVisibleChangedEvent(!1,!1,e,t,i)},afterGuiAttached:e=>d.afterGuiAttached(Object.assign({},{container:s},e)),positionCallback:i?()=>o(d):void 0,ariaLabel:f("ariaLabelColumnMenu","Column Menu")}),i||(d.showTabBasedOnPreviousSelection?.(),o(d)),fo(this.gos)){const t=m.setPopupPositionRelatedToElement(c,h);t&&e&&this.addStopAnchoring(t,e,g)}d.addEventListener("tabSelected",t=>{this.dispatchVisibleChangedEvent(!1,!0,e),this.lastSelectedTab=t.key,this.dispatchVisibleChangedEvent(!0,!0,e)}),e&&bp(e,!0,"contextMenu"),this.activeMenu=d,d.addEventListener("destroyed",()=>{this.activeMenu===d&&(this.activeMenu=null)})}addStopAnchoring(e,t,o){e.then(e=>{t.__addEventListener("leftChanged",e),t.__addEventListener("visibleChanged",e),o.push(()=>{t.__removeEventListener("leftChanged",e),t.__removeEventListener("visibleChanged",e)})})}getMenuParams(e,t,o,s){const{focusSvc:i,visibleCols:n,ctrlsSvc:r}=this.beans,l={column:e,headerPosition:i.focusedHeader,columnIndex:n.allCols.indexOf(e),eventSource:s},a=this.createMenu(e,t,l,o,s);return a?{menu:a,eMenuGui:a.getGui(),anchorToElement:s||r.getGridBodyCtrl().eGridBody,restoreFocusParams:l}:void 0}createMenu(e,t,o,s,i){if(mo(this.gos))return this.createBean(new Sb(e,o,this.lastSelectedTab,s,i));{const s=this.beans.colMenuFactory.getMenuItems(e,t);return s.length?this.createBean(new Rb(s,e,o,i)):void 0}}dispatchVisibleChangedEvent(e,t,o,s,i){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:e,switchingTab:t,key:this.lastSelectedTab??i??(mo(this.gos)?wb:"columnMenu"),column:o??null,columnGroup:s??null})}isMenuEnabled(e){if(!mo(this.gos))return!0;const t=!this.beans.filterManager?.isFilterAllowed(e),o=e.getColDef().menuTabs??yb;return(t&&o.includes(vb)?o.length-1:o.length)>0}showMenuAfterContextMenuEvent(e,t,o){this.beans.menuUtils.onContextMenu({mouseEvent:t,touchEvent:o,source:"ui",showMenuCallback:t=>(this.showMenuAfterMouseEvent(e,t,"columnMenu"),!0)})}},class extends Oe{constructor(){super(...arguments),this.beanName="colMenuFactory"}createMenu(e,t,o,s){const i=e.createManagedBean(new Sw(0,{column:o??null,node:null,value:null})),n=this.beans.menuItemMapper.mapWithStockItems(t,o??null,null,s,"columnMenu");return i.addMenuItems(n),i}getMenuItems(e=null,t=null){const o=this.getDefaultMenuOptions(e);let s;const i=(e?.getColDef()??t?.getColGroupDef())?.mainMenuItems;if(Array.isArray(i))s=i;else if("function"==typeof i)s=i(Co(this.gos,{column:e,columnGroup:t,defaultItems:o}));else{const i=this.gos.getCallback("getMainMenuItems");s=i?i({column:e,columnGroup:t,defaultItems:o}):o}return mb(s,pb),s}getDefaultMenuOptions(e){const t=[],{beans:o,gos:s}=this,{colChooserFactory:i,rowGroupColsSvc:n,colModel:r,expansionSvc:l,sortSvc:a,menuSvc:d,pinnedCols:c,aggFuncSvc:h,colAutosize:u}=o,g=mo(s),p=()=>{!g&&i&&t.push("columnChooser"),t.push("resetColumns")};if(!e)return p(),t;const{colDef:m}=e,f=c&&!m.lockPinned,C=n?.columns.length??0,v=C>0,w=jt(s),b=s.get("treeData"),y=e.isPrimary(),S=!y||h&&e.isAllowValue()&&(v||w||b);if(a&&!g&&e.isSortable()){const{isDefaultSortAllowed:s,isAbsoluteSortAllowed:i,isAbsoluteSort:n,isDefaultSort:r,isAscending:l,isDescending:a,direction:d}=ko(e,o);!s||l&&r||t.push("sortAscending"),!s||a&&r||t.push("sortDescending"),!i||l&&n||t.push("sortAbsoluteAscending"),!i||a&&n||t.push("sortAbsoluteDescending"),d&&t.push("sortUnSort"),t.push(pb)}if(d?.isFilterMenuItemEnabled(e)&&(t.push("columnFilter"),t.push(pb)),f&&t.push("pinSubMenu"),S&&t.push("valueAggSubMenu"),(f||S)&&t.push(pb),u&&(m.suppressAutoSize||t.push("autoSizeThis"),t.push("autoSizeAll"),t.push(pb)),n&&s.isModuleRegistered("SharedRowGrouping")){const s=t.length;m.showRowGroup?t.push("rowUnGroup"):e.isAllowRowGroup()&&y&&(e.isRowGroupActive()?Cw(e,o)||t.push("rowUnGroup"):t.push("rowGroup")),t.length>s&&t.push(pb)}return p(),l&&(It(s)||s.get("ssrmExpandAllAffectsAllRows"))&&(b||C>(r.isPivotMode()?1:0))&&(t.push("expandAll"),t.push("contractAll")),t}},class extends Oe{constructor(){super(...arguments),this.beanName="colChooserFactory"}createColumnSelectPanel(e,t,o,s){const i=e.createManagedBean(new Lw),{contractColumnSelection:n,suppressColumnExpandAll:r,suppressColumnFilter:l,suppressColumnSelectAll:a,suppressSyncLayoutWithGrid:d,columnLayout:c}=s??t?.getColDef().columnChooserParams??{};return i.init(!!o,Co(this.gos,{suppressColumnMove:!1,suppressValues:!1,suppressPivots:!1,suppressRowGroups:!1,suppressPivotMode:!1,contractColumnSelection:!!n,suppressColumnExpandAll:!!r,suppressColumnFilter:!!l,suppressColumnSelectAll:!!a,suppressSyncLayoutWithGrid:!!c||!!d,onStateUpdated:()=>{}}),"columnMenu"),c&&i.setColumnLayout(c),i}showColumnChooser({column:e,chooserParams:t,eventSource:o,headerPosition:s}){this.hideActiveColumnChooser();const i=this.createColumnSelectPanel(this,e,!0,t),n=this.getLocaleTextFunc(),r=this.beans,{visibleCols:l,focusSvc:a,menuUtils:d}=r,c=l.allCols.indexOf(e),h=e?a.focusedHeader??s??null:null;this.activeColumnChooserDialog=this.createBean(new Ev({title:n("chooseColumns","Choose Columns"),component:i,width:300,height:300,resizable:!0,movable:!0,centered:!0,closable:!0,afterGuiAttached:()=>{Ui(r,i.getGui())?.focus({preventScroll:!0}),this.dispatchVisibleChangedEvent(!0,e)},closedCallback:t=>{const s=this.activeColumnChooser.getGui();this.destroyBean(this.activeColumnChooser),this.activeColumnChooser=void 0,this.activeColumnChooserDialog=void 0,this.dispatchVisibleChangedEvent(!1,e),e&&d.restoreFocusOnClose({column:e,headerPosition:h,columnIndex:c,eventSource:o},s,t,!0)},postProcessPopupParams:{type:"columnChooser",column:e,eventSource:o}})),this.activeColumnChooser=i}hideActiveColumnChooser(){this.destroyBean(this.activeColumnChooserDialog)}dispatchVisibleChangedEvent(e,t){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:e,switchingTab:!1,key:"columnChooser",column:t??null})}}],icons:{ensureColumnVisible:"column-arrow",legacyMenu:"menu",filterTab:"filter",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate"},apiFunctions:{showColumnChooser:function(e,t){e.colChooserFactory?.showColumnChooser({chooserParams:t})},hideColumnChooser:function(e){e.colChooserFactory?.hideActiveColumnChooser()}},dependsOn:[xb,ia,Ca]};function Db(e,t,o){return e.getCompDetails(t,Mb,void 0,o,!0)}var Mb={name:"statusPanel",optionalMethods:["refresh"]},Pb={agAggregationComponent:{rowModels:["clientSide","serverSide"],warnArgs:[221]},agFilteredRowCountComponent:{rowModels:["clientSide"],warnArgs:[222]},agSelectedRowCountComponent:{rowModels:["clientSide","serverSide"],warnArgs:[223]},agTotalAndFilteredRowCountComponent:{rowModels:["clientSide"],warnArgs:[224]},agTotalRowCountComponent:{rowModels:["clientSide"],warnArgs:[225]}},Eb={tag:"div",cls:"ag-status-bar",children:[{tag:"div",ref:"eStatusBarLeft",cls:"ag-status-bar-left",role:"status"},{tag:"div",ref:"eStatusBarCenter",cls:"ag-status-bar-center",role:"status"},{tag:"div",ref:"eStatusBarRight",cls:"ag-status-bar-right",role:"status"}]},Tb={selector:"AG-STATUS-BAR",component:class extends Pi{constructor(){super(Eb),this.updateQueued=!1,this.panelsPromise=Ns.resolve(),this.eStatusBarLeft=null,this.eStatusBarCenter=null,this.eStatusBarRight=null,this.compDestroyFunctions={},this.registerCSS(".ag-status-bar{border-top:var(--ag-footer-row-border);display:flex;justify-content:space-between;line-height:1.5;overflow:hidden;padding-left:calc(var(--ag-spacing)*4);padding-right:calc(var(--ag-spacing)*4)}.ag-status-panel,:where(.ag-status-panel.ag-status-panel-aggregations .ag-status-name-value){display:inline-flex}.ag-status-name-value{color:var(--ag-status-bar-label-color);font-weight:var(--ag-status-bar-label-font-weight);margin-left:var(--ag-spacing);margin-right:var(--ag-spacing);padding-bottom:var(--ag-widget-container-vertical-padding);padding-top:var(--ag-widget-container-vertical-padding);white-space:nowrap}.ag-status-name-value-value{color:var(--ag-status-bar-value-color);font-weight:var(--ag-status-bar-value-font-weight)}.ag-status-bar-left{display:inline-flex}.ag-status-bar-center{display:inline-flex;text-align:center}.ag-status-bar-right{display:inline-flex}")}wireBeans(e){this.userCompFactory=e.userCompFactory,this.statusBarSvc=e.statusBarSvc}postConstruct(){this.processStatusPanels(/* @__PURE__ */new Map),this.addManagedPropertyListeners(["statusBar"],this.handleStatusBarChanged.bind(this)),In(this.beans,this,this.getGui())}getFocusableContainerName(){return"statusBar"}getValidPanels(){const e=this.gos,t=e.get("statusBar")?.statusPanels;return t?t.filter(t=>{const{rowModels:o,warnArgs:s}=Pb[t.statusPanel]??{};return!o||!!o.includes(e.get("rowModelType"))||(Dt(...s),!1)}):t}processStatusPanels(e){const t=this.getValidPanels();if(t){const o=t.filter(e=>"left"===e.align),s=t.filter(e=>"center"===e.align),i=t.filter(e=>!e.align||"right"===e.align);this.panelsPromise=Ns.all([this.createAndRenderComponents(o,this.eStatusBarLeft,e),this.createAndRenderComponents(s,this.eStatusBarCenter,e),this.createAndRenderComponents(i,this.eStatusBarRight,e)])}else this.setDisplayed(!1)}handleStatusBarChanged(){this.updateQueued||(this.updateQueued=!0,this.panelsPromise.then(()=>{this.updateStatusBar(),this.updateQueued=!1}))}updateStatusBar(){const e=this.getValidPanels(),t=Array.isArray(e)&&e.length>0;this.setDisplayed(t);const o=/* @__PURE__ */new Map;if(t)for(const s of e){const e=s.key??s.statusPanel,t=this.statusBarSvc.getStatusPanel(e);if(t?.refresh){const i=Co(this.gos,{...s.statusPanelParams??{},key:e});t.refresh(i)&&(o.set(e,t),delete this.compDestroyFunctions[e],ie(t.getGui()))}}this.resetStatusBar(),t&&this.processStatusPanels(o)}resetStatusBar(){se(this.eStatusBarLeft),se(this.eStatusBarCenter),se(this.eStatusBarRight),this.destroyComponents(),this.statusBarSvc.unregisterAllComponents()}destroy(){this.destroyComponents(),super.destroy()}destroyComponents(){for(const e of Object.values(this.compDestroyFunctions))e();this.compDestroyFunctions={}}createAndRenderComponents(e,t,o){const s=[];for(const i of e){const e=i.key||i.statusPanel,t=o.get(e);let n;if(t)n=Ns.resolve(t);else{const t=Db(this.userCompFactory,i,Co(this.gos,{key:e}));if(null==t)continue;n=t.newAgStackInstance()}s.push({key:e,promise:n})}return Ns.all(s.map(e=>e.promise)).then(()=>{for(const e of s)e.promise.then(o=>{const s=()=>{this.destroyBean(o)};this.isAlive()?(this.statusBarSvc.registerStatusPanel(e.key,o),t.appendChild(o.getGui()),this.compDestroyFunctions[e.key]=s):s()})})}}},Ib={tag:"div",cls:"ag-status-name-value",children:[{tag:"span",ref:"eLabel"},": ",{tag:"span",ref:"eValue",cls:"ag-status-name-value-value"}]},Ab=BigInt(Number.MIN_SAFE_INTEGER),kb=BigInt(Number.MAX_SAFE_INTEGER),Lb=class extends Pi{constructor(){super(Ib),this.eLabel=null,this.eValue=null}setLabel(e,t){this.setDisplayed(!1),this.eLabel.textContent=this.getLocaleTextFunc()(e,t)}setValue(e,t){let o,s=null;"bigint"==typeof e?(o=e,e>=Ab&&e<=kb&&(s=Number(e))):s=e,this.eValue.textContent=this.valueFormatter(Co(this.gos,{value:s,bigintValue:o,totalRows:t,key:this.key}))}},Gb={selector:"AG-NAME-VALUE",component:Lb},Nb=e=>{let t=0;return e.forEachNodeAfterFilter(e=>{e.data&&t++}),t},Bb=e=>{let t=0;return e.forEachNode(e=>{e.data&&t++}),t},Hb={tag:"div",cls:"ag-status-panel ag-status-panel-aggregations",children:[{tag:"ag-name-value",ref:"avgAggregationComp"},{tag:"ag-name-value",ref:"countAggregationComp"},{tag:"ag-name-value",ref:"minAggregationComp"},{tag:"ag-name-value",ref:"maxAggregationComp"},{tag:"ag-name-value",ref:"sumAggregationComp"}]},Ob={moduleName:"StatusBar",version:Dv,beans:[class extends Oe{constructor(){super(),this.beanName="statusBarSvc",this.comps=/* @__PURE__ */new Map}registerStatusPanel(e,t){this.comps.set(e,t)}unregisterStatusPanel(e){this.comps.delete(e)}unregisterAllComponents(){this.comps.clear()}getStatusPanel(e){return this.comps.get(e)}destroy(){this.unregisterAllComponents(),super.destroy()}}],userComponents:{agAggregationComponent:class extends Pi{constructor(){super(Hb,[Gb]),this.sumAggregationComp=null,this.countAggregationComp=null,this.minAggregationComp=null,this.maxAggregationComp=null,this.avgAggregationComp=null}postConstruct(){this.avgAggregationComp.setLabel("avg","Average"),this.countAggregationComp.setLabel("count","Count"),this.minAggregationComp.setLabel("min","Min"),this.maxAggregationComp.setLabel("max","Max"),this.sumAggregationComp.setLabel("sum","Sum"),this.addManagedEventListeners({cellSelectionChanged:this.onCellSelectionChanged.bind(this),modelUpdated:this.onCellSelectionChanged.bind(this)})}init(e){this.refresh(e)}refresh(e){this.params=e;const t=e.valueFormatter??(e=>{const{value:t,bigintValue:o}=e;return null!=o?o.toString():function(e,t){return"number"!=typeof e?"":Kp(Math.round(100*e)/100,t)}(t,this.getLocaleTextFunc.bind(this))});for(const o of["avg","count","min","max","sum"]){const e=this.getAllowedAggregationValueComponent(o);e&&(e.key=o,e.valueFormatter=t.bind(this))}return this.onCellSelectionChanged(),!0}setAggregationComponentValue(e,t,o){const s=this.getAllowedAggregationValueComponent(e),i=Bb(this.beans.rowModel);l(s)&&s?(s.setValue(t,i),s.setDisplayed(o)):this.getAggregationValueComponent(e)?.setDisplayed(!1)}getAllowedAggregationValueComponent(e){const{aggFuncs:t}=this.params;return!t||t.includes(e)?this.getAggregationValueComponent(e):null}getAggregationValueComponent(e){return this[`${e}AggregationComp`]}onCellSelectionChanged(){const e=this.beans,{rangeSvc:t,valueSvc:o}=e,s=t?.getCellRanges();let i=0,n=0n,r=!1,l=!1,d=0,c=0,h=null,u=null,g=null,p=null;const m=e=>{if("number"==typeof e)if(i+=e,(null===h||eu)&&(u=e),Number.isInteger(e)&&Number.isSafeInteger(e)){const t=BigInt(e);n+=t,(null===g||tp)&&(p=t)}else l=!0;else{r=!0,n+=e,(null===g||ep)&&(p=e);const t=Number(e);i+=t,(null===h||tu)&&(u=t)}c++},f={};if(s?.length&&t)for(let D=0;D{if(null===r)return;const s=wn({rowPinned:r.rowPinned,column:t,rowIndex:r.rowIndex});if(f[s])return;f[s]=!0;const n=Fn(e,r);if(a(n))return;let l=o.getValue(t,n,"data");if(!a(l)&&""!==l&&(d++,"object"!=typeof l||!("value"in l)||(l=l.value,""!==l))){if("string"==typeof l){const e=l.trim();if(""===e)return;const t=Number(e);if(!Number.isFinite(t))return;i+t>=Number.MAX_SAFE_INTEGER||i+t<=Number.MIN_SAFE_INTEGER||t>=Number.MAX_SAFE_INTEGER||t<=Number.MIN_SAFE_INTEGER?(l=Ka(e),null===l&&(l=t)):l=t}("number"==typeof l&&!isNaN(l)||"bigint"==typeof l)&&m(l)}}),r=En(e,r)}const C=d>1,v=c>1,w=r&&!l;let b;b=w?n/BigInt(c):i/c;const y=v?w?n:i:null,S=v?w?g:h:null,R=v?w?p:u:null,x=v?b:null,F=v;this.setAggregationComponentValue("count",d,C),this.setAggregationComponentValue("sum",y,v),this.setAggregationComponentValue("min",S,v),this.setAggregationComponentValue("max",R,v),this.setAggregationComponentValue("avg",x,F)}},agTotalRowCountComponent:class extends Lb{postConstruct(){this.setLabel("totalRows","Total Rows"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-total-row-count"),this.setDisplayed(!0),this.addManagedEventListeners({modelUpdated:this.onDataChanged.bind(this)})}onDataChanged(){const e=Bb(this.beans.rowModel);this.setValue(e,e)}init(e){this.refresh(e),this.onDataChanged()}updateValueFormatter(e){this.valueFormatter=e??(({value:e})=>Kp(e,this.getLocaleTextFunc.bind(this)))}refresh(e){const{key:t,valueFormatter:o}=e;return this.key=t,this.updateValueFormatter(o),!0}},agFilteredRowCountComponent:class extends Lb{postConstruct(){this.setLabel("filteredRows","Filtered"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-filtered-row-count"),this.setDisplayed(!0);const e=this.onDataChanged.bind(this);this.addManagedEventListeners({modelUpdated:e})}onDataChanged(){const{rowModel:e}=this.beans,t=Bb(e),o=Nb(e);this.setValue(o,t),this.setDisplayed(t!==o)}init(e){this.refresh(e),this.onDataChanged()}updateValueFormatter(e){this.valueFormatter=e??(({value:e})=>Kp(e,this.getLocaleTextFunc.bind(this)))}refresh(e){const{key:t,valueFormatter:o}=e;return this.key=t,this.updateValueFormatter(o),!0}},agTotalAndFilteredRowCountComponent:class extends Lb{postConstruct(){this.setLabel("totalAndFilteredRows","Rows"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-total-and-filtered-row-count"),this.setDisplayed(!0),this.addManagedEventListeners({modelUpdated:this.onDataChanged.bind(this)})}onDataChanged(){const{rowModel:e}=this.beans,t=Nb(e),o=Bb(e);this.setValue(t,o)}init(e){this.refresh(e),this.onDataChanged()}updateValueFormatter(e){this.valueFormatter=e??(({value:e,totalRows:t})=>{const o=this.getLocaleTextFunc.bind(this),s=Kp(e,o),i=Kp(t??e,o);return e===t?s:`${s} ${o()("of","of")} ${i}`})}refresh(e){const{key:t,valueFormatter:o}=e;return this.key=t,this.updateValueFormatter(o),!0}},agSelectedRowCountComponent:class extends Lb{postConstruct(){this.setLabel("selectedRows","Selected"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-selected-row-count");const e=this.onRowSelectionChanged.bind(this);this.addManagedEventListeners({modelUpdated:e,selectionChanged:e})}onRowSelectionChanged(){const{selectionSvc:e,rowModel:t}=this.beans,o=e?.getSelectionCount()??0,s=Bb(t);this.setValue(o,s),o<0?this.setDisplayed(!0):this.setDisplayed(o>0)}init(e){this.refresh(e),this.onRowSelectionChanged()}updateValueFormatter(e){this.valueFormatter=e??(({value:e})=>null==e||e>=0?Kp(e,this.getLocaleTextFunc.bind(this)):this.getLocaleTextFunc()("statusBarLastRowUnknown","?"))}refresh(e){const{key:t,valueFormatter:o}=e;return this.key=t,this.updateValueFormatter(o),!0}}},selectors:[Tb],apiFunctions:{getStatusPanel:function(e,t){const o=e.statusBarSvc?.getStatusPanel(t);return ph(o)}},dependsOn:[Mv,Zh]};function Vb(e){return"MULTI_SHEET"!==e.excelCreator?.getFactoryMode()||(Dt(161),!1)}var zb={moduleName:"ExcelExport",version:Dv,beans:[class extends wg{constructor(){super(...arguments),this.beanName="excelCreator",this.workbook=new QC}getMergedParams(e){const t=this.gos.get("defaultExcelExportParams");return Object.assign({},t,e)}export(e){if(this.isExportSuppressed())return void Dt(160);const t=()=>{const t=this.getMergedParams(e),o=this.getData(t),{fontSize:s,author:i,mimeType:n,customMetadata:r}=t,l={data:[o],fontSize:s,author:i,mimeType:n,customMetadata:r};this.packageCompressedFile(l).then(e=>{if(e){const{fileName:o}=t,s="function"==typeof o?o(Co(this.gos,{})):o;bg(this.getFileName(s),e)}})},{overlays:o}=this.beans;o?o.showExportOverlay(t):t()}exportDataAsExcel(e){this.export(e)}getDataAsExcel(e){const t=this.getMergedParams(e),o=this.getData(t),{fontSize:s,author:i,mimeType:n,customMetadata:r}=t,l={data:[o],fontSize:s,author:i,mimeType:n,customMetadata:r};return this.packageFile(l)}setFactoryMode(e){this.workbook.setFactoryMode(e)}getFactoryMode(){return this.workbook.getFactoryMode()}getSheetDataForExcel(e){const t=this.getMergedParams(e);return this.getData(t)}getMultipleSheetsAsExcel(e){return cv(e,this.workbook)}exportMultipleSheetsAsExcel(e){dv(e,this.workbook).then(t=>{const{fileName:o="export.xlsx"}=e;t&&bg("function"==typeof o?o():o,t)})}getDefaultFileExtension(){return"xlsx"}createSerializingSession(e){const{colModel:t,colNames:o,rowGroupColsSvc:s,valueSvc:i,formula:n,gos:r}=this.beans,l=r.get("excelStyles")||[],a=this.createStyleLinker(l);return new Qm({...e,colModel:t,colNames:o,rowGroupColsSvc:s,valueSvc:i,formulaSvc:n,gos:r,suppressRowOutline:e.suppressRowOutline||e.skipRowGroups,headerRowHeight:e.headerRowHeight||e.rowHeight,baseExcelStyles:l,rightToLeft:e.rightToLeft??r.get("enableRtl"),styleLinker:a,headerRowCount:Hn(t),pivotModeActive:t.isPivotActive(),workbook:this.workbook})}createStyleLinker(e){const t=[],o=/* @__PURE__ */new Set,s=/* @__PURE__ */new Map;e.forEach((e,i)=>{t.push(e.id),o.add(e.id),s.set(e.id,i)});const{gos:i,cellStyles:n}=this.beans;return e=>{const{rowType:r,rowIndex:l,value:a,column:d,columnGroup:c,node:h}=e,u="HEADER"===r,g="HEADER_GROUPING"===r,p=u?d:c;let m=[];if(u||g)return m.push("header"),g&&m.push("headerGroup"),p&&(m=m.concat(ir(p.getDefinition(),i,d||null,c||null))),m;const f=["cell"];if(!t.length)return f;const C=d.getDefinition();return n?.processAllCellClasses(C,Co(i,{value:a,data:h.data,node:h,colDef:C,column:d,rowIndex:l}),e=>{o.has(e)&&f.push(e)}),f.sort((e,t)=>{const o=s.get(e)??-1,i=s.get(t)??-1;return o===i?0:o0?t:[{filter:"agTextColumnFilter"},{filter:"agSetColumnFilter"}]}function Ub(e,t){if(null!=e)for(let o=e.length-1;o>=0;o--)t(e[o],o)}function $b(e,t,o,s){const i=[],n=e?.filterModels;for(let r=0;rnull==e)?null:{filterType:"multi",filterModels:i}}function jb(e,t){return e?.filterModels?.[t]??null}function Kb(e,t,o,s){const i=o.filterValueGetter;return i?e.colFilter.createGetValue(t,i):s}var _b=class extends Ml{constructor(){super({tag:"div",cls:"ag-multi-filter ag-menu-list-compact"}),this.filterDefs=[],this.guiDestroyFuncs=[],this.filterGuis=[],this.lastActivatedMenuItem=null}postConstruct(){this.initialiseTabGuard({onFocusIn:e=>this.onFocusIn(e)})}refreshGui(e){return e===this.lastOpenedInContainer?Ns.resolve():(this.tabGuardFeature.removeAllChildrenExceptTabGuards(),this.destroyChildren(),Ns.all(this.getFilterWrappers().map((t,o)=>{if(!t)return Ns.resolve(null);const s=this.getFilterFromWrapper(t),i=this.getCompFromWrapper(t),n=this.filterDefs[o],r=function(e,t){return null!=t.title?t.title:e instanceof tn?e.getFilterTitle():"Filter"}(s,n);let l;if("subMenu"===n.display&&"toolPanel"!==e)l=this.insertFilterMenu(i,s,r).then(e=>e.getGui());else if("subMenu"===n.display||"accordion"===n.display){const e=this.insertFilterGroup(s,i,r);l=Ns.resolve(e.getGui())}else l=Ns.resolve(i.getGui());return l})).then(t=>{t.forEach((e,t)=>{e&&(t>0&&this.appendChild(Cl({tag:"div",cls:"ag-filter-separator"})),this.appendChild(e))}),this.filterGuis=t,this.lastOpenedInContainer=e}))}destroyChildren(){for(const e of this.guiDestroyFuncs)e();this.guiDestroyFuncs.length=0,this.filterGuis.length=0}insertFilterMenu(e,t,o){P(e.getGui(),"dialog");const s=this.createBean(new yw);return s.init({menuItemDef:{name:o,subMenu:[],subMenuRole:"dialog",cssClasses:["ag-multi-filter-menu-item"],menuItem:Yv,menuItemParams:{cssClassPrefix:"ag-compact-menu-option",isCompact:!0}},level:0,isAnotherSubMenuOpen:()=>!1,childComponent:{getGui:()=>e.getGui(),afterGuiAttached:o=>{e.afterGuiAttached?.(o),e!==t&&t.afterGuiAttached?.(o)}},contextParams:{column:null,node:null,value:null}}).then(()=>{s.setParentComponent(this),this.guiDestroyFuncs.push(()=>this.destroyBean(s)),this.addManagedListeners(s,{menuItemActivated:e=>{this.lastActivatedMenuItem&&this.lastActivatedMenuItem!==e.menuItem&&this.lastActivatedMenuItem.deactivate(),this.lastActivatedMenuItem=e.menuItem}});const e=s.getGui();return s.addManagedElementListeners(e,{keydown:e=>{const{key:t}=e;switch(t){case bs:case ys:case Ss:case ws:e.preventDefault(),t===ys&&s.openSubMenu(!0)}},focusin:()=>s.activate(),focusout:()=>{s.isSubMenuOpen()||s.isSubMenuOpening()||s.deactivate()}}),s})}insertFilterGroup(e,t,o){const s=this.createBean(new Rv({title:o,cssIdentifier:"multi-filter"}));return this.guiDestroyFuncs.push(()=>this.destroyBean(s)),s.addItem(t.getGui()),s.toggleGroupExpand(!1),e.afterGuiAttached&&s.addManagedListeners(s,{expanded:()=>e.afterGuiAttached({container:this.lastOpenedInContainer,suppressFocus:!0,hidePopup:this.hidePopup})}),s}afterGuiAttached(e){let t;e?(this.hidePopup=e.hidePopup,t=this.refreshGui(e.container)):(this.hidePopup=void 0,t=Ns.resolve());const o=e?.suppressFocus;t.then(()=>{const{filterDefs:t,filterGuis:s,beans:i}=this,n=this.getFilterWrappers();let r=!!o;t&&Ub(t,(t,i)=>{const l=0===i,a=t.display&&"inline"!==t.display,d=o||!l||a,c={...e??{},suppressFocus:d},h=n[i],u=h?this.getFilterFromWrapper(h):void 0;if(h){const e=this.getCompFromWrapper(h);e!==u&&e.afterGuiAttached(c)}if(u&&(this.executeFunctionIfExistsOnFilter(u,"afterGuiAttached",c),l&&!d&&(r=!0)),!o&&l&&a){const e=s[i];e&&(Wi(e)||e.focus({preventScroll:!0}),r=!0)}});const l=w(i);r||!y(i)&&!this.getGui().contains(l)||this.forceFocusOutOfContainer(!0)})}afterGuiDetached(){this.executeFunctionIfExists("afterGuiDetached")}onAnyFilterChanged(){this.executeFunctionIfExists("onAnyFilterChanged",e=>this.executeOnWrapper(e,"onAnyFilterChanged"))}onNewRowsLoaded(){this.executeFunctionIfExists("onNewRowsLoaded",e=>this.executeOnWrapper(e,"onNewRowsLoaded"))}destroy(){this.destroyChildren(),this.hidePopup=void 0,super.destroy()}executeOnWrapper(e,t){}executeFunctionIfExists(e,t){Ub(this.getFilterWrappers(),o=>{o&&(t?.(o),this.executeFunctionIfExistsOnFilter(this.getFilterFromWrapper(o),e))})}executeFunctionIfExistsOnFilter(e,t,...o){const s=e[t];"function"==typeof s&&s.apply(e,o)}onFocusIn(e){const t=this.lastActivatedMenuItem;null==t||t.getGui().contains(e.target)||(t.deactivate(),this.lastActivatedMenuItem=null)}},qb=class extends _b{constructor(){super(...arguments),this.filterType="multi",this.wrappers=[],this.activeFilterIndices=[],this.afterFiltersReadyFuncs=[]}init(e){this.params=e,this.filterDefs=Wb(e);const t=wp(this.beans.colFilter.model,e.column.getColId()),{filterChangedCallback:o}=e;this.filterChangedCallback=o;const s=this.filterDefs.map((e,o)=>this.createFilter(e,o,t));return new Ns(e=>{Ns.all(s).then(t=>{this.wrappers=t,this.refreshGui("columnMenu").then(()=>{e()})})}).then(()=>{for(const e of this.afterFiltersReadyFuncs)e();this.afterFiltersReadyFuncs.length=0})}refresh(e){return this.params=e,!0}isFilterActive(){return this.wrappers.some(e=>{if(!e)return!1;const{filter:t,handler:o,model:s}=e;return o?null!=s:t.isFilterActive()})}getLastActiveFilterIndex(){const e=this.activeFilterIndices;return e.length>0?e[e.length-1]:null}doesFilterPass(e,t){return this.wrappers.every((o,s)=>{if(!o||null!=t&&s===t)return!0;const{handler:i,filter:n,model:r}=o;return i?null==r||i.doesFilterPass({...e,model:r,handlerParams:o.handlerParams}):!n.isFilterActive()||n.doesFilterPass(e)})}getModelFromUi(){return{filterType:this.filterType,filterModels:this.wrappers.map(e=>{if(!e)return null;const t=e.filter;return"function"==typeof t.getModelFromUi?t.getModelFromUi():null})}}getModel(){return this.isFilterActive()?{filterType:this.filterType,filterModels:this.wrappers.map(e=>{if(!e)return null;const{filter:t,handler:o,model:s}=e;return o?s:t.isFilterActive()?t.getModel():null})}:null}setModel(e){const t=[];return this.wrappers.forEach((o,s)=>{if(!o)return;const i=jb(e,s),{filter:n,filterParams:r,handler:l,handlerParams:a,state:d}=o;if(l){const e={model:i,state:d?.state};o.state=e,o.model=i,t.push(mp(()=>Ns.resolve({filter:n,filterParams:r}),l,a,i,e,"api").then(()=>{this.updateActiveListForHandler(s,o.model)}))}else t.push(((e,t)=>new Ns(o=>{const s=e.setModel(t);s?s.then(o):o()}))(n,i).then(()=>{this.updateActiveListForFilter(s,n)}))}),Ns.all(t).then(()=>{})}applyModel(e="api"){let t=!1;for(const o of this.wrappers)if(o){const s=o.filter;s instanceof tn&&(t=s.applyModel(e)||t)}return t}getChildFilterInstance(e){return this.wrappers[e]?.filter}getNumChildFilters(){return this.wrappers.length}destroy(){for(const e of this.wrappers)this.destroyBean(e?.filter),this.destroyBean(e?.handler);this.wrappers.length=0,super.destroy()}getFilterWrappers(){return this.wrappers}getFilterFromWrapper(e){return e.filter}getCompFromWrapper(e){return e.comp}executeOnWrapper(e,t){e.handler?.[t]?.()}createFilter(e,t,o){const s=this.params.column;let i,n=null;const r=this.beans,l=(e,o)=>{const s=this.wrappers[t];if(!s)return;const i={model:e,state:s.state?.state};s.state=i,s.model=e,mp(()=>Ns.resolve({filter:s.filter,filterParams:s.filterParams}),s.handler,s.handlerParams,e,i,"ui").then(()=>{this.onHandlerModelChanged(t,s.model,o)})},{compDetails:a,handler:d,handlerParams:c,createFilterUi:h}=r.colFilter.createFilterInstance(s,e,"agTextColumnFilter",(c,h)=>{const u={...c,filterChangedCallback:h?()=>{}:e=>{this.executeWhenAllFiltersReady(()=>this.onFilterModelChanged(t,e))},doesRowPassOtherFilter:e=>c.doesRowPassOtherFilter(e)&&this.doesFilterPass({node:e,data:e.data},t),getValue:Kb(r,s,e,c.getValue)};return h&&(n=jb(o,t),i=this.updateDisplayParams(u,t,n,()=>a,()=>d,l)),u});if(!h)return Ns.resolve(null);let u;if(d){const{doesRowPassOtherFilter:o,getValue:i}=c;u={...c,onModelChange:l,doesRowPassOtherFilter:e=>o(e)&&this.doesFilterPass({node:e,data:e.data},t),getValue:Kb(r,s,e,i)},d.init?.({...u,model:n,source:"init"})}return h().then(e=>{if(!d)return{filter:e,comp:e};const t=a?.params;return{filter:e,comp:i(e),filterParams:t,handler:d,handlerParams:u,model:n}})}updateDisplayParams(e,t,o,s,i,n){const r=this.params.column,l=new u;e.model=o,e.state={model:o},e.onModelChange=n,e.getHandler=i;const a=(e,t)=>{e.state=t,l.dispatchEvent({type:"filterStateChanged",column:r,state:t})};e.onStateChange=e=>{const o=this.wrappers[t];o&&(a(o,e),fp(o.filter,o.filterParams,o.model??null,e,"ui"))};const d=(e,o,i)=>{const n=this.wrappers[t];if(!n)return;const r=()=>n?.model??null;vp({action:o,filterParams:n.filterParams,getFilterUi:()=>{const e=Ns.resolve(n.filter);return{created:!0,filterParams:n.filterParams,compDetails:s(),create:()=>e,promise:e}},getModel:r,getState:()=>n?.state??{model:r()},updateState:e=>a(n,e),updateModel:e=>n.filterParams?.onModelChange(e,i),processModelToApply:n.handler?.processModelToApply?.bind(n.handler)})};return e.onAction=(e,t,o)=>{d(0,e,t),l.dispatchEvent({type:"filterAction",column:r,action:e,event:o})},e=>{const t=s()?.params;return this.createManagedBean(new Hp(r,{comp:e,params:t,isHandler:!0},l,d,!1))}}executeWhenAllFiltersReady(e){(this.wrappers?.length??0)>0?e():this.afterFiltersReadyFuncs.push(e)}updateActiveListForFilter(e,t){this.updateActiveList(e,()=>t?.isFilterActive())}updateActiveListForHandler(e,t){this.updateActiveList(e,()=>null!=t)}updateActiveList(e,t){const o=this.activeFilterIndices;s(this.activeFilterIndices,e),t()&&o.push(e)}onFilterModelChanged(e,t){this.updateActiveListForFilter(e,this.wrappers[e]?.filter),this.filterChanged(e,t)}onHandlerModelChanged(e,t,o){this.updateActiveListForHandler(e,t),this.filterChanged(e,o)}filterChanged(e,t){this.filterChangedCallback(t),this.wrappers.forEach((t,o)=>{if(e===o||!t)return;const{filter:s,handler:i}=t;i?.onAnyFilterChanged?.(),"function"==typeof s.onAnyFilterChanged&&s.onAnyFilterChanged()})}getModelAsString(e){if(!e?.filterModels?.length)return"";const t=this.getLastActiveFilterIndex()??0;return(this.wrappers[t]?.filter)?.getModelAsString?.(e.filterModels[t])??""}},Yb=class extends _b{constructor(){super(...arguments),this.filterType="multi",this.filters=[],this.filterParams=[],this.validity=[]}init(e){this.params=e,this.filterDefs=Wb(e).map(t=>{if(t.filterParams?.buttons){Dt(292,{colId:e.column.getColId()});const o={...t.filterParams};return delete o.buttons,{...t,filterParams:o}}return t}),this.allState=e.state;const t=this.filterDefs.map((e,t)=>this.createFilter(e,t));return new Ns(e=>{Ns.all(t).then(t=>{this.filters=t,this.refreshGui("columnMenu").then(()=>{e()})})})}refresh(e){const{model:t,state:o,source:s}=e;if("colDef"===s)return!1;this.params=e;const i=this.filterParams;if(o===this.allState)return!0;this.allState=o;const n=o.state;return this.filters.forEach((e,r)=>{const l=jb(t,r),a={state:n?.[r],model:jb(o.model,r)};fp(e,i[r],l,a,s)}),!0}getLastActiveFilterIndex(){return this.getHandler().getLastActiveFilterIndex?.()??null}getChildFilterInstance(e){return this.filters[e]??void 0}getNumChildFilters(){return this.filters.length}destroy(){for(const e of this.filters)this.destroyBean(e);this.filters.length=0,super.destroy()}getFilterWrappers(){return this.filters}getFilterFromWrapper(e){return e}getCompFromWrapper(e){return e}createFilter(e,t){const o=ri(this.beans.userCompFactory,e,this.updateParams(e,this.params,t),"agTextColumnFilter");return o?(this.filterParams[t]=o.params,o.newAgStackInstance()):Ns.resolve(null)}updateParams(e,t,o){const{doesRowPassOtherFilter:s,model:i,onModelChange:n,state:r,onStateChange:l,column:a,source:d,onAction:c,onUiChange:h,getValue:u}=t,g=jb(i,o),p=r?{model:jb(r.model,o),state:r.state?.[o]}:{model:g},m=()=>{const e=this.getHandler();this.filters.forEach((t,s)=>{o!==s&&(e.getHandler(s)?.onAnyFilterChanged?.(),t?.onAnyFilterChanged?.())})},f=this.beans.colFilter;return{...f.createBaseFilterParams(a),...e,doesRowPassOtherFilter:e=>s(e)&&this.getHandler().doesFilterPass({node:e,data:e.data,model:this.params.model,handlerParams:f.getHandlerParams(a)},o),model:g,state:p,onModelChange:(e,t)=>{const{filters:s,params:i}=this,r=$b(i.model,s.length,e,o);this.updateActiveList(o,e),n(r,t),m()},onStateChange:e=>this.onStateChange(l,o,e),getHandler:()=>this.getHandler().getHandler(o),onAction:(e,s,i)=>{if(en(t))return;const n="apply"===e||"reset"===e;n&&this.updateActiveList(o,jb(this.params.state.model,o)),c(e,s,i),n&&m()},onUiChange:h,source:d,getValue:Kb(this.beans,a,e,u)}}updateActiveList(e,t){this.getHandler().updateActiveList?.(e,t)}getHandler(){return this.params.getHandler()}onStateChange(e,t,o){const{model:s,state:i,valid:n}=o,r=this.validity;r[t]=n;const l=this.allState,a=$b(l.model,this.filters.length,s,t),d=r.every(e=>!1!==e),c=[...l.state??[]];c[t]=i;const h={state:c,model:a,valid:d};this.allState=h,e(h)}getModelAsString(e){return this.getHandler().getModelAsString?.(e)??""}},Zb={tag:"div",cls:"ag-multi-floating-filter ag-floating-filter-input"},Qb={moduleName:"MultiFilter",version:Dv,userComponents:{agMultiColumnFilter:{getComp:e=>e.gos.get("enableFilterHandlers")?{classImp:Yb,params:{useForm:!0}}:qb},agMultiColumnFloatingFilter:class extends Pi{constructor(){super(Zb),this.floatingFilters=[],this.compDetailsList=[]}init(e){this.params=e;const{compDetailsList:t}=this.getCompDetailsList(e);return this.setParams(t)}setParams(e){const t=[];return e.forEach(e=>{const o=e?.newAgStackInstance();null!=o&&(this.compDetailsList.push(e),t.push(o))}),Ns.all(t).then(e=>{e.forEach((e,t)=>{this.floatingFilters.push(e);const o=e.getGui();this.appendChild(o),t>0&&K(o,!1)})})}refresh(e){this.params=e;const{compDetailsList:t,floatingFilterParamsList:o}=this.getCompDetailsList(e);if(t.length===this.compDetailsList.length&&t.every((e,t)=>!this.beans.colFilter?.areFilterCompsDifferent(this.compDetailsList[t],e))){if(o.forEach((e,t)=>{this.floatingFilters[t].refresh?.(e)}),this.gos.get("enableFilterHandlers")){const t=e;if(null==t.model)this.floatingFilters.forEach((e,t)=>{K(e.getGui(),0===t)});else{const e=t.getHandler()?.getLastActiveFilterIndex?.();this.floatingFilters.forEach((t,o)=>{const s=null==e?0===o:o===e;K(t.getGui(),s)})}}}else se(this.getGui()),this.destroyBeans(this.floatingFilters),this.floatingFilters=[],this.compDetailsList=[],this.setParams(t)}getCompDetailsList(e){const t=[],o=[],s=e.filterParams,i=e.currentParentModel,n=Wb(s);return n.forEach((s,r)=>{const l={...e,parentFilterInstance:e=>{this.parentMultiFilterInstance(t=>{const o=t.getChildFilterInstance(r);null!=o&&e(o)})},currentParentModel:()=>i()?.filterModels?.[r]??null};if(this.gos.get("enableFilterHandlers")){const e=l;e.model=e.model?.filterModels?.[r]??null;const{onModelChange:t,getHandler:o}=e;e.onModelChange=(e,o)=>t($b(this.params.model,n.length,e,r),o),e.getHandler=()=>o().getHandler(r)}Ye(l.filterParams,s.filterParams);const a=this.getCompDetails(s,l);a&&(t.push(a),o.push(l))}),{compDetailsList:t,floatingFilterParamsList:o}}onParentModelChanged(e,t){t?.afterFloatingFilter||this.parentMultiFilterInstance(o=>{if(null==e)this.floatingFilters.forEach((e,o)=>{e.onParentModelChanged(null,t),K(e.getGui(),0===o)});else{const s=o.getLastActiveFilterIndex();this.floatingFilters.forEach((o,i)=>{const n=e.filterModels.length>i?e.filterModels[i]:null;o.onParentModelChanged(n,t);const r=null==s?0===i:i===s;K(o.getGui(),r)})}})}destroy(){this.destroyBeans(this.floatingFilters),this.floatingFilters.length=0,super.destroy()}getCompDetails(e,t){const{colFilter:o,frameworkOverrides:s,userCompFactory:i}=this.beans;return li(i,e,t,Lp(s,e,()=>o.getDefaultFloatingFilter(this.params.column))??"agReadOnlyFloatingFilter")}parentMultiFilterInstance(e){this.params.parentFilterInstance(t=>{t instanceof qb||t instanceof Yb||Mt(120),e(t)})}}},beans:[class extends Oe{constructor(){super(...arguments),this.beanName="multiFilter"}getParamsForDataType(e,t,o,s){let i=e?.filters;const n=this.beans;i||(i=[{filter:kp(o.baseDataType)},{filter:"agSetColumnFilter"}]);const r=this.getLocaleTextFunc();return i=i.map(e=>{const{filter:i,filterParams:l,filterValueGetter:a}=e;if("string"!=typeof i)return e;const{filterParams:d,filterValueGetter:c}=Tp(i,l,a??t,o,s,n,r);return{...e,filterParams:d,filterValueGetter:c}}),{filterParams:{...e,filters:i}}}}],dynamicBeans:{agMultiColumnFilterHandler:class extends Oe{constructor(){super(...arguments),this.filterType="multi",this.handlerWrappers=[],this.activeFilterIndices=[],this.filterDefs=[]}init(e){this.params=e;const t=Wb(e.filterParams);this.filterDefs=t,t.forEach((t,o)=>{const s=this.beans.colFilter.createHandler(e.column,t,"agTextColumnFilter");if(this.handlerWrappers.push(s),!s)return void Dt(278,{colId:e.column.getColId()});const{handler:i,handlerParams:n}=s;i.init?.({...this.updateHandlerParams(n,o,!0),model:jb(e.model,o),source:"init"})}),this.resetActiveList(e.model)}refresh(e){this.params=e;const{model:t,source:o,filterParams:s}=e,i=s?.filters;this.handlerWrappers.forEach((s,n)=>{if(s){const r=this.updateHandlerParams(e,n,!1,i?.[n].filterParams);s.handlerParams=r,s.handler.refresh?.({...r,model:jb(t,n),source:o})}}),"floating"!==e.source&&"ui"!==e.source&&this.resetActiveList(e.model),e.additionalEventAttributes?.fromButtons&&this.onAnyFilterChanged()}updateHandlerParams(e,t,o,s){const{onModelChange:i,doesRowPassOtherFilter:n,getValue:r}=e,l={...e,onModelChange:(e,o)=>i($b(this.params.model,this.handlerWrappers.length,e,t),o),doesRowPassOtherFilter:e=>n(e)&&this.doesFilterPass({node:e,data:e.data,model:this.params.model,handlerParams:l},t),getValue:Kb(this.beans,e.column,this.filterDefs[t],r),filterParams:this.updateFilterParams(e,o,s)};return l}updateFilterParams(e,t,o){const s=e.filterParams;o?.buttons&&t&&Dt(292,{colId:e.column.getColId()});const i=o?{...s,...o}:s;if(!i.buttons)return i;if(o)return delete i.buttons,i;const{buttons:n,...r}=i;return r}doesFilterPass(e,t){const o=e.model?.filterModels;return null==o||this.handlerWrappers.every((s,i)=>{const n=o[i];if(null==n||null!=t&&i===t)return!0;const r=s?.handler;return!r||r.doesFilterPass({...e,model:n,handlerParams:s.handlerParams})})}resetActiveList(e){this.activeFilterIndices=[];const t=e?.filterModels;if(null!=t)for(let o=0;o0?e[e.length-1]:null}getModelAsString(e,t){const o="filterToolPanel"===t,s=()=>o?this.getLocaleTextFunc()("filterSummaryInactive","is (All)"):"";if(!e?.filterModels?.length)return s();const i=this.getLastActiveFilterIndex()??0;return this.handlerWrappers[i]?.handler.getModelAsString?.(e.filterModels[i],t)??s()}getHandler(e){return this.handlerWrappers[e]?.handler}onAnyFilterChanged(){Ub(this.handlerWrappers,e=>e?.handler?.onAnyFilterChanged?.())}onNewRowsLoaded(){Ub(this.handlerWrappers,e=>e?.handler?.onNewRowsLoaded?.())}destroy(){for(const e of this.handlerWrappers)this.destroyBean(e?.handler);this.handlerWrappers.length=0,super.destroy()}}},dependsOn:[Mv,Up,Zv]},Xb={sum:"Sum",first:"First",last:"Last",min:"Min",max:"Max",count:"Count",avg:"Average"};function Jb(e){const{values:t}=e;let o=null;for(let s=0;s0?e.values[0]:null}function ty(t){return t.values.length>0?e(t.values):null}function oy(e){const{values:t}=e;let o=null;for(let s=0;se)||(o=e)}return o}function sy(e){const{values:t}=e;let o=null;for(let s=0;s0&&(i=o/("number"==typeof o?s:BigInt(s)));const n=e.rowNode?.aggData?.[e.column?.getColId()];if(n&&n.count===s&&n.value===i)return n;const r=Object.create(ry);return r.count=s,r.value=i,r}var ay=(e,t,o)=>{const s=t?.colDef,i=s?.pivotKeys;return i?e.leafGroup&&i.length&&!s.pivotTotalColumnIds?hw(e.childrenMapped,i):e.childrenAfterFilter??e.childrenAfterGroup??[]:$t(o)||o.get("suppressAggFilteredOnly")?e.childrenAfterGroup??[]:e.childrenAfterFilter??e.childrenAfterGroup??[]},dy=(e,t,o,s)=>{for(let i=0,n=e.length;i{if("function"==typeof e)return e;if(null==e)return null;const s=t.getAggFunc(e);return"function"!=typeof s?(Dt(109,{inputValue:e.toString(),allSuggestions:t.getFuncNames(o)}),null):s};function hy(e,t){if(e.sibling)return;const o=((e,t)=>{const o=new ln(t);for(const s of Object.keys(e))cn.has(s)||(o[s]=e[s]);return o.oldRowTop=null,o})(e,t);o.footer=!0,o.setRowTop(null),o.setRowIndex(null),o.oldRowTop=null,o.id="rowGroupFooter_"+e.id,o.sibling=e,e.sibling=o}function uy(e){const t=e.sibling;t&&(t._destroy(!1),e.sibling=void 0,t.sibling=void 0)}var gy=class extends bm{constructor(){super(...arguments),this.beanName="valueColsSvc",this.eventName="columnValueChanged",this.columnProcessors={set:(e,t,o)=>this.setValueActive(t,e,o),add:(e,t,o)=>this.setValueActive(!0,e,o),remove:(e,t,o)=>this.setValueActive(!1,e,o)},this.columnExtractors={setFlagFunc:(e,t,o)=>this.setColValueActive(e,t,o),getIndexFunc:()=>{},getInitialIndexFunc:()=>{},getValueFunc:e=>{const t=e.aggFunc;return null===t||""===t?null:void 0!==t?!!t:void 0},getInitialValueFunc:e=>null!=e.initialAggFunc&&""!=e.initialAggFunc},this.modifyColumnsNoEventsCallbacks={addCol:e=>this.columns.push(e),removeCol:e=>s(this.columns,e)}}extractCols(e,t){this.columns=super.extractCols(e,t);for(const o of this.columns){const e=o.getColDef();null!=e.aggFunc&&""!=e.aggFunc?this.setColAggFunc(o,e.aggFunc):o.getAggFunc()||this.setColAggFunc(o,e.initialAggFunc)}return this.columns}setColumnAggFunc(e,t,o){if(!e)return;const s=this.colModel.getColDefCol(e);s&&(this.setColAggFunc(s,t),this.dispatchColumnChangedEvent(this.eventSvc,this.eventName,[s],o))}syncColumnWithState(e,t,o){const s=o("aggFunc").value1;void 0!==s&&("string"==typeof s?(this.setColAggFunc(e,s),e.isValueActive()||(this.setColValueActive(e,!0,t),this.modifyColumnsNoEventsCallbacks.addCol(e))):(l(s)&&Dt(33),e.isValueActive()&&(this.setColValueActive(e,!1,t),this.modifyColumnsNoEventsCallbacks.removeCol(e))))}setValueActive(e,t,o){if(e!==t.isValueActive()&&(this.setColValueActive(t,e,o),e&&!t.getAggFunc()&&this.aggFuncSvc)){const e=this.aggFuncSvc.getDefaultAggFunc(t);this.setColAggFunc(t,e)}}setColAggFunc(e,t){e.aggFunc=t,e.dispatchStateUpdatedEvent("aggFunc")}setColValueActive(e,t,o){e.aggregationActive!==t&&(e.aggregationActive=t,e.dispatchColEvent("columnValueChanged",o))}},py={moduleName:"SharedAggregation",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="aggFuncSvc",this.aggFuncsMap={},this.initialised=!1}postConstruct(){this.init()}init(){this.initialised||(this.initialiseWithDefaultAggregations(),this.addAggFuncs(this.gos.get("aggFuncs")))}initialiseWithDefaultAggregations(){const e=this.aggFuncsMap;e.sum=Jb,e.first=ey,e.last=ty,e.min=oy,e.max=sy,e.count=ny,e.avg=ly,this.initialised=!0}isAggFuncPossible(e,t){const o=this.getFuncNames(e).includes(t),s=l(this.aggFuncsMap[t]);return o&&s}getDefaultFuncLabel(e){return Xb[e]??e}getDefaultAggFunc(e){const t=e.getColDef().defaultAggFunc;if(l(t)&&this.isAggFuncPossible(e,t))return t;if(this.isAggFuncPossible(e,"sum"))return"sum";const o=this.getFuncNames(e);return o?.length?o[0]:null}addAggFuncs(e){if(this.init(),e)for(const t of Object.keys(e))e[t]&&(this.aggFuncsMap[t]=e[t])}getAggFunc(e){return this.init(),this.aggFuncsMap[e]}getFuncNames(e){const t=e.getColDef().allowedAggFuncs;return null==t?Object.keys(this.aggFuncsMap).sort():t}clear(){this.aggFuncsMap={}}},class extends Oe{constructor(){super(...arguments),this.beanName="aggColNameSvc"}getHeaderName(e,t){if(this.gos.get("suppressAggFuncInHeader"))return t;const{valueColsSvc:o,colModel:s,rowGroupColsSvc:i}=this.beans,n=e.getColDef().pivotValueColumn;let r,a=null;if(l(n)){const s=o?.columns??[],i=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&1===s.length,l=void 0!==e.getColDef().pivotTotalColumnIds;if(i&&!l)return t;a=n?n.getAggFunc():null,r=!0}else{const t=e.isValueActive(),o=0!==i?.columns.length,n=s.isPivotMode()||o||this.gos.get("treeData");t&&n?(a=e.getAggFunc(),r=!0):r=!1}if(r){const e="string"==typeof a?a:"func";return`${this.getLocaleTextFunc()(e,e)}(${t})`}return t}},class extends Oe{constructor(){super(...arguments),this.beanName="footerSvc"}addTotalRows(e,t,o,s,i,n){let r=e;if(i)return function(e,t){switch(t){case"top":case"pinnedTop":return"top"===e;case"bottom":case"pinnedBottom":return"bottom"===e;default:return!1}}(n,s&&jt(this.gos))&&(hy(t,this.beans),o(t.sibling,r++)),r;const l=Kt(this.gos);return(s&&l({node:t}))===n&&(hy(t,this.beans),o(t.sibling,r++)),r}getTopDisplayIndex(e,t,o,s){let i=t;if(e[0].footer){if(0===t)return 0;i-=1}const n=e[e.length-1],r=i>=o.length;return n.footer&&r?n.rowIndex:s(i)}doesCellShowTotalPrefix(e,t){return!(!e.footer||!t?.getColDef().showRowGroup)&&(!!this.gos.get("treeData")||(-1===e.level?this.beans.showRowGroupCols?.columns[0]===t:!!e.rowGroupColumn&&t?.isRowGroupDisplayed(e.rowGroupColumn.getId())))}applyTotalPrefix(e,t,o,s){const i=s.getColDef().cellRendererParams?.totalValueGetter;if(i){const n=Co(this.gos,{column:s,node:o,value:e,formattedValue:t});if("function"==typeof i)return i(n);if("string"==typeof i)return this.beans.expressionSvc?.evaluate(i,n);Dt(179)}return-1===o.level?this.getLocaleTextFunc()("footerTotal","Total")+" ":this.getTotalValue(t??e)??""}getTotalValue(e){return this.getLocaleTextFunc()("footerTotal","Total")+" "+(e??"")}},gy],apiFunctions:{addAggFuncs:function(e,t){e.aggFuncSvc&&e.aggFuncSvc.addAggFuncs(t)},clearAggFuncs:function(e){e.aggFuncSvc&&e.aggFuncSvc.clear()},setColumnAggFunc:function(e,t,o){e.valueColsSvc?.setColumnAggFunc?.(t,o,"api")}},dependsOn:[Mv]},my={moduleName:"Aggregation",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="aggStage",this.step="aggregate",this.refreshProps=["getGroupRowAgg","alwaysAggregateAtRootLevel","suppressAggFilteredOnly","grandTotalRow"],this.hadAgg=!1}execute(e){const{gos:t,beans:o}=this,s=t.getCallback("getGroupRowAgg"),i=o.valueColsSvc?.columns;if(!i?.length&&!s){if(this.hadAgg&&!e){this.hadAgg=!1;const e=o.colModel,t=o.rowModel;eg(t.rootNode,t.hierarchical,void 0,t=>{gw(t,null,e)})}return}this.hadAgg=!0;const n=o.colModel,r=o.aggFuncSvc,l=t.get("alwaysAggregateAtRootLevel")||!!jt(t)||n.isPivotMode(),a=!$t(t)&&!t.get("suppressAggFilteredOnly"),d=o.valueSvc,c=o.gridApi,h=o.gridOptions.context,u=i??[],g=u.length,p="cells"===e?.kind?e:void 0;let m;const f=new Array(g);for(let b=0;b=0&&(m=p),f[b]={column:e,colId:e.colId,colDef:e.colDef,aggFunc:cy(e.getAggFunc(),r,e),colSlot:t}}const C=((e,t,o)=>{if(!e.isPivotActive())return null;const s=t?.getAggregationOrderedList();if(!s||0===s.length)return null;const i=s.length,n=new Array(i);let r=0;for(let l=0;l0?new Array(g):null,w=o.rowModel;eg(w.rootNode,w.hierarchical,e,e=>{if(-1===e.level&&!l)return void uw(e,null,n);let t;t=s?s({nodes:e.childrenAfterFilter}):v?C?((e,t,o,s,i)=>{const n=t.length,r=e.leafGroup,l=e.data,a=e.childrenMapped,d=e.childrenAfterFilter??[],c=/* @__PURE__ */Object.create(null);let h,u;for(let g=0;g{const d=(n?e.childrenAfterFilter:e.childrenAfterGroup)??[],c=d.length,h=e.data,u=/* @__PURE__ */Object.create(null),g=i?i.getSlot(e):-1,p=g>=0?e.aggData:void 0;let m=0;for(let f=0;f=0&&!i.hasCellBySlot(g,e.colSlot)?(s[f]=null,p&&(u[e.colId]=p[e.colId])):(s[f]=new Array(c),++m)}if(0===m)return u;for(let f=0;f{const t=e.childrenAfterAggFilter;let o=0;if(t){const e=t.length;o=e;for(let s=0;s=0?null:o;e.setAllChildrenCount(s),e.pinnedSibling?.setAllChildrenCount(s)},this.setAllChildrenCountGridGrouping=e=>{const t=e.childrenAfterAggFilter;let o=0;for(let s=0,i=t.length;se.node.leafGroup:e=>!e.node.group),d=l?this.setAllChildrenCountTreeData:this.setAllChildrenCountGridGrouping,c=(e,t=!1)=>{if(e.childrenAfterFilter){if(e.childrenAfterAggFilter=e.childrenAfterFilter,t){const o=e.childrenAfterAggFilter;for(let e=0,s=o.length;e{e.childrenAfterAggFilter=e.childrenAfterFilter?.filter(e=>a({node:e})&&i.doesRowPassAggregateFilters({rowNode:e})?(c(e,!0),!0):e.childrenAfterAggFilter?.length)||null,e.hasChildren()?d(e):(e.setAllChildrenCount(null),e.pinnedSibling?.setAllChildrenCount(null)),e.sibling&&(e.sibling.childrenAfterAggFilter=e.childrenAfterAggFilter)}:c)}},class extends Oe{constructor(){super(...arguments),this.beanName="aggChildrenSvc"}getAggregatedChildren(e,t,o){if(!e?.group)return[];if(e.rowPinned&&!(e=e.pinnedSibling))return[];const s=this.gos,i=ay(e,t,s);if(!o)return i;const n=[];return dy(i,t,s,n),n}}],rowModels:["clientSide"],dependsOn:[py]},fy=class extends bm{constructor(){super(...arguments),this.beanName="pivotColsSvc",this.eventName="columnPivotChanged",this.columnProcessors={set:(e,t,o)=>this.setColPivotActive(e,t,o),add:(e,t,o)=>this.setColPivotActive(e,!0,o),remove:(e,t,o)=>this.setColPivotActive(e,!1,o)},this.columnOrdering={enableProp:"pivot",initialEnableProp:"initialPivot",indexProp:"pivotIndex",initialIndexProp:"initialPivotIndex"},this.columnExtractors={setFlagFunc:(e,t,o)=>this.setColPivotActive(e,t,o),getIndexFunc:e=>e.pivotIndex,getInitialIndexFunc:e=>e.initialPivotIndex,getValueFunc:e=>e.pivot,getInitialValueFunc:e=>e.initialPivot},this.modifyColumnsNoEventsCallbacks={addCol:e=>{this.columns.includes(e)||this.columns.push(e)},removeCol:e=>s(this.columns,e)}}syncColumnWithState(e,t,o,s){const{value1:i,value2:n}=o("pivot","pivotIndex");void 0===i&&void 0===n||("number"==typeof n||i?(e.isPivotActive()||(this.setColPivotActive(e,!0,t),this.modifyColumnsNoEventsCallbacks.addCol(e)),s&&"number"==typeof n&&(s[e.getId()]=n)):e.isPivotActive()&&(this.setColPivotActive(e,!1,t),this.modifyColumnsNoEventsCallbacks.removeCol(e)))}setColPivotActive(e,t,o){e.pivotActive!==t&&(e.pivotActive=t,t&&(this.beans.groupHierarchyColSvc?.insertVirtualColumnsForCol(this.columns,e))?.forEach(e=>this.setColPivotActive(e,t,o)),e.dispatchColEvent("columnPivotChanged",o)),e.dispatchStateUpdatedEvent("pivot")}},Cy=null,vy=e=>{const t=Cy,o=new Uint32Array(1<<32-Math.clz32(63|e));return t&&o.set(t),Cy=o,o},wy=(e,t=e.length)=>{if(2===t){if(e[0].level16)return((e,t)=>{let o=e[0].level+1,s=o,i=0,n=o,r=Cy;(!r||o>=r.length)&&(r=vy(o)),++r[o];for(let h=1;ho?(o=t,o>=r.length&&(r=vy(o))):t=0)return r.fill(0,s,o+1),e;const l=r[s],a=r[o];if(l+a===t)return r[s]=0,r[o]=0,((e,t,o,s)=>{const i=t-s,n=o-1;if(1===i){let o=0;for(;e[o].level===n;)++o;if(o0){const o=e[t];e.copyWithin(1,0,t),e[0]=o}return e}const r=new Array(i);let l=0,a=0;for(let d=0;d=s;--h){const e=r[h];r[h]=d,d+=e}const c=new Array(t);for(let h=0;h=0&&e[i].level=0;)o.set(t,-1),t=t.parent;return}const s=this.rows;do{o.set(t,-1),s.push(t),t=t.parent}while(null!=t&&!o.has(t));this.unsorted=!0}addCell(e,t){if(null==t)return void this.addRow(e);if(null==e)return;const o=this.slots,s=this.bits,i=o.get(t)??this.ensureCol(t);let n=o.get(e);if(void 0===n)n=this.ensureRow(e);else if(n<0)return;const r=i<32?s:this.extraBits[(i>>>5)-1],l=1<<(31&i),a=r[n];if(0!==(a&l))return;r[n]=a|l;let d=e.parent;for(;null!=d;){const e=o.get(d);if(e<0)break;const t=r[e];if(0!==(t&l))break;r[e]=t|l,d=d.parent}}hasRow(e){return this.slots.has(e)}getSortedRows(){if(!this.unsorted)return this.rows;this.unsorted=!1;const e=wy(this.rows);return this.rows=e,e}getSlot(e){return this.slots.get(e)??-1}hasCellBySlot(e,t){return e<0||(t<32?t>=0&&!!(this.bits[e]&1<>>5)-1][e]&1<<(31&t)))}ensureRow(e){const t=this.slots,o=this.rows,s=this.bits,i=this.extraBits;let n=s.push(0);const r=n-1;if(null!==i)for(let a=0,d=i.length;a=32){const e=(t>>>5)-1;let o=this.extraBits;null===o&&(o=[],this.extraBits=o),e>=o.length&&o.push(new Array(this.bits.length).fill(0))}return t}},yy=class{constructor(){this.kind="rows",this.rows=[],this.unsorted=!1,this.rowSet=/* @__PURE__ */new Set}addRow(e){let t=e;if(null==t)return;const o=this.rowSet;if(o.has(t))return;const s=this.rows;do{o.add(t),s.push(t),t=t.parent}while(null!=t&&!o.has(t));this.unsorted=!0}addCell(e,t){this.addRow(e)}hasRow(e){return this.rowSet.has(e)}getSortedRows(){if(!this.unsorted)return this.rows;this.unsorted=!1;const e=wy(this.rows);return this.rows=e,e}},Sy=class extends Oe{addExpandedCss(e,t){t.isExpandable()&&(e.push("ag-row-group"),e.push(t.expanded?"ag-row-group-expanded":"ag-row-group-contracted"))}getRowExpandedListeners(e){const{rowNode:t}=e,o=this.updateExpandedCss.bind(this,e,t);return{expandedChanged:o,hasChildrenChanged:o}}setExpanded(e,t,o,s){if(e.expanded===t)return;e._expanded=t,e.dispatchRowEvent("expandedChanged");const i={...an(e,this.gos,"rowGroupOpened"),expanded:t,event:o||null};this.dispatchExpandedEvent(i,s)}defaultExpanded(e){const t=this.beans.gos,o=e.level??0,s=e.group&&t.get("isGroupOpenByDefault");if(!s){const e=t.get("groupDefaultExpanded");return-1===e||o{const t=e.rowComp;t.toggleCss("ag-row-group",o),t.toggleCss("ag-row-group-expanded",o&&s),t.toggleCss("ag-row-group-contracted",o&&!s),G(e.element,o&&s)})}dispatchStateUpdatedEvent(){this.eventSvc.dispatchEvent({type:"rowExpansionStateChanged"})}};function Ry(e,t,o){return!0===e.groupHideParentOfSingleChild&&o&&1===t.childrenAfterGroup.length}function xy(e,t,o){return"leafGroupsOnly"===e.groupHideParentOfSingleChild&&o&&t.leafGroup&&1===t.childrenAfterGroup.length}function Fy(e,t,o,s,i,n){return!(s&&!o||i||n||e.hideOpenParents&&!t.master&&-1!==t.level&&!(s&&t.leafGroup||!t.expanded))}var Dy=()=>{const e=new Jl;return e.reordered=!0,e},My=(e,t)=>{if(!e||!t)return!1;let o=t;for(;o;){if(o===e)return!0;o=o.parent}return!1},Py=e=>{const t=e.childrenAfterGroup,o=t?.length;if(e._leafs=null,!o)return null;let s;const i=1===o?t[0]:null;if(i?.group&&i.sourceRowIndex<0)s=i._leafs,void 0===s&&(s=Py(i));else if(e.leafGroup)s=t;else{s=[];for(let e=0;e=0&&s.push(o),!o.group)continue;let i=o._leafs;if(void 0===i&&(i=Py(o)),i)for(let e=0,t=i.length;e{e.key=null,e.treeNodeFlags=0,e.allChildrenCount=null,e.childrenAfterGroup=null,e.childrenAfterAggFilter=null,e.childrenAfterFilter=null,e.childrenAfterSort=null,e.childrenMapped=null,e.level=0,e._groupData=void 0};function Ty(e,t,o){let s=e;const i=s.level-t.level;if(i<=0)return!1;if(!o.get("groupHideOpenParents"))return!1;for(let n=0;n{const{rowDragSvc:e}=this.beans;if(!this.params.rowDrag||!e)return;const t=e.createRowDragComp(()=>this.params.value,this.params.node);this.createManagedBean(t),this.eGui.insertAdjacentElement("afterbegin",t.getGui())})(),this.setupCheckbox(),this.addGroupValue(),this.setupIndent()}getCellAriaRole(){const e=this.params.colDef?.cellAriaRole,t=this.params.column?.getColDef().cellAriaRole;return e||t||"gridcell"}isEmbeddedRowMismatch(){if(!this.params.fullWidth||!this.gos.get("embedFullWidthRows"))return!1;const{visibleCols:e}=this.beans,t="left"===this.params.pinned,o="right"===this.params.pinned,s=!t&&!o;return this.gos.get("enableRtl")?e.isPinningLeft()?!o:!s:e.isPinningLeft()?!t:!s}addGroupValue(){const{params:{value:e,valueFormatted:t}}=this,o=this.getInnerCompDetails();this.comp.setInnerRenderer(o,t??e??null)}setupExpand(){const{colModel:e}=this.beans,{eGridCell:t,suppressDoubleClickExpand:o}=this.params,s=(e,t)=>{const o=Ol(e,this.beans,null);o&&(t.appendChild(o),this.addDestroyFunc(()=>o.remove()))};s("groupExpanded",this.eExpanded),s("groupContracted",this.eContracted);const i=this.comp,n=()=>{if(!this.isExpandable())return;const e=!!this.displayedNode.expanded;i.setExpandedDisplayed(e),i.setContractedDisplayed(!e),G(t,e)},r=()=>{const o=this.isExpandable();i.toggleCss("ag-cell-expandable",o),i.toggleCss("ag-row-group",o);const s=!o&&e.isPivotMode();i.toggleCss("ag-pivot-leaf-group",s);const r=!(e.isPivotMode()||this.displayedNode.footer&&-1===this.displayedNode.level);i.toggleCss("ag-row-group-leaf-indent",!o&&r);const l=this.getChildCount(),a=l>0?`(${l})`:"";i.setChildCount(a),o?n():(i.setExpandedDisplayed(!1),i.setContractedDisplayed(!1),D(t,"expanded"))};(()=>{o||this.isGroupCellEditable(this.displayedNode)||this.addManagedListeners(t,{dblclick:this.onCellDblClicked.bind(this)}),this.addManagedListeners(this.eExpanded,{click:this.onExpandClicked.bind(this)}),this.addManagedListeners(this.eContracted,{click:this.onExpandClicked.bind(this)}),this.addManagedListeners(t,{keydown:this.onKeyDown.bind(this)}),this.addManagedListeners(this.displayedNode,{allChildrenCountChanged:r,masterChanged:r,groupChanged:r,hasChildrenChanged:r,expandedChanged:n})})(),r()}getInnerCompDetails(){const{userCompFactory:e,findSvc:t}=this.beans,o=this.params;if(o.fullWidth){const s=this.gos.get("groupRowRendererParams");return oi(e,s,o)||(t?.isMatch(o.node,null)?oi(e,{...s,innerRenderer:"agFindCellRenderer"},o):void 0)}const s=e=>e&&e.componentClass==this.compClass,i=oi(e,o,o);if(i&&!s(i))return i;const{displayedNode:{rowGroupColumn:n}}=this,r=n?.colDef,l=n&&o.column?.isRowGroupDisplayed(n.getId());if(r&&l){const t=si(e,r,o);if(t){if(!s(t))return t;if(r?.cellRendererParams?.innerRenderer)return oi(e,r.cellRendererParams,o)}}return t?.isMatch(o.node,o.column)?si(e,{...r??o.colDef,cellRenderer:"agFindCellRenderer"},o):void 0}getChildCount(){const{column:e,suppressCount:t}=this.params;if(t)return 0;const{allChildrenCount:o,rowGroupColumn:s}=this.displayedNode;return!((o??0)>0)||s&&e&&!e?.isRowGroupDisplayed(s.getId())||this.gos.get("showOpenedGroup")&&this.displayedNode!==this.node&&!Ty(this.node,this.displayedNode,this.gos)?0:o??0}isExpandable(){const{node:e,column:t,colDef:o}=this.params;if(!this.displayedNode.isExpandable())return!1;if(e.rowPinned)return!1;if(!t)return!0;if(e.hasChildren()&&o){const{showRowGroup:e}=o;if(!e)return!1;if(!0===e)return!0}return e===this.displayedNode?!(!e.rowGroupColumn||!t?.isRowGroupDisplayed(e.rowGroupColumn.getId()))||!!e.master&&(!0===o?.showRowGroup||null==o?.showRowGroup):Ty(this.node,this.displayedNode,this.gos)}setupIndent(){const{suppressPadding:e,node:t,colDef:o}=this.params;if(e)return;const s=()=>{let e=t.uiLevel;o&&!0!==o.showRowGroup&&(e=0);const s="ag-row-group-indent-"+e;s!==this.indentClass&&(this.indentClass&&this.comp.toggleCss(this.indentClass,!1),this.indentClass=s,this.comp.toggleCss(s,!0),this.eGui.style.setProperty("--ag-indentation-level",String(e)))};this.addManagedListeners(t,{uiLevelChanged:s.bind(this)}),s()}setupCheckbox(){const{node:e}=this.params;e.footer||e.rowPinned||e.detail||(this.addManagedPropertyListener("rowSelection",({currentValue:e,previousValue:t})=>{const o="object"==typeof e?e:void 0,s="object"==typeof t?t:void 0;o?.checkboxLocation!==s?.checkboxLocation&&(this.destroyCheckbox(),this.addCheckbox())}),this.addCheckbox())}addCheckbox(){const{selectionSvc:e}=this.beans;if(!e||!Lt(this.gos))return;const{node:t,column:o}=this.params,s=this.gos.get("rowSelection"),i=to(s);if("selectionColumn"===i)return;if("autoGroupColumn"===i){const e=null!=o?.getColDef().showRowGroup,s=!o&&t.group;if(!e&&!s)return}const n="object"==typeof s?Jt(s):this.params.checkbox;if("function"!=typeof n&&!0!==n)return;if("string"==typeof o?.getColDef().showRowGroup&&!this.isExpandable())return void this.comp.setCheckboxSpacing(!0);const r=e.createCheckboxSelectionComponent();this.cbComp=r,this.createBean(r),r.init({rowNode:t,column:o,overrides:{isVisible:n,callbackParams:this.params,removeHidden:!0}}),this.eCheckbox.appendChild(r.getGui()),this.comp.setCheckboxVisible(!0)}destroyCheckbox(){this.comp.setCheckboxSpacing(!1),this.comp.setCheckboxVisible(!1),this.cbComp?.getGui().remove(),this.cbComp=this.destroyBean(this.cbComp)}isGroupCellEditable(e){const t=this.params.column;return!!t&&(!!t.getColDef().groupRowEditable||this.gos.get("enableGroupEdit"))&&t.isCellEditable(e)}onExpandClicked(e){Yi(e)||(qi(e),this.onExpandOrContract(e))}onKeyDown(e){e.key!==fs||this.params.suppressEnterExpand||this.isGroupCellEditable(this.params.node)||this.onExpandOrContract(e)}onCellDblClicked(e){Yi(e)||Ee(this.eExpanded,e)||Ee(this.eContracted,e)||this.onExpandOrContract(e)}onExpandOrContract(e){if(!this.isExpandable())return;const t=this.displayedNode,o=!t.expanded;!o&&t.sticky&&this.beans.ctrlsSvc.getScrollFeature().setVerticalScrollPosition(t.rowTop-t.stickyRowTop),t.setExpanded(o,e)}destroy(){super.destroy(),this.destroyCheckbox()}},Ay={tag:"span",cls:"ag-cell-wrapper",children:[{tag:"span",ref:"eExpanded",cls:"ag-group-expanded ag-hidden"},{tag:"span",ref:"eContracted",cls:"ag-group-contracted ag-hidden"},{tag:"span",ref:"eCheckbox",cls:"ag-group-checkbox ag-invisible"},{tag:"span",ref:"eValue",cls:"ag-group-value"},{tag:"span",ref:"eChildCount",cls:"ag-group-child-count"}]},ky=class extends Pi{constructor(){super(Ay),this.eExpanded=null,this.eContracted=null,this.eCheckbox=null,this.eValue=null,this.eChildCount=null}init(e){const t={setInnerRenderer:(e,t)=>this.setRenderDetails(e,t),setChildCount:e=>this.eChildCount.textContent=e,toggleCss:(e,t)=>this.toggleCss(e,t),setContractedDisplayed:e=>K(this.eContracted,e),setExpandedDisplayed:e=>K(this.eExpanded,e),setCheckboxVisible:e=>this.eCheckbox.classList.toggle("ag-invisible",!e),setCheckboxSpacing:e=>this.eCheckbox.classList.toggle("ag-group-checkbox-spacing",e)},o=this.createManagedBean(new Iy),s=!e.colDef,i=this.getGui();o.init(t,i,this.eCheckbox,this.eExpanded,this.eContracted,this.constructor,e),s&&P(i,o.getCellAriaRole())}setRenderDetails(e,t){e?e.newAgStackInstance().then(e=>{if(!e)return;const t=()=>this.destroyBean(e);this.isAlive()?(this.eValue.appendChild(e.getGui()),this.addDestroyFunc(t)):t()}):this.eValue.innerText=t}destroy(){this.destroyBean(this.innerCellRenderer),super.destroy()}refresh(){return!1}},Ly=class extends Oe{constructor(e,t){super(),this.createRowCon=e,this.destroyRowCtrls=t,this.stickyTopRowCtrls=[],this.stickyBottomRowCtrls=[],this.extraTopHeight=0,this.extraBottomHeight=0}postConstruct(){this.isClientSide=It(this.gos),this.beans.ctrlsSvc.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl}),this.resetStickyContainers()}setOffsetTop(e){this.extraTopHeight!==e&&(this.extraTopHeight=e,this.eventSvc.dispatchEvent({type:"stickyTopOffsetChanged",offset:e}))}setOffsetBottom(e){this.extraBottomHeight!==e&&(this.extraBottomHeight=e)}resetOffsets(){this.setOffsetBottom(0),this.setOffsetTop(0)}getLastPixelOfGroup(t){return this.isClientSide?function(t){if(t.isExpandable()||t.footer){if(t.footer&&0===t.rowIndex)return Number.MAX_SAFE_INTEGER;if(!t.sibling||1===Math.abs(t.sibling.rowIndex-t.rowIndex)){let o=t.footer?t.sibling:t;for(;o.isExpandable()&&o.expanded;)if(o.master&&o.detailNode)o=o.detailNode;else if(o.childrenAfterSort){if(0===o.childrenAfterSort.length)break;o=e(o.childrenAfterSort)}return o.rowTop+o.rowHeight}return t.footer?t.rowTop+t.rowHeight:t.sibling.rowTop+t.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}(t):function(e){if(e.isExpandable()||e.footer){if(e.master&&e.detailNode)return e.detailNode.rowTop+e.detailNode.rowHeight;if(!e.sibling||1===Math.abs(e.sibling.rowIndex-e.rowIndex)){let t=e.childStore?.getStoreBounds();return e.footer&&(t=e.sibling.childStore?.getStoreBounds()),(t?.heightPx??0)+(t?.topPx??0)}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}(t)}getFirstPixelOfGroup(e){return e.footer?e.sibling.rowTop+e.sibling.rowHeight-1:e.hasChildren()?e.rowTop-1:0}updateStickyRows(e){const t="top"===e;let o=0;if(!this.canRowsBeSticky())return this.refreshNodesAndContainerHeight(e,/* @__PURE__ */new Set,o);const s=/* @__PURE__ */new Set,{rowModel:i,rowRenderer:n,pinnedRowModel:r,pageBounds:l,rowContainerHeight:a}=this.beans,{pageFirstPixel:d,pageLastPixel:c}=l.getCurrentPagePixelRange(),h=t?n.firstVisibleVPixel-this.extraTopHeight:n.lastVisibleVPixel-this.extraTopHeight,u=a.divStretchOffset??0,g=d+u,p=c+u,m=e=>{if(s.add(e),t){const t=this.getLastPixelOfGroup(e),s=h+o+e.rowHeight;e.stickyRowTop=ts?o-(t-s):o}o=0,s.forEach(e=>{const t=e.stickyRowTop+e.rowHeight;o{if(!t.displayed)return!1;if(t.footer){if(!0===f)return!1;if("grand"===f&&-1===t.level)return!1;if("group"===f&&t.level>-1)return!1;const o=!!t.sibling.rowIndex&&t.sibling.rowIndex+1===t.rowIndex;return!("bottom"===e&&o||-1===t.level&&r?.getGrandTotalPinned()||s.has(t))}return!!t.isExpandable()&&!0!==C&&"bottom"!==e&&!s.has(t)&&!!t.expanded};for(let w=0;w<100;w++){let e=h+o;t||(e=h-o),t&&ep&&(e=p);const s=i.getRowIndexAtPixel(e),n=i.getRow(s);if(null==n)break;const r=this.getStickyAncestors(n).find(e=>(t?e.rowIndexs)&&v(e));if(r)m(r);else{if(!(t?n.rowTope)||!v(n))break;m(n)}}return t||s.forEach(e=>{e.stickyRowTop=o-(e.stickyRowTop+e.rowHeight)}),this.refreshNodesAndContainerHeight(e,s,o)}areFooterRowsStickySuppressed(){const e=this.gos.get("suppressStickyTotalRow");if(!0===e)return!0;const t="group"===e,o="grand"===e;return!(!t||!o)||(o?"grand":!!t&&"group")}canRowsBeSticky(){const e=Wt(this.gos),t=this.areFooterRowsStickySuppressed(),o=this.gos.get("suppressGroupRowsSticky");return e&&(!t||!o)}getStickyAncestors(e){const t=[];let o=e.footer?e.sibling:e.parent;for(;o;)o.sibling&&t.push(o.sibling),t.push(o),o=o.parent;return t.reverse()}checkStickyRows(){const e=this.updateStickyRows("top"),t=this.updateStickyRows("bottom");return e||t}destroyStickyCtrls(){this.resetStickyContainers()}resetStickyContainers(){this.refreshNodesAndContainerHeight("top",/* @__PURE__ */new Set,0),this.refreshNodesAndContainerHeight("bottom",/* @__PURE__ */new Set,0)}refreshStickyNode(e){const t=/* @__PURE__ */new Set;if(this.stickyTopRowCtrls.some(t=>t.rowNode===e)){for(let o=0;o{l.has(e)||(e.sticky=!0,a.push(this.createRowCon(e,!1,!1)))});let d=!!a.length||r.length!==i.length;s?this.topContainerHeight!==o&&(this.topContainerHeight=o,this.gridBodyCtrl.setStickyTopHeight(o),d=!0):this.bottomContainerHeight!==o&&(this.bottomContainerHeight=o,this.gridBodyCtrl.setStickyBottomHeight(o),d=!0),this.destroyRowCtrls(n,!1);const c=[...r,...a];c.sort((e,t)=>t.rowNode.rowIndex-e.rowNode.rowIndex),s||c.reverse();for(const g of c)g.setRowTop(g.rowNode.stickyRowTop);const h=this.beans.pageBounds;let u=0;if(s){for(const e of t)e.rowIndexthis.topContainerHeight&&(u=this.topContainerHeight),this.setOffsetTop(u)}else{for(const e of t)e.rowIndex>h.getLastRow()&&(u+=e.rowHeight);u>this.bottomContainerHeight&&(u=this.bottomContainerHeight),this.setOffsetBottom(u)}return!!d&&(s?this.stickyTopRowCtrls=c:this.stickyBottomRowCtrls=c,!0)}ensureRowHeightsValid(){let e=!1;const t=t=>{const o=t.rowNode;if(o.rowHeightEstimated){const t=Nt(this.beans,o);o.setRowHeight(t.height),e=!0}};return this.stickyTopRowCtrls.forEach(t),this.stickyBottomRowCtrls.forEach(t),e}},Gy={moduleName:"GroupCellRenderer",version:Dv,userComponents:{agGroupRowRenderer:ky,agGroupCellRenderer:ky},dynamicBeans:{groupCellRendererCtrl:Iy},icons:{groupContracted:"tree-closed",groupExpanded:"tree-open"},css:[".ag-group-checkbox-spacing{width:var(--ag-icon-size)}:where(.ag-ltr) .ag-group-checkbox-spacing{margin-right:var(--ag-cell-widget-spacing)}:where(.ag-rtl) .ag-group-checkbox-spacing{margin-left:var(--ag-cell-widget-spacing)}"],dependsOn:[Mv]},Ny={moduleName:"GroupColumn",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="autoColSvc"}postConstruct(){this.addManagedPropertyListener("autoGroupColumnDef",this.updateColumns.bind(this)),this.setupGroupHideColumnsUntilExpanded()}setupGroupHideColumnsUntilExpanded(){const e=()=>this.updateGroupColumnVisibility();this.addManagedEventListeners({modelUpdated:e}),this.addManagedPropertyListeners(["groupHideColumnsUntilExpanded","groupDisplayType","groupHideOpenParents"],e)}addColumns(e){const{columns:t}=this;null!=t&&(e.list=t.list.concat(e.list),e.tree=t.tree.concat(e.tree),rs(e))}createColumns(e,t,o){const s=this.beans,{colModel:i,gos:n,rowGroupColsSvc:r,colGroupSvc:l}=s,a=i.isPivotMode(),d=Yt(n,a),c=a?n.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),h=r?.columns,u=()=>{this.columns&&(Jo(s,this.columns.tree),this.columns=null)};if(!(h&&h.length>0||n.get("treeData"))||c||d)return void u();const g=this.generateAutoCols(h),p=ns(g,this.columns?.list||null),m=e.treeDepth,f=(this.columns?this.columns.treeDepth:-1)==m;if(p&&f){const e=new Map(g.map(e=>[e.getId(),e]));for(const t of this.columns?.list??[]){const s=e.get(t.getId());s&&t.setColDef(s.getColDef(),null,o)}return}u();const C=l?.findDepth(e.tree)??0;this.columns={list:g,tree:l?.balanceTreeForAutoCols(g,C)??[],treeDepth:C,map:{}},t(e=>{if(!e)return null;const t=e.filter(e=>!es(e));return[...g,...t]})}updateColumns(e){const t=ls(e.source);this.columns?.list.forEach((e,o)=>this.updateOneAutoCol(e,o,t))}getColumn(e){return this.columns?.list.find(t=>as(t,e))??null}getColumns(){return this.columns?.list??null}generateAutoCols(e=[]){const t=[],{gos:o}=this,s=o.get("treeData");let i=_t(o);return s&&i&&(Dt(182),i=!1),i?e.forEach((e,o)=>{t.push(this.createOneAutoCol(e,o))}):t.push(this.createOneAutoCol()),t}isSuppressAutoCol(){const e=this.gos;return"custom"===e.get("groupDisplayType")||"custom"===e.get("treeDataDisplayType")}createOneAutoCol(e,t){let o;o=e?`${Zo}-${e.getId()}`:Zo;const s=this.createAutoColDef(o,e,t);s.colId=o;const i=new Fo(s,null,o,!0);return this.createBean(i),i}updateOneAutoCol(e,t,o){const s=e.getColDef(),i="string"==typeof s.showRowGroup?s.showRowGroup:void 0,n=this.beans,r=null!=i?n.colModel.getColDefCol(i):void 0,l=e.getId(),a=this.createAutoColDef(l,r??void 0,t);e.setColDef(a,null,o),Aa(n,{state:[ds(a,l)]},o)}createAutoColDef(e,t,o){let s=this.createBaseColDef(t);const i=this.gos.get("autoGroupColumnDef");Ye(s,i),s=_o(this.beans,s,e,!0),null==i?.groupRowEditable&&(s.groupRowEditable=void 0),null==i?.groupRowValueSetter&&(s.groupRowValueSetter=void 0),this.gos.get("treeData")||a(s.field)&&a(s.valueGetter)&&a(s.filterValueGetter)&&"agGroupColumnFilter"!==s.filter&&(s.filter=!1),o&&o>0&&(s.headerCheckboxSelection=!1);const n=Ut(this.gos),r=s.valueGetter||null!=s.field;return n&&!r&&(s.sortIndex=void 0,s.initialSort=void 0),s}createBaseColDef(e){const t=this.gos.get("autoGroupColumnDef"),o={headerName:this.getLocaleTextFunc()("group","Group"),showRowGroup:e?.getColId()??!0};return t&&(t.cellRenderer||t.cellRendererSelector)||(o.cellRenderer="agGroupCellRenderer"),e&&(o.headerName=this.beans.colNames.getDisplayNameForColumn(e,"header")??void 0,o.headerValueGetter=e.colDef.headerValueGetter),o}getDeepestExpandedLevel(e,t){let o=-1;if(!e)return o;for(const s of e){if(!s.group||!s.expanded)continue;if(s.level>o&&(o=s.level),o>=t)return o;const e=this.getDeepestExpandedLevel(s.childrenAfterGroup,t);if(e>o&&(o=e),o>=t)return o}return o}updateGroupColumnVisibility(){const e=this.columns?.list;if(!e||0===e.length)return;const{gos:t,visibleCols:o,rowModel:s}=this.beans,i=qt(t);let n=!1;const r=(e,t)=>{t!==e.isVisible()&&(e.setVisible(t,"api"),n=!0)},l=()=>{for(const t of e)r(t,!0)};if(i){if(e.length>1){const t=e.length-2,o=s?.rootNode?.childrenAfterGroup,i=this.getDeepestExpandedLevel(o,t);if(i>=t)l();else for(let s=0;s=s)}}else l();n&&o.refresh("api")}destroy(){Jo(this.beans,this.columns?.tree),super.destroy()}},class extends Oe{constructor(){super(...arguments),this.beanName="showRowGroupCols",this.columns=[],this.colsSet=/* @__PURE__ */new Set,this.colsMap=/* @__PURE__ */new Map}destroy(){super.destroy(),this.columns.length=0,this.colsSet.clear(),this.colsMap.clear()}refresh(){const{colModel:e,rowGroupColsSvc:t}=this.beans,o=this.columns,s=this.colsSet,i=this.colsMap;i.clear();const n=o.length;let r=0,l=!1;const a=e.getCols();for(let d=0,c=a.length;d=n||!s.has(e)),o[r++]=e}if(l||(l=r!==n),l){o.length=r,s.clear();for(let e=0;ee.level)return null;const n=this.getDisplayedNode(e,t,!0);if(n)return{displayedNode:n,value:s.getValue(t,n,"data",o)}}const n=s.getValue(t,e,"data",o);if(null==n){const i=this.getDisplayedNode(e,t);if(i)return{displayedNode:i,value:s.getValue(t,i,"data",o)}}return{displayedNode:e,value:n}}formatAndPrefixGroupColValue(e,t,o=!1){const s=this.formatGroupColValue(e,t,o),{value:i,displayedNode:n}=e,r=this.beans.footerSvc;return r?.doesCellShowTotalPrefix(n,t)?r.applyTotalPrefix(i,s,n,t):n.footer&&-1===n.level?null:s}formatGroupColValue(e,t,o=!1){const s=this.beans.valueSvc,{displayedNode:i,value:n}=e,r=i.rowGroupColumn,l=i.group&&!t;if(r&&(l||t?.isRowGroupDisplayed(r.colId))){if(o&&!1===r.colDef.useValueFormatterForExport)return null;const e=s.formatValue(r,i,n);return null==e&&""===i.key?this.getLocaleTextFunc()("blanks","(Blanks)"):e}return!t||i.group||o&&!1===t.colDef.useValueFormatterForExport?null:s.formatValue(t,i,n)}getDisplayedNode(e,t,o=!1){const s=this.gos,i=s.get("groupHideOpenParents"),n=s.get("showOpenedGroup")&&!o;if(!i&&!n)return;const r=t.colDef.showRowGroup;if(!0===r){if(e.group)return;return e.parent??void 0}let l=e;for(;l&&l.rowGroupColumn?.getId()!=r;){const e=l===l.parent?.getFirstChild();if(!n&&!e)return;l=l.parent}return l!==e?l??void 0:void 0}},class extends bm{constructor(){super(...arguments),this.beanName="rowGroupColsSvc",this.eventName="columnRowGroupChanged",this.columnProcessors={set:(e,t,o)=>this.setActive(t,e,o),add:(e,t,o)=>this.setActive(!0,e,o),remove:(e,t,o)=>this.setActive(!1,e,o)},this.columnOrdering={enableProp:"rowGroup",initialEnableProp:"initialRowGroup",indexProp:"rowGroupIndex",initialIndexProp:"initialRowGroupIndex"},this.columnExtractors={setFlagFunc:(e,t,o)=>this.setColRowGroupActive(e,t,o),getIndexFunc:e=>e.rowGroupIndex,getInitialIndexFunc:e=>e.initialRowGroupIndex,getValueFunc:e=>e.rowGroup,getInitialValueFunc:e=>e.initialRowGroup},this.modifyColumnsNoEventsCallbacks={addCol:e=>{this.columns.includes(e)||this.columns.push(e)},removeCol:e=>s(this.columns,e)}}moveColumn(e,t,o){if(0===this.columns.length)return;const s=this.columns[e],i=this.columns.slice(e,t);this.columns.splice(e,1),this.columns.splice(t,0,s),this.updateIndexMap(),this.eventSvc.dispatchEvent({type:this.eventName,columns:i,column:1===i.length?i[0]:null,source:o})}syncColumnWithState(e,t,o,s){const{value1:i,value2:n}=o("rowGroup","rowGroupIndex");void 0===i&&void 0===n||("number"==typeof n||i?(e.isRowGroupActive()||(this.setColRowGroupActive(e,!0,t),this.modifyColumnsNoEventsCallbacks.addCol(e)),s&&"number"==typeof n&&(s[e.getId()]=n)):e.isRowGroupActive()&&(this.setColRowGroupActive(e,!1,t),this.modifyColumnsNoEventsCallbacks.removeCol(e)))}setActive(e,t,o){if(e===t.isRowGroupActive())return;this.setColRowGroupActive(t,e,o);const s=this.beans.groupHierarchyColSvc?.getColumn(t);Xt(this.gos,e)&&!s&&this.colModel.setColsVisible([t],!e,o)}setColRowGroupActive(e,t,o){e.rowGroupActive!==t&&(e.rowGroupActive=t,t&&(this.beans.groupHierarchyColSvc?.insertVirtualColumnsForCol(this.columns,e))?.forEach(e=>this.setColRowGroupActive(e,t,o)),e.dispatchColEvent("columnRowGroupChanged",o)),e.dispatchStateUpdatedEvent("rowGroup")}},fy,gy],dependsOn:[Mv,Gy]},By={moduleName:"ChangedPath",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="changedPathFactory"}newPath(e){return e?new by:new yy}ensureRowsPath(e){let t=e.changedPath;if(!t&&e.changedRowNodes&&!e.newData){const o=this.beans.rowModel;o.hierarchical&&(t=new yy,e.changedPath=t,t.addRow(o.rootNode))}return t}}],dependsOn:[Mv]},Hy={moduleName:"ClientSideRowModelHierarchy",version:Dv,rowModels:["clientSide"],beans:[class extends Oe{constructor(){super(...arguments),this.beanName="groupStage",this.step="group",this.refreshProps=["groupAllowUnbalanced","groupDefaultExpanded","groupDisplayType","groupHideOpenParents","initialGroupOrderComparator","treeData","treeDataChildrenField","treeDataParentIdField"],this.treeData=!1,this.grouping=!1,this.gosTreeData=!1,this.pivotMode=!1,this.hasTreeData=!1,this.hasRowGrouping=!1,this.needReset=!1,this.nested=!1,this.strategy=void 0,this.strategyType=void 0,this.columnsInvalidated=!1}postConstruct(){const e=this.gos;this.hasRowGrouping=e.isModuleRegistered("RowGrouping"),e.isModuleRegistered("TreeData")&&(this.hasTreeData=!0,this.gosTreeData=e.get("treeData")),this.addManagedEventListeners({showRowGroupColsSetChanged:()=>this.strategy?.onShowRowGroupColsSetChanged()})}invalidateGroupCols(){this.columnsInvalidated=!0,this.strategy?.invalidateGroupCols?.()}destroy(){this.strategy=this.destroyBean(this.strategy),super.destroy()}getNonLeaf(e){return this.strategy?.nonLeafsById?.get(e)}getNestedDataGetter(){return this.getStrategy()?.nestedDataGetter}onPropChange(e){const t=this.gos,o=this.strategy?.nestedDataGetter;return e.has("treeData")&&(this.gosTreeData=t.get("treeData")&&this.hasTreeData,this.columnsInvalidated=!0),this.strategy?.onPropChange?.(e),this.getNestedDataGetter()!==o}extractData(){const e=this.beans.rowModel.rootNode,t=this.nested?e?.childrenAfterGroup:e?._leafs;if(!t)return this.gos.get("rowData")??[];const o=t.length,s=new Array(o);let i=0;for(let n=0;n{const s=e._leafs,i=e.sibling;e.treeNodeFlags=0,e.childrenAfterGroup=s,e.childrenMapped=null,e._groupData=void 0,e.aggData=null,i&&(i.childrenAfterGroup=e.childrenAfterGroup,i.childrenAfterAggFilter=e.childrenAfterAggFilter,i.childrenAfterFilter=e.childrenAfterFilter,i.childrenAfterSort=e.childrenAfterSort,i.childrenMapped=null,i._groupData=void 0,i.aggData=null);for(let n=0,r=s.length??0;n{const t=e.sibling;if(!t)return null;const o=t._leafs;return void 0!==o?o:Py(t)})(e):Py(e)}loadGroupData(e){const t=this.getStrategy();return t?t.loadGroupData(e):(e._groupData=null,null)}clearNonLeafs(){this.strategy?.clearNonLeafs()}getWantedStrategyType(){if(this.isAlive()){if(this.gosTreeData)return"tree";if(this.hasRowGrouping&&(this.beans.rowGroupColsSvc?.columns?.length||this.pivotMode))return"group"}return"none"}getStrategy(){let e=this.strategy;const t=this.beans.colModel.isPivotMode();if(t!==this.pivotMode&&(this.pivotMode=t,this.columnsInvalidated=!0),void 0!==e&&!this.columnsInvalidated&&this.isAlive())return e;this.columnsInvalidated=!1;const o=this.getWantedStrategyType();if(o===this.strategyType)return void 0!==e?e:(this.strategy=null,null);if(e&&(this.strategy=this.destroyBean(e),this.needReset=!0),this.strategyType=o,this.treeData="tree"===o,this.grouping="group"===o,"none"===o)return this.strategy=null,null;const s="tree"===o?"treeGroupStrategy":"groupStrategy";return e=this.beans.registry.createDynamicBean(s,!1)??null,this.strategy=e&&this.createBean(e),e}},class extends Oe{constructor(){super(...arguments),this.beanName="flattenStage",this.step="map",this.refreshProps=["groupHideParentOfSingleChild","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","groupTotalRow","masterDetail"]}execute(){const{beans:e,gos:t}=this,o=[],s=e.rowModel.rootNode;if(!s)return o;const i=e.colModel.isPivotMode(),n=i&&s.leafGroup&&s.aggData,r=n?[s]:s.childrenAfterSort,l=function(e){let t=e.get("groupHideParentOfSingleChild");return t||(t=e.get("groupRemoveSingleChildren"),!t&&e.get("groupRemoveLowestSingleChildren")&&(t="leafGroupsOnly")),{groupHideParentOfSingleChild:t,isGroupMultiAutoColumn:_t(e),hideOpenParents:e.get("groupHideOpenParents"),grandTotalRow:jt(e),groupTotalRow:Kt(e)}}(t);this.recursivelyAddToRowsToDisplay(l,r,o,i,0);const a=o.length>0,d=l.grandTotalRow;if(!n&&a&&d)if(hy(s,e),"pinnedBottom"===d||"pinnedTop"===d)this.beans.pinnedRowModel?.setGrandTotalPinned("pinnedBottom"===d?"bottom":"top");else{const e="top"===d;this.addRowNodeToRowsToDisplay(l,s.sibling,o,0,e)}return o}recursivelyAddToRowsToDisplay(e,t,o,s,i){if(!t?.length)return;const n=this.beans.masterDetailSvc;for(let r=0;r{const o=e.id;o&&(e._expanded=t.has(o))}),this.onGroupExpandedOrCollapsed()}getInternalExpansionState(e=!1){const t=[],o=[];return this.beans.rowModel.forEachNode(s=>{const i=s.id;i&&(s.expanded?t.push(i):e&&s.isExpandable()&&o.push(i))}),{expandedRowGroupIds:t,collapsedRowGroupIds:o}}getExpansionState(){return this.getInternalExpansionState()}isExpanded(e){if(e.footer)return!!e._expanded;if(!e.group&&!e.master||e.leafGroup&&this.beans.colModel.isPivotMode())return!1;let t=e._expanded;return null===t&&(t=this.defaultExpanded(e)??!1,e._expanded=t),!!t}resetExpansion(){const{rowModel:e}=this.beans;e.forEachNode(e=>{(e.group||e.master)&&(e._expanded=null)}),this.onGroupExpandedOrCollapsed()}expandAll(e){const{gos:t,rowModel:o,colModel:s,eventSvc:i}=this.beans,n=t.get("treeData"),r=s.isPivotActive(),a=t=>{if(t)for(const o of t){const t=()=>{o._expanded=e,a(o.childrenAfterGroup)};o.master?t():n?l(o.childrenAfterGroup)&&t():r?o.leafGroup||t():o.group&&t()}},d=o.rootNode;d&&a(d.childrenAfterGroup),this.onGroupExpandedOrCollapsed(),i.dispatchEvent({type:"expandOrCollapseAll",source:e?"expandAll":"collapseAll"})}onGroupExpandedOrCollapsed(){this.dispatchStateUpdatedEvent(),this.beans.rowModel.reMapRows()}setDetailsExpansionState(e){const t=this.getInternalExpansionState(!0),o=0===t.collapsedRowGroupIds.length;if(0===t.expandedRowGroupIds.length!==o)return o?e.expandAll():e.collapseAll()}dispatchExpandedEvent(e,t){if((this.events??(this.events=[])).push(e),t)return void this.dispatchExpandedEvents();let o=this.dispatchExpandedDebounced;if(!o){if(!this.isAlive())return;o=this.debounce(()=>this.dispatchExpandedEvents()),this.dispatchExpandedDebounced=o}o()}dispatchExpandedEvents(){const{eventSvc:e,rowRenderer:t}=this.beans,o=this.events,s=o?.length;if(!s)return;this.events=null;const i=new Array(s);for(let n=0;nwindow.setTimeout(e,0);let o=!1;return()=>{t.active?o||(o=!0,t.addDestroyTask(()=>{o=!1,e()})):window.setTimeout(e,0)}}}],dependsOn:[Mv,By]},Oy={moduleName:"StickyRow",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="stickyRowSvc"}createStickyRowFeature(e,t,o){const s=this.gos;if(Wt(s)&&It(s)||At(s))return e.createManagedBean(new Ly(t,o))}}]},Vy={moduleName:"GroupEdit",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="groupEditSvc",this.pendingEditRefresh=null,this.dropGroupTarget=null,this.dropGroupTimer=null,this.dropGroupThrottled=!1,this.draggingGroups=null}postConstruct(){It(this.gos)&&this.addManagedListeners(this.eventSvc,{cellValueChanged:e=>this.onCsrmCellChange(e),batchEditingStopped:()=>this.flushGroupEdits()})}destroy(){this.stopDragging(!0),super.destroy()}isGroupingDrop(e){return!(!e.rowDragManaged||!e.sameGrid||!this.gos.get("refreshAfterGroupEdit")||!this.beans.rowGroupColsSvc?.columns?.length||this.beans.colModel.isPivotMode())}initDraggingGroups(e){const t=/* @__PURE__ */new Map,o=e=>{const s=e.childrenAfterGroup;if(s){if(t.has(e))return;const i=s.slice();t.set(e,i);for(const e of i)o(e)}};for(const s of e.rows)s.group&&o(s);this.draggingGroups=t}canSetParent(e){return!(!e.sameGrid||!this.beans.groupStage?.treeData&&(e.rowDragManaged&&!this.gos.get("refreshAfterGroupEdit")||!this.beans.rowGroupColsSvc?.columns?.length))}canDropRow(e,t){if(this.beans.groupStage?.treeData)return!((e,t)=>{if(!t||e.parent===t)return!1;let o=t;const s=e.id;for(;o;){if(o===e)return!0;if(null!=s&&o.id===s)return!0;o=o.parent}return!1})(e,t.newParent);const{position:o,target:s,newParent:i,rootNode:n}=t,r=e.parent;if(e.group&&(My(e,s)||My(e,i)))return!1;if("inside"===o)return!0;if(i&&i!==r)return i!==n||r===n;const l=i??s?.parent??n;if(l!==r)return!1;const a=e.group?e.level:r.level??-1;let d=-1;return s?d=s.group?s.level:s.parent?.level??-1:l&&(d=l.level),!(a>=0&&d>=0&&d!==a)}fixRowsDrop(e,t,o,s){const i=!!this.beans.groupStage?.treeData;if(e.treeData=i,!this.beans.rowGroupColsSvc?.columns?.length&&!this.gos.get("pivotMode")&&!i)return;this.draggingGroups||!this.isGroupingDrop(e)||e.suppressMoveWhenRowDragging||this.initDraggingGroups(e);let n=e.target,r=null,l=!1;const a=e.rootNode,d=this.beans.rowModel,c=this.canStartGroup(n,i);this.updateDropTarget(e,o,c);const h=this.beans.pageBounds?.getLastRow?.()??d.getRowCount()-1;if(t&&(!n||s>=.5&&n.rowIndex===h?r=a:e.moved&&n&&this.dropGroupThrottled&&this.shouldDropTargetBeParent(e)&&(r=n),r||(r=n?.parent??a)),o||!n||!c||n.group&&n.expanded||this.startDropGroupDelay(n),r){if(n&&r===n&&r!==a){const e=r.expanded?((e,t,o)=>{if(!o)return;let s=o.rowIndex;if(null==s)return;s+=1;const i=e.getRowCount();for(;s>=0&&s{for(let o=0,s=e.length;o{this.dropGroupTimer=null,this.dropGroupThrottled=!0,this.beans.dragAndDrop?.nudge()},t)}resetDragGroup(){null!==this.dropGroupTimer&&(window.clearTimeout(this.dropGroupTimer),this.dropGroupTimer=null),this.dropGroupTarget=null,this.dropGroupThrottled=!1}stopDragging(e){e&&(this.draggingGroups=null),this.resetDragGroup()}shouldDropTargetBeParent({target:e,rows:t,pointerPos:o,treeData:s}){if(!e||"none"===o)return!1;if("inside"===o)return!0;if(!s&&e.group&&!e.expanded)return!0;if("above"===o)return!1;const i=this.beans.rowModel;let n,r=e.rowIndex+1;do{n=i.getRow(r++)}while(n?.footer);const l=this.draggingGroups?.get(e)??e.childrenAfterGroup;if(n&&n.parent===e&&l?.length){const e=new Set(t);for(let t=0,o=l.length;t{d.has(e)||(d.add(e),u??(u=this.newGroupValues(n)),this.setRowGroup(e,u)&&h.add(e))},p=e=>{const t=this.draggingGroups?.get(e)??e.childrenAfterGroup,o=t?.length;if(o)for(let s=0;s=0?g(e):p(e)}};for(const v of e.rows)if(v.group)p(v);else{const e=v.sourceRowIndex>=0&&!v.destroyed?v:this.csrmFirstLeaf(v);e&&g(e)}const m="inside"===o?"above":o,f="inside"===o?this.findFirstLeafForParent(n,d)??s:s;let C=!1;if(d.size&&"none"!==m&&(C=((e,t,o,s)=>{if(!t.size||!e)return!1;let i=!1;const n=e.length??0;let r=-1;o&&(r=o.sourceRowIndex,(o=r<0?ea(o):null)&&(r=o.sourceRowIndex)),r<0||r>=n?r=n:s||++r;let l=r,a=Math.min(r,n-1);for(const h of t){const e=h.sourceRowIndex;ea&&(a=e)}let d=l;for(let h=l;h=r;--h){const o=e[h];t.has(o)||(o.sourceRowIndex!==c&&(o.sourceRowIndex=c,e[c]=o,i=!0),--c)}for(const h of t)h.sourceRowIndex!==d&&(h.sourceRowIndex=d,e[d]=h,i=!0),++d;return i})(i._leafs,d,f,"above"===m)),!h.size&&!C)return!1;c.reordered=C;for(const v of d)c.updates.add(v);return this.csrmRefresh(c),a?a.focusCell():r.clearFocusedCell(),!0}canStartGroup(e,t){return!(!e||e.level<0||e.footer||e.detail)&&(!!e.group||t)}flushGroupEdits(){const e=this.pendingEditRefresh;e&&(this.pendingEditRefresh=null,this.csrmRefresh(e))}csrmRefresh(e){const t=this.beans.rowModel;t.rootNode&&t.refreshModel({step:"group",keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame"),changedRowNodes:e})}newGroupValues(e){const t=this.beans.rowGroupColsSvc?.columns??[],o=new Array(t.length);let s=-1,i=e;for(;i&&i.level>=0;){const e=t[i.level];if(e){const t=e.getColId(),n=i.level;o[n]=i.groupData?.[t]??i.key??void 0,n>s&&(s=n)}i=i.parent}return{values:o,columns:t,maxLevel:s}}setRowGroup(e,{values:t,columns:o,maxLevel:s}){if(s<0)return!1;const{valueSvc:i,changeDetectionSvc:n}=this.beans;let r=!1;n?.beginDeferred();try{for(let n=0;ns)continue;const a=t[n],d=i.getValue(l,e,"data");if(d===a||null==d&&null==a)continue;let c=a;const h=i.parseValue(l,e,a,d);void 0!==h&&(c=h),e.setDataValue(l,c,"rowDrag")&&(r=!0)}}finally{n?.endDeferred()}return r}onCsrmCellChange(e){const{column:t,node:o,source:s}=e;if(this.gos.get("refreshAfterGroupEdit")&&"rowDrag"!==s&&t?.isRowGroupActive()&&!o.group&&o.data)if(this.beans.editSvc?.isBatchEditing()){let e=this.pendingEditRefresh;e||(e=Dy(),this.pendingEditRefresh=e),e.updates.add(o)}else{const e=Dy();e.updates.add(o),this.csrmRefresh(e)}}csrmFirstLeaf(e){if(!e)return null;const t=this.draggingGroups;let o=t?.get(e)??e.childrenAfterGroup;for(;o?.length;){const e=o[0];if(e.sourceRowIndex>=0)return e.destroyed?this.firstAliveChildLeaf(e):e;o=t?.get(e)??e.childrenAfterGroup}return ea(e)}firstAliveChildLeaf(e){const t=this.draggingGroups?.get(e)??e.childrenAfterGroup;if(t)for(const o of t)if(o.sourceRowIndex>=0&&!o.destroyed)return o;return null}findFirstLeafForParent(e,t){if(!e)return null;const o=this.draggingGroups?.get(e)??e?.childrenAfterGroup;if(!o)return null;for(let s=0,i=o.length;s=0&&!t.has(e))return e;const i=this.findFirstLeafForParent(e,t);if(null!==i)return i}return null}}],dependsOn:[Mv,Hy]},zy=(e,t,o,s)=>i=>{const n=Qa((({valueSvc:e,dataTypeSvc:t},o,s)=>{const i=e.getValue(o,s,"data");let n=null;return i instanceof Date?n=i:"string"==typeof i&&(n=(t?.getDateParserFunction(o)??ed)(i)??null),n})(e,t,i.node));return n?s?.(n[o])??n[o]:null},Wy=({colNames:e},t,o)=>s=>{const i=e.getDisplayNameForColumn(t,s.location);return i?`${i} (${o})`:""},Uy=Object.fromEntries(Xa.map(e=>[e,e.toLowerCase()]));function $y(e){return e.groupHierarchy??e.rowGroupingHierarchy}function jy(e,t,o){const s=e.get(t);e.set(t,(s??[]).concat(o))}function Ky(e,t){const o=e.sourceRowIndex,s=t.sourceRowIndex,i=o>=0,n=s>=0;return i&&n?o-s:i||n?i?1:-1:e.__objectId-t.__objectId}var _y=e=>{for(const t of e){const e=t?.childrenAfterGroup;if(!e)continue;const o=e.length;let s=0;for(let i=0;i{for(;void 0!==e._leafs;){const t=e.parent;if(!t)break;e._leafs=void 0,e=t}},Yy={moduleName:"SharedRowGrouping",version:Dv,apiFunctions:{setRowGroupColumns:function(e,t){e.rowGroupColsSvc?.setColumns(t,"api")},removeRowGroupColumns:function(e,t){e.rowGroupColsSvc?.removeColumns(t,"api")},addRowGroupColumns:function(e,t){e.rowGroupColsSvc?.addColumns(t,"api")},getRowGroupColumns:function(e){return e.rowGroupColsSvc?.columns??[]},moveRowGroupColumn:function(e,t,o){e.rowGroupColsSvc?.moveColumn?.(t,o,"api")}},dependsOn:[Mv,py,Ny,Oy,{moduleName:"GroupHierarchy",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="groupHierarchyColSvc",this.columns=null,this.sourceColumnMap=/* @__PURE__ */new WeakMap,this.inverseColumnMap=/* @__PURE__ */new WeakMap}addColumns(e){const t=this.columns;null!=t&&(e.list=t.list.filter(t=>!e.list.some(e=>e.getColId()===t.getColId())).concat(e.list),e.tree=t.tree.filter(t=>!e.tree.some(e=>e.getId()===t.getId())).concat(e.tree),rs(e))}createColumns(e){const t=/* @__PURE__ */new WeakMap,o=/* @__PURE__ */new WeakMap,s=this.createGroupHierarchyColumns(e,t,o);if(ns(s,this.columns?.list??[]))return;Jo(this.beans,this.columns?.tree),this.columns=null;const{colGroupSvc:i}=this.beans,n=i?.findDepth(e.tree)??0;this.columns={list:s,tree:i?.balanceTreeForAutoCols(s,n)??[],treeDepth:n,map:{}},this.sourceColumnMap=t,this.inverseColumnMap=o}updateColumns(e){}getColumn(e){return this.columns?.list.find(t=>as(t,e))??null}getColumns(){return this.columns?.list??null}expandColumnInto(e,t){const o=this.getVirtualColumnsForColumn(t).concat(t);for(const s of o)e.some(e=>as(e,s)||e.getColId()===s.getColId())||e.push(s)}compareVirtualColumns(e,t){const o=this.inverseColumnMap.get(e),s=this.inverseColumnMap.get(t);if(o&&o===s){const s=this.sourceColumnMap.get(o)??[];return s?.indexOf(e)-s?.indexOf(t)}return this.sourceColumnMap.get(e)?.includes(t)?1:this.sourceColumnMap.get(t)?.includes(e)?-1:null}insertVirtualColumnsForCol(e,t){const o=this.getVirtualColumnsForColumn(t);if(!o)return[];let s=e.indexOf(t);return s<0&&(s=e.length-1),i(e,o),e.splice(s,0,...o),o}getVirtualColumnsForColumn(e){return this.isGroupHierarchyColsEnabledForCol(e)?this.sourceColumnMap.get(e)??[]:[]}isGroupHierarchyColsEnabled(e){return e.list.some(e=>this.isGroupHierarchyColsEnabledForCol(e))}isGroupHierarchyColsEnabledForCol(e){const t=e.getColDef();return!(!$y(t)||!(t.rowGroup||t.enableRowGroup||null!=t.rowGroupIndex||t.pivot||t.enablePivot||null!=t.pivotIndex))}createGroupHierarchyColDefs(e){const t=[],o=e.getColDef(),s=$y(o);if(!s)return t;if(!this.isGroupHierarchyColsEnabledForCol(e))return t;for(const i of s){let s=null;s="string"==typeof i?this.createColDefForPart(i,e,o):i,s&&t.push(s)}return t}createGroupHierarchyColumns(e,t,o){if(!this.isGroupHierarchyColsEnabled(e))return[];const s=[];for(const i of e.list)for(const e of this.createGroupHierarchyColDefs(i)){const n=e.colId;this.gos.validateColDef(e,n,!0);const r=new Fo(e,null,n,!0);this.createBean(r),s.push(r),jy(t,i,r),o.set(r,i)}return s}createColDefForPart(e,t,o){const{beans:s,gos:i}=this,n=`ag-Grid-HierarchyColumn-${t.getColId()}-${e}`,r={enableRowGroup:o.enableRowGroup,rowGroup:o.rowGroup,enablePivot:o.enablePivot,hide:!0,editable:!1},l=i.get("groupHierarchyConfig")??{};if(e in l){const t={...r,...l[e]};return t.colId??(t.colId=n),_o(s,t,t.colId,!0)}const a=_o(s,{colId:n,...r},n,!0),d=this.getLocaleTextFunc(),c=(e,t)=>d?.(e,t)??t;switch(e){case"year":return{...a,headerValueGetter:Wy(s,t,c(e,"Year")),valueGetter:zy(s,t,0)};case"quarter":return{...a,headerValueGetter:Wy(s,t,c(e,"Quarter")),valueGetter:zy(s,t,1,e=>(Math.floor(Number(e)/4)+1).toString())};case"month":return{...a,headerValueGetter:Wy(s,t,c(e,"Month")),valueGetter:zy(s,t,1)};case"formattedMonth":return{...a,headerValueGetter:Wy(s,t,c("month","Month")),valueGetter:zy(s,t,1,e=>{const t=(e=>{const t=Xa[Number.parseInt(e,10)-1]??e;return{month:t,localeKey:Uy[t]??e}})(e);return c(t.localeKey,t.month)})};case"day":return{...a,headerValueGetter:Wy(s,t,c(e,"Day")),valueGetter:zy(s,t,2)};case"hour":return{...a,headerValueGetter:Wy(s,t,c(e,"Hour")),valueGetter:zy(s,t,3)};case"minute":return{...a,headerValueGetter:Wy(s,t,c(e,"Minute")),valueGetter:zy(s,t,4)};case"second":return{...a,headerValueGetter:Wy(s,t,c(e,"Second")),valueGetter:zy(s,t,5)};default:return null}}}],dependsOn:[By]}]},Zy={moduleName:"RowGrouping",version:Dv,dynamicBeans:{groupStrategy:class extends Oe{constructor(){super(...arguments),this.groupCols=[],this.nonLeafsById=/* @__PURE__ */new Map,this.checkGroupCols=!0,this.pivotMode=!1,this.groupEmpty=!1}invalidateGroupCols(){this.checkGroupCols=!0}destroy(){super.destroy(),this.groupCols.length=0,this.nonLeafsById.clear()}clearNonLeafs(){const e=this.nonLeafsById;for(const t of e.values())t._destroy(!1);e.clear()}loadGroupData(e){if(!e.group)return e._groupData=null,null;const t=e.rowGroupColumn,{valueSvc:o,showRowGroupCols:s}=this.beans,i={};if(e._groupData=i,!t)return i;const n=ea(e),r=t.getId();if(!s)return i;const l=s.columns;for(let a=0,d=l.length;a{const t=e.childrenAfterGroup,o=t?.length;if(!o)return;const s=new Array(o);let i,n=0,r=!1;for(let l=0;l{const o=e.length;if(o!==t?.length)return!0;for(let s=0;s{if(!e)return void(t.length=0);const o=e.length;t.length=o;for(let s=0;s1)}}if(i.size)for(const a of i){this.insertOneNode(e,a);const o=a.parent;t?.addRow(o),n||(n=(o?.childrenAfterGroup?.length??0)>1)}l.size&&(_y(l),this.removeEmptyGroups(l,r)),n&&this.sortChildren(e,t)}sortChildren(e,t){eg(e,!0,void 0,e=>{(function(e){if(!e)return!1;const t=e.length;if(t<2)return!1;let o=!1;for(let s=1;s0){o=!0;break}return!!o&&(e.sort(Ky),!0)})(e.childrenAfterGroup)&&t?.addRow(e)})}orderGroups(e){const t=this.gos.getCallback("initialGroupOrderComparator");if(!t)return;const o=this.beans,s=o.gridApi,i=o.gridOptions.context,n=(e,o)=>t({api:s,context:i,nodeA:e,nodeB:o}),r=e=>{const t=e.childrenAfterGroup,o=t?.length;if(o&&!e.leafGroup){o>1&&t.sort(n);for(let e=0,s=o;e=0;--l){const{col:e}=r[l];let a=o.getKeyForNode(e,t);if(null==a||""===a){if(!s)continue;a=""}if(!i?.parent||i.key!==a){n=!0;break}i=i.parent}return n||(n=!!i?.parent),!!n&&(this.removeFromParent(t),this.insertOneNode(e,t),t.setData(t.data),!0)}groupShouldBeRemoved(e){const t=this.getChildrenMappedKey(e.key,e.rowGroupColumn),o=e.parent?.childrenMapped;return!(!o||!o[t]||!e.group||0!==(e.childrenAfterGroup?.length??0))}removeEmptyGroups(e,t){const o=this.beans.selectionSvc;let s;const i=Array.from(e),n=this.nonLeafsById;do{e.clear();for(let r=0;r=l-1,g=this.createGroup(o,e,d,h,u,t);this.addToParent(g,o),o=g}o.group||Dt(184,{parentGroupData:o.data,childNodeData:t.data}),t.parent=o,t.level=o.level+1,o.childrenAfterGroup.push(t),o.updateHasChildren(),qy(o)}createGroup(e,t,o,s,i,n){const r=t.col,l=(e.level>=0?e.id+"-":"row-group-")+r.getColId()+"-"+o,a=this.nonLeafsById;let d=a.get(l),c=!0;if(d){if(null!==d.childrenAfterGroup)return d._expanded??(d._expanded=null),d;c=!1,qy(d)}else d=new ln(this.beans),d.group=!0,d.key=o,d.id=l,d.aggData=null,a.set(l,d);const h=t=>{t.childrenAfterGroup=u,t.childrenMapped=g,t.parent=e,t.level=s,t.rowGroupIndex=s,t.leafGroup=i},u=[],g={};if(h(d),d.field=t.field??null,d.rowGroupColumn=r,d.groupValue=this.beans.valueSvc.getValue(r,n,"data"),d._expanded??(d._expanded=null),c)return d.setAllChildrenCount(0),d.updateHasChildren(),d;const p=d.sibling;return p&&h(p),d.dispatchRowEvent("hasChildrenChanged"),d}getChildrenMappedKey(e,t){return t?t.getId()+"-"+e:e}onShowRowGroupColsSetChanged(){const{rowModel:e,valueSvc:t}=this.beans;for(const s of this.nonLeafsById.values()){s._groupData=void 0;const e=s.rowGroupColumn,o=e&&ea(s);s.groupValue=o&&t.getValue(e,o,"data")}const o=e.rootNode?._leafs;if(o)for(let s=0,i=o.length;s{this.gridCtrl=e.gridCtrl})}destroy(){super.destroy(),this.clientSideRowModel=null,this.gridCtrl=null}pasteFromClipboard(){this.gos.get("suppressClipboardApi")||this.navigatorApiFailed||!navigator.clipboard?.readText?this.pasteFromClipboardLegacy():navigator.clipboard.readText().then(this.processClipboardData.bind(this)).catch(e=>{Dt(40,{e:e,method:"readText"}),this.navigatorApiFailed=!0,this.pasteFromClipboardLegacy()})}pasteFromClipboardLegacy(){let e=!1;const t=t=>{const o=Date.now();o-this.lastPasteOperationTime<50&&(e=!0,t.preventDefault()),this.lastPasteOperationTime=o};this.executeOnTempElement(e=>{e.addEventListener("paste",t),e.focus({preventScroll:!0})},o=>{const s=o.value;e?this.refocusLastFocusedCell():this.processClipboardData(s),o.removeEventListener("paste",t)})}refocusLastFocusedCell(){const{focusSvc:e}=this.beans,t=e.getFocusedCell();t&&e.setFocusedCell({rowIndex:t.rowIndex,column:t.column,rowPinned:t.rowPinned,forceBrowserFocus:!0})}getClipboardDelimiter(){const e=this.gos.get("clipboardDelimiter");return l(e)?e:"\t"}processClipboardData(e){if(null==e)return;let t=function(e,t=","){const o=[],s=e=>"\r"===e||"\n"===e;let i=!1;if(""===e)return[[""]];for(let n=0,r=0,l=0;l{o[n]||(o[n]=[]),o[n][r]||(o[n][r]="")};if(h(),'"'===d&&(i?'"'===c?(o[n][r]+='"',l++):i=!1:(void 0===a||a===t||s(a))&&(i=!0)),!i&&'"'!==d){if(d===t){r++,h();continue}if(s(d)){r=0,n++,h(),"\r"===d&&"\n"===c&&l++;continue}}o[n][r]+=d}return o}(e,this.getClipboardDelimiter());const o=this.gos.getCallback("processDataFromClipboard");if(o&&(t=o({data:t})),null==t)return;this.gos.get("suppressLastEmptyLineOnPaste")&&this.removeLastLineIfBlank(t);const{rangeSvc:s,editSvc:i}=this.beans;this.doPasteOperation((e,o,n,r)=>{s?.isMoreThanOneCell()&&!this.hasOnlyOneValueToPaste(t)?this.pasteIntoActiveRange(t,e,o,r):this.pasteStartingFromFocusedCell(t,e,o,n,r),i?.stopEditing(void 0,{source:Qy})})}doPasteOperation(e){const t="clipboard",{eventSvc:o,focusSvc:s,rowRenderer:i,gos:n}=this.beans;o.dispatchEvent({type:"pasteStart",source:t});const{clientSideRowModel:r}=this,l=r?.rootNode,a=l&&this.beans.changedPathFactory?.newPath(n.get("aggregateOnlyChangedColumns")),d={},c=[];e(d,c,s.getFocusedCell(),a);const h=c.slice();a&&(r.doAggregate(a),eg(l,r.hierarchical,a,e=>{h.push(e)})),i.refreshCells({rowNodes:h}),this.dispatchFlashCells(d),this.fireRowChanged(c),this.refocusLastFocusedCell(),o.dispatchEvent({type:"pasteEnd",source:t})}getPreProcessRangeCallback(e){return t=>{const{rangeSvc:o}=this.beans;if(!o)return;const{rowDiff:s,colDiff:i}=this.getAdjustedRangeDimensionForPaste(t,e);0!==s&&o.extendRangeRowCountBy(t,s),0!==i&&o.extendRangeColumnCountBy(t,i)}}getAdjustedRangeDimensionForPaste(e,t){const o=this.beans.rangeSvc,s=t.length,i=o.getRangeRowCount(e),n=i>=s&&i%s===0,r=t[0].length,l=e.columns.length;return{rowDiff:n?0:s-i,colDiff:l>=r&&l%r===0?0:r-l}}pasteIntoActiveRange(e,t,o,s){let i=0,n=0;this.iterateActiveRanges((r,l,a,d)=>{if(d-i>=e.length){if(d%e.length!==0)return;i+=n,n=0}const c=e[d-i];o.push(l);const h=this.gos.getCallback("processCellFromClipboard"),u=a.columns,g=u.findIndex(ts);-1!==g&&u.splice(g,1);for(let e=0;e=c.length&&(i=e%c.length);const n=this.processCell(l,o,c[i],Xy,h,!0);l.setDataValue(o,n,Qy),s?.addCell(l.parent,o.getId());const{rowIndex:a,rowPinned:d}=r,g=wn({rowIndex:a,column:o,rowPinned:d});t[g]=!0}n++},!1,this.getPreProcessRangeCallback(e))}getDisplayedColumnsStartingAt(e){let t=e;const o=[],{visibleCols:s}=this.beans;for(;t&&ss(t);)t=s.getColAfter(t);for(;null!=t;)o.push(t),t=s.getColAfter(t);return o}pasteStartingFromFocusedCell(e,t,o,s,i){if(!s)return;const n={rowIndex:s.rowIndex,rowPinned:s.rowPinned},r=this.getDisplayedColumnsStartingAt(s.column);this.isPasteSingleValueIntoRange(e)?this.pasteSingleValueIntoRange(e,o,t,i):this.pasteMultipleValues(e,n,o,r,t,Jy,i)}isPasteSingleValueIntoRange(e){const t=this.beans.rangeSvc;return this.hasOnlyOneValueToPaste(e)&&!!t&&!t.isEmpty()}pasteSingleValueIntoRange(e,t,o,s){const i=e[0][0];this.iterateActiveRanges((e,n,r)=>{t.push(n),r.columns.forEach(e=>this.updateCellValue(n,e,i,o,Jy,s))})}hasOnlyOneValueToPaste(e){return 1===e.length&&1===e[0].length}copyRangeDown(){const{rangeSvc:e,gos:t,formula:o,valueSvc:s}=this.beans;if(!e||e.isEmpty())return;const i=[];this.doPasteOperation((e,n,r,l)=>{const a=t.getCallback("processCellForClipboard"),d=t.getCallback("processCellFromClipboard");this.iterateActiveRanges((t,r,c)=>{const{columns:h}=c;i.length?(n.push(r),h.forEach((s,n)=>{if(!s.isCellEditable(r)||s.isSuppressPaste(r))return;s.isAllowFormula()&&o?.isFormula(i[n])&&(i[n]=o?.updateFormulaByOffset({value:i[n],rowDelta:1}));const a=this.processCell(r,s,i[n],Xy,d,!0);r.setDataValue(s,a,Qy),l?.addCell(r.parent,s.getId());const{rowIndex:c,rowPinned:h}=t,u=wn({rowIndex:c,column:s,rowPinned:h});e[u]=!0})):h.forEach(e=>{const t=this.processCell(r,e,s.getValue(e,r,"batch"),Xy,a,!1,!0);i.push(t)})},!0)})}removeLastLineIfBlank(t){const o=e(t);if(o&&1===o.length&&""===o[0]){if(1===t.length)return;s(t,o)}}fireRowChanged(e){if("fullRow"===this.gos.get("editType"))for(const t of e)this.eventSvc.dispatchEvent({type:"rowValueChanged",node:t,data:t.data,rowIndex:t.rowIndex,rowPinned:t.rowPinned})}shouldSkipPasteRow(e,t,o){if(e.detail||e.footer)return!0;if(o&&e.group){for(const o of t)if(o.isCellEditable(e))return!1;return!0}return!1}pasteMultipleValues(e,t,o,s,i,n,r){let l=t;const a=this.beans,{gos:d}=a,c=null!=this.clientSideRowModel&&!d.get("enableGroupEdit")&&!d.get("treeData"),h=()=>{for(;l;){const e=Fn(a,l);if(l=En(a,{rowPinned:l.rowPinned,rowIndex:l.rowIndex}),null!=e&&!this.shouldSkipPasteRow(e,s,c))return e}return null};for(const u of e){const e=h();e&&(u.forEach((t,o)=>this.updateCellValue(e,s[o],t,i,n,r)),o.push(e))}}updateCellValue(e,t,o,s,i,n){if(!e||!t?.isCellEditable(e)||t?.isSuppressPaste(e))return;const r=this.processCell(e,t,o,i,this.gos.getCallback("processCellFromClipboard"),!0);e.setDataValue(t,r,Qy);const{rowIndex:l,rowPinned:a}=e;s[wn({rowIndex:l,column:t,rowPinned:a})]=!0,n?.addCell(e.parent,t.getId())}copyToClipboard(e={}){this.copyOrCutToClipboard(e)}cutToClipboard(e={},t="api"){this.gos.get("suppressCutToClipboard")||(this.eventSvc.dispatchEvent({type:"cutStart",source:t}),this.copyOrCutToClipboard(e,!0),this.eventSvc.dispatchEvent({type:"cutEnd",source:t}))}copyOrCutToClipboard(e,t){let{includeHeaders:o,includeGroupHeaders:s}=e;const{gos:i,focusSvc:n}=this.beans;null==o&&(o=i.get("copyHeadersToClipboard")),null==s&&(s=i.get("copyGroupHeadersToClipboard"));const r={includeHeaders:o,includeGroupHeaders:s},l=i.get("rowSelection"),a=i.get("cellSelection");let d=null;this.shouldCopyCells(a,l)?(this.copySelectedRangeToClipboard(r),d=0):this.shouldCopyRows(l)?(this.copySelectedRowsToClipboard(r),d=1):n.isAnyCellFocused()&&(this.copyFocusedCellToClipboard(r),d=2),t&&null!==d&&this.clearCellsAfterCopy(d)}shouldCopyCells(e,t){const{rangeSvc:o,selectionSvc:s,gos:i}=this.beans;if(!o||o.isEmpty())return!1;if(e)return!("object"==typeof t&&t.copySelectedRows&&!s?.isEmpty());{const e=i.get("suppressCopySingleCellRanges");return!(!o.isMoreThanOneCell()&&e)}}shouldCopyRows(e){const{selectionSvc:t,gos:o}=this.beans;return!(t?.isEmpty()??1)&&(e&&"string"!=typeof e?e.copySelectedRows??!1:!o.get("suppressCopyRowsToClipboard"))}clearCellsAfterCopy(e){const t=this.beans,{rangeSvc:o,focusSvc:s,eventSvc:i}=t;if(i.dispatchEvent({type:"keyShortcutChangedCellStart"}),0===e)o.clearCellRangeCellValues({cellEventSource:"clipboardSvc"});else if(1===e)this.clearSelectedRows();else{const e=s.getFocusedCell();if(null==e)return;const o=Fn(t,e);o&&this.clearCellValue(o,e.column)}i.dispatchEvent({type:"keyShortcutChangedCellEnd"})}clearSelectedRows(){const{selectionSvc:e,visibleCols:t}=this.beans,o=e?.getSelectedNodes()??[],s=t.allCols;for(const i of o)for(const e of s)this.clearCellValue(i,e)}clearCellValue(e,t){if(!t.isCellEditable(e))return;const o=this.beans.valueSvc.getDeleteValue(t,e);e.setDataValue(t,o,"clipboardSvc")}iterateActiveRanges(e,t,o){const s=this.beans.rangeSvc;if(!s||s.isEmpty())return;const i=s.getCellRanges(),n=t?[i[0]]:i;for(const r of n)this.iterateActiveRange({cellRange:r,rowCallback:e,preProcessRange:o})}iterateActiveRange(e){const{cellRange:t,preProcessRange:o,rowCallback:s}=e,{beans:i}=this,{rangeSvc:n}=i;if(!n)return;o&&o(t);let r=n.getRangeStartRow(t);const l=n.getRangeEndRow(t);let a=0,d=!1;for(;!d&&null!=r;){const e=Fn(i,r);d=Sn(r,l),s(r,e,t,a++),r=En(i,r)}}copySelectedRangeToClipboard(e={}){const t=this.beans.rangeSvc;if(!t||t.isEmpty())return;const{data:o,cellsToFlash:s}=t.areAllRangesAbleToMerge()?this.buildDataFromMergedRanges(t,e):this.buildDataFromRanges(t,e);this.copyDataToClipboard(o),this.dispatchFlashCells(s)}buildDataFromMergedRanges(e,t){const o=/* @__PURE__ */new Set,s=e.getCellRanges(),i=/* @__PURE__ */new Map,n=[],r={},l=It(this.gos,this.beans.rowModel),a=/* @__PURE__ */new Set;l||this.beans.rowModel.forEachNode(e=>{a.add(e.rowIndex)});for(const h of s){h.columns.forEach(e=>o.add(e));const{rowPositions:t,cellsToFlash:s}=this.getRangeRowPositionsAndCellsToFlash(e,h);for(const e of t){const t=a.has(e.rowIndex);if(!l&&!t)continue;const o=`${e.rowIndex}-${e.rowPinned||"null"}`;i.get(o)||(i.set(o,!0),n.push(e))}Object.assign(r,s)}const d=this.beans.visibleCols.allCols,c=Array.from(o);return c.sort((e,t)=>d.indexOf(e)-d.indexOf(t)),{data:this.buildExportParams({columns:c,rowPositions:n,includeHeaders:t.includeHeaders,includeGroupHeaders:t.includeGroupHeaders}),cellsToFlash:r}}buildDataFromRanges(e,t){const o=e.getCellRanges(),s=[],i={};for(const n of o){const{rowPositions:o,cellsToFlash:r}=this.getRangeRowPositionsAndCellsToFlash(e,n);Object.assign(i,r),s.push(this.buildExportParams({columns:n.columns,rowPositions:o,includeHeaders:t.includeHeaders,includeGroupHeaders:t.includeGroupHeaders}))}return{data:s.join("\n"),cellsToFlash:i}}getRangeRowPositionsAndCellsToFlash(e,t){const o=[],s={},i=e.getRangeStartRow(t),n=e.getRangeEndRow(t);let r=i;for(;r;){o.push(r);for(const e of t.columns){const{rowIndex:t,rowPinned:o}=r;s[wn({rowIndex:t,column:e,rowPinned:o})]=!0}if(Sn(r,n))break;r=En(this.beans,r)}return{rowPositions:o,cellsToFlash:s}}getCellsToFlashFromRowNodes(e){const t=this.beans.visibleCols.allCols,o={};for(let s=0;s{const{value:o,valueFormatted:s}=this.beans.valueSvc.getValueForDisplay({column:t,node:e,includeValueFormatted:!0,from:"batch"}),i=s??o??"",r=n.getCallback("processCellForClipboard");return r?r({column:t,node:e,value:i,type:Jy,formatValue:o=>this.beans.valueSvc.formatValue(t,e,o)??o,parseValue:s=>this.beans.valueSvc.parseValue(t,e,s,o)??s}):i},processHeaderCallback:n.getCallback("processHeaderForClipboard"),processGroupHeaderCallback:n.getCallback("processGroupHeaderForClipboard")};return r.getDataAsCsv(l,!0)}dispatchFlashCells(e){window.setTimeout(()=>{this.eventSvc.dispatchEvent({type:"flashCells",cells:e})},0)}processCell(e,t,o,s,i,n,r){const{valueSvc:l,formula:a}=this.beans;return i?i({column:t,node:e,value:o,type:s,formatValue:o=>l.formatValue(t,e??null,o)??o,parseValue:o=>l.parseValue(t,e??null,o,l.getValue(t,e,"edit"))}):n&&!1!==t.getColDef().useValueParserForImport?l.parseValue(t,e??null,o,l.getValue(t,e,"edit")):r&&!1!==t.getColDef().useValueFormatterForExport?a?.isFormula(o)?o:l.formatValue(t,e??null,o)??o:o}copyDataToClipboard(e){const t=this.gos.getCallback("sendToClipboard");t?t({data:e}):this.gos.get("suppressClipboardApi")||!navigator.clipboard?this.copyDataToClipboardLegacy(e):navigator.clipboard.writeText(e).catch(t=>{Dt(40,{e:t,method:"writeText"}),this.copyDataToClipboardLegacy(e)})}copyDataToClipboardLegacy(e){this.executeOnTempElement(t=>{const o=b(this.beans),s=w(this.beans);t.value=e||" ",t.select(),t.focus({preventScroll:!0}),o.execCommand("copy")||Dt(41),null!=s?.focus&&s.focus({preventScroll:!0})})}executeOnTempElement(e,t){if(!this.gridCtrl)return;const o=b(this.beans),s=o.createElement("textarea"),i=s.style;i.width="1px",i.height="1px";const n=o.documentElement;i.top=n.scrollTop+"px",i.left=n.scrollLeft+"px",i.position="absolute",i.opacity="0",this.gridCtrl.getGui().appendChild(s);try{e(s)}catch(r){Dt(42)}t?window.setTimeout(()=>{t(s),s.remove()},100):s.remove()}}],apiFunctions:{copyToClipboard:function(e,t){e.clipboardSvc?.copyToClipboard(t)},cutToClipboard:function(e,t){e.clipboardSvc?.cutToClipboard(t)},copySelectedRowsToClipboard:function(e,t){e.clipboardSvc?.copySelectedRowsToClipboard(t)},copySelectedRangeToClipboard:function(e,t){e.clipboardSvc?.copySelectedRangeToClipboard(t)},copySelectedRangeDown:function(e){e.clipboardSvc?.copyRangeDown()},pasteFromClipboard:function(e){e.clipboardSvc?.pasteFromClipboard()}},dependsOn:[Mv,xg,Zh,Yp]},tS=class extends Oe{constructor(){super(...arguments),this.loadRowDataVersion=0}wireBeans(e){this.environment=e.environment}init(e,t){this.params=t,this.comp=e,null==t.pinned&&(this.setAutoHeightClasses(),this.setupRefreshStrategy(),this.createDetailGrid(),this.loadRowData(),this.addManagedEventListeners({fullWidthRowFocused:this.onFullWidthRowFocused.bind(this)}))}onFullWidthRowFocused(e){const t=this.params;Sn({rowIndex:t.node.rowIndex,rowPinned:t.node.rowPinned},{rowIndex:e.rowIndex,rowPinned:e.rowPinned})&&Wi(this.comp.getGui(),e.fromBelow)}setAutoHeightClasses(){const e=this.gos.get("detailRowAutoHeight"),t=e?"ag-details-row-auto-height":"ag-details-row-fixed-height",o=e?"ag-details-grid-auto-height":"ag-details-grid-fixed-height",s=this.comp;s.toggleCss(t,!0),s.toggleDetailGridCss(o,!0)}setupRefreshStrategy(){const e=this.params.refreshStrategy;"everything"!=e&&"nothing"!=e&&"rows"!=e?(null!=e&&Dt(170,{providedStrategy:e}),this.refreshStrategy="rows"):this.refreshStrategy=e}createDetailGrid(){const{params:e,gos:t}=this;if(a(e.detailGridOptions))return void Dt(171);const o=t.get("theme"),s=e.detailGridOptions.theme;s&&s!==o&&Dt(267);const i={themeStyleContainer:this.environment.eStyleContainer,...e.detailGridOptions,theme:o};t.get("detailRowAutoHeight")&&(i.domLayout="autoHeight"),this.comp.setDetailGrid(i)}registerDetailWithMaster(e){const{params:t,beans:{selectionSvc:o,findSvc:s,expansionSvc:i}}=this,n=t.node.id,r=t.api,l={id:n,api:e},a=t.node;if(r.isDestroyed())return;r.addDetailGridInfo(n,l),a.detailGridInfo=l;const d=a.parent;function c(){d&&o?.refreshMasterNodeState(d)}function h({source:t}){return"expandAll"===t?e.expandAll():"collapseAll"===t?e.collapseAll():void 0}function u({node:s,source:i}){s!==d||"masterDetail"===i||e.isDestroyed()||o?.setDetailSelectionState(d,t.detailGridOptions,e)}s?.registerDetailGrid(a,e),e.addEventListener("firstDataRendered",()=>{e.isDestroyed()||r.isDestroyed()||(o?.setDetailSelectionState(d,t.detailGridOptions,e),e.addEventListener("selectionChanged",c),r.addEventListener("rowSelected",u),e.isModuleRegistered("CsrmSsrmSharedApiModule")&&(r.addEventListener("expandOrCollapseAll",h),i?.setDetailsExpansionState(e)))}),this.addManagedListeners(d,{masterChanged:e=>{e.node.master||this.onDestroy(l)}}),this.addDestroyFunc(()=>this.onDestroy(l))}onDestroy(e){const{params:t}=this,o=t.node,s=t.api;o.detailGridInfo===e&&(s.isDestroyed()||s.removeDetailGridInfo(o.id),o.detailGridInfo=null)}loadRowData(){this.loadRowDataVersion++;const e=this.loadRowDataVersion,t=this.params;if("serverSide"===t.detailGridOptions?.rowModelType)return void t.node.detailGridInfo?.api?.refreshServerSide({purge:!0});const o=t.getDetailRowData;o?o({node:t.node,data:t.node.data,successCallback:t=>{this.loadRowDataVersion===e&&this.comp.setRowData(t)},context:Co(this.gos,{}).context}):Dt(172)}refresh(){const e=!0;switch(this.refreshStrategy){case"nothing":return e;case"everything":return!1}return this.loadRowData(),e}},oS=class{constructor(e){this.parentWrapper=e}wrap(e,t,o,s){return this.parentWrapper.wrap(e,t,o,s)}},sS={tag:"div",cls:"ag-details-row"},iS={tag:"div",cls:"ag-details-row",role:"gridcell",children:[{tag:"div",ref:"eDetailGrid",cls:"ag-details-grid",role:"presentation"}]};function nS(e,t){const o=e.masterDetailSvc?.store;return o?t(o):void 0}var rS={moduleName:"MasterDetail",version:Dv,dependsOn:[{moduleName:"SharedMasterDetail",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="masterDetailSvc",this.store={}}isEnabled(){return this.gos.get("masterDetail")}postConstruct(){const e=this.gos;It(e)&&(this.enabled=this.isEnabled()),At(e)&&this.addEventListeners()}addEventListeners(){const e=e=>{this.setMaster(e.node,!1,!0)};let t;const o=()=>{if(t){for(const e of t)e();t=void 0}this.isEnabled()&&(t=this.addManagedListeners(this.beans.eventSvc,{rowNodeDataChanged:e}))};o(),this.gos.addPropertyEventListener("masterDetail",o)}refreshModel(e){if(e.changedProps){const e=this.isEnabled();if(this.enabled!==e)return void this.setMasters(null)}e.rowDataUpdated&&this.setMasters(e.changedRowNodes)}setMaster(e,t,o){const s=e.master,i=this.isEnabled();let n=i;const r=this.gos,l=r.get("isRowMaster"),a=r.get("treeData");if(i)if(t||o){if(l){const t=e.data;n=!!t&&!!l(t)}}else n=s;a||(n&&t||!n&&s)&&(e._expanded??(e._expanded=null)),n!==s&&(e.master=n,e.dispatchRowEvent("masterChanged"))}setMasters(e){if(this.enabled=this.isEnabled(),e){for(const t of e.updates)this.setMaster(t,!1,!0);for(const t of e.adds)this.setMaster(t,!0,!1)}else{const e=nn(this.beans)?.rootNode?._leafs;if(e)for(let t=0,o=e.length;t{const s=t.clientHeight;if(null!=s&&s>0){const t=()=>{const{rowModel:t}=this.beans,{rowNode:i}=e;i.setRowHeight(s),(It(o)||At(o))&&t.onRowHeightChanged()};window.setTimeout(t,0)}},n=we(s,t,i);e.addDestroyFunc(n),i()}destroy(){this.store={},super.destroy()}}],userComponents:{agDetailCellRenderer:class extends Pi{constructor(){super(...arguments),this.eDetailGrid=null}wireBeans(e){this.context=e.context}init(e){this.params=e,this.selectAndSetTemplate();const t={toggleCss:(e,t)=>this.toggleCss(e,t),toggleDetailGridCss:(e,t)=>this.eDetailGrid.classList.toggle(e,t),setDetailGrid:e=>this.setDetailGrid(e),setRowData:e=>this.setRowData(e),getGui:()=>this.eDetailGrid};this.ctrl=this.createManagedBean(new tS),this.ctrl.init(t,e)}refresh(){return this.ctrl?.refresh()??!1}selectAndSetTemplate(){const e=this.params;if(e.pinned)return void this.setTemplate(sS);const t=()=>{this.setTemplate(iS)};if(a(e.template))t();else if("string"==typeof e.template)this.setTemplate(e.template,[]);else if("function"==typeof e.template){const t=(0,e.template)(e);this.setTemplate(t,[])}else Dt(168),t();null==this.eDetailGrid&&Dt(169)}setDetailGrid(e){if(!this.eDetailGrid)return;const t=new oS(this.context.getBean("frameworkCompWrapper")),{frameworkOverrides:o}=this.beans,s=Yu(this.eDetailGrid,e,{frameworkOverrides:o,providedBeanInstances:{frameworkCompWrapper:t},modules:gt(this.params.api.getGridId(),e.rowModelType??"clientSide")});this.detailApi=s,this.ctrl?.registerDetailWithMaster(s),this.addDestroyFunc(()=>{s.destroy()})}setRowData(e){this.detailApi?.setGridOption("rowData",e)}}},dynamicBeans:{detailCellRendererCtrl:tS},apiFunctions:{addDetailGridInfo:function(e,t,o){nS(e,e=>{e[t]=o})},removeDetailGridInfo:function(e,t){nS(e,e=>{delete e[t]})},getDetailGridInfo:function(e,t){return nS(e,e=>e[t])},forEachDetailGridInfo:function(e,t){nS(e,e=>{let o=0;Object.values(e).forEach(e=>{e&&t(e,o++)})})}},dependsOn:[Mv,Gy,Oy],css:[".ag-details-row{width:100%}.ag-details-row-fixed-height{height:100%}.ag-details-grid{width:100%}.ag-details-grid-fixed-height{height:100%}"]},Hy,jp]},lS=class extends Pi{constructor(){super(...arguments),this.changedCalculatedValues=!1,this.dragging=!1,this.shouldDestroyOnEndDragging=!1}postConstruct(){this.beans.dragSvc.addDragSource({dragStartPixels:0,eElement:this.getGui(),onDragging:e=>{let t=!1;this.dragging||(t=!0,this.dragging=!0,R(this.beans).classList?.add(this.getDraggingCssClass())),this.updateValuesOnMove(e),t?this.changedCalculatedValues=!1:(this.beans.rangeSvc.autoScrollService.check(e),this.changedCalculatedValues&&(this.onDrag(e),this.changedCalculatedValues=!1))},onDragStop:e=>{this.dragging=!1,this.onDragEnd(e),this.clearDragProperties()},onDragCancel:()=>{this.dragging=!1,this.onDragCancel(),this.clearDragProperties()}}),this.addManagedEventListeners({cellSelectionChanged:this.updateLocalRangeIfNeeded.bind(this)}),this.addManagedElementListeners(this.getGui(),{pointerdown:aS,mousedown:aS})}getLastCellHovered(){return this.lastCellHovered}getDraggingCssClass(){return`ag-dragging-${0===this.type?"fill":"range"}-handle`}updateValuesOnMove(e){const t=ta(this.gos,e);!t||this.shouldSkipCell(t)||this.lastCellHovered&&bn(t,this.lastCellHovered)||(this.lastCellHovered=t,this.changedCalculatedValues=!0)}clearDragProperties(){this.clearValues(),this.beans.rangeSvc.autoScrollService.ensureCleared(),R(this.beans).classList?.remove(this.getDraggingCssClass()),this.shouldDestroyOnEndDragging&&this.destroy()}getType(){return this.type}refresh(t,o){const s=this.cellCtrl,i=this.getGui(),n=o??e(this.beans.rangeSvc.getCellRanges()),r=n.startRow,l=n.endRow;if(r&&l&&(yn(l,r)?(this.rangeStartRow=l,this.rangeEndRow=r):(this.rangeStartRow=r,this.rangeEndRow=l)),s!==t||!re(i)){this.cellCtrl=t;const e=t.comp.getParentOfValue();e&&e.appendChild(i)}this.cellRange=n}clearValues(){this.lastCellHovered=void 0}destroy(){if(!this.shouldDestroyOnEndDragging&&this.dragging)return K(this.getGui(),!1),void(this.shouldDestroyOnEndDragging=!0);this.shouldDestroyOnEndDragging=!1,super.destroy(),this.getGui()?.remove()}updateLocalRangeIfNeeded(e){if(!this.cellRange)return;const{id:t,type:o}=this.cellRange;if(!t||t!==e.id)return;const s=this.beans.rangeSvc?.getCellRanges().find(e=>e.id===t&&e.type===o);s&&s!==this.cellRange&&(this.cellRange=s)}},aS=e=>{e.stopPropagation()};function dS(e){const t=e.length;let o=0;if(t<=1)return e;for(let h=0;h1?o=Math.max(o,parseInt(s[1],10)):Math.floor(t)!==t&&(o=Math.max(o,t.toString().split(".")[1].length))}let s=0,i=0,n=0,r=0,l=0;for(let h=0;h=4),e.toggleCss("ag-cell-range-chart",n),V(s,i>0||void 0),e.toggleCss("ag-cell-range-single-cell",this.isSingleCell()),this.updateRangeBorders(),this.refreshRangeStyleAndHandle()}updateRangeBorders(){const e=this.getRangeBorders(),t=this.isSingleCell(),o=!t&&e.top,s=!t&&e.right,i=!t&&e.bottom,n=!t&&e.left,r=this.cellComp;r.toggleCss("ag-cell-range-top",o),r.toggleCss("ag-cell-range-right",s),r.toggleCss("ag-cell-range-bottom",i),r.toggleCss("ag-cell-range-left",n)}isSingleCell(){const{rangeSvc:e}=this;return 1===this.rangeCount&&!!e&&!e.isMoreThanOneCell()}getHasChartRange(){const{rangeSvc:e}=this;if(!this.rangeCount||!e)return!1;const t=e.getCellRanges();return t.length>0&&t.every(e=>[un.DIMENSION,un.VALUE].includes(e.type))}updateRangeBordersIfRangeCount(){this.rangeCount>0&&(this.updateRangeBorders(),this.refreshRangeStyleAndHandle())}getRangeBorders(){const e=this.beans.gos.get("enableRtl");let t=!1,o=!1,s=!1,i=!1;const{rangeSvc:n,beans:{visibleCols:r},cellCtrl:{cellPosition:l}}=this,a=l.column,d=n.getCellRanges().filter(e=>n.isCellInSpecificRange(l,e));if(!d.length)return{top:t,right:o,bottom:s,left:i};let c,h;e?(c=r.getColAfter(a),h=r.getColBefore(a)):(c=r.getColBefore(a),h=r.getColAfter(a)),c||(i=!0),h||(o=!0);for(let u=0;u=0;s--){const t=o[s],i=t.colorClass;if(i&&e.isCellInSpecificRange(this.cellCtrl.cellPosition,t))return i}return null}refreshHandleColor(e){const t=this.selectionHandle?.getGui?.(),o=e?.colorClass??null;t?(this.handleColorClass&&this.handleColorClass!==o&&t.classList.remove(this.handleColorClass),o?t.classList.add(o):this.handleColorClass&&t.classList.remove(this.handleColorClass),this.handleColorClass=o??null):this.handleColorClass=null}getRangeForHandle(){const{gos:t,editSvc:o}=this.beans,s=this.rangeSvc,i=s.getCellRanges(),n=i.length;if(this.rangeCount<1||n<1)return null;const r=o?.isRangeSelectionEnabledWhileEditing(),l=r?i:[e(i)];for(const e of l){const{cellPosition:i,column:l}=this.cellCtrl,a=mS(t)&&!l.isSuppressFillHandle(),d=pS(t);let c=!o?.isEditing(this.cellCtrl,{withOpenEditor:!0})&&(r||1===n&&(a||d));if(this.hasChartRange&&(c=e.type===un.VALUE),c&&null!=e.endRow&&s.isContiguousRange(e)&&s.isBottomRightCell(e,i))return e}return null}addSelectionHandle(e){const{beans:t}=this,o=t.editSvc?.isRangeSelectionEnabledWhileEditing(),s=e.type,i=!o&&mS(t.gos)&&a(s)?0:1;if(this.selectionHandle&&this.selectionHandle.getType()!==i&&(this.selectionHandle=t.context.destroyBean(this.selectionHandle)),!this.selectionHandle){const e=t.registry.createDynamicBean(0===i?"fillHandle":"rangeHandle",!1);e&&(this.selectionHandle=t.context.createBean(e))}this.selectionHandle?.refresh(this.cellCtrl,e)}destroy(){this.unsetComp()}},CS=class extends Oe{constructor(e){super(),this.eContainer=e}postConstruct(){const{beans:e,gos:t,eContainer:o}=this,s=e.rangeSvc,i={eElement:o,onDragStart:s.onDragStart.bind(s),onDragStop:s.onDragStop.bind(s),onDragging:s.onDragging.bind(s)},n=e.dragSvc,r=n.addDragSource.bind(n,i),l=n.removeDragSource.bind(n,i);this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{so(t)?r():l()}),this.addDestroyFunc(l),so(t)&&r()}},vS=class extends Oe{constructor(e,t){super(),this.column=e,this.eGui=t}postConstruct(){this.addManagedElementListeners(this.eGui,{click:e=>e&&this.onClick(e)})}onClick(e){this.beans.rangeSvc?.handleColumnSelection(this.column,e)}},wS=class extends Oe{constructor(e,t){super(),this.column=e,this.comp=t,this.columnMap=/* @__PURE__ */new Map,this.isActive=!1,this.resetColumnMap()}postConstruct(){this.addManagedPropertyListener("cellSelection",()=>{this.refreshActive()}),this.refreshActive(),this.setupRangeHeaderHighlight()}resetColumnMap(){let e;this.columnMap.clear(),e=this.column.isColumn?[this.column]:this.column.getDisplayedLeafColumns();for(const t of e)this.columnMap.set(t,!1)}refreshActive(){const{gos:e,rangeSvc:t}=this.beans,o=e.get("cellSelection");this.isActive=!!(o&&t&&"object"==typeof o&&o.enableHeaderHighlight)}setupRangeHeaderHighlight(){const e=this.onRangeSelectionChanged.bind(this);this.addManagedEventListeners({rangeSelectionChanged:e,columnPinned:e,columnMoved:e,columnGroupOpened:e}),e()}onRangeSelectionChanged(){if(!this.isActive)return;this.resetColumnMap();const e=this.beans.rangeSvc.getCellRanges();let t=!1,o=!0;for(const s of e){if(t)break;for(const e of s.columns)this.columnMap.has(e)&&(this.columnMap.set(e,!0),t||(t=!0))}for(const s of Array.from(this.columnMap.values()))if(!1===s){o=!1;break}this.comp.toggleCss("ag-header-range-highlight",t&&o)}destroy(){super.destroy(),this.comp=null,this.column=null}};function bS(e,t){return null!=e?{rowIndex:e,rowPinned:t}:void 0}function yS(e){let t;for(const o of e)(void 0===t||yn(t,o))&&(t=o);return t}function SS(e){let t;for(const o of e)(void 0===t||yn(o,t))&&(t=o);return t}function RS(e,t,o){let s;s="top"===o?e.startRow&&e.endRow&&!yn(e.startRow,e.endRow)?"endRow":"startRow":e.startRow&&e.endRow&&!yn(e.startRow,e.endRow)?"startRow":"endRow",e[s]=t??void 0}var xS={moduleName:"CellSelection",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="rangeSvc",this.rangeSelectionExtensions=[],this.cellRanges=[],this.bodyScrollListener=this.onBodyScroll.bind(this),this.dragging=!1,this.intersectionRange=!1,this.columnRangeSelectionCtx={}}wireBeans(e){this.rowModel=e.rowModel,this.dragSvc=e.dragSvc,this.colModel=e.colModel,this.visibleCols=e.visibleCols,this.cellNavigation=e.cellNavigation,this.ctrlsSvc=e.ctrlsSvc}postConstruct(){const e=this.onColumnsChanged.bind(this),t=()=>this.removeAllCellRanges(),o=this.refreshLastRangeStart.bind(this);this.addManagedEventListeners({newColumnsLoaded:e,columnVisible:e,columnValueChanged:e,columnPivotModeChanged:t,columnRowGroupChanged:t,columnPivotChanged:t,columnGroupOpened:o,columnMoved:o,columnPinned:o}),this.ctrlsSvc.whenReady(this,e=>{const t=e.gridBodyCtrl;this.autoScrollService=new Xl({scrollContainer:t.eBodyViewport,scrollAxis:"xy",getVerticalPosition:()=>t.scrollFeature.getVScrollPosition().top,setVerticalPosition:e=>t.scrollFeature.setVerticalScrollPosition(e),getHorizontalPosition:()=>t.scrollFeature.getHScrollPosition().left,setHorizontalPosition:e=>t.scrollFeature.setHorizontalScrollPosition(e),shouldSkipVerticalScroll:()=>!kt(this.gos,"normal"),shouldSkipHorizontalScroll:()=>!t.scrollFeature.isHorizontalScrollShowing()})})}registerRangeSelectionExtension(e){this.rangeSelectionExtensions.includes(e)||this.rangeSelectionExtensions.push(e)}unregisterRangeSelectionExtension(e){s(this.rangeSelectionExtensions,e)}shouldSuppressRangeSelection(e){return this.rangeSelectionExtensions.some(t=>t.shouldSuppressRangeSelection?.(e))}shouldSkipColumn(e){return this.rangeSelectionExtensions.some(t=>t.shouldSkipColumn?.(e))}isAllColumnsSelectionCell(e){return this.rangeSelectionExtensions.some(t=>t.isAllColumnsSelectionCell?.(e))}isAllColumnsRange(e,t){return this.rangeSelectionExtensions.some(o=>o.isAllColumnsRange?.(e,t))}updateSelectionModeForCell(e){this.setSelectionMode(this.isAllColumnsSelectionCell(e))}onDragStart(t){const o=this.gos,s=t.target;if(!so(o)||$r(o,s)?.isSuppressMouseEvent(t))return;if(this.shouldSuppressRangeSelection(s))return;const{shiftKey:i}=t,n=this.isMultiRange(t),r=i&&!!this.cellRanges?.length;n||r&&!l(e(this.cellRanges).type)||this.removeAllCellRanges(!0);const a=this.dragSvc.startTarget;if(a&&this.updateValuesOnMove(a),this.lastCellHovered){if(this.dragging=!0,this.lastMouseEvent=t,this.intersectionRange=n&&this.getCellRangeCount(this.lastCellHovered)>1,r||this.setNewestRangeStartCell(this.lastCellHovered),this.cellRanges.length>0)this.draggingRange=e(this.cellRanges);else{const e={rowIndex:this.lastCellHovered.rowIndex,rowPinned:this.lastCellHovered.rowPinned},t=this.getColumnsFromModel([this.lastCellHovered.column]);if(!t?.length)return;this.draggingRange={startRow:e,endRow:e,columns:t,startColumn:this.newestRangeStartCell.column},this.cellRanges.push(this.draggingRange)}this.ctrlsSvc.getGridBodyCtrl().eBodyViewport.addEventListener("scroll",this.bodyScrollListener,{passive:!0}),this.dispatchChangedEvent(!0,!1,this.draggingRange.id)}}onDragging(e){const{dragging:t,lastCellHovered:o,newestRangeStartCell:s,autoScrollService:i,cellHasChanged:n}=this;if(!t||!e)return;this.updateValuesOnMove(e.target),this.lastMouseEvent=e;const r=e=>o&&o.rowPinned===e&&s.rowPinned===e,l=r("top")||r("bottom");if(i.check(e,l),!n||!o)return;const a=s?.column,d=o?.column,c=this.calculateColumnsBetween(a,d);if(!c)return;const{rowIndex:h,rowPinned:u}=o;this.draggingRange.endRow={rowIndex:h,rowPinned:u},this.draggingRange.columns=c,this.dispatchChangedEvent(!1,!1,this.draggingRange.id)}onDragStop(){if(!this.dragging)return;const{id:e}=this.draggingRange;this.autoScrollService.ensureCleared(),this.ctrlsSvc.getGridBodyCtrl().eBodyViewport.removeEventListener("scroll",this.bodyScrollListener),this.lastMouseEvent=null,this.dragging=!1,this.draggingRange=void 0,this.lastCellHovered=void 0,this.intersectionRange&&(this.intersectionRange=!1,this.intersectLastRange()),this.dispatchChangedEvent(!1,!0,e)}onColumnsChanged(){this.refreshLastRangeStart();const e=this.visibleCols.allCols;for(const s of this.cellRanges){const o=s.columns;s.columns=s.columns.filter(t=>t.isVisible()&&-1!==e.indexOf(t)),t(o,s.columns)||this.dispatchChangedEvent(!1,!0,s.id)}const o=this.cellRanges.length;this.cellRanges=this.cellRanges.filter(e=>e.columns.length>0),o>this.cellRanges.length&&this.dispatchChangedEvent(!1,!0)}refreshLastRangeStart(){const t=e(this.cellRanges);t&&this.refreshRangeStart(t)}isContiguousRange(t){const o=t.columns;if(!o.length)return!1;const s=this.visibleCols.allCols,i=o.map(e=>s.indexOf(e)).sort((e,t)=>e-t);return e(i)-i[0]+1===o.length}getRangeStartRow(e){return e.startRow&&e.endRow?yn(e.startRow,e.endRow)?e.startRow:e.endRow:{rowIndex:0,rowPinned:(this.beans.pinnedRowModel?.getPinnedTopRowCount()??0)>0?"top":null}}getRangeEndRow(e){if(e.startRow&&e.endRow)return yn(e.startRow,e.endRow)?e.endRow:e.startRow;const t=this.beans.pinnedRowModel?.getPinnedBottomRowCount()??0;return t>0?{rowIndex:t-1,rowPinned:"bottom"}:{rowIndex:this.rowModel.getRowCount()-1,rowPinned:null}}getRangeRowCount(e){const t=this.beans,o=this.getRangeStartRow(e),s=this.getRangeEndRow(e),i=Pn(t,o);return Pn(t,s)-i+1}handleCellMouseDown(e,t){const o=e.ctrlKey||e.metaKey;this.handleCellSelectionInput(t,{target:e.target,shiftKey:e.shiftKey,isRightClick:vo(this.beans,e),isMultiRange:this.isMultiRange(e),isMultiKey:o,preventDefault:()=>e.preventDefault()})}handleCellKeyboardSelect(e,t){const o=e.ctrlKey||e.metaKey;this.handleCellSelectionInput(t,{target:e.target,shiftKey:e.shiftKey,isRightClick:!1,isMultiRange:this.isMultiRangeForKeyState(o),isMultiKey:o,preventDefault:()=>e.preventDefault()})}handleCellSelectionInput(e,t){const{target:o,shiftKey:s,isRightClick:i,isMultiRange:n,isMultiKey:r,preventDefault:l}=t;if(this.shouldSuppressRangeSelection(o))return;const a=this.isAllColumnsSelectionCell(e);if(a&&l(),s)return this.extendLatestRangeToCell(e);if(a&&i)return;this.updateSelectionModeForCell(e);const d=this.calculateColumnsBetween(e.column,e.column);if(!d)return;const c=a?this.findContainingRange({columns:d,startRow:e,endRow:e}):void 0;a&&c&&n&&r&&c?this.removeRowFromAllColumnsRange(e,c):this.setRangeToCell(e,n)}isMultiRange(e){return this.isMultiRangeForKeyState(e.ctrlKey||e.metaKey)}isMultiRangeForKeyState(e){const{editingWithRanges:t,allowMulti:o}=this.getMultiRangeContext();return t||!!o&&e}getMultiRangeContext(){const{gos:e,editSvc:t}=this.beans,o=!!t?.isEditing()&&!!t?.isRangeSelectionEnabledWhileEditing(),s=function(e){const t=e.get("cellSelection");return void 0===t?e.get("suppressMultiRangeSelection"):"boolean"!=typeof t&&(t?.suppressMultiRanges??!1)}(e)&&!o;return{editingWithRanges:o,suppressMultiRanges:s,allowMulti:!s}}removeRowFromAllColumnsRange(e,t){const{beans:o,cellRanges:i}=this,n=Rn(o),r=xn(o),l=this.getRangeStartRow(t),a=this.getRangeEndRow(t);if(!l&&Sn(n,e))RS(t,En(o,n),"top");else if(!a&&Sn(r,e))RS(t,Mn(o,r),"bottom");else if(Sn(l,a))s(i,t);else if(Sn(l,e))RS(t,En(o,e),"top");else if(Sn(a,e))RS(t,Mn(o,e),"bottom");else{const s=Mn(o,e),n=En(o,e);t.startRow=l,t.endRow=s??void 0,i.push({...t,startRow:n??void 0,endRow:a})}this.dispatchChangedEvent(!0,!0)}setRangeToCell(e,t=!1){const{gos:o}=this;if(!so(o))return;this.updateSelectionModeForCell(e);const s=this.calculateColumnsBetween(e.column,e.column);if(!s)return;const{suppressMultiRanges:i}=this.getMultiRangeContext();(i||!t||a(this.cellRanges))&&this.removeAllCellRanges(!0);const n={rowIndex:e.rowIndex,rowPinned:e.rowPinned},r={startRow:n,endRow:n,columns:s,startColumn:e.column},l=this.ensureRangeStartColumn(r);l&&(this.cellRanges.push(r),this.setNewestRangeStartCell({...e,column:l}),this.onDragStop(),this.dispatchChangedEvent(!0,!0))}getRangeLastColumn(t){const o=t.columns[0],s=e(t.columns);return this.newestRangeStartCell?.column===o?s:o}extendRangeRowCountBy(e,t){const{beans:o}=this,{startRow:s,endRow:i}=e;if(!s||!i)return;let n,r=0;const l=yn(i,s);n=l?s:i;const a=t>0?En:Mn,d=Math.abs(t);for(;ro.indexOf(e)).filter(e=>e>-1).sort((e,t)=>e-t);return{left:o[s[0]],right:o[e(s)]}}extendLatestRangeInDirection(t){if(this.isEmpty()||!this.newestRangeStartCell)return;const o=t.key,s=t.ctrlKey||t.metaKey,i=e(this.cellRanges),n=this.newestRangeStartCell,r=i.endRow.rowIndex,l=i.endRow.rowPinned,a={column:this.getRangeLastColumn(i),rowIndex:r,rowPinned:l},d=this.cellNavigation.getNextCellToFocus(o,a,s);return d&&!this.shouldSkipColumn(d.column)?(this.setCellRange({rowStartIndex:n.rowIndex,rowStartPinned:n.rowPinned,rowEndIndex:d.rowIndex,rowEndPinned:d.rowPinned,columnStart:n.column,columnEnd:d.column}),d):void 0}setCellRange(e){so(this.gos)&&(this.removeAllCellRanges(!0),this.addCellRange(e))}setCellRanges(e){if(t(this.cellRanges,e))return;if(!this.verifyCellRanges(this.gos))return;this.setSelectionMode(!1),this.removeAllCellRanges(!0);const o=this.getColumnsFromModel(this.visibleCols.allCols)??[];let s=!1;for(const t of e){if(t.columns&&t.startRow){const e=this.getColumnsFromModel(t.columns);if(!e||0===e.length)continue;t.columns=e;const{startRow:o}=t;this.setNewestRangeStartCell({rowIndex:o.rowIndex,rowPinned:o.rowPinned,column:t.columns[0]})}!s&&o.length>0&&this.isAllColumnsRange(t,o)&&(s=!0),this.cellRanges.push(t)}this.setSelectionMode(s),this.dispatchChangedEvent(!1,!0)}clearCellRangeCellValues(e){const{beans:t,eventSvc:o}=this,{cellEventSource:s="rangeSvc",dispatchWrapperEvents:i,wrapperEventSource:n="deleteKey",restoreSourceInBatch:r}=e;let{cellRanges:l}=e;i&&(o.dispatchEvent({type:"cellSelectionDeleteStart",source:n}),o.dispatchEvent({type:"rangeDeleteStart",source:n})),l||(l=this.cellRanges);const{valueSvc:a,editSvc:d}=t,c=!!d?.isBatchEditing(),{changeDetectionSvc:h}=t;h?.beginDeferred();try{this.forEachEditableCellInRanges(l,(e,t)=>{if(r&&c)return void d?.batchResetToSourceValue({rowNode:e,column:t});const o=a.getDeleteValue(t,e);e.setDataValue(t,o,s)})}finally{h?.endDeferred()}i&&(o.dispatchEvent({type:"cellSelectionDeleteEnd",source:n}),o.dispatchEvent({type:"rangeDeleteEnd",source:n}))}createCellRangeFromCellRangeParams(e){return this.createPartialCellRangeFromRangeParams(e,!1)}createPartialCellRangeFromRangeParams(t,o){const{columns:s,columnStart:i,columnEnd:n,rowStartIndex:r,rowStartPinned:l,rowEndIndex:a,rowEndPinned:d}=t,c=this.getColumnsFromParams(s,i,n);if(!c||!o&&0===c.columns.length)return;const{columns:h,startsOnTheRight:u}=c;return{startRow:bS(r,l),endRow:bS(a,d),columns:h,startColumn:this.getColumnFromModel(i)??(u?e(h):h[0])}}addCellRange(e){const t=this.gos;if(!so(t)||!this.verifyCellRanges(t))return;this.setSelectionMode(!1);const o=this.createCellRangeFromCellRangeParams(e);return o?(o.startRow&&this.setNewestRangeStartCell({rowIndex:o.startRow.rowIndex,rowPinned:o.startRow.rowPinned,column:o.startColumn}),this.cellRanges.push(o),this.dispatchChangedEvent(!1,!0,o.id),o):void 0}getCellRanges(){return this.cellRanges}isEmpty(){return 0===this.cellRanges.length}isMoreThanOneCell(){const e=this.cellRanges.length;if(0===e)return!1;if(e>1)return!0;const t=this.cellRanges[0],o=this.getRangeStartRow(t),s=this.getRangeEndRow(t);return o.rowPinned!==s.rowPinned||o.rowIndex!==s.rowIndex||1!==t.columns.length}areAllRangesAbleToMerge(){const e=/* @__PURE__ */new Map;if(this.cellRanges.length<=1)return!0;for(const o of this.cellRanges)this.forEachRowInRange(o,t=>{const s=`${t.rowPinned||"normal"}_${t.rowIndex}`,i=e.get(s),n=o.columns.map(e=>e.getId());if(i){const e=n.filter(e=>-1===i.indexOf(e));i.push(...e)}else e.set(s,n)});let t;for(const o of e.values()){const e=o.sort().join();if(void 0!==t){if(t!==e)return!1}else t=e}return!0}removeAllCellRanges(e){this.isEmpty()||(this.onDragStop(),this.cellRanges.length=0,e||this.dispatchChangedEvent(!1,!0))}isCellInAnyRange(e){return this.getCellRangeCount(e)>0}isCellInSpecificRange(e,t){const o=t.columns?.includes(e.column),s=this.isRowInRange(e,t);return o&&s}isColumnInAnyRange(e){const{beans:t}=this,o=Rn(t),s=xn(t);if(!o||!s)return!1;const i=e.isColumn?[e]:e.getDisplayedLeafColumns();return null!=this.findContainingRange({columns:i,startRow:o,endRow:s},!0)}findContainingRange({columns:e,startRow:t,endRow:o},s=!1){const i=this.cellRanges;for(let n=i.length-1;n>=0;n--){const r=i[n],l=e.every(e=>r.columns.includes(e));let a=!1;if(s)a=Sn(r.startRow,t)&&Sn(r.endRow,o);else{const e=t&&this.isRowInRange(t,r),s=o&&this.isRowInRange(o,r);a=!!e&&!!s}if(l&&a)return r}}isBottomRightCell(t,o){const s=this.visibleCols.allCols,i=t.columns.map(e=>s.indexOf(e)).sort((e,t)=>e-t),{startRow:n,endRow:l}=t,a=yn(n,l)?l:n,d=s.indexOf(o.column)===e(i),c=o.rowIndex===a.rowIndex&&r(o.rowPinned)===r(a.rowPinned);return d&&c}getCellRangeCount(e){return this.cellRanges.filter(t=>this.isCellInSpecificRange(e,t)).length}isRowInRange(e,t){const o=this.getRangeStartRow(t),s=this.getRangeEndRow(t),i=Sn(e,o),n=Sn(e,s);if(i||n)return!0;const r=!yn(e,o),l=yn(e,s);return r&&l}intersectLastRange(t){const{editingWithRanges:o,suppressMultiRanges:s}=this.getMultiRangeContext();if(o||s||t&&this.dragging||this.isEmpty())return;const i=e(this.cellRanges),n=this.getRangeStartRow(i),r=this.getRangeEndRow(i),l=[];for(const e of this.cellRanges.slice(0,-1)){const t=this.getRangeStartRow(e),o=this.getRangeEndRow(e),s=e.columns,a=s.filter(e=>-1===i.columns.indexOf(e));if(a.length===s.length){l.push(e);continue}if(yn(r,t)||yn(o,n)){l.push(e);continue}const d=l.length;if(yn(t,n)){const e={columns:[...s],startColumn:i.startColumn,startRow:{...t},endRow:Mn(this.beans,n)};l.push(e)}if(a.length>0){const e={columns:a,startColumn:a.includes(i.startColumn)?i.startColumn:a[0],startRow:yS([{...n},{...t}]),endRow:SS([{...r},{...o}])};l.push(e)}yn(r,o)&&l.push({columns:[...s],startColumn:i.startColumn,startRow:En(this.beans,r),endRow:{...o}}),l.length-d===1&&(l[l.length-1].id=e.id)}this.cellRanges=l,t&&this.dispatchChangedEvent(!1,!0)}createRangeHighlightFeature(e,t,o){e.createManagedBean(new wS(t,o))}setSelectionMode(e){this.selectionMode=e?1:0}refreshRangeStart(t){const{columns:o}=t,s=this.ensureRangeStartColumn(t);if(!s)return;const i=(e,o)=>{const s=t.columns.filter(t=>t!==e);e?(t.startColumn=e,t.columns=o?[e,...s]:[...s,e]):t.columns=s},{left:n,right:r}=this.getRangeEdgeColumns(t);s!==o[0]||s===n?s===e(o)&&s===r&&i(r,!1):i(n,!0)}setNewestRangeStartCell(e){this.newestRangeStartCell=e}getColumnsFromParams(e,t,o){const s=!e&&!t&&!o;let i,n=!1;return s||e?i=this.getColumnsFromModel(s?void 0:e):t&&o&&(i=this.calculateColumnsBetween(t,o),i?.length&&(n=i[0]!==this.getColumnFromModel(t))),i?{columns:i,startsOnTheRight:n}:void 0}verifyCellRanges(e){const{suppressMultiRanges:t}=this.getMultiRangeContext(),o=function(e){return void 0!==e.get("cellSelection")}(e)&&t&&this.cellRanges.length>1;return o&&Dt(93),!o}forEachRowInRange(e,t){const o=this.getRangeStartRow(e),s=this.getRangeEndRow(e);let i=o;for(;i&&(t(i),!Sn(i,s));)i=En(this.beans,i)}forEachEditableCellInRanges(e,t){const{beans:o}=this;for(const s of e)this.forEachRowInRange(s,e=>{const i=Fn(o,e);if(i)for(let o=0;o0,h=o.ctrlKey||o.metaKey,u=!d||h,g=Rn(n),p=xn(n);if(!g||!p)return;if(o.key===fs&&o.preventDefault(),o.shiftKey){const o=r.root;if(!o)return;const i=t.isColumn?t:e(t.getLeafColumns()),n=this.findContainingRange({columns:[o],startRow:g,endRow:p},!0);return n?void this.updateRangeRowBoundary({cellRange:n,boundary:"end",cellPosition:{column:i,...p}}):(s(l,r.lastCellRange),void this.selectColumns(this.calculateColumnsBetween(o,i),g,p))}c&&(a||!h&&!d)&&this.removeAllCellRanges(!0);const m=(e,t)=>{const o=this.findContainingRange({columns:e,startRow:g,endRow:p},!0);if(o&&u)this.deselectColumnsFromRange(o,e);else{const t=this.selectColumns(e,g,p);t&&(r.lastCellRange=t)}r.root=t};if(t.isColumn)m([t],t);else{const e=t.getDisplayedLeafColumns();m(e,e[0])}}deselectColumnsFromRange(e,t){i(e.columns,t),t.includes(e.startColumn)&&(e.startColumn=e.columns[0]),0===e.columns.length&&s(this.cellRanges,e),this.dispatchChangedEvent(!0,!0)}selectColumns(t,o,s){return this.addCellRange({columns:t,columnStart:t[0],columnEnd:e(t),rowStartIndex:o.rowIndex,rowStartPinned:o.rowPinned,rowEndIndex:s.rowIndex,rowEndPinned:s.rowPinned})}}],dynamicBeans:{fillHandle:class extends lS{constructor(){super(cS),this.markedCells=[],this.cellValues=[],this.isUp=!1,this.isLeft=!1,this.isReduce=!1,this.type=0}postConstruct(){super.postConstruct(),this.addManagedElementListeners(this.getGui(),{dblclick:this.onDblClick.bind(this)})}onDblClick(t){qi(t);const{cellRange:o,rangeStartRow:s,beans:i}=this,{rangeSvc:n,visibleCols:r}=i,l=xn(i);if(!l)return;const a=this.getFillHandleDirection();this.dragAxis="xy"===a?"y":a;const d=n?.createCellRangeFromCellRangeParams({rowStartIndex:s.rowIndex,rowStartPinned:s.rowPinned,columnStart:o.columns[0],rowEndIndex:"x"===this.dragAxis?o.endRow?.rowIndex??null:l.rowIndex,rowEndPinned:"x"===this.dragAxis?o.endRow?.rowPinned:l.rowPinned,columnEnd:"x"===this.dragAxis?e(r.allCols):e(o.columns)});this.isUp=!1,this.isLeft=!1,d&&this.performFill({event:t,initialRange:o,finalRange:d}),this.dragAxis=void 0}updateValuesOnMove(e){super.updateValuesOnMove(e),this.initialXY||(this.initialXY=oa(this.beans,e));const{x:t,y:o}=this.initialXY,{x:s,y:i}=oa(this.beans,e),n=Math.abs(t-s),r=Math.abs(o-i),l=this.getFillHandleDirection();let a;a="xy"===l?n>r?"x":"y":l,a!==this.dragAxis&&(this.dragAxis=a,this.changedCalculatedValues=!0)}shouldSkipCell(e){return os(e.column)}onDrag(e){if(!this.initialPosition){const e=this.cellCtrl;if(!e)return;this.initialPosition=e.cellPosition}const t=this.getLastCellHovered();t&&this.markPathFrom(this.initialPosition,t)}onDragEnd(e){if(this.initialXY=null,!this.markedCells.length)return;const t="x"===this.dragAxis,{cellRange:o,rangeStartRow:s,rangeEndRow:i,beans:{rangeSvc:n}}=this,r=o.columns.length;let l;if(this.isUp||this.isLeft){const e=t?s:this.lastCellMarked;l=n.createCellRangeFromCellRangeParams({rowStartIndex:e.rowIndex,rowStartPinned:e.rowPinned,columnStart:t?this.lastCellMarked.column:o.columns[0],rowEndIndex:i.rowIndex,rowEndPinned:i.rowPinned,columnEnd:o.columns[r-1]})}else l=n.createCellRangeFromCellRangeParams({rowStartIndex:s.rowIndex,rowStartPinned:s.rowPinned,columnStart:o.columns[0],rowEndIndex:t?i.rowIndex:this.lastCellMarked.rowIndex,rowEndPinned:t?i.rowPinned:this.lastCellMarked.rowPinned,columnEnd:t?this.lastCellMarked.column:o.columns[r-1]});l&&this.performFill({event:e,initialRange:o,finalRange:l,shouldUpdateRange:!0})}onDragCancel(){this.initialXY=null,this.markedCells.length&&this.clearMarkedPath()}performFill({event:e,initialRange:t,finalRange:o,shouldUpdateRange:s}){const{eventSvc:i,rangeSvc:n}=this.beans;i.dispatchEvent({type:"fillStart"}),this.handleValueChanged(t,o,e),s&&n.setCellRanges([o]),i.dispatchEvent({type:"fillEnd",initialRange:t,finalRange:o})}getFillHandleDirection(){const e=io(this.gos)?.direction;return e?"x"!==e&&"y"!==e&&"xy"!==e?(Dt(177),"xy"):e:"xy"}handleValueChanged(t,o,s){const{beans:i}=this,{rangeSvc:n,gos:r,valueSvc:l}=i,a=n.getRangeEndRow(t),c=n.getRangeStartRow(t),h=n.getRangeEndRow(o),u=n.getRangeStartRow(o),g="y"===this.dragAxis;if(this.isReduce&&!io(r)?.suppressClearOnFillReduction){const e=g?t.columns:t.columns.filter(e=>o.columns.indexOf(e)<0),s=g?En(i,h):u;return void(s&&this.clearCellsInRange(s,a,e))}const p=[],m=[],f=[],C=[];let v=!0,w=0;const b=()=>{p.length=0,m.length=0,f.length=0,C.length=0,w=0},y=(o,s)=>{let n=this.isUp?a:c,r=!1;for(g&&(v=!0,b());!r&&n;){const l=Fn(i,n);if(!l)break;if(g&&o)S(p,o,l,()=>!Sn(n,this.isUp?c:a));else if(s){v=!0,b();for(const o of s)S(p,o,l,()=>o!==(this.isLeft?t.columns[0]:e(t.columns)))}r=Sn(n,this.isUp?u:h),n=this.isUp?Mn(this.beans,n):En(i,n)}},S=(e,t,o,i)=>{let n,r=!1;if(v)n=l.getValue(t,o,"edit"),m.push(n),f.push(l.getValue(t,o,"edit",!0)),C.push(l.getValueForDisplay({column:t,node:o,from:"edit"}).valueFormatted),v=i();else{const{value:i,fromUserFunction:a,sourceCol:c,sourceRowNode:h}=this.processValues({event:s,values:e,initialValues:m,initialNonAggregatedValues:f,initialFormattedValues:C,col:t,rowNode:o,idx:w++});if(n=i,t.isCellEditable(o)){const e=l.getValue(t,o,"edit");if(!a){if(c){const e=c.getColDef();if(!1!==e.useValueFormatterForExport&&e.valueFormatter){const e=l.getValueForDisplay({column:c,node:h,includeValueFormatted:!0,from:"edit"}).valueFormatted;null!=e&&(n=e)}}!1!==t.getColDef().useValueParserForImport&&(n=l.parseValue(t,o,c?n:d(n),e))}a&&e===n?r=!0:o.setDataValue(t,n,"rangeSvc")}}r||e.push({value:n,column:t,rowNode:o})},{changeDetectionSvc:R}=this.beans;R?.beginDeferred();try{g?t.columns.forEach(e=>{y(e)}):y(void 0,this.isLeft?[...o.columns].reverse():o.columns),this.beans.editSvc?.stopEditing(void 0,{source:"fillHandle"})}finally{R?.endDeferred()}}clearCellsInRange(e,t,o){const s={startRow:e,endRow:t,columns:o,startColumn:o[0]};this.beans.rangeSvc.clearCellRangeCellValues({cellRanges:[s],restoreSourceInBatch:!0})}processValues(t){const{formula:o,valueSvc:s}=this.beans,{event:i,values:n,initialValues:r,initialNonAggregatedValues:l,initialFormattedValues:a,col:d,rowNode:c,idx:h}=t,u=io(this.gos)?.setFillValue;let g;if(g="y"===this.dragAxis?this.isUp?"up":"down":this.isLeft?"left":"right",u){const e=u(Co(this.gos,{event:i,values:n.map(({value:e})=>e),initialValues:r,initialNonAggregatedValues:l,initialFormattedValues:a,currentIndex:h,currentCellValue:s.getValue(d,c,"edit"),direction:g,column:d,rowNode:c}));if(!1!==e)return{value:e,fromUserFunction:!0}}const p=n.every(({value:e})=>{return"number"==typeof(t=e)&&Number.isFinite(t)||"string"==typeof t&&/^[+-]?\d+(?:\.\d+)?$/.test(t.trim());var t});if(i.altKey||!p){const t=String(e(n)?.value??"");if(p&&1===r.length){const e=this.isUp||this.isLeft?-1:1;return{value:parseFloat(t)+1*e,fromUserFunction:!1}}const{value:s,column:i,rowNode:l}=n[h%n.length];let a;const d=i.isAllowFormula()&&o?.isFormula(t);if(d){const e="up"===g?-1:"down"===g?1:0,s="left"===g?-1:"right"===g?1:0;a=o.updateFormulaByOffset({value:t,rowDelta:e,columnDelta:s})}else a=s;return{value:a,fromUserFunction:!1,sourceCol:d?void 0:i,sourceRowNode:l}}return{value:e(dS(n.map(({value:e})=>Number(e)))),fromUserFunction:!1}}clearValues(){this.clearMarkedPath(),this.clearCellValues(),this.lastCellMarked=void 0,super.clearValues()}clearMarkedPath(){for(const e of this.markedCells){if(!e.isAlive())continue;const{comp:t}=e;t.toggleCss("ag-selection-fill-top",!1),t.toggleCss("ag-selection-fill-right",!1),t.toggleCss("ag-selection-fill-bottom",!1),t.toggleCss("ag-selection-fill-left",!1)}this.markedCells.length=0,this.isUp=!1,this.isLeft=!1,this.isReduce=!1}clearCellValues(){this.cellValues.length=0}markPathFrom(e,t){if(this.clearMarkedPath(),this.clearCellValues(),"y"===this.dragAxis){if(Sn(t,e))return;const o=yn(t,e),{rangeStartRow:s,rangeEndRow:i}=this;o&&(t.rowPinned==s.rowPinned&&t.rowIndex>=s.rowIndex||s.rowPinned!=i.rowPinned&&t.rowPinned==i.rowPinned&&t.rowIndex<=i.rowIndex)?(this.reduceVertical(e,t),this.isReduce=!0):(this.extendVertical(e,t,o),this.isReduce=!1)}else{const o=e.column,s=t.column;if(o===s)return;const i=this.beans.visibleCols.allCols,n=i.indexOf(o),r=i.indexOf(s);r<=n&&r>=i.indexOf(this.cellRange.columns[0])?(this.reduceHorizontal(e,t),this.isReduce=!0):(this.extendHorizontal(e,t,re&&!t?1:!e&&t?-1:e||t?et?1:0:0,MS="Exceeded maximum allowed pivot column count.",PS=e=>{const t={};return e.forEach((e,o)=>t[o]=e instanceof Map?PS(e):e),t},ES={moduleName:"SharedPivot",version:Dv,beans:[class extends Oe{constructor(){super(...arguments),this.beanName="pivotResultCols"}wireBeans(e){this.colModel=e.colModel,this.visibleCols=e.visibleCols}destroy(){Jo(this.beans,this.pivotResultCols?.tree),super.destroy()}isPivotResultColsPresent(){return null!=this.pivotResultCols}lookupPivotResultCol(e,o){if(null==this.pivotResultCols)return null;const s=this.colModel.getColDefCol(o);let i=null;for(const n of this.pivotResultCols.list){const o=n.getColDef().pivotKeys,r=n.getColDef().pivotValueColumn;t(o,e)&&r===s&&(i=n)}return i}getPivotResultCols(){return this.pivotResultCols}getPivotResultCol(e){return this.pivotResultCols?this.colModel.getColFromCollection(e,this.pivotResultCols):null}getAggregationOrderedList(){let e=this.aggOrderedList;if(void 0!==e)return e;const t=this.pivotResultCols?.list;if(!t||0===t.length)return this.aggOrderedList=null,null;let o=!1;for(let s=0;s{e.forEach(e=>{if(l(e.children)){const t=e;o&&o(t),s(t.children)}else t&&t(e)})};e&&s(e)}},class extends Oe{constructor(){super(...arguments),this.beanName="pivotColDefSvc"}wireBeans(e){this.colModel=e.colModel,this.pivotColsSvc=e.pivotColsSvc,this.valueColsSvc=e.valueColsSvc,this.colNames=e.colNames}postConstruct(){const e=()=>this.gos.get("serverSidePivotResultFieldSeparator")??"_";this.fieldSeparator=e(),this.addManagedPropertyListener("serverSidePivotResultFieldSeparator",()=>{this.fieldSeparator=e()});const t=()=>this.gos.get("pivotDefaultExpanded");this.pivotDefaultExpanded=t(),this.addManagedPropertyListener("pivotDefaultExpanded",()=>{this.pivotDefaultExpanded=t()})}createPivotColumnDefs(e){const t=this.createPivotColumnsFromUniqueValues(e),o=function e(t,o=[]){return t.forEach(t=>{void 0!==t.children?e(t.children,o):o.push(t)}),o}(t);return this.addRowGroupTotals(t,o),this.addExpandablePivotGroups(t,o),this.addPivotTotalsToGroups(t,o),t}createPivotColumnsFromUniqueValues(e){const t=this.pivotColsSvc?.columns??[],o=t.length;return this.recursivelyBuildGroup(0,e,[],o,t)}recursivelyBuildGroup(e,t,o,s,i){if(e>=s)return this.buildMeasureCols(o);const{pivotComparator:n}=i[e].getColDef(),r=n?(e=>(t,o)=>e(t.headerName,o.headerName))(n):DS,l=this.valueColsSvc?.columns;if(1===l?.length&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&e===s-1){const e=[];for(const s of t.keys()){const t=[...o,s],i=this.createColDef(l[0],s,t);i.columnGroupShow="open",e.push(i)}return e.sort(r),e}const a=[];for(const d of t.keys()){const n=-1===this.pivotDefaultExpanded||e{const o=this.colNames.getDisplayNameForColumn(t,"header"),s=this.createColDef(t,o,e);return s.columnGroupShow="open",s})}addExpandablePivotGroups(e,t){const o=this.gos.get("suppressExpandablePivotGroups");if(o||this.gos.get("pivotColumnGroupTotals"))return;const s=(e,t,i)=>{if("children"in e){const{valueColsSvc:n}=this,{columns:r=[]}=n??{},l=/* @__PURE__ */new Map;e.children.forEach(e=>{s(e,t,l)});const a=!e.children.some(e=>e.children),d=a&&1===r.length&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn");for(const s of r){const i=this.colNames.getDisplayNameForColumn(s,"header"),n=this.createColDef(s,i,e.pivotKeys);n.pivotTotalColumnIds=l.get(s.getColId()),n.columnGroupShow=o?"open":"closed",n.aggFunc=s.getAggFunc(),a&&!d||(e.children.push(n),t.push(n))}return void this.merge(i,l)}if(!e.pivotValueColumn)return;const n=e.pivotValueColumn.getColId();i.has(n)?i.get(n).push(e.colId):i.set(n,[e.colId])};e.forEach(e=>{s(e,t,/* @__PURE__ */new Map)})}addPivotTotalsToGroups(e,t){if(!this.gos.get("pivotColumnGroupTotals"))return;const o="after"===this.gos.get("pivotColumnGroupTotals"),s=this.valueColsSvc?.columns,i=s?.map(e=>e.getAggFunc());if(i&&!(i.length<1)&&this.sameAggFuncs(i)&&s){const i=s[0];e.forEach(e=>{this.recursivelyAddPivotTotal(e,t,i,o)})}}recursivelyAddPivotTotal(e,t,o,s){const i=e;if(!i.children){const t=e;return t.colId?[t.colId]:null}let n=[];if(i.children.forEach(e=>{const i=this.recursivelyAddPivotTotal(e,t,o,s);i&&(n=n.concat(i))}),i.children.length>1){const i=this.getLocaleTextFunc()("pivotColumnGroupTotals","Total"),r=this.createColDef(o,i,e.pivotKeys,!0);r.pivotTotalColumnIds=n,r.aggFunc=o.getAggFunc(),r.columnGroupShow=this.gos.get("suppressExpandablePivotGroups")?"open":void 0;const l=e.children;s?l.push(r):l.unshift(r),t.push(r)}return n}addRowGroupTotals(e,t){if(!this.gos.get("pivotRowTotals"))return;const o="after"===this.gos.get("pivotRowTotals"),s=(this.valueColsSvc?.columns??[]).slice();o||s.reverse();const i=s.length>1||!this.gos.get("removePivotHeaderRowWhenSingleValueColumn");for(let n=0;ne.data?.[e.colDef.field],i.pivotKeys=o,i.pivotValueColumn=e,!0===i.filter&&(i.filter="agNumberColumnFilter"),i}sameAggFuncs(e){if(1==e.length)return!0;for(let t=1;t{const s=[...e.has(o)?e.get(o):[],...t];e.set(o,s)})}generateColumnGroupId(e){return`pivotGroup_${(this.pivotColsSvc?.columns??[]).map(e=>e.getColId()).join("-")}_${e.join("-")}`}generateColumnId(e,t){return`pivot_${(this.pivotColsSvc?.columns??[]).map(e=>e.getColId()).join("-")}_${e.join("-")}_${t}`}createColDefsFromFields(e){const t=/* @__PURE__ */new Map;for(let i=0;i{const n=[];for(const[r,l]of s){const t=o(`${e}${this.fieldSeparator}${r}`,r,l,i+1);n.push(t)}if(0===n.length){const o=this.colModel.getColDefCol(t);if(o){const s=this.colNames.getDisplayNameForColumn(o,"header")??t,i=this.createColDef(o,s,void 0,!1);return i.colId=e,i.aggFunc=o.getAggFunc(),i.valueGetter=t=>t.data?.[e],i}return{colId:e,headerName:t,valueGetter:t=>t.data?.[e]}}return this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&1===n.length&&"colId"in n[0]?(n[0].headerName=t,n[0]):{openByDefault:-1===this.pivotDefaultExpanded||i`${e.getId()}-${e.getColDef().headerName}`).join("#"),l=n.map(e=>e.getAggFunc().toString()).join("#"),a=this.aggregationColumnsHashLastTime!==r,d=this.aggregationFuncsHashLastTime!==l;this.aggregationColumnsHashLastTime=r,this.aggregationFuncsHashLastTime=l;const c=(this.rowGroupColsSvc?.columns??[]).map(e=>e.getId()).join("#"),h=c!==this.groupColumnsHashLastTime;this.groupColumnsHashLastTime=c;const u=this.gos.get("pivotRowTotals"),g=this.gos.get("pivotColumnGroupTotals"),p=this.gos.get("suppressExpandablePivotGroups"),m=this.gos.get("removePivotHeaderRowWhenSingleValueColumn"),f=u!==this.pivotRowTotalsLastTime||g!==this.pivotColumnGroupTotalsLastTime||p!==this.suppressExpandablePivotGroupsLastTime||m!==this.removePivotHeaderRowWhenSingleValueColumnLastTime;if(this.pivotRowTotalsLastTime=u,this.pivotColumnGroupTotalsLastTime=g,this.suppressExpandablePivotGroupsLastTime=p,this.removePivotHeaderRowWhenSingleValueColumnLastTime=m,this.lastTimeFailed||i||a||h||d||f){const e=this.pivotColDefSvc.createPivotColumnDefs(this.uniqueValues);return this.pivotResultCols.setPivotResultCols(e,"rowModelUpdated"),this.lastTimeFailed=!1,!0}return this.lastTimeFailed=!1,!1}setUniqueValues(e){return!c(PS(this.uniqueValues),PS(e))&&(this.uniqueValues=e,!0)}bucketUpRowNodes(e){this.currentUniqueCount=0;const t=/* @__PURE__ */new Map;eg(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,e,e=>{e.leafGroup&&(e.childrenMapped=null)});const o=e=>{if(e.leafGroup)this.bucketRowNode(e,t);else{const t=e.childrenAfterFilter;if(t)for(let e=0,s=t.length;ethis.maxUniqueValues;if(r&&e)throw new Error(MS)}i.has(o)||i.set(o,[]),i.get(o).push(t)}if(o===t.length-1)return i;const l=/* @__PURE__ */new Map;for(const a of i.keys())l.set(a,this.bucketChildren(i.get(a),t,o+1,s.get(a)));return l}}],dependsOn:[ES,Zy,Hy]},IS=[{symbol:"%",fixity:"postfix",precedence:100},{symbol:"-",fixity:"prefix",precedence:90},{symbol:"+",fixity:"prefix",precedence:90},{symbol:"^",fixity:"infix",precedence:80,associativity:"right"},{symbol:"*",fixity:"infix",precedence:70,associativity:"left",isAssociative:!0},{symbol:"/",fixity:"infix",precedence:70,associativity:"left"},{symbol:"+",fixity:"infix",precedence:60,associativity:"left",isAssociative:!0},{symbol:"-",fixity:"infix",precedence:60,associativity:"left"},{symbol:"&",fixity:"infix",precedence:55,associativity:"left",isAssociative:!0},{symbol:"=",fixity:"infix",precedence:50,associativity:"left"},{symbol:"<>",fixity:"infix",precedence:50,associativity:"left"},{symbol:">=",fixity:"infix",precedence:50,associativity:"left"},{symbol:"<=",fixity:"infix",precedence:50,associativity:"left"},{symbol:">",fixity:"infix",precedence:50,associativity:"left"},{symbol:"<",fixity:"infix",precedence:50,associativity:"left"}],AS=/* @__PURE__ */new Map;for(const VS of IS){const e=AS.get(VS.symbol)??[];e.push(VS),AS.set(VS.symbol,e)}[...new Set(IS.map(e=>e.symbol))].sort((e,t)=>t.length-e.length);var kS={column:"bar",groupedColumn:"bar",stackedColumn:"bar",normalizedColumn:"bar",bar:"bar",groupedBar:"bar",stackedBar:"bar",normalizedBar:"bar",line:"line",stackedLine:"line",normalizedLine:"line",scatter:"scatter",bubble:"bubble",pie:"pie",donut:"donut",doughnut:"donut",area:"area",stackedArea:"area",normalizedArea:"area",histogram:"histogram",radarLine:"radar-line",radarArea:"radar-area",nightingale:"nightingale",radialColumn:"radial-column",radialBar:"radial-bar",sunburst:"sunburst",rangeBar:"range-bar",rangeArea:"range-area",boxPlot:"box-plot",treemap:"treemap",heatmap:"heatmap",waterfall:"waterfall",funnel:"funnel",coneFunnel:"cone-funnel",pyramid:"pyramid"},LS=/* @__PURE__ */new Set(["columnLineCombo","areaColumnCombo","customCombo"]);["number","category","grouped-category","log","time"].reduce((e,t)=>({...e,[t]:{title:{_enabledFromTheme:!0}}}),{});var GS=e=>t=>null==t||e(t),NS=["doughnut"];function BS(e){return e.map((e,t,o)=>e.map((e,s)=>o.slice(0,t+1).reduce((e,t)=>e+t[s],0)))}function HS(e){const t=e.map((t,o)=>e.reduce((e,t)=>Math.max(e,t[o]),0));return e.map(e=>e.map((e,o)=>e/t[o]*19))}GS(e=>{if(function(e){return!!kS[e]||(t=e,LS.has(t));var t}(e))return!0;if(t=e,NS.includes(t)){const t=function(e){return"doughnut"===e?"donut":e}(e);return ot(`The chart type '${e}' has been deprecated. Please use '${t}' instead.`),t}var t;return!1}),GS(e=>"object"==typeof e),GS(e=>"object"==typeof e),GS(e=>"string"==typeof e||"function"==typeof e);var OS=[[1,3,5],[2,6,4],[5,3,1]];HS(BS(OS)),HS(BS(OS)),pt.registerModules([wm,Cg,lm,$p,nm,hp,hg,Qb,xS,TS,rS,qv,cb,Fb,Ob,zb,eS]);export{pt as ModuleRegistry,Yu as createGrid,Rc as iconSetQuartzLight,Ec as themeQuartz}; \ No newline at end of file +function C(J){if(!J?.length)return;return J[J.length-1]}function QJ(J,Z,$){if(J===Z)return!0;if(!J||!Z)return J==null&&Z==null;let X=J.length;if(X!==Z.length)return!1;for(let Y=0;Y=0)J.splice($,1)}function $5(J,Z){let $=0,X=0;for(;$=0;X--)J.splice($,0,Z[X])}var OZ=(J)=>{if(J==null||J==="")return null;return J};function T(J){return J!=null&&J!==""}function d(J){return!T(J)}var c2=(J)=>{return J!=null&&typeof J.toString==="function"?J.toString():null},F6=(J,Z)=>{let $=J?JSON.stringify(J):null,X=Z?JSON.stringify(Z):null;return $===X},jq=(J,Z,$=!1)=>{if(J==null)return Z==null?0:-1;if(Z==null)return 1;if(typeof J==="object"&&J.toNumber)J=J.toNumber();if(typeof Z==="object"&&Z.toNumber)Z=Z.toNumber();if(!$||typeof J!=="string"){if(J>Z)return 1;if(J{let _=X?()=>X.wrapIncoming(H):H;if(Z)this.dispatchAsync(_);else _()},Q=this.getListeners($,Z,!1);if((Q?.size??0)>0){let H=new Set(Q);for(let _ of H){if(!Q?.has(_))continue;Y(()=>_(J))}}let q=this.getGlobalListeners(Z);if(q.size>0){let H=new Set(q);for(let _ of H)Y(()=>_($,J))}}getGlobalListeners(J){return J?this.globalAsyncListeners:this.globalSyncListeners}dispatchAsync(J){if(this.asyncFunctionsQueue.push(J),!this.scheduled){let Z=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)},$=this.frameworkOverrides;if($)$.wrapIncoming(Z);else Z();this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;let J=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[];for(let Z of J)Z()}},Aq=/[&<>"']/g,Mq={"&":"&","<":"<",">":">",'"':""","'":"'"};function X5(J){return J?.toString().toString()??null}function GJ(J){return X5(J)?.replace(Aq,(Z)=>Mq[Z])??null}function a5(J){return typeof J==="string"&&J.startsWith("=")&&J.length>1}function Rq(J){if(!J||J==null)return null;let Z=/([a-z])([A-Z])/g,$=/([A-Z]+)([A-Z])([a-z])/g;return J.replace(Z,"$1 $2").replace($,"$1 $2$3").replace(/\./g," ").split(" ").map((Y)=>Y.substring(0,1).toUpperCase()+(Y.length>1?Y.substring(1,Y.length):"")).join(" ")}function tJ(J){return J.eRootDiv.getRootNode()}function n(J){return tJ(J).activeElement}function qJ(J){let{gos:Z,eRootDiv:$}=J,X=null,Y=Z.get("getDocument");if(Y&&T(Y))X=Y();else if($)X=$.ownerDocument;if(X&&T(X))return X;return document}function h0(J){let Z=n(J);return Z===null||Z===qJ(J).body}function A8(J){return qJ(J).defaultView||window}function D2(J){let Z=null,$=null;try{Z=qJ(J).fullscreenElement}catch(X){}finally{if(!Z)Z=tJ(J);let X=Z.querySelector("body");if(X)$=X;else if(Z instanceof ShadowRoot)$=Z;else if(Z instanceof Document)$=Z?.documentElement;else $=Z}return $}function Oq(J){return D2(J)?.clientWidth??(window.innerWidth||-1)}function Sq(J){return D2(J)?.clientHeight??(window.innerHeight||-1)}function cJ(J,Z,$){if($==null||typeof $==="string"&&$=="")M8(J,Z);else QZ(J,Z,$)}function QZ(J,Z,$){J.setAttribute(DX(Z),$.toString())}function M8(J,Z){J.removeAttribute(DX(Z))}function DX(J){return`aria-${J}`}function zJ(J,Z){if(Z)J.setAttribute("role",Z);else J.removeAttribute("role")}function fq(J){let Z=J?.direction;if(Z==="asc")return"ascending";else if(Z==="desc")return"descending";else if(Z==="mixed")return"other";return"none"}function kX(J){return Number.parseInt(J.getAttribute("aria-posinset"),10)}function Pq(J){return J.getAttribute("aria-label")}function KJ(J,Z){cJ(J,"label",Z)}function p2(J,Z){cJ(J,"labelledby",Z)}function D6(J,Z){cJ(J,"describedby",Z)}function VX(J,Z){cJ(J,"live",Z)}function Tq(J,Z){cJ(J,"atomic",Z)}function vq(J,Z){cJ(J,"relevant",Z)}function jX(J,Z){cJ(J,"invalid",Z)}function AX(J,Z){cJ(J,"level",Z)}function MX(J,Z){cJ(J,"disabled",Z)}function k6(J,Z){cJ(J,"hidden",Z)}function NJ(J,Z){QZ(J,"expanded",Z)}function RX(J){M8(J,"expanded")}function V6(J,Z){QZ(J,"setsize",Z)}function j6(J,Z){QZ(J,"posinset",Z)}function Iq(J,Z){QZ(J,"multiselectable",Z)}function bq(J,Z){QZ(J,"rowcount",Z)}function o5(J,Z){QZ(J,"rowindex",Z)}function Cq(J,Z){QZ(J,"colcount",Z)}function OX(J,Z){QZ(J,"colindex",Z)}function xq(J,Z){QZ(J,"colspan",Z)}function yq(J,Z){QZ(J,"sort",Z)}function Nq(J){M8(J,"sort")}function R8(J,Z){cJ(J,"selected",Z)}function SX(J,Z){QZ(J,"checked",Z===void 0?"mixed":Z)}function wq(J,Z){cJ(J,"controls",Z)}function fX(J,Z){wq(J,Z.id),p2(Z,J.id)}function H$(J,Z){cJ(J,"owns",Z)}function PX(J,Z){cJ(J,"haspopup",Z===!1?null:Z)}function O8(J,Z){return Z===void 0?J("ariaIndeterminate","indeterminate"):Z===!0?J("ariaChecked","checked"):J("ariaUnchecked","unchecked")}function S8(J,Z,$){let X=J.parentElement,Y=X&&X.firstChild;while(Y){if(Z)Y.classList.toggle(Z,Y===J);if($)Y.classList.toggle($,Y!==J);Y=Y.nextSibling}}var gq="[tabindex], input, select, button, textarea, [href]",TX="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function N2(J){if(!J)return!1;if(!J.matches("input, select, button, textarea"))return!1;if(!J.matches(TX))return!1;return AJ(J)}function w(J,Z,$={}){let{skipAriaHidden:X}=$;if(J.classList.toggle("ag-hidden",!Z),!X)k6(J,!Z)}function hq(J,Z,$={}){let{skipAriaHidden:X}=$;if(J.classList.toggle("ag-invisible",!Z),!X)k6(J,!Z)}function f8(J,Z){let X=Z?(Q)=>Q.setAttribute("disabled",""):(Q)=>Q.removeAttribute("disabled");X(J);let Y=J.querySelectorAll("input")??[];for(let Q of Y)X(Q)}function v0(J,Z,$){let X=0;while(J){if(J.classList.contains(Z))return!0;if(J=J.parentElement,typeof $=="number"){if(++X>$)break}else if(J===$)break}return!1}function k2(J){let{height:Z,width:$,borderTopWidth:X,borderRightWidth:Y,borderBottomWidth:Q,borderLeftWidth:q,paddingTop:H,paddingRight:_,paddingBottom:z,paddingLeft:U,marginTop:W,marginRight:G,marginBottom:B,marginLeft:K,boxSizing:E}=window.getComputedStyle(J),L=Number.parseFloat;return{height:L(Z||"0"),width:L($||"0"),borderTopWidth:L(X||"0"),borderRightWidth:L(Y||"0"),borderBottomWidth:L(Q||"0"),borderLeftWidth:L(q||"0"),paddingTop:L(H||"0"),paddingRight:L(_||"0"),paddingBottom:L(z||"0"),paddingLeft:L(U||"0"),marginTop:L(W||"0"),marginRight:L(G||"0"),marginBottom:L(B||"0"),marginLeft:L(K||"0"),boxSizing:E}}function A6(J){let Z=k2(J);if(Z.boxSizing==="border-box")return Z.height-Z.paddingTop-Z.paddingBottom-Z.borderTopWidth-Z.borderBottomWidth;return Z.height}function y0(J){let Z=k2(J);if(Z.boxSizing==="border-box")return Z.width-Z.paddingLeft-Z.paddingRight-Z.borderLeftWidth-Z.borderRightWidth;return Z.width}function vX(J){let{height:Z,marginBottom:$,marginTop:X}=k2(J);return Math.floor(Z+$+X)}function IX(J){let{width:Z,marginLeft:$,marginRight:X}=k2(J);return Math.floor(Z+$+X)}function bX(J){let Z=J.getBoundingClientRect(),{borderTopWidth:$,borderLeftWidth:X,borderRightWidth:Y,borderBottomWidth:Q}=k2(J);return{top:Z.top+($||0),left:Z.left+(X||0),right:Z.right+(Y||0),bottom:Z.bottom+(Q||0)}}function e5(J,Z){let $=J.scrollLeft;if(Z)$=Math.abs($);return $}function J6(J,Z,$){if($)Z*=-1;J.scrollLeft=Z}function ZJ(J){while(J?.firstChild)J.firstChild.remove()}function TJ(J){if(J?.parentNode)J.remove()}function CX(J){return!!J.offsetParent}function AJ(J){if(J.checkVisibility)return J.checkVisibility({checkVisibilityCSS:!0});return!(!CX(J)||window.getComputedStyle(J).visibility!=="visible")}function P8(J){let Z=document.createElement("div");return Z.innerHTML=(J||"").trim(),Z.firstChild}function xX(J,Z,$){if($&&$.nextSibling===Z)return;if(!J.firstChild)J.appendChild(Z);else if($)if($.nextSibling)J.insertBefore(Z,$.nextSibling);else J.appendChild(Z);else if(J.firstChild&&J.firstChild!==Z)J.prepend(Z)}function yX(J,Z){for(let $=0;$`-${Z.toLocaleLowerCase()}`)}function Y5(J,Z){if(!Z)return;for(let $ of Object.keys(Z)){let X=Z[$];if(!$?.length||X==null)continue;let Y=uq($),Q=X.toString(),q=Q.replace(/\s*!important/g,""),H=q.length!=Q.length?"important":void 0;J.style.setProperty(Y,q,H)}}function i2(J){return()=>{let Z=J();if(!Z)return!0;return mq(Z)||cq(Z)}}function mq(J){return J.clientWidthQ?.disconnect()}function qZ(J,Z){let $=A8(J);if($.requestAnimationFrame)$.requestAnimationFrame(Z);else if($.webkitRequestAnimationFrame)$.webkitRequestAnimationFrame(Z);else $.setTimeout(Z,0)}var gX="data-ref",V7;function _$(){return V7??(V7=document.createTextNode(" ")),V7.cloneNode()}function EJ(J){let{attrs:Z,children:$,cls:X,ref:Y,role:Q,tag:q}=J,H=document.createElement(q);if(X)H.className=X;if(Y)H.setAttribute(gX,Y);if(Q)H.setAttribute("role",Q);if(Z)for(let _ of Object.keys(Z))H.setAttribute(_,Z[_]);if($)if(typeof $==="string")H.textContent=$;else{let _=!0;for(let z of $)if(z)if(typeof z==="string")H.appendChild(document.createTextNode(z)),_=!1;else if(typeof z==="function")H.appendChild(z());else{if(_)H.appendChild(_$()),_=!1;H.append(EJ(z)),H.appendChild(_$())}}return H}var iq=["touchstart","touchend","touchmove","touchcancel","scroll"],dq=["wheel"],j7={},t7=(()=>{let J={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return($)=>{if(typeof j7[$]==="boolean")return j7[$];let X=document.createElement(J[$]||"div");return $="on"+$,j7[$]=$ in X}})();function M6(J,Z){if(!Z||!J)return!1;return sq(Z).indexOf(J)>=0}function nq(J){let Z=[],$=J.target;while($)Z.push($),$=$.parentElement;return Z}function sq(J){let Z=J;if(Z.path)return Z.path;if(Z.composedPath)return Z.composedPath();return nq(Z)}function rq(J,Z,$){let X=tq(Z),Y;if(X!=null)Y={passive:X};J.addEventListener(Z,$,Y)}var tq=(J)=>{let Z=iq.includes(J),$=dq.includes(J);if(Z)return!0;if($)return!1};function hX(J,Z,$){if($===0)return!1;let X=Math.abs(J.clientX-Z.clientX),Y=Math.abs(J.clientY-Z.clientY);return Math.max(X,Y)<=$}var H2=(J,Z)=>{let $=J.identifier;for(let X=0,Y=Z.length;X0&&G+J.clientWidth>Q+L)G=Q+L-J.clientWidth;if(G<0)G=0;if(q>0&&W+J.clientHeight>q+E)W=q+E-J.clientHeight;if(W<0)W=0;J.style.left=`${G}px`,J.style.top=`${W}px`}var c5=(J,...Z)=>{for(let $ of Z){let[X,Y,Q,q]=$;X.addEventListener(Y,Q,q),J.push($)}},T8=(J)=>{if(J){for(let[Z,$,X,Y]of J)Z.removeEventListener($,X,Y);J.length=0}},$2=(J)=>{if(J.cancelable)J.preventDefault()};function aq(J,Z){return Z}function uX(J){return J?.getLocaleTextFunc()??aq}function oq(J,Z,$,X){let Y=Z[$];return J.getLocaleTextFunc()($,typeof Y==="function"?Y(X):Y,X)}var RJ=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans(J){this.beans=J,this.stubContext=J.context,this.eventSvc=J.eventSvc,this.gos=J.gos}destroy(){let{destroyFunctions:J}=this;for(let Z=0;Znull;let X;if(eq(J))J.__addEventListener(Z,$),X=()=>{return J.__removeEventListener(Z,$),null};else{let Y=JH(J);if(J instanceof HTMLElement)rq(J,Z,$);else if(Y)J.addListener(Z,$);else J.addEventListener(Z,$);X=Y?()=>{return J.removeListener(Z,$),null}:()=>{return J.removeEventListener(Z,$),null}}return this.destroyFunctions.push(X),()=>{return X(),this.destroyFunctions=this.destroyFunctions.filter((Y)=>Y!==X),null}}setupPropertyListener(J,Z){let{gos:$}=this;$.addPropertyEventListener(J,Z);let X=()=>{return $.removePropertyEventListener(J,Z),null};return this.destroyFunctions.push(X),()=>{return X(),this.destroyFunctions=this.destroyFunctions.filter((Y)=>Y!==X),null}}addManagedPropertyListener(J,Z){if(this.destroyed)return()=>null;return this.setupPropertyListener(J,Z)}addManagedPropertyListeners(J,Z){if(this.destroyed)return;let $=J.join("-")+this.propertyListenerId++,X=(Y)=>{if(Y.changeSet){if(Y.changeSet&&Y.changeSet.id===this.lastChangeSetIdLookup[$])return;this.lastChangeSetIdLookup[$]=Y.changeSet.id}let Q={type:"propertyChanged",changeSet:Y.changeSet,source:Y.source};Z(Q)};for(let Y of J)this.setupPropertyListener(Y,X)}getLocaleTextFunc(){return uX(this.beans.localeSvc)}addDestroyFunc(J){if(this.isAlive())this.destroyFunctions.push(J);else J()}createOptionalManagedBean(J,Z){return J?this.createManagedBean(J,Z):void 0}createManagedBean(J,Z){let $=this.createBean(J,Z);return this.addDestroyFunc(this.destroyBean.bind(this,J,Z)),$}createBean(J,Z,$){return(Z||this.stubContext).createBean(J,$)}destroyBean(J,Z){return(Z||this.stubContext).destroyBean(J)}destroyBeans(J,Z){return(Z||this.stubContext).destroyBeans(J)}};function eq(J){return J.__addEventListener!==void 0}function JH(J){return J.eventServiceType==="global"}var M=class extends RJ{},l7=new Set,R6=(J,Z)=>{if(!l7.has(Z))l7.add(Z),J()};R6._set=l7;var ZH={pending:!1,funcs:[]},$H={pending:!1,funcs:[]};function a7(J,Z="setTimeout",$){let X=Z==="raf"?$H:ZH;if(X.funcs.push(J),X.pending)return;X.pending=!0;let Y=()=>{let Q=X.funcs.slice();X.funcs.length=0,X.pending=!1;for(let q of Q)q()};if(Z==="raf")qZ($,Y);else window.setTimeout(Y,0)}function gZ(J,Z,$){let X;return function(...Y){let Q=this;return window.clearTimeout(X),X=window.setTimeout(function(){if(J.isAlive())Z.apply(Q,Y)},$),X}}function z$(J,Z){let $=0;return function(...X){let Y=this,Q=Date.now();if(Q-${if(Q!=null)window.clearInterval(Q),Q=null};J.addDestroyFunc(H);let _=()=>{let z=Date.now()-Y>X;if(Z()||z)$(),q=!0,H()};if(_(),!q)Q=window.setInterval(_,10)}var XH=new Set(["__proto__","constructor","prototype"]);function YH(J,Z){if(J==null)return;if(Array.isArray(J)){for(let $=0;$!XH.has(X)))Z($,J[$])}function BJ(J,Z,$=!0,X=!1){if(!T(Z))return;YH(Z,(Y,Q)=>{let q=J[Y];if(q===Q)return;if(X){if(q==null&&Q!=null){if(typeof Q==="object"&&Q.constructor===Object)q={},J[Y]=q}}if(U$(Q)&&U$(q)&&!Array.isArray(q))BJ(q,Q,$,X);else if($||Q!==void 0)J[Y]=Q})}function U$(J){return typeof J==="object"&&J!==null}var I8=class J{static applyGlobalGridOptions(Z){if(!J.gridOptions)return{...Z};let $={};if(BJ($,J.gridOptions,!0,!0),J.mergeStrategy==="deep")BJ($,Z,!0,!0);else $={...$,...Z};if(J.gridOptions.context)$.context=J.gridOptions.context;if(Z.context){if(J.mergeStrategy==="deep"&&$.context)BJ(Z.context,$.context,!0,!0);$.context=Z.context}return $}static applyGlobalGridOption(Z,$){if(J.mergeStrategy==="deep"){let X=QH(Z);if(X&&typeof X==="object"&&typeof $==="object")return J.applyGlobalGridOptions({[Z]:$})[Z]}return $}};I8.gridOptions=void 0;I8.mergeStrategy="shallow";var b8=I8;function QH(J){return b8.gridOptions?.[J]}var qH={suppressContextMenu:!1,preventDefaultOnContextMenu:!1,allowContextMenuWithControlKey:!1,suppressMenuHide:!0,enableBrowserTooltips:!1,tooltipTrigger:"hover",tooltipShowDelay:2000,tooltipSwitchShowDelay:200,tooltipHideDelay:1e4,tooltipMouseTrack:!1,tooltipShowMode:"standard",tooltipInteraction:!1,copyHeadersToClipboard:!1,copyGroupHeadersToClipboard:!1,clipboardDelimiter:"\t",suppressCopyRowsToClipboard:!1,suppressCopySingleCellRanges:!1,suppressLastEmptyLineOnPaste:!1,suppressClipboardPaste:!1,suppressClipboardApi:!1,suppressCutToClipboard:!1,maintainColumnOrder:!1,enableStrictPivotColumnOrder:!1,suppressFieldDotNotation:!1,allowDragFromColumnsToolPanel:!1,suppressMovableColumns:!1,suppressColumnMoveAnimation:!1,suppressMoveWhenColumnDragging:!1,suppressDragLeaveHidesColumns:!1,suppressRowGroupHidesColumns:!1,suppressAutoSize:!1,autoSizePadding:20,skipHeaderOnAutoSize:!1,singleClickEdit:!1,suppressClickEdit:!1,readOnlyEdit:!1,stopEditingWhenCellsLoseFocus:!1,enterNavigatesVertically:!1,enterNavigatesVerticallyAfterEdit:!1,enableCellEditingOnBackspace:!1,undoRedoCellEditing:!1,undoRedoCellEditingLimit:10,suppressCsvExport:!1,suppressExcelExport:!1,cacheQuickFilter:!1,includeHiddenColumnsInQuickFilter:!1,excludeChildrenWhenTreeDataFiltering:!1,enableAdvancedFilter:!1,includeHiddenColumnsInAdvancedFilter:!1,enableCharts:!1,masterDetail:!1,keepDetailRows:!1,keepDetailRowsCount:10,detailRowAutoHeight:!1,tabIndex:0,rowBuffer:10,valueCache:!1,valueCacheNeverExpires:!1,enableCellExpressions:!1,suppressTouch:!1,suppressFocusAfterRefresh:!1,suppressBrowserResizeObserver:!1,suppressPropertyNamesCheck:!1,suppressChangeDetection:!1,debug:!1,suppressLoadingOverlay:!1,suppressNoRowsOverlay:!1,pagination:!1,paginationPageSize:100,paginationPageSizeSelector:!0,paginationAutoPageSize:!1,paginateChildRows:!1,suppressPaginationPanel:!1,pivotMode:!1,pivotPanelShow:"never",pivotDefaultExpanded:0,pivotSuppressAutoColumn:!1,suppressExpandablePivotGroups:!1,functionsReadOnly:!1,suppressAggFuncInHeader:!1,alwaysAggregateAtRootLevel:!1,aggregateOnlyChangedColumns:!1,suppressAggFilteredOnly:!1,removePivotHeaderRowWhenSingleValueColumn:!1,animateRows:!0,cellFlashDuration:500,cellFadeDuration:1000,allowShowChangeAfterFilter:!1,domLayout:"normal",ensureDomOrder:!1,enableRtl:!1,suppressColumnVirtualisation:!1,suppressMaxRenderedRowRestriction:!1,suppressRowVirtualisation:!1,rowDragManaged:!1,refreshAfterGroupEdit:!1,rowDragInsertDelay:500,suppressRowDrag:!1,suppressMoveWhenRowDragging:!1,rowDragEntireRow:!1,rowDragMultiRow:!1,embedFullWidthRows:!1,groupDisplayType:"singleColumn",groupDefaultExpanded:0,groupMaintainOrder:!1,groupSelectsChildren:!1,groupSuppressBlankHeader:!1,groupSelectsFiltered:!1,showOpenedGroup:!1,groupRemoveSingleChildren:!1,groupRemoveLowestSingleChildren:!1,groupHideOpenParents:!1,groupHideColumnsUntilExpanded:!1,groupAllowUnbalanced:!1,rowGroupPanelShow:"never",suppressMakeColumnVisibleAfterUnGroup:!1,treeData:!1,rowGroupPanelSuppressSort:!1,suppressGroupRowsSticky:!1,rowModelType:"clientSide",asyncTransactionWaitMillis:50,suppressModelUpdateAfterUpdateTransaction:!1,cacheOverflowSize:1,infiniteInitialRowCount:1,serverSideInitialRowCount:1,cacheBlockSize:100,maxBlocksInCache:-1,maxConcurrentDatasourceRequests:2,blockLoadDebounceMillis:0,purgeClosedRowNodes:!1,serverSideSortAllLevels:!1,serverSideOnlyRefreshFilteredGroups:!1,serverSidePivotResultFieldSeparator:"_",viewportRowModelPageSize:5,viewportRowModelBufferSize:5,alwaysShowHorizontalScroll:!1,alwaysShowVerticalScroll:!1,debounceVerticalScrollbar:!1,suppressHorizontalScroll:!1,suppressScrollOnNewData:!1,suppressScrollWhenPopupsAreOpen:!1,suppressAnimationFrame:!1,suppressMiddleClickScrolls:!1,suppressPreventDefaultOnMouseWheel:!1,rowMultiSelectWithClick:!1,suppressRowDeselection:!1,suppressRowClickSelection:!1,suppressCellFocus:!1,suppressHeaderFocus:!1,suppressMultiRangeSelection:!1,enableCellTextSelection:!1,enableRangeSelection:!1,enableRangeHandle:!1,enableFillHandle:!1,fillHandleDirection:"xy",suppressClearOnFillReduction:!1,accentedSort:!1,unSortIcon:!1,suppressMultiSort:!1,alwaysMultiSort:!1,suppressMaintainUnsortedOrder:!1,suppressRowHoverHighlight:!1,suppressRowTransform:!1,columnHoverHighlight:!1,deltaSort:!1,enableGroupEdit:!1,groupLockGroupColumns:0,serverSideEnableClientSideSort:!1,suppressServerSideFullWidthLoadingRow:!1,pivotMaxGeneratedColumns:-1,columnMenu:"new",reactiveCustomComponents:!0,suppressSetFilterByDefault:!1,enableFilterHandlers:!1},mX="https://www.ag-grid.com";function n2(J,Z,...$){if(J.get("debug"))console.log("AG Grid: "+Z,...$)}function Z0(J,...Z){R6(()=>cX(J,...Z),J+Z?.join(""))}function _2(J,...Z){R6(()=>HH(J,...Z),J+Z?.join(""))}function HH(J,...Z){console.error("AG Grid: "+J,...Z)}function cX(J,...Z){console.warn("AG Grid: "+J,...Z)}var pX=new Set,Z6={},I0={},p5,iX=!1,dX=!1,_H=!1;function zH(J){let[Z,$]=J.version.split(".")||[],[X,Y]=p5.split(".")||[];return Z===X&&$===Y}function UH(J){if(!p5)p5=J.version;let Z=(X)=>`You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. ${X} Please update all modules to the same version.`;if(!J.version)_2(Z(`'${J.moduleName}' is incompatible.`));else if(!zH(J))_2(Z(`'${J.moduleName}' is version ${J.version} but the other modules are version ${p5}.`));let $=J.validate?.();if($&&!$.isValid)_2(`${$.message}`)}function s2(J,Z,$=!1){if(!$)iX=!0;UH(J);let X=J.rowModels??["all"];pX.add(J);let Y;if(Z!==void 0){if(dX=!0,I0[Z]===void 0)I0[Z]={};Y=I0[Z]}else Y=Z6;for(let Q of X){if(Y[Q]===void 0)Y[Q]={};Y[Q][J.moduleName]=J}if(J.dependsOn)for(let Q of J.dependsOn)s2(Q,Z,$)}function WH(J){delete I0[J]}function o7(J,Z,$){let X=(Y)=>!!Z6[Y]?.[J]||!!I0[Z]?.[Y]?.[J];return X($)||X("all")}function C8(){return dX}function GH(J,Z){let $=I0[J]??{};return[...Object.values(Z6.all??{}),...Object.values($.all??{}),...Object.values(Z6[Z]??{}),...Object.values($[Z]??{})]}function BH(){return new Set(pX)}function nX(J,Z){let $=I0[J]??{};return[...Object.values($.all??{}),...Object.values($[Z]??{})]}function KH(){return iX}function x8(){return _H}var sX=class{static register(J){s2(J,void 0)}static registerModules(J){for(let Z of J)s2(Z,void 0)}};var p="35.2.0",W$=2000,G$=100,rX="_version_",tX=null,z2=`${mX}/javascript-data-grid`;function EH(J){tX=J}function LH(J){z2=J}function lX(J,Z,$){return tX?.(J,Z)??[VH(J,Z,$)]}function O6(J,Z,$,X,Y){J(`${X?"warning":"error"} #${Z}`,...lX(Z,$,Y))}function FH(J){if(!J)return String(J);let Z={};for(let $ of Object.keys(J))if(typeof J[$]!=="object"&&typeof J[$]!=="function")Z[$]=J[$];return JSON.stringify(Z)}function DH(J){let Z=J;if(J instanceof Error)Z=J.toString();else if(typeof J==="object")Z=FH(J);return Z}function i5(J){return J===void 0?"undefined":J===null?"null":J}function e7(J,Z){return`${J}?${Z.toString()}`}function kH(J,Z,$){let X=Array.from(Z.entries()).sort((Q,q)=>q[1].length-Q[1].length),Y=e7(J,Z);for(let[Q,q]of X){if(Q===rX)continue;let H=Y.length-$;if(H<=0)break;let _="...",z=H+_.length,U=q.length-z>G$?q.slice(0,q.length-z)+_:q.slice(0,G$)+_;Z.set(Q,U),Y=e7(J,Z)}return Y}function aX(J,Z){let $=new URLSearchParams;if($.append(rX,p),Z)for(let Q of Object.keys(Z))$.append(Q,DH(Z[Q]));let X=`${z2}/errors/${J}`,Y=e7(X,$);return Y.length<=W$?Y:kH(X,$,W$)}var VH=(J,Z,$)=>{let X=aX(J,Z),Y=`${$?$+` `:""}Visit ${X}`;if(x8())return Y;return`${Y}${$?"":` Alternatively register the ValidationModule to see the full message in the console.`}`};function O(...J){O6(Z0,J[0],J[1],!0)}function e(...J){O6(_2,J[0],J[1],!1)}function x2(J,Z,$){O6(_2,J,Z,!1,$)}function oX(J,Z,$){O6(Z0,J,Z,!0,$)}function jH(J,Z){let $=Z[0];return`error #${$} `+lX($,Z[1],J).join(" ")}function JZ(...J){return jH(void 0,J)}function eX(J,Z){return J.get("rowModelType")===Z}function o(J,Z){return eX(J,"clientSide")}function z0(J,Z){return eX(J,"serverSide")}function jJ(J,Z){return J.get("domLayout")===Z}function hZ(J){return $6(J)!==void 0}function JY(J){return typeof J.get("getRowHeight")==="function"}function AH(J,Z){if(Z)return!J.get("enableStrictPivotColumnOrder");return J.get("maintainColumnOrder")}function MH({gos:J,formula:Z}){let $=J.get("rowNumbers");return $||!!Z?.active&&$!==!1}function r2(J,Z,$=!1,X){let{gos:Y,environment:Q}=J;if(X==null)X=Q.getDefaultRowHeight();if(JY(Y)){if($)return{height:X,estimated:!0};let _={node:Z,data:Z.data},z=Y.getCallback("getRowHeight")(_);if(J8(z)){if(z===0)O(23);return{height:Math.max(1,z),estimated:!1}}}if(Z.detail&&Y.get("masterDetail"))return RH(Y);let q=Y.get("rowHeight");return{height:q&&J8(q)?q:X,estimated:!1}}function RH(J){if(J.get("detailRowAutoHeight"))return{height:1,estimated:!1};let Z=J.get("detailRowHeight");if(J8(Z))return{height:Z,estimated:!1};return{height:300,estimated:!1}}function ZY(J){let{environment:Z,gos:$}=J,X=$.get("rowHeight");if(!X||d(X))return Z.getDefaultRowHeight();let Y=Z.refreshRowHeightVariable();if(Y!==-1)return Y;return O(24),Z.getDefaultRowHeight()}function J8(J){return!isNaN(J)&&typeof J==="number"&&isFinite(J)}function $Y(J,Z,$){let X=Z[J.getDomDataKey()];return X?X[$]:void 0}function N0(J,Z,$,X){let Y=J.getDomDataKey(),Q=Z[Y];if(d(Q))Q={},Z[Y]=Q;Q[$]=X}function U2(J){if(J.get("ensureDomOrder"))return!1;return J.get("animateRows")}function V2(J){return!(J.get("paginateChildRows")||J.get("groupHideOpenParents")||jJ(J,"print"))}function GZ(J){return!J.get("autoGroupColumnDef")?.comparator&&!J.get("treeData")}function TZ(J){let Z=J.get("groupAggFiltering");if(typeof Z==="function")return J.getCallback("groupAggFiltering");if(Z===!0)return()=>!0;return}function U0(J){return J.get("grandTotalRow")}function S6(J){let Z=J.get("groupTotalRow");if(typeof Z==="function")return J.getCallback("groupTotalRow");return()=>Z??void 0}function q5(J){if(!!J.get("groupHideOpenParents"))return!0;return J.get("groupDisplayType")==="multipleColumns"}function y8(J){return q5(J)&&J.get("groupHideColumnsUntilExpanded")&&o(J)}function f6(J,Z){if(Z)return!1;return J.get("groupDisplayType")==="groupRows"}function XY(J,Z,$){return!!Z.group&&!Z.footer&&f6(J,$)}function Z8(J){let Z=J.getCallback("getRowId");if(Z===void 0)return Z;return($)=>{let X=Z($);if(typeof X!=="string")R6(()=>O(25,{id:X}),"getRowIdString"),X=String(X);return X}}function OH(J,Z){let $=J.get("groupHideParentOfSingleChild");if($===!0)return!0;if($==="leafGroupsOnly"&&Z.leafGroup)return!0;if(J.get("groupRemoveSingleChildren"))return!0;if(J.get("groupRemoveLowestSingleChildren")&&Z.leafGroup)return!0;return!1}function P6(J,Z){let $=J.get("suppressGroupChangesColumnVisibility");if($===!0)return!1;if(Z&&$==="suppressHideOnGroup")return!1;if(!Z&&$==="suppressShowOnUngroup")return!1;let X=J.get("suppressRowGroupHidesColumns");if(Z&&X===!0)return!1;let Y=J.get("suppressMakeColumnVisibleAfterUnGroup");if(!Z&&Y===!0)return!1;return!0}function $0(J){return J?.checkboxes??!0}function d5(J){return J?.mode==="multiRow"&&(J.headerCheckbox??!0)}function K2(J){if(typeof J!=="object")return;return J.checkboxLocation??"selectionColumn"}function A7(J){return J?.hideDisabledCheckboxes??!1}function SH(J){return typeof J.get("rowSelection")!=="string"}function YY(J){return J.get("cellSelection")!==void 0}function QY(J){let Z=J.get("cellSelection");if(Z===void 0)return J.get("suppressMultiRangeSelection");return typeof Z!=="boolean"?Z?.suppressMultiRanges??!1:!1}function uJ(J){let Z=J.get("cellSelection");return Z!==void 0?!!Z:J.get("enableRangeSelection")}function T6(J){let Z=J.get("cellSelection");if(Z===void 0)return{mode:"fill",setFillValue:J.get("fillOperation"),direction:J.get("fillHandleDirection"),suppressClearOnFillReduction:J.get("suppressClearOnFillReduction")};return typeof Z!=="boolean"&&Z.handle?.mode==="fill"?Z.handle:void 0}function X0(J){let Z=J.get("cellSelection")??!1;return(typeof Z==="object"&&Z.enableColumnSelection)??!1}function qY(J){let Z=J.get("rowSelection")??"single";if(typeof Z==="string"){let $=J.get("suppressRowClickSelection"),X=J.get("suppressRowDeselection");if($&&X)return!1;else if($)return"enableDeselection";else if(X)return"enableSelection";else return!0}return Z.mode==="singleRow"||Z.mode==="multiRow"?Z.enableClickSelection??!1:!1}function fH(J){let Z=qY(J);return Z===!0||Z==="enableSelection"}function PH(J){let Z=qY(J);return Z===!0||Z==="enableDeselection"}function $8(J){let Z=J.get("rowSelection");if(typeof Z==="string")return J.get("isRowSelectable");return Z?.isRowSelectable}function $6(J){let Z="beanName"in J&&J.beanName==="gos"?J.get("rowSelection"):J.rowSelection;if(typeof Z==="string")switch(Z){case"multiple":return"multiRow";case"single":return"singleRow";default:return}switch(Z?.mode){case"multiRow":case"singleRow":return Z.mode;default:return}}function t2(J){return $6(J)==="multiRow"}function TH(J){let Z=J.get("rowSelection");if(typeof Z==="string")return J.get("rowMultiSelectWithClick");return Z?.enableSelectionWithoutKeys??!1}function X6(J){let Z=J.get("rowSelection");if(typeof Z==="string"){let $=J.get("groupSelectsChildren"),X=J.get("groupSelectsFiltered");if($&&X)return"filteredDescendants";else if($)return"descendants";else return"self"}return Z?.mode==="multiRow"?Z.groupSelects:void 0}function HY(J,Z=!0){let $=J.get("rowSelection");if(typeof $!=="object")return Z?"all":void 0;return $.mode==="multiRow"?$.selectAll:"all"}function vH(J){let Z=J.get("rowSelection");if(typeof Z==="string")return!1;return Z?.mode==="multiRow"?Z.ctrlASelectsRows??!1:!1}function l2(J){let Z=X6(J);return Z==="descendants"||Z==="filteredDescendants"}function B$(J){let Z=J.get("rowSelection");return typeof Z==="object"&&Z.masterSelects||"self"}function IH(J){return J.isModuleRegistered("SetFilter")&&!J.get("suppressSetFilterByDefault")}function WJ(J){return J.get("columnMenu")==="legacy"}function N8(J){return!WJ(J)}function bH(J){if(!J||J.length<2)return J;return"on"+J[0].toUpperCase()+J.substring(1)}function x(J,Z){return J.addCommon(Z)}function w8({gos:J},Z){return Z.button===2||Z.ctrlKey&&J.get("allowContextMenuWithControlKey")}var CH={resizable:!0,sortable:!0},xH=0;function _Y(){return xH++}function $Z(J){return J instanceof HZ}var yH=["asc","desc",null],NH=[{type:"absolute",direction:"asc"},{type:"absolute",direction:"desc"},null],HZ=class extends M{constructor(J,Z,$,X){super();this.colDef=J,this.userProvidedColDef=Z,this.colId=$,this.primary=X,this.isColumn=!0,this.instanceId=_Y(),this.autoHeaderHeight=null,this.sortDef=aJ(),this._wasSortExplicitlyRemoved=!1,this.moving=!1,this.resizing=!1,this.menuVisible=!1,this.formulaRef=null,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.colEventSvc=new EZ,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.flex=null,this.colIdSanitised=GJ($)}destroy(){super.destroy(),this.beans.rowSpanSvc?.deregister(this)}getInstanceId(){return this.instanceId}initState(){let{colDef:J,beans:{sortSvc:Z,pinnedCols:$,colFlex:X}}=this;Z?.initCol(this);let Y=J.hide;if(Y!==void 0)this.visible=!Y;else this.visible=!J.initialHide;$?.initCol(this),X?.initCol(this)}setColDef(J,Z,$){let X=J.spanRows!==this.colDef.spanRows;if(this.colDef=J,this.userProvidedColDef=Z,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),X)this.beans.rowSpanSvc?.deregister(this),this.initRowSpan();this.dispatchColEvent("colDefChanged",$)}getUserProvidedColDef(){return this.userProvidedColDef}getParent(){return this.parent}getOriginalParent(){return this.originalParent}postConstruct(){this.initState(),this.initMinAndMaxWidths(),this.resetActualWidth("gridInitializing"),this.initDotNotation(),this.initTooltip(),this.initRowSpan(),this.addPivotListener()}initDotNotation(){let{gos:J,colDef:{field:Z,tooltipField:$}}=this,X=J.get("suppressFieldDotNotation");this.fieldContainsDots=T(Z)&&Z.includes(".")&&!X,this.tooltipFieldContainsDots=T($)&&$.includes(".")&&!X}initMinAndMaxWidths(){let J=this.colDef;this.minWidth=J.minWidth??this.beans.environment.getDefaultColumnMinWidth(),this.maxWidth=J.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.beans.tooltipSvc?.initCol(this)}initRowSpan(){if(this.colDef.spanRows)this.beans.rowSpanSvc?.register(this)}addPivotListener(){let J=this.beans.pivotColDefSvc,Z=this.colDef.pivotValueColumn;if(!J||!Z)return;this.addManagedListeners(Z,{colDefChanged:($)=>{let X=J.recreateColDef(this.colDef);this.setColDef(X,X,$.source)}})}resetActualWidth(J){let Z=this.calculateColInitialWidth(this.colDef);this.setActualWidth(Z,J,!0)}calculateColInitialWidth(J){let Z=J.width??J.initialWidth??200;return Math.max(Math.min(Z,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(J){return this.beans.showRowGroupCols?.isRowGroupDisplayed(this,J)??!1}isPrimary(){return this.primary}isFilterAllowed(){return!!this.colDef.filter}isFieldContainsDots(){return this.fieldContainsDots}isTooltipEnabled(){return this.tooltipEnabled}isTooltipFieldContainsDots(){return this.tooltipFieldContainsDots}getHighlighted(){return this.highlighted}__addEventListener(J,Z){this.colEventSvc.addEventListener(J,Z)}__removeEventListener(J,Z){this.colEventSvc.removeEventListener(J,Z)}addEventListener(J,Z){this.frameworkEventListenerService=this.beans.frameworkOverrides.createLocalEventListenerWrapper?.(this.frameworkEventListenerService,this.colEventSvc);let $=this.frameworkEventListenerService?.wrap(J,Z)??Z;this.colEventSvc.addEventListener(J,$)}removeEventListener(J,Z){let $=this.frameworkEventListenerService?.unwrap(J,Z)??Z;this.colEventSvc.removeEventListener(J,$)}createColumnFunctionCallbackParams(J){return x(this.gos,{node:J,data:J.data,column:this,colDef:this.colDef})}isSuppressNavigable(J){return this.beans.cellNavigation?.isSuppressNavigable(this,J)??!1}isCellEditable(J){return this.beans.editSvc?.isCellEditable({rowNode:J,column:this})??!1}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag(J){return this.isColumnFunc(J,this.colDef.rowDrag)}isDndSource(J){return this.isColumnFunc(J,this.colDef.dndSource)}isCellCheckboxSelection(J){return this.beans.selectionSvc?.isCellCheckboxSelection(this,J)??!1}isSuppressPaste(J){return this.isColumnFunc(J,this.colDef?.suppressPaste??null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue(J){return this.colDef[J]??CH[J]}isColumnFunc(J,Z){if(typeof Z==="boolean")return Z;if(typeof Z==="function"){let $=this.createColumnFunctionCallbackParams(J);return Z($)}return!1}createColumnEvent(J,Z){return x(this.gos,{type:J,column:this,columns:[this],source:Z})}isMoving(){return this.moving}getSort(){return this.sortDef.direction}getSortDef(){if(!this.sortDef.direction)return null;return this.sortDef}getColDefAllowedSortTypes(){let J=[],{sort:Z,initialSort:$}=this.colDef,X=Z===null?Z:LZ(Z?.type),Y=$===null?$:LZ($?.type);if(X)J.push(X);if(Y)J.push(Y);return J}getSortingOrder(){let J=this.getColDefAllowedSortTypes().includes("absolute")?NH:yH;return(this.colDef.sortingOrder??this.gos.get("sortingOrder")??J).map((Z)=>aJ(Z))}getAvailableSortTypes(){let J=this.getSortingOrder().reduce((Z,$)=>{if($.direction)Z.push($.type);return Z},this.getColDefAllowedSortTypes());return new Set(J)}get wasSortExplicitlyRemoved(){return this._wasSortExplicitlyRemoved}setSortDef(J,Z=!1){if(!Z)this._wasSortExplicitlyRemoved=!J.direction;this.sortDef=J}isSortable(){return!!this.getColDefValue("sortable")}isSortAscending(){return this.getSort()==="asc"}isSortDescending(){return this.getSort()==="desc"}isSortNone(){return d(this.getSort())}isSorting(){return T(this.getSort())}getSortIndex(){return this.sortIndex}isMenuVisible(){return this.menuVisible}getAggFunc(){return this.aggFunc}getLeft(){return this.left}getOldLeft(){return this.oldLeft}getRight(){return this.left+this.actualWidth}setLeft(J,Z){if(this.oldLeft=this.left,this.left!==J)this.left=J,this.dispatchColEvent("leftChanged",Z)}isFilterActive(){return this.filterActive}isHovered(){return O(261),!!this.beans.colHover?.isHovered(this)}setFirstRightPinned(J,Z){if(this.firstRightPinned!==J)this.firstRightPinned=J,this.dispatchColEvent("firstRightPinnedChanged",Z)}setLastLeftPinned(J,Z){if(this.lastLeftPinned!==J)this.lastLeftPinned=J,this.dispatchColEvent("lastLeftPinnedChanged",Z)}isFirstRightPinned(){return this.firstRightPinned}isLastLeftPinned(){return this.lastLeftPinned}isPinned(){return this.pinned==="left"||this.pinned==="right"}isPinnedLeft(){return this.pinned==="left"}isPinnedRight(){return this.pinned==="right"}getPinned(){return this.pinned}setVisible(J,Z){let $=J===!0;if(this.visible!==$)this.visible=$,this.dispatchColEvent("visibleChanged",Z);this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){return!this.getColDef().suppressSpanHeaderHeight}getFirstRealParent(){let J=this.getOriginalParent();while(J?.isPadding())J=J.getOriginalParent();return J}getColumnGroupPaddingInfo(){let J=this.getParent();if(!J?.isPadding())return{numberOfParents:0,isSpanningTotal:!1};let Z=J.getPaddingLevel()+1,$=!0;while(J){if(!J.isPadding()){$=!1;break}J=J.getParent()}return{numberOfParents:Z,isSpanningTotal:$}}getColDef(){return this.colDef}getDefinition(){return this.colDef}getColumnGroupShow(){return this.colDef.columnGroupShow}getColId(){return this.colId}getId(){return this.colId}getUniqueId(){return this.colId}getActualWidth(){return this.actualWidth}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(J){let Z=J!==this.autoHeaderHeight;return this.autoHeaderHeight=J,Z}createBaseColDefParams(J){return x(this.gos,{node:J,data:J.data,colDef:this.colDef,column:this})}getColSpan(J){if(d(this.colDef.colSpan))return 1;let Z=this.createBaseColDefParams(J),$=this.colDef.colSpan(Z);return Math.max($,1)}getRowSpan(J){if(d(this.colDef.rowSpan))return 1;let Z=this.createBaseColDefParams(J),$=this.colDef.rowSpan(Z);return Math.max($,1)}setActualWidth(J,Z,$=!1){if(J=Math.max(J,this.minWidth),J=Math.min(J,this.maxWidth),this.actualWidth!==J){if(this.actualWidth=J,this.flex!=null&&Z!=="flex"&&Z!=="gridInitializing")this.flex=null;if(!$)this.fireColumnWidthChangedEvent(Z)}this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent(J){this.dispatchColEvent("widthChanged",J)}isGreaterThanMax(J){return J>this.maxWidth}getMinWidth(){return this.minWidth}getMaxWidth(){return this.maxWidth}getFlex(){return this.flex}isRowGroupActive(){return this.rowGroupActive}isPivotActive(){return this.pivotActive}isAnyFunctionActive(){return this.isPivotActive()||this.isRowGroupActive()||this.isValueActive()}isAnyFunctionAllowed(){return this.isAllowPivot()||this.isAllowRowGroup()||this.isAllowValue()}isValueActive(){return this.aggregationActive}isAllowPivot(){return this.colDef.enablePivot===!0}isAllowValue(){return this.colDef.enableValue===!0}isAllowRowGroup(){return this.colDef.enableRowGroup===!0}isAllowFormula(){return this.colDef.allowFormula===!0}dispatchColEvent(J,Z,$){let X=this.createColumnEvent(J,Z);if($)BJ(X,$);this.colEventSvc.dispatchEvent(X)}dispatchStateUpdatedEvent(J){this.colEventSvc.dispatchEvent({type:"columnStateUpdated",key:J})}};function aJ(J){if(W2(J))return{direction:J.direction,type:J.type};return{direction:v6(J),type:LZ(J)}}function Y0(J){return J==="asc"||J==="desc"||J===null}function g8(J){return J==="default"||J==="absolute"}function W2(J){if(!J||typeof J!=="object")return!1;let Z=J;return g8(Z.type)&&Y0(Z.direction)}function n5(J,Z){if(!J)return Z?Z.direction===null:!0;if(!Z)return J?J.direction===null:!0;return J.type===Z.type&&J.direction===Z.direction}function v6(J){return Y0(J)?J:null}function LZ(J){return g8(J)?J:"default"}function h8(J,Z,$){let Y=$?.()??Z.sortSvc.getDisplaySortForColumn(J),Q=LZ(Y?.type),q=v6(Y?.direction),H=J.getAvailableSortTypes(),_=H.has("default"),z=H.has("absolute");return{isDefaultSortAllowed:_,isAbsoluteSortAllowed:z,isAbsoluteSort:Q==="absolute",isDefaultSort:Q==="default",isAscending:q==="asc",isDescending:q==="desc",direction:q}}function HJ(J){return J instanceof b0}var b0=class extends M{constructor(J,Z,$,X){super();this.colGroupDef=J,this.groupId=Z,this.padding=$,this.level=X,this.isColumn=!1,this.expandable=!1,this.instanceId=_Y(),this.expandableListenerRemoveCallback=null,this.expanded=!!J?.openByDefault}destroy(){if(this.expandableListenerRemoveCallback)this.reset(null,void 0);super.destroy()}reset(J,Z){if(this.colGroupDef=J,this.level=Z,this.originalParent=null,this.expandableListenerRemoveCallback)this.expandableListenerRemoveCallback();this.children=void 0,this.expandable=void 0}getInstanceId(){return this.instanceId}getOriginalParent(){return this.originalParent}getLevel(){return this.level}isVisible(){if(this.children)return this.children.some((J)=>J.isVisible());return!1}isPadding(){return this.padding}setExpanded(J){this.expanded=J===void 0?!1:J,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren(J){this.children=J}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){let J=[];return this.addLeafColumns(J),J}forEachLeafColumn(J){if(!this.children)return;for(let Z of this.children)if($Z(Z))J(Z);else if(HJ(Z))Z.forEachLeafColumn(J)}addLeafColumns(J){if(!this.children)return;for(let Z of this.children)if($Z(Z))J.push(Z);else if(HJ(Z))Z.addLeafColumns(J)}getColumnGroupShow(){let J=this.colGroupDef;if(!J)return;return J.columnGroupShow}setupExpandable(){if(this.setExpandable(),this.expandableListenerRemoveCallback)this.expandableListenerRemoveCallback();let J=this.onColumnVisibilityChanged.bind(this);for(let Z of this.getLeafColumns())Z.__addEventListener("visibleChanged",J);this.expandableListenerRemoveCallback=()=>{for(let Z of this.getLeafColumns())Z.__removeEventListener("visibleChanged",J);this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let J=!1,Z=!1,$=!1,X=this.findChildrenRemovingPadding();for(let Q=0,q=X.length;Q{for(let X of $)if(HJ(X)&&X.isPadding())Z(X.children);else J.push(X)};return Z(this.children),J}onColumnVisibilityChanged(){this.setExpandable()}},wH={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}};function X8(J,Z,$){let X={},Y=J.gos;return Object.assign(X,Y.get("defaultColGroupDef")),Object.assign(X,Z),Y.validateColDef(X,$),X}var gH=class{constructor(){this.existingKeys={}}addExistingKeys(J){for(let Z=0;Z0)O(273,{providedId:J,usedId:Y});return this.existingKeys[Y]=!0,Y}$++}}},zY=(J,Z)=>{if(HJ(J))J.setupExpandable();J.originalParent=Z};function UY(J,Z=null,$,X,Y){let{existingCols:Q,existingGroups:q}=WY(X),H=new Map(Q.map((E)=>[E.getId(),E])),_=new Map(q.map((E)=>[E.getId(),E])),z=0,U=(E,L)=>{if(z=Math.max(z,L),EY(E)){if(!J.colGroupSvc)return null;let j=E.groupId,A=_.get(j),R=X8(J,E,j),f=new b0(R,j,!1,L);if(J.context.createBean(f),A)f.setExpanded(A.isExpanded());return f.setChildren(E.children.map((I)=>U(I,L+1))),f}let F=E.colId,D=H.get(F),k=uZ(J,E,D?.getColId()??F);if(!D)D=new HZ(k,E,F,$),J.context.createBean(D);else D.setColDef(k,E,Y),KY(J,D,k,Y);return J.dataTypeSvc?.addColumnListeners(D),D},W=Z?.map((E)=>U(E,0))??[],G=0,B={getUniqueKey:(E,L)=>String(++G)},K=J.colGroupSvc?J.colGroupSvc.balanceColumnTree(W,0,z,B):W;return fZ(null,K,zY),{columnTree:K,treeDepth:z}}function u8(J,Z=null,$,X,Y){let Q=new gH,{existingCols:q,existingGroups:H,existingColKeys:_}=WY(X);Q.addExistingKeys(_);let z=GY(J,Z,0,$,q,Q,H,Y),{colGroupSvc:U}=J,W=U?.findMaxDepth(z,0)??0,G=U?U.balanceColumnTree(z,0,W,Q):z;return fZ(null,G,zY),{columnTree:G,treeDepth:W}}function WY(J){let Z=[],$=[],X=[];if(J)fZ(null,J,(Y)=>{if(HJ(Y)){let Q=Y;$.push(Q)}else{let Q=Y;X.push(Q.getId()),Z.push(Q)}});return{existingCols:Z,existingGroups:$,existingColKeys:X}}function GY(J,Z,$,X,Y,Q,q,H){if(!Z)return[];let{colGroupSvc:_}=J,z=Array(Z.length);for(let U=0;U0)return;if($.width!=null)Z.setActualWidth($.width,X);else{let Q=Z.getActualWidth();Z.setActualWidth(Q,X)}}function uH(J,Z){if(!Z)return;for(let $=0;${for(let Y=0;YZ+$.getActualWidth(),0)}function XZ(J,Z,$){let X={};if(!Z)return;if(fZ(null,Z,(Q)=>{X[Q.getInstanceId()]=Q}),$)fZ(null,$,(Q)=>{X[Q.getInstanceId()]=null});let Y=Object.values(X).filter((Q)=>Q!=null);J.context.destroyBeans(Y)}function m0(J){return J.getId().startsWith(u0)}function IZ(J){return(typeof J==="string"?J:("getColId"in J)?J.getColId():J.colId)?.startsWith(LY)??!1}function vJ(J){return(typeof J==="string"?J:("getColId"in J)?J.getColId():J.colId)?.startsWith(FY)??!1}function H5(J){return IZ(J)||vJ(J)}function Y6(J){let Z=[];if(J instanceof Array)Z=J;else if(typeof J==="string")Z=J.split(",");return Z}function _5(J,Z){return QJ(J,Z,($,X)=>$.getColId()===X.getColId())}function z5(J){J.map={};for(let Z of J.list)J.map[Z.getId()]=Z}function Q0(J){return J==="optionsUpdated"?"gridOptionsChanged":J}function PZ(J,Z){return J===Z||J.colId==Z||J.getColDef()===Z}var pH=(J,Z)=>($,X)=>{let Y={value1:void 0,value2:void 0},Q=!1;if(J){if(J[$]!==void 0)Y.value1=J[$],Q=!0;if(T(X)&&J[X]!==void 0)Y.value2=J[X],Q=!0}if(!Q&&Z){if(Z[$]!==void 0)Y.value1=Z[$];if(T(X)&&Z[X]!==void 0)Y.value2=Z[X]}return Y};function m8(J,Z){let $={...J,sort:void 0,colId:Z},X=kY(J);if(X)$.sort=X.direction,$.sortType=X.type;return $}function kY(J){let{sort:Z,initialSort:$}=J,X=W2(Z)||Y0(Z),Y=W2($)||Y0($);if(X)return aJ(Z);if(Y)return aJ($);return null}function VY(J,Z){return J+"_"+Z}function UJ(J){return J instanceof a2}var a2=class extends M{constructor(J,Z,$,X){super();this.providedColumnGroup=J,this.groupId=Z,this.partId=$,this.pinned=X,this.isColumn=!1,this.displayedChildren=[],this.autoHeaderHeight=null,this.parent=null,this.colIdSanitised=GJ(this.getUniqueId())}reset(){this.parent=null,this.children=null,this.displayedChildren=null}getParent(){return this.parent}getUniqueId(){return VY(this.groupId,this.partId)}isEmptyGroup(){return this.displayedChildren.length===0}isMoving(){let J=this.getProvidedColumnGroup().getLeafColumns();if(!J||J.length===0)return!1;return J.every((Z)=>Z.isMoving())}checkLeft(){for(let J of this.displayedChildren)if(UJ(J))J.checkLeft();if(this.displayedChildren.length>0)if(this.gos.get("enableRtl")){let Z=C(this.displayedChildren).getLeft();this.setLeft(Z)}else{let J=this.displayedChildren[0].getLeft();this.setLeft(J)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft(J){if(this.oldLeft=this.left,this.left!==J)this.left=J,this.dispatchLocalEvent({type:"leftChanged"})}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let J=0;for(let Z of this.displayedChildren??[])J+=Z.getActualWidth();return J}isResizable(){if(!this.displayedChildren)return!1;let J=!1;for(let Z of this.displayedChildren)if(Z.isResizable())J=!0;return J}getMinWidth(){let J=0;for(let Z of this.displayedChildren)J+=Z.getMinWidth();return J}addChild(J){if(!this.children)this.children=[];this.children.push(J)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){let J=[];return this.addLeafColumns(J),J}getDisplayedLeafColumns(){let J=[];return this.addDisplayedLeafColumns(J),J}getDefinition(){return this.providedColumnGroup.getColGroupDef()}getColGroupDef(){return this.providedColumnGroup.getColGroupDef()}isPadding(){return this.providedColumnGroup.isPadding()}isExpandable(){return this.providedColumnGroup.isExpandable()}isExpanded(){return this.providedColumnGroup.isExpanded()}setExpanded(J){this.providedColumnGroup.setExpanded(J)}isAutoHeaderHeight(){return!!this.getColGroupDef()?.autoHeaderHeight}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(J){let Z=J!==this.autoHeaderHeight;return this.autoHeaderHeight=J,Z}addDisplayedLeafColumns(J){for(let Z of this.displayedChildren??[])if($Z(Z))J.push(Z);else if(UJ(Z))Z.addDisplayedLeafColumns(J)}addLeafColumns(J){for(let Z of this.children??[])if($Z(Z))J.push(Z);else if(UJ(Z))Z.addLeafColumns(J)}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){let J=this.getParent();if(!this.isPadding()||!J?.isPadding())return 0;return 1+J.getPaddingLevel()}calculateDisplayedColumns(){this.displayedChildren=[];let J=this;while(J?.isPadding())J=J.getParent();if(!(J?J.getProvidedColumnGroup().isExpandable():!1)){this.displayedChildren=this.children,this.dispatchLocalEvent({type:"displayedChildrenChanged"});return}for(let $ of this.children??[]){if(UJ($)&&!$.displayedChildren?.length)continue;switch($.getColumnGroupShow()){case"open":if(J.getProvidedColumnGroup().isExpanded())this.displayedChildren.push($);break;case"closed":if(!J.getProvidedColumnGroup().isExpanded())this.displayedChildren.push($);break;default:this.displayedChildren.push($);break}}this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},V={BACKSPACE:"Backspace",TAB:"Tab",ENTER:"Enter",ESCAPE:"Escape",SPACE:" ",LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown",DELETE:"Delete",F2:"F2",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",PAGE_HOME:"Home",PAGE_END:"End",A:"KeyA",C:"KeyC",D:"KeyD",V:"KeyV",X:"KeyX",Y:"KeyY",Z:"KeyZ"},iH=65,dH=67,nH=86,sH=68,rH=90,tH=89;function jY(J){let{keyCode:Z}=J,$;switch(Z){case iH:$=V.A;break;case dH:$=V.C;break;case nH:$=V.V;break;case sH:$=V.D;break;case rH:$=V.Z;break;case tH:$=V.Y;break;default:$=J.code}return $}function lH(J,Z){return new g(($)=>{$(window.setInterval(J,Z))})}var g=class J{constructor(Z){this.status=0,this.resolution=null,this.waiters=[],Z(($)=>this.onDone($),($)=>this.onReject($))}static all(Z){return Z.length?new J(($)=>{let X=Z.length,Y=Array(X);Z.forEach((Q,q)=>{Q.then((H)=>{if(Y[q]=H,X--,X===0)$(Y)})})}):J.resolve()}static resolve(Z=null){return new J(($)=>$(Z))}then(Z){return new J(($)=>{if(this.status===1)$(Z(this.resolution));else this.waiters.push((X)=>$(Z(X)))})}onDone(Z){this.status=1,this.resolution=Z;for(let $ of this.waiters)$(Z)}onReject(Z){}},aH=class extends RJ{constructor(){super(...arguments);this.beanName="dragAndDrop",this.dragSourceAndParamsList=[],this.dragItem=null,this.dragInitialSourcePointerOffsetX=0,this.dragInitialSourcePointerOffsetY=0,this.lastMouseEvent=null,this.lastDraggingEvent=null,this.dragSource=null,this.dragImageCompPromise=null,this.dragImageComp=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0,this.dropTargets=[],this.externalDropZoneCount=0,this.lastDropTarget=null}addDragSource(J,Z=!1){let $={capturePointer:!0,dragSource:J,eElement:J.eElement,dragStartPixels:J.dragStartPixels,onDragStart:(X)=>this.onDragStart(J,X),onDragStop:this.onDragStop.bind(this),onDragging:this.onDragging.bind(this),onDragCancel:this.onDragCancel.bind(this),includeTouch:Z};this.dragSourceAndParamsList.push($),this.beans.dragSvc.addDragSource($)}setDragImageCompIcon(J,Z=!1){let $=this.dragImageComp;if($&&(Z||this.dragImageLastIcon!==J))this.dragImageLastIcon=J,$.setIcon(J,Z)}removeDragSource(J){let{dragSourceAndParamsList:Z,beans:$}=this;for(let X=0,Y=Z.length;X{for(let z of _){let{width:U,height:W,left:G,right:B,top:K,bottom:E}=z.getBoundingClientRect();if(U===0||W===0)return!1;let L=H.clientX>=G&&H.clientX=K&&H.clientY0}findExternalZone(J){let Z=this.dropTargets;for(let $=0,X=Z.length;$0?"down":K<0?"up":null,hDirection:B<0?"left":B>0?"right":null,initialSourcePointerOffsetX:H,initialSourcePointerOffsetY:_,dragSource:X,fromNudge:$,dragItem:Y,dropZoneTarget:z,dropTarget:Q?.dropTarget??null,changed:!!Q?.changed});return this.lastDraggingEvent=E,E}positionDragImageComp(J){let Z=this.dragImageComp?.getGui();if(Z)lq(Z,J,this.beans)}removeDragImageComp(J){if(this.dragImageComp===J)this.dragImageComp=null;if(J)J.getGui()?.remove(),this.destroyBean(J)}createAndUpdateDragImageComp(J){let Z=this.createDragImageComp(J)??null;this.dragImageCompPromise=Z,Z?.then(($)=>{let X=this.lastMouseEvent;if(Z!==this.dragImageCompPromise||!X||!this.isAlive()){this.destroyBean($);return}this.dragImageCompPromise=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0;let Y=this.dragImageComp;if(Y!==$)this.dragImageComp=$,this.removeDragImageComp(Y);if($)this.appendDragImageComp($),this.updateDragImageComp(),this.positionDragImageComp(X)})}appendDragImageComp(J){let Z=J.getGui(),$=Z.style;if($.position="absolute",$.zIndex="9999",this.beans.dragSvc?.hasPointerCapture())$.pointerEvents="none";this.gos.setInstanceDomData(Z),this.beans.environment.applyThemeClasses(Z),$.top="20px",$.left="20px";let X=D2(this.beans);if(!X)this.warnNoBody();else X.appendChild(Z)}updateDragImageComp(){let{dragImageComp:J,dragSource:Z,lastDropTarget:$,lastDraggingEvent:X,dragImageLastLabel:Y}=this;if(!J)return;this.setDragImageCompIcon($?.getIconName?.(X)??null);let Q=Z?.dragItemName;if(typeof Q==="function")Q=Q(X);if(Q||(Q=""),Y!==Q)this.dragImageLastLabel=Q,J.setLabel(Q)}};function AY(J){return typeof J==="object"&&!!J.component}function oH(J){if(!J)return!1;return J.prototype&&"getGui"in J.prototype}function MY(J,Z,$,X){let{name:Y}=$,Q,q,H,_,z,U;if(Z){let W=Z,G=W[Y+"Selector"],B=G?G(X):null,K=(E)=>{if(typeof E==="string")Q=E;else if(E!=null&&E!==!0)if(J.isFrameworkComponent(E))H=E;else q=E};if(B)K(B.component),_=B.params,z=B.popup,U=B.popupPosition;else K(W[Y])}return{compName:Q,jsComp:q,fwComp:H,paramsFromSelector:_,popupFromSelector:z,popupPositionFromSelector:U}}var eH=class extends M{constructor(){super(...arguments);this.beanName="userCompFactory"}wireBeans(J){this.agCompUtils=J.agCompUtils,this.registry=J.registry,this.frameworkCompWrapper=J.frameworkCompWrapper,this.gridOptions=J.gridOptions}getCompDetailsFromGridOptions(J,Z,$,X=!1){return this.getCompDetails(this.gridOptions,J,Z,$,X)}getCompDetails(J,Z,$,X,Y=!1){let{name:Q,cellRenderer:q}=Z,{compName:H,jsComp:_,fwComp:z,paramsFromSelector:U,popupFromSelector:W,popupPositionFromSelector:G}=MY(this.beans.frameworkOverrides,J,Z,X),B,K,E=(k)=>{let j=this.registry.getUserComponent(Q,k);if(j)_=!j.componentFromFramework?j.component:void 0,z=j.componentFromFramework?j.component:void 0,B=j.params,K=j.processParams};if(H!=null)E(H);if(_==null&&z==null&&$!=null)E($);if(_&&q&&!oH(_))_=this.agCompUtils?.adaptFunction(Z,_);if(!_&&!z){let{validation:k}=this.beans;if(Y&&(H!==$||!$))if(H){if(!k?.isProvidedUserComp(H))e(50,{compName:H})}else if($){if(!k)e(260,{...this.gos.getModuleErrorParams(),propName:Q,compName:$})}else e(216,{name:Q});else if($&&!k)e(146,{comp:$});return}let L=this.mergeParams(J,Z,X,U,B,K),F=_==null,D=_??z;return{componentFromFramework:F,componentClass:D,params:L,type:Z,popupFromSelector:W,popupPositionFromSelector:G,newAgStackInstance:()=>this.newAgStackInstance(D,F,L,Z)}}newAgStackInstance(J,Z,$,X){let Y=!Z,Q;if(Y)Q=new J;else Q=this.frameworkCompWrapper.wrap(J,X.mandatoryMethods,X.optionalMethods,X);this.createBean(Q);let q=Q.init?.($);if(q==null)return g.resolve(Q);return q.then(()=>Q)}mergeParams(J,Z,$,X=null,Y,Q){let q={...$,...Y},_=J?.[Z.name+"Params"];if(typeof _==="function"){let z=_($);BJ(q,z)}else if(typeof _==="object")BJ(q,_);return BJ(q,X),Q?Q(q):q}};var J_={name:"dragAndDropImageComponent",mandatoryMethods:["setIcon","setLabel"]},Z_={name:"headerComponent",optionalMethods:["refresh"]},$_={name:"innerHeaderComponent"},X_={name:"innerHeaderGroupComponent"},Y_={name:"headerGroupComponent"},Q_={name:"innerRenderer",cellRenderer:!0,optionalMethods:["afterGuiAttached"]},q_={name:"cellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0};var H_={name:"loadingCellRenderer",cellRenderer:!0},__={name:"cellEditor",mandatoryMethods:["getValue"],optionalMethods:["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached","refresh"]},z_={name:"tooltipComponent"},c8={name:"filter",mandatoryMethods:["isFilterActive","doesFilterPass","getModel","setModel"],optionalMethods:["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onFloatingFilterChanged","onAnyFilterChanged","refresh"]},U_={name:"floatingFilterComponent",mandatoryMethods:["onParentModelChanged"],optionalMethods:["afterGuiAttached","refresh"]},W_={name:"fullWidthCellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},G_={name:"loadingCellRenderer",cellRenderer:!0},B_={name:"groupRowRenderer",optionalMethods:["afterGuiAttached"],cellRenderer:!0},K_={name:"detailCellRenderer",optionalMethods:["refresh"],cellRenderer:!0};function E_(J,Z){return J.getCompDetailsFromGridOptions(J_,"agDragAndDropImage",Z,!0)}function U5(J,Z,$){return J.getCompDetails(Z,Q_,void 0,$)}function L_(J,Z,$){return J.getCompDetails(Z,Z_,"agColumnHeader",$)}function F_(J,Z,$){return J.getCompDetails(Z,$_,void 0,$)}function D_(J,Z){let $=Z.columnGroup.getColGroupDef();return J.getCompDetails($,Y_,"agColumnGroupHeader",Z)}function k_(J,Z,$){return J.getCompDetails(Z,X_,void 0,$)}function V_(J,Z){return J.getCompDetailsFromGridOptions(W_,void 0,Z,!0)}function j_(J,Z){return J.getCompDetailsFromGridOptions(G_,"agLoadingCellRenderer",Z,!0)}function A_(J,Z){return J.getCompDetailsFromGridOptions(B_,"agGroupRowRenderer",Z,!0)}function M_(J,Z){return J.getCompDetailsFromGridOptions(K_,"agDetailCellRenderer",Z,!0)}function o2(J,Z,$){return J.getCompDetails(Z,q_,void 0,$)}function K$(J,Z,$){return J.getCompDetails(Z,H_,"agSkeletonCellRenderer",$,!0)}function RY(J,Z,$){return J.getCompDetails(Z,__,"agCellEditor",$,!0)}function p8(J,Z,$,X){let Y=Z.filter;if(AY(Y))Z={filter:Y.component,filterParams:Z.filterParams};return J.getCompDetails(Z,c8,X,$,!0)}function R_(J,Z){return J.getCompDetails(Z.colDef,z_,"agTooltipComponent",Z,!0)}function i8(J,Z,$,X){return J.getCompDetails(Z,U_,X,$)}function OY(J,Z){return MY(J,Z,c8)}function M7(J,Z,$){return J.mergeParams(Z,c8,$)}var _Z=((J)=>{return J[J.ToolPanel=0]="ToolPanel",J[J.HeaderCell=1]="HeaderCell",J[J.RowDrag=2]="RowDrag",J[J.ChartPanel=3]="ChartPanel",J[J.AdvancedFilterBuilder=4]="AdvancedFilterBuilder",J})(_Z||{}),O_=class extends aH{createEvent(J){return x(this.gos,J)}createDragImageComp(J){let{gos:Z,beans:$}=this;return E_($.userCompFactory,x(Z,{dragSource:J}))?.newAgStackInstance()}handleEnter(J,Z){J?.onGridEnter?.(Z)}handleExit(J,Z){J?.onGridExit?.(Z)}warnNoBody(){O(54)}isDropZoneWithinThisGrid(J){return this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody.contains(J.dropZoneTarget)}registerGridDropTarget(J,Z){let $={getContainer:J,isInterestedIn:(X)=>X===1||X===0,getIconName:()=>"notAllowed"};this.addDropTarget($),Z.addDestroyFunc(()=>this.removeDropTarget($))}};var SY="ag-resizer-wrapper",sZ=(J,Z)=>({tag:"div",ref:`${J}Resizer`,cls:`ag-resizer ag-resizer-${Z}`}),S_={tag:"div",cls:SY,children:[sZ("eTopLeft","topLeft"),sZ("eTop","top"),sZ("eTopRight","topRight"),sZ("eRight","right"),sZ("eBottomRight","bottomRight"),sZ("eBottom","bottom"),sZ("eBottomLeft","bottomLeft"),sZ("eLeft","left")]},d8=class extends RJ{constructor(J,Z){super();this.element=J,this.dragStartPosition={x:0,y:0},this.position={x:0,y:0},this.lastSize={width:-1,height:-1},this.positioned=!1,this.resizersAdded=!1,this.resizeListeners=[],this.boundaryEl=null,this.isResizing=!1,this.isMoving=!1,this.resizable={},this.movable=!1,this.currentResizer=null,this.config={popup:!1,...Z}}wireBeans(J){this.popupSvc=J.popupSvc,this.dragSvc=J.dragSvc}center(J){let{clientHeight:Z,clientWidth:$}=this.offsetParent,X=$/2-this.getWidth()/2,Y=Z/2-this.getHeight()/2;this.offsetElement(X,Y,J)}initialisePosition(J){if(this.positioned)return;let{centered:Z,forcePopupParentAsOffsetParent:$,minWidth:X,width:Y,minHeight:Q,height:q,x:H,y:_}=this.config;if(!this.offsetParent)this.setOffsetParent();let z=0,U=0,W=AJ(this.element);if(W){let G=this.findBoundaryElement(),B=window.getComputedStyle(G);if(B.minWidth!=null){let K=G.offsetWidth-this.element.offsetWidth;U=Number.parseInt(B.minWidth,10)-K}if(B.minHeight!=null){let K=G.offsetHeight-this.element.offsetHeight;z=Number.parseInt(B.minHeight,10)-K}}if(this.minHeight=Q||z,this.minWidth=X||U,Y)this.setWidth(Y);if(q)this.setHeight(q);if(!Y||!q)this.refreshSize();if(Z)this.center(J);else if(H||_)this.offsetElement(H,_,J);else if(W&&$){let G=this.boundaryEl,B=!0;if(!G)G=this.findBoundaryElement(),B=!1;if(G){let K=Number.parseFloat(G.style.top),E=Number.parseFloat(G.style.left);if(B)this.offsetElement(Number.isNaN(E)?0:E,Number.isNaN(K)?0:K,J);else this.setPosition(E,K)}}this.positioned=!!this.offsetParent}isPositioned(){return this.positioned}getPosition(){return this.position}setMovable(J,Z){if(!this.config.popup||J===this.movable)return;this.movable=J;let $=this.moveElementDragListener||{eElement:Z,onDragStart:this.onMoveStart.bind(this),onDragging:this.onMove.bind(this),onDragStop:this.onMoveEnd.bind(this)};if(J)this.dragSvc?.addDragSource($),this.moveElementDragListener=$;else this.dragSvc?.removeDragSource($),this.moveElementDragListener=void 0}setResizable(J){if(this.clearResizeListeners(),J)this.addResizers();else this.removeResizers();if(typeof J==="boolean"){if(J===!1)return;J={topLeft:J,top:J,topRight:J,right:J,bottomRight:J,bottom:J,bottomLeft:J,left:J}}for(let Z of Object.keys(J)){let $=!!J[Z],X=this.getResizerElement(Z),Y={dragStartPixels:0,eElement:X,onDragStart:(Q)=>this.onResizeStart(Q,Z),onDragging:this.onResize.bind(this),onDragStop:(Q)=>this.onResizeEnd(Q,Z)};if($||!this.isAlive()&&!$){if($)this.dragSvc?.addDragSource(Y),this.resizeListeners.push(Y),X.style.pointerEvents="all";else X.style.pointerEvents="none";this.resizable[Z]=$}}}removeSizeFromEl(){this.element.style.removeProperty("height"),this.element.style.removeProperty("width"),this.element.style.removeProperty("flex")}restoreLastSize(){this.element.style.flex="0 0 auto";let{height:J,width:Z}=this.lastSize;if(Z!==-1)this.element.style.width=`${Z}px`;if(J!==-1)this.element.style.height=`${J}px`}getHeight(){return this.element.offsetHeight}setHeight(J){let{popup:Z}=this.config,$=this.element,X=!1;if(typeof J==="string"&&J.includes("%"))w2($,J),J=vX($),X=!0;else if(J=Math.max(this.minHeight,J),this.positioned){let Y=this.getAvailableHeight();if(Y&&J>Y)J=Y}if(this.getHeight()===J)return;if(X)$.style.maxHeight="unset",$.style.minHeight="unset";else if(Z)w2($,J);else $.style.height=`${J}px`,$.style.flex="0 0 auto",this.lastSize.height=typeof J==="number"?J:Number.parseFloat(J)}getAvailableHeight(){let{popup:J,forcePopupParentAsOffsetParent:Z}=this.config;if(!this.positioned)this.initialisePosition();let{clientHeight:$}=this.offsetParent;if(!$)return null;let X=this.element.getBoundingClientRect(),Y=this.offsetParent.getBoundingClientRect(),Q=J?this.position.y:X.top,q=J?0:Y.top,H=0;if(Z){let z=this.element.parentElement;if(z){let{bottom:U}=z.getBoundingClientRect();H=U-X.bottom}}return $+q-Q-H}getWidth(){return this.element.offsetWidth}setWidth(J){let Z=this.element,{popup:$}=this.config,X=!1;if(typeof J==="string"&&J.includes("%"))SZ(Z,J),J=IX(Z),X=!0;else if(this.positioned){J=Math.max(this.minWidth,J);let{clientWidth:Y}=this.offsetParent,Q=$?this.position.x:this.element.getBoundingClientRect().left;if(Y&&J+Q>Y)J=Y-Q}if(this.getWidth()===J)return;if(X)Z.style.maxWidth="unset",Z.style.minWidth="unset";else if(this.config.popup)SZ(Z,J);else Z.style.width=`${J}px`,Z.style.flex=" unset",this.lastSize.width=typeof J==="number"?J:Number.parseFloat(J)}offsetElement(J=0,Z=0,$){let{forcePopupParentAsOffsetParent:X}=this.config,Y=X?this.boundaryEl:this.element;if(!Y)return;this.popupSvc?.positionPopup({ePopup:Y,keepWithinBounds:!0,skipObserver:this.movable||this.isResizable(),updatePosition:()=>({x:J,y:Z}),postProcessCallback:$}),this.setPosition(Number.parseFloat(Y.style.left),Number.parseFloat(Y.style.top))}constrainSizeToAvailableHeight(J){if(!this.config.forcePopupParentAsOffsetParent)return;let Z=()=>{let $=this.getAvailableHeight();this.element.style.setProperty("max-height",`${$}px`)};if(J&&this.popupSvc)this.resizeObserverSubscriber?.(),this.resizeObserverSubscriber=DZ(this.beans,this.popupSvc?.getPopupParent(),Z);else if(this.element.style.removeProperty("max-height"),this.resizeObserverSubscriber)this.resizeObserverSubscriber(),this.resizeObserverSubscriber=void 0}setPosition(J,Z){this.position.x=J,this.position.y=Z}updateDragStartPosition(J,Z){this.dragStartPosition={x:J,y:Z}}calculateMouseMovement(J){let{e:Z,isLeft:$,isTop:X,anywhereWithin:Y,topBuffer:Q}=J,q=Z.clientX-this.dragStartPosition.x,H=Z.clientY-this.dragStartPosition.y,_=this.shouldSkipX(Z,!!$,!!Y,q)?0:q,z=this.shouldSkipY(Z,!!X,Q,H)?0:H;return{movementX:_,movementY:z}}shouldSkipX(J,Z,$,X){let Y=this.element.getBoundingClientRect(),Q=this.offsetParent.getBoundingClientRect(),q=this.boundaryEl.getBoundingClientRect(),H=this.config.popup?this.position.x:Y.left,_=H<=0&&Q.left>=J.clientX||Q.right<=J.clientX&&Q.right<=q.right;if(_)return!0;if(Z)_=X<0&&J.clientX>H+Q.left||X>0&&J.clientXq.right||X>0&&J.clientXq.right||X>0&&J.clientX=J.clientY||Q.bottom<=J.clientY&&Q.bottom<=q.bottom;if(_)return!0;if(Z)_=X<0&&J.clientY>H+Q.top+$||X>0&&J.clientYq.bottom||X>0&&J.clientY({element:this.element.querySelector(`[data-ref=${Z}Resizer]`)});this.resizerMap={topLeft:J("eTopLeft"),top:J("eTop"),topRight:J("eTopRight"),right:J("eRight"),bottomRight:J("eBottomRight"),bottom:J("eBottom"),bottomLeft:J("eBottomLeft"),left:J("eLeft")}}addResizers(){if(this.resizersAdded)return;let J=this.element;if(!J)return;J.appendChild(EJ(S_)),this.createResizeMap(),this.resizersAdded=!0}removeResizers(){this.resizerMap=void 0,this.element.querySelector(`.${SY}`)?.remove(),this.resizersAdded=!1}getResizerElement(J){return this.resizerMap[J].element}onResizeStart(J,Z){if(this.boundaryEl=this.findBoundaryElement(),!this.positioned)this.initialisePosition();this.currentResizer={isTop:!!Z.match(/top/i),isRight:!!Z.match(/right/i),isBottom:!!Z.match(/bottom/i),isLeft:!!Z.match(/left/i)},this.element.classList.add("ag-resizing"),this.resizerMap[Z].element.classList.add("ag-active");let{popup:$,forcePopupParentAsOffsetParent:X}=this.config;if(!$&&!X)this.applySizeToSiblings(this.currentResizer.isBottom||this.currentResizer.isTop);this.isResizing=!0,this.updateDragStartPosition(J.clientX,J.clientY)}getSiblings(){let Z=this.element.parentElement;if(!Z)return null;return Array.prototype.slice.call(Z.children).filter(($)=>!$.classList.contains("ag-hidden"))}getMinSizeOfSiblings(){let J=this.getSiblings()||[],Z=0,$=0;for(let X of J){let Y=!!X.style.flex&&X.style.flex!=="0 0 auto";if(X===this.element)continue;let Q=this.minHeight||0,q=this.minWidth||0;if(Y){let H=window.getComputedStyle(X);if(H.minHeight)Q=Number.parseInt(H.minHeight,10);if(H.minWidth)q=Number.parseInt(H.minWidth,10)}else Q=X.offsetHeight,q=X.offsetWidth;Z+=Q,$+=q}return{height:Z,width:$}}applySizeToSiblings(J){let Z=null,$=this.getSiblings();if(!$)return;for(let X=0;X<$.length;X++){let Y=$[X];if(Y===Z)continue;if(J)Y.style.height=`${Y.offsetHeight}px`;else Y.style.width=`${Y.offsetWidth}px`;if(Y.style.flex="0 0 auto",Y===this.element)Z=$[X+1]}if(Z)Z.style.removeProperty("height"),Z.style.removeProperty("min-height"),Z.style.removeProperty("max-height"),Z.style.flex="1 1 auto"}isResizable(){return Object.values(this.resizable).some((J)=>J)}onResize(J){if(!this.isResizing||!this.currentResizer)return;let{popup:Z,forcePopupParentAsOffsetParent:$}=this.config,{isTop:X,isRight:Y,isBottom:Q,isLeft:q}=this.currentResizer,H=Y||q,_=Q||X,{movementX:z,movementY:U}=this.calculateMouseMovement({e:J,isLeft:q,isTop:X}),W=this.position.x,G=this.position.y,B=0,K=0;if(H&&z){let E=q?-1:1,L=this.getWidth(),F=L+z*E,D=!1;if(q){if(B=L-F,W+B<=0||F<=this.minWidth)D=!0,B=0}if(!D)this.setWidth(F)}if(_&&U){let E=X?-1:1,L=this.getHeight(),F=L+U*E,D=!1;if(X){if(K=L-F,G+K<=0||F<=this.minHeight)D=!0,K=0}else if(!this.config.popup&&!this.config.forcePopupParentAsOffsetParent&&Lthis.element.parentElement.offsetHeight)D=!0;if(!D)this.setHeight(F)}if(this.updateDragStartPosition(J.clientX,J.clientY),(Z||$)&&B||K)this.offsetElement(W+B,G+K)}onResizeEnd(J,Z){this.isResizing=!1,this.currentResizer=null,this.boundaryEl=null,this.element.classList.remove("ag-resizing"),this.resizerMap[Z].element.classList.remove("ag-active"),this.dispatchLocalEvent({type:"resize"})}refreshSize(){let J=this.element;if(this.config.popup){if(!this.config.width)this.setWidth(J.offsetWidth);if(!this.config.height)this.setHeight(J.offsetHeight)}}onMoveStart(J){if(this.boundaryEl=this.findBoundaryElement(),!this.positioned)this.initialisePosition();this.isMoving=!0,this.element.classList.add("ag-moving"),this.updateDragStartPosition(J.clientX,J.clientY)}onMove(J){if(!this.isMoving)return;let{x:Z,y:$}=this.position,X;if(this.config.calculateTopBuffer)X=this.config.calculateTopBuffer();let{movementX:Y,movementY:Q}=this.calculateMouseMovement({e:J,isTop:!0,anywhereWithin:!0,topBuffer:X});this.offsetElement(Z+Y,$+Q),this.updateDragStartPosition(J.clientX,J.clientY)}onMoveEnd(){this.isMoving=!1,this.boundaryEl=null,this.element.classList.remove("ag-moving")}setOffsetParent(){if(this.config.forcePopupParentAsOffsetParent&&this.popupSvc)this.offsetParent=this.popupSvc.getPopupParent();else this.offsetParent=this.element.offsetParent}findBoundaryElement(){let J=this.element;while(J){if(window.getComputedStyle(J).position!=="static")return J;J=J.parentElement}return this.element}clearResizeListeners(){while(this.resizeListeners.length){let J=this.resizeListeners.pop();this.dragSvc?.removeDragSource(J)}}destroy(){if(super.destroy(),this.moveElementDragListener)this.dragSvc?.removeDragSource(this.moveElementDragListener);this.constrainSizeToAvailableHeight(!1),this.clearResizeListeners(),this.removeResizers()}},W5=class extends d8{},S=null;function b6(J){return typeof J?.getGui==="function"}var fY=class{constructor(J){this.cssClassStates={},this.getGui=J}toggleCss(J,Z){if(!J)return;if(J.includes(" ")){let X=(J||"").split(" ");if(X.length>1){for(let Y of X)this.toggleCss(Y,Z);return}}if(this.cssClassStates[J]!==Z&&J.length)this.getGui()?.classList.toggle(J,Z),this.cssClassStates[J]=Z}},f_=0,pJ=class extends RJ{constructor(J,Z){super();if(this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=f_++,this.cssManager=new fY(()=>this.eGui),this.componentSelectors=new Map((Z??[]).map(($)=>[$.selector,$])),J)this.setTemplate(J)}preConstruct(){this.wireTemplate(this.getGui()),this.addGlobalCss()}wireTemplate(J,Z){if(J&&this.gos)this.applyElementsToComponent(J),this.createChildComponentsFromTags(J,Z)}getCompId(){return this.compId}getDataRefAttribute(J){if(J.getAttribute)return J.getAttribute(gX);return null}applyElementsToComponent(J,Z,$,X=null){if(Z===void 0)Z=this.getDataRefAttribute(J);if(Z){let Y=this[Z];if(Y===S)this[Z]=X??J;else{let Q=$?.[Z];if(!this.suppressDataRefValidation&&!Q)throw Error(`data-ref: ${Z} on ${this.constructor.name} with ${Y}`)}}}createChildComponentsFromTags(J,Z){let $=[];for(let X of J.childNodes??[])$.push(X);for(let X of $){if(!(X instanceof HTMLElement))continue;let Y=this.createComponentFromElement(X,(Q)=>{let q=Q.getGui();if(q)for(let H of X.attributes??[])q.setAttribute(H.name,H.value)},Z);if(Y){if(Y.addItems&&X.children.length){this.createChildComponentsFromTags(X,Z);let Q=Array.prototype.slice.call(X.children);Y.addItems(Q)}this.swapComponentForNode(Y,J,X)}else if(X.childNodes)this.createChildComponentsFromTags(X,Z)}}createComponentFromElement(J,Z,$){let X=J.nodeName,Y=this.getDataRefAttribute(J),Q=X.indexOf("AG-")===0,q=Q?this.componentSelectors.get(X):null,H=null;if(q){let _=$&&Y?$[Y]:void 0;H=new q.component(_),H.setParentComponent(this),this.createBean(H,null,Z)}else if(Q)throw Error(`selector: ${X}`);return this.applyElementsToComponent(J,Y,$,H),H}swapComponentForNode(J,Z,$){let X=J.getGui();Z.replaceChild(X,$),Z.insertBefore(document.createComment($.nodeName),X),this.addDestroyFunc(this.destroyBean.bind(this,J))}activateTabIndex(J,Z){let $=Z??this.gos.get("tabIndex");if(!J)J=[];if(!J.length)J.push(this.getGui());for(let X of J)X.setAttribute("tabindex",$.toString())}setTemplate(J,Z,$){let X;if(typeof J==="string"||J==null)X=P8(J);else X=EJ(J);this.setTemplateFromElement(X,Z,$)}setTemplateFromElement(J,Z,$,X=!1){if(this.eGui=J,this.suppressDataRefValidation=X,Z)for(let Y=0;Ythis.eGui.removeEventListener(J,Z))}addCss(J){this.cssManager.toggleCss(J,!0)}removeCss(J){this.cssManager.toggleCss(J,!1)}toggleCss(J,Z){this.cssManager.toggleCss(J,Z)}registerCSS(J){if(this.css===E$)this.css=[J],this.addGlobalCss();else this.css||(this.css=[]),this.css.push(J)}addGlobalCss(){if(Array.isArray(this.css)){let J="component-"+Object.getPrototypeOf(this)?.constructor?.name;for(let Z of this.css??[])this.beans.environment.addGlobalCSS(Z,J)}this.css=E$}},E$=Symbol(),y=class extends pJ{},R7,O7,S7,f7,Y8,Q8,P7;function c0(){if(R7===void 0)R7=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return R7}function C6(){if(O7===void 0)O7=/(firefox)/i.test(navigator.userAgent);return O7}function PY(){if(S7===void 0)S7=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);return S7}function C0(){if(f7===void 0)f7=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1;return f7}function q8(J){if(!J)return null;let Z=J.tabIndex,$=J.getAttribute("tabIndex");if(Z===-1&&($===null||$===""&&!C6()))return null;return Z.toString()}function P_(){if(P7!==void 0)return P7;if(!document.body)return-1;let J=1e6,Z=C6()?6000000:1e9,$=document.createElement("div");document.body.appendChild($);while(!0){let X=J*2;if($.style.height=X+"px",X>Z||$.clientHeight!==X)break;else J=X}return $.remove(),P7=J,J}function n8(){if(Q8==null)TY();return Q8}function TY(){let J=document.body,Z=document.createElement("div");Z.style.width=Z.style.height="100px",Z.style.opacity="0",Z.style.overflow="scroll",Z.style.msOverflowStyle="scrollbar",Z.style.position="absolute",J.appendChild(Z);let $=Z.offsetWidth-Z.clientWidth;if($===0&&Z.clientWidth===0)$=null;if(Z.parentNode)Z.remove();if($!=null)Q8=$,Y8=$===0}function vY(){if(Y8==null)TY();return Y8}var H8=!1,Q6=0;function T_(J){if(Q6>0)return;J.addEventListener("keydown",q6),J.addEventListener("mousedown",q6)}function v_(J){if(Q6>0)return;J.removeEventListener("keydown",q6),J.removeEventListener("mousedown",q6)}function q6(J){let Z=H8,$=J.type==="keydown";if($){if(J.ctrlKey||J.metaKey||J.altKey)return}if(Z===$)return;H8=$}function I_(J){let Z=qJ(J);return T_(Z),Q6++,()=>{Q6--,v_(Z)}}function j2(){return H8}function KZ(J,Z,$=!1){let X=gq,Y=TX;if(Z)Y+=", "+Z;if($)Y+=', [tabindex="-1"]';let Q=Array.prototype.slice.apply(J.querySelectorAll(X)).filter((_)=>{return AJ(_)}),q=Array.prototype.slice.apply(J.querySelectorAll(Y));if(!q.length)return Q;return((_,z)=>_.filter((U)=>z.indexOf(U)===-1))(Q,q)}function DJ(J,Z=!1,$=!1,X=!1){let Y=KZ(J,X?".ag-tab-guard":null,$),Q=Z?C(Y):Y[0];if(Q)return Q.focus({preventScroll:!0}),!0;return!1}function OJ(J,Z,$,X){let Y=KZ(Z,$?':not([tabindex="-1"])':null),Q=n(J),q;if($)q=Y.findIndex((_)=>_.contains(Q));else q=Y.indexOf(Q);let H=q+(X?-1:1);if(H<0||H>=Y.length)return null;return Y[H]}function x6(J,Z=5){let $=0;while(J&&q8(J)===null&&++$<=Z)J=J.parentElement;if(q8(J)===null)return null;return J}var s8="ag-focus-managed",IY=class extends RJ{constructor(J,Z={isStopPropagation:()=>!1,stopPropagation:()=>{}},$={}){super();this.eFocusable=J,this.stopPropagationCallbacks=Z,this.callbacks=$,this.callbacks={shouldStopEventPropagation:()=>!1,onTabKeyDown:(X)=>{if(X.defaultPrevented)return;let Y=OJ(this.beans,this.eFocusable,!1,X.shiftKey);if(!Y)return;Y.focus(),X.preventDefault()},...$}}postConstruct(){let{eFocusable:J,callbacks:{onFocusIn:Z,onFocusOut:$}}=this;if(J.classList.add(s8),this.addKeyDownListeners(J),Z)this.addManagedElementListeners(J,{focusin:Z});if($)this.addManagedElementListeners(J,{focusout:$})}addKeyDownListeners(J){this.addManagedElementListeners(J,{keydown:(Z)=>{if(Z.defaultPrevented||this.stopPropagationCallbacks.isStopPropagation(Z))return;let{callbacks:$}=this;if($.shouldStopEventPropagation(Z)){this.stopPropagationCallbacks.stopPropagation(Z);return}if(Z.key===V.TAB)$.onTabKeyDown(Z);else if($.handleKeyDown)$.handleKeyDown(Z)}})}},bY="__ag_Grid_Stop_Propagation";function iJ(J){J[bY]=!0}function ZZ(J){return J[bY]===!0}var W0={isStopPropagation:ZZ,stopPropagation:iJ},cZ=class extends IY{constructor(J,Z){super(J,W0,Z)}},b_={applyFilter:"Apply",clearFilter:"Clear",resetFilter:"Reset",cancelFilter:"Cancel",textFilter:"Text Filter",numberFilter:"Number Filter",bigintFilter:"BigInt Filter",dateFilter:"Date Filter",setFilter:"Set Filter",filterOoo:"Filter...",empty:"Choose one",equals:"Equals",notEqual:"Does not equal",lessThan:"Less than",greaterThan:"Greater than",inRange:"Between",inRangeStart:"From",inRangeEnd:"To",lessThanOrEqual:"Less than or equal to",greaterThanOrEqual:"Greater than or equal to",contains:"Contains",notContains:"Does not contain",startsWith:"Begins with",endsWith:"Ends with",blank:"Blank",notBlank:"Not blank",before:"Before",after:"After",andCondition:"AND",orCondition:"OR",dateFormatOoo:"yyyy-mm-dd",filterSummaryInactive:"is (All)",filterSummaryContains:"contains",filterSummaryNotContains:"does not contain",filterSummaryTextEquals:"equals",filterSummaryTextNotEqual:"does not equal",filterSummaryStartsWith:"begins with",filterSummaryEndsWith:"ends with",filterSummaryBlank:"is blank",filterSummaryNotBlank:"is not blank",filterSummaryEquals:"=",filterSummaryNotEqual:"!=",filterSummaryGreaterThan:">",filterSummaryGreaterThanOrEqual:">=",filterSummaryLessThan:"<",filterSummaryLessThanOrEqual:"<=",filterSummaryInRange:"between",yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",last7Days:"Last 7 Days",lastWeek:"Last Week",thisWeek:"This Week",nextWeek:"Next Week",last30Days:"Last 30 Days",lastMonth:"Last Month",thisMonth:"This Month",nextMonth:"Next Month",last90Days:"Last 90 Days",lastQuarter:"Last Quarter",thisQuarter:"This Quarter",nextQuarter:"Next Quarter",lastYear:"Last Year",thisYear:"This Year",yearToDate:"Year To Date",nextYear:"Next Year",last6Months:"Last 6 Months",last12Months:"Last 12 Months",last24Months:"Last 24 Months",filterSummaryInRangeValues:(J)=>`(${J[0]}, ${J[1]})`,filterSummaryTextQuote:(J)=>`"${J[0]}"`,minDateValidation:(J)=>`Date must be after ${J[0]}`,maxDateValidation:(J)=>`Date must be before ${J[0]}`,strictMinValueValidation:(J)=>`Must be greater than ${J[0]}`,strictMaxValueValidation:(J)=>`Must be less than ${J[0]}`};function CY(J,Z,$){return oq(J,b_,Z,$)}function C_(J,Z){let{debounceMs:$}=J;if(G5(J)){if($!=null)O(71);return 0}return $??Z}function G5(J){return(J.buttons?.indexOf("apply")??-1)>=0}var y6=class extends y{constructor(J,Z){super();this.filterNameKey=J,this.cssIdentifier=Z,this.applyActive=!1,this.debouncePending=!1,this.defaultDebounceMs=0}postConstruct(){let J={tag:"div",cls:`ag-filter-body-wrapper ag-${this.cssIdentifier}-body-wrapper`,children:[this.createBodyTemplate()]};this.setTemplate(J,this.getAgComponents()),this.createManagedBean(new cZ(this.getFocusableElement(),{handleKeyDown:this.handleKeyDown.bind(this)})),this.positionableFeature=this.createBean(new W5(this.getPositionableElement(),{forcePopupParentAsOffsetParent:!0}))}handleKeyDown(J){}init(J){let Z=J;this.setParams(Z),this.setModelIntoUi(Z.state.model,!0).then(()=>this.updateUiVisibility())}areStatesEqual(J,Z){return J===Z}refresh(J){let Z=J,$=this.params;this.params=Z;let{source:X,state:Y,additionalEventAttributes:Q}=Z;if(X==="colDef")this.updateParams(Z,$);let q=this.state;this.state=Y;let H=Q?.fromAction;if(H&&H!=="apply"||Y.model!==q.model||!this.areStatesEqual(Y.state,q.state))this.setModelIntoUi(Y.model);return!0}setParams(J){this.params=J,this.state=J.state,this.commonUpdateParams(J)}updateParams(J,Z){this.commonUpdateParams(J,Z)}commonUpdateParams(J,Z){this.applyActive=G5(J),this.setupApplyDebounced()}doesFilterPass(J){O(283);let{getHandler:Z,model:$,column:X}=this.params;return Z().doesFilterPass({...J,model:$,handlerParams:this.beans.colFilter.getHandlerParams(X)})}getFilterTitle(){return this.translate(this.filterNameKey)}isFilterActive(){return O(284),this.params.model!=null}setupApplyDebounced(){let J=C_(this.params,this.defaultDebounceMs),Z=gZ(this,this.checkApplyDebounce.bind(this),J);this.applyDebounced=()=>{this.debouncePending=!0,Z()}}checkApplyDebounce(){if(this.debouncePending)this.debouncePending=!1,this.doApplyModel()}getModel(){return O(285),this.params.model}setModel(J){O(286);let{beans:Z,params:$}=this;return Z.colFilter.setModelForColumnLegacy($.column,J)}applyModel(J="api"){return this.doApplyModel()}canApply(J){return!0}doApplyModel(J){let{params:Z,state:{valid:$=!0,model:X}}=this;if(!$)return!1;let Y=!this.areModelsEqual(Z.model,X);if(Y)Z.onAction("apply",J);return Y}onNewRowsLoaded(){}onUiChanged(J,Z=!1){this.updateUiVisibility();let $=this.getModelFromUi(),X={model:$,state:this.getState(),valid:this.canApply($)};this.state=X;let{params:Y,gos:Q,eventSvc:q,applyActive:H}=this;if(Y.onStateChange(X),Y.onUiChange(this.getUiChangeEventParams()),!Q.get("enableFilterHandlers"))q.dispatchEvent({type:"filterModified",column:Y.column,filterInstance:this});if(!X.valid)return;if(J??(J=H?void 0:"debounce"),J==="immediately")this.doApplyModel({afterFloatingFilter:Z,afterDataChange:!1});else if(J==="debounce")this.applyDebounced()}getState(){return}getUiChangeEventParams(){return}afterGuiAttached(J){this.lastContainerType=J?.container,this.refreshFilterResizer(J?.container)}refreshFilterResizer(J){let{positionableFeature:Z,gos:$}=this;if(!Z)return;let X=J==="floatingFilter"||J==="columnFilter";if(X)Z.restoreLastSize(),Z.setResizable($.get("enableRtl")?{bottom:!0,bottomLeft:!0,left:!0}:{bottom:!0,bottomRight:!0,right:!0});else Z.removeSizeFromEl(),Z.setResizable(!1);Z.constrainSizeToAvailableHeight(X)}afterGuiDetached(){this.checkApplyDebounce(),this.positionableFeature?.constrainSizeToAvailableHeight(!1)}destroy(){this.positionableFeature=this.destroyBean(this.positionableFeature),super.destroy()}translate(J,Z){return CY(this,J,Z)}getPositionableElement(){return this.getGui()}areModelsEqual(J,Z){if(J===Z||J==null&&Z==null)return!0;if(J==null||Z==null)return!1;return this.areNonNullModelsEqual(J,Z)}};var r8=class extends pJ{isPopup(){return!0}setParentComponent(J){J.addCss("ag-has-popup"),super.setParentComponent(J)}destroy(){let J=this.parentComponent;if(J?.isAlive())J.getGui().classList.remove("ag-has-popup");super.destroy()}},x_=class extends r8{constructor(){super(...arguments);this.errorMessages=null}init(J){this.params=J,this.initialiseEditor(J),this.eEditor.onValueChange(()=>J.validate())}destroy(){this.eEditor.destroy(),this.errorMessages=null,super.destroy()}};function t8(J){let Z=J.rowModel;return Z.getType()==="clientSide"?Z:void 0}var L$="row-group-",y_="t-",N_="b-",w_=0,G0=class{constructor(J){this.id=void 0,this.destroyed=!1,this._groupData=void 0,this.master=!1,this.detail=void 0,this.rowIndex=null,this.field=null,this.rowGroupColumn=null,this.key=null,this.sourceRowIndex=-1,this._leafs=void 0,this.childrenAfterGroup=null,this.childrenAfterFilter=null,this.childrenAfterAggFilter=null,this.childrenAfterSort=null,this.allChildrenCount=null,this.childrenMapped=null,this.treeParent=null,this.treeNodeFlags=0,this._expanded=void 0,this.displayed=!1,this.rowTop=null,this.oldRowTop=null,this.selectable=!0,this.__objectId=w_++,this.alreadyRendered=!1,this.formulaRowIndex=null,this.hovered=!1,this.__selected=!1,this.beans=J}get groupData(){let J=this._groupData;if(J!==void 0)return J;if(this.footer)return this.sibling?.groupData;return this.beans.groupStage?.loadGroupData(this)??null}set groupData(J){this._groupData=J}get primaryRow(){let J=this.footer&&this.sibling?this.sibling:this,{pinnedSibling:Z}=J;if(Z&&J.rowPinned){if(J=Z,J.footer&&J.sibling)J=J.sibling}return J}get allLeafChildren(){let J=this._leafs;return J===void 0?this.beans.groupStage?.loadLeafs?.(this)??null:J}set allLeafChildren(J){this._leafs=J}get expanded(){let J=this.beans.expansionSvc;return J?J.isExpanded(this):this.level===-1?!0:!!this._expanded}set expanded(J){this._expanded=J}setData(J){this.setDataCommon(J,!1)}updateData(J){this.setDataCommon(J,!0)}setDataCommon(J,Z){let{valueCache:$,eventSvc:X}=this.beans,Y=this.data;this.data=J,$?.onDataChanged(),this.updateDataOnDetailNode(),this.resetQuickFilterAggregateText();let Q=this.createDataChangedEvent(J,Y,Z);if(this.__localEventService?.dispatchEvent(Q),this.sibling){this.sibling.data=J;let H=this.sibling.createDataChangedEvent(J,Y,Z);this.sibling.__localEventService?.dispatchEvent(H)}X.dispatchEvent({type:"rowNodeDataChanged",node:this});let q=this.pinnedSibling;if(q)q.data=J,q.__localEventService?.dispatchEvent(q.createDataChangedEvent(J,Y,Z)),X.dispatchEvent({type:"rowNodeDataChanged",node:q})}updateDataOnDetailNode(){let J=this.detailNode;if(J)J.data=this.data}createDataChangedEvent(J,Z,$){return{type:"dataChanged",node:this,oldData:Z,newData:J,update:$}}getRowIndexString(){if(this.rowIndex==null)return e(13),null;if(this.rowPinned==="top")return y_+this.rowIndex;if(this.rowPinned==="bottom")return N_+this.rowIndex;return this.rowIndex.toString()}setDataAndId(J,Z){let{selectionSvc:$}=this.beans,X=$?.createDaemonNode?.(this),Y=this.data;if(this.data=J,this.updateDataOnDetailNode(),this.setId(Z),$)$.updateRowSelectable(this),$.syncInRowNode(this,X);let Q=this.createDataChangedEvent(J,Y,!1);this.__localEventService?.dispatchEvent(Q)}setId(J){let Z=Z8(this.beans.gos);if(Z)if(this.data){let $=this.parent?.getRoute()??[];if(this.id=Z({data:this.data,parentKeys:$.length>0?$:void 0,level:this.level,rowPinned:this.rowPinned}),this.id.startsWith(L$))e(14,{groupPrefix:L$})}else this.id=void 0;else this.id=J}setRowTop(J){if(this.oldRowTop=this.rowTop,this.rowTop===J)return;this.rowTop=J,this.dispatchRowEvent("topChanged");let Z=J!==null;if(this.displayed!==Z)this.displayed=Z,this.dispatchRowEvent("displayedChanged")}clearRowTopAndRowIndex(){this.oldRowTop=null,this.setRowTop(null),this.setRowIndex(null)}setHovered(J){this.hovered=J}isHovered(){return this.hovered}setRowHeight(J,Z=!1){this.rowHeight=J,this.rowHeightEstimated=Z,this.dispatchRowEvent("heightChanged")}setExpanded(J,Z,$){this.beans.expansionSvc?.setExpanded(this,J,Z,$)}setDataValue(J,Z,$){let{colModel:X,valueSvc:Y,gos:Q,editSvc:q}=this.beans;if(J==null)return!1;let H=X.getCol(J)??X.getColDefCol(J);if(!H)return!1;if(!this.group){let U=H.getColDef();if(U.pivotValueColumn)H=U.pivotValueColumn}let _=Y.getValueForDisplay({column:H,node:this,from:"data"}).value;if(Q.get("readOnlyEdit")){let{beans:{eventSvc:U},data:W,rowIndex:G,rowPinned:B}=this;return U.dispatchEvent({type:"cellEditRequest",event:null,rowIndex:G,rowPinned:B,column:H,colDef:H.colDef,data:W,node:this,oldValue:_,newValue:Z,value:Z,source:$}),!1}if($!=="data"&&q&&!q.committing){let U=q.setDataValue({rowNode:this,column:H},Z,$);if(U!=null)return U}let z=Y.setValue(this,H,Z,$);if(this.dispatchCellChangedEvent(H,Z,_),z)this.pinnedSibling?.dispatchCellChangedEvent(H,Z,_);return z}getDataValue(J,Z="data"){let{colModel:$,valueSvc:X,formula:Y}=this.beans;if(J==null)return;let Q=$.getCol(J)??$.getColDefCol(J);if(!Q)return;let q=Z==="data-raw",H=q||Z==="value"?"data":Z,_=X.getValue(Q,this,H,q);if(!q){if(Y&&Q.isAllowFormula()&&Y.isFormula(_))_=Y.resolveValue(Q,this);if(Z!=="data"&&Q.getAggFunc()&&typeof _==="object"&&_!=null){if(typeof _.toNumber==="function")return _.toNumber();if("value"in _)return _.value}}return _}updateHasChildren(){let J=this.group&&!this.footer||!!this.childrenAfterGroup?.length,{rowChildrenSvc:Z}=this.beans;if(Z)J=Z.getHasChildrenValue(this);if(J!==this.__hasChildren)this.__hasChildren=!!J,this.dispatchRowEvent("hasChildrenChanged")}hasChildren(){if(this.__hasChildren==null)this.updateHasChildren();return this.__hasChildren}dispatchCellChangedEvent(J,Z,$){let X={type:"cellChanged",node:this,column:J,newValue:Z,oldValue:$};this.__localEventService?.dispatchEvent(X)}resetQuickFilterAggregateText(){this.quickFilterAggregateText=null}isExpandable(){return this.beans.expansionSvc?.isExpandable(this)??!1}isSelected(){if(this.footer)return this.sibling.isSelected();let J=this.rowPinned&&this.pinnedSibling;if(J)return J.isSelected();return this.__selected}depthFirstSearch(J){let Z=this.childrenAfterGroup;if(Z)for(let $=0,X=Z.length;${let $=new G0(Z);for(let X of Object.keys(J)){if(g_.has(X))continue;$[X]=J[X]}return $.oldRowTop=null,$},yY=(J,Z,$)=>{if(!$)return;let X=$.rowIndex;if(X==null)return;X+=Z;let Y=J.getRowCount();while(X>=0&&X{if(!C5)C5=new WeakSet;else if(C5.has(J))return!1;return C5.add(J),!0},hJ=class{constructor(J,Z=!1){this.eElement=J,this.preventClick=Z,this.startListener=null,this.handlers=[],this.eventSvc=void 0,this.touchStart=null,this.lastTapTime=null,this.longPressTimer=0,this.moved=!1}addEventListener(J,Z){let $=this.eventSvc;if(!$){if($===null)return;this.eventSvc=$=new EZ;let X=this.onTouchStart.bind(this);this.startListener=X,this.eElement.addEventListener("touchstart",X,{passive:!0})}$.addEventListener(J,Z)}removeEventListener(J,Z){this.eventSvc?.removeEventListener(J,Z)}onTouchStart(J){if(this.touchStart||!m_(J))return;let Z=J.touches[0];this.touchStart=Z;let $=this.handlers;if(!$.length){let X=this.eElement,Y=X.ownerDocument,Q=this.onTouchMove.bind(this),q=this.onTouchEnd.bind(this),H=this.onTouchCancel.bind(this),_={passive:!0},z={passive:!1};c5($,[X,"touchmove",Q,_],[Y,"touchcancel",H,_],[Y,"touchend",q,z],[Y,"contextmenu",$2,z])}this.clearLongPress(),this.longPressTimer=window.setTimeout(()=>{if(this.longPressTimer=0,this.touchStart===Z&&!this.moved)this.moved=!0,this.eventSvc?.dispatchEvent({type:"longTap",touchStart:Z,touchEvent:J})},u_)}onTouchMove(J){let{moved:Z,touchStart:$}=this;if(!Z&&$){let X=H2($,J.touches);if(X&&!hX(X,$,4))this.clearLongPress(),this.moved=!0}}onTouchEnd(J){let Z=this.touchStart;if(!Z||!H2(Z,J.changedTouches))return;if(!this.moved)this.eventSvc?.dispatchEvent({type:"tap",touchStart:Z}),this.checkDoubleTap(Z);if(this.preventClick)$2(J);this.cancel()}onTouchCancel(J){let Z=this.touchStart;if(!Z||!H2(Z,J.changedTouches))return;this.lastTapTime=null,this.cancel()}checkDoubleTap(J){let Z=Date.now(),$=this.lastTapTime;if($){if(Z-$>h_)this.eventSvc?.dispatchEvent({type:"doubleTap",touchStart:J}),Z=null}this.lastTapTime=Z}cancel(){this.clearLongPress(),T8(this.handlers),this.touchStart=null}clearLongPress(){window.clearTimeout(this.longPressTimer),this.longPressTimer=0,this.moved=!1}destroy(){let J=this.startListener;if(J)this.startListener=null,this.eElement.removeEventListener("touchstart",J);this.cancel(),this.eElement=null,this.eventSvc=null}},bZ=((J)=>{return J[J.VALUE=0]="VALUE",J[J.DIMENSION=1]="DIMENSION",J})(bZ||{}),c_=1,p_=class{constructor(J){if(this.beans={},this.createdBeans=[],this.destroyed=!1,this.instanceId=c_++,!J?.beanClasses)return;this.beanDestroyComparator=J.beanDestroyComparator,this.init(J)}init(J){this.id=J.id,this.beans.context=this,this.destroyCallback=J.destroyCallback;for(let Z of Object.keys(J.providedBeanInstances))this.beans[Z]=J.providedBeanInstances[Z];for(let Z of J.beanClasses){let $=new Z;if($.beanName)this.beans[$.beanName]=$;else console.error(`Bean ${Z.name} is missing beanName`);this.createdBeans.push($)}for(let Z of J.derivedBeans??[]){let{beanName:$,bean:X}=Z(this);this.beans[$]=X,this.createdBeans.push(X)}if(J.beanInitComparator)this.createdBeans.sort(J.beanInitComparator);this.initBeans(this.createdBeans)}getBeanInstances(){return Object.values(this.beans)}createBean(J,Z){return this.initBeans([J],Z),J}initBeans(J,Z){let $=this.beans;for(let X of J)X.preWireBeans?.($),X.wireBeans?.($);for(let X of J)X.preConstruct?.();if(Z)J.forEach(Z);for(let X of J)X.postConstruct?.()}getBeans(){return this.beans}getBean(J){return this.beans[J]}getId(){return this.id}destroy(){if(this.destroyed)return;this.destroyed=!0;let J=this.getBeanInstances();if(this.beanDestroyComparator)J.sort(this.beanDestroyComparator);this.destroyBeans(J),this.beans={},this.createdBeans=[],this.destroyCallback?.()}destroyBean(J){J?.destroy?.()}destroyBeans(J){if(J)for(let Z=0;Z[J,Z]));function n_(J,Z){let $=(J.beanName?F$[J.beanName]:void 0)??Number.MAX_SAFE_INTEGER,X=(Z.beanName?F$[Z.beanName]:void 0)??Number.MAX_SAFE_INTEGER;return $-X}function s_(J,Z){if(J?.beanName==="gridDestroySvc")return-1;if(Z?.beanName==="gridDestroySvc")return 1;return 0}function CZ(J){let{rowIndex:Z,rowPinned:$,column:X}=J;return`${Z}.${$==null?"null":$}.${X.getId()}`}function A2(J,Z){let $=J.column===Z.column,X=J.rowPinned===Z.rowPinned,Y=J.rowIndex===Z.rowIndex;return $&&X&&Y}function _J(J,Z){switch(J.rowPinned){case"top":if(Z.rowPinned!=="top")return!0;break;case"bottom":if(Z.rowPinned!=="bottom")return!1;break;default:if(T(Z.rowPinned))return Z.rowPinned!=="top";break}return J.rowIndexW.rowNode.rowIndex===Z.rowIndex),_=H?Q:q,z=($?-1:1)*(H?-1:1),U;for(let W=0;W<_.length;W++)if(_[W].rowNode.rowIndex===Z.rowIndex){U=_[W+z];break}return U?{rowIndex:U.rowNode.rowIndex,rowPinned:null}:void 0}function t_(J,Z){let{rowPinned:$,rowIndex:X}=Z,{pinnedRowModel:Y,pageBounds:Q}=J;if($==="top")return(Y?.getPinnedTopRowCount()??0)-1<=X;if($==="bottom")return(Y?.getPinnedBottomRowCount()??0)-1<=X;return Q.getLastRow()<=X}function B0(J,Z,$){Z.addManagedElementListeners($,{keydown:(X)=>{if(!X.defaultPrevented&&!o_(X)&&X.key===V.TAB){let Y=X.shiftKey;if(!OJ(J,$,!1,Y)){if(YZ(J,Y))X.preventDefault()}}}})}function UZ(J){return J.gos.get("suppressHeaderFocus")||!!J.overlays?.exclusive}function H6(J){return J.gos.get("suppressCellFocus")||!!J.overlays?.exclusive}function YZ(J,Z,$=!1){let X=J.ctrlsSvc.get("gridCtrl"),Y=X.focusNextInnerContainer(Z);if(Y===!0)return!0;if(Y===!1)return Y;if($||!Z&&!X.isDetailGrid()&&X.isFocusInsideGridBody())X.forceFocusOutOfContainer(Z);return!1}function l_(J,Z){let $=J.focusSvc,X=$.getFocusedCell();if(X&&Z&&A2(X,Z)){let{rowIndex:Y,rowPinned:Q,column:q}=Z;if(h0(J))$.setFocusedCell({rowIndex:Y,column:q,rowPinned:Q,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!j2()})}}function a_(J,Z){let $=J.getFocusableContainerName();if($==="gridBody")return Z();return wY(J,()=>KZ(J.getGui(),".ag-tab-guard").length>0)?$:null}function wY(J,Z){J.setAllowFocus?.(!0);try{return Z()}finally{J.setAllowFocus?.(!1)}}var gY="__ag_Grid_Skip_Focusable_Container";function hY(J){J[gY]=!0}function o_(J){return J[gY]===!0}function uY(J){if(!J.cols)return-1;return J.cols.treeDepth+1}function lJ(J){return J.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0}function o8(J){let Z=[],$=J.ctrlsSvc.getHeaderRowContainerCtrls();for(let X of $){if(!X)continue;let Y=X.getGroupRowCount()||0;for(let Q=0;QH)Z[Q]=_}}}return Z}function e_(J,Z){let X=J.colModel.isPivotMode()?Zz(J):cY(J),Y=Z.getHeaderCellCtrls();for(let Q of Y){let{column:q}=Q,H=q.getAutoHeaderHeight();if(H!=null&&H>X&&q.isAutoHeaderHeight())X=H}return X}function e8(J){let $=J.colModel.isPivotMode()?Jz(J):N6(J);return J.colModel.forAllCols((X)=>{let Y=X.getAutoHeaderHeight();if(Y!=null&&Y>$&&X.isAutoHeaderHeight())$=Y}),$}function N6(J){return J.gos.get("headerHeight")??J.environment.getDefaultHeaderHeight()}function mY(J){return J.gos.get("floatingFiltersHeight")??N6(J)}function cY(J){return J.gos.get("groupHeaderHeight")??N6(J)}function Jz(J){return J.gos.get("pivotHeaderHeight")??N6(J)}function Zz(J){return J.gos.get("pivotGroupHeaderHeight")??cY(J)}function $z(J,Z){return J.headerRowIndex===Z.headerRowIndex&&J.column===Z.column}function Xz(J){return J?.headerRowIndex!=null}var Yz=class extends M{setComp(J,Z,$){this.comp=J,this.eGui=Z;let{beans:X}=this,{headerNavigation:Y,touchSvc:Q,ctrlsSvc:q}=X;if(Y)this.createManagedBean(new cZ($,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)}));this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this,X),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this,X)}),this.onPivotModeChanged(X),this.setupHeaderHeight();let H=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:H}),Q?.mockHeaderContextMenu(this,H),q.register("gridHeaderCtrl",this)}setupHeaderHeight(){let J=this.setHeaderHeight.bind(this);J(),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],J),this.addManagedEventListeners({headerRowsChanged:J,columnHeaderHeightChanged:J,columnGroupHeaderHeightChanged:()=>qZ(this.beans,()=>J()),stylesChanged:J,advancedFilterEnabledChanged:J})}setHeaderHeight(){let{beans:J}=this,Z=0,$=o8(J).reduce((q,H)=>q+H,0),X=e8(J);if(J.filterManager?.hasFloatingFilters())Z+=mY(J);Z+=$,Z+=X;let Y=J.environment.getHeaderRowBorderWidth(),Q=Z+Y;if(this.headerHeightWithBorder!==Q){this.headerHeightWithBorder=Q;let q=`${Q}px`;this.comp.setHeightAndMinHeight(q)}if(this.headerHeight!==Z)this.headerHeight=Z,this.eventSvc.dispatchEvent({type:"headerHeightChanged"})}onPivotModeChanged(J){let Z=J.colModel.isPivotMode();this.comp.toggleCss("ag-pivot-on",Z),this.comp.toggleCss("ag-pivot-off",!Z)}onDisplayedColumnsChanged(J){let $=J.visibleCols.allCols.some((X)=>X.isSpanHeaderHeight());this.comp.toggleCss("ag-header-allow-overflow",$)}onTabKeyDown(J){let Z=this.gos.get("enableRtl"),$=J.shiftKey,X=$!==Z?"LEFT":"RIGHT",{beans:Y}=this,{headerNavigation:Q,focusSvc:q}=Y;if(Q.navigateHorizontally(X,!0,J)||!$&&q.focusOverlay(!1)||YZ(Y,$,!0))J.preventDefault()}handleKeyDown(J){let Z=null,{headerNavigation:$}=this.beans;switch(J.key){case V.LEFT:Z="LEFT";case V.RIGHT:{if(!T(Z))Z="RIGHT";if($.navigateHorizontally(Z,!1,J))J.preventDefault();break}case V.UP:Z="UP";case V.DOWN:{if(!T(Z))Z="DOWN";if($.navigateVertically(Z,J))J.preventDefault();break}default:return}}onFocusOut(J){let{relatedTarget:Z}=J,{eGui:$,beans:X}=this;if(!Z&&$.contains(n(X)))return;if(!$.contains(Z))X.focusSvc.focusedHeader=null}onHeaderContextMenu(J,Z,$){let{menuSvc:X,ctrlsSvc:Y}=this.beans;if(!J&&!$||!X?.isHeaderContextMenuEnabled())return;let{target:Q}=J??Z;if(Q===this.eGui||Q===Y.getHeaderRowContainerCtrl()?.eViewport)X.showHeaderContextMenu(void 0,J,$)}},J9=class extends y{constructor(J,Z){super(J);this.ctrl=Z}getCtrl(){return this.ctrl}},Qz={tag:"div",cls:"ag-header-cell",role:"columnheader",children:[{tag:"div",ref:"eResize",cls:"ag-header-cell-resize",role:"presentation"},{tag:"div",ref:"eHeaderCompWrapper",cls:"ag-header-cell-comp-wrapper",role:"presentation"}]},qz=class extends J9{constructor(J){super(Qz,J);this.eResize=S,this.eHeaderCompWrapper=S,this.headerCompVersion=0}postConstruct(){let J=this.getGui(),Z=()=>{let X=this.ctrl.getSelectAllGui();if(X)this.eResize.insertAdjacentElement("afterend",X),this.addDestroyFunc(()=>X.remove())},$={setWidth:(X)=>J.style.width=X,toggleCss:(X,Y)=>this.toggleCss(X,Y),setUserStyles:(X)=>Y5(J,X),setAriaSort:(X)=>X?yq(J,X):Nq(J),setUserCompDetails:(X)=>this.setUserCompDetails(X),getUserCompInstance:()=>this.headerComp,refreshSelectAllGui:Z,removeSelectAllGui:()=>this.ctrl.getSelectAllGui()?.remove()};this.ctrl.setComp($,this.getGui(),this.eResize,this.eHeaderCompWrapper,void 0),Z()}destroy(){this.destroyHeaderComp(),super.destroy()}destroyHeaderComp(){if(this.headerComp)this.headerCompGui?.remove(),this.headerComp=this.destroyBean(this.headerComp),this.headerCompGui=void 0}setUserCompDetails(J){this.headerCompVersion++;let Z=this.headerCompVersion;J.newAgStackInstance().then(($)=>this.afterCompCreated(Z,$))}afterCompCreated(J,Z){if(J!=this.headerCompVersion||!this.isAlive()){this.destroyBean(Z);return}this.destroyHeaderComp(),this.headerComp=Z,this.headerCompGui=Z.getGui(),this.eHeaderCompWrapper.appendChild(this.headerCompGui),this.ctrl.setDragSource(this.getGui())}},Hz={tag:"div",cls:"ag-header-group-cell",role:"columnheader",children:[{tag:"div",ref:"eHeaderCompWrapper",cls:"ag-header-cell-comp-wrapper",role:"presentation"},{tag:"div",ref:"eResize",cls:"ag-header-cell-resize",role:"presentation"}]},_z=class extends J9{constructor(J){super(Hz,J);this.eResize=S,this.eHeaderCompWrapper=S}postConstruct(){let J=this.getGui(),Z=(X,Y)=>Y!=null?J.setAttribute(X,Y):J.removeAttribute(X),$={toggleCss:(X,Y)=>this.toggleCss(X,Y),setUserStyles:(X)=>Y5(J,X),setHeaderWrapperHidden:(X)=>{if(X)this.eHeaderCompWrapper.style.setProperty("display","none");else this.eHeaderCompWrapper.style.removeProperty("display")},setHeaderWrapperMaxHeight:(X)=>{if(X!=null)this.eHeaderCompWrapper.style.setProperty("max-height",`${X}px`);else this.eHeaderCompWrapper.style.removeProperty("max-height");this.eHeaderCompWrapper.classList.toggle("ag-header-cell-comp-wrapper-limited-height",X!=null)},setResizableDisplayed:(X)=>w(this.eResize,X),setWidth:(X)=>J.style.width=X,setAriaExpanded:(X)=>Z("aria-expanded",X),setUserCompDetails:(X)=>this.setUserCompDetails(X),getUserCompInstance:()=>this.headerGroupComp};this.ctrl.setComp($,J,this.eResize,this.eHeaderCompWrapper,void 0)}setUserCompDetails(J){J.newAgStackInstance().then((Z)=>this.afterHeaderCompCreated(Z))}afterHeaderCompCreated(J){let Z=()=>this.destroyBean(J);if(!this.isAlive()){Z();return}let $=this.getGui(),X=J.getGui();this.eHeaderCompWrapper.appendChild(X),this.addDestroyFunc(Z),this.headerGroupComp=J,this.ctrl.setDragSource($)}},zz={tag:"div",cls:"ag-header-cell ag-floating-filter",role:"gridcell",children:[{tag:"div",ref:"eFloatingFilterBody",role:"presentation"},{tag:"div",ref:"eButtonWrapper",cls:"ag-floating-filter-button ag-hidden",role:"presentation",children:[{tag:"button",ref:"eButtonShowMainFilter",cls:"ag-button ag-floating-filter-button-button",attrs:{type:"button",tabindex:"-1"}}]}]},Uz=class extends J9{constructor(J){super(zz,J);this.eFloatingFilterBody=S,this.eButtonWrapper=S,this.eButtonShowMainFilter=S}postConstruct(){let J=this.getGui(),Z={toggleCss:($,X)=>this.toggleCss($,X),setUserStyles:($)=>Y5(J,$),addOrRemoveBodyCssClass:($,X)=>this.eFloatingFilterBody.classList.toggle($,X),setButtonWrapperDisplayed:($)=>w(this.eButtonWrapper,$),setCompDetails:($)=>this.setCompDetails($),getFloatingFilterComp:()=>this.compPromise,setWidth:($)=>J.style.width=$,setMenuIcon:($)=>this.eButtonShowMainFilter.appendChild($)};this.ctrl.setComp(Z,J,this.eButtonShowMainFilter,this.eFloatingFilterBody,void 0)}setCompDetails(J){if(!J){this.destroyFloatingFilterComp(),this.compPromise=null;return}this.compPromise=J.newAgStackInstance(),this.compPromise.then((Z)=>this.afterCompCreated(Z))}destroy(){this.destroyFloatingFilterComp(),super.destroy()}destroyFloatingFilterComp(){this.floatingFilterComp?.getGui().remove(),this.floatingFilterComp=this.destroyBean(this.floatingFilterComp)}afterCompCreated(J){if(!J)return;if(!this.isAlive()){this.destroyBean(J);return}this.destroyFloatingFilterComp(),this.floatingFilterComp=J,this.eFloatingFilterBody.appendChild(J.getGui()),J.afterGuiAttached?.()}},Wz=class extends y{constructor(J){super({tag:"div",cls:J.headerRowClass,role:"row"});this.ctrl=J,this.headerComps={}}postConstruct(){this.getGui().setAttribute("tabindex",String(this.gos.get("tabIndex"))),o5(this.getGui(),this.ctrl.getAriaRowIndex());let Z={setHeight:($)=>this.getGui().style.height=$,setTop:($)=>this.getGui().style.top=$,setHeaderCtrls:($,X)=>this.setHeaderCtrls($,X),setWidth:($)=>this.getGui().style.width=$,setRowIndex:($)=>o5(this.getGui(),$)};this.ctrl.setComp(Z,void 0)}destroy(){this.setHeaderCtrls([],!1),super.destroy()}setHeaderCtrls(J,Z){if(!this.isAlive())return;let $=this.headerComps;this.headerComps={};for(let X of J){let Y=X.instanceId,Q=$[Y];if(delete $[Y],Q==null)Q=this.createHeaderComp(X),this.getGui().appendChild(Q.getGui());this.headerComps[Y]=Q}if(Object.values($).forEach((X)=>{X.getGui().remove(),this.destroyBean(X)}),Z){let X=Object.values(this.headerComps);X.sort((Q,q)=>{let H=Q.getCtrl().column.getLeft(),_=q.getCtrl().column.getLeft();return H-_});let Y=X.map((Q)=>Q.getGui());yX(this.getGui(),Y)}}createHeaderComp(J){let Z;switch(this.ctrl.type){case"group":Z=new _z(J);break;case"filter":Z=new Uz(J);break;default:Z=new qz(J);break}return this.createBean(Z),Z.setParentComponent(this),Z}},Z9=class extends M{constructor(J,Z=!1){super();this.callback=J,this.addSpacer=Z}postConstruct(){let J=this.setWidth.bind(this);if(this.addManagedPropertyListener("domLayout",J),this.addManagedEventListeners({columnContainerWidthChanged:J,displayedColumnsChanged:J,leftPinnedWidthChanged:J}),this.addSpacer)this.addManagedEventListeners({rightPinnedWidthChanged:J,scrollVisibilityChanged:J,scrollbarWidthChanged:J});this.setWidth()}setWidth(){let J=jJ(this.gos,"print"),{visibleCols:Z,scrollVisibleSvc:$}=this.beans,X=Z.bodyWidth,Y=Z.getColsLeftWidth(),Q=Z.getDisplayedColumnsRightWidth(),q;if(J)q=X+Y+Q;else if(q=X,this.addSpacer){if((this.gos.get("enableRtl")?Y:Q)===0&&$.verticalScrollShowing)q+=$.getScrollbarWidth()}this.callback(q)}};function B5(J,Z,$){if($)J.addDestroyFunc(()=>Z.destroyBean($));return $??J}var $9=class extends M{constructor(J,Z,$,X){super();this.columnOrGroup=J,this.eCell=Z,this.colsSpanning=X,this.columnOrGroup=J,this.ariaEl=Z.querySelector("[role=columnheader]")||Z,this.beans=$}setColsSpanning(J){this.colsSpanning=J,this.onLeftChanged()}getColumnOrGroup(){let{beans:J,colsSpanning:Z}=this;if(J.gos.get("enableRtl")&&Z)return C(Z);return this.columnOrGroup}postConstruct(){let J=this.onLeftChanged.bind(this);this.addManagedListeners(this.columnOrGroup,{leftChanged:J}),this.setLeftFirstTime(),this.addManagedEventListeners({displayedColumnsWidthChanged:J}),this.addManagedPropertyListener("domLayout",J)}setLeftFirstTime(){let{gos:J,colAnimation:Z}=this.beans,$=J.get("suppressColumnMoveAnimation"),X=T(this.columnOrGroup.getOldLeft());if(Z?.isActive()&&X&&!$)this.animateInLeft();else this.onLeftChanged()}animateInLeft(){let J=this.getColumnOrGroup(),Z=this.modifyLeftForPrintLayout(J,J.getOldLeft()),$=this.modifyLeftForPrintLayout(J,J.getLeft());this.setLeft(Z),this.actualLeft=$,this.beans.colAnimation.executeNextVMTurn(()=>{if(this.actualLeft===$)this.setLeft($)})}onLeftChanged(){let J=this.getColumnOrGroup(),Z=J.getLeft();this.actualLeft=this.modifyLeftForPrintLayout(J,Z),this.setLeft(this.actualLeft)}modifyLeftForPrintLayout(J,Z){let{gos:$,visibleCols:X}=this.beans;if(!jJ($,"print"))return Z;if(J.getPinned()==="left")return Z;let Q=X.getColsLeftWidth();if(J.getPinned()==="right"){let q=X.bodyWidth;return Q+q+Z}return Q+Z}setLeft(J){if(T(J))this.eCell.style.left=`${J}px`;if(UJ(this.columnOrGroup)){let Z=this.columnOrGroup.getLeafColumns();if(!Z.length)return;if(Z.length>1)xq(this.ariaEl,Z.length)}}},Gz="ag-column-first",Bz="ag-column-last";function w6(J,Z,$,X){if(d(J))return[];return iY(J.headerClass,J,Z,$,X)}function g6(J,Z,$,X){if(d(J))return[];return iY(J.toolPanelClass,J,Z,$,X)}function pY(J,Z,$){J.toggleCss(Gz,$.isColAtEdge(Z,"first")),J.toggleCss(Bz,$.isColAtEdge(Z,"last"))}function Kz(J,Z,$,X){return x(Z,{colDef:J,column:$,columnGroup:X})}function iY(J,Z,$,X,Y){if(d(J))return[];let Q;if(typeof J==="function"){let q=Kz(Z,$,X,Y);Q=J(q)}else Q=J;if(typeof Q==="string")return[Q];if(Array.isArray(Q))return[...Q];return[]}var Ez=0,dY="headerCtrl",X9=class extends M{constructor(J,Z){super();this.column=J,this.rowCtrl=Z,this.resizeToggleTimeout=0,this.resizeMultiplier=1,this.resizeFeature=null,this.lastFocusEvent=null,this.dragSource=null,this.reAttemptToFocus=!1,this.instanceId=J.getUniqueId()+"-"+Ez++}postConstruct(){let J=this.refreshTabIndex.bind(this);this.addManagedPropertyListeners(["suppressHeaderFocus"],J),this.addManagedEventListeners({overlayExclusiveChanged:J})}setComp(J,Z,$,X,Y){if(Z.setAttribute("col-id",this.column.colIdSanitised),this.wireComp(J,Z,$,X,Y),this.reAttemptToFocus)this.reAttemptToFocus=!1,this.focus(this.lastFocusEvent??void 0)}shouldStopEventPropagation(J){let{headerRowIndex:Z,column:$}=this.beans.focusSvc.focusedHeader,X=$.getDefinition(),Y=X?.suppressHeaderKeyboardEvent;if(!T(Y))return!1;let Q=x(this.gos,{colDef:X,column:$,headerRowIndex:Z,event:J});return!!Y(Q)}getWrapperHasFocus(){return n(this.beans)===this.eGui}setGui(J,Z){this.eGui=J,this.addDomData(Z),Z.addManagedListeners(this.beans.eventSvc,{displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),Z.addManagedElementListeners(this.eGui,{focus:this.onGuiFocus.bind(this)}),this.onDisplayedColumnsChanged(),this.refreshTabIndex()}refreshHeaderStyles(){let J=this.column.getDefinition();if(!J)return;let{headerStyle:Z}=J,$;if(typeof Z==="function"){let X=this.getHeaderClassParams();$=Z(X)}else $=Z;if($)this.comp.setUserStyles($)}onGuiFocus(){this.eventSvc.dispatchEvent({type:"headerFocused",column:this.column})}setupAutoHeight(J){let{wrapperElement:Z,checkMeasuringCallback:$,compBean:X}=J,{beans:Y}=this,Q=(W)=>{if(!this.isAlive()||!X.isAlive())return;let{paddingTop:G,paddingBottom:B,borderBottomWidth:K,borderTopWidth:E}=k2(this.eGui),L=G+B+K+E,D=Z.offsetHeight+L;if(W<5){let j=!qJ(Y)?.contains(Z),A=D==0;if(j||A){a7(()=>Q(W+1),"raf",Y);return}}this.setColHeaderHeight(this.column,D)},q=!1,H,_=()=>{let W=this.column.isAutoHeaderHeight();if(W&&!q)z();if(!W&&q)U()},z=()=>{q=!0,this.comp.toggleCss("ag-header-cell-auto-height",!0),Q(0),H=DZ(this.beans,Z,()=>Q(0))},U=()=>{if(q=!1,H)H();this.comp.toggleCss("ag-header-cell-auto-height",!1),H=void 0};if(_(),X.addDestroyFunc(()=>U()),X.addManagedListeners(this.column,{widthChanged:()=>q&&Q(0)}),X.addManagedEventListeners({sortChanged:()=>{if(q)window.setTimeout(()=>Q(0))}}),$)$(_)}onDisplayedColumnsChanged(){let{comp:J,column:Z,beans:$,eGui:X}=this;if(!J||!Z||!X)return;pY(J,Z,$.visibleCols),OX(X,$.visibleCols.getAriaColIndex(Z))}addResizeAndMoveKeyboardListeners(J){J.addManagedListeners(this.eGui,{keydown:this.onGuiKeyDown.bind(this),keyup:this.onGuiKeyUp.bind(this)})}refreshTabIndex(){let J=UZ(this.beans);if(this.eGui)P0(this.eGui,"tabindex",J?null:"-1")}onGuiKeyDown(J){let Z=n(this.beans),$=J.key===V.LEFT||J.key===V.RIGHT;if(this.isResizing)J.preventDefault(),J.stopImmediatePropagation();if(Z!==this.eGui||!J.shiftKey&&!J.altKey&&!J.ctrlKey&&!J.metaKey)return;if(this.isResizing||$)J.preventDefault(),J.stopImmediatePropagation();if((J.ctrlKey||J.metaKey)&&jY(J)===V.C)return this.beans.clipboardSvc?.copyToClipboard();if(!$)return;let Q=J.key===V.LEFT!==this.gos.get("enableRtl")?"left":"right";if(J.altKey){this.isResizing=!0,this.resizeMultiplier+=1;let q=this.getViewportAdjustedResizeDiff(J);this.resizeHeader(q,J.shiftKey),this.resizeFeature?.toggleColumnResizing(!0)}else this.moveHeader(Q)}moveHeader(J){this.beans.colMoves?.moveHeader(J,this.eGui,this.column,this.rowCtrl.pinned,this)}getViewportAdjustedResizeDiff(J){let Z=this.getResizeDiff(J),{pinnedCols:$}=this.beans;return $?$.getHeaderResizeDiff(Z,this.column):Z}getResizeDiff(J){let{gos:Z,column:$}=this,X=J.key===V.LEFT!==Z.get("enableRtl"),Y=$.getPinned(),Q=Z.get("enableRtl");if(Y){if(Q!==(Y==="right"))X=!X}return(X?-1:1)*this.resizeMultiplier}onGuiKeyUp(){if(!this.isResizing)return;if(this.resizeToggleTimeout)window.clearTimeout(this.resizeToggleTimeout),this.resizeToggleTimeout=0;this.isResizing=!1,this.resizeMultiplier=1,this.resizeToggleTimeout=window.setTimeout(()=>{this.resizeFeature?.toggleColumnResizing(!1)},150)}handleKeyDown(J){let Z=this.getWrapperHasFocus();switch(J.key){case V.PAGE_DOWN:case V.PAGE_UP:case V.PAGE_HOME:case V.PAGE_END:if(Z)J.preventDefault()}}addDomData(J){let Z=dY,{eGui:$,gos:X}=this;N0(X,$,Z,this),J.addDestroyFunc(()=>N0(X,$,Z,null))}focus(J){if(!this.isAlive())return!1;let{eGui:Z}=this;if(!Z)this.reAttemptToFocus=!0;else this.lastFocusEvent=J||null,Z.focus();return!0}focusThis(){this.beans.focusSvc.focusedHeader={headerRowIndex:this.rowCtrl.rowIndex,column:this.column}}removeDragSource(){if(this.dragSource)this.beans.dragAndDrop?.removeDragSource(this.dragSource),this.dragSource=null}handleContextMenuMouseEvent(J,Z,$){let X=J??Z,{menuSvc:Y,gos:Q}=this.beans;if(Q.get("preventDefaultOnContextMenu"))X.preventDefault();if(Y?.isHeaderContextMenuEnabled($))Y.showHeaderContextMenu($,J,Z);this.dispatchColumnMouseEvent("columnHeaderContextMenu",$)}dispatchColumnMouseEvent(J,Z){this.eventSvc.dispatchEvent({type:J,column:Z})}setColHeaderHeight(J,Z){if(!J.setAutoHeaderHeight(Z))return;let{eventSvc:$}=this;if(J.isColumn)$.dispatchEvent({type:"columnHeaderHeightChanged",column:J,columns:[J],source:"autosizeColumnHeaderHeight"});else $.dispatchEvent({type:"columnGroupHeaderHeightChanged",columnGroup:J,source:"autosizeColumnGroupHeaderHeight"})}clearComponent(){this.removeDragSource(),this.resizeFeature=null,this.comp=null,this.eGui=null}destroy(){super.destroy(),this.column=null,this.lastFocusEvent=null,this.rowCtrl=null}},Lz=class extends X9{constructor(){super(...arguments);this.refreshFunctions={},this.userHeaderClasses=new Set,this.ariaDescriptionProperties=new Map}wireComp(J,Z,$,X,Y){this.comp=J;let{rowCtrl:Q,column:q,beans:H}=this,{colResize:_,context:z,colHover:U,rangeSvc:W}=H,G=B5(this,z,Y);if(this.setGui(Z,G),this.updateState(),this.setupWidth(G),this.setupMovingCss(G),this.setupMenuClass(G),this.setupSortableClass(G),this.setupWrapTextClass(),this.refreshSpanHeaderHeight(),this.setupAutoHeight({wrapperElement:X,checkMeasuringCallback:(K)=>this.setRefreshFunction("measuring",K),compBean:G}),this.addColumnHoverListener(G),this.setupFilterClass(G),this.setupStylesFromColDef(),this.setupClassesFromColDef(),this.setupTooltip(),this.addActiveHeaderMouseListeners(G),this.setupSelectAll(G),this.setupUserComp(),this.refreshAria(),_)this.resizeFeature=G.createManagedBean(_.createResizeFeature(Q.pinned,q,$,J,this));else w($,!1);U?.createHoverFeature(G,[q],Z),W?.createRangeHighlightFeature(G,q,J),G.createManagedBean(new $9(q,Z,H)),G.createManagedBean(new cZ(Z,{shouldStopEventPropagation:(K)=>this.shouldStopEventPropagation(K),onTabKeyDown:()=>null,handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addResizeAndMoveKeyboardListeners(G),G.addManagedPropertyListeners(["suppressMovableColumns","suppressMenuHide","suppressAggFuncInHeader","enableAdvancedFilter"],()=>this.refresh()),G.addManagedListeners(q,{colDefChanged:()=>this.refresh(),formulaRefChanged:()=>this.refresh(),headerHighlightChanged:this.onHeaderHighlightChanged.bind(this)});let B=()=>this.checkDisplayName();G.addManagedEventListeners({columnValueChanged:B,columnRowGroupChanged:B,columnPivotChanged:B,headerHeightChanged:this.onHeaderHeightChanged.bind(this)}),G.addDestroyFunc(()=>{this.refreshFunctions={},this.selectAllFeature=null,this.dragSourceElement=void 0,this.userCompDetails=null,this.userHeaderClasses.clear(),this.ariaDescriptionProperties.clear(),this.clearComponent()})}resizeHeader(J,Z){this.beans.colResize?.resizeHeader(this.column,J,Z)}getHeaderClassParams(){let{column:J,beans:Z}=this,$=J.colDef;return x(Z.gos,{colDef:$,column:J,floatingFilter:!1})}setupUserComp(){let J=this.lookupUserCompDetails();if(J)this.setCompDetails(J)}setCompDetails(J){this.userCompDetails=J,this.comp.setUserCompDetails(J)}lookupUserCompDetails(){let J=this.createParams(),Z=this.column.getColDef();return L_(this.beans.userCompFactory,Z,J)}createParams(){let{menuSvc:J,sortSvc:Z,colFilter:$,gos:X}=this.beans;return x(X,{column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&!!J?.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!!$&&(!this.openFilterEnabled||WJ(this.gos)),showColumnMenu:(Q,q)=>{J?.showColumnMenu({column:this.column,buttonElement:Q,positionBy:"button",onClosedCallback:q})},showColumnMenuAfterMouseClick:(Q,q)=>{J?.showColumnMenu({column:this.column,mouseEvent:Q,positionBy:"mouse",onClosedCallback:q})},showFilter:(Q)=>{J?.showFilterMenu({column:this.column,buttonElement:Q,containerType:"columnFilter",positionBy:"button"})},progressSort:(Q)=>{Z?.progressSort(this.column,!!Q,"uiColumnSorted")},setSort:(Q,q)=>{Z?.setSortForColumn(this.column,aJ(Q),!!q,"uiColumnSorted")},eGridHeader:this.eGui,setTooltip:(Q,q)=>{X.assertModuleRegistered("Tooltip",3),this.setupTooltip(Q,q)}})}setupSelectAll(J){let{selectionSvc:Z}=this.beans;if(!Z)return;this.selectAllFeature=J.createOptionalManagedBean(Z.createSelectAllFeature(this.column)),this.selectAllFeature?.setComp(this),J.addManagedPropertyListener("rowSelection",()=>{let $=Z.createSelectAllFeature(this.column);if($&&!this.selectAllFeature)this.selectAllFeature=J.createManagedBean($),this.selectAllFeature?.setComp(this),this.comp.refreshSelectAllGui();else if(this.selectAllFeature&&!$)this.comp.removeSelectAllGui(),this.selectAllFeature=this.destroyBean(this.selectAllFeature)})}getSelectAllGui(){return this.selectAllFeature?.getCheckboxGui()}handleKeyDown(J){if(super.handleKeyDown(J),J.key===V.SPACE)this.selectAllFeature?.onSpaceKeyDown(J);else if(J.key===V.ENTER)this.onEnterKeyDown(J);else if(J.key===V.DOWN&&J.altKey)this.showMenuOnKeyPress(J,!1)}onEnterKeyDown(J){let{column:Z,gos:$,sortable:X,beans:Y}=this,Q=!1;if(J.ctrlKey||J.metaKey)Q=this.showMenuOnKeyPress(J,!0);if(!Q){if(!J.altKey&&X0($))Y.rangeSvc?.handleColumnSelection(Z,J);else if(X)Y.sortSvc?.progressSort(Z,J.shiftKey,"uiColumnSorted")}}showMenuOnKeyPress(J,Z){let $=this.comp.getUserCompInstance();if(!D$($))return!1;if($.onMenuKeyboardShortcut(Z))return J.preventDefault(),!0;return!1}onFocusIn(J){if(!this.eGui.contains(J.relatedTarget))this.focusThis(),this.announceAriaDescription();if(j2())this.setActiveHeader(!0)}onFocusOut(J){if(this.eGui.contains(J.relatedTarget))return;this.setActiveHeader(!1)}setupTooltip(J,Z){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderTooltip(this.tooltipFeature,this,J,Z)}setupStylesFromColDef(){this.setRefreshFunction("headerStyles",this.refreshHeaderStyles.bind(this)),this.refreshHeaderStyles()}setupClassesFromColDef(){let J=()=>{let Z=this.column.getColDef(),$=w6(Z,this.gos,this.column,null),X=this.userHeaderClasses;this.userHeaderClasses=new Set($);for(let Y of $)if(X.has(Y))X.delete(Y);else this.comp.toggleCss(Y,!0);for(let Y of X)this.comp.toggleCss(Y,!1)};this.setRefreshFunction("headerClasses",J),J()}setDragSource(J){if(this.dragSourceElement=J,this.removeDragSource(),!J||!this.draggable)return;this.dragSource=this.beans.colMoves?.setDragSourceForHeader(J,this.column,this.displayName)??null}updateState(){let{menuSvc:J}=this.beans;this.menuEnabled=!!J?.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=!!J?.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}setRefreshFunction(J,Z){this.refreshFunctions[J]=Z}refresh(){this.updateState(),this.refreshHeaderComp(),this.refreshAria();for(let J of Object.values(this.refreshFunctions))J()}refreshHeaderComp(){let J=this.lookupUserCompDetails();if(!J)return;if(this.comp.getUserCompInstance()!=null&&this.userCompDetails.componentClass==J.componentClass?this.attemptHeaderCompRefresh(J.params):!1)this.setDragSource(this.dragSourceElement);else this.setCompDetails(J)}attemptHeaderCompRefresh(J){let Z=this.comp.getUserCompInstance();if(!Z)return!1;if(!Z.refresh)return!1;return Z.refresh(J)}calculateDisplayName(){return this.beans.colNames.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(){if(this.displayName!==this.calculateDisplayName())this.refresh()}workOutDraggable(){let J=this.column.getColDef();return!this.gos.get("suppressMovableColumns")&&!J.suppressMovable&&!J.lockPosition||!!J.enableRowGroup||!!J.enablePivot}setupWidth(J){let Z=()=>{let $=this.column.getActualWidth();this.comp.setWidth(`${$}px`)};J.addManagedListeners(this.column,{widthChanged:Z}),Z()}setupMovingCss(J){let Z=()=>{this.comp.toggleCss("ag-header-cell-moving",this.column.isMoving())};J.addManagedListeners(this.column,{movingChanged:Z}),Z()}setupMenuClass(J){let Z=()=>{this.comp?.toggleCss("ag-column-menu-visible",this.column.isMenuVisible())};J.addManagedListeners(this.column,{menuVisibleChanged:Z}),Z()}setupSortableClass(J){let Z=()=>{this.comp.toggleCss("ag-header-cell-sortable",!!this.sortable)};Z(),this.setRefreshFunction("updateSortable",Z),J.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass(J){let Z=()=>{let $=this.column.isFilterActive();this.comp.toggleCss("ag-header-cell-filtered",$),this.refreshAria()};J.addManagedListeners(this.column,{filterActiveChanged:Z}),Z()}setupWrapTextClass(){let J=()=>{let Z=!!this.column.getColDef().wrapHeaderText;this.comp.toggleCss("ag-header-cell-wrap-text",Z)};J(),this.setRefreshFunction("wrapText",J)}onHeaderHighlightChanged(){let J=this.column.getHighlighted(),Z=J===0,$=J===1;this.comp.toggleCss("ag-header-highlight-before",Z),this.comp.toggleCss("ag-header-highlight-after",$)}onDisplayedColumnsChanged(){if(super.onDisplayedColumnsChanged(),!this.isAlive())return;this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){let{eGui:J,column:Z,comp:$,beans:X}=this,Y=o8(this.beans),Q=Y.reduce((G,B)=>G+B,0)===0;if($.toggleCss("ag-header-parent-hidden",Q),!Z.isSpanHeaderHeight()){J.style.removeProperty("top"),J.style.removeProperty("height"),$.toggleCss("ag-header-span-height",!1),$.toggleCss("ag-header-span-total",!1);return}let{numberOfParents:q,isSpanningTotal:H}=this.column.getColumnGroupPaddingInfo();$.toggleCss("ag-header-span-height",q>0);let _=e8(X);if(q===0){$.toggleCss("ag-header-span-total",!1),J.style.setProperty("top","0px"),J.style.setProperty("height",`${_}px`);return}$.toggleCss("ag-header-span-total",H);let z=(this.column.getFirstRealParent()?.getLevel()??-1)+1,U=Y.length-z,W=0;for(let G=0;GY==="filter"?-1:Q.charCodeAt(0)-Y.charCodeAt(0)).map((Y)=>$.get(Y)).join(". ");J.ariaAnnounce?.announceValue(X,"columnHeader")}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered(),this.refreshAriaCellSelection()}addColumnHoverListener(J){this.beans.colHover?.addHeaderColumnHoverListener(J,this.comp,this.column)}addActiveHeaderMouseListeners(J){let Z=(Y)=>this.handleMouseOverChange(Y.type==="mouseenter"),$=()=>{this.setActiveHeader(!0),this.dispatchColumnMouseEvent("columnHeaderClicked",this.column)},X=(Y)=>this.handleContextMenuMouseEvent(Y,void 0,this.column);J.addManagedListeners(this.eGui,{mouseenter:Z,mouseleave:Z,click:$,contextmenu:X})}handleMouseOverChange(J){this.setActiveHeader(J),this.eventSvc.dispatchEvent({type:J?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column})}setActiveHeader(J){this.comp.toggleCss("ag-header-active",J)}getAnchorElementForMenu(J){let Z=this.comp.getUserCompInstance();if(D$(Z))return Z.getAnchorElementForMenu(J);return this.eGui}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function D$(J){return typeof J?.getAnchorElementForMenu==="function"&&typeof J.onMenuKeyboardShortcut==="function"}var Fz=0,T7=class extends M{constructor(J,Z,$){super();this.rowIndex=J,this.pinned=Z,this.type=$,this.instanceId=Fz++,this.comp=null,this.allCtrls=[];let X="ag-header-row-column";if($==="group")X="ag-header-row-group";else if($==="filter")X="ag-header-row-filter";this.headerRowClass=`ag-header-row ${X}`}setRowIndex(J){this.rowIndex=J,this.comp?.setRowIndex(this.getAriaRowIndex()),this.onRowHeightChanged()}postConstruct(){this.isPrintLayout=jJ(this.gos,"print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}areCellsRendered(){if(!this.comp)return!1;return this.allCtrls.every((J)=>J.eGui!=null)}setComp(J,Z,$=!0){if(this.comp=J,Z=B5(this,this.beans.context,Z),$)this.setRowIndex(this.rowIndex),this.onVirtualColumnsChanged();this.setWidth(),this.addEventListeners(Z)}getAriaRowIndex(){return this.rowIndex+1}addEventListeners(J){let Z=this.onRowHeightChanged.bind(this),$=this.onDisplayedColumnsChanged.bind(this);J.addManagedEventListeners({columnResized:this.setWidth.bind(this),displayedColumnsChanged:$,virtualColumnsChanged:(X)=>this.onVirtualColumnsChanged(X.afterScroll),columnGroupHeaderHeightChanged:Z,columnHeaderHeightChanged:Z,stylesChanged:Z,advancedFilterEnabledChanged:Z}),J.addManagedPropertyListener("domLayout",$),J.addManagedPropertyListener("ensureDomOrder",(X)=>this.isEnsureDomOrder=X.currentValue),J.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],Z)}onDisplayedColumnsChanged(){this.isPrintLayout=jJ(this.gos,"print"),this.onVirtualColumnsChanged(),this.setWidth(),this.onRowHeightChanged()}setWidth(){if(!this.comp)return;let J=this.getWidthForRow();this.comp.setWidth(`${J}px`)}getWidthForRow(){let{visibleCols:J}=this.beans;if(this.isPrintLayout){if(this.pinned!=null)return 0;return J.getContainerWidth("right")+J.getContainerWidth("left")+J.getContainerWidth(null)}return J.getContainerWidth(this.pinned)}onRowHeightChanged(){if(!this.comp)return;let{topOffset:J,rowHeight:Z}=this.getTopAndHeight();this.comp.setTop(J+"px"),this.comp.setHeight(Z+"px")}getTopAndHeight(){let J=0,Z=o8(this.beans);for(let Y=0;Y{let{focusSvc:Y,visibleCols:Q}=this.beans;if(!Y.isHeaderWrapperFocused(X))return!1;return Q.isVisible(X.column)};if(J)for(let[X,Y]of J)if($(Y))this.ctrlsById.set(X,Y);else this.destroyBean(Y);return this.allCtrls=Array.from(this.ctrlsById.values()),this.allCtrls}getHeaderCellCtrls(){return this.allCtrls}recycleAndCreateHeaderCtrls(J,Z,$){if(J.isEmptyGroup())return;let X=J.getUniqueId(),Y;if($)Y=$.get(X),$.delete(X);if(Y&&Y.column!=J)this.destroyBean(Y),Y=void 0;if(Y==null)switch(this.type){case"filter":{Y=this.createBean(this.beans.registry.createDynamicBean("headerFilterCellCtrl",!0,J,this));break}case"group":Y=this.createBean(this.beans.registry.createDynamicBean("headerGroupCellCtrl",!0,J,this));break;default:Y=this.createBean(new Lz(J,this));break}Z.set(X,Y)}getColumnsInViewport(){if(!this.isPrintLayout)return this.getComponentsToRender();if(this.pinned)return[];let J=[];for(let Z of["left",null,"right"])J.push(...this.getComponentsToRender(Z));return J}getComponentsToRender(J=this.pinned){if(this.type==="group")return this.beans.colViewport.getHeadersToRender(J,this.rowIndex);return this.beans.colViewport.getColumnHeadersToRender(J)}focusHeader(J,Z){let $=this.allCtrls.find((Y)=>Y.column==J);if(!$)return!1;return $.focus(Z)}destroy(){this.allCtrls=this.destroyBeans(this.allCtrls),this.ctrlsById=void 0,this.comp=null,super.destroy()}},Dz=class extends M{constructor(J){super();this.pinned=J,this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[]}setComp(J,Z){this.comp=J,this.eViewport=Z;let{pinnedCols:$,ctrlsSvc:X,colModel:Y,colMoves:Q}=this.beans;this.setupCenterWidth(),$?.setupHeaderPinnedWidth(this),this.setupDragAndDrop(Q,this.eViewport);let q=this.refresh.bind(this,!0);this.addManagedEventListeners({displayedColumnsChanged:q,advancedFilterEnabledChanged:q});let H=`${typeof this.pinned==="string"?this.pinned:"center"}Header`;if(X.register(H,this),Y.ready)this.refresh()}getAllCtrls(){let J=[...this.groupsRowCtrls];if(this.columnsRowCtrl)J.push(this.columnsRowCtrl);if(this.filtersRowCtrl)J.push(this.filtersRowCtrl);return J}refresh(J=!1){let{focusSvc:Z,filterManager:$,visibleCols:X}=this.beans,Y=0,Q=Z.getFocusHeaderToUseAfterRefresh(),q=()=>{let W=X.headerGroupRowCount;if(Y=W,!J)this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls);let G=this.groupsRowCtrls.length;if(G===W)return;if(G>W){for(let B=W;B{let W=Y++;if(this.hidden){this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl);return}if(this.columnsRowCtrl==null||!J)this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl),this.columnsRowCtrl=this.createBean(new T7(W,this.pinned,"column"));else if(this.columnsRowCtrl.rowIndex!==W)this.columnsRowCtrl.setRowIndex(W)},_=()=>{this.includeFloatingFilter=!!$?.hasFloatingFilters()&&!this.hidden;let W=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter){W();return}if(!J)W();let G=Y++;if(this.filtersRowCtrl){if(this.filtersRowCtrl.rowIndex!==G)this.filtersRowCtrl.setRowIndex(G)}else this.filtersRowCtrl=this.createBean(new T7(G,this.pinned,"filter"))},z=this.getAllCtrls();q(),H(),_();let U=this.getAllCtrls();if(this.comp.setCtrls(U),this.restoreFocusOnHeader(Z,Q),z.length!==U.length)this.beans.eventSvc.dispatchEvent({type:"headerRowsChanged"})}getHeaderCtrlForColumn(J){let Z=($)=>$?.getHeaderCellCtrls().find((X)=>X.column===J);if($Z(J))return Z(this.columnsRowCtrl);if(this.groupsRowCtrls.length===0)return;for(let $=0;$this.comp.setCenterWidth(`${J}px`),!0))}},kz={tag:"div",cls:"ag-pinned-left-header",role:"rowgroup"},Vz={tag:"div",cls:"ag-pinned-right-header",role:"rowgroup"},jz={tag:"div",cls:"ag-header-viewport",role:"rowgroup",attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eCenterContainer",cls:"ag-header-container",role:"presentation"}]},v7=class extends y{constructor(J){super();this.eCenterContainer=S,this.headerRowComps={},this.rowCompsList=[],this.pinned=J}postConstruct(){this.selectAndSetTemplate();let J={setDisplayed:($)=>this.setDisplayed($),setCtrls:($)=>this.setCtrls($),setCenterWidth:($)=>this.eCenterContainer.style.width=$,setViewportScrollLeft:($)=>this.getGui().scrollLeft=$,setPinnedContainerWidth:($)=>{let X=this.getGui();X.style.width=$,X.style.maxWidth=$,X.style.minWidth=$}};this.createManagedBean(new Dz(this.pinned)).setComp(J,this.getGui())}selectAndSetTemplate(){let J=this.pinned=="left",Z=this.pinned=="right",$=J?kz:Z?Vz:jz;this.setTemplate($),this.eRowContainer=this.eCenterContainer!==S?this.eCenterContainer:this.getGui()}destroy(){this.setCtrls([]),super.destroy()}destroyRowComp(J){this.destroyBean(J),J.getGui().remove()}setCtrls(J){let Z=this.headerRowComps;this.headerRowComps={},this.rowCompsList=[];let $,X=(Y)=>{let Q=Y.getGui();if(Q.parentElement!=this.eRowContainer)this.eRowContainer.appendChild(Q);if($)xX(this.eRowContainer,Q,$);$=Q};for(let Y of J){let Q=Y.instanceId,q=Z[Q];delete Z[Q];let H=q?q:this.createBean(new Wz(Y));this.headerRowComps[Q]=H,this.rowCompsList.push(H),X(H)}for(let Y of Object.values(Z))this.destroyRowComp(Y)}},Az={tag:"div",cls:"ag-header",role:"presentation"},Mz=class extends y{constructor(){super(Az)}postConstruct(){let J={toggleCss:(X,Y)=>this.toggleCss(X,Y),setHeightAndMinHeight:(X)=>{this.getGui().style.height=X,this.getGui().style.minHeight=X}};this.createManagedBean(new Yz).setComp(J,this.getGui(),this.getFocusableElement());let $=(X)=>{this.createManagedBean(X),this.appendChild(X)};$(new v7("left")),$(new v7(null)),$(new v7("right"))}},Rz={selector:"AG-HEADER-ROOT",component:Mz},WZ={AUTO_HEIGHT:"ag-layout-auto-height",NORMAL:"ag-layout-normal",PRINT:"ag-layout-print"},Y9=class extends M{constructor(J){super();this.view=J}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){let J=this.gos.get("domLayout"),Z={autoHeight:J==="autoHeight",normal:J==="normal",print:J==="print"},$=Z.autoHeight?WZ.AUTO_HEIGHT:Z.print?WZ.PRINT:WZ.NORMAL;this.view.updateLayoutClasses($,Z)}},nY=class extends y{constructor(J,Z){super();this.direction=Z,this.eViewport=S,this.eContainer=S,this.hideTimeout=0,this.setTemplate(J)}postConstruct(){this.addManagedEventListeners({scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this)}),this.onScrollVisibilityChanged(),this.toggleCss("ag-apple-scrollbar",PY()||C0())}destroy(){super.destroy(),window.clearTimeout(this.hideTimeout)}initialiseInvisibleScrollbar(){if(this.invisibleScrollbar!==void 0)return;if(this.invisibleScrollbar=vY(),this.invisibleScrollbar)this.hideAndShowInvisibleScrollAsNeeded(),this.addActiveListenerToggles()}addActiveListenerToggles(){let J=this.getGui(),Z=()=>this.toggleCss("ag-scrollbar-active",!0),$=()=>this.toggleCss("ag-scrollbar-active",!1);this.addManagedListeners(J,{mouseenter:Z,mousedown:Z,touchstart:Z,mouseleave:$,touchend:$})}onScrollVisibilityChanged(){if(this.invisibleScrollbar===void 0)this.initialiseInvisibleScrollbar();qZ(this.beans,()=>this.setScrollVisible())}hideAndShowInvisibleScrollAsNeeded(){this.addManagedEventListeners({bodyScroll:(J)=>{if(J.direction===this.direction){if(this.hideTimeout)window.clearTimeout(this.hideTimeout),this.hideTimeout=0;this.toggleCss("ag-scrollbar-scrolling",!0)}},bodyScrollEnd:()=>{this.hideTimeout=window.setTimeout(()=>{this.toggleCss("ag-scrollbar-scrolling",!1),this.hideTimeout=0},400)}})}attemptSettingScrollPosition(J){let Z=this.eViewport;v8(this,()=>AJ(Z),()=>this.setScrollPosition(J),100)}onScrollCallback(J){this.addManagedElementListeners(this.eViewport,{scroll:J})}},Oz={tag:"div",cls:"ag-body-horizontal-scroll",attrs:{"aria-hidden":"true"},children:[{tag:"div",ref:"eLeftSpacer",cls:"ag-horizontal-left-spacer"},{tag:"div",ref:"eViewport",cls:"ag-body-horizontal-scroll-viewport",children:[{tag:"div",ref:"eContainer",cls:"ag-body-horizontal-scroll-container"}]},{tag:"div",ref:"eRightSpacer",cls:"ag-horizontal-right-spacer"}]},Sz=class extends nY{constructor(){super(Oz,"horizontal");this.eLeftSpacer=S,this.eRightSpacer=S,this.setScrollVisibleDebounce=0}wireBeans(J){this.visibleCols=J.visibleCols,this.scrollVisibleSvc=J.scrollVisibleSvc}postConstruct(){super.postConstruct();let J=this.setFakeHScrollSpacerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:J,displayedColumnsWidthChanged:J,pinnedRowDataChanged:this.refreshCompBottom.bind(this)}),this.addManagedPropertyListener("domLayout",J),this.beans.ctrlsSvc.register("fakeHScrollComp",this),this.createManagedBean(new Z9((Z)=>this.eContainer.style.width=`${Z}px`)),this.addManagedPropertyListeners(["suppressHorizontalScroll"],this.onScrollVisibilityChanged.bind(this))}destroy(){window.clearTimeout(this.setScrollVisibleDebounce),super.destroy()}initialiseInvisibleScrollbar(){if(this.invisibleScrollbar!==void 0)return;if(this.enableRtl=this.gos.get("enableRtl"),super.initialiseInvisibleScrollbar(),this.invisibleScrollbar)this.refreshCompBottom()}refreshCompBottom(){if(!this.invisibleScrollbar)return;let J=this.beans.pinnedRowModel?.getPinnedBottomTotalHeight()??0;this.getGui().style.bottom=`${J}px`}onScrollVisibilityChanged(){super.onScrollVisibilityChanged(),this.setFakeHScrollSpacerWidths()}setFakeHScrollSpacerWidths(){let J=this.scrollVisibleSvc.verticalScrollShowing,Z=this.visibleCols.getDisplayedColumnsRightWidth(),$=!this.enableRtl&&J,X=this.scrollVisibleSvc.getScrollbarWidth();if($)Z+=X;SZ(this.eRightSpacer,Z),this.eRightSpacer.classList.toggle("ag-scroller-corner",Z<=X);let Y=this.visibleCols.getColsLeftWidth();if(this.enableRtl&&J)Y+=X;SZ(this.eLeftSpacer,Y),this.eLeftSpacer.classList.toggle("ag-scroller-corner",Y<=X)}setScrollVisible(){let J=this.scrollVisibleSvc.horizontalScrollShowing,Z=this.invisibleScrollbar,$=this.gos.get("suppressHorizontalScroll"),X=J?this.scrollVisibleSvc.getScrollbarWidth()||0:0,Q=!$?X===0&&Z?16:X:0,q=()=>{if(this.setScrollVisibleDebounce=0,this.toggleCss("ag-scrollbar-invisible",Z),w2(this.getGui(),Q),w2(this.eViewport,Q),w2(this.eContainer,Q),!Q)this.eContainer.style.setProperty("min-height","1px");this.setVisible(J,{skipAriaHidden:!0})};if(window.clearTimeout(this.setScrollVisibleDebounce),!J)q();else this.setScrollVisibleDebounce=window.setTimeout(q,100)}getScrollPosition(){return e5(this.eViewport,this.enableRtl)}setScrollPosition(J){if(!AJ(this.eViewport))this.attemptSettingScrollPosition(J);J6(this.eViewport,J,this.enableRtl)}},fz={selector:"AG-FAKE-HORIZONTAL-SCROLL",component:Sz},sY=class extends M{constructor(J,Z){super();this.eContainer=J,this.eViewport=Z}postConstruct(){this.addManagedEventListeners({rowContainerHeightChanged:this.onHeightChanged.bind(this,this.beans.rowContainerHeight)})}onHeightChanged(J){let Z=J.uiContainerHeight,$=Z!=null?`${Z}px`:"";if(this.eContainer.style.height=$,this.eViewport)this.eViewport.style.height=$}},Pz={tag:"div",cls:"ag-body-vertical-scroll",attrs:{"aria-hidden":"true"},children:[{tag:"div",ref:"eViewport",cls:"ag-body-vertical-scroll-viewport",children:[{tag:"div",ref:"eContainer",cls:"ag-body-vertical-scroll-container"}]}]},Tz=class extends nY{constructor(){super(Pz,"vertical")}postConstruct(){super.postConstruct(),this.createManagedBean(new sY(this.eContainer));let{ctrlsSvc:J}=this.beans;J.register("fakeVScrollComp",this),this.addManagedEventListeners({rowContainerHeightChanged:this.onRowContainerHeightChanged.bind(this,J)})}setScrollVisible(){let{scrollVisibleSvc:J}=this.beans,Z=J.verticalScrollShowing,$=this.invisibleScrollbar,X=Z?J.getScrollbarWidth()||0:0,Y=X===0&&$?16:X;this.toggleCss("ag-scrollbar-invisible",$),SZ(this.getGui(),Y),SZ(this.eViewport,Y),SZ(this.eContainer,Y),this.setDisplayed(Z,{skipAriaHidden:!0})}onRowContainerHeightChanged(J){let $=J.getGridBodyCtrl().eBodyViewport,X=this.getScrollPosition(),Y=$.scrollTop;if(X!=Y)this.setScrollPosition(Y,!0)}getScrollPosition(){return this.eViewport.scrollTop}setScrollPosition(J,Z){if(!Z&&!AJ(this.eViewport))this.attemptSettingScrollPosition(J);this.eViewport.scrollTop=J}},vz={selector:"AG-FAKE-VERTICAL-SCROLL",component:Tz};var rZ="Viewport",k$="fakeVScrollComp",I7=["fakeHScrollComp","centerHeader","topCenter","bottomCenter","stickyTopCenter","stickyBottomCenter"],V$=100,b7=150,Iz=class extends M{constructor(J){super();this.clearRetryListenerFncs=[],this.lastScrollSource=[null,null],this.scrollLeft=-1,this.nextScrollTop=-1,this.scrollTop=-1,this.lastOffsetHeight=-1,this.lastScrollTop=-1,this.lastIsHorizontalScrollShowing=!1,this.scrollTimer=0,this.isScrollActive=!1,this.isVerticalPositionInvalidated=!0,this.isHorizontalPositionInvalidated=!0,this.eBodyViewport=J,this.resetLastHScrollDebounced=gZ(this,()=>this.lastScrollSource[1]=null,b7),this.resetLastVScrollDebounced=gZ(this,()=>this.lastScrollSource[0]=null,b7)}wireBeans(J){this.ctrlsSvc=J.ctrlsSvc,this.animationFrameSvc=J.animationFrameSvc,this.visibleCols=J.visibleCols}destroy(){super.destroy(),this.clearRetryListenerFncs=[],window.clearTimeout(this.scrollTimer)}postConstruct(){this.enableRtl=this.gos.get("enableRtl");let J=this.invalidateVerticalScroll.bind(this),Z=this.invalidateHorizontalScroll.bind(this);this.addManagedEventListeners({displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this),bodyHeightChanged:J,scrollGapChanged:Z}),this.addManagedElementListeners(this.eBodyViewport,{scroll:J}),this.ctrlsSvc.whenReady(this,($)=>{this.centerRowsCtrl=$.center,this.fakeVScrollComp=$.fakeVScrollComp,this.fakeHScrollComp=$.fakeHScrollComp,this.onDisplayedColumnsWidthChanged(),this.addScrollListener()})}invalidateHorizontalScroll(){this.isHorizontalPositionInvalidated=!0}invalidateVerticalScroll(){this.isVerticalPositionInvalidated=!0}addScrollListener(){this.addHorizontalScrollListeners(),this.addVerticalScrollListeners()}addHorizontalScrollListeners(){this.addManagedElementListeners(this.centerRowsCtrl.eViewport,{scroll:this.onHScroll.bind(this,rZ)});for(let J of I7){let Z=this.ctrlsSvc.get(J);this.registerScrollPartner(Z,this.onHScroll.bind(this,J))}}addVerticalScrollListeners(){let J=this.gos.get("debounceVerticalScrollbar"),Z=J?gZ(this,this.onVScroll.bind(this,rZ),V$):this.onVScroll.bind(this,rZ),$=J?gZ(this,this.onVScroll.bind(this,k$),V$):this.onVScroll.bind(this,k$);this.addManagedElementListeners(this.eBodyViewport,{scroll:Z}),this.registerScrollPartner(this.fakeVScrollComp,$)}registerScrollPartner(J,Z){J.onScrollCallback(Z)}onDisplayedColumnsWidthChanged(){if(this.enableRtl)this.horizontallyScrollHeaderCenterAndFloatingCenter()}horizontallyScrollHeaderCenterAndFloatingCenter(J){if(this.centerRowsCtrl==null)return;if(J===void 0)J=this.centerRowsCtrl.getCenterViewportScrollLeft();this.setScrollLeftForAllContainersExceptCurrent(Math.abs(J))}setScrollLeftForAllContainersExceptCurrent(J){for(let Z of[...I7,rZ]){if(this.lastScrollSource[1]===Z)continue;let $=this.getViewportForSource(Z);J6($,J,this.enableRtl)}}getViewportForSource(J){if(J===rZ)return this.centerRowsCtrl.eViewport;return this.ctrlsSvc.get(J).eViewport}isControllingScroll(J,Z){if(this.lastScrollSource[Z]==null){if(Z===0)this.lastScrollSource[0]=J;else this.lastScrollSource[1]=J;return!0}return this.lastScrollSource[Z]===J}onHScroll(J){if(!this.isControllingScroll(J,1))return;let Z=this.centerRowsCtrl.eViewport,{scrollLeft:$}=Z;if(this.shouldBlockScrollUpdate(1,$,!0))return;let X=e5(this.getViewportForSource(J),this.enableRtl);this.doHorizontalScroll(X),this.resetLastHScrollDebounced()}onVScroll(J){if(!this.isControllingScroll(J,0))return;let Z=J===rZ?this.eBodyViewport.scrollTop:this.fakeVScrollComp.getScrollPosition(),$=Z;if(this.shouldBlockScrollUpdate(0,$,!0))return;if(J===rZ)this.fakeVScrollComp.setScrollPosition($);else if(this.eBodyViewport.scrollTop=Z,$=this.eBodyViewport.scrollTop,this.invalidateVerticalScroll(),$!==Z)this.fakeVScrollComp.setScrollPosition($,!0);let{animationFrameSvc:X}=this;if(X?.setScrollTop($),this.nextScrollTop=$,X?.active)X.schedule();else this.scrollGridIfNeeded(!0);this.resetLastVScrollDebounced()}doHorizontalScroll(J){let Z=this.fakeHScrollComp.getScrollPosition();if(this.scrollLeft===J&&J===Z)return;this.scrollLeft=J,this.fireScrollEvent(1),this.horizontallyScrollHeaderCenterAndFloatingCenter(J),this.centerRowsCtrl.onHorizontalViewportChanged(!0)}isScrolling(){return this.isScrollActive}fireScrollEvent(J){let Z={type:"bodyScroll",direction:J===1?"horizontal":"vertical",left:this.scrollLeft,top:this.scrollTop};this.isScrollActive=!0,this.eventSvc.dispatchEvent(Z),window.clearTimeout(this.scrollTimer),this.scrollTimer=window.setTimeout(()=>{this.scrollTimer=0,this.isScrollActive=!1,this.eventSvc.dispatchEvent({...Z,type:"bodyScrollEnd"})},b7)}shouldBlockScrollUpdate(J,Z,$=!1){if($&&!C0())return!1;if(J===0)return this.shouldBlockVerticalScroll(Z);return this.shouldBlockHorizontalScroll(Z)}shouldBlockVerticalScroll(J){let Z=A6(this.eBodyViewport),{scrollHeight:$}=this.eBodyViewport;return J<0||J+Z>$}shouldBlockHorizontalScroll(J){let Z=this.centerRowsCtrl.getCenterWidth(),{scrollWidth:$}=this.centerRowsCtrl.eViewport;if(this.enableRtl){if(J>0)return!0}else if(J<0)return!0;return Math.abs(J)+Z>$}redrawRowsAfterScroll(){this.fireScrollEvent(0)}checkScrollLeft(){let J=this.scrollLeft,Z=!1;for(let $ of I7)if(this.getViewportForSource($).scrollLeft!==J){Z=!0;break}if(Z)this.onHScroll(rZ)}scrollGridIfNeeded(J=!1){let Z=this.scrollTop!=this.nextScrollTop;if(Z){if(this.scrollTop=this.nextScrollTop,J)this.invalidateVerticalScroll();this.redrawRowsAfterScroll()}return Z}setHorizontalScrollPosition(J,Z=!1){let X=this.centerRowsCtrl.eViewport.scrollWidth-this.centerRowsCtrl.getCenterWidth();if(!Z&&this.shouldBlockScrollUpdate(1,J))if(this.enableRtl)J=J>0?0:X;else J=Math.min(Math.max(J,0),X);J6(this.centerRowsCtrl.eViewport,Math.abs(J),this.enableRtl),this.doHorizontalScroll(J)}setVerticalScrollPosition(J){this.invalidateVerticalScroll(),this.eBodyViewport.scrollTop=J}getVScrollPosition(){if(!this.isVerticalPositionInvalidated){let{lastOffsetHeight:$,lastScrollTop:X}=this;return{top:X,bottom:X+$}}this.isVerticalPositionInvalidated=!1;let{scrollTop:J,offsetHeight:Z}=this.eBodyViewport;return this.lastScrollTop=J,this.lastOffsetHeight=Z,{top:J,bottom:J+Z}}getApproximateVScollPosition(){if(this.lastScrollTop>=0&&this.lastOffsetHeight>=0)return{top:this.scrollTop,bottom:this.scrollTop+this.lastOffsetHeight};return this.getVScrollPosition()}getHScrollPosition(){return this.centerRowsCtrl.getHScrollPosition()}isHorizontalScrollShowing(){if(this.isHorizontalPositionInvalidated)this.lastIsHorizontalScrollShowing=this.centerRowsCtrl.isHorizontalScrollShowing(),this.isHorizontalPositionInvalidated=!1;return this.lastIsHorizontalScrollShowing}scrollHorizontally(J){let Z=this.centerRowsCtrl.eViewport.scrollLeft;return this.setHorizontalScrollPosition(Z+J),this.centerRowsCtrl.eViewport.scrollLeft-Z}scrollToTop(){this.setVerticalScrollPosition(0)}ensureNodeVisible(J,Z=null){let{rowModel:$}=this.beans,X=$.getRowCount(),Y=-1;for(let Q=0;Q=0)this.ensureIndexVisible(Y,Z)}ensureIndexVisible(J,Z,$=0){if(jJ(this.gos,"print"))return;let{rowModel:X}=this.beans,Y=X.getRowCount();if(typeof J!=="number"||J<0||J>=Y){O(88,{index:J});return}this.clearRetryListeners();let{frameworkOverrides:Q,pageBounds:q,rowContainerHeight:H,rowRenderer:_}=this.beans;Q.wrapIncoming(()=>{let z=this.ctrlsSvc.getGridBodyCtrl(),U=X.getRow(J),W,G,B=0;this.invalidateVerticalScroll();do{let{stickyTopHeight:K,stickyBottomHeight:E}=z,L=U.rowTop,F=U.rowHeight,D=q.getPixelOffset(),k=U.rowTop-D,j=k+U.rowHeight,A=this.getVScrollPosition(),R=H.divStretchOffset,f=A.top+R,I=A.bottom+R,v=I-f,b=H.getScrollPositionForPixel(k),m=H.getScrollPositionForPixel(j-v),N=Math.min((b+m)/2,k),a=f+K>k,s=I-Ev)u=b-K;else u=m+E;if(u!==null)this.setVerticalScrollPosition(u),_.redraw({afterScroll:!0});W=L!==U.rowTop||F!==U.rowHeight,G=K!==z.stickyTopHeight||E!==z.stickyBottomHeight,B++}while((W||G)&&B<10);if(this.animationFrameSvc?.flushAllFrames(),$<10&&(U?.stub||!this.beans.rowAutoHeight?.areRowsMeasured())){let K=this.getVScrollPosition().top;this.clearRetryListenerFncs=this.addManagedEventListeners({bodyScroll:()=>{let E=this.getVScrollPosition().top;if(K===E)return;this.clearRetryListeners()},modelUpdated:()=>{if(this.clearRetryListeners(),J>=X.getRowCount())return;this.ensureIndexVisible(J,Z,$+1)}})}})}clearRetryListeners(){for(let J of this.clearRetryListenerFncs)J();this.clearRetryListenerFncs=[]}ensureColumnVisible(J,Z="auto"){let{colModel:$,frameworkOverrides:X}=this.beans,Y=$.getCol(J);if(!Y)return;if(Y.isPinned())return;if(!this.visibleCols.isColDisplayed(Y))return;let Q=this.getPositionedHorizontalScroll(Y,Z);X.wrapIncoming(()=>{if(Q!==null)this.centerRowsCtrl.setCenterViewportScrollLeft(Q);this.centerRowsCtrl.onHorizontalViewportChanged(),this.animationFrameSvc?.flushAllFrames()})}getPositionedHorizontalScroll(J,Z){let{columnBeforeStart:$,columnAfterEnd:X}=this.isColumnOutsideViewport(J),Y=this.centerRowsCtrl.getCenterWidth()Y:$X;return{columnBeforeStart:q,columnAfterEnd:H}}getColumnBounds(J){let Z=this.enableRtl,$=this.visibleCols.bodyWidth,X=J.getActualWidth(),Y=J.getLeft(),Q=Z?-1:1,q=Z?$-Y:Y,H=q+X*Q,_=q+X/2*Q;return{colLeft:q,colMiddle:_,colRight:H}}getViewportBounds(){let J=this.centerRowsCtrl.getCenterWidth(),Z=this.centerRowsCtrl.getCenterViewportScrollLeft(),$=Z,X=J+Z;return{start:$,end:X,width:J}}},j$={horizontal:{overflow:(J)=>J.scrollWidth-J.clientWidth,scrollSize:(J)=>J.scrollWidth,clientSize:(J)=>J.clientWidth,opposite:"vertical"},vertical:{overflow:(J)=>J.scrollHeight-J.clientHeight,scrollSize:(J)=>J.scrollHeight,clientSize:(J)=>J.clientHeight,opposite:"horizontal"}};function bz(J,Z,$=n8()||0,X,Y){return rY(J,Z,"horizontal",$,X,Y)}function Cz(J,Z,$=n8()||0,X,Y){return rY(J,Z,"vertical",$,X,Y)}function rY(J,Z,$,X,Y,Q){let q=j$[$],H=j$[q.opposite],_=Y?AJ(Y):!0,z=Q?AJ(Q):!0,U=q.overflow(J);if(U<=0)return!1;if(!Z||X===0)return!0;let W=H.overflow(Z);if(W<=0)return!0;if(U<=X){if(_&&z&&xz({candidateOverflow:W,candidateScrollSize:H.scrollSize(Z),candidateClientSize:H.clientSize(Z),scrollbarWidth:X}))return!1;let G=q.clientSize(J)+X;return q.scrollSize(J)<=G}return!0}function xz({candidateOverflow:J,candidateScrollSize:Z,candidateClientSize:$,scrollbarWidth:X}){if(J<=0||J>X)return!1;let Y=$+X;return Z>$&&Z<=Y}var yz=class extends M{constructor(J){super();this.centerContainerCtrl=J}wireBeans(J){this.scrollVisibleSvc=J.scrollVisibleSvc}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(J)=>{this.gridBodyCtrl=J.gridBodyCtrl,this.listenForResize()}),this.addManagedEventListeners({scrollbarWidthChanged:this.onScrollbarWidthChanged.bind(this)}),this.addManagedPropertyListeners(["alwaysShowHorizontalScroll","alwaysShowVerticalScroll"],()=>{this.checkViewportAndScrolls()})}listenForResize(){let{beans:J,centerContainerCtrl:Z,gridBodyCtrl:$}=this,X=()=>{qZ(J,()=>{this.onCenterViewportResized()})};Z.registerViewportResizeListener(X),$.registerBodyViewportResizeListener(X)}onScrollbarWidthChanged(){this.checkViewportAndScrolls()}onCenterViewportResized(){if(this.scrollVisibleSvc.updateScrollGap(),this.centerContainerCtrl.isViewportInTheDOMTree()){let{pinnedCols:J,colFlex:Z}=this.beans;J?.keepPinnedColumnsNarrowerThanViewport(),this.checkViewportAndScrolls();let $=this.centerContainerCtrl.getCenterWidth();if($!==this.centerWidth)this.centerWidth=$,Z?.refreshFlexedColumns({viewportWidth:this.centerWidth,updateBodyWidths:!0,fireResizedEvent:!0})}else this.bodyHeight=0}checkViewportAndScrolls(){this.updateScrollVisibleService(),this.checkBodyHeight(),this.onHorizontalViewportChanged(),this.gridBodyCtrl.scrollFeature.checkScrollLeft()}getBodyHeight(){return this.bodyHeight}checkBodyHeight(){let J=this.gridBodyCtrl.eBodyViewport,Z=A6(J);if(this.bodyHeight!==Z)this.bodyHeight=Z,this.eventSvc.dispatchEvent({type:"bodyHeightChanged"})}updateScrollVisibleService(){this.updateScrollVisibleServiceImpl(),setTimeout(this.updateScrollVisibleServiceImpl.bind(this),500)}updateScrollVisibleServiceImpl(){if(!this.isAlive())return;let J={horizontalScrollShowing:this.centerContainerCtrl.isHorizontalScrollShowing(),verticalScrollShowing:this.gridBodyCtrl.isVerticalScrollShowing()};this.scrollVisibleSvc.setScrollsVisible(J)}onHorizontalViewportChanged(){let{centerContainerCtrl:J,beans:Z}=this,$=J.getCenterWidth(),X=J.getViewportScrollLeft();Z.colViewport.setScrollPosition($,X)}};function tY(J){if(J.altKey||J.ctrlKey||J.metaKey)return!1;return J.key?.length===1}function s5(J,Z,$,X){let Y=Z.getColDef().cellRendererParams?.suppressMouseEventHandling;return lY(J,Z,$,X,Y)}function Nz(J,Z,$,X){let Y=Z?.suppressMouseEventHandling;return lY(J,void 0,$,X,Y)}function lY(J,Z,$,X,Y){if(!Y)return!1;return Y(x(J,{column:Z,node:$,event:X}))}function aY(J,Z,$){let X=Z;while(X){let Y=$Y(J,X,$);if(Y)return Y;X=X.parentElement}return null}var _6="cellCtrl";function K5(J,Z){return aY(J,Z,_6)}var z6="renderedRow";function Q9(J,Z){return aY(J,Z,z6)}function _8(J,Z,$,X,Y){let Q=X?X.getColDef().suppressKeyboardEvent:void 0;if(!Q)return!1;let q=x(J,{event:Z,editing:Y,column:X,node:$,data:$.data,colDef:X.getColDef()});if(Q){if(Q(q))return!0}return!1}function wz(J){let{pinnedRowModel:Z,rowModel:$,rangeSvc:X,visibleCols:Y}=J;if(!X||Y.allCols.length===0)return;let Q=Z?.isEmpty("top")??!0,q=Z?.isEmpty("bottom")??!0,H=Q?null:"top",_,z;if(q)_=null,z=$.getRowCount()-1;else _="bottom",z=Z?.getPinnedBottomRowCount()??-1;X.setCellRange({rowStartIndex:0,rowStartPinned:H,rowEndIndex:z,rowEndPinned:_})}var gz=class extends M{constructor(J){super();this.element=J}postConstruct(){this.addKeyboardListeners(),this.addMouseListeners(),this.beans.touchSvc?.mockRowContextMenu(this),this.editSvc=this.beans.editSvc}addKeyboardListeners(){let Z=this.processKeyboardEvent.bind(this,"keydown");this.addManagedElementListeners(this.element,{["keydown"]:Z})}addMouseListeners(){let J="mousedown";if(t7("pointerdown"))J="pointerdown";else if(t7("touchstart"))J="touchstart";let Z=["dblclick","contextmenu","mouseover","mouseout","click",J];for(let $ of Z){let X=this.processMouseEvent.bind(this,$);this.addManagedElementListeners(this.element,{[$]:X})}}processMouseEvent(J,Z){if(!d2(this.beans,Z)||ZZ(Z))return;let{cellCtrl:$,rowCtrl:X}=this.getControlsForEventTarget(Z.target);if(J==="contextmenu"){if($?.column)$.dispatchCellContextMenuEvent(Z);this.beans.contextMenuSvc?.handleContextMenuMouseEvent(Z,void 0,X,$)}else{if($)$.onMouseEvent(J,Z);if(X)X.onMouseEvent(J,Z)}}getControlsForEventTarget(J){let{gos:Z}=this;return{cellCtrl:K5(Z,J),rowCtrl:Q9(Z,J)}}processKeyboardEvent(J,Z){let{cellCtrl:$,rowCtrl:X}=this.getControlsForEventTarget(Z.target);if(Z.defaultPrevented)return;if($)this.processCellKeyboardEvent($,J,Z);else if(X?.isFullWidth())this.processFullWidthRowKeyboardEvent(X,J,Z)}processCellKeyboardEvent(J,Z,$){let X=this.editSvc?.isEditing(J,{withOpenEditor:!0})??!1;if(!_8(this.gos,$,J.rowNode,J.column,X)){if(Z==="keydown"){if(!(!X&&this.beans.navigation?.handlePageScrollingKey($)))J.onKeyDown($);if(this.doGridOperations($,X),tY($))J.processCharacter($)}}if(Z==="keydown")this.eventSvc.dispatchEvent(J.createEvent($,"cellKeyDown"))}processFullWidthRowKeyboardEvent(J,Z,$){let{rowNode:X}=J,{focusSvc:Y,navigation:Q}=this.beans,H=Y.getFocusedCell()?.column;if(!_8(this.gos,$,X,H,!1)){let z=$.key;if(Z==="keydown")switch(z){case V.PAGE_HOME:case V.PAGE_END:case V.PAGE_UP:case V.PAGE_DOWN:Q?.handlePageScrollingKey($,!0);break;case V.LEFT:case V.RIGHT:if(!this.gos.get("embedFullWidthRows"))break;case V.UP:case V.DOWN:J.onKeyboardNavigate($);break;case V.TAB:J.onTabKeyDown($);break;default:}}if(Z==="keydown")this.eventSvc.dispatchEvent(J.createRowEvent("cellKeyDown",$))}doGridOperations(J,Z){if(!J.ctrlKey&&!J.metaKey)return;if(Z)return;if(!d2(this.beans,J))return;let $=jY(J),{clipboardSvc:X,undoRedo:Y}=this.beans;if($===V.A)return this.onCtrlAndA(J);if($===V.C)return this.onCtrlAndC(X,J);if($===V.D)return this.onCtrlAndD(X,J);if($===V.V)return this.onCtrlAndV(X,J);if($===V.X)return this.onCtrlAndX(X,J);if($===V.Y)return this.onCtrlAndY(Y);if($===V.Z)return this.onCtrlAndZ(Y,J)}onCtrlAndA(J){let{beans:{rowModel:Z,rangeSvc:$,selectionSvc:X},gos:Y}=this;if($&&uJ(Y)&&!vH(Y)&&Z.isRowsToRender())wz(this.beans);else if(X)X.selectAllRowNodes({source:"keyboardSelectAll",selectAll:HY(Y)});J.preventDefault()}onCtrlAndC(J,Z){if(!J||this.gos.get("enableCellTextSelection"))return;let{cellCtrl:$}=this.getControlsForEventTarget(Z.target);if(this.editSvc?.isEditing($,{withOpenEditor:!0}))return;Z.preventDefault(),J.copyToClipboard()}onCtrlAndX(J,Z){if(!J||this.gos.get("enableCellTextSelection")||this.gos.get("suppressCutToClipboard"))return;let{cellCtrl:$}=this.getControlsForEventTarget(Z.target);if(this.editSvc?.isEditing($,{withOpenEditor:!0}))return;Z.preventDefault(),J.cutToClipboard(void 0,"ui")}onCtrlAndV(J,Z){let{cellCtrl:$}=this.getControlsForEventTarget(Z.target);if(this.editSvc?.isEditing($,{withOpenEditor:!0}))return;if(J&&!this.gos.get("suppressClipboardPaste"))J.pasteFromClipboard()}onCtrlAndD(J,Z){if(J&&!this.gos.get("suppressClipboardPaste"))J.copyRangeDown();Z.preventDefault()}onCtrlAndZ(J,Z){if(!this.gos.get("undoRedoCellEditing")||!J)return;if(Z.preventDefault(),Z.shiftKey)J.redo("ui");else J.undo("ui")}onCtrlAndY(J){J?.redo("ui")}},x5=(J)=>J.topRowCtrls,y5=(J)=>J.getStickyTopRowCtrls(),N5=(J)=>J.getStickyBottomRowCtrls(),w5=(J)=>J.bottomRowCtrls,g5=(J)=>J.allRowCtrls,C7=(J)=>J.getCtrls("top"),x7=(J)=>J.getCtrls("center"),y7=(J)=>J.getCtrls("bottom"),hz={center:{type:"center",name:"center-cols",getRowCtrls:g5,getSpannedRowCtrls:x7},left:{type:"left",name:"pinned-left-cols",pinnedType:"left",getRowCtrls:g5,getSpannedRowCtrls:x7},right:{type:"right",name:"pinned-right-cols",pinnedType:"right",getRowCtrls:g5,getSpannedRowCtrls:x7},fullWidth:{type:"fullWidth",name:"full-width",fullWidth:!0,getRowCtrls:g5},topCenter:{type:"center",name:"floating-top",getRowCtrls:x5,getSpannedRowCtrls:C7},topLeft:{type:"left",name:"pinned-left-floating",container:"ag-pinned-left-floating-top",pinnedType:"left",getRowCtrls:x5,getSpannedRowCtrls:C7},topRight:{type:"right",name:"pinned-right-floating",container:"ag-pinned-right-floating-top",pinnedType:"right",getRowCtrls:x5,getSpannedRowCtrls:C7},topFullWidth:{type:"fullWidth",name:"floating-top-full-width",fullWidth:!0,getRowCtrls:x5},stickyTopCenter:{type:"center",name:"sticky-top",getRowCtrls:y5},stickyTopLeft:{type:"left",name:"pinned-left-sticky-top",container:"ag-pinned-left-sticky-top",pinnedType:"left",getRowCtrls:y5},stickyTopRight:{type:"right",name:"pinned-right-sticky-top",container:"ag-pinned-right-sticky-top",pinnedType:"right",getRowCtrls:y5},stickyTopFullWidth:{type:"fullWidth",name:"sticky-top-full-width",fullWidth:!0,getRowCtrls:y5},stickyBottomCenter:{type:"center",name:"sticky-bottom",getRowCtrls:N5},stickyBottomLeft:{type:"left",name:"pinned-left-sticky-bottom",container:"ag-pinned-left-sticky-bottom",pinnedType:"left",getRowCtrls:N5},stickyBottomRight:{type:"right",name:"pinned-right-sticky-bottom",container:"ag-pinned-right-sticky-bottom",pinnedType:"right",getRowCtrls:N5},stickyBottomFullWidth:{type:"fullWidth",name:"sticky-bottom-full-width",fullWidth:!0,getRowCtrls:N5},bottomCenter:{type:"center",name:"floating-bottom",getRowCtrls:w5,getSpannedRowCtrls:y7},bottomLeft:{type:"left",name:"pinned-left-floating-bottom",container:"ag-pinned-left-floating-bottom",pinnedType:"left",getRowCtrls:w5,getSpannedRowCtrls:y7},bottomRight:{type:"right",name:"pinned-right-floating-bottom",container:"ag-pinned-right-floating-bottom",pinnedType:"right",getRowCtrls:w5,getSpannedRowCtrls:y7},bottomFullWidth:{type:"fullWidth",name:"floating-bottom-full-width",fullWidth:!0,getRowCtrls:w5}};function oY(J){return`ag-${E5(J).name}-viewport`}function eY(J){let Z=E5(J);return Z.container??`ag-${Z.name}-container`}function uz(J){return`ag-${E5(J).name}-spanned-cells-container`}function E5(J){return hz[J]}var mz=["topCenter","topLeft","topRight"],cz=["bottomCenter","bottomLeft","bottomRight"],pz=["center","left","right"],iz=["center","left","right","fullWidth"],dz=["stickyTopCenter","stickyBottomCenter","center","topCenter","bottomCenter"],nz=["left","bottomLeft","topLeft","stickyTopLeft","stickyBottomLeft"],sz=["right","bottomRight","topRight","stickyTopRight","stickyBottomRight"],J1=["stickyTopCenter","stickyTopLeft","stickyTopRight"],Z1=["stickyBottomCenter","stickyBottomLeft","stickyBottomRight"],rz=[...J1,"stickyTopFullWidth",...Z1,"stickyBottomFullWidth"],tz=[...mz,...cz,...pz,...J1,...Z1],lz=class extends M{constructor(J){super();this.name=J,this.visible=!0,this.EMPTY_CTRLS=[],this.options=E5(J)}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.forContainers(["center"],()=>{this.viewportSizeFeature=this.createManagedBean(new yz(this)),this.addManagedEventListeners({stickyTopOffsetChanged:this.onStickyTopOffsetChanged.bind(this)})})}onStickyTopOffsetChanged(J){this.comp.setOffsetTop(`${J.offset}px`)}registerWithCtrlsService(){if(this.options.fullWidth)return;this.beans.ctrlsSvc.register(this.name,this)}forContainers(J,Z){if(J.indexOf(this.name)>=0)Z()}setComp(J,Z,$,X){this.comp=J,this.eContainer=Z,this.eSpannedContainer=$,this.eViewport=X,this.createManagedBean(new gz(this.eViewport??this.eContainer)),this.addPreventScrollWhileDragging(),this.listenOnDomOrder();let{pinnedCols:Y,rangeSvc:Q}=this.beans,q=()=>this.onPinnedWidthChanged();if(this.forContainers(nz,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean(Y?.createPinnedWidthFeature(!0,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({leftPinnedWidthChanged:q})}),this.forContainers(sz,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean(Y?.createPinnedWidthFeature(!1,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({rightPinnedWidthChanged:q})}),this.forContainers(iz,()=>this.createManagedBean(new sY(this.eContainer,this.name==="center"?X:void 0))),Q)this.forContainers(tz,()=>this.createManagedBean(Q.createDragListenerFeature(this.eContainer)));this.forContainers(dz,()=>this.createManagedBean(new Z9((H)=>this.comp.setContainerWidth(`${H}px`)))),this.visible=this.isContainerVisible(),this.addListeners(),this.registerWithCtrlsService()}onScrollCallback(J){this.addManagedElementListeners(this.eViewport,{scroll:J})}addListeners(){let{spannedRowRenderer:J,gos:Z}=this.beans,$=this.onDisplayedColumnsChanged.bind(this);if(this.addManagedEventListeners({displayedColumnsChanged:$,displayedColumnsWidthChanged:$,displayedRowsChanged:(X)=>this.onDisplayedRowsChanged(X.afterScroll)}),$(),this.onDisplayedRowsChanged(),J&&this.options.getSpannedRowCtrls&&Z.get("enableCellSpan"))this.addManagedListeners(J,{spannedRowsUpdated:()=>{let X=this.options.getSpannedRowCtrls(J);if(!X)return;this.comp.setSpannedRowCtrls(X,!1)}})}listenOnDomOrder(){if(rz.indexOf(this.name)>=0){this.comp.setDomOrder(!0);return}let Z=()=>{let $=this.gos.get("ensureDomOrder"),X=jJ(this.gos,"print");this.comp.setDomOrder($||X)};this.addManagedPropertyListener("domLayout",Z),Z()}onDisplayedColumnsChanged(){this.forContainers(["center"],()=>this.onHorizontalViewportChanged())}addPreventScrollWhileDragging(){let{dragSvc:J}=this.beans;if(!J)return;let Z=($)=>{if(J.dragging){if($.cancelable)$.preventDefault()}};this.eContainer.addEventListener("touchmove",Z,{passive:!1}),this.addDestroyFunc(()=>this.eContainer.removeEventListener("touchmove",Z))}onHorizontalViewportChanged(J=!1){let Z=this.getCenterWidth(),$=this.getCenterViewportScrollLeft();this.beans.colViewport.setScrollPosition(Z,$,J)}hasHorizontalScrollGap(){return this.eContainer.clientWidth-this.eViewport.clientWidth<0}hasVerticalScrollGap(){return this.eContainer.clientHeight-this.eViewport.clientHeight<0}getCenterWidth(){return y0(this.eViewport)}getCenterViewportScrollLeft(){return e5(this.eViewport,this.enableRtl)}registerViewportResizeListener(J){let Z=DZ(this.beans,this.eViewport,J);this.addDestroyFunc(()=>Z())}isViewportInTheDOMTree(){return CX(this.eViewport)}getViewportScrollLeft(){return e5(this.eViewport,this.enableRtl)}isHorizontalScrollShowing(){let{beans:J,gos:Z,eViewport:$}=this,X=Z.get("alwaysShowHorizontalScroll"),{ctrlsSvc:Y}=J,Q=Y.getGridBodyCtrl()?.eBodyViewport,q=Y.get("fakeHScrollComp")?.getGui(),H=Y.get("fakeVScrollComp")?.getGui();return X||bz($,Q,void 0,q,H)}setHorizontalScroll(J){this.comp.setHorizontalScroll(J)}getHScrollPosition(){return{left:this.eViewport.scrollLeft,right:this.eViewport.scrollLeft+this.eViewport.offsetWidth}}setCenterViewportScrollLeft(J){J6(this.eViewport,J,this.enableRtl)}isContainerVisible(){return this.options.pinnedType==null||!!this.pinnedWidthFeature&&this.pinnedWidthFeature.getWidth()>0}onPinnedWidthChanged(){let J=this.isContainerVisible();if(this.visible!=J)this.visible=J,this.onDisplayedRowsChanged()}onDisplayedRowsChanged(J=!1){let Z=this.options.getRowCtrls(this.beans.rowRenderer);if(!this.visible||Z.length===0){this.comp.setRowCtrls({rowCtrls:this.EMPTY_CTRLS});return}let $=jJ(this.gos,"print"),Y=this.gos.get("embedFullWidthRows")||$,Q=Z.filter((q)=>{let H=q.isFullWidth();return this.options.fullWidth?!Y&&H:Y||!H});this.comp.setRowCtrls({rowCtrls:Q,useFlushSync:J})}},$1="ag-force-vertical-scroll",az="ag-selectable",oz="ag-column-moving",ez=class extends M{constructor(){super(...arguments);this.stickyTopHeight=0,this.stickyBottomHeight=0}wireBeans(J){this.ctrlsSvc=J.ctrlsSvc,this.colModel=J.colModel,this.scrollVisibleSvc=J.scrollVisibleSvc,this.pinnedRowModel=J.pinnedRowModel,this.filterManager=J.filterManager,this.rowGroupColsSvc=J.rowGroupColsSvc}setComp(J,Z,$,X,Y,Q,q){this.comp=J,this.eGridBody=Z,this.eBodyViewport=$,this.eTop=X,this.eBottom=Y,this.eStickyTop=Q,this.eStickyBottom=q,this.eCenterColsViewport=$.querySelector(`.${oY("center")}`),this.eFullWidthContainer=$.querySelector(`.${eY("fullWidth")}`),this.setCellTextSelection(this.gos.get("enableCellTextSelection")),this.addManagedPropertyListener("enableCellTextSelection",(H)=>this.setCellTextSelection(H.currentValue)),this.createManagedBean(new Y9(this.comp)),this.scrollFeature=this.createManagedBean(new Iz($)),this.beans.rowDragSvc?.setupRowDrag($,this),this.setupRowAnimationCssClass(),this.addEventListeners(),this.addFocusListeners([X,$,Y,Q,q]),this.setGridRootRole(),this.onGridColumnsChanged(),this.addBodyViewportListener(),this.setFloatingHeights(),this.disableBrowserDragging(),this.addStopEditingWhenGridLosesFocus(),this.updateScrollingClasses(),this.filterManager?.setupAdvFilterHeaderComp(X),this.ctrlsSvc.register("gridBodyCtrl",this)}addEventListeners(){let J=this.setFloatingHeights.bind(this),Z=this.setGridRootRole.bind(this),$=this.toggleRowResizeStyles.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this),scrollGapChanged:this.updateScrollingClasses.bind(this),pinnedRowDataChanged:J,pinnedHeightChanged:J,pinnedRowsChanged:J,headerHeightChanged:this.setStickyTopOffsetTop.bind(this),columnRowGroupChanged:Z,columnPivotChanged:Z,rowResizeStarted:$,rowResizeEnded:$}),this.addManagedPropertyListener("treeData",Z)}toggleRowResizeStyles(J){let Z=J.type==="rowResizeStarted";this.eBodyViewport.classList.toggle("ag-prevent-animation",Z)}onGridColumnsChanged(){let J=this.beans.colModel.getCols();this.comp.setColumnCount(J.length)}onScrollVisibilityChanged(){let{scrollVisibleSvc:J}=this,Z=J.verticalScrollShowing;this.setVerticalScrollPaddingVisible(Z),this.setStickyWidth(Z),this.setStickyBottomOffsetBottom();let $=Z?J.getScrollbarWidth()||0:0,X=vY()?16:0,Y=`calc(100% + ${$+X}px)`;qZ(this.beans,()=>this.comp.setBodyViewportWidth(Y)),this.updateScrollingClasses()}setGridRootRole(){let{rowGroupColsSvc:J,colModel:Z,gos:$}=this,X=$.get("treeData");if(!X){let Y=Z.isPivotMode();X=(!J?0:J.columns.length)>=(Y?2:1)}this.comp.setGridRootRole(X?"treegrid":"grid")}addFocusListeners(J){for(let Z of J)this.addManagedElementListeners(Z,{focusin:($)=>{let{target:X}=$,Y=v0(X,"ag-root",Z);Z.classList.toggle("ag-has-focus",!Y)},focusout:($)=>{let{target:X,relatedTarget:Y}=$,Q=Z.contains(Y),q=v0(Y,"ag-root",Z);if(v0(X,"ag-root",Z))return;if(!Q||q)Z.classList.remove("ag-has-focus")}})}setColumnMovingCss(J){this.comp.setColumnMovingCss(oz,J)}setCellTextSelection(J=!1){this.comp.setCellSelectableCss(az,J)}updateScrollingClasses(){let{eGridBody:{classList:J},scrollVisibleSvc:Z}=this;J.toggle("ag-body-vertical-content-no-gap",!Z.verticalScrollGap),J.toggle("ag-body-horizontal-content-no-gap",!Z.horizontalScrollGap)}disableBrowserDragging(){this.addManagedElementListeners(this.eGridBody,{dragstart:(J)=>{if(J.target instanceof HTMLImageElement)return J.preventDefault(),!1}})}addStopEditingWhenGridLosesFocus(){this.beans.editSvc?.addStopEditingWhenGridLosesFocus([this.eBodyViewport,this.eBottom,this.eTop,this.eStickyTop,this.eStickyBottom])}updateRowCount(){let J=(this.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0)+(this.filterManager?.getHeaderRowCount()??0),{rowModel:Z}=this.beans,$=Z.isLastRowIndexKnown()?Z.getRowCount():-1,X=$===-1?-1:J+$;this.comp.setRowCount(X)}registerBodyViewportResizeListener(J){this.comp.registerBodyViewportResizeListener(J)}setVerticalScrollPaddingVisible(J){let Z=J?"scroll":"hidden";this.comp.setPinnedTopBottomOverflowY(Z)}isVerticalScrollShowing(){let{gos:J,comp:Z,ctrlsSvc:$}=this,X=J.get("alwaysShowVerticalScroll"),Y=X?$1:null,Q=jJ(J,"normal");Z.setAlwaysVerticalScrollClass(Y,X);let q=$.get("center")?.eViewport,H=$.get("fakeHScrollComp")?.getGui(),_=$.get("fakeVScrollComp")?.getGui();return X||Q&&Cz(this.eBodyViewport,q,void 0,_,H)}setupRowAnimationCssClass(){let{rowContainerHeight:J,environment:Z}=this.beans,$=Z.sizesMeasured,X=()=>{let Y=$&&U2(this.gos)&&!J.stretching,Q=Y?"ag-row-animation":"ag-row-no-animation";this.comp.setRowAnimationCssOnBodyViewport(Q,Y)};X(),this.addManagedEventListeners({heightScaleChanged:X}),this.addManagedPropertyListener("animateRows",X),this.addManagedEventListeners({stylesChanged:()=>{if(!$&&Z.sizesMeasured)$=!0,X()}})}addBodyViewportListener(){let{eBodyViewport:J,eStickyTop:Z,eStickyBottom:$,eTop:X,eBottom:Y,beans:{popupSvc:Q,touchSvc:q}}=this,H=this.onBodyViewportContextMenu.bind(this);this.addManagedElementListeners(J,{contextmenu:H}),q?.mockBodyContextMenu(this,H),this.addManagedElementListeners(J,{wheel:this.onBodyViewportWheel.bind(this,Q)});let _=this.onStickyWheel.bind(this);for(let U of[Z,$,X,Y])this.addManagedElementListeners(U,{wheel:_});let z=this.onHorizontalWheel.bind(this);for(let U of["left","right","topLeft","topRight","bottomLeft","bottomRight"])this.addManagedElementListeners(this.ctrlsSvc.get(U).eContainer,{wheel:z});this.addFullWidthContainerWheelListener()}addFullWidthContainerWheelListener(){this.addManagedElementListeners(this.eFullWidthContainer,{wheel:(J)=>this.onFullWidthContainerWheel(J)})}onFullWidthContainerWheel(J){let{deltaX:Z,deltaY:$,shiftKey:X}=J;if((X||Math.abs(Z)>Math.abs($))&&d2(this.beans,J))this.scrollGridBodyToMatchEvent(J)}onStickyWheel(J){let{deltaY:Z}=J;if(this.scrollVertically(Z)>0)J.preventDefault()}onHorizontalWheel(J){let{deltaX:Z,deltaY:$,shiftKey:X}=J;if(!(X||Math.abs(Z)>Math.abs($)))return;this.scrollGridBodyToMatchEvent(J)}scrollGridBodyToMatchEvent(J){let{deltaX:Z,deltaY:$}=J;J.preventDefault(),this.eCenterColsViewport.scrollBy({left:Z||$})}onBodyViewportContextMenu(J,Z,$){if(!J&&!$)return;if(this.gos.get("preventDefaultOnContextMenu"))(J||$).preventDefault();let{target:X}=J||Z;if(X===this.eBodyViewport||X===this.ctrlsSvc.get("center").eViewport)this.beans.contextMenuSvc?.showContextMenu({mouseEvent:J,touchEvent:$,value:null,anchorToElement:this.eGridBody,source:"ui"})}onBodyViewportWheel(J,Z){if(!this.gos.get("suppressScrollWhenPopupsAreOpen"))return;if(J?.hasAnchoredPopup())Z.preventDefault()}scrollVertically(J){let Z=this.eBodyViewport.scrollTop;return this.scrollFeature.setVerticalScrollPosition(Z+J),this.eBodyViewport.scrollTop-Z}setFloatingHeights(){let{pinnedRowModel:J,beans:{environment:Z}}=this,$=J?.getPinnedTopTotalHeight(),X=J?.getPinnedBottomTotalHeight(),Y=Z.getPinnedRowBorderWidth(),Q=Z.getRowBorderWidth(),q=Y-Q,H=!$?0:q+$,_=!X?0:q+X;this.comp.setTopHeight(H),this.comp.setBottomHeight(_),this.comp.setTopInvisible(H<=0),this.comp.setBottomInvisible(_<=0),this.setStickyTopOffsetTop(),this.setStickyBottomOffsetBottom()}setStickyTopHeight(J=0){this.comp.setStickyTopHeight(`${J}px`),this.stickyTopHeight=J}setStickyBottomHeight(J=0){this.comp.setStickyBottomHeight(`${J}px`),this.stickyBottomHeight=J}setStickyWidth(J){if(!J)this.comp.setStickyTopWidth("100%"),this.comp.setStickyBottomWidth("100%");else{let Z=this.scrollVisibleSvc.getScrollbarWidth();this.comp.setStickyTopWidth(`calc(100% - ${Z}px)`),this.comp.setStickyBottomWidth(`calc(100% - ${Z}px)`)}}setStickyTopOffsetTop(){let Z=this.ctrlsSvc.get("gridHeaderCtrl").headerHeight+(this.filterManager?.getHeaderHeight()??0),$=this.pinnedRowModel?.getPinnedTopTotalHeight()??0,X=0;if(Z>0)X+=Z;if($>0)X+=$;if(X>0)X+=1;this.comp.setStickyTopTop(`${X}px`)}setStickyBottomOffsetBottom(){let{pinnedRowModel:J,scrollVisibleSvc:Z,comp:$}=this,X=J?.getPinnedBottomTotalHeight()??0,Q=Z.horizontalScrollShowing?Z.getScrollbarWidth()||0:0,q=X+Q;$.setStickyBottomBottom(`${q}px`)}};function XJ(J){return EJ(J)}var JU=class extends y{constructor(J,Z,$,X,Y){super();this.cellCtrl=Z,this.rowResizerElement=null,this.rendererVersion=0,this.editorVersion=0,this.beans=J,this.gos=J.gos,this.column=Z.column,this.rowNode=Z.rowNode,this.eRow=X;let Q=XJ({tag:"div",role:Z.getCellAriaRole(),attrs:{"comp-id":`${this.getCompId()}`,"col-id":Z.column.colIdSanitised}});this.eCell=Q;let q;if(Z.isCellSpanning())q=XJ({tag:"div",cls:"ag-spanned-cell-wrapper",role:"presentation"}),q.appendChild(Q),this.setTemplateFromElement(q);else this.setTemplateFromElement(Q);this.cellCssManager=new fY(()=>Q),this.forceWrapper=Z.isForceWrapper(),this.refreshWrapper(!1);let H={toggleCss:(_,z)=>this.cellCssManager.toggleCss(_,z),setUserStyles:(_)=>Y5(Q,_),getFocusableElement:()=>Q,setIncludeSelection:(_)=>this.includeSelection=_,setIncludeRowDrag:(_)=>this.includeRowDrag=_,setIncludeDndSource:(_)=>this.includeDndSource=_,setRowResizerElement:(_)=>this.setRowResizerElement(_),setRenderDetails:(_,z,U)=>this.setRenderDetails(_,z,U),setEditDetails:(_,z,U)=>this.setEditDetails(_,z,U),getCellEditor:()=>this.cellEditor||null,getCellRenderer:()=>this.cellRenderer||null,getParentOfValue:()=>this.getParentOfValue(),refreshEditStyles:(_,z)=>this.refreshEditStyles(_,z)};Z.setComp(H,Q,q,this.eCellWrapper,$,Y,void 0)}getParentOfValue(){return this.eCellValue??this.eCellWrapper??this.eCell}setRowResizerElement(J){if(this.rowResizerElement)TJ(this.rowResizerElement);if(this.rowResizerElement=J,J)this.eCell.appendChild(J)}setRenderDetails(J,Z,$){if(this.cellEditor&&!this.cellEditorPopupWrapper)return;this.firstRender=this.firstRender==null;let Y=this.refreshWrapper(!1);if(this.refreshEditStyles(!1),J){if(!($||Y?!1:this.refreshCellRenderer(J)))this.destroyRenderer(),this.createCellRendererInstance(J)}else this.destroyRenderer(),this.insertValueWithoutCellRenderer(Z);if(this.rowDraggingComp?.refreshVisibility(),this.rowResizerElement&&!this.rowResizerElement.parentElement)this.eCell.appendChild(this.rowResizerElement)}setEditDetails(J,Z,$){if(J)this.createCellEditorInstance(J,Z,$);else this.destroyEditor()}removeControls(){let J=this.beans.context;this.checkboxSelectionComp=J.destroyBean(this.checkboxSelectionComp),this.dndSourceComp=J.destroyBean(this.dndSourceComp),this.rowDraggingComp=J.destroyBean(this.rowDraggingComp)}refreshWrapper(J){let Z=this.includeRowDrag||this.includeDndSource||this.includeSelection,$=Z||this.forceWrapper,X=$&&this.eCellWrapper==null;if(X)this.eCellWrapper=XJ({tag:"div",cls:"ag-cell-wrapper",role:"presentation"}),this.eCell.appendChild(this.eCellWrapper);let Y=!$&&this.eCellWrapper!=null;if(Y)TJ(this.eCellWrapper),this.eCellWrapper=void 0;this.cellCssManager.toggleCss("ag-cell-value",!$);let Q=!J&&$,q=Q&&this.eCellValue==null;if(q){let z=this.cellCtrl.getCellValueClass();this.eCellValue=XJ({tag:"span",cls:z,role:"presentation"}),this.eCellWrapper.appendChild(this.eCellValue)}let H=!Q&&this.eCellValue!=null;if(H)TJ(this.eCellValue),this.eCellValue=void 0;let _=X||Y||q||H;if(_)this.removeControls();if(!J&&Z)this.addControls();return _}addControls(){let{cellCtrl:J,eCellWrapper:Z,eCellValue:$,includeRowDrag:X,includeDndSource:Y,includeSelection:Q}=this,q=(H)=>{if(H)Z.insertBefore(H.getGui(),$)};if(X&&this.rowDraggingComp==null)this.rowDraggingComp=J.createRowDragComp(),q(this.rowDraggingComp);if(Y&&this.dndSourceComp==null)this.dndSourceComp=J.createDndSource(),q(this.dndSourceComp);if(Q&&this.checkboxSelectionComp==null)this.checkboxSelectionComp=J.createSelectionCheckbox(),q(this.checkboxSelectionComp)}createCellEditorInstance(J,Z,$){let X=this.editorVersion,Y=J.newAgStackInstance(),{params:Q}=J;if(Y.then((H)=>this.afterCellEditorCreated(X,H,Q,Z,$)),d(this.cellEditor)&&Q.cellStartedEdit)this.cellCtrl.focusCell(!0)}insertValueWithoutCellRenderer(J){let Z=this.getParentOfValue();ZJ(Z);let $=X5(J);if($!=null)Z.textContent=$}destroyRenderer(){let{context:J}=this.beans;this.cellRenderer=J.destroyBean(this.cellRenderer),TJ(this.cellRendererGui),this.cellRendererGui=null,this.rendererVersion++}destroyEditor(){let{context:J}=this.beans;if(this.cellEditorPopupWrapper?.getGui().contains(n(this.beans))||this.cellCtrl.hasBrowserFocus())this.eCell.focus({preventScroll:!0});this.hideEditorPopup?.(),this.hideEditorPopup=void 0,this.cellEditor=J.destroyBean(this.cellEditor),this.cellEditorPopupWrapper=J.destroyBean(this.cellEditorPopupWrapper),TJ(this.cellEditorGui),this.cellCtrl.disableEditorTooltipFeature(),this.cellEditorGui=null,this.editorVersion++}refreshCellRenderer(J){if(this.cellRenderer?.refresh==null)return!1;if(this.cellRendererClass!==J.componentClass)return!1;let Z=this.cellRenderer.refresh(J.params);return Z===!0||Z===void 0}createCellRendererInstance(J){let Z=this.rendererVersion,$=(Q)=>(q)=>{if(this.rendererVersion!==Z||!this.isAlive())return;let _=Q.newAgStackInstance(),z=this.afterCellRendererCreated.bind(this,Z,Q.componentClass);_?.then(z)},{animationFrameSvc:X}=this.beans,Y;if(X?.active&&this.firstRender)Y=(Q,q=!1)=>{X.createTask($(Q),this.rowNode.rowIndex,"p2",Q.componentFromFramework,q)};else Y=(Q)=>$(Q)();if(J.params?.deferRender&&!this.cellCtrl.rowNode.group){let{loadingComp:Q,onReady:q}=this.cellCtrl.getDeferLoadingCellRenderer();if(Q)Y(Q),q.then(()=>Y(J,!0))}else Y(J)}afterCellRendererCreated(J,Z,$){if(!this.isAlive()||J!==this.rendererVersion){this.beans.context.destroyBean($);return}this.cellRenderer=$,this.cellRendererClass=Z;let Y=$.getGui();if(this.cellRendererGui=Y,Y!=null){let Q=this.getParentOfValue();ZJ(Q),Q.appendChild(Y)}}afterCellEditorCreated(J,Z,$,X,Y){let Q=J!==this.editorVersion,{context:q}=this.beans;if(Q){q.destroyBean(Z);return}if(Z.isCancelBeforeStart?.()){q.destroyBean(Z),this.cellCtrl.stopEditing(!0);return}if(!Z.getGui){O(97,{colId:this.column.getId()}),q.destroyBean(Z);return}this.cellEditor=Z,this.cellEditorGui=Z.getGui();let _=X||Z.isPopup?.();if(_)this.addPopupCellEditor($,Y);else this.addInCellEditor();this.refreshEditStyles(!0,_),Z.afterGuiAttached?.(),this.cellCtrl.enableEditorTooltipFeature(Z),this.cellCtrl.cellEditorAttached()}refreshEditStyles(J,Z){let{cellCssManager:$}=this;$.toggleCss("ag-cell-inline-editing",J&&!Z),$.toggleCss("ag-cell-popup-editing",J&&!!Z),$.toggleCss("ag-cell-not-inline-editing",!J||!!Z)}addInCellEditor(){let{eCell:J}=this;if(J.contains(n(this.beans)))J.focus();if(this.destroyRenderer(),this.refreshWrapper(!0),ZJ(this.getParentOfValue()),this.cellEditorGui)this.getParentOfValue().appendChild(this.cellEditorGui)}addPopupCellEditor(J,Z){let{gos:$,context:X,popupSvc:Y,editSvc:Q}=this.beans;if($.get("editType")==="fullRow")O(98);let q=this.cellEditorPopupWrapper=X.createBean(Q.createPopupEditorWrapper(J)),{cellEditor:H,cellEditorGui:_,eCell:z,rowNode:U,column:W,cellCtrl:G}=this,B=q.getGui();if(_)B.appendChild(_);let K=$.get("stopEditingWhenCellsLoseFocus"),E=Z!=null?Z:H.getPopupPosition?.()??"over",L=$.get("enableRtl"),F={ePopup:B,additionalParams:{column:W,rowNode:U},type:"popupCellEditor",eventSource:z,position:E,alignSide:L?"right":"left",keepWithinBounds:!0},D=Y.positionPopupByComponent.bind(Y,F),k=Y.addPopup({modal:K,eChild:B,closeOnEsc:!0,closedCallback:(j)=>{G.onPopupEditorClosed(j)},anchorToElement:z,positionCallback:D,ariaOwns:z});if(k)this.hideEditorPopup=k.hideFunc}detach(){this.getGui().remove()}destroy(){this.destroyRenderer(),this.destroyEditor(),this.removeControls(),super.destroy()}},ZU=class extends y{constructor(J,Z,$){super();this.cellComps=new Map,this.beans=Z,this.rowCtrl=J;let X=XJ({tag:"div",role:"row",attrs:{"comp-id":`${this.getCompId()}`}});this.setInitialStyle(X,$),this.setTemplateFromElement(X);let Y=X.style;this.domOrder=this.rowCtrl.getDomOrder();let Q={setDomOrder:(q)=>this.domOrder=q,setCellCtrls:(q)=>this.setCellCtrls(q),showFullWidth:(q)=>this.showFullWidth(q),getFullWidthCellRenderer:()=>this.fullWidthCellRenderer,getFullWidthCellRendererParams:()=>this.fullWidthCellRendererParams,toggleCss:(q,H)=>this.toggleCss(q,H),setUserStyles:(q)=>Y5(X,q),setTop:(q)=>Y.top=q,setTransform:(q)=>Y.transform=q,setRowIndex:(q)=>X.setAttribute("row-index",q),setRowId:(q)=>X.setAttribute("row-id",q),setRowBusinessKey:(q)=>X.setAttribute("row-business-key",q),refreshFullWidth:(q)=>{let H=q();return this.fullWidthCellRendererParams=H,this.fullWidthCellRenderer?.refresh?.(H)??!1}};J.setComp(Q,this.getGui(),$,void 0),this.addDestroyFunc(()=>{J.unsetComp($)})}setInitialStyle(J,Z){let $=this.rowCtrl.getInitialTransform(Z);if($)J.style.setProperty("transform",$);else{let X=this.rowCtrl.getInitialRowTop(Z);if(X)J.style.setProperty("top",X)}}showFullWidth(J){let Z=(X)=>{if(this.isAlive()){let Y=X.getGui();this.getGui().appendChild(Y),this.rowCtrl.setupDetailRowAutoHeight(Y),this.setFullWidthRowComp(X,J.params)}else this.beans.context.destroyBean(X)};J.newAgStackInstance().then(Z)}setCellCtrls(J){let Z=new Map(this.cellComps);for(let $ of J){let X=$.instanceId;if(!this.cellComps.has(X))this.newCellComp($);else Z.delete(X)}this.destroyCells(Z),this.ensureDomOrder(J)}ensureDomOrder(J){if(!this.domOrder)return;let Z=[];for(let $ of J){let X=this.cellComps.get($.instanceId);if(X)Z.push(X.getGui())}yX(this.getGui(),Z)}newCellComp(J){let Z=this.beans.editSvc?.isEditing(J,{withOpenEditor:!0})??!1,$=new JU(this.beans,J,this.rowCtrl.printLayout,this.getGui(),Z);this.cellComps.set(J.instanceId,$),this.getGui().appendChild($.getGui())}destroy(){super.destroy(),this.destroyCells(this.cellComps)}setFullWidthRowComp(J,Z){this.fullWidthCellRenderer=J,this.fullWidthCellRendererParams=Z,this.addDestroyFunc(()=>{this.fullWidthCellRenderer=this.beans.context.destroyBean(this.fullWidthCellRenderer),this.fullWidthCellRendererParams=void 0})}destroyCells(J){for(let Z of J.values()){if(!Z)continue;let $=Z.cellCtrl.instanceId;if(this.cellComps.get($)!==Z)continue;Z.detach(),Z.destroy(),this.cellComps.delete($)}}};function $U(J,Z,$){let X=!!$.gos.get("enableCellSpan")&&!!Z.getSpannedRowCtrls,Y={tag:"div",ref:"eContainer",cls:eY(J),role:"rowgroup"};if(Z.type==="center"||X){let Q={tag:"div",ref:"eSpannedContainer",cls:`ag-spanning-container ${uz(J)}`,role:"presentation"};return Y.role="presentation",{tag:"div",ref:"eViewport",cls:`ag-viewport ${oY(J)}`,role:"rowgroup",children:[Y,X?Q:null]}}return Y}var XU=class extends y{constructor(J){super();this.eViewport=S,this.eContainer=S,this.eSpannedContainer=S,this.rowCompsNoSpan={},this.rowCompsWithSpan={},this.name=J?.name,this.options=E5(this.name)}postConstruct(){this.setTemplate($U(this.name,this.options,this.beans));let J={setHorizontalScroll:($)=>this.eViewport.scrollLeft=$,setViewportHeight:($)=>this.eViewport.style.height=$,setRowCtrls:({rowCtrls:$})=>this.setRowCtrls($),setSpannedRowCtrls:($)=>this.setRowCtrls($,!0),setDomOrder:($)=>{this.domOrder=$},setContainerWidth:($)=>{if(this.eContainer.style.width=$,this.eSpannedContainer)this.eSpannedContainer.style.width=$},setOffsetTop:($)=>{let X=`translateY(${$})`;if(this.eContainer.style.transform=X,this.eSpannedContainer)this.eSpannedContainer.style.transform=X}};this.createManagedBean(new lz(this.name)).setComp(J,this.eContainer,this.eSpannedContainer,this.eViewport)}destroy(){this.setRowCtrls([]),this.setRowCtrls([],!0),super.destroy(),this.lastPlacedElement=null}setRowCtrls(J,Z){let{beans:$,options:X}=this,Y=Z?this.eSpannedContainer:this.eContainer,Q=Z?{...this.rowCompsWithSpan}:{...this.rowCompsNoSpan},q={};if(Z)this.rowCompsWithSpan=q;else this.rowCompsNoSpan=q;this.lastPlacedElement=null;let H=[];for(let _ of J){let z=_.instanceId,U=Q[z],W;if(U)W=U,delete Q[z];else{if(!_.rowNode.displayed)continue;W=new ZU(_,$,X.type)}q[z]=W,H.push([W,!U])}this.removeOldRows(Object.values(Q)),this.addRowNodes(H,Y)}addRowNodes(J,Z){let{domOrder:$}=this;for(let[X,Y]of J){let Q=X.getGui();if(!$){if(Y)Z.appendChild(Q)}else this.ensureDomOrder(Q,Z)}}removeOldRows(J){for(let Z of J)Z.getGui().remove(),Z.destroy()}ensureDomOrder(J,Z){xX(Z,J,this.lastPlacedElement),this.lastPlacedElement=J}},YU={selector:"AG-ROW-CONTAINER",component:XU};function b2(J,Z){return Z.map(($)=>{let X=`e${$[0].toUpperCase()+$.substring(1)}RowContainer`;return J[X]={name:$},{tag:"ag-row-container",ref:X,attrs:{name:$}}})}function QU(J){let Z={},$={tag:"div",ref:"eGridRoot",cls:"ag-root ag-unselectable",children:[{tag:"ag-header-root"},{tag:"div",ref:"eTop",cls:"ag-floating-top",role:"presentation",children:b2(Z,["topLeft","topCenter","topRight","topFullWidth"])},{tag:"div",ref:"eBody",cls:"ag-body",role:"presentation",children:[{tag:"div",ref:"eBodyViewport",cls:"ag-body-viewport",role:"presentation",children:b2(Z,["left","center","right","fullWidth"])},{tag:"ag-fake-vertical-scroll"}]},{tag:"div",ref:"eStickyTop",cls:"ag-sticky-top",role:"presentation",children:b2(Z,["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"])},{tag:"div",ref:"eStickyBottom",cls:"ag-sticky-bottom",role:"presentation",children:b2(Z,["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"])},{tag:"div",ref:"eBottom",cls:"ag-floating-bottom",role:"presentation",children:b2(Z,["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"])},{tag:"ag-fake-horizontal-scroll"},J?{tag:"ag-overlay-wrapper"}:null]};return{paramsMap:Z,elementParams:$}}var qU=class extends y{constructor(){super(...arguments);this.eGridRoot=S,this.eBodyViewport=S,this.eStickyTop=S,this.eStickyBottom=S,this.eTop=S,this.eBottom=S,this.eBody=S}postConstruct(){let{overlays:J,rangeSvc:Z}=this.beans,$=J?.getOverlayWrapperSelector(),{paramsMap:X,elementParams:Y}=QU(!!$);this.setTemplate(Y,[...$?[$]:[],fz,vz,Rz,YU],X);let Q=(H,_)=>{let z=`${H}px`;_.style.minHeight=z,_.style.height=z},q={setRowAnimationCssOnBodyViewport:(H,_)=>this.setRowAnimationCssOnBodyViewport(H,_),setColumnCount:(H)=>Cq(this.getGui(),H),setRowCount:(H)=>bq(this.getGui(),H),setTopHeight:(H)=>Q(H,this.eTop),setBottomHeight:(H)=>Q(H,this.eBottom),setTopInvisible:(H)=>this.eTop.classList.toggle("ag-invisible",H),setBottomInvisible:(H)=>this.eBottom.classList.toggle("ag-invisible",H),setStickyTopHeight:(H)=>this.eStickyTop.style.height=H,setStickyTopTop:(H)=>this.eStickyTop.style.top=H,setStickyTopWidth:(H)=>this.eStickyTop.style.width=H,setStickyBottomHeight:(H)=>{this.eStickyBottom.style.height=H,this.eStickyBottom.classList.toggle("ag-invisible",H==="0px")},setStickyBottomBottom:(H)=>this.eStickyBottom.style.bottom=H,setStickyBottomWidth:(H)=>this.eStickyBottom.style.width=H,setColumnMovingCss:(H,_)=>this.toggleCss(H,_),updateLayoutClasses:(H,_)=>{let z=[this.eBodyViewport.classList,this.eBody.classList];for(let U of z)U.toggle(WZ.AUTO_HEIGHT,_.autoHeight),U.toggle(WZ.NORMAL,_.normal),U.toggle(WZ.PRINT,_.print);this.toggleCss(WZ.AUTO_HEIGHT,_.autoHeight),this.toggleCss(WZ.NORMAL,_.normal),this.toggleCss(WZ.PRINT,_.print)},setAlwaysVerticalScrollClass:(H,_)=>this.eBodyViewport.classList.toggle($1,_),registerBodyViewportResizeListener:(H)=>{let _=DZ(this.beans,this.eBodyViewport,H);this.addDestroyFunc(()=>_())},setPinnedTopBottomOverflowY:(H)=>this.eTop.style.overflowY=this.eBottom.style.overflowY=H,setCellSelectableCss:(H,_)=>{for(let z of[this.eTop,this.eBodyViewport,this.eBottom])z.classList.toggle(H,_)},setBodyViewportWidth:(H)=>this.eBodyViewport.style.width=H,setGridRootRole:(H)=>zJ(this.eGridRoot,H)};if(this.ctrl=this.createManagedBean(new ez),this.ctrl.setComp(q,this.getGui(),this.eBodyViewport,this.eTop,this.eBottom,this.eStickyTop,this.eStickyBottom),Z&&uJ(this.gos)||t2(this.gos))Iq(this.getGui(),!0)}setRowAnimationCssOnBodyViewport(J,Z){let $=this.eBodyViewport.classList;$.toggle("ag-row-animation",Z),$.toggle("ag-row-no-animation",!Z)}getFocusableContainerName(){return"gridBody"}},HU={selector:"AG-GRID-BODY",component:qU},g2={TAB_GUARD:"ag-tab-guard",TAB_GUARD_TOP:"ag-tab-guard-top",TAB_GUARD_BOTTOM:"ag-tab-guard-bottom"},_U=class extends RJ{constructor(J,Z){super();this.stopPropagationCallbacks=Z,this.skipTabGuardFocus=!1,this.forcingFocusOut=!1,this.allowFocus=!1;let{comp:$,eTopGuard:X,eBottomGuard:Y,focusTrapActive:Q,forceFocusOutWhenTabGuardsAreEmpty:q,isFocusableContainer:H,focusInnerElement:_,onFocusIn:z,onFocusOut:U,shouldStopEventPropagation:W,onTabKeyDown:G,handleKeyDown:B,isEmpty:K,eFocusableElement:E}=J;this.comp=$,this.eTopGuard=X,this.eBottomGuard=Y,this.providedFocusInnerElement=_,this.eFocusableElement=E,this.focusTrapActive=!!Q,this.forceFocusOutWhenTabGuardsAreEmpty=!!q,this.isFocusableContainer=!!H,this.providedFocusIn=z,this.providedFocusOut=U,this.providedShouldStopEventPropagation=W,this.providedOnTabKeyDown=G,this.providedHandleKeyDown=B,this.providedIsEmpty=K}postConstruct(){this.createManagedBean(new IY(this.eFocusableElement,this.stopPropagationCallbacks,{shouldStopEventPropagation:()=>this.shouldStopEventPropagation(),onTabKeyDown:(J)=>this.onTabKeyDown(J),handleKeyDown:(J)=>this.handleKeyDown(J),onFocusIn:(J)=>this.onFocusIn(J),onFocusOut:(J)=>this.onFocusOut(J)})),this.activateTabGuards();for(let J of[this.eTopGuard,this.eBottomGuard])this.addManagedElementListeners(J,{focus:this.onFocus.bind(this)})}handleKeyDown(J){if(this.providedHandleKeyDown)this.providedHandleKeyDown(J)}tabGuardsAreActive(){return!!this.eTopGuard&&this.eTopGuard.hasAttribute("tabIndex")}shouldStopEventPropagation(){if(this.providedShouldStopEventPropagation)return this.providedShouldStopEventPropagation();return!1}activateTabGuards(){if(this.forcingFocusOut)return;let J=this.gos.get("tabIndex");this.comp.setTabIndex(J.toString())}deactivateTabGuards(){this.comp.setTabIndex()}onFocus(J){if(this.isFocusableContainer&&!this.eFocusableElement.contains(J.relatedTarget)){if(!this.allowFocus){this.findNextElementOutsideAndFocus(J.target===this.eBottomGuard);return}}if(this.skipTabGuardFocus){this.skipTabGuardFocus=!1;return}if(this.forceFocusOutWhenTabGuardsAreEmpty){if(this.providedIsEmpty?this.providedIsEmpty():KZ(this.eFocusableElement,".ag-tab-guard").length===0){this.findNextElementOutsideAndFocus(J.target===this.eBottomGuard);return}}if(this.isFocusableContainer&&this.eFocusableElement.contains(J.relatedTarget))return;let Z=J.target===this.eBottomGuard;if(!(this.providedFocusInnerElement?this.providedFocusInnerElement(Z):this.focusInnerElement(Z))&&this.forceFocusOutWhenTabGuardsAreEmpty)this.findNextElementOutsideAndFocus(J.target===this.eBottomGuard)}findNextElementOutsideAndFocus(J){let Z=qJ(this.beans),$=KZ(Z.body,null,!0),X=$.indexOf(J?this.eTopGuard:this.eBottomGuard);if(X===-1)return;let Y,Q;if(J)Y=0,Q=X;else Y=X+1,Q=$.length;let q=$.slice(Y,Q),H=this.gos.get("tabIndex");q.sort((_,z)=>{let U=Number.parseInt(_.getAttribute("tabindex")||"0"),W=Number.parseInt(z.getAttribute("tabindex")||"0");if(W===H)return 1;if(U===H)return-1;if(U===0)return 1;if(W===0)return-1;return U-W}),q[J?q.length-1:0]?.focus()}onFocusIn(J){if(this.focusTrapActive||this.forcingFocusOut)return;if(this.providedFocusIn)this.providedFocusIn(J);if(!this.isFocusableContainer)this.deactivateTabGuards()}onFocusOut(J){if(this.focusTrapActive)return;if(this.providedFocusOut)this.providedFocusOut(J);if(!this.eFocusableElement.contains(J.relatedTarget))this.activateTabGuards()}onTabKeyDown(J){if(this.providedOnTabKeyDown){this.providedOnTabKeyDown(J);return}if(this.focusTrapActive)return;if(J.defaultPrevented)return;let Z=this.tabGuardsAreActive();if(Z)this.deactivateTabGuards();let $=this.getNextFocusableElement(J.shiftKey);if(Z)setTimeout(()=>this.activateTabGuards(),0);if(!$)return;$.focus(),J.preventDefault()}focusInnerElement(J=!1){let Z=KZ(this.eFocusableElement);if(this.tabGuardsAreActive())Z.splice(0,1),Z.splice(-1,1);if(!Z.length)return!1;return Z[J?Z.length-1:0].focus({preventScroll:!0}),!0}getNextFocusableElement(J){return OJ(this.beans,this.eFocusableElement,!1,J)}forceFocusOutOfContainer(J=!1){if(this.forcingFocusOut)return;let Z=J?this.eTopGuard:this.eBottomGuard;this.activateTabGuards(),this.skipTabGuardFocus=!0,this.forcingFocusOut=!0,Z.focus(),window.setTimeout(()=>{this.forcingFocusOut=!1,this.activateTabGuards()})}isTabGuard(J,Z){return J===this.eTopGuard&&!Z||J===this.eBottomGuard&&(Z??!0)}setAllowFocus(J){this.allowFocus=J}},q9=class extends RJ{constructor(J,Z){super();this.comp=J,this.stopPropagationCallbacks=Z}initialiseTabGuard(J){this.eTopGuard=this.createTabGuard("top"),this.eBottomGuard=this.createTabGuard("bottom"),this.eFocusableElement=this.comp.getFocusableElement();let{eTopGuard:Z,eBottomGuard:$,eFocusableElement:X,stopPropagationCallbacks:Y}=this,Q=[Z,$],q={setTabIndex:(F)=>{for(let D of Q)if(F==null)D.removeAttribute("tabindex");else D.setAttribute("tabindex",F)}};this.addTabGuards(Z,$);let{focusTrapActive:H=!1,onFocusIn:_,onFocusOut:z,focusInnerElement:U,handleKeyDown:W,onTabKeyDown:G,shouldStopEventPropagation:B,isEmpty:K,forceFocusOutWhenTabGuardsAreEmpty:E,isFocusableContainer:L}=J;this.tabGuardCtrl=this.createManagedBean(new _U({comp:q,focusTrapActive:H,eTopGuard:Z,eBottomGuard:$,eFocusableElement:X,onFocusIn:_,onFocusOut:z,focusInnerElement:U,handleKeyDown:W,onTabKeyDown:G,shouldStopEventPropagation:B,isEmpty:K,forceFocusOutWhenTabGuardsAreEmpty:E,isFocusableContainer:L},Y))}getTabGuardCtrl(){return this.tabGuardCtrl}createTabGuard(J){let Z=qJ(this.beans).createElement("div"),$=J==="top"?g2.TAB_GUARD_TOP:g2.TAB_GUARD_BOTTOM;return Z.classList.add(g2.TAB_GUARD,$),zJ(Z,"presentation"),Z}addTabGuards(J,Z){let $=this.eFocusableElement;$.prepend(J),$.append(Z)}removeAllChildrenExceptTabGuards(){let J=[this.eTopGuard,this.eBottomGuard];ZJ(this.comp.getFocusableElement()),this.addTabGuards(...J)}forceFocusOutOfContainer(J=!1){this.tabGuardCtrl.forceFocusOutOfContainer(J)}appendChild(J,Z,$){if(!Q5(Z))Z=Z.getGui();let{eBottomGuard:X}=this;if(X)X.before(Z);else J(Z,$)}destroy(){let{eTopGuard:J,eBottomGuard:Z}=this;TJ(J),TJ(Z),super.destroy()}},pZ=class extends pJ{initialiseTabGuard(J,Z){this.tabGuardFeature=this.createManagedBean(new q9(this,Z)),this.tabGuardFeature.initialiseTabGuard(J)}forceFocusOutOfContainer(J=!1){this.tabGuardFeature.forceFocusOutOfContainer(J)}appendChild(J,Z){this.tabGuardFeature.appendChild(super.appendChild.bind(this),J,Z)}},H9=class extends pZ{initialiseTabGuard(J){super.initialiseTabGuard(J,W0)}},A$=(J,Z)=>{return wY(J,()=>DJ(J.getGui(),Z,!1,!0))},M$=(J)=>{return J?.getFocusableContainerName()??"external"},zU=(J)=>{if(J==null)return"external";return typeof J==="string"?J:"gridBody"},UU=class extends M{constructor(){super(...arguments);this.additionalFocusableContainers=new Set}setComp(J,Z,$){this.view=J,this.eGridHostDiv=Z,this.eGui=$,this.eGui.setAttribute("grid-id",this.beans.context.getId());let{dragAndDrop:X,ctrlsSvc:Y}=this.beans;X?.registerGridDropTarget(()=>this.eGui,this),this.createManagedBean(new Y9(this.view)),this.view.setRtlClass(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr");let Q=DZ(this.beans,this.eGridHostDiv,this.onGridSizeChanged.bind(this));this.addDestroyFunc(()=>Q()),Y.register("gridCtrl",this)}isDetailGrid(){return x6(this.getGui())?.getAttribute("row-id")?.startsWith("detail")||!1}getOptionalSelectors(){let J=this.beans;return{paginationSelector:J.pagination?.getPaginationSelector(),gridHeaderDropZonesSelector:J.registry?.getSelector("AG-GRID-HEADER-DROP-ZONES"),sideBarSelector:J.sideBar?.getSelector(),statusBarSelector:J.registry?.getSelector("AG-STATUS-BAR"),watermarkSelector:J.licenseManager?.getWatermarkSelector()}}onGridSizeChanged(){this.eventSvc.dispatchEvent({type:"gridSizeChanged",clientWidth:this.eGridHostDiv.clientWidth,clientHeight:this.eGridHostDiv.clientHeight})}destroyGridUi(){this.view.destroyGridUi()}getGui(){return this.eGui}setResizeCursor(J){let{view:Z}=this;if(J===!1)Z.setCursor(null);else Z.setCursor(J===1?"ew-resize":"ns-resize")}disableUserSelect(J){this.view.setUserSelect(J?"none":null)}focusNextInnerContainer(J){let Z=this.getFocusableContainers(),{indexWithFocus:$,nextIndex:X}=this.getNextFocusableIndex(Z,J),Y=$===-1?J?Z.length-1:0:X,{gos:Q,beans:{focusSvc:q,navigation:H}}=this,_=Q.getCallback("tabToNextGridContainer");if(_){let z=q.getDefaultTabToNextGridContainerTarget({backwards:J,focusableContainers:Z,nextIndex:Y}),U=M$(Z[Y]),W=z==null&&U==="gridBody"?"gridBody":zU(z),G=_({backwards:J,previousContainer:M$(Z[$]),nextContainer:W,defaultTarget:z});if(G!==void 0){if(typeof G==="boolean")return G;if(typeof G==="string"){if(G==="gridBody")return this.focusGridBodyDefault(J)||void 0;let B=Z.find((K)=>K.getFocusableContainerName()===G);if(!B){cX(`tabToNextGridContainer - ${G} container not found`);return}return A$(B,J)?!0:void 0}if(Xz(G))return q.focusHeaderPosition({headerPosition:G})||void 0;return H?.ensureCellVisible(G),q.setFocusedCell({...G,forceBrowserFocus:!0}),q.isCellFocused(G)||void 0}}return this.focusNextInnerContainerDefault({backwards:J,focusableContainers:Z,indexWithFocus:$,nextIndex:Y})||void 0}focusInnerElement(J){let{gos:Z,beans:$,beans:{focusSvc:X,visibleCols:Y}}=this;if(Z.getCallback("focusGridInnerElement")?.({fromBottom:!!J}))return!0;let q=this.getFocusableContainers();if(J){if(this.focusNextInnerContainerDefault({backwards:!0,focusableContainers:q,indexWithFocus:q.length,nextIndex:q.length-1}))return!0;return X.focusGridView({column:C(Y.allCols),backwards:!0})}let H=Y.allCols;if(Z.get("headerHeight")===0||UZ($)){if(X.focusGridView({column:H[0],backwards:J}))return!0;for(let _=1;_Y.getGui().contains($));return{indexWithFocus:X,nextIndex:X+(Z?-1:1)}}focusGridBodyDefault(J){let{gos:Z,beans:$,beans:{focusSvc:X,visibleCols:{allCols:Y}}}=this;if(J)return X.focusGridView({column:C(Y),backwards:!0});if(Z.get("headerHeight")===0||UZ($))return X.focusGridView({column:Y[0]});return X.focusFirstHeader()}focusNextInnerContainerDefault(J){let{backwards:Z,focusableContainers:$,indexWithFocus:X}=J,Y=Z?-1:1;for(let Q=J.nextIndex;Q>=0&&Q<$.length;Q+=Y){let q=$[Q];if(q.getFocusableContainerName()==="gridBody"){if(X===-1||(Z?X>Q:Xthis.destroyBean(this),setRtlClass:(Q)=>this.addCss(Q),forceFocusOutOfContainer:this.forceFocusOutOfContainer.bind(this),updateLayoutClasses:this.updateLayoutClasses.bind(this),getFocusableContainers:this.getFocusableContainers.bind(this),setUserSelect:(Q)=>{this.getGui().style.userSelect=Q!=null?Q:"",this.getGui().style.webkitUserSelect=Q!=null?Q:""},setCursor:(Q)=>{this.getGui().style.cursor=Q!=null?Q:""}},Z=this.createManagedBean(new UU),$=Z.getOptionalSelectors(),X=this.createTemplate($),Y=[HU,...Object.values($).filter((Q)=>!!Q)];this.setTemplate(X,Y),Z.setComp(J,this.eGridDiv,this.getGui()),this.insertGridIntoDom(),this.initialiseTabGuard({onTabKeyDown:()=>{return},focusInnerElement:(Q)=>Z.focusInnerElement(Q),forceFocusOutWhenTabGuardsAreEmpty:!0,isEmpty:()=>!Z.isFocusable()})}insertGridIntoDom(){let J=this.getGui();this.eGridDiv.appendChild(J),this.addDestroyFunc(()=>{J.remove(),n2(this.gos,"Grid removed from DOM")})}updateLayoutClasses(J,Z){let $=this.rootWrapperBody.classList,{AUTO_HEIGHT:X,NORMAL:Y,PRINT:Q}=WZ,{autoHeight:q,normal:H,print:_}=Z;$.toggle(X,q),$.toggle(Y,H),$.toggle(Q,_),this.toggleCss(X,q),this.toggleCss(Y,H),this.toggleCss(Q,_)}createTemplate(J){let Z=J.gridHeaderDropZonesSelector?{tag:"ag-grid-header-drop-zones",ref:"gridHeaderDropZones"}:null,$=J.sideBarSelector?{tag:"ag-side-bar",ref:"sideBar"}:null,X=J.statusBarSelector?{tag:"ag-status-bar",ref:"statusBar"}:null,Y=J.watermarkSelector?{tag:"ag-watermark"}:null,Q=J.paginationSelector?{tag:"ag-pagination",ref:"pagination"}:null;return{tag:"div",cls:"ag-root-wrapper",role:"presentation",children:[Z,{tag:"div",ref:"rootWrapperBody",cls:"ag-root-wrapper-body",role:"presentation",children:[{tag:"ag-grid-body",ref:"gridBody"},$]},X,Q,Y]}}getFocusableElement(){return this.rootWrapperBody}forceFocusOutOfContainer(J=!1){if(!J&&this.pagination?.isDisplayed()){this.pagination.forceFocusOutOfContainer(J);return}super.forceFocusOutOfContainer(J)}getFocusableContainers(){let J=[...this.gridHeaderDropZones?.getFocusableContainers?.()??[],this.gridBody];for(let Z of[this.sideBar,this.statusBar,this.pagination])if(Z)J.push(Z);return J.filter((Z)=>AJ(Z.getGui()))}},c=(J,Z)=>{for(let $ of Object.keys(Z))Z[$]=J;return Z},R$={dispatchEvent:"CommunityCore",...c("CommunityCore",{destroy:0,getGridId:0,getGridOption:0,isDestroyed:0,setGridOption:0,updateGridOptions:0,isModuleRegistered:0}),...c("GridState",{getState:0,setState:0}),...c("SharedRowSelection",{setNodesSelected:0,selectAll:0,deselectAll:0,selectAllFiltered:0,deselectAllFiltered:0,selectAllOnCurrentPage:0,deselectAllOnCurrentPage:0,getSelectedNodes:0,getSelectedRows:0}),...c("RowApi",{redrawRows:0,setRowNodeExpanded:0,getRowNode:0,addRenderedRowListener:0,getRenderedNodes:0,forEachNode:0,getFirstDisplayedRowIndex:0,getLastDisplayedRowIndex:0,getDisplayedRowAtIndex:0,getDisplayedRowCount:0}),...c("ScrollApi",{getVerticalPixelRange:0,getHorizontalPixelRange:0,ensureColumnVisible:0,ensureIndexVisible:0,ensureNodeVisible:0}),...c("KeyboardNavigation",{getFocusedCell:0,clearFocusedCell:0,setFocusedCell:0,tabToNextCell:0,tabToPreviousCell:0,setFocusedHeader:0}),...c("EventApi",{addEventListener:0,addGlobalListener:0,removeEventListener:0,removeGlobalListener:0}),...c("ValueCache",{expireValueCache:0}),...c("CellApi",{getCellValue:0}),...c("SharedMenu",{showColumnMenu:0,hidePopupMenu:0}),...c("Sort",{onSortChanged:0}),...c("PinnedRow",{getPinnedTopRowCount:0,getPinnedBottomRowCount:0,getPinnedTopRow:0,getPinnedBottomRow:0,forEachPinnedRow:0}),...c("Overlay",{showLoadingOverlay:0,showNoRowsOverlay:0,hideOverlay:0}),...c("RenderApi",{setGridAriaProperty:0,refreshCells:0,refreshHeader:0,isAnimationFrameQueueEmpty:0,flushAllAnimationFrames:0,getSizesForCurrentTheme:0,getCellRendererInstances:0}),...c("HighlightChanges",{flashCells:0}),...c("RowDrag",{addRowDropZone:0,removeRowDropZone:0,getRowDropZoneParams:0,getRowDropPositionIndicator:0,setRowDropPositionIndicator:0}),...c("ColumnApi",{getColumnDefs:0,getColumnDef:0,getDisplayNameForColumn:0,getColumn:0,getColumns:0,applyColumnState:0,getColumnState:0,resetColumnState:0,isPinning:0,isPinningLeft:0,isPinningRight:0,getDisplayedColAfter:0,getDisplayedColBefore:0,setColumnsVisible:0,setColumnsPinned:0,getAllGridColumns:0,getDisplayedLeftColumns:0,getDisplayedCenterColumns:0,getDisplayedRightColumns:0,getAllDisplayedColumns:0,getAllDisplayedVirtualColumns:0}),...c("ColumnAutoSize",{sizeColumnsToFit:0,autoSizeColumns:0,autoSizeAllColumns:0}),...c("ColumnGroup",{setColumnGroupOpened:0,getColumnGroup:0,getProvidedColumnGroup:0,getDisplayNameForColumnGroup:0,getColumnGroupState:0,setColumnGroupState:0,resetColumnGroupState:0,getLeftDisplayedColumnGroups:0,getCenterDisplayedColumnGroups:0,getRightDisplayedColumnGroups:0,getAllDisplayedColumnGroups:0}),...c("ColumnMove",{moveColumnByIndex:0,moveColumns:0}),...c("ColumnResize",{setColumnWidths:0}),...c("ColumnHover",{isColumnHovered:0}),...c("EditCore",{getCellEditorInstances:0,getEditingCells:0,getEditRowValues:0,stopEditing:0,startEditingCell:0,isEditing:0,validateEdit:0}),...c("BatchEdit",{startBatchEdit:0,cancelBatchEdit:0,commitBatchEdit:0,isBatchEditing:0}),...c("UndoRedoEdit",{undoCellEditing:0,redoCellEditing:0,getCurrentUndoSize:0,getCurrentRedoSize:0}),...c("FilterCore",{isAnyFilterPresent:0,onFilterChanged:0}),...c("ColumnFilter",{isColumnFilterPresent:0,getColumnFilterInstance:0,destroyFilter:0,setFilterModel:0,getFilterModel:0,getColumnFilterModel:0,setColumnFilterModel:0,showColumnFilter:0,hideColumnFilter:0,getColumnFilterHandler:0,doFilterAction:0}),...c("QuickFilter",{isQuickFilterPresent:0,getQuickFilter:0,resetQuickFilter:0}),...c("Find",{findGetActiveMatch:0,findGetTotalMatches:0,findGoTo:0,findNext:0,findPrevious:0,findGetNumMatches:0,findGetParts:0,findClearActive:0,findRefresh:0}),...c("Pagination",{paginationIsLastPageFound:0,paginationGetPageSize:0,paginationGetCurrentPage:0,paginationGetTotalPages:0,paginationGetRowCount:0,paginationGoToNextPage:0,paginationGoToPreviousPage:0,paginationGoToFirstPage:0,paginationGoToLastPage:0,paginationGoToPage:0}),...c("CsrmSsrmSharedApi",{expandAll:0,collapseAll:0,resetRowGroupExpansion:0}),...c("SsrmInfiniteSharedApi",{setRowCount:0,getCacheBlockState:0,isLastRowIndexKnown:0}),...c("ClientSideRowModelApi",{onGroupExpandedOrCollapsed:0,refreshClientSideRowModel:0,isRowDataEmpty:0,forEachLeafNode:0,forEachNodeAfterFilter:0,forEachNodeAfterFilterAndSort:0,applyTransaction:0,applyTransactionAsync:0,flushAsyncTransactions:0,getBestCostNodeSelection:0,onRowHeightChanged:0,resetRowHeights:0}),...c("CsvExport",{getDataAsCsv:0,exportDataAsCsv:0}),...c("InfiniteRowModel",{refreshInfiniteCache:0,purgeInfiniteCache:0,getInfiniteRowCount:0}),...c("AdvancedFilter",{getAdvancedFilterModel:0,setAdvancedFilterModel:0,showAdvancedFilterBuilder:0,hideAdvancedFilterBuilder:0}),...c("IntegratedCharts",{getChartModels:0,getChartRef:0,getChartImageDataURL:0,downloadChart:0,openChartToolPanel:0,closeChartToolPanel:0,createRangeChart:0,createPivotChart:0,createCrossFilterChart:0,updateChart:0,restoreChart:0}),...c("Clipboard",{copyToClipboard:0,cutToClipboard:0,copySelectedRowsToClipboard:0,copySelectedRangeToClipboard:0,copySelectedRangeDown:0,pasteFromClipboard:0}),...c("ExcelExport",{getDataAsExcel:0,exportDataAsExcel:0,getSheetDataForExcel:0,getMultipleSheetsAsExcel:0,exportMultipleSheetsAsExcel:0}),...c("SharedMasterDetail",{addDetailGridInfo:0,removeDetailGridInfo:0,getDetailGridInfo:0,forEachDetailGridInfo:0}),...c("ContextMenu",{showContextMenu:0}),...c("ColumnMenu",{showColumnChooser:0,hideColumnChooser:0}),...c("CellSelection",{getCellRanges:0,addCellRange:0,clearRangeSelection:0,clearCellSelection:0}),...c("SharedRowGrouping",{setRowGroupColumns:0,removeRowGroupColumns:0,addRowGroupColumns:0,getRowGroupColumns:0,moveRowGroupColumn:0}),...c("SharedAggregation",{addAggFuncs:0,clearAggFuncs:0,setColumnAggFunc:0}),...c("SharedPivot",{isPivotMode:0,getPivotResultColumn:0,setValueColumns:0,getValueColumns:0,removeValueColumns:0,addValueColumns:0,setPivotColumns:0,removePivotColumns:0,addPivotColumns:0,getPivotColumns:0,setPivotResultColumns:0,getPivotResultColumns:0}),...c("ServerSideRowModelApi",{getServerSideSelectionState:0,setServerSideSelectionState:0,applyServerSideTransaction:0,applyServerSideTransactionAsync:0,applyServerSideRowData:0,retryServerSideLoads:0,flushServerSideAsyncTransactions:0,refreshServerSide:0,getServerSideGroupLevelState:0,onRowHeightChanged:0,resetRowHeights:0}),...c("SideBar",{isSideBarVisible:0,setSideBarVisible:0,setSideBarPosition:0,openToolPanel:0,closeToolPanel:0,getOpenedToolPanel:0,refreshToolPanel:0,isToolPanelShowing:0,getToolPanelInstance:0,getSideBar:0}),...c("StatusBar",{getStatusPanel:0}),...c("AiToolkit",{getStructuredSchema:0})},N7={isDestroyed:()=>!0,destroy(){},preConstruct(){},postConstruct(){},preWireBeans(){},wireBeans(){}},GU=(J,Z)=>J.eventSvc.dispatchEvent(Z),X1=class{};Reflect.defineProperty(X1,"name",{value:"GridApi"});var BU=class extends M{constructor(){super();this.beanName="apiFunctionSvc",this.api=new X1,this.fns={...N7,dispatchEvent:GU},this.preDestroyLink="";let{api:J}=this;for(let Z of Object.keys(R$))J[Z]=this.makeApi(Z)[Z]}postConstruct(){this.preDestroyLink=this.beans.frameworkOverrides.getDocLink("grid-lifecycle/#grid-pre-destroyed")}addFunction(J,Z){let{fns:$,beans:X}=this;if($!==N7)$[J]=X?.validation?.validateApiFunction(J,Z)??Z}makeApi(J){return{[J]:(...Z)=>{let{beans:$,fns:{[J]:X}}=this;return X?X($,...Z):this.apiNotFound(J)}}}apiNotFound(J){let{beans:Z,gos:$,preDestroyLink:X}=this;if(!Z)O(26,{fnName:J,preDestroyLink:X});else{let Y=R$[J];if($.assertModuleRegistered(Y,`api.${J}`))O(27,{fnName:J,module:Y})}}destroy(){super.destroy(),this.fns=N7,this.beans=null}};function KU(J){return J.context.getId()}function EU(J){J.gridDestroySvc.destroy()}function LU(J){return J.gridDestroySvc.destroyCalled}function FU(J,Z){return J.gos.get(Z)}function DU(J,Z,$){Y1(J,{[Z]:$})}function Y1(J,Z){J.gos.updateGridOptions({options:Z})}function kU(J,Z){let $=Z.replace(/Module$/,"");return J.gos.isModuleRegistered($)}function h6(J,Z,$){let X=h(J,Z,$);if(X){let{className:Q}=X;if(typeof Q==="string"&&Q.includes("ag-icon")||typeof Q==="object"&&Q["ag-icon"])return X}let Y=XJ({tag:"span"});return Y.appendChild(X),Y}function h(J,Z,$){let X=null;if(J==="smallDown")O(262);else if(J==="smallLeft")O(263);else if(J==="smallRight")O(264);let Y=$?.getColDef().icons;if(Y)X=Y[J];if(Z.gos&&!X){let Q=Z.gos.get("icons");if(Q)X=Q[J]}if(X){let Q;if(typeof X==="function")Q=X();else if(typeof X==="string")Q=X;else{O(38,{iconName:J});return}if(typeof Q==="string")return P8(Q);if(Q5(Q))return Q;O(133,{iconName:J});return}else{let Q=Z.registry.getIcon(J);if(!Q)Z.validation?.validateIcon(J);return XJ({tag:"span",cls:`ag-icon ag-icon-${Q??J}`,role:"presentation",attrs:{unselectable:"on"}})}}var VU=".ag-dnd-ghost{align-items:center;background-color:var(--ag-drag-and-drop-image-background-color);border:var(--ag-drag-and-drop-image-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-drag-and-drop-image-shadow);color:var(--ag-text-color);cursor:move;display:flex;font-weight:500;gap:var(--ag-cell-widget-spacing);height:var(--ag-header-height);overflow:hidden;padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding);text-overflow:ellipsis;transform:translateY(calc(var(--ag-spacing)*2));white-space:nowrap}.ag-dnd-ghost-not-allowed{border:var(--ag-drag-and-drop-image-not-allowed-border)}",jU={tag:"div",children:[{tag:"div",ref:"eGhost",cls:"ag-dnd-ghost ag-unselectable",children:[{tag:"span",ref:"eIcon",cls:"ag-dnd-ghost-icon ag-shake-left-to-right"},{tag:"div",ref:"eLabel",cls:"ag-dnd-ghost-label"}]}]},AU=class extends y{constructor(){super();this.dragSource=null,this.eIcon=S,this.eLabel=S,this.eGhost=S,this.registerCSS(VU)}postConstruct(){let J=(Z)=>h6(Z,this.beans,null);this.dropIconMap={pinned:J("columnMovePin"),hide:J("columnMoveHide"),move:J("columnMoveMove"),left:J("columnMoveLeft"),right:J("columnMoveRight"),group:J("columnMoveGroup"),aggregate:J("columnMoveValue"),pivot:J("columnMovePivot"),notAllowed:J("dropNotAllowed")}}init(J){this.dragSource=J.dragSource,this.setTemplate(jU),this.beans.environment.applyThemeClasses(this.eGhost)}destroy(){this.dragSource=null,super.destroy()}setIcon(J,Z){let{eGhost:$,eIcon:X,dragSource:Y,dropIconMap:Q,gos:q}=this;ZJ(X);let H=null;if(!J)J=Y?.getDefaultIconName?Y.getDefaultIconName():"notAllowed";if(H=Q[J],$.classList.toggle("ag-dnd-ghost-not-allowed",J==="notAllowed"),X.classList.toggle("ag-shake-left-to-right",Z),H===Q.hide&&q.get("suppressDragLeaveHidesColumns"))return;if(H)X.appendChild(H)}setLabel(J){this.eLabel.textContent=J}};var Q1=(J,Z)=>{if(Z!=null&&J?.setPointerCapture)try{return J.setPointerCapture(Z),J.hasPointerCapture(Z)}catch{}return!1},MU=(J,Z)=>{if(typeof PointerEvent>"u"||!(Z instanceof PointerEvent))return null;let $=Z.pointerId;if(!Q1(J,$))return null;let X={eElement:J,pointerId:$,onLost(Y){OU(X,Y)}};return J.addEventListener("lostpointercapture",X.onLost),X},RU=(J)=>{if(!J)return;q1(J);let{eElement:Z,pointerId:$}=J;if(!Z)return;try{Z.releasePointerCapture($)}catch{}J.eElement=null},q1=(J)=>{let{eElement:Z,onLost:$}=J;if(Z&&$)Z.removeEventListener("lostpointercapture",$),J.onLost=null},OU=(J,Z)=>{q1(J);let{eElement:$,pointerId:X}=J;if($&&Z.pointerId===X)Q1($,X)},e0,X2,w7={passive:!0},tZ={passive:!1},VZ=(J)=>{if(!X2)X2=new WeakSet;else if(X2.has(J))return!1;return X2.add(J),!0},SU=class extends RJ{constructor(){super(...arguments);this.beanName="dragSvc",this.dragging=!1,this.drag=null,this.dragSources=[]}get startTarget(){return this.drag?.start.target??null}isPointer(){return!!e0?.has(tJ(this.beans))}hasPointerCapture(){let J=this.drag?.pointerCapture;return!!(J&&this.beans.eRootDiv.hasPointerCapture?.(J.pointerId))}destroy(){if(this.drag)this.cancelDrag();let J=this.dragSources;for(let Z of J)O$(Z);J.length=0,super.destroy()}removeDragSource(J){let Z=this.dragSources;for(let $=0,X=Z.length;$this.onPointerDown(J,z),tZ],[Z,"mousedown",(z)=>this.onMouseDown(J,z)]);let _=this.gos.get("suppressTouch");if($&&!_)c5(X,[Z,"touchstart",(U)=>this.onTouchStart(J,U),tZ])}cancelDrag(J){let Z=this.drag;if(J??(J=Z?.eElement),J)this.eventSvc.dispatchEvent({type:"dragCancelled",target:J});Z?.params.onDragCancel?.(),this.destroyDrag()}shouldPreventMouseEvent(J){let Z=J.type;return(Z==="mousemove"||Z==="pointermove")&&J.cancelable&&d2(this.beans,J)&&!N2(h7(J))}initDrag(J,...Z){this.drag=J;let $=this.beans,X=(H)=>this.onScroll(H),Y=(H)=>this.onKeyDown(H),Q=tJ($),q=qJ($);c5(J.handlers,[Q,"contextmenu",$2],[Q,"keydown",Y],[q,"scroll",X,{capture:!0}],[q.defaultView||window,"scroll",X],...Z)}destroyDrag(){this.dragging=!1;let J=this.drag;if(J){let Z=J.rootEl;if(e0?.get(Z)===J)e0.delete(Z);this.drag=null,RU(J.pointerCapture),T8(J.handlers)}}onPointerDown(J,Z){if(this.isPointer())return;let $=this.beans;if(X2?.has(Z))return;let X=Z.pointerType;if(X==="touch"){if($.gos.get("suppressTouch")||!J.includeTouch)return;if(J.stopPropagationForTouch)Z.stopPropagation();if(N2(h7(Z)))return}if(!Z.isPrimary)return;if(X==="mouse"&&Z.button!==0)return;this.destroyDrag();let Y=tJ($),Q=J.eElement,q=Z.pointerId,H=new g7(Y,J,Z,q);e0??(e0=new WeakMap),e0.set(Y,H);let _=(G)=>{if(G.pointerId===q)this.onMouseOrPointerMove(G)},z=(G)=>{if(G.pointerId===q)this.onMouseOrPointerUp(G)},U=(G)=>{if(G.pointerId===q&&VZ(G))this.cancelDrag()},W=(G)=>this.draggingPreventDefault(G);if(this.initDrag(H,[Y,"pointerup",z],[Y,"pointercancel",U],[Y,"pointermove",_,tZ],[Y,"touchmove",W,tZ],[Q,"mousemove",W,tZ]),J.dragStartPixels===0)this.onMouseOrPointerMove(Z);else VZ(Z)}onTouchStart(J,Z){if(this.gos.get("suppressTouch")||!J.includeTouch)return;if(!VZ(Z))return;if(N2(h7(Z)))return;if(J.stopPropagationForTouch)Z.stopPropagation();if(this.isPointer()){if(this.dragging)$2(Z);return}this.destroyDrag();let X=this.beans,Y=tJ(X),Q=new g7(Y,J,Z.touches[0]),q=(G)=>this.onTouchMove(G),H=(G)=>this.onTouchUp(G),_=(G)=>this.onTouchCancel(G),z=(G)=>this.draggingPreventDefault(G),U=tJ(X),W=Z.target??J.eElement;if(this.initDrag(Q,[W,"touchmove",q,w7],[W,"touchend",H,w7],[W,"touchcancel",_,w7],[U,"touchmove",z,tZ],[U,"touchend",H,tZ],[U,"touchcancel",_,tZ]),J.dragStartPixels===0)this.onMove(Q.start)}draggingPreventDefault(J){if(this.dragging)$2(J)}onMouseDown(J,Z){if(Z.button!==0)return;if(X2?.has(Z))return;if(this.isPointer())return;let $=this.beans;this.destroyDrag();let X=new g7(tJ($),J,Z),Y=(H)=>this.onMouseOrPointerMove(H),Q=(H)=>this.onMouseOrPointerUp(H),q=tJ($);if(this.initDrag(X,[q,"mousemove",Y],[q,"mouseup",Q]),J.dragStartPixels===0)this.onMouseOrPointerMove(Z);else VZ(Z)}onScroll(J){if(!VZ(J))return;let Z=this.drag,$=Z?.lastDrag;if($&&this.dragging)Z.params?.onDragging?.($)}onMouseOrPointerMove(J){if(!VZ(J))return;if(c0())qJ(this.beans).getSelection()?.removeAllRanges();if(this.shouldPreventMouseEvent(J))$2(J);this.onMove(J)}onTouchCancel(J){let Z=this.drag;if(!Z||!VZ(J))return;if(!H2(Z.start,J.changedTouches))return;this.cancelDrag()}onTouchMove(J){let Z=this.drag;if(!Z||!VZ(J))return;let $=H2(Z.start,J.touches);if($)this.onMove($),this.draggingPreventDefault(J)}onMove(J){let Z=this.drag;if(!Z)return;Z.lastDrag=J;let $=Z.params;if(!this.dragging){let X=Z.start,Q=$.dragStartPixels??4;if(hX(J,X,Q))return;if(this.dragging=!0,$.capturePointer)Z.pointerCapture=MU(this.beans.eRootDiv,J);if(this.eventSvc.dispatchEvent({type:"dragStarted",target:$.eElement}),$.onDragStart?.(X),this.drag!==Z)return;if($.onDragging?.(X),this.drag!==Z)return}$.onDragging?.(J)}onTouchUp(J){let Z=this.drag;if(Z&&VZ(J))this.onUp(H2(Z.start,J.changedTouches))}onMouseOrPointerUp(J){if(VZ(J))this.onUp(J)}onUp(J){let Z=this.drag;if(!Z)return;if(!J)J=Z.lastDrag;if(J&&this.dragging)this.dragging=!1,Z.params.onDragStop?.(J),this.eventSvc.dispatchEvent({type:"dragStopped",target:Z.params.eElement});this.destroyDrag()}onKeyDown(J){if(J.key===V.ESCAPE)this.cancelDrag()}},O$=(J)=>{T8(J.handlers);let Z=J.oldTouchAction;if(Z!=null){let $=J.params.eElement.style;if($)$.touchAction=Z}},g7=class{constructor(J,Z,$,X=null){this.rootEl=J,this.params=Z,this.start=$,this.pointerId=X,this.handlers=[],this.lastDrag=null,this.pointerCapture=null,this.eElement=Z.eElement}},h7=(J)=>{let Z=J.target;return Z instanceof Element?Z:null},fU=class extends SU{shouldPreventMouseEvent(J){return this.gos.get("enableCellTextSelection")&&super.shouldPreventMouseEvent(J)}},PU=class extends M{constructor(){super(...arguments);this.beanName="horizontalResizeSvc"}addResizeBar(J){let Z={dragStartPixels:J.dragStartPixels||0,eElement:J.eResizeBar,onDragStart:this.onDragStart.bind(this,J),onDragStop:this.onDragStop.bind(this,J),onDragging:this.onDragging.bind(this,J),onDragCancel:this.onDragStop.bind(this,J),includeTouch:!0,stopPropagationForTouch:!0},{dragSvc:$}=this.beans;return $.addDragSource(Z),()=>$.removeDragSource(Z)}onDragStart(J,Z){this.dragStartX=Z.clientX,this.setResizeIcons();let $=Z instanceof MouseEvent&&Z.shiftKey===!0;J.onResizeStart($)}setResizeIcons(){let J=this.beans.ctrlsSvc.get("gridCtrl");J.setResizeCursor(1),J.disableUserSelect(!0)}onDragStop(J){J.onResizeEnd(this.resizeAmount),this.resetIcons()}resetIcons(){let J=this.beans.ctrlsSvc.get("gridCtrl");J.setResizeCursor(!1),J.disableUserSelect(!1)}onDragging(J,Z){this.resizeAmount=Z.clientX-this.dragStartX,J.onResizing(this.resizeAmount)}};var u6=class{constructor(J){if(this.tickingInterval=null,this.onScrollCallback=null,this.scrollContainer=J.scrollContainer,this.scrollHorizontally=J.scrollAxis.includes("x"),this.scrollVertically=J.scrollAxis.includes("y"),this.scrollByTick=J.scrollByTick??20,J.onScrollCallback)this.onScrollCallback=J.onScrollCallback;if(this.scrollVertically)this.getVerticalPosition=J.getVerticalPosition,this.setVerticalPosition=J.setVerticalPosition;if(this.scrollHorizontally)this.getHorizontalPosition=J.getHorizontalPosition,this.setHorizontalPosition=J.setHorizontalPosition;this.shouldSkipVerticalScroll=J.shouldSkipVerticalScroll||(()=>!1),this.shouldSkipHorizontalScroll=J.shouldSkipHorizontalScroll||(()=>!1)}get scrolling(){return this.tickingInterval!==null}check(J,Z=!1){let $=!this.scrollVertically||Z||this.shouldSkipVerticalScroll(),X=!this.scrollHorizontally||this.shouldSkipHorizontalScroll();if($&&X)return;let Y=this.scrollContainer.getBoundingClientRect(),Q=this.scrollByTick;if(this.tickLeft=!X&&J.clientXY.right-Q,this.tickUp=!$&&J.clientYY.bottom-Q,this.tickLeft||this.tickRight||this.tickUp||this.tickDown)this.ensureTickingStarted();else this.ensureCleared()}ensureTickingStarted(){if(this.tickingInterval===null)this.tickingInterval=window.setInterval(this.doTick.bind(this),100),this.tickCount=0}doTick(){this.tickCount++;let J=this.tickCount>20?200:this.tickCount>10?80:40;if(this.scrollVertically){let Z=this.getVerticalPosition();if(this.tickUp)this.setVerticalPosition(Z-J);if(this.tickDown)this.setVerticalPosition(Z+J)}if(this.scrollHorizontally){let Z=this.getHorizontalPosition();if(this.tickLeft)this.setHorizontalPosition(Z-J);if(this.tickRight)this.setHorizontalPosition(Z+J)}if(this.onScrollCallback)this.onScrollCallback()}ensureCleared(){if(this.tickingInterval)window.clearInterval(this.tickingInterval),this.tickingInterval=null}},G2=class{constructor(){this.reordered=!1,this.removals=[],this.updates=new Set,this.adds=new Set}},p0=(J)=>{let Z=J.childrenAfterGroup;while(Z?.length){let $=Z[0];if($.sourceRowIndex>=0)return $;Z=$.childrenAfterGroup}},H1=(J,Z,$,X)=>{if(!Z.size||!J)return!1;let Y=!1,Q=J.length??0,q=-1;if($){if(q=$.sourceRowIndex,$=q<0?p0($):null,$)q=$.sourceRowIndex}if(q<0||q>=Q)q=Q;else if(!X)++q;let H=q,_=Math.min(q,Q-1);for(let W of Z){let G=W.sourceRowIndex;if(G_)_=G}let z=H;for(let W=H;W=q;--W){let G=J[W];if(Z.has(G))continue;if(G.sourceRowIndex!==U)G.sourceRowIndex=U,J[U]=G,Y=!0;--U}for(let W of Z){if(W.sourceRowIndex!==z)W.sourceRowIndex=z,J[z]=W,Y=!0;++z}return Y};function _9(J,Z){return K5(J,Z.target)?.getFocusedCellPosition()??null}function z9(J,Z){let $=jJ(J.gos,"normal"),X=Z,Y,Q;if(X.clientX!=null||X.clientY!=null)Y=X.clientX,Q=X.clientY;else Y=X.x,Q=X.y;let{pageFirstPixel:q}=J.pageBounds.getCurrentPagePixelRange();if(Q+=q,$){let H=J.ctrlsSvc.getScrollFeature(),_=H.getVScrollPosition(),z=H.getHScrollPosition();Y+=z.left,Q+=_.top}return{x:Y,y:Q}}var m6={moduleName:"Drag",version:p,beans:[fU]};var L5={moduleName:"SharedDragAndDrop",version:p,beans:[O_],dependsOn:[m6],userComponents:{agDragAndDropImage:AU},icons:{columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",rowDrag:"grip"}};var U9={moduleName:"HorizontalResize",version:p,beans:[PU],dependsOn:[m6]},TU=":where(.ag-ltr) :where(.ag-column-moving){.ag-cell,.ag-header-cell,.ag-spanned-cell-wrapper{transition:left .2s}.ag-header-group-cell{transition:left .2s,width .2s}}:where(.ag-rtl) :where(.ag-column-moving){.ag-cell,.ag-header-cell,.ag-spanned-cell-wrapper{transition:right .2s}.ag-header-group-cell{transition:right .2s,width .2s}}",vU=class extends M{constructor(){super(...arguments);this.beanName="colAnimation",this.executeNextFuncs=[],this.executeLaterFuncs=[],this.active=!1,this.activeNext=!1,this.suppressAnimation=!1,this.animationThreadCount=0}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(J)=>this.gridBodyCtrl=J.gridBodyCtrl)}isActive(){return this.active&&!this.suppressAnimation}setSuppressAnimation(J){this.suppressAnimation=J}start(){if(this.active)return;let{gos:J}=this;if(J.get("suppressColumnMoveAnimation"))return;if(J.get("enableRtl"))return;this.ensureAnimationCssClassPresent(),this.active=!0,this.activeNext=!0}finish(){if(!this.active)return;this.flush(()=>this.activeNext=!1,()=>this.active=!1)}executeNextVMTurn(J){if(this.activeNext)this.executeNextFuncs.push(J);else J()}executeLaterVMTurn(J){if(this.active)this.executeLaterFuncs.push(J);else J()}ensureAnimationCssClassPresent(){this.animationThreadCount++;let J=this.animationThreadCount,{gridBodyCtrl:Z}=this;Z.setColumnMovingCss(!0),this.executeLaterFuncs.push(()=>{if(this.animationThreadCount===J)Z.setColumnMovingCss(!1)})}flush(J,Z){let{executeNextFuncs:$,executeLaterFuncs:X}=this;if($.length===0&&X.length===0){J(),Z();return}let Y=(Q)=>{while(Q.length){let q=Q.pop();if(q)q()}};this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{J(),Y($)},0),window.setTimeout(()=>{Z(),Y(X)},200)})}};function IU(J,Z,$){J.colMoves?.moveColumnByIndex(Z,$,"api")}function bU(J,Z,$){J.colMoves?.moveColumns(Z,$,"api")}var CU=class extends M{constructor(J){super();this.pinned=J,this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[]}onDragEnter(J){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;let Z=J.dragItem.columns;if(!Z)return;for(let $ of Z){if(!$.isPrimary())continue;if($.isAnyFunctionActive())continue;if($.isAllowValue())this.columnsToAggregate.push($);else if($.isAllowRowGroup())this.columnsToGroup.push($);else if($.isAllowPivot())this.columnsToPivot.push($)}}getIconName(){if(this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0)return this.pinned?"pinned":"move";return null}onDragLeave(J){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging(J){}onDragStop(J){let{valueColsSvc:Z,rowGroupColsSvc:$,pivotColsSvc:X}=this.beans;if(this.columnsToAggregate.length>0)Z?.addColumns(this.columnsToAggregate,"toolPanelDragAndDrop");if(this.columnsToGroup.length>0)$?.addColumns(this.columnsToGroup,"toolPanelDragAndDrop");if(this.columnsToPivot.length>0)X?.addColumns(this.columnsToPivot,"toolPanelDragAndDrop")}onDragCancel(){this.clearColumnsList()}};function xU(J,Z){if(!Z||Z.length<=1)return;if(Z.filter((X)=>J.indexOf(X)<0).length>0)return;Z.sort((X,Y)=>{let Q=J.indexOf(X),q=J.indexOf(Y);return Q-q})}function yU(J){let Z=[...J];for(let $ of J){let X=null,Y=$.getParent();while(Y!=null&&Y.getDisplayedLeafColumns().length===1)X=Y,Y=Y.getParent();if(X!=null){let q=X.getColGroupDef()?.marryChildren?X.getProvidedColumnGroup().getLeafColumns():X.getLeafColumns();for(let H of q)if(!Z.includes(H))Z.push(H)}}return Z}function NU(J,Z,$,X){let Y=X.allCols,Q=null,q=null;for(let H=0;HY.includes(G));if(q===null)q=U;else if(!QJ(U,q))break;let W=gU(z);if(Q===null||W=K)return;if($&&E<=K)return}let F=NU(B,G,z,U);if(!F)return;let D=F.move;if(D>_.getCols().length-G.length)return;return{columns:G,toIndex:D}}function z1(J){let{columns:Z,toIndex:$}=_1(J)||{},{finished:X,colMoves:Y}=J;if(!Z||$==null)return null;return Y.moveColumns(Z,$,"uiColumnMoved",X),X?null:{columns:Z,toIndex:$}}function wU(J,Z){let $=Z.getCols(),X=J.map((_)=>$.indexOf(_)).sort((_,z)=>_-z),Y=X[0];return C(X)-Y!==X.length-1?null:Y}function gU(J){function Z(X){let Y=[],Q=X.getOriginalParent();while(Q!=null)Y.push(Q),Q=Q.getOriginalParent();return Y}let $=0;for(let X=0;XQ.length?[Y,Q]:[Q,Y];for(let q of Y)if(Q.indexOf(q)===-1)$++}return $}function hU(J,Z){switch(Z){case"left":return J.leftCols;case"right":return J.rightCols;default:return J.centerCols}}function uU(J){let{movingCols:Z,draggingRight:$,xPosition:X,pinned:Y,gos:Q,colModel:q,visibleCols:H}=J;if(Q.get("suppressMovableColumns")||Z.some((k)=>k.getColDef().suppressMovable))return[];let z=hU(H,Y),U=q.getCols(),W=z.filter((k)=>Z.includes(k)),G=z.filter((k)=>!Z.includes(k)),B=U.filter((k)=>!Z.includes(k)),K=0,E=X;if($){let k=0;for(let j of W)k+=j.getActualWidth();E-=k}if(E>0){for(let k=0;k0){let k=G[K-1];L=B.indexOf(k)+1}else if(L=B.indexOf(G[0]),L===-1)L=0;let F=[L],D=(k,j)=>k-j;if($){let k=L+1,j=U.length-1;while(k<=j)F.push(k),k++;F.sort(D)}else{let k=L,j=U.length-1,A=U[k];while(k<=j&&z.indexOf(A)<0)k++,F.push(k),A=U[k];k=L-1;let R=0;while(k>=R)F.push(k),k--;F.sort(D).reverse()}return F}function z8(J){let{pinned:Z,fromKeyboard:$,gos:X,ctrlsSvc:Y,useHeaderRow:Q,skipScrollPadding:q}=J,H=Y.getHeaderRowContainerCtrl(Z)?.eViewport,{x:_}=J;if(!H)return 0;if($)_-=H.getBoundingClientRect().left;if(X.get("enableRtl")){if(Q)H=H.querySelector(".ag-header-row");_=H.clientWidth-_}if(Z==null&&!q)_+=Y.get("center").getCenterViewportScrollLeft();return _}function u7(J,Z){for(let $ of J)$.moving=Z,$.dispatchColEvent("movingChanged","uiColumnMoved")}var S$=7,U8=100,h5=U8/2,mU=5,cU=100,pU=class extends M{constructor(J){super();this.pinned=J,this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.isCenterContainer=!T(J)}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(J)=>{this.gridBodyCon=J.gridBodyCtrl})}getIconName(){let{pinned:J,lastDraggingEvent:Z}=this,{dragItem:$}=Z||{},X=$?.columns??[];for(let Y of X){let Q=Y.getPinned();if(Y.getColDef().lockPinned){if(Q==J)return"move";continue}let q=$?.containerType;if(q===J||!J)return"move";if(J&&(!Q||q!==J))return"pinned"}return"notAllowed"}onDragEnter(J){let Z=J.dragItem,$=Z.columns;if(J.dragSource.type===0)this.setColumnsVisible($,!0,"uiColumnDragged");else{let Y=Z.visibleState,Q=($||[]).filter((q)=>Y[q.getId()]&&!q.isVisible());this.setColumnsVisible(Q,!0,"uiColumnDragged")}if(!this.gos.get("suppressMoveWhenColumnDragging"))this.attemptToPinColumns($,this.pinned);this.onDragging(J,!0,!0)}onDragging(J=this.lastDraggingEvent,Z=!1,$=!1,X=!1){let{gos:Y,ctrlsSvc:Q}=this.beans,q=Y.get("suppressMoveWhenColumnDragging");if(X&&!q){this.finishColumnMoving();return}if(this.lastDraggingEvent=J,!J||!X&&d(J.hDirection))return;let H=z8({x:J.x,pinned:this.pinned,gos:Y,ctrlsSvc:Q});if(!Z)this.checkCenterForScrolling(H);if(q)this.handleColumnDragWhileSuppressingMovement(J,Z,$,H,X);else this.handleColumnDragWhileAllowingMovement(J,Z,$,H,X)}onDragLeave(){this.ensureIntervalCleared(),this.clearHighlighted(),this.updateDragItemContainerType(),this.lastMovedInfo=null}onDragStop(){this.onDragging(this.lastDraggingEvent,!1,!0,!0),this.ensureIntervalCleared(),this.lastMovedInfo=null}onDragCancel(){this.clearHighlighted(),this.ensureIntervalCleared(),this.lastMovedInfo=null}setColumnsVisible(J,Z,$){if(!J?.length)return;let X=J.filter((Y)=>!Y.getColDef().lockVisible);if(!X.length)return;this.beans.colModel.setColsVisible(X,Z,$)}finishColumnMoving(){this.clearHighlighted();let J=this.lastMovedInfo;if(!J)return;let{columns:Z,toIndex:$}=J;this.beans.colMoves.moveColumns(Z,$,"uiColumnMoved",!0)}updateDragItemContainerType(){let{lastDraggingEvent:J}=this;if(this.gos.get("suppressMoveWhenColumnDragging")||!J)return;let Z=J.dragItem;if(!Z)return;Z.containerType=this.pinned}handleColumnDragWhileSuppressingMovement(J,Z,$,X,Y){let Q=this.getAllMovingColumns(J,!0);if(Y){let q=this.isAttemptingToPin(Q);if(q)this.attemptToPinColumns(Q,void 0,!0);let{fromLeft:H,xPosition:_}=this.getNormalisedXPositionInfo(Q,q)||{};if(H==null||_==null){this.finishColumnMoving();return}this.moveColumnsAfterHighlight({allMovingColumns:Q,xPosition:_,fromEnter:Z,fakeEvent:$,fromLeft:H})}else{if(!this.beans.dragAndDrop.isDropZoneWithinThisGrid(J))return;this.highlightHoveredColumn(Q,X)}}handleColumnDragWhileAllowingMovement(J,Z,$,X,Y){let Q=this.getAllMovingColumns(J),q=this.normaliseDirection(J.hDirection)==="right",H=J.dragSource.type===1,_=this.getMoveColumnParams({allMovingColumns:Q,isFromHeader:H,xPosition:X,fromLeft:q,fromEnter:Z,fakeEvent:$}),z=z1({..._,finished:Y});if(z)this.lastMovedInfo=z}getAllMovingColumns(J,Z=!1){let $=J.dragSource.getDragItem(),X=null;if(Z){if(X=$.columnsInSplit,!X)X=$.columns}else X=$.columns;let Y=(Q)=>Q.getColDef().lockPinned?Q.getPinned()==this.pinned:!0;if(!X)return[];return X.filter(Y)}getMoveColumnParams(J){let{allMovingColumns:Z,isFromHeader:$,xPosition:X,fromLeft:Y,fromEnter:Q,fakeEvent:q}=J,{gos:H,colModel:_,colMoves:z,visibleCols:U}=this.beans;return{allMovingColumns:Z,isFromHeader:$,fromLeft:Y,xPosition:X,pinned:this.pinned,fromEnter:Q,fakeEvent:q,gos:H,colModel:_,colMoves:z,visibleCols:U}}highlightHoveredColumn(J,Z){let{gos:$,colModel:X}=this.beans,Y=$.get("enableRtl"),Q=X.getCols().filter((U)=>U.isVisible()&&U.getPinned()===this.pinned),q=null,H=null,_=null;for(let U of Q){if(H=U.getActualWidth(),q=this.getNormalisedColumnLeft(U,0,Y),q!=null){let W=q+H;if(q<=Z&&W>=Z){_=U;break}}q=null,H=null}if(!_){for(let U=Q.length-1;U>=0;U--){let W=Q[U],G=Q[U].getParent();if(!G){_=W;break}let B=G?.getDisplayedLeafColumns();if(B.length){_=C(B);break}}if(!_)return;q=this.getNormalisedColumnLeft(_,0,Y),H=_.getActualWidth()}else if(J.indexOf(_)!==-1)_=null;if(_==null||q==null||H==null){if(this.lastHighlightedColumn?.column!==_)this.clearHighlighted();return}let z;if(Z-qS$;return Z&&$||J.some((X)=>X.getPinned()!==this.pinned)}moveColumnsAfterHighlight(J){let{allMovingColumns:Z,xPosition:$,fromEnter:X,fakeEvent:Y,fromLeft:Q}=J,q=this.getMoveColumnParams({allMovingColumns:Z,isFromHeader:!0,xPosition:$,fromLeft:Q,fromEnter:X,fakeEvent:Y}),{columns:H,toIndex:_}=_1(q)||{};if(H&&_!=null)this.lastMovedInfo={columns:H,toIndex:_};this.finishColumnMoving()}clearHighlighted(){let{lastHighlightedColumn:J}=this;if(!J)return;f$(J.column,null),this.lastHighlightedColumn=null}checkCenterForScrolling(J){if(!this.isCenterContainer)return;let Z=this.beans.ctrlsSvc.get("center"),$=Z.getCenterViewportScrollLeft(),X=$+Z.getCenterWidth(),Y,Q;if(this.gos.get("enableRtl"))Y=J<$+h5,Q=J>X-h5;else Q=J<$+h5,Y=J>X-h5;if(this.needToMoveRight=Y,this.needToMoveLeft=Q,Q||Y)this.ensureIntervalStarted();else this.ensureIntervalCleared()}ensureIntervalStarted(){if(this.movingIntervalId)return;this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),cU),this.beans.dragAndDrop.setDragImageCompIcon(this.needToMoveLeft?"left":"right",!0)}ensureIntervalCleared(){if(!this.movingIntervalId)return;window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.failedMoveAttempts=0,this.beans.dragAndDrop.setDragImageCompIcon(this.getIconName())}moveInterval(){let J;if(this.intervalCount++,J=10+this.intervalCount*mU,J>U8)J=U8;let Z=null,$=this.gridBodyCon.scrollFeature;if(this.needToMoveLeft)Z=$.scrollHorizontally(-J);else if(this.needToMoveRight)Z=$.scrollHorizontally(J);if(Z!==0)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{this.failedMoveAttempts++;let{pinnedCols:X,dragAndDrop:Y,gos:Q}=this.beans;if(this.failedMoveAttempts<=S$+1||!X)return;if(Y.setDragImageCompIcon("pinned"),!Q.get("suppressMoveWhenColumnDragging")){let q=this.lastDraggingEvent?.dragItem.columns;this.attemptToPinColumns(q,void 0,!0)}}}getPinDirection(){if(this.needToMoveLeft||this.pinned==="left")return"left";if(this.needToMoveRight||this.pinned==="right")return"right"}attemptToPinColumns(J,Z,$=!1){let X=(J||[]).filter((q)=>!q.getColDef().lockPinned);if(!X.length)return 0;if($)Z=this.getPinDirection();let{pinnedCols:Y,dragAndDrop:Q}=this.beans;if(Y?.setColsPinned(X,Z,"uiColumnDragged"),$)Q.nudge();return X.length}destroy(){super.destroy(),this.lastDraggingEvent=null,this.clearHighlighted(),this.lastMovedInfo=null}};function f$(J,Z){if(J.highlighted===Z)return;J.highlighted=Z,J.dispatchColEvent("headerHighlightChanged","uiColumnMoved")}function iU(J){let Z=J.length,$,X;for(let Y=0;Y{let Y,Q=X.gridBodyCtrl.eBodyViewport;switch($){case"left":Y=[[Q,X.left.eContainer],[X.bottomLeft.eContainer],[X.topLeft.eContainer]];break;case"right":Y=[[Q,X.right.eContainer],[X.bottomRight.eContainer],[X.topRight.eContainer]];break;default:Y=[[Q,X.center.eViewport],[X.bottomCenter.eViewport],[X.topCenter.eViewport]];break}this.eSecondaryContainers=Y}),this.moveColumnFeature=this.createManagedBean(new pU($)),this.bodyDropPivotTarget=this.createManagedBean(new CU($)),Z.addDropTarget(this),this.addDestroyFunc(()=>Z.removeDropTarget(this))}isInterestedIn(J){return J===1||J===0&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(J){return this.beans.colModel.isPivotMode()&&J.dragSource.type===0}onDragEnter(J){this.currentDropListener=this.isDropColumnInPivotMode(J)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter(J)}onDragLeave(J){this.currentDropListener.onDragLeave(J)}onDragging(J){this.currentDropListener.onDragging(J)}onDragStop(J){this.currentDropListener.onDragStop(J)}onDragCancel(){this.currentDropListener.onDragCancel()}};function U1(J,Z){let $=[],X=[],Y=[];if(J.forEach((q)=>{let H=q.getColDef().lockPosition;if(H==="right")Y.push(q);else if(H==="left"||H===!0)$.push(q);else X.push(q)}),Z.get("enableRtl"))return[...Y,...X,...$];return[...$,...X,...Y]}function W1(J,Z){let $=!0;return fZ(null,Z,(X)=>{if(!HJ(X))return;let Y=X;if(!Y.getColGroupDef()?.marryChildren)return;let H=[];for(let G of Y.getLeafColumns()){let B=J.indexOf(G);H.push(B)}let _=Math.max.apply(Math,H),z=Math.min.apply(Math,H),U=_-z,W=Y.getLeafColumns().length-1;if(U>W)$=!1}),$}var nU=class extends M{constructor(){super(...arguments);this.beanName="colMoves"}moveColumnByIndex(J,Z,$){let X=this.beans.colModel.getCols();if(!X)return;let Y=X[J];this.moveColumns([Y],Z,$)}moveColumns(J,Z,$,X=!0){let{colModel:Y,colAnimation:Q,visibleCols:q,eventSvc:H}=this.beans,_=Y.getCols();if(!_)return;if(Z>_.length-J.length){O(30,{toIndex:Z});return}Q?.start();let z=Y.getColsForKeys(J);if(this.doesMovePassRules(z,Z))q$(Y.getCols(),z,Z),q.refresh($),H.dispatchEvent({type:"columnMoved",columns:z,column:z.length===1?z[0]:null,toIndex:Z,finished:X,source:$});Q?.finish()}doesMovePassRules(J,Z){let $=this.getProposedColumnOrder(J,Z);return this.doesOrderPassRules($)}doesOrderPassRules(J){let{colModel:Z,gos:$}=this.beans;if(!W1(J,Z.getColTree()))return!1;if(!((Y)=>{let Q=(z)=>{if(!z)return 0;return z==="left"||z===!0?-1:1},q=$.get("enableRtl"),H=q?1:-1,_=!0;for(let z of Y){let U=Q(z.getColDef().lockPosition);if(q){if(U>H)_=!1}else if(UH?"hide":"notAllowed",getDragItem:_?()=>tU(Z,q.allCols):()=>rU(Z),dragItemName:$,onDragStarted:()=>{H=!X.get("suppressDragLeaveHidesColumns"),u7(z,!0)},onDragStopped:()=>u7(z,!1),onDragCancelled:()=>u7(z,!1),onGridEnter:(G)=>{if(H){let{columns:B=[],visibleState:K}=G??{},E=_?(F)=>!K||K[F.getColId()]:()=>!0,L=B.filter((F)=>!F.getColDef().lockVisible&&E(F));Y.setColsVisible(L,!0,"uiColumnMoved")}},onGridExit:(G)=>{if(H){let B=G?.columns?.filter((K)=>!K.getColDef().lockVisible)||[];Y.setColsVisible(B,!1,"uiColumnMoved")}}};return Q.addDragSource(W,!0),W}};function sU(J,Z){while(J){if(J.getGroupId()===Z)return J;J=J.getParent()}return}function rU(J){let Z={};return Z[J.getId()]=J.isVisible(),{columns:[J],visibleState:Z,containerType:J.pinned}}function tU(J,Z){let $=J.getProvidedColumnGroup().getLeafColumns(),X={};for(let H of $)X[H.getId()]=H.isVisible();let Y=[];for(let H of Z)if($.indexOf(H)>=0)Y.push(H),YJ($,H);for(let H of $)Y.push(H);let Q=[],q=J.getLeafColumns();for(let H of Y)if(q.indexOf(H)!==-1)Q.push(H);return{columns:Y,columnsInSplit:Q,visibleState:X,containerType:Q[0]?.pinned}}var F5={moduleName:"ColumnMove",version:p,beans:[nU,vU],apiFunctions:{moveColumnByIndex:IU,moveColumns:bU},dependsOn:[L5],css:[TU]},lU=class extends M{constructor(){super(...arguments);this.beanName="autoWidthCalc"}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(J)=>{this.centerRowContainerCtrl=J.center})}getPreferredWidthForColumn(J,Z){let $=this.getHeaderCellForColumn(J);if(!$)return-1;let X=this.beans.rowRenderer.getAllCellsNotSpanningForColumn(J);if(!Z)X.push($);return this.getPreferredWidthForElements(X)}getPreferredWidthForColumnGroup(J){let Z=this.getHeaderCellForColumn(J);if(!Z)return-1;return this.getPreferredWidthForElements([Z])}getPreferredWidthForElements(J,Z){let $=document.createElement("form");$.style.position="fixed";let X=this.centerRowContainerCtrl.eContainer;for(let Q of J)this.cloneItemIntoDummy(Q,$);X.appendChild($);let Y=Math.ceil($.getBoundingClientRect().width);return $.remove(),Z=Z??this.gos.get("autoSizePadding"),Y+Z}getHeaderCellForColumn(J){let Z=null;for(let $ of this.beans.ctrlsSvc.getHeaderRowContainerCtrls()){let X=$.getHtmlElementForColumnHeader(J);if(X!=null)Z=X}return Z}cloneItemIntoDummy(J,Z){let $=J.cloneNode(!0);$.style.width="",$.style.position="static",$.style.left="";let X=document.createElement("div"),Y=X.classList;if(["ag-header-cell","ag-header-group-cell"].some((H)=>$.classList.contains(H)))Y.add("ag-header","ag-header-row"),X.style.position="static";else Y.add("ag-row");let q=J.parentElement;while(q){if(["ag-header-row","ag-row"].some((_)=>q.classList.contains(_))){for(let _=0;_Q.getPinned());J.dispatchEvent({type:"columnPinned",pinned:Y!=null?Y:null,columns:Z,column:X,source:$})}function oU(J,Z,$){if(!Z.length)return;let X=Z.length===1?Z[0]:null,Y=B1(Z,(Q)=>Q.isVisible());J.dispatchEvent({type:"columnVisible",visible:Y,columns:Z,column:X,source:$})}function E1(J,Z,$,X){J.dispatchEvent({type:Z,columns:$,column:$&&$.length==1?$[0]:null,source:X})}function L2(J,Z,$,X,Y=null){if(Z?.length)J.dispatchEvent({type:"columnResized",columns:Z,column:Z.length===1?Z[0]:null,flexColumns:Y,finished:$,source:X})}var eU=class extends M{constructor(J,Z,$,X){super();this.comp=J,this.eResize=Z,this.pinned=$,this.columnGroup=X}postConstruct(){if(!this.columnGroup.isResizable()){this.comp.setResizableDisplayed(!1);return}let{horizontalResizeSvc:J,gos:Z,colAutosize:$}=this.beans,X=J.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(this.addDestroyFunc(X),!Z.get("suppressAutoSize")&&$)this.addDestroyFunc($.addColumnGroupResize(this.eResize,this.columnGroup,()=>this.resizeLeafColumnsToFit("uiColumnResized")))}onResizeStart(J){let{columnsToResize:Z,resizeStartWidth:$,resizeRatios:X,groupAfterColumns:Y,groupAfterStartWidth:Q,groupAfterRatios:q}=this.getInitialValues(J);this.resizeCols=Z,this.resizeStartWidth=$,this.resizeRatios=X,this.resizeTakeFromCols=Y,this.resizeTakeFromStartWidth=Q,this.resizeTakeFromRatios=q,this.toggleColumnResizing(!0)}onResizing(J,Z,$="uiColumnResized"){let X=this.normaliseDragChange(Z),Y=this.resizeStartWidth+X;this.resizeColumnsFromLocalValues(Y,$,J)}getInitialValues(J){let Z=(_)=>_.reduce((z,U)=>z+U.getActualWidth(),0),$=(_,z)=>_.map((U)=>U.getActualWidth()/z),X=this.getColumnsToResize(),Y=Z(X),Q=$(X,Y),q={columnsToResize:X,resizeStartWidth:Y,resizeRatios:Q},H=null;if(J)H=this.beans.colGroupSvc?.getGroupAtDirection(this.columnGroup,"After")??null;if(H){let _=H.getDisplayedLeafColumns(),z=q.groupAfterColumns=_.filter((W)=>W.isResizable()),U=q.groupAfterStartWidth=Z(z);q.groupAfterRatios=$(z,U)}else q.groupAfterColumns=void 0,q.groupAfterStartWidth=void 0,q.groupAfterRatios=void 0;return q}resizeLeafColumnsToFit(J){let Z=this.beans.autoWidthCalc.getPreferredWidthForColumnGroup(this.columnGroup),$=this.getInitialValues();if(Z>$.resizeStartWidth)this.resizeColumns($,Z,J,!0)}resizeColumnsFromLocalValues(J,Z,$=!0){if(!this.resizeCols||!this.resizeRatios)return;let X={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols,groupAfterStartWidth:this.resizeTakeFromStartWidth,groupAfterRatios:this.resizeTakeFromRatios};this.resizeColumns(X,J,Z,$)}resizeColumns(J,Z,$,X=!0){let{columnsToResize:Y,resizeStartWidth:Q,resizeRatios:q,groupAfterColumns:H,groupAfterStartWidth:_,groupAfterRatios:z}=J,U=[];if(U.push({columns:Y,ratios:q,width:Z}),H){let W=Z-Q;U.push({columns:H,ratios:z,width:_-W})}if(this.beans.colResize?.resizeColumnSets({resizeSets:U,finished:X,source:$}),X)this.toggleColumnResizing(!1)}toggleColumnResizing(J){this.comp.toggleCss("ag-column-resizing",J)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter((Z)=>Z.isResizable())}normaliseDragChange(J){let Z=J;if(this.gos.get("enableRtl")){if(this.pinned!=="left")Z*=-1}else if(this.pinned==="right")Z*=-1;return Z}destroy(){super.destroy(),this.resizeCols=void 0,this.resizeRatios=void 0,this.resizeTakeFromCols=void 0,this.resizeTakeFromRatios=void 0}},JW=class extends M{constructor(J,Z,$,X,Y){super();this.pinned=J,this.column=Z,this.eResize=$,this.comp=X,this.ctrl=Y}postConstruct(){let J=[],Z,$,X=()=>{if(w(this.eResize,Z),!Z)return;let{horizontalResizeSvc:q,colAutosize:H}=this.beans,_=q.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(J.push(_),$&&H)J.push(H.addColumnAutosizeListeners(this.eResize,this.column))},Y=()=>{for(let q of J)q();J.length=0},Q=()=>{let q=this.column.isResizable(),H=!this.gos.get("suppressAutoSize")&&!this.column.getColDef().suppressAutoSize;if(q!==Z||H!==$)Z=q,$=H,Y(),X()};Q(),this.addDestroyFunc(Y),this.ctrl.setRefreshFunction("resize",Q)}onResizing(J,Z){let{column:$,lastResizeAmount:X,resizeStartWidth:Y,beans:Q}=this,q=this.normaliseResizeAmount(Z),H=Y+q,_=[{key:$,newWidth:H}],{pinnedCols:z,ctrlsSvc:U,colResize:W}=Q;if(this.column.getPinned()){let G=z?.leftWidth??0,B=z?.rightWidth??0,K=y0(U.getGridBodyCtrl().eBodyViewport)-50;if(G+B+(q-X)>K)return}if(this.lastResizeAmount=q,W?.setColumnWidths(_,this.resizeWithShiftKey,J,"uiColumnResized"),J)this.toggleColumnResizing(!1)}onResizeStart(J){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=J,this.toggleColumnResizing(!0)}toggleColumnResizing(J){this.column.resizing=J,this.comp.toggleCss("ag-column-resizing",J)}normaliseResizeAmount(J){let Z=J,$=this.pinned!=="left",X=this.pinned==="right";if(this.gos.get("enableRtl")){if($)Z*=-1}else if(X)Z*=-1;return Z}},ZW=class extends M{constructor(){super(...arguments);this.beanName="colResize"}setColumnWidths(J,Z,$,X){let Y=[],{colModel:Q,gos:q,visibleCols:H}=this.beans;for(let _ of J){let z=Q.getColDefCol(_.key)||Q.getCol(_.key);if(!z)continue;if(Y.push({width:_.newWidth,ratios:[1],columns:[z]}),q.get("colResizeDefault")==="shift")Z=!Z;if(Z){let W=H.getColAfter(z);if(!W)continue;let G=z.getActualWidth()-_.newWidth,B=W.getActualWidth()+G;Y.push({width:B,ratios:[1],columns:[W]})}}if(Y.length===0)return;this.resizeColumnSets({resizeSets:Y,finished:$,source:X})}resizeColumnSets(J){let{resizeSets:Z,finished:$,source:X}=J;if(!(!Z||Z.every((U)=>$W(U)))){if($){let U=Z&&Z.length>0?Z[0].columns:null;L2(this.eventSvc,U,$,X)}return}let Q=[],q=[];for(let U of Z){let{width:W,columns:G,ratios:B}=U,K={},E={};for(let D of G)q.push(D);let L=!0,F=0;while(L){if(F++,F>1000){e(31);break}L=!1;let D=[],k=0,j=W;G.forEach((R,f)=>{if(E[R.getId()])j-=K[R.getId()];else{D.push(R);let v=B[f];k+=v}});let A=1/k;D.forEach((R,f)=>{let I=f===D.length-1,v;if(I)v=j;else v=Math.round(B[f]*W*A),j-=v;let b=R.getMinWidth(),m=R.getMaxWidth();if(v0&&v>m)v=m,E[R.getId()]=!0,L=!0;K[R.getId()]=v})}for(let D of G){let k=K[D.getId()];if(D.getActualWidth()!==k)D.setActualWidth(k,X),Q.push(D)}}let H=Q.length>0,_=[];if(H){let{colFlex:U,visibleCols:W,colViewport:G}=this.beans;_=U?.refreshFlexedColumns({resizingCols:q,skipSetLeft:!0})??[],W.setLeftValues(X),W.updateBodyWidths(),G.checkViewportColumns()}let z=q.concat(_);if(H||$)L2(this.eventSvc,z,$,X,_)}resizeHeader(J,Z,$){if(!J.isResizable())return;let X=J.getActualWidth(),Y=J.getMinWidth(),Q=J.getMaxWidth(),q=Math.min(Math.max(X+Z,Y),Q);this.setColumnWidths([{key:J,newWidth:q}],$,!0,"uiColumnResized")}createResizeFeature(J,Z,$,X,Y){return new JW(J,Z,$,X,Y)}createGroupResizeFeature(J,Z,$,X){return new eU(J,Z,$,X)}};function $W(J){let{columns:Z,width:$}=J,X=0,Y=0,Q=!0;for(let _ of Z){let z=_.getMinWidth();X+=z||0;let U=_.getMaxWidth();if(U>0)Y+=U;else Q=!1}let q=$>=X,H=!Q||$<=Y;return q&&H}var XW={moduleName:"ColumnResize",version:p,beans:[ZW],apiFunctions:{setColumnWidths:aU},dependsOn:[U9,G1]},YW=class extends M{constructor(J,Z){super();this.removeChildListenersFuncs=[],this.columnGroup=Z,this.comp=J}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();let J=this.onWidthChanged.bind(this);for(let Z of this.columnGroup.getLeafColumns())Z.__addEventListener("widthChanged",J),Z.__addEventListener("visibleChanged",J),this.removeChildListenersFuncs.push(()=>{Z.__removeEventListener("widthChanged",J),Z.__removeEventListener("visibleChanged",J)})}removeListenersOnChildrenColumns(){for(let J of this.removeChildListenersFuncs)J();this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){let J=this.columnGroup.getActualWidth();this.comp.setWidth(`${J}px`),this.comp.toggleCss("ag-hidden",J===0)}},QW=class extends X9{constructor(){super(...arguments);this.onSuppressColMoveChange=()=>{if(!this.isAlive()||this.isSuppressMoving())this.removeDragSource();else if(!this.dragSource)this.setDragSource(this.eGui)}}wireComp(J,Z,$,X,Y){let{column:Q,beans:q}=this,{context:H,colNames:_,colHover:z,rangeSvc:U,colResize:W}=q;this.comp=J,Y=B5(this,H,Y),this.setGui(Z,Y),this.displayName=_.getDisplayNameForColumnGroup(Q,"header"),this.refreshHeaderStyles(),this.addClasses(),this.setupMovingCss(Y),this.setupExpandable(Y),this.setupTooltip(),this.refreshAnnouncement(),this.setupAutoHeight({wrapperElement:X,compBean:Y}),this.setupUserComp(),this.addHeaderMouseListeners(Y,X),this.addManagedPropertyListener("groupHeaderHeight",this.refreshMaxHeaderHeight.bind(this)),this.refreshMaxHeaderHeight();let G=this.rowCtrl.pinned,B=Q.getProvidedColumnGroup().getLeafColumns();if(z?.createHoverFeature(Y,B,Z),U?.createRangeHighlightFeature(Y,Q,J),Y.createManagedBean(new $9(Q,Z,q)),Y.createManagedBean(new YW(J,Q)),W)this.resizeFeature=Y.createManagedBean(W.createGroupResizeFeature(J,$,G,Q));else J.setResizableDisplayed(!1);Y.createManagedBean(new cZ(Z,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{return},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addHighlightListeners(Y,B),this.addManagedEventListeners({cellSelectionChanged:()=>this.refreshAnnouncement()}),Y.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners(Y),Y.addDestroyFunc(()=>this.clearComponent())}getHeaderClassParams(){let{column:J,beans:Z}=this,$=J.getDefinition();return x(Z.gos,{colDef:$,columnGroup:J,floatingFilter:!1})}refreshMaxHeaderHeight(){let{gos:J,comp:Z}=this,$=J.get("groupHeaderHeight");if($!=null)if($===0)Z.setHeaderWrapperHidden(!0);else Z.setHeaderWrapperMaxHeight($);else Z.setHeaderWrapperHidden(!1),Z.setHeaderWrapperMaxHeight(null)}addHighlightListeners(J,Z){if(!this.beans.gos.get("suppressMoveWhenColumnDragging"))return;for(let $ of Z)J.addManagedListeners($,{headerHighlightChanged:this.onLeafColumnHighlightChanged.bind(this,$)})}onLeafColumnHighlightChanged(J){let Z=this.column.getDisplayedLeafColumns(),$=Z[0]===J,X=C(Z)===J;if(!$&&!X)return;let Y=J.getHighlighted(),Q=!!this.rowCtrl.getHeaderCellCtrls().find((_)=>{return _.column.isMoving()}),q=!1,H=!1;if(Q){let _=this.beans.gos.get("enableRtl"),z=Y===1,U=Y===0;if($)if(_)H=z;else q=U;if(X)if(_)q=U;else H=z}this.comp.toggleCss("ag-header-highlight-before",q),this.comp.toggleCss("ag-header-highlight-after",H)}resizeHeader(J,Z){let{resizeFeature:$}=this;if(!$)return;let X=$.getInitialValues(Z);$.resizeColumns(X,X.resizeStartWidth+J,"uiColumnResized",!0)}resizeLeafColumnsToFit(J){this.resizeFeature?.resizeLeafColumnsToFit(J)}setupUserComp(){let{colGroupSvc:J,userCompFactory:Z,gos:$,enterpriseMenuFactory:X}=this.beans,Y=this.column,Q=Y.getProvidedColumnGroup(),q=x($,{displayName:this.displayName,columnGroup:Y,setExpanded:(_)=>{J.setColumnGroupOpened(Q,_,"gridInitializing")},setTooltip:(_,z)=>{$.assertModuleRegistered("Tooltip",3),this.setupTooltip(_,z)},showColumnMenu:(_,z)=>X?.showMenuAfterButtonClick(Q,_,"columnMenu",z),showColumnMenuAfterMouseClick:(_,z)=>X?.showMenuAfterMouseEvent(Q,_,"columnMenu",z),eGridHeader:this.eGui}),H=D_(Z,q);if(H)this.comp.setUserCompDetails(H)}addHeaderMouseListeners(J,Z){let{column:$,comp:X,beans:{rangeSvc:Y},gos:Q}=this,q=(U)=>this.handleMouseOverChange(U.type==="mouseenter"),H=()=>this.dispatchColumnMouseEvent("columnHeaderClicked",$.getProvidedColumnGroup()),_=(U)=>this.handleContextMenuMouseEvent(U,void 0,$.getProvidedColumnGroup());J.addManagedListeners(this.eGui,{mouseenter:q,mouseleave:q,click:H,contextmenu:_}),X.toggleCss("ag-header-group-cell-selectable",X0(Q));let z=Y?.createHeaderGroupCellMouseListenerFeature(this.column,Z);if(z)this.createManagedBean(z)}handleMouseOverChange(J){this.eventSvc.dispatchEvent({type:J?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()})}setupTooltip(J,Z){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderGroupTooltip(this.tooltipFeature,this,J,Z)}setupExpandable(J){let Z=this.column.getProvidedColumnGroup();this.refreshExpanded();let $=this.refreshExpanded.bind(this);J.addManagedListeners(Z,{expandedChanged:$,expandableChanged:$})}refreshExpanded(){let{column:J}=this;this.expandable=J.isExpandable();let Z=J.isExpanded();if(this.expandable)this.comp.setAriaExpanded(Z?"true":"false");else this.comp.setAriaExpanded(void 0);this.refreshHeaderStyles()}addClasses(){let{column:J}=this,Z=J.getColGroupDef(),$=w6(Z,this.gos,null,J);if(J.isPadding()){if($.push("ag-header-group-cell-no-group"),J.getLeafColumns().every((Y)=>Y.isSpanHeaderHeight()))$.push("ag-header-span-height")}else if($.push("ag-header-group-cell-with-group"),Z?.wrapHeaderText)$.push("ag-header-cell-wrap-text");for(let X of $)this.comp.toggleCss(X,!0)}setupMovingCss(J){let{column:Z}=this,X=Z.getProvidedColumnGroup().getLeafColumns(),Y=()=>this.comp.toggleCss("ag-header-cell-moving",Z.isMoving());for(let Q of X)J.addManagedListeners(Q,{movingChanged:Y});Y()}onFocusIn(J){if(!this.eGui.contains(J.relatedTarget))this.focusThis(),this.announceAriaDescription()}handleKeyDown(J){if(super.handleKeyDown(J),!this.getWrapperHasFocus())return;let{column:$,expandable:X,gos:Y,beans:Q}=this,q=X0(Y);if(J.key!=V.ENTER)return;if(q&&!J.altKey)Q.rangeSvc?.handleColumnSelection($,J);else if(X){let H=!$.isExpanded();Q.colGroupSvc.setColumnGroupOpened($.getProvidedColumnGroup(),H,"uiColumnExpanded")}}refreshAnnouncement(){let J,{gos:Z}=this;if(X0(Z))J=this.getLocaleTextFunc()("ariaColumnGroupCellSelection","Press Enter to toggle selection for all visible cells in this column group");this.ariaAnnouncement=J}announceAriaDescription(){let{beans:J,eGui:Z,ariaAnnouncement:$}=this;if(!$||!Z.contains(n(J)))return;J.ariaAnnounce?.announceValue($,"columnHeader")}setDragSource(J){if(!this.isAlive()||this.isSuppressMoving())return;if(this.removeDragSource(),!J)return;this.dragSource=this.beans.colMoves?.setDragSourceForHeader(J,this.column,this.displayName)??null}isSuppressMoving(){return this.gos.get("suppressMovableColumns")||this.column.getLeafColumns().some((J)=>J.getColDef().suppressMovable||J.getColDef().lockPosition)}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function qW(J,Z,$){J.colGroupSvc?.setColumnGroupOpened(Z,$,"api")}function HW(J,Z,$){return J.colGroupSvc?.getColumnGroup(Z,$)??null}function _W(J,Z){return J.colGroupSvc?.getProvidedColGroup(Z)??null}function zW(J,Z,$){return J.colNames.getDisplayNameForColumnGroup(Z,$)||""}function UW(J){return J.colGroupSvc?.getColumnGroupState()??[]}function WW(J,Z){J.colGroupSvc?.setColumnGroupState(Z,"api")}function GW(J){J.colGroupSvc?.resetColumnGroupState("api")}function BW(J){return J.visibleCols.treeLeft}function KW(J){return J.visibleCols.treeCenter}function EW(J){return J.visibleCols.treeRight}function LW(J){return J.visibleCols.getAllTrees()}var L1=class{constructor(){this.existingIds={}}getInstanceIdForKey(J){let Z=this.existingIds[J],$;if(typeof Z!=="number")$=0;else $=Z+1;return this.existingIds[J]=$,$}};function FW(J,Z){for(let $=0;$=0)J[X]=J[J.length-1],J.pop()}}var DW=class extends M{constructor(){super(...arguments);this.beanName="visibleCols",this.colsAndGroupsMap={},this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.headerGroupRowCount=0,this.bodyWidth=0,this.leftWidth=0,this.rightWidth=0,this.isBodyWidthDirty=!0}refresh(J,Z=!1){let{colFlex:$,colModel:X,colGroupSvc:Y,colViewport:Q,selectionColSvc:q}=this.beans;if(!Z)this.buildTrees(X,Y);Y?.updateOpenClosedVisibility(),this.leftCols=m7(this.treeLeft),this.centerCols=m7(this.treeCenter),this.rightCols=m7(this.treeRight),q?.refreshVisibility(this.leftCols,this.centerCols,this.rightCols),this.joinColsAriaOrder(X),this.joinCols(),this.headerGroupRowCount=this.getHeaderRowCount(),this.setLeftValues(J),this.autoHeightCols=this.allCols.filter((H)=>H.isAutoHeight()),$?.refreshFlexedColumns(),this.updateBodyWidths(),this.setFirstRightAndLastLeftPinned(X,this.leftCols,this.rightCols,J),Q.checkViewportColumns(!1),this.eventSvc.dispatchEvent({type:"displayedColumnsChanged",source:J})}getHeaderRowCount(){if(!this.gos.get("hidePaddedHeaderRows"))return this.beans.colModel.cols.treeDepth;let J=0;for(let Z of this.allCols){let $=Z.getParent();while($){if(!$.isPadding()){let X=$.getProvidedColumnGroup().getLevel()+1;if(X>J)J=X;break}$=$.getParent()}}return J}updateBodyWidths(){let J=wZ(this.centerCols),Z=wZ(this.leftCols),$=wZ(this.rightCols);if(this.isBodyWidthDirty=this.bodyWidth!==J,this.bodyWidth!==J||this.leftWidth!==Z||this.rightWidth!==$)this.bodyWidth=J,this.leftWidth=Z,this.rightWidth=$,this.eventSvc.dispatchEvent({type:"columnContainerWidthChanged"}),this.eventSvc.dispatchEvent({type:"displayedColumnsWidthChanged"})}setLeftValues(J){this.setLeftValuesOfCols(J),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned(J,Z,$,X){let Y,Q;if(this.gos.get("enableRtl"))Y=Z?Z[0]:null,Q=$?C($):null;else Y=Z?C(Z):null,Q=$?$[0]:null;for(let q of J.getCols())q.setLastLeftPinned(q===Y,X),q.setFirstRightPinned(q===Q,X)}buildTrees(J,Z){let $=J.getColsToShow(),X=$.filter((_)=>_.getPinned()=="left"),Y=$.filter((_)=>_.getPinned()=="right"),Q=$.filter((_)=>_.getPinned()!="left"&&_.getPinned()!="right"),q=new L1,H=(_)=>{return Z?Z.createColumnGroups(_):_.columns};this.treeLeft=H({columns:X,idCreator:q,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=H({columns:Y,idCreator:q,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=H({columns:Q,idCreator:q,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.ariaOrderColumns=[]}joinColsAriaOrder(J){let Z=J.getCols(),$=[],X=[],Y=[];for(let Q of Z){let q=Q.getPinned();if(!q)X.push(Q);else if(q===!0||q==="left")$.push(Q);else Y.push(Q)}this.ariaOrderColumns=$.concat(X).concat(Y)}getAriaColIndex(J){let Z;if(UJ(J))Z=J.getLeafColumns()[0];else Z=J;return this.ariaOrderColumns.indexOf(Z)+1}setLeftValuesOfGroups(){for(let J of[this.treeLeft,this.treeRight,this.treeCenter])for(let Z of J)if(UJ(Z))Z.checkLeft()}setLeftValuesOfCols(J){let{colModel:Z}=this.beans;if(!Z.getColDefCols())return;let X=Z.getCols().slice(0),Y=this.gos.get("enableRtl");for(let Q of[this.leftCols,this.rightCols,this.centerCols]){if(Y){let q=wZ(Q);for(let H of Q)q-=H.getActualWidth(),H.setLeft(q,J)}else{let q=0;for(let H of Q)H.setLeft(q,J),q+=H.getActualWidth()}FW(X,Q)}for(let Q of X)Q.setLeft(null,J)}joinCols(){if(this.gos.get("enableRtl"))this.allCols=this.rightCols.concat(this.centerCols).concat(this.leftCols);else this.allCols=this.leftCols.concat(this.centerCols).concat(this.rightCols)}getAllTrees(){if(this.treeLeft&&this.treeRight&&this.treeCenter)return this.treeLeft.concat(this.treeCenter).concat(this.treeRight);return null}isColDisplayed(J){return this.allCols.indexOf(J)>=0}getLeftColsForRow(J){let{leftCols:Z,beans:{colModel:$}}=this;if(!$.colSpanActive)return Z;return this.getColsForRow(J,Z)}getRightColsForRow(J){let{rightCols:Z,beans:{colModel:$}}=this;if(!$.colSpanActive)return Z;return this.getColsForRow(J,Z)}getColsForRow(J,Z,$,X){let Y=[],Q=null;for(let q=0;q1){let G=z-1;for(let B=1;B<=G;B++)U.push(Z[q+B]);q+=G}let W;if($){W=!1;for(let G of U)if($(G))W=!0}else W=!0;if(W){if(Y.length===0&&Q){if(X?X(H):!1)Y.push(Q)}Y.push(H)}Q=H}return Y}getContainerWidth(J){switch(J){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getColBefore(J){let Z=this.allCols,$=Z.indexOf(J);if($>0)return Z[$-1];return null}isPinningLeft(){return this.leftCols.length>0}isPinningRight(){return this.rightCols.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};let J=(Z)=>{this.colsAndGroupsMap[Z.getUniqueId()]=Z};x0(this.treeCenter,!1,J),x0(this.treeLeft,!1,J),x0(this.treeRight,!1,J)}isVisible(J){return this.colsAndGroupsMap[J.getUniqueId()]===J}getFirstColumn(){let J=this.gos.get("enableRtl"),Z=["leftCols","centerCols","rightCols"];if(J)Z.reverse();for(let $=0;${if($Z($))Z.push($)}),Z}var kW=class extends M{constructor(){super(...arguments);this.beanName="colGroupSvc"}getColumnGroupState(){let J=[],Z=this.beans.colModel.getColTree();return fZ(null,Z,($)=>{if(HJ($))J.push({groupId:$.getGroupId(),open:$.isExpanded()})}),J}resetColumnGroupState(J){let Z=this.beans.colModel.getColDefColTree();if(!Z)return;let $=[];fZ(null,Z,(X)=>{if(HJ(X)){let Y=X.getColGroupDef(),Q={groupId:X.getGroupId(),open:!Y?void 0:Y.openByDefault};$.push(Q)}}),this.setColumnGroupState($,J)}setColumnGroupState(J,Z){let{colModel:$,colAnimation:X,visibleCols:Y,eventSvc:Q}=this.beans;if(!$.getColTree().length)return;X?.start();let H=[];for(let _ of J){let{groupId:z,open:U}=_,W=this.getProvidedColGroup(z);if(!W)continue;if(W.isExpanded()===U)continue;W.setExpanded(U),H.push(W)}if(Y.refresh(Z,!0),H.length)Q.dispatchEvent({type:"columnGroupOpened",columnGroup:H.length===1?H[0]:void 0,columnGroups:H});X?.finish()}setColumnGroupOpened(J,Z,$){let X;if(HJ(J))X=J.getId();else X=J||"";this.setColumnGroupState([{groupId:X,open:Z}],$)}getProvidedColGroup(J){let Z=null;return fZ(null,this.beans.colModel.getColTree(),($)=>{if(HJ($)){if($.getId()===J)Z=$}}),Z}getGroupAtDirection(J,Z){let $=J.getProvidedColumnGroup().getLevel()+J.getPaddingLevel(),X=J.getDisplayedLeafColumns(),Y=Z==="After"?C(X):X[0],Q=`getCol${Z}`;while(!0){let q=this.beans.visibleCols[Q](Y);if(!q)return null;let H=this.getColGroupAtLevel(q,$);if(H!==J)return H}}getColGroupAtLevel(J,Z){let $=J.getParent(),X,Y;while(!0){if(X=$.getProvidedColumnGroup().getLevel(),Y=$.getPaddingLevel(),X+Y<=Z)break;$=$.getParent()}return $}updateOpenClosedVisibility(){let J=this.beans.visibleCols.getAllTrees();x0(J,!1,(Z)=>{if(UJ(Z))Z.calculateDisplayedColumns()})}getColumnGroup(J,Z){if(!J)return null;if(UJ(J))return J;let $=this.beans.visibleCols.getAllTrees(),X=typeof Z==="number",Y=null;return x0($,!1,(Q)=>{if(UJ(Q)){let q=Q,H;if(X)H=J===q.getGroupId()&&Z===q.getPartId();else H=J===q.getGroupId();if(H)Y=q}}),Y}createColumnGroups(J){let{columns:Z,idCreator:$,pinned:X,oldDisplayedGroups:Y,isStandaloneStructure:Q}=J,q=this.mapOldGroupsById(Y),H=[],_=Z;while(_.length){let z=_;_=[];let U=0,W=(G)=>{let B=U;U=G;let K=z[B],L=(UJ(K)?K.getProvidedColumnGroup():K).getOriginalParent();if(L==null){for(let D=B;DHJ(U))){_.setChildren([q]);continue}else{_.setChildren(J);break}Y.push(q)}}return Y}findDepth(J){let Z=0,$=J;while($?.[0]&&HJ($[0]))Z++,$=$[0].getChildren();return Z}findMaxDepth(J,Z){let $=Z;for(let X=0;X=0;Q--){let q=new b0(null,`FAKE_PATH_${X.getId()}_${Q}`,!0,Q);this.createBean(q),q.setChildren([Y]),Y.originalParent=q,Y=q}if(Z===0)X.originalParent=null;$.push(Y)}return $}findExistingGroup(J,Z){if(J.groupId==null)return;for(let X=0;X{for(let Y of X)if(UJ(Y)){let Q=Y;Z[Y.getUniqueId()]=Q,$(Q.getChildren())}};if(J)$(J);return Z}setupParentsIntoCols(J,Z){for(let $ of J??[]){if($.parent!==Z)this.beans.colViewport.colsWithinViewportHash="";if($.parent=Z,UJ($)){let X=$;this.setupParentsIntoCols(X.getChildren(),X)}}}},W9={moduleName:"ColumnGroup",version:p,dynamicBeans:{headerGroupCellCtrl:QW},beans:[kW],apiFunctions:{getAllDisplayedColumnGroups:LW,getCenterDisplayedColumnGroups:KW,getColumnGroup:HW,getColumnGroupState:UW,getDisplayNameForColumnGroup:zW,getLeftDisplayedColumnGroups:BW,getProvidedColumnGroup:_W,getRightDisplayedColumnGroups:EW,resetColumnGroupState:GW,setColumnGroupOpened:qW,setColumnGroupState:WW}};function dJ(J,Z,$){let{colModel:X,rowGroupColsSvc:Y,pivotColsSvc:Q,autoColSvc:q,selectionColSvc:H,colAnimation:_,visibleCols:z,pivotResultCols:U,environment:W,valueColsSvc:G,eventSvc:B,gos:K}=J,E=X.getColDefCols()??[],L=H?.getColumns();if(!E.length&&!L?.length)return!1;if(Z?.state&&!Z.state.forEach)return O(32),!1;let F=(A,R,f,I,v)=>{if(!A)return;let b=pH(R,Z.defaultState),m=b("flex").value1,N=b("sort").value1,a=b("sortType").value1,s=Y0(N)||g8(a),u=LZ(a),JJ=v6(N),r=s?{type:u,direction:JJ}:void 0;if(BY(J,A,b("hide").value1,r,b("sortIndex").value1,b("pinned").value1,m,$),m==null){let SJ=b("width").value1;if(SJ!=null){let fJ=A.getColDef().minWidth??W.getDefaultColumnMinWidth();if(fJ!=null&&SJ>=fJ)A.setActualWidth(SJ,$)}}if(v||!A.isPrimary())return;G?.syncColumnWithState(A,$,b),Y?.syncColumnWithState(A,$,b,f),Q?.syncColumnWithState(A,$,b,I)},D=(A,R,f)=>{let I=D1(J,$),v=R.slice(),b={},m={},N=[],a=[],s=[],u=0,JJ=Y?.columns.slice()??[],r=Q?.columns.slice()??[];for(let VJ of A){let M0=VJ.colId;if(M0.startsWith(u0)){N.push(VJ),s.push(VJ);continue}if(IZ(M0)){a.push(VJ),s.push(VJ);continue}let o0=f(M0);if(!o0)s.push(VJ),u+=1;else F(o0,VJ,b,m,!1),YJ(v,o0)}let SJ=(VJ)=>F(VJ,null,b,m,!1);v.forEach(SJ),Y?.sortColumns(T$.bind(Y,b,JJ)),Q?.sortColumns(T$.bind(Q,m,r)),X.refreshCols(!1,$);let fJ=(VJ,M0,k7=[])=>{for(let o0 of M0){let Q$=VJ(o0.colId);YJ(k7,Q$),F(Q$,o0,null,null,!0)}k7.forEach(SJ)};return fJ((VJ)=>q?.getColumn(VJ)??null,N,q?.getColumns()?.slice()),fJ((VJ)=>H?.getColumn(VJ)??null,a,H?.getColumns()?.slice()),VW(Z,X,K),z.refresh($),B.dispatchEvent({type:"columnEverythingChanged",source:$}),I(),{unmatchedAndAutoStates:s,unmatchedCount:u}};_?.start();let{unmatchedAndAutoStates:k,unmatchedCount:j}=D(Z.state||[],E,(A)=>X.getColDefCol(A));if(k.length>0||T(Z.defaultState)){let A=U?.getPivotResultCols()?.list??[];j=D(k,A,(R)=>U?.getPivotResultCol(R)??null).unmatchedCount}return _?.finish(),j===0}function F1(J,Z){let{colModel:$,autoColSvc:X,selectionColSvc:Y,eventSvc:Q,gos:q}=J,H=$.getColDefCols();if(!H?.length)return;let _=$.getColDefColTree(),z=I6(_),U=[],W=1000,G=1000,B=(D)=>{let k=k1(D);if(d(k.rowGroupIndex)&&k.rowGroup)k.rowGroupIndex=W++;if(d(k.pivotIndex)&&k.pivot)k.pivotIndex=G++;U.push(k)};X?.getColumns()?.forEach(B),Y?.getColumns()?.forEach(B),z?.forEach(B),dJ(J,{state:U},Z);let K=X?.getColumns()??[],F=[...Y?.getColumns()??[],...K,...H].map((D)=>({colId:D.colId}));dJ(J,{state:F,applyOrder:!0},Z),Q.dispatchEvent(x(q,{type:"columnsReset",source:Z}))}function D1(J,Z){let{rowGroupColsSvc:$,pivotColsSvc:X,valueColsSvc:Y,colModel:Q,sortSvc:q,eventSvc:H}=J,_={rowGroupColumns:$?.columns.slice()??[],pivotColumns:X?.columns.slice()??[],valueColumns:Y?.columns.slice()??[]},z=P$(J),U={};for(let W of z)U[W.colId]=W;return()=>{let W=(R,f,I,v)=>{let b=f.map(v),m=I.map(v);if(QJ(b,m))return;let a=new Set(f);for(let u of I)if(!a.delete(u))a.add(u);let s=[...a];H.dispatchEvent({type:R,columns:s,column:s.length===1?s[0]:null,source:Z})},G=(R)=>{let f=[];return Q.forAllCols((I)=>{let v=U[I.getColId()];if(v&&R(v,I))f.push(I)}),f},B=(R)=>R.getColId();W("columnRowGroupChanged",_.rowGroupColumns,$?.columns??[],B),W("columnPivotChanged",_.pivotColumns,X?.columns??[],B);let E=G((R,f)=>{let I=R.aggFunc!=null,v=I!=f.isValueActive(),b=I&&R.aggFunc!=f.getAggFunc();return v||b});if(E.length>0)E1(H,"columnValueChanged",E,Z);L2(H,G((R,f)=>R.width!=f.getActualWidth()),!0,Z),K1(H,G((R,f)=>R.pinned!=f.getPinned()),Z),oU(H,G((R,f)=>R.hide==f.isVisible()),Z);let j=G((R,f)=>!n5(f.getSortDef(),{type:LZ(R.sortType),direction:v6(R.sort)})||R.sortIndex!=f.getSortIndex());if(j.length>0)q?.dispatchSortChangedEvents(Z,j);let A=P$(J);AW(z,A,Z,Q,H)}}function P$(J){let{colModel:Z,rowGroupColsSvc:$,pivotColsSvc:X}=J,Y=Z.getColDefCols();if(d(Y)||!Z.isAlive())return[];let Q=$?.columns,q=X?.columns,H=[],_=(U)=>{let W=U.isRowGroupActive()&&Q?Q.indexOf(U):null,G=U.isPivotActive()&&q?q.indexOf(U):null,B=U.isValueActive()?U.getAggFunc():null,K=U.getSortIndex()!=null?U.getSortIndex():null;H.push({colId:U.getColId(),width:U.getActualWidth(),hide:!U.isVisible(),pinned:U.getPinned(),sort:U.getSort(),sortType:U.getSortDef()?.type,sortIndex:K,aggFunc:B,rowGroup:U.isRowGroupActive(),rowGroupIndex:W,pivot:U.isPivotActive(),pivotIndex:G,flex:U.getFlex()??null})};Z.forAllCols((U)=>_(U));let z=new Map(Z.getCols().map((U,W)=>[U.getColId(),W]));return H.sort((U,W)=>{let G=z.has(U.colId)?z.get(U.colId):-1,B=z.has(W.colId)?z.get(W.colId):-1;return G-B}),H}function k1(J){let Z=(L,F)=>L!=null?L:F!=null?F:null,$=J.getColDef(),X=aJ(Z($.sort,$.initialSort)),Y=X.direction,Q=X.type,q=Z($.sortIndex,$.initialSortIndex),H=Z($.hide,$.initialHide),_=Z($.pinned,$.initialPinned),z=Z($.width,$.initialWidth),U=Z($.flex,$.initialFlex),W=Z($.rowGroupIndex,$.initialRowGroupIndex),G=Z($.rowGroup,$.initialRowGroup);if(W==null&&!G)W=null,G=null;let B=Z($.pivotIndex,$.initialPivotIndex),K=Z($.pivot,$.initialPivot);if(B==null&&!K)B=null,K=null;let E=Z($.aggFunc,$.initialAggFunc);return{colId:J.getColId(),sort:Y,sortType:Q,sortIndex:q,hide:H,pinned:_,width:z,flex:U,rowGroup:G,rowGroupIndex:W,pivot:K,pivotIndex:B,aggFunc:E}}function VW(J,Z,$){if(!J.applyOrder||!J.state)return;let X=[];for(let Y of J.state)if(Y.colId!=null)X.push(Y.colId);jW(Z.cols,X,Z,$)}function jW(J,Z,$,X){if(J==null)return;let Y=[],Q={};for(let H of Z){if(Q[H])continue;let _=J.map[H];if(_)Y.push(_),Q[H]=!0}let q=0;for(let H of J.list){let _=H.getColId();if(Q[_]!=null)continue;if(_.startsWith(u0))Y.splice(q++,0,H);else Y.push(H)}if(Y=U1(Y,X),!W1(Y,$.getColTree())){O(39);return}J.list=Y}function AW(J,Z,$,X,Y){let Q={};for(let U of Z)Q[U.colId]=U;let q={};for(let U of J)if(Q[U.colId])q[U.colId]=!0;let H=J.filter((U)=>q[U.colId]),_=Z.filter((U)=>q[U.colId]),z=[];if(_.forEach((U,W)=>{let G=H?.[W];if(G&&G.colId!==U.colId){let B=X.getCol(G.colId);if(B)z.push(B)}}),!z.length)return;Y.dispatchEvent({type:"columnMoved",columns:z,column:z.length===1?z[0]:null,finished:!0,source:$})}var T$=(J,Z,$,X)=>{let Y=J[$.getId()],Q=J[X.getId()],q=Y!=null,H=Q!=null;if(q&&H)return Y-Q;if(q)return-1;if(H)return 1;let _=Z.indexOf($),z=Z.indexOf(X),U=_>=0,W=z>=0;if(U&&W)return _-z;if(U)return-1;return 1},MW=class extends M{constructor(){super(...arguments);this.beanName="colModel",this.pivotMode=!1,this.ready=!1,this.changeEventsDispatching=!1}postConstruct(){this.pivotMode=this.gos.get("pivotMode"),this.addManagedPropertyListeners(["groupDisplayType","treeData","treeDataDisplayType","groupHideOpenParents","groupHideColumnsUntilExpanded","rowNumbers","hidePaddedHeaderRows"],(J)=>this.refreshAll(Q0(J.source))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],this.recreateColumnDefs.bind(this)),this.addManagedPropertyListener("pivotMode",(J)=>this.setPivotMode(this.gos.get("pivotMode"),Q0(J.source)))}createColsFromColDefs(J){let{beans:Z}=this,{valueCache:$,colAutosize:X,rowGroupColsSvc:Y,pivotColsSvc:Q,valueColsSvc:q,visibleCols:H,eventSvc:_,groupHierarchyColSvc:z}=Z,U=this.colDefs?D1(Z,J):void 0;$?.expire();let W=this.colDefCols?.list,G=this.colDefCols?.tree,B=u8(Z,this.colDefs,!0,G,J);XZ(Z,this.colDefCols?.tree,B.columnTree);let{columnTree:K,treeDepth:E}=B,L=I6(K),F={};for(let D of L)F[D.getId()]=D;if(this.colDefCols={tree:K,treeDepth:E,list:L,map:F},this.createColumnsForService([z],this.colDefCols,J),Y?.extractCols(J,W),Q?.extractCols(J,W),q?.extractCols(J,W),this.ready=!0,this.changeEventsDispatching=!0,this.refreshCols(!0,J),this.changeEventsDispatching=!1,H.refresh(J),_.dispatchEvent({type:"columnEverythingChanged",source:J}),U)this.changeEventsDispatching=!0,U(),this.changeEventsDispatching=!1;if(_.dispatchEvent({type:"newColumnsLoaded",source:J}),J==="gridInitializing")X?.applyAutosizeStrategy()}refreshCols(J,Z){if(!this.colDefCols)return;let $=this.cols?.tree;this.saveColOrder();let{autoColSvc:X,selectionColSvc:Y,rowNumbersSvc:Q,quickFilter:q,pivotResultCols:H,showRowGroupCols:_,rowAutoHeight:z,visibleCols:U,colViewport:W,eventSvc:G,formula:B}=this.beans,K=this.selectCols(H,this.colDefCols);B?.setFormulasActive(K),this.createColumnsForService([X,Y,Q],K,Z);let E=AH(this.gos,this.showingPivotResult);if(!J||E)this.restoreColOrder(K);if(this.positionLockedCols(K),_?.refresh(),q?.refreshCols(),this.setColSpanActive(),z?.setAutoHeightActive(K),U.clear(),W.clear(),!QJ($,this.cols.tree))G.dispatchEvent({type:"gridColumnsChanged"})}createColumnsForService(J,Z,$){for(let X of J){if(!X)continue;X.createColumns(Z,(Y)=>{this.lastOrder=Y(this.lastOrder),this.lastPivotOrder=Y(this.lastPivotOrder)},$),X.addColumns(Z)}}selectCols(J,Z){let $=J?.getPivotResultCols()??null;this.showingPivotResult=$!=null;let{map:X,list:Y,tree:Q,treeDepth:q}=$??Z;if(this.cols={list:Y.slice(),map:{...X},tree:Q.slice(),treeDepth:q},$){if(!$.list.some((_)=>this.cols?.map[_.getColId()]!==void 0))this.lastPivotOrder=null}return this.cols}getColsToShow(){if(!this.cols)return[];let{beans:J,showingPivotResult:Z,cols:$}=this,{valueColsSvc:X,selectionColSvc:Y,gos:Q}=J,q=this.isPivotMode()&&!Z,H=Y?.isSelectionColumnEnabled(),_=MH(J),z=X?.columns,U=y8(Q);return $.list.filter((G)=>{let B=m0(G);if(q)return z?.includes(G)||B&&(!U||G.isVisible())||H&&IZ(G)||_&&vJ(G);else return B&&!U||G.isVisible()})}refreshAll(J){if(!this.ready)return;this.refreshCols(!1,J),this.beans.visibleCols.refresh(J)}setColsVisible(J,Z=!1,$){dJ(this.beans,{state:J.map((X)=>({colId:typeof X==="string"?X:X.getColId(),hide:!Z}))},$)}restoreColOrder(J){let Z=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!Z)return;let $=Z.filter((W)=>J.map[W.getId()]!=null);if($.length===0)return;if($.length===J.list.length){J.list=$;return}let X=(W)=>{let G=W.getOriginalParent();if(!G)return!1;if(G.getChildren().length>1)return!0;return X(G)};if(!$.some((W)=>X(W))){let W=new Set($);for(let G of J.list)if(!W.has(G))$.push(G);J.list=$;return}let Y=new Map;for(let W=0;W<$.length;W++){let G=$[W];Y.set(G,W)}let Q=J.list.filter((W)=>!Y.has(W));if(Q.length===0){J.list=$;return}let q=(W,G)=>{let B=G?G.getOriginalParent():W.getOriginalParent();if(!B)return null;let K=null,E=null;for(let L of B.getChildren()){if(L===G||L===W)continue;if(L instanceof HZ){let F=Y.get(L);if(F==null)continue;if(K==null||K{let D=Y.get(F);if(D==null)return;if(K==null||K=0;W--)z[U--]=H[W];for(let W=$.length-1;W>=0;W--){let G=$[W],B=_.get(G);if(B)if(Array.isArray(B))for(let K=B.length-1;K>=0;K--){let E=B[K];z[U--]=E}else z[U--]=B;z[U--]=G}J.list=z}positionLockedCols(J){J.list=U1(J.list,this.gos)}saveColOrder(){if(this.showingPivotResult)this.lastPivotOrder=this.cols?.list??null;else this.lastOrder=this.cols?.list??null}getColumnDefs(J){return this.colDefCols&&this.beans.colDefFactory?.getColumnDefs(this.colDefCols.list,this.showingPivotResult,this.lastOrder,this.cols?.list??[],J)}setColSpanActive(){this.colSpanActive=!!this.cols?.list.some((J)=>J.getColDef().colSpan!=null)}isPivotMode(){return this.pivotMode}setPivotMode(J,Z){if(J===this.pivotMode)return;if(this.pivotMode=J,!this.ready)return;this.refreshCols(!1,Z);let{visibleCols:$,eventSvc:X}=this.beans;$.refresh(Z),X.dispatchEvent({type:"columnPivotModeChanged"})}isPivotActive(){let J=this.beans.pivotColsSvc?.columns;return this.pivotMode&&!!J?.length}recreateColumnDefs(J){if(!this.cols)return;this.beans.autoColSvc?.updateColumns(J);let Z=Q0(J.source);this.createColsFromColDefs(Z)}setColumnDefs(J,Z){this.colDefs=J,this.createColsFromColDefs(Z)}destroy(){XZ(this.beans,this.colDefCols?.tree),super.destroy()}getColTree(){return this.cols?.tree??[]}getColDefColTree(){return this.colDefCols?.tree??[]}getColDefCols(){return this.colDefCols?.list??null}getCols(){return this.cols?.list??[]}forAllCols(J){let{pivotResultCols:Z,autoColSvc:$,selectionColSvc:X,groupHierarchyColSvc:Y}=this.beans;if(I2(this.colDefCols?.list,J))return;if(I2($?.columns?.list,J))return;if(I2(X?.columns?.list,J))return;if(I2(Y?.columns?.list,J))return;if(I2(Z?.getPivotResultCols()?.list,J))return}getColsForKeys(J){if(!J)return[];return J.map((Z)=>this.getCol(Z)).filter((Z)=>Z!=null)}getColDefCol(J){if(!this.colDefCols?.list)return null;return this.getColFromCollection(J,this.colDefCols)}getCol(J){if(J==null)return null;return this.getColFromCollection(J,this.cols)}getColById(J){return this.cols?.map[J]??null}getColFromCollection(J,Z){if(Z==null)return null;let{map:$,list:X}=Z;if(typeof J=="string"&&$[J])return $[J];for(let H=0;HJ(this.getValue())}),this}getWidth(){return this.getGui().clientWidth}setWidth(J){return SZ(this.getGui(),J),this}getPreviousValue(){return this.previousValue}getValue(){return this.value}setValue(J,Z){if(this.value===J)return this;if(this.previousValue=this.value,this.value=J,!Z)this.dispatchLocalEvent({type:"fieldValueChanged"});return this}};function fW(J){return{tag:"div",role:"presentation",children:[{tag:"div",ref:"eLabel",cls:"ag-input-field-label"},{tag:"div",ref:"eWrapper",cls:"ag-wrapper ag-input-wrapper",role:"presentation",children:[{tag:J,ref:"eInput",cls:"ag-input-field-input"}]}]}}var V1=class extends SW{constructor(J,Z,$="text",X="input"){super(J,J?.template??fW(X),[],Z);this.inputType=$,this.displayFieldTag=X,this.eLabel=S,this.eWrapper=S,this.eInput=S}postConstruct(){super.postConstruct(),this.setInputType(this.inputType);let{eLabel:J,eWrapper:Z,eInput:$,className:X}=this;J.classList.add(`${X}-label`),Z.classList.add(`${X}-input-wrapper`),$.classList.add(`${X}-input`),this.addCss("ag-input-field"),$.id=$.id||`ag-${this.getCompId()}-input`;let{inputName:Y,inputWidth:Q,inputPlaceholder:q,autoComplete:H,tabIndex:_}=this.config;if(Y!=null)this.setInputName(Y);if(Q!=null)this.setInputWidth(Q);if(q!=null)this.setInputPlaceholder(q);if(H!=null)this.setAutoComplete(H);this.addInputListeners(),this.activateTabIndex([$],_)}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:(J)=>this.setValue(J.target.value)})}setInputType(J){if(this.displayFieldTag==="input")this.inputType=J,P0(this.eInput,"type",J)}getInputElement(){return this.eInput}getWrapperElement(){return this.eWrapper}setInputWidth(J){return NX(this.eWrapper,J),this}setInputName(J){return this.getInputElement().setAttribute("name",J),this}getFocusableElement(){return this.eInput}setMaxLength(J){let Z=this.eInput;return Z.maxLength=J,this}setInputPlaceholder(J){return P0(this.eInput,"placeholder",J),this}setInputAriaLabel(J){return KJ(this.eInput,J),this.refreshAriaLabelledBy(),this}setDisabled(J){return f8(this.eInput,J),super.setDisabled(J)}setAutoComplete(J){if(J===!0)P0(this.eInput,"autocomplete",null);else{let Z=typeof J==="string"?J:"off";P0(this.eInput,"autocomplete",Z)}return this}},G9=class extends V1{constructor(J,Z="ag-checkbox",$="checkbox"){super(J,Z,$);this.labelAlignment="right",this.selected=!1,this.readOnly=!1,this.passive=!1}postConstruct(){super.postConstruct();let{readOnly:J,passive:Z,name:$}=this.config;if(typeof J==="boolean")this.setReadOnly(J);if(typeof Z==="boolean")this.setPassive(Z);if($!=null)this.setName($)}addInputListeners(){this.addManagedElementListeners(this.eInput,{click:this.onCheckboxClick.bind(this)}),this.addManagedElementListeners(this.eLabel,{click:this.toggle.bind(this)})}getNextValue(){return this.selected===void 0?!0:!this.selected}setPassive(J){this.passive=J}isReadOnly(){return this.readOnly}setReadOnly(J){this.eWrapper.classList.toggle("ag-disabled",J),this.eInput.disabled=J,this.readOnly=J}setDisabled(J){return this.eWrapper.classList.toggle("ag-disabled",J),super.setDisabled(J)}toggle(){if(this.eInput.disabled)return;let J=this.isSelected(),Z=this.getNextValue();if(this.passive)this.dispatchChange(Z,J);else this.setValue(Z)}getValue(){return this.isSelected()}setValue(J,Z){return this.refreshSelectedClass(J),this.setSelected(J,Z),this}setName(J){let Z=this.getInputElement();return Z.name=J,this}isSelected(){return this.selected}setSelected(J,Z){if(this.isSelected()===J)return;this.previousValue=this.isSelected(),J=this.selected=typeof J==="boolean"?J:void 0;let $=this.eInput;if($.checked=J,$.indeterminate=J===void 0,!Z)this.dispatchChange(this.selected,this.previousValue)}dispatchChange(J,Z,$){this.dispatchLocalEvent({type:"fieldValueChanged",selected:J,previousValue:Z,event:$});let X=this.getInputElement();this.eventSvc.dispatchEvent({type:"checkboxChanged",id:X.id,name:X.name,selected:J,previousValue:Z})}onCheckboxClick(J){if(this.passive||this.eInput.disabled)return;let Z=this.isSelected(),$=this.selected=J.target.checked;this.refreshSelectedClass($),this.dispatchChange($,Z,J)}refreshSelectedClass(J){let Z=this.eWrapper.classList;Z.toggle("ag-checked",J===!0),Z.toggle("ag-indeterminate",J==null)}},xZ={selector:"AG-CHECKBOX",component:G9},PW=".ag-checkbox-cell{height:100%}",TW={tag:"div",cls:"ag-cell-wrapper ag-checkbox-cell",role:"presentation",children:[{tag:"ag-checkbox",ref:"eCheckbox",role:"presentation"}]},vW=class extends y{constructor(){super(TW,[xZ]);this.eCheckbox=S,this.registerCSS(PW)}init(J){this.refresh(J);let{eCheckbox:Z,beans:$}=this,X=Z.getInputElement();X.setAttribute("tabindex","-1"),VX(X,"polite"),this.addManagedListeners(X,{click:(Y)=>{if(iJ(Y),Z.isDisabled())return;let Q=Z.getValue();this.onCheckboxChanged(Q)},dblclick:(Y)=>{iJ(Y)}}),this.addManagedElementListeners(J.eGridCell,{keydown:(Y)=>{if(Y.key===V.SPACE&&!Z.isDisabled()){if(J.eGridCell===n($))Z.toggle();let Q=Z.getValue();this.onCheckboxChanged(Q),Y.preventDefault()}}})}refresh(J){return this.params=J,this.updateCheckbox(J),!0}updateCheckbox(J){let Z,$=!0,{value:X,column:Y,node:Q}=J;if(Q.group&&Y)if(typeof X==="boolean")Z=X;else{let W=Y.getColId();if(W.startsWith(u0))Z=X==null||X===""?void 0:X==="true";else if(Q.aggData&&Q.aggData[W]!==void 0)Z=X??void 0;else if(Q.sourceRowIndex>=0)Z=X??void 0;else $=!1}else Z=X??void 0;let{eCheckbox:q}=this;if(!$){q.setDisplayed(!1);return}q.setValue(Z);let H=J.disabled??!Y?.isCellEditable(Q);q.setDisabled(H);let _=this.getLocaleTextFunc(),z=O8(_,Z),U=H?z:`${_("ariaToggleCellValue","Press SPACE to toggle cell value")} (${z})`;q.setInputAriaLabel(U)}onCheckboxChanged(J){let{params:Z}=this,{column:$,node:X,value:Y}=Z,{editSvc:Q}=this.beans;if(!$)return;let q={rowNode:X,column:$};Q?.dispatchCellEvent(q,null,"cellEditingStarted",{value:Y});let H=X.setDataValue($,J,"ui");if(Q?.dispatchCellEvent(q,null,"cellEditingStopped",{oldValue:Y,newValue:J,valueChanged:H}),!H)this.updateCheckbox(Z)}},IW={tag:"div",cls:"ag-skeleton-container"},bW=class extends y{constructor(){super(IW)}init(J){let Z=`ag-cell-skeleton-renderer-${this.getCompId()}`;if(this.getGui().setAttribute("id",Z),this.addDestroyFunc(()=>p2(J.eParentOfValue)),p2(J.eParentOfValue,Z),J.deferRender)this.setupLoading(J);else if(J.node.failedLoad)this.setupFailed();else this.setupLoading(J)}setupFailed(){let J=this.getLocaleTextFunc();this.getGui().textContent=J("loadingError","ERR");let Z=J("ariaSkeletonCellLoadingFailed","Row failed to load");KJ(this.getGui(),Z)}setupLoading(J){let Z=XJ({tag:"div",cls:"ag-skeleton-effect"}),$=J.node.rowIndex;if($!=null){let Q=75+25*($%2===0?Math.sin($):Math.cos($));Z.style.width=`${Q}%`}this.getGui().appendChild(Z);let X=this.getLocaleTextFunc(),Y=J.deferRender?X("ariaDeferSkeletonCellLoading","Cell is loading"):X("ariaSkeletonCellLoading","Row data is loading");KJ(this.getGui(),Y)}refresh(J){return!1}},CW={moduleName:"CheckboxCellRenderer",version:p,userComponents:{agCheckboxCellRenderer:vW}},xW={moduleName:"SkeletonCellRenderer",version:p,userComponents:{agSkeletonCellRenderer:bW}};var yW=class extends M{constructor(){super(...arguments);this.beanName="colFlex",this.columnsHidden=!1}refreshFlexedColumns(J={}){let Z=J.source??"flex";if(J.viewportWidth!=null)this.flexViewportWidth=J.viewportWidth;let $=this.flexViewportWidth,{visibleCols:X,colDelayRenderSvc:Y}=this.beans,Q=X.centerCols,q=-1;if(J.resizingCols){let E=new Set(J.resizingCols);for(let L=Q.length-1;L>=0;L--)if(E.has(Q[L])){q=L;break}}let H=!1,_=Q.map((E,L)=>{let F=E.getFlex(),D=F!=null&&F>0&&L>q;return H||(H=D),{col:E,isFlex:D,flex:Math.max(0,F??0),initialSize:E.getActualWidth(),min:E.getMinWidth(),max:E.getMaxWidth(),targetSize:0}});if(H)Y?.hideColumns("colFlex"),this.columnsHidden=!0;else if(this.columnsHidden)this.revealColumns(Y);if(!$||!H)return[];let z=_.length,U=_.reduce((E,L)=>E+L.flex,0),W=$,G=(E,L)=>{E.frozenSize=L,E.col.setActualWidth(L,Z),W-=L,U-=E.flex,z-=1},B=(E)=>E.frozenSize!=null;for(let E of _)if(!E.isFlex)G(E,E.initialSize);while(z>0){let E=Math.round(U<1?W*U:W),L,F=0,D=0;for(let A of _){if(B(A))continue;L=A,D+=E*(A.flex/U);let R=D-F,f=Math.round(R);A.targetSize=f,F+=f}if(L)L.targetSize+=E-F;let k=0;for(let A of _){if(B(A))continue;let R=A.targetSize,f=Math.min(Math.max(R,A.min),A.max);k+=f-R,A.violationType=f===R?void 0:f0?"min":"max";for(let A of _){if(B(A))continue;if(j==="all"||A.violationType===j)G(A,A.targetSize)}}if(!J.skipSetLeft)X.setLeftValues(Z);if(J.updateBodyWidths)X.updateBodyWidths();let K=_.filter((E)=>E.isFlex&&!E.violationType).map((E)=>E.col);if(J.fireResizedEvent){let E=_.filter((F)=>F.initialSize!==F.frozenSize).map((F)=>F.col),L=_.filter((F)=>F.flex).map((F)=>F.col);L2(this.eventSvc,E,!0,Z,L)}return this.revealColumns(Y),K}revealColumns(J){if(this.columnsHidden)J?.revealColumns("colFlex"),this.columnsHidden=!1}initCol(J){let{flex:Z,initialFlex:$}=J.colDef;if(Z!==void 0)J.flex=Z;else if($!==void 0)J.flex=$}setColFlex(J,Z){J.flex=Z??null,J.dispatchStateUpdatedEvent("flex")}},_0=(J)=>{if(typeof J==="bigint")return J;let Z;if(typeof J==="number")Z=J;else if(typeof J==="string"){if(Z=J.trim(),Z==="")return null;if(Z.endsWith("n"))Z=Z.slice(0,-1);if(!/^[+-]?\d+$/.test(Z))return null}if(Z==null)return null;try{return BigInt(Z)}catch{return null}},B9="T",NW=new RegExp(`[${B9} ]`),wW=new RegExp(`^\\d{4}-\\d{2}-\\d{2}(${B9}\\d{2}:\\d{2}:\\d{2}\\D?)?`);function S0(J,Z){return J.toString().padStart(Z,"0")}function v$(J,Z=!0,$=B9){if(!J)return null;let X=[J.getFullYear(),J.getMonth()+1,J.getDate()].map((Y)=>S0(Y,2)).join("-");if(Z)X+=$+[J.getHours(),J.getMinutes(),J.getSeconds()].map((Y)=>S0(Y,2)).join(":");return X}function Y2(J,Z=!0){if(!J)return null;if(Z)return[String(J.getFullYear()),String(J.getMonth()+1),S0(J.getDate(),2),S0(J.getHours(),2),`:${S0(J.getMinutes(),2)}`,`:${S0(J.getSeconds(),2)}`];return[J.getFullYear(),J.getMonth()+1,S0(J.getDate(),2)].map(String)}var K9=["January","February","March","April","May","June","July","August","September","October","November","December"];function r5(J,Z=!1){return!!e2(J,Z)}function gW(J){return r5(J,!0)}function e2(J,Z=!1,$){if(!J)return null;if(!$&&!wW.test(J))return null;let[X,Y]=J.split(NW);if(!X)return null;let Q=X.split("-").map((B)=>Number.parseInt(B,10));if(Q.filter((B)=>!isNaN(B)).length!==3)return null;let[q,H,_]=Q,z=new Date(q,H-1,_);if(z.getFullYear()!==q||z.getMonth()!==H-1||z.getDate()!==_)return null;if(!Y&&Z)return null;if(!Y||Y==="00:00:00")return z;let[U,W,G]=Y.split(":").map((B)=>Number.parseInt(B,10));if(U>=0&&U<24)z.setHours(U);else if(Z)return null;if(W>=0&&W<60)z.setMinutes(W);else if(Z)return null;if(G>=0&&G<60)z.setSeconds(G);else if(Z)return null;return z}function h2(J,Z,$){if(!Z||!J)return;if(!$)return J[Z];let X=Z.split("."),Y=J;for(let Q=0;Qnull,suppressKeyboardEvent:({node:J,event:Z,column:$})=>Z.key===V.SPACE&&$.isCellEditable(J)}},date({formatValue:J}){return{cellEditor:"agDateCellEditor",keyCreator:J}},dateString({formatValue:J}){return{cellEditor:"agDateStringCellEditor",keyCreator:J}},dateTime(J){return this.date(J)},dateTimeString(J){return this.dateString(J)},object({formatValue:J,colModel:Z,colId:$}){return{cellEditorParams:{useFormatter:!0},comparator:(X,Y)=>{let Q=Z.getColDefCol($),q=Q?.getColDef();if(!Q||!q)return 0;let H=X==null?"":J({column:Q,node:null,value:X}),_=Y==null?"":J({column:Q,node:null,value:Y});if(H===_)return 0;return H>_?1:-1},keyCreator:J}},text(){return{}}}}wireBeans(J){this.colModel=J.colModel}postConstruct(){this.processDataTypeDefinitions(),this.addManagedPropertyListener("dataTypeDefinitions",(J)=>{this.processDataTypeDefinitions(),this.colModel.recreateColumnDefs(J)})}processDataTypeDefinitions(){let J=this.getDefaultDataTypes(),Z={},$={},X=(U)=>{return(W)=>{let{column:G,node:B,value:K}=W,E=G.getColDef().valueFormatter;if(E===U.groupSafeValueFormatter)E=U.valueFormatter;return this.beans.valueSvc.formatValue(G,B,K,E)}};for(let U of Object.keys(J)){let W=J[U],G={...W,groupSafeValueFormatter:C$(W,this.gos)};Z[U]=G,$[U]=X(G)}let Y=this.gos.get("dataTypeDefinitions")??{},Q={};for(let U of Object.keys(Y)){let W=Y[U],G=this.processDataTypeDefinition(W,Y,[U],J);if(G){if(Z[U]=G,W.dataTypeMatcher)Q[U]=W.dataTypeMatcher;$[U]=X(G)}}let{valueParser:q,valueFormatter:H}=J.object,{valueParser:_,valueFormatter:z}=Z.object;this.hasObjectValueParser=_!==q,this.hasObjectValueFormatter=z!==H,this.formatValueFuncs=$,this.dataTypeDefinitions=Z,this.dataTypeMatchers=this.sortKeysInMatchers(Q,J)}sortKeysInMatchers(J,Z){let $={...J};for(let X of hW)delete $[X],$[X]=J[X]??Z[X].dataTypeMatcher;return $}processDataTypeDefinition(J,Z,$,X){let Y,Q=J.extendsDataType;if(J.columnTypes)this.isColumnTypeOverrideInDataTypeDefinitions=!0;if(J.extendsDataType===J.baseDataType){let q=X[Q],H=Z[Q];if(q&&H)q=H;if(!b$(J,q,Q))return;Y=I$(q,J)}else{if($.includes(Q)){O(44);return}let q=Z[Q];if(!b$(J,q,Q))return;let H=this.processDataTypeDefinition(q,Z,[...$,Q],X);if(!H)return;Y=I$(H,J)}return{...Y,groupSafeValueFormatter:C$(Y,this.gos)}}updateColDefAndGetColumnType(J,Z,$){let{cellDataType:X}=Z;if(X===void 0)X=J.cellDataType;let{field:Y}=Z;if(X==null||X===!0)X=this.canInferCellDataType(J,Z)?this.inferCellDataType(Y,$):!1;if(this.addFormulaCellEditorToColDef(J,Z),!X){J.cellDataType=!1;return}let Q=this.dataTypeDefinitions[X];if(!Q){O(47,{cellDataType:X});return}if(J.cellDataType=X,Q.groupSafeValueFormatter)J.valueFormatter=Q.groupSafeValueFormatter;if(Q.valueParser)J.valueParser=Q.valueParser;if(!Q.suppressDefaultProperties)this.setColDefPropertiesForBaseDataType(J,X,Q,$);return Q.columnTypes}addFormulaCellEditorToColDef(J,Z){if(!(Z.allowFormula??J.allowFormula)||Z.cellEditor)return;J.cellEditor="agFormulaCellEditor"}addColumnListeners(J){if(!this.isPendingInference)return;let Z=this.columnStateUpdatesPendingInference[J.getColId()];if(!Z)return;let $=(X)=>{Z.add(X.key)};J.__addEventListener("columnStateUpdated",$),this.columnStateUpdateListenerDestroyFuncs.push(()=>J.__removeEventListener("columnStateUpdated",$))}canInferCellDataType(J,Z){let{gos:$}=this;if(!o($))return!1;let X={cellRenderer:!0,valueGetter:!0,valueParser:!0,refData:!0};if(c7(Z,X))return!1;let Y=Z.type===null?J.type:Z.type;if(Y){let Q=$.get("columnTypes")??{};if(Y6(Y).some((H)=>{let _=Q[H.trim()];return _&&c7(_,X)}))return!1}return!c7(J,X)}inferCellDataType(J,Z){if(!J)return;let $,X=this.getInitialData();if(X){let Q=J.includes(".")&&!this.gos.get("suppressFieldDotNotation");$=h2(X,J,Q)}else this.initWaitForRowData(Z);if($==null)return;return Object.keys(this.dataTypeMatchers).find((Q)=>this.dataTypeMatchers[Q]($))??"object"}getInitialData(){let J=this.gos.get("rowData");if(J?.length)return J[0];else if(this.initialData)return this.initialData;else{let Z=this.beans.rowModel.rootNode?._leafs;if(Z?.length)return Z[0].data}return null}initWaitForRowData(J){if(this.columnStateUpdatesPendingInference[J]=new Set,this.isPendingInference)return;this.isPendingInference=!0;let Z=this.isColumnTypeOverrideInDataTypeDefinitions,{colAutosize:$,eventSvc:X}=this.beans;if(Z&&$)$.shouldQueueResizeOperations=!0;let[Y]=this.addManagedEventListeners({rowDataUpdateStarted:(Q)=>{let{firstRowData:q}=Q;if(!q)return;if(Y?.(),this.isPendingInference=!1,this.processColumnsPendingInference(q,Z),this.columnStateUpdatesPendingInference={},Z)$?.processResizeOperations();X.dispatchEvent({type:"dataTypesInferred"})}})}processColumnsPendingInference(J,Z){this.initialData=J;let $=[];this.destroyColumnStateUpdateListeners();let X={},Y={};for(let Q of Object.keys(this.columnStateUpdatesPendingInference)){let q=this.columnStateUpdatesPendingInference[Q],H=this.colModel.getCol(Q);if(!H)continue;let _=H.getColDef();if(!this.resetColDefIntoCol(H,"cellDataTypeInferred"))continue;let z=H.getColDef();if(Z&&z.type&&z.type!==_.type){let U=nW(H,q);if(U.rowGroup&&U.rowGroupIndex==null)X[Q]=U;if(U.pivot&&U.pivotIndex==null)Y[Q]=U;$.push(U)}}if(Z)$.push(...this.generateColumnStateForRowGroupAndPivotIndexes(X,Y));if($.length)dJ(this.beans,{state:$},"cellDataTypeInferred");this.initialData=null}generateColumnStateForRowGroupAndPivotIndexes(J,Z){let $={},{rowGroupColsSvc:X,pivotColsSvc:Y}=this.beans;return X?.restoreColumnOrder($,J),Y?.restoreColumnOrder($,Z),Object.values($)}resetColDefIntoCol(J,Z){let $=J.getUserProvidedColDef();if(!$)return!1;let X=uZ(this.beans,$,J.getColId());return J.setColDef(X,$,Z),!0}getDateStringTypeDefinition(J){let{dateString:Z}=this.dataTypeDefinitions;if(!J)return Z;return this.getDataTypeDefinition(J)??Z}getDateParserFunction(J){return this.getDateStringTypeDefinition(J).dateParser}getDateFormatterFunction(J){return this.getDateStringTypeDefinition(J).dateFormatter}getDateIncludesTimeFlag(J){return J==="dateTime"||J==="dateTimeString"}getDataTypeDefinition(J){let Z=J.getColDef();if(!Z.cellDataType)return;return this.dataTypeDefinitions[Z.cellDataType]}getBaseDataType(J){return this.getDataTypeDefinition(J)?.baseDataType}checkType(J,Z){if(Z==null)return!0;let $=this.getDataTypeDefinition(J)?.dataTypeMatcher;if(!$)return!0;if(J.getColDef().allowFormula&&this.beans.formula?.isFormula(Z))return!0;return $(Z)}validateColDef(J,Z,$,X){if(J.cellDataType==="object"){let Y=(_)=>{return _?.cellDataType==null||_?.cellDataType===!0},Q=Y(Z)&&Y($),q=(_)=>O(48,{property:_,inferred:Q,colId:X}),{object:H}=this.dataTypeDefinitions;if(J.valueFormatter===H.groupSafeValueFormatter&&!this.hasObjectValueFormatter)q("Formatter");if(J.editable&&J.valueParser===H.valueParser&&!this.hasObjectValueParser)q("Parser")}}postProcess(J){let Z=J.cellDataType;if(!Z||typeof Z!=="string")return;let{dataTypeDefinitions:$,beans:X,formatValueFuncs:Y}=this,Q=$[Z];if(!Q)return;X.colFilter?.setColDefPropsForDataType(J,Q,Y[Z])}getFormatValue(J){return this.formatValueFuncs[J]}isColPendingInference(J){return this.isPendingInference&&!!this.columnStateUpdatesPendingInference[J]}setColDefPropertiesForBaseDataType(J,Z,$,X){let Y=this.formatValueFuncs[Z],Q=this.columnDefinitionPropsPerDataType[$.baseDataType]({colDef:J,cellDataType:Z,colModel:this.colModel,dataTypeDefinition:$,colId:X,formatValue:Y,filterModuleBean:this.beans.filterManager});if(J.cellEditor==="agFormulaCellEditor"&&Q.cellEditor!==J.cellEditor)Q.cellEditor=J.cellEditor;Object.assign(J,Q)}getDateObjectTypeDef(J){let Z=this.getLocaleTextFunc(),$=this.getDateIncludesTimeFlag(J);return{baseDataType:J,valueParser:(X)=>e2(X.newValue&&String(X.newValue)),valueFormatter:(X)=>{if(X.value==null)return"";if(!(X.value instanceof Date)||isNaN(X.value.getTime()))return Z("invalidDate","Invalid Date");return v$(X.value,$)??""},dataTypeMatcher:(X)=>X instanceof Date}}getDateStringTypeDef(J){let Z=this.getDateIncludesTimeFlag(J);return{baseDataType:J,dateParser:($)=>e2($)??void 0,dateFormatter:($)=>v$($??null,Z)??void 0,valueParser:($)=>r5(String($.newValue))?$.newValue:null,valueFormatter:($)=>r5(String($.value))?String($.value):"",dataTypeMatcher:($)=>typeof $==="string"&&r5($)}}getDefaultDataTypes(){let J=this.getLocaleTextFunc();return{number:{baseDataType:"number",valueParser:(Z)=>Z.newValue?.trim?.()===""?null:Number(Z.newValue),valueFormatter:(Z)=>{if(Z.value==null)return"";if(typeof Z.value!=="number"||isNaN(Z.value))return J("invalidNumber","Invalid Number");return String(Z.value)},dataTypeMatcher:(Z)=>typeof Z==="number"},bigint:{baseDataType:"bigint",valueParser:(Z)=>{let{newValue:$}=Z;if($==null)return null;if(typeof $==="string"&&$.trim()==="")return null;return _0($)},valueFormatter:(Z)=>{if(Z.value==null)return"";if(typeof Z.value!=="bigint")return J("invalidBigInt","Invalid BigInt");return String(Z.value)},dataTypeMatcher:(Z)=>typeof Z==="bigint"},text:{baseDataType:"text",valueParser:(Z)=>Z.newValue===""?null:c2(Z.newValue),dataTypeMatcher:(Z)=>typeof Z==="string"},boolean:{baseDataType:"boolean",valueParser:(Z)=>{if(Z.newValue==null)return Z.newValue;return Z.newValue?.trim?.()===""?null:String(Z.newValue).toLowerCase()==="true"},valueFormatter:(Z)=>Z.value==null?"":String(Z.value),dataTypeMatcher:(Z)=>typeof Z==="boolean"},date:this.getDateObjectTypeDef("date"),dateString:this.getDateStringTypeDef("dateString"),dateTime:this.getDateObjectTypeDef("dateTime"),dateTimeString:{...this.getDateStringTypeDef("dateTimeString"),dataTypeMatcher:(Z)=>typeof Z==="string"&&gW(Z)},object:{baseDataType:"object",valueParser:()=>null,valueFormatter:(Z)=>c2(Z.value)??""}}}destroyColumnStateUpdateListeners(){for(let J of this.columnStateUpdateListenerDestroyFuncs)J();this.columnStateUpdateListenerDestroyFuncs=[]}destroy(){this.dataTypeDefinitions={},this.dataTypeMatchers={},this.formatValueFuncs={},this.columnStateUpdatesPendingInference={},this.destroyColumnStateUpdateListeners(),super.destroy()}};function I$(J,Z){let $={...J,...Z};if(J.columnTypes&&Z.columnTypes&&Z.appendColumnTypes)$.columnTypes=[...Y6(J.columnTypes),...Y6(Z.columnTypes)];return $}function b$(J,Z,$){if(!Z)return O(45,{parentCellDataType:$}),!1;if(Z.baseDataType!==J.baseDataType)return O(46),!1;return!0}var mW=(J)=>typeof J==="bigint"||typeof J==="number",cW=(J)=>J==="number"||J==="bigint";function C$(J,Z){if(!J.valueFormatter)return;return($)=>{let{node:X,colDef:Y,column:Q,value:q}=$;if(X?.group){let H=(Y.pivotValueColumn??Q).getAggFunc();if(H){if(H==="first"||H==="last")return J.valueFormatter($);let{baseDataType:_}=J;if(cW(_)&&H!=="count"){if(mW(q))return J.valueFormatter($);if(q==null)return;if(typeof q==="object"){if(typeof q.toNumber==="function")return J.valueFormatter({...$,value:q.toNumber()});if("value"in q)return J.valueFormatter({...$,value:q.value})}}return}}else if(Z.get("groupHideOpenParents")&&$.column.isRowGroupActive()){if(typeof $.value==="string"&&!J.dataTypeMatcher?.($.value))return}return J.valueFormatter($)}}function pW(J,Z,$,X){if(!Z[$])return!1;let Y=J[$];if(Y===null)return Z[$]=!1,!1;else return X===void 0?!!Y:Y===X}function iW(J,Z){if(J==null)return Z==null?0:-1;if(Z==null)return 1;let $=_0(J),X=_0(Z);if($!=null&&X!=null){if($===X)return 0;return $>X?1:-1}return 0}function dW(J,Z){if(J==null)return Z==null?0:-1;if(Z==null)return 1;let $=x$(J),X=x$(Z);if($!=null&&X!=null){if($===X)return 0;return $>X?1:-1}return 0}function x$(J){let Z=_0(J);if(Z==null)return null;return Z<0n?-Z:Z}function c7(J,Z){return[["cellRenderer","agSparklineCellRenderer"],["valueGetter",void 0],["valueParser",void 0],["refData",void 0]].some(([$,X])=>pW(J,Z,$,X))}function nW(J,Z){let $=k1(J);for(let X of Z)if(delete $[X],X==="rowGroup")delete $.rowGroupIndex;else if(X==="pivot")delete $.pivotIndex;return $}var sW={moduleName:"DataType",version:p,beans:[uW],dependsOn:[CW]},rW={moduleName:"ColumnFlex",version:p,beans:[yW]};var tW=class extends M{constructor(){super(...arguments);this.beanName="colNames"}getDisplayNameForColumn(J,Z,$=!1){if(!J)return null;let X=this.getHeaderName(J.getColDef(),J,null,null,Z),{aggColNameSvc:Y}=this.beans;if($&&Y)return Y.getHeaderName(J,X);return X}getDisplayNameForProvidedColumnGroup(J,Z,$){let X=Z?.getColGroupDef();if(X)return this.getHeaderName(X,null,J,Z,$);return null}getDisplayNameForColumnGroup(J,Z){return this.getDisplayNameForProvidedColumnGroup(J,J.getProvidedColumnGroup(),Z)}getHeaderName(J,Z,$,X,Y){let Q=J.headerValueGetter;if(Q){let q=x(this.gos,{colDef:J,column:Z,columnGroup:$,providedColumnGroup:X,location:Y});if(typeof Q==="function")return Q(q);else if(typeof Q==="string")return this.beans.expressionSvc?.evaluate(Q,q)??null;return""}else if(J.headerName!=null)return J.headerName;else if(J.field)return Rq(J.field);return""}},lW=class extends M{constructor(){super(...arguments);this.beanName="colViewport",this.colsWithinViewport=[],this.headerColsWithinViewport=[],this.colsWithinViewportHash="",this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.columnsToRenderLeft=[],this.columnsToRenderRight=[],this.columnsToRenderCenter=[]}wireBeans(J){this.visibleCols=J.visibleCols,this.colModel=J.colModel}postConstruct(){this.suppressColumnVirtualisation=this.gos.get("suppressColumnVirtualisation")}getScrollPosition(){return this.scrollPosition}setScrollPosition(J,Z,$=!1){let{visibleCols:X}=this,Y=X.isBodyWidthDirty;if(J===this.scrollWidth&&Z===this.scrollPosition&&!Y)return;if(this.scrollWidth=J,this.scrollPosition=Z,X.isBodyWidthDirty=!0,this.gos.get("enableRtl")){let q=X.bodyWidth;this.viewportLeft=q-Z-J,this.viewportRight=q-Z}else this.viewportLeft=Z,this.viewportRight=J+Z;if(this.colModel.ready)this.checkViewportColumns($)}getColumnHeadersToRender(J){switch(J){case"left":return this.columnsToRenderLeft;case"right":return this.columnsToRenderRight;default:return this.columnsToRenderCenter}}getHeadersToRender(J,Z){let $;switch(J){case"left":$=this.rowsOfHeadersToRenderLeft[Z];break;case"right":$=this.rowsOfHeadersToRenderRight[Z];break;default:$=this.rowsOfHeadersToRenderCenter[Z];break}return $??[]}extractViewportColumns(){let J=this.visibleCols.centerCols;if(this.isColumnVirtualisationSuppressed())this.colsWithinViewport=J,this.headerColsWithinViewport=J;else this.colsWithinViewport=J.filter(this.isColumnInRowViewport.bind(this)),this.headerColsWithinViewport=J.filter(this.isColumnInHeaderViewport.bind(this))}isColumnVirtualisationSuppressed(){return this.suppressColumnVirtualisation||this.viewportRight===0}clear(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.colsWithinViewportHash=""}isColumnInHeaderViewport(J){if(J.isAutoHeaderHeight()||aW(J))return!0;return this.isColumnInRowViewport(J)}isColumnInRowViewport(J){if(J.isAutoHeight())return!0;let Z=J.getLeft()||0,$=Z+J.getActualWidth(),X=this.viewportLeft-200,Y=this.viewportRight+200,Q=ZY&&$>Y;return!Q&&!q}getViewportColumns(){let{leftCols:J,rightCols:Z}=this.visibleCols;return this.colsWithinViewport.concat(J).concat(Z)}getColsWithinViewport(J){if(!this.colModel.colSpanActive)return this.colsWithinViewport;let Z=(Q)=>{let q=Q.getLeft();return T(q)&&q>this.viewportLeft},$=this.isColumnVirtualisationSuppressed()?void 0:this.isColumnInRowViewport.bind(this),{visibleCols:X}=this,Y=X.centerCols;return X.getColsForRow(J,Y,$,Z)}checkViewportColumns(J=!1){if(this.extractViewport())this.eventSvc.dispatchEvent({type:"virtualColumnsChanged",afterScroll:J})}calculateHeaderRows(){let{leftCols:J,rightCols:Z}=this.visibleCols;this.columnsToRenderLeft=J,this.columnsToRenderRight=Z,this.columnsToRenderCenter=this.colsWithinViewport;let $=(X)=>{let Y=new Set,Q={};for(let q of X){let H=q.getParent(),_=q.isSpanHeaderHeight();while(H){if(Y.has(H))break;if(_&&H.isPadding()){H=H.getParent();continue}let U=H.getProvidedColumnGroup().getLevel();Q[U]??(Q[U]=[]),Q[U].push(H),Y.add(H),H=H.getParent()}}return Q};this.rowsOfHeadersToRenderLeft=$(J),this.rowsOfHeadersToRenderRight=$(Z),this.rowsOfHeadersToRenderCenter=$(this.headerColsWithinViewport)}extractViewport(){let J=(X)=>`${X.getId()}-${X.getPinned()||"normal"}`;this.extractViewportColumns();let Z=this.getViewportColumns().map(J).join("#"),$=this.colsWithinViewportHash!==Z;if($)this.colsWithinViewportHash=Z,this.calculateHeaderRows();return $}};function aW(J){while(J){if(J.isAutoHeaderHeight())return!0;J=J.getParent()}return!1}var oW=class extends M{constructor(){super(...arguments);this.beanName="agCompUtils"}adaptFunction(J,Z){if(!J.cellRenderer)return null;class ${refresh(){return!1}getGui(){return this.eGui}init(X){let Y=Z(X),Q=typeof Y;if(Q==="string"||Q==="number"||Q==="boolean"){this.eGui=P8(""+Y+"");return}if(Y==null){this.eGui=XJ({tag:"span"});return}this.eGui=Y}}return $}},eW={moduleName:"CellRendererFunction",version:p,beans:[oW]},JG=class extends RJ{constructor(){super(...arguments);this.beanName="registry"}registerDynamicBeans(J){if(J){this.dynamicBeans??(this.dynamicBeans={});for(let Z of Object.keys(J))this.dynamicBeans[Z]=J[Z]}}createDynamicBean(J,Z,...$){if(!this.dynamicBeans)throw Error(this.getDynamicError(J,!0));let X=this.dynamicBeans[J];if(X==null){if(Z)throw Error(this.getDynamicError(J,!1));return}return new X(...$)}};function ZG(J){return typeof J==="object"&&!!J.getComp}var $G=class extends JG{constructor(){super(...arguments);this.agGridDefaults={},this.agGridDefaultOverrides={},this.jsComps={},this.selectors={},this.icons={}}postConstruct(){let J=this.gos.get("components");if(J!=null)for(let Z of Object.keys(J))this.jsComps[Z]=J[Z]}registerModule(J){let{icons:Z,userComponents:$,dynamicBeans:X,selectors:Y}=J;if($){let Q=(q,H,_,z)=>{if(this.agGridDefaults[q]=H,_||z)this.agGridDefaultOverrides[q]={params:_,processParams:z}};for(let q of Object.keys($)){let H=$[q];if(ZG(H))H=H.getComp(this.beans);if(typeof H==="object"){let{classImp:_,params:z,processParams:U}=H;Q(q,_,z,U)}else Q(q,H)}}this.registerDynamicBeans(X);for(let Q of Y??[])this.selectors[Q.selector]=Q;if(Z)for(let Q of Object.keys(Z))this.icons[Q]=Z[Q]}getUserComponent(J,Z){let $=(H,_,z,U)=>({componentFromFramework:_,component:H,params:z,processParams:U}),{frameworkOverrides:X}=this.beans,Y=X.frameworkComponent(Z,this.gos.get("components"));if(Y!=null)return $(Y,!0);let Q=this.jsComps[Z];if(Q){let H=X.isFrameworkComponent(Q);return $(Q,H)}let q=this.agGridDefaults[Z];if(q){let H=this.agGridDefaultOverrides[Z];return $(q,!1,H?.params,H?.processParams)}return this.beans.validation?.missingUserComponent(J,Z,this.agGridDefaults,this.jsComps),null}getSelector(J){return this.selectors[J]}getIcon(J){return this.icons[J]}getDynamicError(J,Z){if(Z)return JZ(279,{name:J});return this.beans.validation?.missingDynamicBean(J)??JZ(256)}},XG=23,YG=class extends M{constructor(){super(...arguments);this.beanName="ctrlsSvc",this.params={},this.ready=!1,this.readyCallbacks=[]}postConstruct(){this.addEventListener("ready",()=>{if(this.updateReady(),this.ready){for(let J of this.readyCallbacks)J(this.params);this.readyCallbacks.length=0}},this.beans.frameworkOverrides.runWhenReadyAsync?.()??!1)}updateReady(){let J=Object.values(this.params);this.ready=J.length===XG&&J.every((Z)=>{return Z?.isAlive()??!1})}whenReady(J,Z){if(this.ready)Z(this.params);else this.readyCallbacks.push(Z);J.addDestroyFunc(()=>{let $=this.readyCallbacks.indexOf(Z);if($>=0)this.readyCallbacks.splice($,1)})}register(J,Z){if(this.params[J]=Z,this.updateReady(),this.ready)this.dispatchLocalEvent({type:"ready"});Z.addDestroyFunc(()=>{this.updateReady()})}get(J){return this.params[J]}getGridBodyCtrl(){return this.params.gridBodyCtrl}getHeaderRowContainerCtrls(){let{leftHeader:J,centerHeader:Z,rightHeader:$}=this.params;return[J,$,Z]}getHeaderRowContainerCtrl(J){let Z=this.params;switch(J){case"left":return Z.leftHeader;case"right":return Z.rightHeader;default:return Z.centerHeader}}getScrollFeature(){return this.getGridBodyCtrl().scrollFeature}},QG=':where([class^=ag-]),:where([class^=ag-]):after,:where([class^=ag-]):before{box-sizing:border-box}:where([class^=ag-]):where(button){color:inherit}:where([class^=ag-]):where(div,span,label):focus-visible{box-shadow:inset var(--ag-focus-shadow);outline:none;&:where(.invalid){box-shadow:inset var(--ag-focus-error-shadow)}}:where([class^=ag-]) ::-ms-clear{display:none}.ag-hidden{display:none!important}.ag-invisible{visibility:hidden!important}.ag-tab-guard{display:block;height:0;position:absolute;width:0}.ag-tab-guard-top{top:1px}.ag-tab-guard-bottom{bottom:1px}.ag-measurement-container{height:0;overflow:hidden;visibility:hidden;width:0}.ag-measurement-element-border{display:inline-block}.ag-measurement-element-border:before{border-left:var(--ag-internal-measurement-border);content:"";display:block}.ag-popup-child{top:0;z-index:5}.ag-popup-child:where(:not(.ag-tooltip-custom)){box-shadow:var(--ag-popup-shadow)}.ag-input-wrapper,.ag-picker-field-wrapper{align-items:center;display:flex;flex:1 1 auto;line-height:normal;position:relative}.ag-input-field{align-items:center;display:flex;flex-direction:row}.ag-input-field-input:where(:not([type=checkbox],[type=radio])){flex:1 1 auto;min-width:0;width:100%}.ag-chart,.ag-dnd-ghost,.ag-external,.ag-popup,.ag-root-wrapper{cursor:default;line-height:normal;white-space:normal;-webkit-font-smoothing:antialiased;background-color:var(--ag-background-color);color:var(--ag-text-color);color-scheme:var(--ag-browser-color-scheme);font-family:var(--ag-font-family);font-size:var(--ag-font-size);font-weight:var(--ag-font-weight);--ag-indentation-level:0}:where(.ag-icon):before{align-items:center;background-color:currentcolor;color:inherit;content:"";display:flex;font-family:inherit;font-size:var(--ag-icon-size);font-style:normal;font-variant:normal;height:var(--ag-icon-size);justify-content:center;line-height:var(--ag-icon-size);-webkit-mask-size:contain;mask-size:contain;text-transform:none;width:var(--ag-icon-size)}.ag-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;color:var(--ag-icon-color);display:block;height:var(--ag-icon-size);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--ag-icon-size)}.ag-disabled .ag-icon,[disabled] .ag-icon{opacity:.5}.ag-icon-grip.ag-disabled,.ag-icon-grip[disabled]{opacity:.35}.ag-icon-loading{animation-duration:1s;animation-iteration-count:infinite;animation-name:spin;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ag-resizer{pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}:where(.ag-resizer){&.ag-resizer-topLeft{cursor:nwse-resize;height:5px;left:0;top:0;width:5px}&.ag-resizer-top{cursor:ns-resize;height:5px;left:5px;right:5px;top:0}&.ag-resizer-topRight{cursor:nesw-resize;height:5px;right:0;top:0;width:5px}&.ag-resizer-right{bottom:5px;cursor:ew-resize;right:0;top:5px;width:5px}&.ag-resizer-bottomRight{bottom:0;cursor:nwse-resize;height:5px;right:0;width:5px}&.ag-resizer-bottom{bottom:0;cursor:ns-resize;height:5px;left:5px;right:5px}&.ag-resizer-bottomLeft{bottom:0;cursor:nesw-resize;height:5px;left:0;width:5px}&.ag-resizer-left{bottom:5px;cursor:ew-resize;left:0;top:5px;width:5px}}.ag-menu{background-color:var(--ag-menu-background-color);border:var(--ag-menu-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-menu-shadow);color:var(--ag-menu-text-color);max-height:100%;overflow-y:auto;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}',E9=typeof window!=="object"||!window?.document?.fonts?.forEach,U6=!1,w0=(J,Z,$,X,Y,Q,q=!1)=>{if(E9||U6)return;if(X)J=`@layer ${CSS.escape(X).replaceAll("\\.",".")} { ${J} }`;let H=RZ.map.get(Z);if(!H)H=[],RZ.map.set(Z,H);if(H.some((W)=>W.css===J))return;let _=document.createElement("style");if(Q)_.setAttribute("nonce",Q);_.dataset.agCss=$,_.dataset.agCssVersion=p,_.textContent=J;let z={css:J,el:_,priority:Y,isParams:q},U;for(let W of H){if(W.priority>Y)break;U=W}if(U){U.el.after(_);let W=H.indexOf(U);H.splice(W+1,0,z)}else{if(Z.nodeName==="STYLE")Z.after(_);else Z.insertBefore(_,Z.querySelector(":not(title, meta)"));H.push(z)}},j1=(J,Z,$,X)=>{w0(QG,J,"shared",Z,0,$),X?.forEach((Y,Q)=>Y.forEach((q)=>w0(q,J,Q,Z,0,$)))},qG=(J,Z,$,X,Y,Q)=>{if(E9||U6)return;let q=RZ.grids.get(J);if(!q)RZ.grids.set(J,{styleContainer:X,paramsCss:Z});else q.paramsCss=Z;if(W8(X),Z&&$)w0(Z,X,$,Y,2,Q,!0)},HG=(J)=>{let Z=RZ.grids.get(J)?.styleContainer;if(!Z)return;if(RZ.grids.delete(J),Array.from(RZ.grids.values()).some((X)=>X.styleContainer===Z))W8(Z);else W8(Z,!0),RZ.map.delete(Z)},W8=(J,Z=!1)=>{let $=new Set;for(let Y of RZ.grids.values())if(Y.styleContainer===J)$.add(Y.paramsCss);let X=RZ.map.get(J)??[];for(let Y=X.length-1;Y>=0;Y--)if(Z||X[Y].isParams&&!$.has(X[Y].css))X[Y].el.remove(),X.splice(Y,1)},A1=()=>{let J=globalThis.agStyleInjectionVersions??(globalThis.agStyleInjectionVersions=new Map),Z=J.get(p);if(!Z)Z={map:new WeakMap,grids:new Map,paramsId:0},J.set(p,Z);return Z},RZ=A1(),FZ=(J)=>{return new M1(J)},oZ="$default",_G=0,M1=class{constructor({feature:J,params:Z,modeParams:$={},css:X,cssImports:Y}){this.feature=J,this.css=X,this.cssImports=Y,this.modeParams={[oZ]:{...$[oZ]??{},...Z??{}},...$}}use(J,Z,$){let X=this._inject;if(X==null){let{css:Y}=this;if(Y){let Q=`ag-theme-${this.feature??"part"}-${++_G}`;if(typeof Y==="function")Y=Y();Y=`:where(.${Q}) { ${Y} } `;for(let q of this.cssImports??[])Y=`@import url(${JSON.stringify(q)}); ${Y}`;X={css:Y,class:Q}}else X=!1;this._inject=X}if(X&&J)w0(X.css,J,X.class,Z,1,$);return X?X.class:!1}},zG=(J)=>J.replace(/[A-Z]|\d+/g,(Z)=>`-${Z}`).toLowerCase(),L9=(J)=>`--ag-${zG(J)}`,vZ=(J)=>`var(${L9(J)})`,UG=(J,Z,$)=>Math.max(Z,Math.min($,J)),WG=(J)=>{let Z=new Map;return($)=>{let X=$;if(!Z.has(X))Z.set(X,J($));return Z.get(X)}},AZ=(J)=>({ref:"accentColor",mix:J}),rJ=(J)=>({ref:"foregroundColor",mix:J}),oJ=(J)=>({ref:"foregroundColor",mix:J,onto:"backgroundColor"}),GG=(J)=>({ref:"foregroundColor",mix:J,onto:"headerBackgroundColor"}),yJ={ref:"backgroundColor"},T0={ref:"foregroundColor"},MZ={ref:"accentColor"},W6={backgroundColor:"#fff",foregroundColor:"#181d1f",borderColor:rJ(0.15),chromeBackgroundColor:oJ(0.02),browserColorScheme:"light"},BG={...W6,textColor:T0,accentColor:"#2196f3",invalidColor:"#e02525",fontFamily:["-apple-system","BlinkMacSystemFont","Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue","sans-serif"],subtleTextColor:{ref:"textColor",mix:0.5},borderWidth:1,borderRadius:4,spacing:8,fontSize:14,fontWeight:"inherit",focusShadow:{spread:3,color:AZ(0.5)},focusErrorShadow:{spread:3,color:{ref:"invalidColor",onto:"backgroundColor",mix:0.5}},popupShadow:"0 0 16px #00000026",cardShadow:"0 1px 4px 1px #00000018",dropdownShadow:{ref:"cardShadow"},listItemHeight:{calc:"max(iconSize, dataFontSize) + widgetVerticalSpacing"},dragAndDropImageBackgroundColor:yJ,dragAndDropImageBorder:!0,dragAndDropImageNotAllowedBorder:{color:{ref:"invalidColor",onto:"dragAndDropImageBackgroundColor",mix:0.5}},dragAndDropImageShadow:{ref:"popupShadow"},iconSize:16,iconColor:"inherit",toggleButtonWidth:28,toggleButtonHeight:18,toggleButtonOnBackgroundColor:MZ,toggleButtonOffBackgroundColor:oJ(0.3),toggleButtonSwitchBackgroundColor:yJ,toggleButtonSwitchInset:2,tooltipBackgroundColor:{ref:"chromeBackgroundColor"},tooltipErrorBackgroundColor:{ref:"invalidColor",onto:"backgroundColor",mix:0.1},tooltipTextColor:{ref:"textColor"},tooltipErrorTextColor:{ref:"invalidColor"},tooltipBorder:!0,tooltipErrorBorder:{color:{ref:"invalidColor",onto:"backgroundColor",mix:0.25}},panelBackgroundColor:yJ,panelTitleBarHeight:{ref:"headerHeight"},panelTitleBarBackgroundColor:{ref:"headerBackgroundColor"},panelTitleBarIconColor:{ref:"headerTextColor"},panelTitleBarTextColor:{ref:"headerTextColor"},panelTitleBarFontFamily:{ref:"headerFontFamily"},panelTitleBarFontSize:{ref:"headerFontSize"},panelTitleBarFontWeight:{ref:"headerFontWeight"},panelTitleBarBorder:!0,dialogShadow:{ref:"popupShadow"},dialogBorder:{color:rJ(0.2)},widgetContainerHorizontalPadding:{calc:"spacing * 1.5"},widgetContainerVerticalPadding:{calc:"spacing * 1.5"},widgetHorizontalSpacing:{calc:"spacing * 1.5"},widgetVerticalSpacing:{ref:"spacing"},dataFontSize:{ref:"fontSize"},headerBackgroundColor:{ref:"chromeBackgroundColor"},headerFontFamily:{ref:"fontFamily"},headerFontSize:{ref:"fontSize"},headerFontWeight:500,headerTextColor:{ref:"textColor"},headerHeight:{calc:"max(iconSize, dataFontSize) + spacing * 4 * headerVerticalPaddingScale"},headerVerticalPaddingScale:1,menuBorder:{color:rJ(0.2)},menuBackgroundColor:oJ(0.03),menuTextColor:oJ(0.95),menuShadow:{ref:"popupShadow"},menuSeparatorColor:{ref:"borderColor"}},KG=["colorScheme","color","length","scale","borderStyle","border","shadow","image","fontFamily","fontWeight","duration"],EG=WG((J)=>{return J=J.toLowerCase(),KG.find((Z)=>J.endsWith(Z.toLowerCase()))??"length"}),c6=(J)=>{if(typeof J==="object"&&J?.ref)return vZ(J.ref);if(typeof J==="string")return J;if(typeof J==="number")return String(J);return!1},F9=(J)=>{if(typeof J==="string")return J;if(typeof J==="object"&&J&&"ref"in J){let Z=vZ(J.ref);if(J.mix==null)return Z;return`color-mix(in srgb, ${J.onto?vZ(J.onto):"transparent"}, ${Z} ${UG(J.mix*100,0,100)}%)`}return!1},LG=c6,Q2=(J)=>{if(typeof J==="string")return J;if(typeof J==="number")return`${J}px`;if(typeof J==="object"&&J&&"calc"in J)return`calc(${J.calc.replace(/ ?[*/+] ?/g," $& ").replace(/-?\b[a-z][a-z0-9]*\b(?![-(])/gi,($)=>$[0]==="-"?$:" "+vZ($)+" ")})`;if(typeof J==="object"&&J&&"ref"in J)return vZ(J.ref);return!1},FG=c6,G8=(J,Z)=>{if(typeof J==="string")return J;if(J===!0)return G8({},Z);if(J===!1)return Z==="columnBorder"?G8({color:"transparent"},Z):"none";if(typeof J==="object"&&J&&"ref"in J)return vZ(J.ref);return R1(J.style??"solid")+" "+Q2(J.width??{ref:"borderWidth"})+" "+F9(J.color??{ref:"borderColor"})},y$=(J)=>{return[Q2(J.offsetX??0),Q2(J.offsetY??0),Q2(J.radius??0),Q2(J.spread??0),F9(J.color??{ref:"foregroundColor"}),...J.inset?["inset"]:[]].join(" ")},DG=(J)=>{if(typeof J==="string")return J;if(J===!1)return"none";if(typeof J==="object"&&J&&"ref"in J)return vZ(J.ref);if(Array.isArray(J))return J.map(y$).join(", ");return y$(J)},R1=c6,O1=(J)=>{if(typeof J==="string")return J.includes(",")?J:N$(J);if(typeof J==="object"&&J&&"googleFont"in J)return O1(J.googleFont);if(typeof J==="object"&&J&&"ref"in J)return vZ(J.ref);if(Array.isArray(J))return J.map((Z)=>{if(typeof Z==="object"&&"googleFont"in Z)Z=Z.googleFont;return N$(Z)}).join(", ");return!1},N$=(J)=>/^[\w-]+$|\w\(/.test(J)?J:JSON.stringify(J),kG=c6,S1=(J)=>{if(typeof J==="string")return J;if(typeof J==="object"&&J&&"url"in J)return`url(${JSON.stringify(J.url)})`;if(typeof J==="object"&&J&&"svg"in J)return S1({url:`data:image/svg+xml,${encodeURIComponent(J.svg)}`});if(typeof J==="object"&&J&&"ref"in J)return vZ(J.ref);return!1},VG=(J,Z,$)=>{if(typeof J==="string")return J;if(typeof J==="number"){if(J>=10)$?.warn(104,{value:J,param:Z});return`${J}s`}if(typeof J==="object"&&J&&"ref"in J)return vZ(J.ref);return!1},jG={color:F9,colorScheme:LG,length:Q2,scale:FG,border:G8,borderStyle:R1,shadow:DG,image:S1,fontFamily:O1,fontWeight:kG,duration:VG},AG=(J,Z,$)=>{let X=EG(J);return jG[X](Z,J,$)};var MG=(J,Z)=>new f1({themeLogger:J,overridePrefix:Z}),f1=class J{constructor(Z,$=[]){this.params=Z,this.parts=$}withPart(Z){if(typeof Z==="function")Z=Z();if(!(Z instanceof M1))return this.params.themeLogger.preInitErr(259,"Invalid part",{part:Z}),this;return new J(this.params,[...this.parts,Z])}withoutPart(Z){return this.withPart(FZ({feature:Z}))}withParams(Z,$=oZ){return this.withPart(FZ({modeParams:{[$]:Z}}))}_startUse({styleContainer:Z,cssLayer:$,nonce:X,loadThemeGoogleFonts:Y,moduleCss:Q}){if(E9)return;if(U6)return;OG(),j1(Z,$,X,Q);let q=RG(this);if(q.length>0){for(let H of q)if(Y)SG(H,X)}for(let H of this.parts)H.use(Z,$,X)}_getCssClass(){if(U6)return"ag-theme-quartz";return this._cssClassCache??(this._cssClassCache=w$(this.parts).map((Z)=>Z.use(void 0,void 0,void 0)).filter(Boolean).concat(this._getParamsClassName()).join(" "))}_getParamsClassName(){return this._paramsClassName??(this._paramsClassName=`ag-theme-params-${++A1().paramsId}`)}_getModeParams(){let Z=this._paramsCache;if(!Z){let $={[oZ]:{...BG}};for(let X of w$(this.parts))for(let Y of Object.keys(X.modeParams)){let Q=X.modeParams[Y];if(Q){let q=$[Y]??($[Y]={}),H=new Set;for(let _ of Object.keys(Q)){let z=Q[_];if(z!==void 0)q[_]=z,H.add(_)}if(Y===oZ)for(let _ of Object.keys($)){let z=$[_];if(_!==oZ)for(let U of H)delete z[U]}}}this._paramsCache=Z=$}return Z}_getParamsCss(){if(!this._paramsCssCache){let Z="",$="",X=this._getModeParams(),{overridePrefix:Y,themeLogger:Q}=this.params,q=Y?`--ag-${Y}-`:void 0;for(let z of Object.keys(X)){let U=X[z];if(z!==oZ){let G=`:where([data-ag-theme-mode="${typeof CSS==="object"?CSS.escape(z):z}"]) & { `;Z+=G,$+=G}for(let W of Object.keys(U).sort()){let G=U[W],B=AG(W,G,Q);if(B===!1)Q.error(107,{key:W,value:G});else{let K=L9(W),E=q?K.replace("--ag-",q):K,L=K.replace("--ag-","--ag-inherited-");Z+=` ${K}: var(${L}, ${B}); `,$+=` ${L}: var(${E}); `}}if(z!==oZ)Z+=`} `,$+=`} `}let H=`:where(.${this._getParamsClassName()})`,_=`${H} { ${Z}} `;_+=`:has(> ${H}):not(${H}) { ${$}} `,this._paramsCssCache=_}return this._paramsCssCache}},w$=(J)=>{let Z=new Map;for(let X of J)Z.set(X.feature,X);let $=[];for(let X of J)if(!X.feature||Z.get(X.feature)===X)$.push(X);return $},RG=(J)=>{let Z=new Set,$=(Q)=>{if(Array.isArray(Q))Q.forEach($);else{let q=Q?.googleFont;if(typeof q==="string")Z.add(q)}};return Object.values(J._getModeParams()).flatMap((Q)=>Object.values(Q)).forEach($),Array.from(Z).sort()},g$=!1,OG=()=>{if(g$)return;g$=!0;for(let J of Array.from(document.head.querySelectorAll('style[data-ag-scope="legacy"]')))J.remove()},SG=async(J,Z)=>{let $=`@import url('https://${fG}/css2?family=${encodeURIComponent(J)}:wght@100;200;300;400;500;600;700;800;900&display=swap'); `;w0($,document.head,`googleFont:${J}`,void 0,0,Z)},fG="fonts.googleapis.com",h$={changeKey:"listItemHeight",type:"length",defaultValue:24},PG=class extends RJ{constructor(){super(...arguments);this.beanName="environment",this.sizeEls=new Map,this.lastKnownValues=new Map,this.sizesMeasured=!1,this.globalCSS=[]}wireBeans(J){this.eRootDiv=J.eRootDiv}postConstruct(){let{gos:J,eRootDiv:Z}=this;J.setInstanceDomData(Z);let $=J.get("themeStyleContainer"),X=typeof ShadowRoot<"u",Y=X&&Z.getRootNode()instanceof ShadowRoot;if(this.eStyleContainer=(typeof $==="function"?$():$)??(Y?Z:document.head),!$&&!Y&&X)TG(Z,this.shadowRootError.bind(this),this.addDestroyFunc.bind(this));this.cssLayer=J.get("themeCssLayer"),this.styleNonce=J.get("styleNonce"),this.addManagedPropertyListener("theme",()=>this.handleThemeChange()),this.handleThemeChange(),this.getSizeEl(h$),this.initVariables(),this.addDestroyFunc(()=>HG(this)),this.mutationObserver=new MutationObserver(()=>{this.fireStylesChangedEvent("theme")}),this.addDestroyFunc(()=>this.mutationObserver.disconnect())}applyThemeClasses(J,Z=[]){let{theme:$}=this,X=$?$._getCssClass():this.applyLegacyThemeClasses();for(let Y of Array.from(J.classList))if(Y.startsWith("ag-theme-"))J.classList.remove(Y);if(X){let Y=J.className;J.className=`${Y}${Y?" ":""}${X}${Z?.length?" "+Z.join(" "):""}`}}applyLegacyThemeClasses(){let J="";this.mutationObserver.disconnect();let Z=this.eRootDiv;while(Z){let $=!1;for(let X of Array.from(Z.classList))if(X.startsWith("ag-theme-"))$=!0,J=J?`${J} ${X}`:X;if($)this.mutationObserver.observe(Z,{attributes:!0,attributeFilter:["class"]});Z=Z.parentElement}return J}addGlobalCSS(J,Z){if(this.theme)w0(J,this.eStyleContainer,Z,this.cssLayer,0,this.styleNonce);else this.globalCSS.push([J,Z])}getDefaultListItemHeight(){return this.getCSSVariablePixelValue(h$)}getCSSVariablePixelValue(J){let Z=this.lastKnownValues.get(J);if(Z!=null)return Z;let $=this.measureSizeEl(J);if($==="detached"||$==="no-styles"){if(J.cacheDefault)this.lastKnownValues.set(J,J.defaultValue);return J.defaultValue}return this.lastKnownValues.set(J,$),$}measureSizeEl(J){let Z=this.getSizeEl(J);if(Z.offsetParent==null)return"detached";let $=Z.offsetWidth;if($===p7)return"no-styles";return this.sizesMeasured=!0,$}getMeasurementContainer(){let J=this.eMeasurementContainer;if(!J)J=this.eMeasurementContainer=EJ({tag:"div",cls:"ag-measurement-container"}),this.eRootDiv.appendChild(J);return J}getSizeEl(J){let Z=this.sizeEls.get(J);if(Z)return Z;let $=this.getMeasurementContainer();Z=EJ({tag:"div"});let X=this.setSizeElStyles(Z,J);$.appendChild(Z),this.sizeEls.set(J,Z);let{type:Y,noWarn:Q}=J;if(Y!=="length"&&Y!=="border")return Z;let q=this.measureSizeEl(J);if(q==="no-styles"&&!Q)this.varError(X,J.defaultValue);let H=DZ(this.beans,Z,()=>{let _=this.measureSizeEl(J);if(_==="detached"||_==="no-styles")return;if(this.lastKnownValues.set(J,_),_!==q)q=_,this.fireStylesChangedEvent(J.changeKey)});return this.addDestroyFunc(()=>H()),Z}setSizeElStyles(J,Z){let{changeKey:$,type:X}=Z,Y=L9($);if(X==="border"){if(Y.endsWith("-width"))Y=Y.slice(0,-6);J.className="ag-measurement-element-border",J.style.setProperty("--ag-internal-measurement-border",`var(${Y}, solid ${p7}px)`)}else J.style.width=`var(${Y}, ${p7}px)`;return Y}handleThemeChange(){let{gos:J,theme:Z}=this,$=J.get("theme"),X;if($==="legacy")X=void 0;else{let Y=$??this.getDefaultTheme();if(Y instanceof f1)X=Y;else this.themeError(Y)}if(X!==Z)this.handleNewTheme(X);this.postProcessThemeChange(X,$)}handleNewTheme(J){let{gos:Z,eRootDiv:$,globalCSS:X}=this,Y=this.getAdditionalCss();if(J){j1(this.eStyleContainer,this.cssLayer,this.styleNonce,Y);for(let[Q,q]of X)w0(Q,this.eStyleContainer,q,this.cssLayer,0,this.styleNonce);X.length=0}this.theme=J,J?._startUse({loadThemeGoogleFonts:Z.get("loadThemeGoogleFonts"),styleContainer:this.eStyleContainer,cssLayer:this.cssLayer,nonce:this.styleNonce,moduleCss:Y}),qG(this,J?._getParamsCss()??null,J?._getParamsClassName()??null,this.eStyleContainer,this.cssLayer,this.styleNonce),this.applyThemeClasses($),this.fireStylesChangedEvent("theme")}fireStylesChangedEvent(J){this.eventSvc.dispatchEvent({type:"stylesChanged",[`${J}Changed`]:!0})}},p7=15538,TG=(J,Z,$)=>{let X=60,Y=setInterval(()=>{if(typeof ShadowRoot<"u"&&J.getRootNode()instanceof ShadowRoot)Z(),clearInterval(Y);if(J.isConnected||--X<0)clearInterval(Y)},1000);$(()=>clearInterval(Y))},vG=".ag-aria-description-container{border:0;z-index:9999;clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ag-unselectable{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ag-selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text}.ag-shake-left-to-right{animation-direction:alternate;animation-duration:.2s;animation-iteration-count:infinite;animation-name:ag-shake-left-to-right}@keyframes ag-shake-left-to-right{0%{padding-left:6px;padding-right:2px}to{padding-left:2px;padding-right:6px}}.ag-body-horizontal-scroll-viewport,.ag-body-vertical-scroll-viewport,.ag-body-viewport,.ag-center-cols-viewport,.ag-floating-bottom-viewport,.ag-floating-top-viewport,.ag-header-viewport,.ag-sticky-bottom-viewport,.ag-sticky-top-viewport{flex:1 1 auto;height:100%;min-width:0;overflow:hidden;position:relative}.ag-viewport{position:relative}.ag-spanning-container{position:absolute;top:0;z-index:1}.ag-body-viewport,.ag-center-cols-viewport,.ag-floating-bottom-viewport,.ag-floating-top-viewport,.ag-header-viewport,.ag-sticky-bottom-viewport,.ag-sticky-top-viewport{overflow-x:auto;-ms-overflow-style:none!important;scrollbar-width:none!important}.ag-body-viewport::-webkit-scrollbar,.ag-center-cols-viewport::-webkit-scrollbar,.ag-floating-bottom-viewport::-webkit-scrollbar,.ag-floating-top-viewport::-webkit-scrollbar,.ag-header-viewport::-webkit-scrollbar,.ag-sticky-bottom-viewport::-webkit-scrollbar,.ag-sticky-top-viewport::-webkit-scrollbar{display:none!important}.ag-body-viewport{display:flex;overflow-x:hidden;&:where(.ag-layout-normal){overflow-y:auto;-webkit-overflow-scrolling:touch}}.ag-floating-bottom-container,.ag-floating-top-container,.ag-sticky-bottom-container,.ag-sticky-top-container{min-height:1px}.ag-center-cols-viewport{min-height:100%;width:100%}.ag-body-horizontal-scroll-viewport{overflow-x:scroll}.ag-body-vertical-scroll-viewport{overflow-y:scroll}.ag-body-container,.ag-body-horizontal-scroll-container,.ag-body-vertical-scroll-container,.ag-center-cols-container,.ag-floating-bottom-container,.ag-floating-bottom-full-width-container,.ag-floating-top-container,.ag-full-width-container,.ag-header-container,.ag-pinned-left-cols-container,.ag-pinned-left-sticky-bottom,.ag-pinned-right-cols-container,.ag-pinned-right-sticky-bottom,.ag-sticky-bottom-container,.ag-sticky-top-container{position:relative}.ag-floating-bottom-container,.ag-floating-top-container,.ag-header-container,.ag-pinned-left-floating-bottom,.ag-pinned-left-floating-top,.ag-pinned-right-floating-bottom,.ag-pinned-right-floating-top,.ag-sticky-bottom-container,.ag-sticky-top-container{height:100%;white-space:nowrap}.ag-center-cols-container,.ag-pinned-right-cols-container{display:block}.ag-body-horizontal-scroll-container{height:100%}.ag-body-vertical-scroll-container{width:100%}.ag-floating-bottom-full-width-container,.ag-floating-top-full-width-container,.ag-full-width-container,.ag-sticky-bottom-full-width-container,.ag-sticky-top-full-width-container{pointer-events:none;position:absolute;top:0}:where(.ag-ltr) .ag-floating-bottom-full-width-container,:where(.ag-ltr) .ag-floating-top-full-width-container,:where(.ag-ltr) .ag-full-width-container,:where(.ag-ltr) .ag-sticky-bottom-full-width-container,:where(.ag-ltr) .ag-sticky-top-full-width-container{left:0}:where(.ag-rtl) .ag-floating-bottom-full-width-container,:where(.ag-rtl) .ag-floating-top-full-width-container,:where(.ag-rtl) .ag-full-width-container,:where(.ag-rtl) .ag-sticky-bottom-full-width-container,:where(.ag-rtl) .ag-sticky-top-full-width-container{right:0}.ag-full-width-container{width:100%}.ag-floating-bottom-full-width-container,.ag-floating-top-full-width-container{display:inline-block;height:100%;overflow:hidden;width:100%}.ag-body{display:flex;flex:1 1 auto;flex-direction:row!important;min-height:0;position:relative}.ag-body-horizontal-scroll,.ag-body-vertical-scroll{display:flex;min-height:0;min-width:0;position:relative;&:where(.ag-scrollbar-invisible){bottom:0;position:absolute;&:where(.ag-apple-scrollbar){opacity:0;transition:opacity .4s;visibility:hidden;&:where(.ag-scrollbar-active),&:where(.ag-scrollbar-scrolling){opacity:1;visibility:visible}}}}.ag-body-horizontal-scroll{width:100%;&:where(.ag-scrollbar-invisible){left:0;right:0}}.ag-body-vertical-scroll{height:100%;&:where(.ag-scrollbar-invisible){top:0;z-index:10}}:where(.ag-ltr) .ag-body-vertical-scroll{&:where(.ag-scrollbar-invisible){right:0}}:where(.ag-rtl) .ag-body-vertical-scroll{&:where(.ag-scrollbar-invisible){left:0}}.ag-force-vertical-scroll{overflow-y:scroll!important}.ag-horizontal-left-spacer,.ag-horizontal-right-spacer{height:100%;min-width:0;overflow-x:scroll;&:where(.ag-scroller-corner){overflow-x:hidden}}:where(.ag-row-animation) .ag-row{transition:transform .4s,top .4s,opacity .2s;&:where(.ag-after-created){transition:transform .4s,top .4s,height .4s,opacity .2s}}:where(.ag-row-animation.ag-prevent-animation) .ag-row{transition:none!important;&:where(.ag-row.ag-after-created){transition:none!important}}:where(.ag-row-no-animation) .ag-row{transition:none}.ag-row-loading{align-items:center;display:flex}.ag-row-position-absolute{position:absolute}.ag-row-position-relative{position:relative}.ag-full-width-row{overflow:hidden;pointer-events:all}.ag-row-inline-editing{z-index:1}.ag-row-dragging{z-index:2}.ag-stub-cell{align-items:center;display:flex}.ag-cell{display:inline-block;height:100%;position:absolute;white-space:nowrap;&:focus-visible{box-shadow:none}}.ag-cell-value{flex:1 1 auto}.ag-cell-value:not(.ag-allow-overflow),.ag-group-value{overflow:hidden;text-overflow:ellipsis}.ag-cell-wrap-text{white-space:normal;word-break:break-word}:where(.ag-cell) .ag-icon{display:inline-block;vertical-align:middle}.ag-floating-top{display:flex;overflow:hidden;position:relative;white-space:nowrap;width:100%}:where(.ag-floating-top:not(.ag-invisible)){border-bottom:var(--ag-pinned-row-border)}.ag-floating-bottom{display:flex;overflow:hidden;position:relative;white-space:nowrap;width:100%}:where(.ag-floating-bottom:not(.ag-invisible)){border-top:var(--ag-pinned-row-border)}.ag-sticky-bottom,.ag-sticky-top{background-color:var(--ag-data-background-color);display:flex;height:0;overflow:hidden;position:absolute;width:100%;z-index:1}.ag-sticky-bottom{box-sizing:content-box!important;:where(.ag-pinned-left-sticky-bottom),:where(.ag-pinned-right-sticky-bottom),:where(.ag-sticky-bottom-container){border-top:var(--ag-row-border);box-sizing:border-box}}.ag-opacity-zero{opacity:0!important}.ag-cell-label-container{align-items:center;display:flex;flex-direction:row-reverse;height:100%;justify-content:space-between;width:100%}:where(.ag-right-aligned-header){.ag-cell-label-container{flex-direction:row}.ag-header-cell-text{text-align:end}}.ag-column-group-icons{display:block;:where(.ag-column-group-closed-icon),:where(.ag-column-group-opened-icon){cursor:pointer}}:where(.ag-ltr){direction:ltr;.ag-body,.ag-body-horizontal-scroll,.ag-body-viewport,.ag-floating-bottom,.ag-floating-top,.ag-header,.ag-sticky-bottom,.ag-sticky-top{flex-direction:row}}:where(.ag-rtl){direction:rtl;text-align:right;.ag-body,.ag-body-horizontal-scroll,.ag-body-viewport,.ag-floating-bottom,.ag-floating-top,.ag-header,.ag-sticky-bottom,.ag-sticky-top{flex-direction:row-reverse}.ag-icon-contracted,.ag-icon-expanded,.ag-icon-tree-closed{display:block}}:where(.ag-rtl){.ag-icon-contracted,.ag-icon-expanded,.ag-icon-tree-closed{transform:rotate(180deg)}}:where(.ag-rtl){.ag-icon-contracted,.ag-icon-expanded,.ag-icon-tree-closed{transform:rotate(-180deg)}}:where(.ag-ltr) .ag-row:not(.ag-row-level-0) .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}:where(.ag-rtl) .ag-row:not(.ag-row-level-0) .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}:where(.ag-ltr) .ag-row-group-leaf-indent{margin-left:calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size))}:where(.ag-rtl) .ag-row-group-leaf-indent{margin-right:calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size))}.ag-value-change-delta{padding:0 2px}.ag-value-change-delta-up{color:var(--ag-value-change-delta-up-color)}.ag-value-change-delta-down{color:var(--ag-value-change-delta-down-color)}.ag-value-change-value{background-color:transparent;border-radius:1px;padding-left:1px;padding-right:1px;transition:background-color 1s}.ag-value-change-value-highlight{background-color:var(--ag-value-change-value-highlight-background-color);transition:background-color .1s}.ag-cell-data-changed{background-color:var(--ag-value-change-value-highlight-background-color)!important}.ag-cell-data-changed-animation{background-color:transparent}.ag-cell-highlight{background-color:var(--ag-range-selection-highlight-color)!important}.ag-row,.ag-spanned-row{color:var(--ag-cell-text-color);font-family:var(--ag-cell-font-family);font-size:var(--ag-cell-font-size);font-weight:var(--ag-cell-font-weight);white-space:nowrap;--ag-internal-content-line-height:calc(min(var(--ag-row-height), var(--ag-line-height, 1000px)) - var(--ag-internal-row-border-width, 1px) - 2px)}.ag-row{background-color:var(--ag-data-background-color);border-bottom:var(--ag-row-border);height:var(--ag-row-height);width:100%;&.ag-row-editing-invalid{background-color:var(--ag-full-row-edit-invalid-background-color)}}:where(.ag-body-vertical-content-no-gap>div>div>div,.ag-body-vertical-content-no-gap>div>div>div>div)>.ag-row-last{border-bottom-color:transparent}.ag-group-contracted,.ag-group-expanded{cursor:pointer}.ag-cell,.ag-full-width-row .ag-cell-wrapper.ag-row-group{border:1px solid transparent;line-height:var(--ag-internal-content-line-height);-webkit-font-smoothing:subpixel-antialiased}:where(.ag-ltr) .ag-cell{border-right:var(--ag-column-border)}:where(.ag-rtl) .ag-cell{border-left:var(--ag-column-border)}.ag-spanned-cell-wrapper{background-color:var(--ag-data-background-color);position:absolute}.ag-spanned-cell-wrapper>.ag-spanned-cell{display:block;position:relative}:where(.ag-ltr) :where(.ag-body-horizontal-content-no-gap) .ag-column-last{border-right-color:transparent}:where(.ag-rtl) :where(.ag-body-horizontal-content-no-gap) .ag-column-last{border-left-color:transparent}.ag-cell-wrapper{align-items:center;display:flex;>:where(:not(.ag-cell-value,.ag-group-value)){align-items:center;display:flex;height:var(--ag-internal-content-line-height)}&:where(.ag-row-group){align-items:flex-start}:where(.ag-full-width-row) &:where(.ag-row-group){align-items:center;height:100%}}:where(.ag-ltr) .ag-cell-wrapper{padding-left:calc(var(--ag-indentation-level)*var(--ag-row-group-indent-size))}:where(.ag-rtl) .ag-cell-wrapper{padding-right:calc(var(--ag-indentation-level)*var(--ag-row-group-indent-size))}:where(.ag-cell-wrap-text:not(.ag-cell-auto-height)) .ag-cell-wrapper{align-items:normal;height:100%;:where(.ag-cell-value){height:100%}}:where(.ag-ltr) .ag-row>.ag-cell-wrapper.ag-row-group{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size)*var(--ag-indentation-level))}:where(.ag-rtl) .ag-row>.ag-cell-wrapper.ag-row-group{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size)*var(--ag-indentation-level))}.ag-cell-focus:not(.ag-cell-range-selected):focus-within,.ag-cell-range-single-cell,.ag-cell-range-single-cell.ag-cell-range-handle,.ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),.ag-context-menu-open .ag-full-width-row.ag-row-focus .ag-cell-wrapper.ag-row-group,.ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group{border:1px solid;border-color:var(--ag-range-selection-border-color);border-style:var(--ag-range-selection-border-style);outline:initial}.ag-full-width-row.ag-row-focus:focus{box-shadow:none}:where(.ag-ltr) .ag-group-contracted,:where(.ag-ltr) .ag-group-expanded,:where(.ag-ltr) .ag-row-drag,:where(.ag-ltr) .ag-selection-checkbox{margin-right:var(--ag-cell-widget-spacing)}:where(.ag-rtl) .ag-group-contracted,:where(.ag-rtl) .ag-group-expanded,:where(.ag-rtl) .ag-row-drag,:where(.ag-rtl) .ag-selection-checkbox{margin-left:var(--ag-cell-widget-spacing)}.ag-drag-handle-disabled{opacity:.35;pointer-events:none}:where(.ag-ltr) .ag-group-child-count{margin-left:3px}:where(.ag-rtl) .ag-group-child-count{margin-right:3px}.ag-row-highlight-above:after,.ag-row-highlight-below:after,.ag-row-highlight-inside:after{background-color:var(--ag-row-drag-indicator-color);border-radius:calc(var(--ag-row-drag-indicator-width)/2);content:\"\";height:var(--ag-row-drag-indicator-width);pointer-events:none;position:absolute;width:calc(100% - 1px)}:where(.ag-ltr) .ag-row-highlight-above:after,:where(.ag-ltr) .ag-row-highlight-below:after,:where(.ag-ltr) .ag-row-highlight-inside:after{left:1px}:where(.ag-rtl) .ag-row-highlight-above:after,:where(.ag-rtl) .ag-row-highlight-below:after,:where(.ag-rtl) .ag-row-highlight-inside:after{right:1px}.ag-row-highlight-above:after{top:0}.ag-row-highlight-below:after{bottom:0}.ag-row-highlight-indent:after{display:block;width:auto}:where(.ag-ltr) .ag-row-highlight-indent:after{left:calc((var(--ag-cell-widget-spacing) + var(--ag-icon-size))*2 + var(--ag-cell-horizontal-padding) + var(--ag-row-highlight-level)*var(--ag-row-group-indent-size));right:1px}:where(.ag-rtl) .ag-row-highlight-indent:after{left:1px;right:calc((var(--ag-cell-widget-spacing) + var(--ag-icon-size))*2 + var(--ag-cell-horizontal-padding) + var(--ag-row-highlight-level)*var(--ag-row-group-indent-size))}.ag-row-highlight-inside:after{background-color:var(--ag-selected-row-background-color);border:1px solid var(--ag-range-selection-border-color);display:block;height:auto;inset:0;width:auto}.ag-body,.ag-floating-bottom,.ag-floating-top{background-color:var(--ag-data-background-color)}.ag-row-odd{background-color:var(--ag-odd-row-background-color)}.ag-row-selected:before{background-color:var(--ag-selected-row-background-color);content:\"\";display:block;inset:0;pointer-events:none;position:absolute}.ag-row-hover.ag-full-width-row.ag-row-group:before,.ag-row-hover:not(.ag-full-width-row):before{background-color:var(--ag-row-hover-color);content:\"\";display:block;inset:0;pointer-events:none;position:absolute}.ag-row-hover.ag-row-selected:before{background-color:var(--ag-row-hover-color);background-image:linear-gradient(var(--ag-selected-row-background-color),var(--ag-selected-row-background-color))}.ag-row.ag-full-width-row.ag-row-group>*{position:relative}.ag-column-hover{background-color:var(--ag-column-hover-color)}.ag-header-range-highlight{background-color:var(--ag-range-header-highlight-color)}.ag-right-aligned-cell{font-variant-numeric:tabular-nums}:where(.ag-ltr) .ag-right-aligned-cell{text-align:right}:where(.ag-rtl) .ag-right-aligned-cell{text-align:left}.ag-right-aligned-cell .ag-cell-value,.ag-right-aligned-cell .ag-group-value{margin-left:auto}:where(.ag-ltr) .ag-cell:not(.ag-cell-inline-editing),:where(.ag-ltr) .ag-full-width-row .ag-cell-wrapper.ag-row-group{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size)*var(--ag-indentation-level));padding-right:calc(var(--ag-cell-horizontal-padding) - 1px)}:where(.ag-rtl) .ag-cell:not(.ag-cell-inline-editing),:where(.ag-rtl) .ag-full-width-row .ag-cell-wrapper.ag-row-group{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size)*var(--ag-indentation-level))}.ag-row>.ag-cell-wrapper{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px)}.ag-row-dragging{cursor:move;opacity:.5}.ag-details-row{background-color:var(--ag-data-background-color);padding:calc(var(--ag-spacing)*3.75)}.ag-layout-auto-height,.ag-layout-print{.ag-center-cols-container,.ag-center-cols-viewport{min-height:150px}}.ag-overlay-exporting-wrapper,.ag-overlay-loading-wrapper,.ag-overlay-modal-wrapper{background-color:var(--ag-modal-overlay-background-color)}.ag-skeleton-container{align-content:center;height:100%;width:100%}.ag-skeleton-effect{animation:ag-skeleton-loading 1.5s ease-in-out .5s infinite;background-color:var(--ag-row-loading-skeleton-effect-color);border-radius:.25rem;height:1em;width:100%}:where(.ag-ltr) .ag-right-aligned-cell .ag-skeleton-effect{margin-left:auto}:where(.ag-rtl) .ag-right-aligned-cell .ag-skeleton-effect{margin-right:auto}@keyframes ag-skeleton-loading{0%{background-color:var(--ag-row-loading-skeleton-effect-color)}50%{background-color:color-mix(in srgb,transparent,var(--ag-row-loading-skeleton-effect-color) 40%)}to{background-color:var(--ag-row-loading-skeleton-effect-color)}}.ag-loading{align-items:center;display:flex;height:100%}:where(.ag-ltr) .ag-loading{padding-left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-loading{padding-right:var(--ag-cell-horizontal-padding)}:where(.ag-ltr) .ag-loading-icon{padding-right:var(--ag-cell-widget-spacing)}:where(.ag-rtl) .ag-loading-icon{padding-left:var(--ag-cell-widget-spacing)}.ag-header{background-color:var(--ag-header-background-color);border-bottom:var(--ag-header-row-border);color:var(--ag-header-text-color);display:flex;font-family:var(--ag-header-font-family);font-size:var(--ag-header-font-size);font-weight:var(--ag-header-font-weight);overflow:hidden;white-space:nowrap;width:100%}.ag-header-row{height:var(--ag-header-height);position:absolute}.ag-floating-filter-button-button,.ag-header-cell-filter-button,.ag-header-cell-menu-button,.ag-header-expand-icon,.ag-panel-title-bar-button,:where(.ag-header-cell-sortable) .ag-header-cell-label,:where(.ag-header-group-cell-selectable) .ag-header-cell-comp-wrapper{cursor:pointer}:where(.ag-ltr) .ag-header-expand-icon{margin-left:4px}:where(.ag-rtl) .ag-header-expand-icon{margin-right:4px}.ag-header-row:where(:not(:first-child)){:where(.ag-header-cell:not(.ag-header-span-height.ag-header-span-total,.ag-header-parent-hidden)),:where(.ag-header-group-cell.ag-header-group-cell-with-group){border-top:var(--ag-header-row-border)}}.ag-header-row:where(:not(.ag-header-row-column-group)){overflow:hidden}:where(.ag-header.ag-header-allow-overflow) .ag-header-row{overflow:visible}.ag-header-cell{display:inline-flex;overflow:hidden}.ag-header-group-cell{contain:paint;display:flex}.ag-header-cell,.ag-header-group-cell{align-items:center;gap:var(--ag-cell-widget-spacing);height:100%;padding:0 var(--ag-cell-horizontal-padding);position:absolute}@property --ag-internal-moving-color{syntax:\"\";inherits:false;initial-value:transparent}@property --ag-internal-hover-color{syntax:\"\";inherits:false;initial-value:transparent}.ag-header-cell:where(:not(.ag-floating-filter)):before,.ag-header-group-cell:before{background-image:linear-gradient(var(--ag-internal-hover-color),var(--ag-internal-hover-color)),linear-gradient(var(--ag-internal-moving-color),var(--ag-internal-moving-color));content:\"\";inset:0;position:absolute;--ag-internal-moving-color:transparent;--ag-internal-hover-color:transparent;transition:--ag-internal-moving-color var(--ag-header-cell-background-transition-duration),--ag-internal-hover-color var(--ag-header-cell-background-transition-duration)}.ag-header-cell:where(:not(.ag-floating-filter)):where(:hover):before,.ag-header-group-cell:where(:hover):before{--ag-internal-hover-color:var(--ag-header-cell-hover-background-color)}.ag-header-cell:where(:not(.ag-floating-filter)):where(.ag-header-cell-moving):before,.ag-header-group-cell:where(.ag-header-cell-moving):before{--ag-internal-moving-color:var(--ag-header-cell-moving-background-color);--ag-internal-hover-color:var(--ag-header-cell-hover-background-color)}:where(.ag-header-cell:not(.ag-floating-filter)>*,.ag-header-group-cell>*){position:relative;z-index:1}.ag-header-cell-menu-button:where(:not(.ag-header-menu-always-show)){opacity:0;transition:opacity .2s}.ag-header-cell-filter-button,:where(.ag-header-cell.ag-header-active) .ag-header-cell-menu-button{opacity:1}.ag-header-cell-label,.ag-header-group-cell-label{align-items:center;align-self:stretch;display:flex;flex:1 1 auto;overflow:hidden;padding:5px 0}:where(.ag-ltr) .ag-sort-indicator-icon{padding-left:var(--ag-spacing)}:where(.ag-rtl) .ag-sort-indicator-icon{padding-right:var(--ag-spacing)}.ag-header-cell-label{text-overflow:ellipsis}.ag-header-group-cell-label.ag-sticky-label{flex:none;max-width:100%;overflow:visible;position:sticky}:where(.ag-ltr) .ag-header-group-cell-label.ag-sticky-label{left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-header-group-cell-label.ag-sticky-label{right:var(--ag-cell-horizontal-padding)}.ag-header-cell-text,.ag-header-group-text{overflow:hidden;text-overflow:ellipsis}.ag-header-cell-text{word-break:break-word}.ag-header-cell-comp-wrapper{width:100%}:where(.ag-header-group-cell) .ag-header-cell-comp-wrapper{display:flex}:where(.ag-header-cell:not(.ag-header-cell-auto-height)) .ag-header-cell-comp-wrapper{align-items:center;display:flex;height:100%}.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper{white-space:normal}.ag-header-cell-comp-wrapper-limited-height>*{overflow:hidden}:where(.ag-right-aligned-header) .ag-header-cell-label{flex-direction:row-reverse}:where(.ag-header-cell:not(.ag-right-aligned-header)){.ag-header-col-ref{color:var(--ag-subtle-text-color)}}:where(.ag-ltr) :where(.ag-header-cell:not(.ag-right-aligned-header)){.ag-header-col-ref{margin-right:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-left:var(--ag-spacing)}}:where(.ag-rtl) :where(.ag-header-cell:not(.ag-right-aligned-header)){.ag-header-col-ref{margin-left:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-right:var(--ag-spacing)}}:where(.ag-header-cell.ag-right-aligned-header){.ag-header-col-ref{color:var(--ag-subtle-text-color)}}:where(.ag-ltr) :where(.ag-header-cell.ag-right-aligned-header){.ag-header-col-ref{margin-left:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-right:var(--ag-spacing)}}:where(.ag-rtl) :where(.ag-header-cell.ag-right-aligned-header){.ag-header-col-ref{margin-right:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-left:var(--ag-spacing)}}.ag-header-cell:after,.ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group)):after{content:\"\";height:var(--ag-header-column-border-height);position:absolute;top:calc(50% - var(--ag-header-column-border-height)*.5);z-index:1}:where(.ag-ltr) .ag-header-cell:after,:where(.ag-ltr) .ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group)):after{border-right:var(--ag-header-column-border);right:0}:where(.ag-rtl) .ag-header-cell:after,:where(.ag-rtl) .ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group)):after{border-left:var(--ag-header-column-border);left:0}.ag-header-highlight-after:after,.ag-header-highlight-before:after{background-color:var(--ag-column-drag-indicator-color);border-radius:calc(var(--ag-column-drag-indicator-width)/2);content:\"\";height:100%;position:absolute;top:0;width:var(--ag-column-drag-indicator-width)}:where(.ag-ltr) .ag-header-highlight-before:after{left:0}:where(.ag-rtl) .ag-header-highlight-before:after{right:0}:where(.ag-ltr) .ag-header-highlight-after:after{right:0;:where(.ag-pinned-left-header) &{right:1px}}:where(.ag-rtl) .ag-header-highlight-after:after{left:0;:where(.ag-pinned-left-header) &{left:1px}}.ag-header-cell-resize{align-items:center;cursor:ew-resize;display:flex;height:100%;position:absolute;top:0;width:8px;z-index:2}:where(.ag-ltr) .ag-header-cell-resize{right:-3px}:where(.ag-rtl) .ag-header-cell-resize{left:-3px}.ag-header-cell-resize:after{background-color:var(--ag-header-column-resize-handle-color);content:\"\";height:var(--ag-header-column-resize-handle-height);position:absolute;top:calc(50% - var(--ag-header-column-resize-handle-height)*.5);width:var(--ag-header-column-resize-handle-width);z-index:1}:where(.ag-ltr) .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}:where(.ag-rtl) .ag-header-cell-resize:after{right:calc(50% - var(--ag-header-column-resize-handle-width))}:where(.ag-header-cell.ag-header-span-height) .ag-header-cell-resize:after{height:calc(100% - var(--ag-spacing)*4);top:calc(var(--ag-spacing)*2)}.ag-header-group-cell-no-group:where(.ag-header-span-height){display:none}.ag-sort-indicator-container{display:flex;gap:var(--ag-spacing)}.ag-layout-print{&.ag-body{display:block;height:unset}&.ag-root-wrapper{container-type:normal;display:inline-block}.ag-body-horizontal-scroll,.ag-body-vertical-scroll{display:none}&.ag-force-vertical-scroll{overflow-y:visible!important}}@media print{.ag-root-wrapper.ag-layout-print{container-type:normal;display:table;.ag-body-horizontal-scroll-viewport,.ag-body-viewport,.ag-center-cols-container,.ag-center-cols-viewport,.ag-root,.ag-root-wrapper-body,.ag-virtual-list-viewport{display:block!important;height:auto!important;overflow:hidden!important}.ag-cell,.ag-row{-moz-column-break-inside:avoid;break-inside:avoid}}}ag-grid,ag-grid-angular{display:block}.ag-root-wrapper{border:var(--ag-wrapper-border);border-radius:var(--ag-wrapper-border-radius);container-type:inline-size;display:flex;flex-direction:column;overflow:hidden;position:relative;&.ag-layout-normal{height:100%}}.ag-root-wrapper-body{display:flex;flex-direction:row;&.ag-layout-normal{flex:1 1 auto;height:0;min-height:0}}.ag-root{display:flex;flex-direction:column;position:relative;&.ag-layout-auto-height,&.ag-layout-normal{flex:1 1 auto;overflow:hidden;width:0}&.ag-layout-normal{height:100%}}.ag-drag-handle{color:var(--ag-drag-handle-color);cursor:grab;:where(.ag-icon){color:var(--ag-drag-handle-color)}}.ag-chart-menu-icon,.ag-chart-settings-next,.ag-chart-settings-prev,.ag-column-group-icons,.ag-column-select-header-icon,.ag-filter-toolpanel-expand,.ag-floating-filter-button-button,.ag-group-title-bar-icon,.ag-header-cell-filter-button,.ag-header-cell-menu-button,.ag-header-expand-icon,.ag-panel-title-bar-button,.ag-panel-title-bar-button-icon,.ag-set-filter-group-icons,:where(.ag-group-contracted) .ag-icon,:where(.ag-group-expanded) .ag-icon{background-color:var(--ag-icon-button-background-color);border-radius:var(--ag-icon-button-border-radius);box-shadow:0 0 0 var(--ag-icon-button-background-spread) var(--ag-icon-button-background-color);color:var(--ag-icon-button-color)}.ag-chart-menu-icon:hover,.ag-chart-settings-next:hover,.ag-chart-settings-prev:hover,.ag-column-group-icons:hover,.ag-column-select-header-icon:hover,.ag-filter-toolpanel-expand:hover,.ag-floating-filter-button-button:hover,.ag-group-title-bar-icon:hover,.ag-header-cell-filter-button:hover,.ag-header-cell-menu-button:hover,.ag-header-expand-icon:hover,.ag-panel-title-bar-button-icon:hover,.ag-panel-title-bar-button:hover,.ag-set-filter-group-icons:hover,:where(.ag-group-contracted) .ag-icon:hover,:where(.ag-group-expanded) .ag-icon:hover{background-color:var(--ag-icon-button-hover-background-color);box-shadow:0 0 0 var(--ag-icon-button-background-spread) var(--ag-icon-button-hover-background-color);color:var(--ag-icon-button-hover-color)}:where(.ag-filter-active),:where(.ag-filter-toolpanel-group-instance-header-icon),:where(.ag-filter-toolpanel-instance-header-icon){position:relative}:where(.ag-filter-active):after,:where(.ag-filter-toolpanel-group-instance-header-icon):after,:where(.ag-filter-toolpanel-instance-header-icon):after{background-color:var(--ag-icon-button-active-indicator-color);border-radius:50%;content:\"\";height:6px;position:absolute;top:-1px;width:6px}:where(.ag-ltr) :where(.ag-filter-active):after,:where(.ag-ltr) :where(.ag-filter-toolpanel-group-instance-header-icon):after,:where(.ag-ltr) :where(.ag-filter-toolpanel-instance-header-icon):after{right:-1px}:where(.ag-rtl) :where(.ag-filter-active):after,:where(.ag-rtl) :where(.ag-filter-toolpanel-group-instance-header-icon):after,:where(.ag-rtl) :where(.ag-filter-toolpanel-instance-header-icon):after{left:-1px}.ag-filter-active{background-image:linear-gradient(var(--ag-icon-button-active-background-color),var(--ag-icon-button-active-background-color));border-radius:1px;outline:solid var(--ag-icon-button-background-spread) var(--ag-icon-button-active-background-color);:where(.ag-icon-filter){clip-path:path(\"M8,0C8,4.415 11.585,8 16,8L16,16L0,16L0,0L8,0Z\");color:var(--ag-icon-button-active-color)}}",IG={wrapperBorder:!0,rowBorder:!0,headerRowBorder:!0,footerRowBorder:{ref:"rowBorder"},columnBorder:{style:"solid",width:1,color:"transparent"},headerColumnBorder:!1,headerColumnBorderHeight:"100%",pinnedColumnBorder:!0,pinnedRowBorder:!0,sidePanelBorder:!0,sideBarPanelWidth:250,sideBarPanelAnimationDuration:0,sideBarBackgroundColor:{ref:"chromeBackgroundColor"},sideButtonBarBackgroundColor:{ref:"sideBarBackgroundColor"},sideButtonBarTopPadding:0,sideButtonSelectedUnderlineWidth:2,sideButtonSelectedUnderlineColor:"transparent",sideButtonSelectedUnderlineTransitionDuration:0,sideButtonBackgroundColor:"transparent",sideButtonTextColor:{ref:"textColor"},sideButtonHoverBackgroundColor:{ref:"sideButtonBackgroundColor"},sideButtonHoverTextColor:{ref:"sideButtonTextColor"},sideButtonSelectedBackgroundColor:yJ,sideButtonSelectedTextColor:{ref:"sideButtonTextColor"},sideButtonBorder:"solid 1px transparent",sideButtonSelectedBorder:!0,sideButtonLeftPadding:{ref:"spacing"},sideButtonRightPadding:{ref:"spacing"},sideButtonVerticalPadding:{calc:"spacing * 3"},cellFontFamily:{ref:"fontFamily"},cellFontSize:{ref:"dataFontSize"},cellFontWeight:{ref:"fontWeight"},headerCellHoverBackgroundColor:"transparent",headerCellMovingBackgroundColor:{ref:"headerCellHoverBackgroundColor"},headerCellBackgroundTransitionDuration:"0.2s",cellTextColor:{ref:"textColor"},rangeSelectionBorderStyle:"solid",rangeSelectionBorderColor:MZ,rangeSelectionBackgroundColor:AZ(0.2),rangeSelectionChartBackgroundColor:"#0058FF1A",rangeSelectionChartCategoryBackgroundColor:"#00FF841A",rangeSelectionHighlightColor:AZ(0.5),rangeHeaderHighlightColor:GG(0.08),rowNumbersSelectedColor:AZ(0.5),rowHoverColor:AZ(0.08),columnHoverColor:AZ(0.05),selectedRowBackgroundColor:AZ(0.12),modalOverlayBackgroundColor:{ref:"backgroundColor",mix:0.66},dataBackgroundColor:yJ,oddRowBackgroundColor:{ref:"dataBackgroundColor"},wrapperBorderRadius:8,cellHorizontalPadding:{calc:"spacing * 2 * cellHorizontalPaddingScale"},cellWidgetSpacing:{calc:"spacing * 1.5"},cellHorizontalPaddingScale:1,rowGroupIndentSize:{calc:"cellWidgetSpacing + iconSize"},valueChangeDeltaUpColor:"#43a047",valueChangeDeltaDownColor:"#e53935",valueChangeValueHighlightBackgroundColor:"#16a08580",rowHeight:{calc:"max(iconSize, cellFontSize) + spacing * 3.25 * rowVerticalPaddingScale"},rowVerticalPaddingScale:1,paginationPanelHeight:{ref:"rowHeight",calc:"max(rowHeight, 22px)"},dragHandleColor:rJ(0.7),headerColumnResizeHandleHeight:"30%",headerColumnResizeHandleWidth:2,headerColumnResizeHandleColor:{ref:"borderColor"},iconButtonColor:{ref:"iconColor"},iconButtonBackgroundColor:"transparent",iconButtonBackgroundSpread:4,iconButtonBorderRadius:1,iconButtonHoverColor:{ref:"iconButtonColor"},iconButtonHoverBackgroundColor:rJ(0.1),iconButtonActiveColor:MZ,iconButtonActiveBackgroundColor:AZ(0.28),iconButtonActiveIndicatorColor:MZ,setFilterIndentSize:{ref:"iconSize"},chartMenuPanelWidth:260,chartMenuLabelColor:rJ(0.8),cellEditingBorder:{color:MZ},cellEditingShadow:{ref:"cardShadow"},fullRowEditInvalidBackgroundColor:{ref:"invalidColor",onto:"backgroundColor",mix:0.25},columnSelectIndentSize:{ref:"iconSize"},toolPanelSeparatorBorder:!0,columnDropCellBackgroundColor:rJ(0.07),columnDropCellTextColor:{ref:"textColor"},columnDropCellDragHandleColor:{ref:"textColor"},columnDropCellBorder:{color:rJ(0.13)},selectCellBackgroundColor:rJ(0.07),selectCellBorder:{color:rJ(0.13)},advancedFilterBuilderButtonBarBorder:!0,advancedFilterBuilderIndentSize:{calc:"spacing * 2 + iconSize"},advancedFilterBuilderJoinPillColor:"#f08e8d",advancedFilterBuilderColumnPillColor:"#a6e194",advancedFilterBuilderOptionPillColor:"#f3c08b",advancedFilterBuilderValuePillColor:"#85c0e4",filterPanelApplyButtonColor:yJ,filterPanelApplyButtonBackgroundColor:MZ,columnPanelApplyButtonColor:yJ,columnPanelApplyButtonBackgroundColor:MZ,filterPanelCardSubtleColor:{ref:"textColor",mix:0.7},filterPanelCardSubtleHoverColor:{ref:"textColor"},findMatchColor:T0,findMatchBackgroundColor:"#ffff00",findActiveMatchColor:T0,findActiveMatchBackgroundColor:"#ffa500",filterToolPanelGroupIndent:{ref:"spacing"},rowLoadingSkeletonEffectColor:rJ(0.15),statusBarLabelColor:T0,statusBarLabelFontWeight:500,statusBarValueColor:T0,statusBarValueFontWeight:500,pinnedSourceRowTextColor:{ref:"textColor"},pinnedSourceRowBackgroundColor:{ref:"dataBackgroundColor"},pinnedSourceRowFontWeight:600,pinnedRowFontWeight:600,pinnedRowBackgroundColor:{ref:"dataBackgroundColor"},pinnedRowTextColor:{ref:"textColor"},rowDragIndicatorColor:{ref:"rangeSelectionBorderColor"},rowDragIndicatorWidth:2,columnDragIndicatorColor:{ref:"accentColor"},columnDragIndicatorWidth:2},bG=".ag-cell-batch-edit{background-color:var(--ag-cell-batch-edit-background-color);color:var(--ag-cell-batch-edit-text-color);display:inherit}.ag-row-batch-edit{background-color:var(--ag-row-batch-edit-background-color);color:var(--ag-row-batch-edit-text-color)}",P1={cellBatchEditBackgroundColor:"rgba(220 181 139 / 16%)",cellBatchEditTextColor:"#422f00",rowBatchEditBackgroundColor:{ref:"cellBatchEditBackgroundColor"},rowBatchEditTextColor:{ref:"cellBatchEditTextColor"}},CG={...P1,cellBatchEditTextColor:"#f3d0b3"},xG=()=>FZ({feature:"batchEditStyle",params:P1,css:bG}),yG=xG(),NG=":where(.ag-button){background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0;text-indent:inherit;text-shadow:inherit;text-transform:inherit;word-spacing:inherit;&:disabled{cursor:default}&:focus-visible{box-shadow:var(--ag-focus-shadow);outline:none}}.ag-standard-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--ag-button-background-color);border:var(--ag-button-border);border-radius:var(--ag-button-border-radius);color:var(--ag-button-text-color);cursor:pointer;font-weight:var(--ag-button-font-weight);padding:var(--ag-button-vertical-padding) var(--ag-button-horizontal-padding);&:active{background-color:var(--ag-button-active-background-color);border:var(--ag-button-active-border);color:var(--ag-button-active-text-color)}&:disabled{background-color:var(--ag-button-disabled-background-color);border:var(--ag-button-disabled-border);color:var(--ag-button-disabled-text-color)}}.ag-standard-button:hover{background-color:var(--ag-button-hover-background-color);border:var(--ag-button-hover-border);color:var(--ag-button-hover-text-color)}",wG={buttonTextColor:"inherit",buttonFontWeight:"normal",buttonBackgroundColor:"transparent",buttonBorder:!1,buttonBorderRadius:{ref:"borderRadius"},buttonHorizontalPadding:{calc:"spacing * 2"},buttonVerticalPadding:{ref:"spacing"},buttonHoverTextColor:{ref:"buttonTextColor"},buttonHoverBackgroundColor:{ref:"buttonBackgroundColor"},buttonHoverBorder:{ref:"buttonBorder"},buttonActiveTextColor:{ref:"buttonHoverTextColor"},buttonActiveBackgroundColor:{ref:"buttonHoverBackgroundColor"},buttonActiveBorder:{ref:"buttonHoverBorder"},buttonDisabledTextColor:{ref:"inputDisabledTextColor"},buttonDisabledBackgroundColor:{ref:"inputDisabledBackgroundColor"},buttonDisabledBorder:{ref:"inputDisabledBorder"}};var gG=()=>FZ({feature:"buttonStyle",params:{...wG,buttonBackgroundColor:yJ,buttonBorder:!0,buttonHoverBackgroundColor:{ref:"rowHoverColor"},buttonActiveBorder:{color:MZ}},css:NG}),hG=gG();var uG=".ag-column-drop-vertical-empty-message{align-items:center;border:dashed var(--ag-border-width);border-color:var(--ag-border-color);display:flex;inset:0;justify-content:center;margin:calc(var(--ag-spacing)*1.5) calc(var(--ag-spacing)*2);overflow:hidden;padding:calc(var(--ag-spacing)*2);position:absolute}";var mG=()=>{return FZ({feature:"columnDropStyle",css:uG})},T1=mG();var cG={formulaToken1Color:"#3269c6",formulaToken1BackgroundColor:{ref:"formulaToken1Color",mix:0.08},formulaToken1Border:{color:{ref:"formulaToken1Color"}},formulaToken2Color:"#c0343f",formulaToken2BackgroundColor:{ref:"formulaToken2Color",mix:0.06},formulaToken2Border:{color:{ref:"formulaToken2Color"}},formulaToken3Color:"#8156b8",formulaToken3BackgroundColor:{ref:"formulaToken3Color",mix:0.08},formulaToken3Border:{color:{ref:"formulaToken3Color"}},formulaToken4Color:"#007c1f",formulaToken4BackgroundColor:{ref:"formulaToken4Color",mix:0.06},formulaToken4Border:{color:{ref:"formulaToken4Color"}},formulaToken5Color:"#b03e85",formulaToken5BackgroundColor:{ref:"formulaToken5Color",mix:0.08},formulaToken5Border:{color:{ref:"formulaToken5Color"}},formulaToken6Color:"#b74900",formulaToken6BackgroundColor:{ref:"formulaToken6Color",mix:0.06},formulaToken6Border:{color:{ref:"formulaToken6Color"}},formulaToken7Color:"#247492",formulaToken7BackgroundColor:{ref:"formulaToken7Color",mix:0.08},formulaToken7Border:{color:{ref:"formulaToken7Color"}}},pG=()=>FZ({feature:"formulaStyle",params:cG}),iG=pG(),dG={warn:(...J)=>{O(J[0],J[1])},error:(...J)=>{e(J[0],J[1])},preInitErr:(...J)=>{x2(J[0],J[2],J[1])}},nG=()=>MG(dG).withParams(IG).withPart(hG).withPart(T1).withPart(yG).withPart(iG),sG='.ag-checkbox-input-wrapper,.ag-radio-button-input-wrapper{background-color:var(--ag-checkbox-unchecked-background-color);border:solid var(--ag-checkbox-border-width) var(--ag-checkbox-unchecked-border-color);flex:none;height:var(--ag-icon-size);position:relative;width:var(--ag-icon-size);&:where(.ag-checked){background-color:var(--ag-checkbox-checked-background-color);border-color:var(--ag-checkbox-checked-border-color)}&:where(.ag-checked):after{background-color:var(--ag-checkbox-checked-shape-color)}&:where(.ag-disabled){filter:grayscale();opacity:.5}}.ag-checkbox-input,.ag-radio-button-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:block;height:var(--ag-icon-size);margin:0;opacity:0;width:var(--ag-icon-size)}.ag-checkbox-input-wrapper:after,.ag-radio-button-input-wrapper:after{content:"";display:block;inset:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none;position:absolute}.ag-checkbox-input-wrapper:where(:focus-within,:active),.ag-radio-button-input-wrapper:where(:focus-within,:active){box-shadow:var(--ag-focus-shadow)}.ag-checkbox-input-wrapper{border-radius:var(--ag-checkbox-border-radius);&:where(.ag-checked):after{-webkit-mask-image:var(--ag-checkbox-checked-shape-image);mask-image:var(--ag-checkbox-checked-shape-image)}&:where(.ag-indeterminate){background-color:var(--ag-checkbox-indeterminate-background-color);border-color:var(--ag-checkbox-indeterminate-border-color)}&:where(.ag-indeterminate):after{background-color:var(--ag-checkbox-indeterminate-shape-color);-webkit-mask-image:var(--ag-checkbox-indeterminate-shape-image);mask-image:var(--ag-checkbox-indeterminate-shape-image)}}.ag-cell-editing-error .ag-checkbox-input-wrapper:focus-within{box-shadow:var(--ag-focus-error-shadow)}.ag-radio-button-input-wrapper{border-radius:100%;&:where(.ag-checked):after{-webkit-mask-image:var(--ag-radio-checked-shape-image);mask-image:var(--ag-radio-checked-shape-image)}}',rG=()=>FZ({feature:"checkboxStyle",params:{checkboxBorderWidth:1,checkboxBorderRadius:{ref:"borderRadius"},checkboxUncheckedBackgroundColor:yJ,checkboxUncheckedBorderColor:oJ(0.3),checkboxCheckedBackgroundColor:MZ,checkboxCheckedBorderColor:{ref:"checkboxCheckedBackgroundColor"},checkboxCheckedShapeImage:{svg:''},checkboxCheckedShapeColor:yJ,checkboxIndeterminateBackgroundColor:oJ(0.3),checkboxIndeterminateBorderColor:{ref:"checkboxIndeterminateBackgroundColor"},checkboxIndeterminateShapeImage:{svg:''},checkboxIndeterminateShapeColor:yJ,radioCheckedShapeImage:{svg:''}},css:sG}),tG=rG();var v1=()=>({...W6,...CG,backgroundColor:"hsl(217, 0%, 17%)",foregroundColor:"#FFF",chromeBackgroundColor:oJ(0.05),rowHoverColor:AZ(0.15),selectedRowBackgroundColor:AZ(0.2),menuBackgroundColor:oJ(0.1),browserColorScheme:"dark",popupShadow:"0 0px 20px #000A",cardShadow:"0 1px 4px 1px #000A",advancedFilterBuilderJoinPillColor:"#7a3a37",advancedFilterBuilderColumnPillColor:"#355f2d",advancedFilterBuilderOptionPillColor:"#5a3168",advancedFilterBuilderValuePillColor:"#374c86",filterPanelApplyButtonColor:T0,columnPanelApplyButtonColor:T0,findMatchColor:yJ,findActiveMatchColor:yJ,checkboxUncheckedBorderColor:oJ(0.4),toggleButtonOffBackgroundColor:oJ(0.4),rowBatchEditBackgroundColor:oJ(0.1),formulaToken1Color:"#4da3e5",formulaToken2Color:"#f55864",formulaToken3Color:"#b688f2",formulaToken4Color:"#24bb4a",formulaToken5Color:"#e772ba",formulaToken6Color:"#f69b5f",formulaToken7Color:"#a3e6ff"});var lG=()=>({...v1(),backgroundColor:"#1f2836"});var aG=()=>FZ({feature:"colorScheme",params:W6,modeParams:{light:W6,dark:v1(),"dark-blue":lG()}}),oG=aG();var I1={aggregation:'',arrows:'',asc:'',cancel:'',chart:'',"color-picker":'',columns:'',contracted:'',copy:'',cross:'',csv:'',cut:'',desc:'',down:'',excel:'',expanded:'',eye:'',"eye-slash":'',filter:'',first:'',grip:'',group:'',last:'',left:'',linked:'',loading:'',maximize:'',menu:'',"menu-alt":'',minimize:'',minus:'',next:'',none:'',"not-allowed":'',paste:'',pin:'',pivot:'',plus:'',previous:'',right:'',save:'',settings:'',"small-left":'',"small-right":'',tick:'',"tree-closed":'',"tree-indeterminate":'',"tree-open":'',unlinked:'',up:''},b1={aasc:'',adesc:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"column-arrow":'',edit:'',"filter-add":'',"pinned-bottom":'',"pinned-top":'',"small-down":'',"small-up":'',"un-pin":''},eG=(J={})=>{let Z="";for(let $ of[...Object.keys(I1),...Object.keys(b1)]){let X=JB($,J.strokeWidth);Z+=`.ag-icon-${$}::before { mask-image: url('data:image/svg+xml,${encodeURIComponent(X)}'); } `}return Z},JB=(J,Z=1.5)=>{let $=b1[J];if($)return $;let X=I1[J];if(!X)throw Error(`Missing icon data for ${J}`);return``+X+""},C1=(J={})=>{return FZ({feature:"iconSet",css:()=>eG(J)})},ZB=C1({strokeWidth:1}),$B=C1();var XB=":where(.ag-input-field-input[type=number]:not(.ag-number-field-input-stepper)){-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}}.ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){background-color:var(--ag-input-background-color);border:var(--ag-input-border);border-radius:var(--ag-input-border-radius);color:var(--ag-input-text-color);font-family:inherit;font-size:inherit;line-height:inherit;margin:0;min-height:var(--ag-input-height);padding:0;&:where(:disabled){background-color:var(--ag-input-disabled-background-color);border:var(--ag-input-disabled-border);color:var(--ag-input-disabled-text-color)}&:where(:focus){background-color:var(--ag-input-focus-background-color);border:var(--ag-input-focus-border);box-shadow:var(--ag-input-focus-shadow);color:var(--ag-input-focus-text-color);outline:none}&:where(:invalid){background-color:var(--ag-input-invalid-background-color);border:var(--ag-input-invalid-border);color:var(--ag-input-invalid-text-color)}&:where(.invalid){background-color:var(--ag-input-invalid-background-color);border:var(--ag-input-invalid-border);color:var(--ag-input-invalid-text-color)}&::-moz-placeholder{color:var(--ag-input-placeholder-text-color)}&::placeholder{color:var(--ag-input-placeholder-text-color)}}:where(.ag-ltr) .ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){padding-left:var(--ag-input-padding-start)}:where(.ag-rtl) .ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){padding-right:var(--ag-input-padding-start)}&:where(.ag-ltr,.ag-rtl) .ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){padding:0 var(--ag-input-padding-start)}:where(.ag-column-select-header-filter-wrapper),:where(.ag-filter-add-select),:where(.ag-filter-filter),:where(.ag-filter-toolpanel-search),:where(.ag-floating-filter-search-icon),:where(.ag-mini-filter){.ag-input-wrapper:before{background-color:currentcolor;color:var(--ag-input-icon-color);content:\"\";display:block;height:12px;-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNS4zIDlhMy43IDMuNyAwIDEgMCAwLTcuNSAzLjcgMy43IDAgMCAwIDAgNy41Wk0xMC41IDEwLjUgOC4zIDguMiIvPjwvc3ZnPg==\");mask-image:url(\"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNS4zIDlhMy43IDMuNyAwIDEgMCAwLTcuNSAzLjcgMy43IDAgMCAwIDAgNy41Wk0xMC41IDEwLjUgOC4zIDguMiIvPjwvc3ZnPg==\");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;opacity:.5;position:absolute;width:12px}}:where(.ag-ltr) :where(.ag-column-select-header-filter-wrapper),:where(.ag-ltr) :where(.ag-filter-add-select),:where(.ag-ltr) :where(.ag-filter-filter),:where(.ag-ltr) :where(.ag-filter-toolpanel-search),:where(.ag-ltr) :where(.ag-floating-filter-search-icon),:where(.ag-ltr) :where(.ag-mini-filter){.ag-input-wrapper:before{margin-left:var(--ag-spacing)}.ag-number-field-input,.ag-text-field-input{padding-left:calc(var(--ag-spacing)*1.5 + 12px)}}:where(.ag-rtl) :where(.ag-column-select-header-filter-wrapper),:where(.ag-rtl) :where(.ag-filter-add-select),:where(.ag-rtl) :where(.ag-filter-filter),:where(.ag-rtl) :where(.ag-filter-toolpanel-search),:where(.ag-rtl) :where(.ag-floating-filter-search-icon),:where(.ag-rtl) :where(.ag-mini-filter){.ag-input-wrapper:before{margin-right:var(--ag-spacing)}.ag-number-field-input,.ag-text-field-input{padding-right:calc(var(--ag-spacing)*1.5 + 12px)}}",YB=".ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){&:focus{box-shadow:var(--ag-focus-shadow);&:where(.invalid),&:where(:invalid){box-shadow:var(--ag-focus-error-shadow)}}}";var QB={inputBackgroundColor:"transparent",inputBorder:!1,inputBorderRadius:0,inputTextColor:{ref:"textColor"},inputPlaceholderTextColor:{ref:"inputTextColor",mix:0.5},inputPaddingStart:0,inputHeight:{calc:"max(iconSize, fontSize) + spacing * 2"},inputFocusBackgroundColor:{ref:"inputBackgroundColor"},inputFocusBorder:{ref:"inputBorder"},inputFocusShadow:"none",inputFocusTextColor:{ref:"inputTextColor"},inputDisabledBackgroundColor:{ref:"inputBackgroundColor"},inputDisabledBorder:{ref:"inputBorder"},inputDisabledTextColor:{ref:"inputTextColor"},inputInvalidBackgroundColor:{ref:"inputBackgroundColor"},inputInvalidBorder:{ref:"inputBorder"},inputInvalidTextColor:{ref:"inputTextColor"},inputIconColor:{ref:"inputTextColor"},pickerButtonBorder:!1,pickerButtonFocusBorder:{ref:"inputFocusBorder"},pickerButtonBackgroundColor:{ref:"backgroundColor"},pickerButtonFocusBackgroundColor:{ref:"backgroundColor"},pickerListBorder:!1,pickerListBackgroundColor:{ref:"backgroundColor"},colorPickerThumbSize:18,colorPickerTrackSize:12,colorPickerThumbBorderWidth:3,colorPickerTrackBorderRadius:12,colorPickerColorBorderRadius:4};var qB=()=>FZ({feature:"inputStyle",params:{...QB,inputBackgroundColor:yJ,inputBorder:!0,inputBorderRadius:{ref:"borderRadius"},inputPaddingStart:{ref:"spacing"},inputFocusBorder:{color:MZ},inputFocusShadow:{ref:"focusShadow"},inputDisabledBackgroundColor:oJ(0.06),inputDisabledTextColor:{ref:"textColor",mix:0.5},inputInvalidBorder:{color:{ref:"invalidColor"}},pickerButtonBorder:!0,pickerListBorder:!0},css:()=>XB+YB}),HB=qB();var _B=".ag-tabs-header{background-color:var(--ag-tab-bar-background-color);border-bottom:var(--ag-tab-bar-border);display:flex;flex:1;gap:var(--ag-tab-spacing);padding:var(--ag-tab-bar-top-padding) var(--ag-tab-bar-horizontal-padding) 0}.ag-tabs-header-wrapper{display:flex}.ag-tabs-close-button-wrapper{align-items:center;border:0;display:flex;padding:var(--ag-spacing)}:where(.ag-ltr) .ag-tabs-close-button-wrapper{border-right:solid var(--ag-border-width) var(--ag-border-color)}:where(.ag-rtl) .ag-tabs-close-button-wrapper{border-left:solid var(--ag-border-width) var(--ag-border-color)}.ag-tabs-close-button{background-color:unset;border:0;cursor:pointer;padding:0}.ag-tab{align-items:center;background-color:var(--ag-tab-background-color);border-left:var(--ag-tab-selected-border-width) solid transparent;border-right:var(--ag-tab-selected-border-width) solid transparent;color:var(--ag-tab-text-color);cursor:pointer;display:flex;flex:1;justify-content:center;padding:var(--ag-tab-top-padding) var(--ag-tab-horizontal-padding) var(--ag-tab-bottom-padding);position:relative}.ag-tab:hover{background-color:var(--ag-tab-hover-background-color);color:var(--ag-tab-hover-text-color)}.ag-tab.ag-tab-selected{background-color:var(--ag-tab-selected-background-color);color:var(--ag-tab-selected-text-color)}:where(.ag-ltr) .ag-tab.ag-tab-selected:where(:not(:first-of-type)){border-left-color:var(--ag-tab-selected-border-color)}:where(.ag-rtl) .ag-tab.ag-tab-selected:where(:not(:first-of-type)){border-right-color:var(--ag-tab-selected-border-color)}:where(.ag-ltr) .ag-tab.ag-tab-selected:where(:not(:last-of-type)){border-right-color:var(--ag-tab-selected-border-color)}:where(.ag-rtl) .ag-tab.ag-tab-selected:where(:not(:last-of-type)){border-left-color:var(--ag-tab-selected-border-color)}.ag-tab:after{background-color:var(--ag-tab-selected-underline-color);bottom:0;content:\"\";display:block;height:var(--ag-tab-selected-underline-width);left:0;opacity:0;position:absolute;right:0;transition:opacity var(--ag-tab-selected-underline-transition-duration)}.ag-tab.ag-tab-selected:after{opacity:1}";var zB={tabBarBackgroundColor:"transparent",tabBarHorizontalPadding:0,tabBarTopPadding:0,tabBackgroundColor:"transparent",tabTextColor:{ref:"textColor"},tabHorizontalPadding:{ref:"spacing"},tabTopPadding:{ref:"spacing"},tabBottomPadding:{ref:"spacing"},tabSpacing:"0",tabHoverBackgroundColor:{ref:"tabBackgroundColor"},tabHoverTextColor:{ref:"tabTextColor"},tabSelectedBackgroundColor:{ref:"tabBackgroundColor"},tabSelectedTextColor:{ref:"tabTextColor"},tabSelectedBorderWidth:{ref:"borderWidth"},tabSelectedBorderColor:"transparent",tabSelectedUnderlineColor:"transparent",tabSelectedUnderlineWidth:0,tabSelectedUnderlineTransitionDuration:0,tabBarBorder:!1};var UB=()=>FZ({feature:"tabStyle",params:{...zB,tabBarBorder:!0,tabBarBackgroundColor:rJ(0.05),tabTextColor:{ref:"textColor",mix:0.7},tabSelectedTextColor:{ref:"textColor"},tabHoverTextColor:{ref:"textColor"},tabSelectedBorderColor:{ref:"borderColor"},tabSelectedBackgroundColor:yJ},css:_B}),WB=UB();var GB=()=>({fontFamily:[{googleFont:"IBM Plex Sans"},"-apple-system","BlinkMacSystemFont","Segoe UI","Roboto","Oxygen-Sans","Ubuntu"]}),BB=()=>nG().withPart(tG).withPart(oG).withPart($B).withPart(WB).withPart(HB).withPart(T1).withParams(GB()),x1=BB();var K0=(J,Z,$,X,Y)=>({changeKey:J,type:Z,defaultValue:$,noWarn:X,cacheDefault:Y}),KB=K0("cellHorizontalPadding","length",16),EB=K0("indentationLevel","length",0,!0,!0),LB=K0("rowGroupIndentSize","length",0),u$=K0("rowHeight","length",42),m$=K0("headerHeight","length",48),i7=K0("rowBorderWidth","border",1),c$=K0("pinnedRowBorderWidth","border",1),FB=K0("headerRowBorderWidth","border",1);function DB(J,Z){for(let $ of Z.sort((X,Y)=>X.moduleName.localeCompare(Y.moduleName))){let X=$.css;if(X)J.set(`module-${$.moduleName}`,X)}}var kB=class extends PG{initVariables(){this.addManagedPropertyListener("rowHeight",()=>this.refreshRowHeightVariable()),this.getSizeEl(u$),this.getSizeEl(m$),this.getSizeEl(i7),this.getSizeEl(c$),this.refreshRowBorderWidthVariable()}getPinnedRowBorderWidth(){return this.getCSSVariablePixelValue(c$)}getRowBorderWidth(){return this.getCSSVariablePixelValue(i7)}getHeaderRowBorderWidth(){return this.getCSSVariablePixelValue(FB)}getDefaultRowHeight(){return this.getCSSVariablePixelValue(u$)}getDefaultHeaderHeight(){return this.getCSSVariablePixelValue(m$)}getDefaultCellHorizontalPadding(){return this.getCSSVariablePixelValue(KB)}getCellPaddingLeft(){let J=this.getDefaultCellHorizontalPadding(),Z=this.getCSSVariablePixelValue(EB),$=this.getCSSVariablePixelValue(LB);return J-1+$*Z}getCellPadding(){let J=this.getDefaultCellHorizontalPadding()-1;return this.getCellPaddingLeft()+J}getDefaultColumnMinWidth(){return Math.min(36,this.getDefaultRowHeight())}refreshRowHeightVariable(){let{eRootDiv:J}=this,Z=J.style.getPropertyValue("--ag-line-height").trim(),$=this.gos.get("rowHeight");if($==null||isNaN($)||!isFinite($)){if(Z!==null)J.style.setProperty("--ag-line-height",null);return-1}let X=`${$}px`;if(Z!=X)return J.style.setProperty("--ag-line-height",X),$;return Z!=""?Number.parseFloat(Z):-1}fireStylesChangedEvent(J){if(J==="rowBorderWidth")this.refreshRowBorderWidthVariable();super.fireStylesChangedEvent(J)}refreshRowBorderWidthVariable(){let J=this.getCSSVariablePixelValue(i7);this.eRootDiv.style.setProperty("--ag-internal-row-border-width",`${J}px`)}postProcessThemeChange(J,Z){if(J&&getComputedStyle(this.getMeasurementContainer()).getPropertyValue("--ag-legacy-styles-loaded"))if(Z)e(106);else e(239)}getAdditionalCss(){let J=new Map;return J.set("core",[vG]),DB(J,Array.from(BH())),J}getDefaultTheme(){return x1}varError(J,Z){O(9,{variable:{cssName:J,defaultValue:Z}})}themeError(J){e(240,{theme:J})}shadowRootError(){e(293)}},VB=class extends RJ{constructor(){super(...arguments);this.beanName="eventSvc",this.eventServiceType="global",this.globalSvc=new EZ}addListener(J,Z,$){this.globalSvc.addEventListener(J,Z,$)}removeListener(J,Z,$){this.globalSvc.removeEventListener(J,Z,$)}addGlobalListener(J,Z=!1){this.globalSvc.addGlobalListener(J,Z)}removeGlobalListener(J,Z=!1){this.globalSvc.removeGlobalListener(J,Z)}dispatchEvent(J){this.globalSvc.dispatchEvent(this.gos.addCommon(J))}dispatchEventOnce(J){this.globalSvc.dispatchEventOnce(this.gos.addCommon(J))}},jB=class extends VB{postConstruct(){let{globalListener:J,globalSyncListener:Z}=this.beans;if(J)this.addGlobalListener(J,!0);if(Z)this.addGlobalListener(Z,!1)}};function B8(J,Z,$){let X=J.visibleCols.headerGroupRowCount;if($>=X)return{column:Z,headerRowIndex:$};let Y=Z.getParent();while(Y&&Y.getProvidedColumnGroup().getLevel()>$)Y=Y.getParent();let Q=Z.isSpanHeaderHeight();if(!Y||Q&&Y.isPadding())return{column:Z,headerRowIndex:X};return{column:Y,headerRowIndex:Y.getProvidedColumnGroup().getLevel()}}var AB=class extends M{constructor(){super(...arguments);this.beanName="headerNavigation",this.currentHeaderRowWithoutSpan=-1}postConstruct(){let J=this.beans;J.ctrlsSvc.whenReady(this,($)=>{this.gridBodyCon=$.gridBodyCtrl});let Z=qJ(J);this.addManagedElementListeners(Z,{mousedown:()=>{this.currentHeaderRowWithoutSpan=-1}})}getHeaderPositionForColumn(J,Z){let $,{colModel:X,colGroupSvc:Y,ctrlsSvc:Q}=this.beans;if(typeof J==="string"){if($=X.getCol(J),!$)$=Y?.getColumnGroup(J)??null}else $=J;if(!$)return null;let H=Q.getHeaderRowContainerCtrl()?.getAllCtrls(),_=C(H||[]).type==="filter",z=lJ(this.beans)-1,U=-1,W=$;while(W)U++,W=W.getParent();let G=U;if(Z&&_&&G===z-1)G++;return G===-1?null:{headerRowIndex:G,column:$}}navigateVertically(J,Z){let{focusSvc:$,visibleCols:X}=this.beans,{focusedHeader:Y}=$;if(!Y)return!1;let{headerRowIndex:Q}=Y,q=Y.column,H=lJ(this.beans),_=this.getHeaderRowType(Q),z=X.headerGroupRowCount,{headerRowIndex:U,column:W,headerRowIndexWithoutSpan:G}=J==="UP"?MB(_,q,Q):RB(q,Q,z),B=!1;if(U<0)U=0,W=q,B=!0;if(U>=H)U=-1,this.currentHeaderRowWithoutSpan=-1;else if(G!==void 0)this.currentHeaderRowWithoutSpan=G;if(!B&&!W)return!1;return $.focusHeaderPosition({headerPosition:{headerRowIndex:U,column:W},allowUserOverride:!0,event:Z})}navigateHorizontally(J,Z=!1,$){let{focusSvc:X,gos:Y}=this.beans,Q={...X.focusedHeader},q,H;if(this.currentHeaderRowWithoutSpan!==-1)Q.headerRowIndex=this.currentHeaderRowWithoutSpan;else this.currentHeaderRowWithoutSpan=Q.headerRowIndex;if(J==="LEFT"!==Y.get("enableRtl"))H="Before",q=this.findHeader(Q,H);else H="After",q=this.findHeader(Q,H);let _=Y.getCallback("tabToNextHeader");if(Z&&_){let z=X.focusHeaderPositionFromUserFunc({userFunc:_,headerPosition:q,direction:H});if(z){let{headerRowIndex:U}=X.focusedHeader||{};if(U!=null&&U!=Q.headerRowIndex)this.currentHeaderRowWithoutSpan=U}return z}if(q||!Z)return X.focusHeaderPosition({headerPosition:q,direction:H,fromTab:Z,allowUserOverride:!0,event:$});return this.focusNextHeaderRow(Q,H,$)}focusNextHeaderRow(J,Z,$){let X=this.beans,Y=J.headerRowIndex,Q=null,q,H=lJ(X),_=this.beans.visibleCols.allCols;if(Z==="Before"){if(Y<=0)return!1;Q=C(_),q=Y-1,this.currentHeaderRowWithoutSpan-=1}else if(Q=_[0],q=Y+1,this.currentHeaderRowWithoutSpan=H)U=-1;return X.focusSvc.focusHeaderPosition({headerPosition:{column:z,headerRowIndex:U},direction:Z,fromTab:!0,allowUserOverride:!0,event:$})}scrollToColumn(J,Z="After"){if(J.getPinned())return;let $;if(UJ(J)){let X=J.getDisplayedLeafColumns();$=Z==="Before"?C(X):X[0]}else $=J;this.gridBodyCon.scrollFeature.ensureColumnVisible($)}findHeader(J,Z){let{colGroupSvc:$,visibleCols:X}=this.beans,Y=J.column;if(Y instanceof a2){let _=Y.getDisplayedLeafColumns();Y=Z==="Before"?_[0]:_[_.length-1]}let Q=Z==="Before"?X.getColBefore(Y):X.getColAfter(Y);if(!Q)return;let q=X.headerGroupRowCount;if(J.headerRowIndex>=q)return{headerRowIndex:J.headerRowIndex,column:Q};let H=$?.getColGroupAtLevel(Q,J.headerRowIndex);if(!H)return{headerRowIndex:Q instanceof HZ&&Q.isSpanHeaderHeight()?X.headerGroupRowCount:J.headerRowIndex,column:Q};if(H.isPadding()&&Q.isSpanHeaderHeight())return{headerRowIndex:X.headerGroupRowCount,column:Q};return{headerRowIndex:J.headerRowIndex,column:H??Q}}getHeaderRowType(J){let Z=this.beans.ctrlsSvc.getHeaderRowContainerCtrl();if(Z)return Z.getRowType(J)}};function MB(J,Z,$){let X=$-1;if(J!=="filter"){let Y=Z instanceof HZ&&Z.isSpanHeaderHeight(),Q=Z.getParent();while(Q&&(Q.getProvidedColumnGroup().getLevel()>X||Y&&Q.isPadding()))Q=Q.getParent();if(Q)if(Y)return{column:Q,headerRowIndex:Q.getProvidedColumnGroup().getLevel(),headerRowIndexWithoutSpan:X};else return{column:Q,headerRowIndex:X,headerRowIndexWithoutSpan:X}}return{column:Z,headerRowIndex:X,headerRowIndexWithoutSpan:X}}function RB(J,Z,$){let X=Z+1,Y={column:J,headerRowIndex:X,headerRowIndexWithoutSpan:X};if(J instanceof a2){if(X>=$)return{column:J.getDisplayedLeafColumns()[0],headerRowIndex:$,headerRowIndexWithoutSpan:X};let q=J.getDisplayedChildren()[0];if(q instanceof a2&&q.isPadding()){let _=q.getDisplayedLeafColumns()[0];if(_.isSpanHeaderHeight())q=_}if(Y.column=q,q instanceof HZ&&q.isSpanHeaderHeight())Y.headerRowIndex=$,Y.headerRowIndexWithoutSpan=X}return Y}var OB=class extends M{constructor(){super(...arguments);this.beanName="focusSvc",this.focusFallbackTimeout=null,this.needsFocusRestored=!1}wireBeans(J){this.colModel=J.colModel,this.visibleCols=J.visibleCols,this.rowRenderer=J.rowRenderer,this.navigation=J.navigation,this.filterManager=J.filterManager,this.overlays=J.overlays}postConstruct(){let J=this.clearFocusedCell.bind(this);this.addManagedEventListeners({columnPivotModeChanged:J,newColumnsLoaded:this.onColumnEverythingChanged.bind(this),columnGroupOpened:J,columnRowGroupChanged:J}),this.addDestroyFunc(I_(this.beans))}attemptToRecoverFocus(){if(this.needsFocusRestored=!0,this.focusFallbackTimeout!=null)clearTimeout(this.focusFallbackTimeout);this.focusFallbackTimeout=window.setTimeout(this.setFocusRecovered.bind(this),100)}setFocusRecovered(){if(this.needsFocusRestored=!1,this.focusFallbackTimeout!=null)clearTimeout(this.focusFallbackTimeout),this.focusFallbackTimeout=null}shouldTakeFocus(){if(this.gos.get("suppressFocusAfterRefresh"))return this.setFocusRecovered(),!1;if(this.needsFocusRestored)return this.setFocusRecovered(),!0;return this.doesRowOrCellHaveBrowserFocus()}onColumnEverythingChanged(){if(!this.focusedCell)return;let J=this.focusedCell.column,Z=this.colModel.getCol(J.getId());if(J!==Z)this.clearFocusedCell()}getFocusCellToUseAfterRefresh(){let{gos:J,focusedCell:Z}=this;if(J.get("suppressFocusAfterRefresh")||J.get("suppressCellFocus")||!Z)return null;if(!this.doesRowOrCellHaveBrowserFocus())return null;return Z}getFocusHeaderToUseAfterRefresh(){if(this.gos.get("suppressFocusAfterRefresh")||!this.focusedHeader)return null;if(!this.isDomDataPresentInHierarchy(n(this.beans),dY))return null;return this.focusedHeader}doesRowOrCellHaveBrowserFocus(){let J=n(this.beans);if(this.isDomDataPresentInHierarchy(J,_6,!0))return!0;return this.isDomDataPresentInHierarchy(J,z6,!0)}isDomDataPresentInHierarchy(J,Z,$){let X=J;while(X){let Y=$Y(this.gos,X,Z);if(Y){if(Y.destroyed&&$)return this.attemptToRecoverFocus(),!1;return!0}X=X.parentNode}return!1}getFocusedCell(){return this.focusedCell}getFocusEventParams(J){let{rowIndex:Z,rowPinned:$,column:X}=J,Y={rowIndex:Z,rowPinned:$,column:X,isFullWidthCell:!1},Q=this.rowRenderer.getRowByPosition({rowIndex:Z,rowPinned:$});if(Q)Y.isFullWidthCell=Q.isFullWidth();return Y}clearFocusedCell(){if(this.focusedCell==null)return;let J=this.getFocusEventParams(this.focusedCell);this.focusedCell=null,this.eventSvc.dispatchEvent({type:"cellFocusCleared",...J})}setFocusedCell(J){this.setFocusRecovered();let{column:Z,rowIndex:$,rowPinned:X,forceBrowserFocus:Y=!1,preventScrollOnBrowserFocus:Q=!1,sourceEvent:q}=J,H=this.colModel.getCol(Z);if(!H){this.focusedCell=null;return}this.focusedCell={rowIndex:$,rowPinned:OZ(X),column:H};let _=this.getFocusEventParams(this.focusedCell);this.eventSvc.dispatchEvent({type:"cellFocused",..._,...this.previousCellFocusParams&&{previousParams:this.previousCellFocusParams},forceBrowserFocus:Y,preventScrollOnBrowserFocus:Q,sourceEvent:q}),this.previousCellFocusParams=_}isCellFocused(J){if(this.focusedCell==null)return!1;return A2(J,this.focusedCell)}isHeaderWrapperFocused(J){if(this.focusedHeader==null)return!1;let{column:Z,rowCtrl:{rowIndex:$,pinned:X}}=J,{column:Y,headerRowIndex:Q}=this.focusedHeader;return Z===Y&&$===Q&&X==Y.getPinned()}focusHeaderPosition(J){if(this.setFocusRecovered(),UZ(this.beans))return!1;let{direction:Z,fromTab:$,allowUserOverride:X,event:Y,fromCell:Q,rowWithoutSpanValue:q,scroll:H=!0}=J,{headerPosition:_}=J;if(Q&&this.filterManager?.isAdvFilterHeaderActive())return this.focusAdvancedFilter(_);if(X){let z=this.focusedHeader,U=lJ(this.beans);if($){let W=this.gos.getCallback("tabToNextHeader");if(W)_=this.getHeaderPositionFromUserFunc({userFunc:W,direction:Z,currentPosition:z,headerPosition:_,headerRowCount:U})}else{let W=this.gos.getCallback("navigateToNextHeader");if(W&&Y){let G={key:Y.key,previousHeaderPosition:z,nextHeaderPosition:_,headerRowCount:U,event:Y},B=W(G);_=B===null?z:B}}}if(!_)return!1;return this.focusProvidedHeaderPosition({headerPosition:_,direction:Z,event:Y,fromCell:Q,rowWithoutSpanValue:q,scroll:H})}focusHeaderPositionFromUserFunc(J){if(UZ(this.beans))return!1;let{userFunc:Z,headerPosition:$,direction:X,event:Y}=J,Q=this.focusedHeader,q=lJ(this.beans),H=this.getHeaderPositionFromUserFunc({userFunc:Z,direction:X,currentPosition:Q,headerPosition:$,headerRowCount:q});return!!H&&this.focusProvidedHeaderPosition({headerPosition:H,direction:X,event:Y})}getHeaderPositionFromUserFunc(J){let{userFunc:Z,direction:$,currentPosition:X,headerPosition:Y,headerRowCount:Q}=J,H=Z({backwards:$==="Before",previousHeaderPosition:X,nextHeaderPosition:Y,headerRowCount:Q});if(H===!0)return X;if(H===!1)return null;return H}focusProvidedHeaderPosition(J){let{headerPosition:Z,direction:$,fromCell:X,rowWithoutSpanValue:Y,event:Q,scroll:q=!0}=J,{column:H,headerRowIndex:_}=Z,{filterManager:z,ctrlsSvc:U,headerNavigation:W}=this.beans;if(this.focusedHeader&&$z(J.headerPosition,this.focusedHeader))return!1;if(_===-1){if(z?.isAdvFilterHeaderActive())return this.focusAdvancedFilter(Z);return this.focusGridView({column:H,event:Q})}if(q)W?.scrollToColumn(H,$);let B=U.getHeaderRowContainerCtrl(H.getPinned())?.focusHeader(Z.headerRowIndex,H,Q)||!1;if(W&&B&&(Y!=null||X))W.currentHeaderRowWithoutSpan=Y??-1;return B}focusFirstHeader(){if(this.overlays?.exclusive&&this.focusOverlay())return!0;let J=this.visibleCols.allCols[0];if(!J)return!1;let Z=B8(this.beans,J,0);return this.focusHeaderPosition({headerPosition:Z,rowWithoutSpanValue:0})}focusLastHeader(J){if(this.overlays?.exclusive&&this.focusOverlay(!0))return!0;let Z=lJ(this.beans)-1,$=C(this.visibleCols.allCols);return this.focusHeaderPosition({headerPosition:{headerRowIndex:Z,column:$},rowWithoutSpanValue:-1,event:J})}focusPreviousFromFirstCell(J){if(this.filterManager?.isAdvFilterHeaderActive())return this.focusAdvancedFilter(null);return this.focusLastHeader(J)}isAnyCellFocused(){return!!this.focusedCell}isRowFocused(J,Z){if(this.focusedCell==null)return!1;return this.focusedCell.rowIndex===J&&this.focusedCell.rowPinned===OZ(Z)}focusOverlay(J){let Z=this.overlays?.isVisible()&&this.overlays.eWrapper?.getGui();return!!Z&&DJ(Z,J)}getDefaultTabToNextGridContainerTarget(J){let{backwards:Z,focusableContainers:$}=J,X=Z?-1:1,Y,Q=()=>{if(Y===void 0)Y=this.getGridBodyTabTarget(Z);return Y};for(let q=J.nextIndex;q>=0&&q<$.length;q+=X){let H=a_($[q],Q);if(H)return H}return null}getGridBodyTabTarget(J){if(J)return this.getGridViewTabTarget({column:C(this.visibleCols.allCols),backwards:!0});let Z=this.visibleCols.allCols[0];if(this.gos.get("headerHeight")===0||UZ(this.beans))return this.getGridViewTabTarget({column:Z});if(!Z)return null;return B8(this.beans,Z,0)}getGridViewTabTarget(J){let{backwards:Z=!1}=J,$=J.column??this.focusedHeader?.column;if(!$)return null;if(this.overlays?.exclusive)return null;if(H6(this.beans))return Z&&!UZ(this.beans)?{headerRowIndex:lJ(this.beans)-1,column:$}:null;let X=Z?H0(this.beans):E2(this.beans);if(X?.rowIndex==null){if(this.overlays?.isVisible())return null;if(Z&&!UZ(this.beans)){let Q=C(this.visibleCols.allCols);if(Q)return{headerRowIndex:lJ(this.beans)-1,column:Q}}return null}let Y=kJ(this.beans,X);if(!Y||$.isSuppressNavigable(Y))return null;if(Z){if(this.rowRenderer.getRowByPosition(X)?.isFullWidth())return null}return{rowIndex:X.rowIndex,rowPinned:X.rowPinned,column:$}}focusGridView(J){let{backwards:Z=!1,canFocusOverlay:$=!0,event:X}=J;if(this.overlays?.exclusive)return $&&this.focusOverlay(Z);if(H6(this.beans)){if(Z){if(!UZ(this.beans))return this.focusLastHeader()}if($&&this.focusOverlay(Z))return!0;if(Z)return!1;return YZ(this.beans,Z)}let Y=Z?H0(this.beans):E2(this.beans);if(Y){let Q=J.column??this.focusedHeader?.column,{rowIndex:q,rowPinned:H}=Y,_=kJ(this.beans,Y);if(!Q||!_||q==null)return!1;if(Q.isSuppressNavigable(_)){let z=this.gos.get("enableRtl"),U;if(!X||X.key===V.TAB)U=z?V.LEFT:V.RIGHT;else U=X.key;return this.beans.navigation?.navigateToNextCell(null,U,{rowIndex:q,column:Q,rowPinned:H||null},!0),!0}if(this.navigation?.ensureCellVisible({rowIndex:q,column:Q,rowPinned:H}),Z){if(this.rowRenderer.getRowByPosition(Y)?.isFullWidth()&&this.navigation?.tryToFocusFullWidthRow(Y,Z))return!0}if(this.setFocusedCell({rowIndex:q,column:Q,rowPinned:OZ(H),forceBrowserFocus:!0}),!vJ(Q))this.beans.rangeSvc?.setRangeToCell({rowIndex:q,rowPinned:H,column:Q});return!0}if($&&this.focusOverlay(Z))return!0;if(Z&&this.focusLastHeader())return!0;return!1}focusAdvancedFilter(J){return this.advFilterFocusColumn=J?.column,this.beans.advancedFilter?.getCtrl().focusHeaderComp()??!1}focusNextFromAdvancedFilter(J,Z){let $=(Z?void 0:this.advFilterFocusColumn)??this.visibleCols.allCols?.[0];if(J)return this.focusHeaderPosition({headerPosition:{column:$,headerRowIndex:lJ(this.beans)-1}});return this.focusGridView({column:$})}clearAdvancedFilterColumn(){this.advFilterFocusColumn=void 0}},SB=class extends M{constructor(){super(...arguments);this.beanName="scrollVisibleSvc"}wireBeans(J){this.ctrlsSvc=J.ctrlsSvc,this.colAnimation=J.colAnimation}postConstruct(){let{gos:J}=this;this.horizontalScrollShowing=J.get("alwaysShowHorizontalScroll")===!0,this.verticalScrollShowing=J.get("alwaysShowVerticalScroll")===!0,this.getScrollbarWidth();let Z=this.updateScrollVisible.bind(this);this.addManagedEventListeners({displayedColumnsChanged:Z,displayedColumnsWidthChanged:Z,newColumnsLoaded:Z})}updateScrollVisible(){let{colAnimation:J}=this;if(J?.isActive())J.executeLaterVMTurn(()=>{J.executeLaterVMTurn(()=>this.updateScrollVisibleImpl())});else this.updateScrollVisibleImpl()}updateScrollVisibleImpl(){let J=this.ctrlsSvc.get("center");if(!J||this.colAnimation?.isActive())return;let Z={horizontalScrollShowing:J.isHorizontalScrollShowing(),verticalScrollShowing:this.verticalScrollShowing};this.setScrollsVisible(Z),this.updateScrollGap()}updateScrollGap(){let J=this.ctrlsSvc.get("center"),Z=J.hasHorizontalScrollGap(),$=J.hasVerticalScrollGap();if(this.horizontalScrollGap!==Z||this.verticalScrollGap!==$)this.horizontalScrollGap=Z,this.verticalScrollGap=$,this.eventSvc.dispatchEvent({type:"scrollGapChanged"})}setScrollsVisible(J){if(this.horizontalScrollShowing!==J.horizontalScrollShowing||this.verticalScrollShowing!==J.verticalScrollShowing)this.horizontalScrollShowing=J.horizontalScrollShowing,this.verticalScrollShowing=J.verticalScrollShowing,this.eventSvc.dispatchEvent({type:"scrollVisibilityChanged"})}getScrollbarWidth(){if(this.scrollbarWidth==null){let J=this.gos.get("scrollbarWidth"),$=typeof J==="number"&&J>=0?J:n8();if($!=null)this.scrollbarWidth=$,this.eventSvc.dispatchEvent({type:"scrollbarWidthChanged"})}return this.scrollbarWidth}},fB=class extends M{constructor(){super(...arguments);this.beanName="gridDestroySvc",this.destroyCalled=!1}destroy(){if(this.destroyCalled)return;let{stateSvc:J,ctrlsSvc:Z,context:$}=this.beans;this.eventSvc.dispatchEvent({type:"gridPreDestroyed",state:J?.getState()??{}}),this.destroyCalled=!0,Z.get("gridCtrl")?.destroyGridUi(),$.destroy(),super.destroy()}},PB=["columnEverythingChanged","newColumnsLoaded","columnPivotModeChanged","pivotMaxColumnsExceeded","columnRowGroupChanged","expandOrCollapseAll","columnPivotChanged","gridColumnsChanged","columnValueChanged","columnMoved","columnVisible","columnPinned","columnGroupOpened","columnResized","displayedColumnsChanged","virtualColumnsChanged","columnHeaderMouseOver","columnHeaderMouseLeave","columnHeaderClicked","columnHeaderContextMenu","asyncTransactionsFlushed","rowGroupOpened","rowDataUpdated","pinnedRowDataChanged","pinnedRowsChanged","rangeSelectionChanged","cellSelectionChanged","chartCreated","chartRangeSelectionChanged","chartOptionsChanged","chartDestroyed","toolPanelVisibleChanged","toolPanelSizeChanged","modelUpdated","cutStart","cutEnd","pasteStart","pasteEnd","fillStart","fillEnd","cellSelectionDeleteStart","cellSelectionDeleteEnd","rangeDeleteStart","rangeDeleteEnd","undoStarted","undoEnded","redoStarted","redoEnded","cellClicked","cellDoubleClicked","cellMouseDown","cellContextMenu","cellValueChanged","cellEditRequest","rowValueChanged","headerFocused","cellFocused","rowSelected","selectionChanged","tooltipShow","tooltipHide","cellKeyDown","cellMouseOver","cellMouseOut","filterChanged","filterModified","filterUiChanged","filterOpened","floatingFilterUiChanged","advancedFilterBuilderVisibleChanged","sortChanged","virtualRowRemoved","rowClicked","rowDoubleClicked","gridReady","gridPreDestroyed","gridSizeChanged","viewportChanged","firstDataRendered","dragStarted","dragStopped","dragCancelled","rowEditingStarted","rowEditingStopped","cellEditingStarted","cellEditingStopped","bodyScroll","bodyScrollEnd","paginationChanged","componentStateChanged","storeRefreshed","stateUpdated","columnMenuVisibleChanged","contextMenuVisibleChanged","rowDragEnter","rowDragMove","rowDragLeave","rowDragEnd","rowDragCancel","findChanged","rowResizeStarted","rowResizeEnded","columnsReset","bulkEditingStarted","bulkEditingStopped","batchEditingStarted","batchEditingStopped"];var t5=new Set(["gridPreDestroyed","fillStart","pasteStart"]),D9=PB.reduce((J,Z)=>{return J[Z]=bH(Z),J},{}),B2={agSetColumnFilter:"SetFilter",agSetColumnFloatingFilter:"SetFilter",agMultiColumnFilter:"MultiFilter",agMultiColumnFloatingFilter:"MultiFilter",agGroupColumnFilter:"GroupFilter",agGroupColumnFloatingFilter:"GroupFilter",agGroupCellRenderer:"GroupCellRenderer",agGroupRowRenderer:"GroupCellRenderer",agRichSelect:"RichSelect",agRichSelectCellEditor:"RichSelect",agDetailCellRenderer:"SharedMasterDetail",agSparklineCellRenderer:"Sparklines",agDragAndDropImage:"SharedDragAndDrop",agColumnHeader:"ColumnHeaderComp",agColumnGroupHeader:"ColumnGroupHeaderComp",agSortIndicator:"Sort",agAnimateShowChangeCellRenderer:"HighlightChanges",agAnimateSlideCellRenderer:"HighlightChanges",agLoadingCellRenderer:"LoadingCellRenderer",agSkeletonCellRenderer:"SkeletonCellRenderer",agCheckboxCellRenderer:"CheckboxCellRenderer",agLoadingOverlay:"Overlay",agExportingOverlay:"Overlay",agNoRowsOverlay:"Overlay",agNoMatchingRowsOverlay:"Overlay",agTooltipComponent:"Tooltip",agReadOnlyFloatingFilter:"CustomFilter",agTextColumnFilter:"TextFilter",agNumberColumnFilter:"NumberFilter",agBigIntColumnFilter:"BigIntFilter",agDateColumnFilter:"DateFilter",agDateInput:"DateFilter",agTextColumnFloatingFilter:"TextFilter",agNumberColumnFloatingFilter:"NumberFilter",agBigIntColumnFloatingFilter:"BigIntFilter",agDateColumnFloatingFilter:"DateFilter",agFormulaCellEditor:"Formula",agCellEditor:"TextEditor",agSelectCellEditor:"SelectEditor",agTextCellEditor:"TextEditor",agNumberCellEditor:"NumberEditor",agDateCellEditor:"DateEditor",agDateStringCellEditor:"DateEditor",agCheckboxCellEditor:"CheckboxEditor",agLargeTextCellEditor:"LargeTextEditor",agMenuItem:"MenuItem",agColumnsToolPanel:"ColumnsToolPanel",agFiltersToolPanel:"FiltersToolPanel",agNewFiltersToolPanel:"NewFiltersToolPanel",agAggregationComponent:"StatusBar",agSelectedRowCountComponent:"StatusBar",agTotalRowCountComponent:"StatusBar",agFilteredRowCountComponent:"StatusBar",agTotalAndFilteredRowCountComponent:"StatusBar",agFindCellRenderer:"Find"};function p$(J){return`"${J}"`}var TB=()=>({checkboxSelection:{version:"32.2",message:"Use `rowSelection.checkboxes` in `GridOptions` instead."},headerCheckboxSelection:{version:"32.2",message:"Use `rowSelection.headerCheckbox = true` in `GridOptions` instead."},headerCheckboxSelectionFilteredOnly:{version:"32.2",message:'Use `rowSelection.selectAll = "filtered"` in `GridOptions` instead.'},headerCheckboxSelectionCurrentPageOnly:{version:"32.2",message:'Use `rowSelection.selectAll = "currentPage"` in `GridOptions` instead.'},showDisabledCheckboxes:{version:"32.2",message:"Use `rowSelection.hideDisabledCheckboxes = true` in `GridOptions` instead."},rowGroupingHierarchy:{version:"34.3",message:"Use `colDef.groupHierarchy` instead."}}),vB={allowFormula:"Formula",aggFunc:"SharedAggregation",autoHeight:"RowAutoHeight",cellClass:"CellStyle",cellClassRules:"CellStyle",cellEditor:({cellEditor:J,editable:Z,groupRowEditable:$})=>{if(!(!!Z||!!$))return null;if(typeof J==="string")return B2[J]??"CustomEditor";return"CustomEditor"},cellRenderer:({cellRenderer:J})=>{if(typeof J!=="string")return null;return B2[J]},cellStyle:"CellStyle",columnChooserParams:"ColumnMenu",contextMenuItems:"ContextMenu",dndSource:"DragAndDrop",dndSourceOnRowDrag:"DragAndDrop",editable:({editable:J,cellEditor:Z})=>{if(J&&!Z)return"TextEditor";return null},groupRowEditable:({groupRowEditable:J,cellEditor:Z})=>{if(!J)return null;return Z?"RowGroupingEdit":["RowGroupingEdit","TextEditor"]},groupRowValueSetter:({groupRowValueSetter:J})=>J?"RowGroupingEdit":null,enableCellChangeFlash:"HighlightChanges",enablePivot:"SharedPivot",enableRowGroup:"SharedRowGrouping",enableValue:"SharedAggregation",filter:({filter:J})=>{if(J&&typeof J!=="string"&&typeof J!=="boolean")return"CustomFilter";if(typeof J==="string")return B2[J]??"ColumnFilter";return"ColumnFilter"},floatingFilter:"ColumnFilter",getQuickFilterText:"QuickFilter",headerTooltip:"Tooltip",headerTooltipValueGetter:"Tooltip",mainMenuItems:"ColumnMenu",menuTabs:(J)=>{let Z=["columnsMenuTab","generalMenuTab"];if(J.menuTabs?.some(($)=>Z.includes($)))return"ColumnMenu";return null},pivot:"SharedPivot",pivotIndex:"SharedPivot",rowDrag:"RowDrag",rowGroup:"SharedRowGrouping",rowGroupIndex:"SharedRowGrouping",tooltipField:"Tooltip",tooltipValueGetter:"Tooltip",tooltipComponentSelector:"Tooltip",spanRows:"CellSpan",groupHierarchy:"SharedRowGrouping"},IB=()=>{return{autoHeight:{supportedRowModels:["clientSide","serverSide"],validate:(Z,{paginationAutoPageSize:$})=>{if($)return"colDef.autoHeight is not supported with paginationAutoPageSize.";return null}},allowFormula:{supportedRowModels:["clientSide"]},cellRendererParams:{validate:(Z)=>{if((Z.rowGroup!=null||Z.rowGroupIndex!=null||Z.cellRenderer==="agGroupCellRenderer")&&"checkbox"in Z.cellRendererParams)return'Since v33.0, `cellRendererParams.checkbox` has been deprecated. Use `rowSelection.checkboxLocation = "autoGroupColumn"` instead.';return null}},flex:{validate:(Z,$)=>{if($.autoSizeStrategy)return"colDef.flex is not supported with gridOptions.autoSizeStrategy";return null}},headerCheckboxSelection:{supportedRowModels:["clientSide","serverSide"],validate:(Z,{rowSelection:$})=>$==="multiple"?null:"headerCheckboxSelection is only supported with rowSelection=multiple"},headerCheckboxSelectionCurrentPageOnly:{supportedRowModels:["clientSide"],validate:(Z,{rowSelection:$})=>$==="multiple"?null:"headerCheckboxSelectionCurrentPageOnly is only supported with rowSelection=multiple"},headerCheckboxSelectionFilteredOnly:{supportedRowModels:["clientSide"],validate:(Z,{rowSelection:$})=>$==="multiple"?null:"headerCheckboxSelectionFilteredOnly is only supported with rowSelection=multiple"},headerValueGetter:{validate:(Z)=>{let $=Z.headerValueGetter;if(typeof $==="function"||typeof $==="string")return null;return"headerValueGetter must be a function or a valid string expression"}},icons:{validate:({icons:Z})=>{if(Z){if(Z.smallDown)return JZ(262);if(Z.smallLeft)return JZ(263);if(Z.smallRight)return JZ(264)}return null}},sort:{validate:(Z)=>{if(W2(Z.sort)||Y0(Z.sort))return null;return`sort must be of type (SortDirection | SortDef), currently it is ${typeof Z.sort==="object"?JSON.stringify(Z.sort):i5(Z.sort)}`}},initialSort:{validate:(Z)=>{if(W2(Z.initialSort)||Y0(Z.initialSort))return null;return`initialSort must be of non-null type (SortDirection | SortDef), currently it is ${typeof Z.initialSort==="object"?JSON.stringify(Z.initialSort):i5(Z.initialSort)}`}},sortingOrder:{validate:(Z)=>{let $=Z.sortingOrder;if(Array.isArray($)&&$.length>0){let X=$.filter((Y)=>{return!(W2(Y)||Y0(Y))});if(X.length>0)return`sortingOrder must be an array of type non-null (SortDirection | SortDef)[], incorrect items are: [${X.map((Y)=>typeof Y==="string"||Y==null?i5(Y):JSON.stringify(Y)).join(", ")}]`}else if(!Array.isArray($)||!$.length)return`sortingOrder must be an array with at least one element, currently it is [${$}]`;return null}},type:{validate:(Z)=>{let $=Z.type;if($ instanceof Array){if($.some((Y)=>typeof Y!=="string"))return"if colDef.type is supplied an array it should be of type 'string[]'";return null}if(typeof $==="string")return null;return"colDef.type should be of type 'string' | 'string[]'"}},rowSpan:{validate:(Z,{suppressRowTransform:$})=>{if(!$)return"colDef.rowSpan requires suppressRowTransform to be enabled.";return null}},spanRows:{dependencies:{editable:{required:[!1,void 0]},groupRowEditable:{required:[!1,void 0]},rowDrag:{required:[!1,void 0]},colSpan:{required:[void 0]},rowSpan:{required:[void 0]}},validate:(Z,{rowSelection:$,cellSelection:X,suppressRowTransform:Y,enableCellSpan:Q,rowDragEntireRow:q,enableCellTextSelection:H})=>{if(typeof $==="object"){if($?.mode==="singleRow"&&$?.enableClickSelection)return"colDef.spanRows is not supported with rowSelection.clickSelection"}if(X)return"colDef.spanRows is not supported with cellSelection.";if(Y)return"colDef.spanRows is not supported with suppressRowTransform.";if(!Q)return"colDef.spanRows requires enableCellSpan to be enabled.";if(q)return"colDef.spanRows is not supported with rowDragEntireRow.";if(H)return"colDef.spanRows is not supported with enableCellTextSelection.";return null}},groupHierarchy:{validate(Z,{groupHierarchyConfig:$={}},X){let Y=new Set(["year","quarter","month","formattedMonth","day","hour","minute","second"]),Q=[];for(let q of Z.groupHierarchy??[]){if(typeof q==="object"){X.validation?.validateColDef(q);continue}if(!Y.has(q)&&!(q in $))Q.push(p$(q))}if(Q.length>0){let q=`The following parts of colDef.groupHierarchy are not recognised: ${Q.join(", ")}.`,H=`Choose one of ${[...Y].map(p$).join(", ")}, or define your own parts in gridOptions.groupHierarchyConfig.`;return`${q} ${H}`}return null}}}},bB={headerName:void 0,columnGroupShow:void 0,headerStyle:void 0,headerClass:void 0,toolPanelClass:void 0,headerValueGetter:void 0,pivotKeys:void 0,groupId:void 0,colId:void 0,sort:void 0,initialSort:void 0,field:void 0,type:void 0,cellDataType:void 0,tooltipComponent:void 0,tooltipField:void 0,headerTooltip:void 0,headerTooltipValueGetter:void 0,cellClass:void 0,showRowGroup:void 0,filter:void 0,initialAggFunc:void 0,defaultAggFunc:void 0,aggFunc:void 0,groupRowEditable:void 0,groupRowValueSetter:void 0,pinned:void 0,initialPinned:void 0,chartDataType:void 0,cellAriaRole:void 0,cellEditorPopupPosition:void 0,headerGroupComponent:void 0,headerGroupComponentParams:void 0,cellStyle:void 0,cellRenderer:void 0,cellRendererParams:void 0,cellEditor:void 0,cellEditorParams:void 0,filterParams:void 0,pivotValueColumn:void 0,headerComponent:void 0,headerComponentParams:void 0,floatingFilterComponent:void 0,floatingFilterComponentParams:void 0,tooltipComponentParams:void 0,refData:void 0,columnChooserParams:void 0,children:void 0,sortingOrder:void 0,allowedAggFuncs:void 0,menuTabs:void 0,pivotTotalColumnIds:void 0,cellClassRules:void 0,icons:void 0,sortIndex:void 0,initialSortIndex:void 0,flex:void 0,initialFlex:void 0,width:void 0,initialWidth:void 0,minWidth:void 0,maxWidth:void 0,rowGroupIndex:void 0,initialRowGroupIndex:void 0,pivotIndex:void 0,initialPivotIndex:void 0,suppressColumnsToolPanel:void 0,suppressFiltersToolPanel:void 0,openByDefault:void 0,marryChildren:void 0,suppressStickyLabel:void 0,hide:void 0,initialHide:void 0,rowGroup:void 0,initialRowGroup:void 0,pivot:void 0,initialPivot:void 0,checkboxSelection:void 0,showDisabledCheckboxes:void 0,headerCheckboxSelection:void 0,headerCheckboxSelectionFilteredOnly:void 0,headerCheckboxSelectionCurrentPageOnly:void 0,suppressHeaderMenuButton:void 0,suppressMovable:void 0,lockPosition:void 0,lockVisible:void 0,lockPinned:void 0,unSortIcon:void 0,suppressSizeToFit:void 0,suppressAutoSize:void 0,enableRowGroup:void 0,enablePivot:void 0,enableValue:void 0,editable:void 0,suppressPaste:void 0,suppressNavigable:void 0,enableCellChangeFlash:void 0,rowDrag:void 0,dndSource:void 0,autoHeight:void 0,wrapText:void 0,sortable:void 0,resizable:void 0,singleClickEdit:void 0,floatingFilter:void 0,cellEditorPopup:void 0,suppressFillHandle:void 0,wrapHeaderText:void 0,autoHeaderHeight:void 0,dndSourceOnRowDrag:void 0,valueGetter:void 0,valueSetter:void 0,filterValueGetter:void 0,keyCreator:void 0,valueFormatter:void 0,valueParser:void 0,comparator:void 0,equals:void 0,pivotComparator:void 0,suppressKeyboardEvent:void 0,suppressHeaderKeyboardEvent:void 0,colSpan:void 0,rowSpan:void 0,spanRows:void 0,getQuickFilterText:void 0,onCellValueChanged:void 0,onCellClicked:void 0,onCellDoubleClicked:void 0,onCellContextMenu:void 0,rowDragText:void 0,tooltipValueGetter:void 0,tooltipComponentSelector:void 0,cellRendererSelector:void 0,cellEditorSelector:void 0,suppressSpanHeaderHeight:void 0,useValueFormatterForExport:void 0,useValueParserForImport:void 0,mainMenuItems:void 0,contextMenuItems:void 0,suppressFloatingFilterButton:void 0,suppressHeaderFilterButton:void 0,suppressHeaderContextMenu:void 0,loadingCellRenderer:void 0,loadingCellRendererParams:void 0,loadingCellRendererSelector:void 0,context:void 0,dateComponent:void 0,dateComponentParams:void 0,getFindText:void 0,rowGroupingHierarchy:void 0,groupHierarchy:void 0,allowFormula:void 0},CB=()=>Object.keys(bB),xB=()=>({objectName:"colDef",allProperties:CB(),docsUrl:"column-properties/",deprecations:TB(),validations:IB()}),yB=["overlayLoadingTemplate","overlayNoRowsTemplate","gridId","quickFilterText","rowModelType","editType","domLayout","clipboardDelimiter","rowGroupPanelShow","multiSortKey","pivotColumnGroupTotals","pivotRowTotals","pivotPanelShow","fillHandleDirection","groupDisplayType","treeDataDisplayType","treeDataChildrenField","treeDataParentIdField","colResizeDefault","tooltipTrigger","serverSidePivotResultFieldSeparator","columnMenu","tooltipShowMode","invalidEditValueMode","grandTotalRow","themeCssLayer","findSearchValue","styleNonce","renderingMode"],NB=["components","rowStyle","context","autoGroupColumnDef","localeText","icons","datasource","dragAndDropImageComponentParams","serverSideDatasource","viewportDatasource","groupRowRendererParams","aggFuncs","fullWidthCellRendererParams","defaultColGroupDef","defaultColDef","defaultCsvExportParams","defaultExcelExportParams","columnTypes","rowClassRules","detailCellRendererParams","loadingCellRendererParams","overlayComponentParams","loadingOverlayComponentParams","noRowsOverlayComponentParams","activeOverlayParams","popupParent","themeStyleContainer","statusBar","chartThemeOverrides","customChartThemes","chartToolPanelsDef","dataTypeDefinitions","advancedFilterParent","advancedFilterBuilderParams","advancedFilterParams","formulaDataSource","formulaFuncs","initialState","autoSizeStrategy","selectionColumnDef","findOptions","filterHandlers","groupHierarchyConfig"],wB=["sortingOrder","alignedGrids","rowData","columnDefs","excelStyles","pinnedTopRowData","pinnedBottomRowData","chartThemes","rowClass","paginationPageSizeSelector","suppressOverlays"],y1=["rowHeight","detailRowHeight","rowBuffer","headerHeight","groupHeaderHeight","groupLockGroupColumns","floatingFiltersHeight","pivotHeaderHeight","pivotGroupHeaderHeight","groupDefaultExpanded","pivotDefaultExpanded","viewportRowModelPageSize","viewportRowModelBufferSize","autoSizePadding","maxBlocksInCache","maxConcurrentDatasourceRequests","tooltipShowDelay","tooltipSwitchShowDelay","tooltipHideDelay","cacheOverflowSize","paginationPageSize","cacheBlockSize","infiniteInitialRowCount","serverSideInitialRowCount","scrollbarWidth","asyncTransactionWaitMillis","blockLoadDebounceMillis","keepDetailRowsCount","undoRedoCellEditingLimit","cellFlashDuration","cellFadeDuration","tabIndex","pivotMaxGeneratedColumns","rowDragInsertDelay"],gB=["theme","rowSelection"],hB=["cellSelection","sideBar","rowNumbers","suppressGroupChangesColumnVisibility","groupAggFiltering","suppressStickyTotalRow","groupHideParentOfSingleChild","enableRowPinning"],N1=["loadThemeGoogleFonts","suppressMakeColumnVisibleAfterUnGroup","suppressRowClickSelection","suppressCellFocus","suppressHeaderFocus","suppressHorizontalScroll","groupSelectsChildren","alwaysShowHorizontalScroll","alwaysShowVerticalScroll","debug","enableBrowserTooltips","enableCellExpressions","groupSuppressBlankHeader","suppressMenuHide","suppressRowDeselection","unSortIcon","suppressMultiSort","alwaysMultiSort","singleClickEdit","suppressLoadingOverlay","suppressNoRowsOverlay","suppressAutoSize","skipHeaderOnAutoSize","suppressColumnMoveAnimation","suppressMoveWhenColumnDragging","suppressMovableColumns","suppressFieldDotNotation","enableRangeSelection","enableRangeHandle","enableFillHandle","suppressClearOnFillReduction","deltaSort","suppressTouch","allowContextMenuWithControlKey","suppressContextMenu","suppressDragLeaveHidesColumns","suppressRowGroupHidesColumns","suppressMiddleClickScrolls","suppressPreventDefaultOnMouseWheel","suppressCopyRowsToClipboard","copyHeadersToClipboard","copyGroupHeadersToClipboard","pivotMode","suppressAggFuncInHeader","suppressColumnVirtualisation","alwaysAggregateAtRootLevel","suppressFocusAfterRefresh","functionsReadOnly","animateRows","groupSelectsFiltered","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","enableRtl","enableCellSpan","suppressClickEdit","rowDragEntireRow","rowDragManaged","refreshAfterGroupEdit","suppressRowDrag","suppressMoveWhenRowDragging","rowDragMultiRow","enableGroupEdit","embedFullWidthRows","suppressPaginationPanel","groupHideOpenParents","groupHideColumnsUntilExpanded","groupAllowUnbalanced","pagination","paginationAutoPageSize","suppressScrollOnNewData","suppressScrollWhenPopupsAreOpen","purgeClosedRowNodes","cacheQuickFilter","includeHiddenColumnsInQuickFilter","ensureDomOrder","accentedSort","suppressChangeDetection","valueCache","valueCacheNeverExpires","aggregateOnlyChangedColumns","suppressAnimationFrame","suppressExcelExport","suppressCsvExport","includeHiddenColumnsInAdvancedFilter","suppressMultiRangeSelection","enterNavigatesVerticallyAfterEdit","enterNavigatesVertically","suppressPropertyNamesCheck","rowMultiSelectWithClick","suppressRowHoverHighlight","suppressRowTransform","suppressClipboardPaste","suppressLastEmptyLineOnPaste","enableCharts","suppressMaintainUnsortedOrder","enableCellTextSelection","suppressBrowserResizeObserver","suppressMaxRenderedRowRestriction","excludeChildrenWhenTreeDataFiltering","tooltipMouseTrack","tooltipInteraction","keepDetailRows","paginateChildRows","preventDefaultOnContextMenu","undoRedoCellEditing","allowDragFromColumnsToolPanel","pivotSuppressAutoColumn","suppressExpandablePivotGroups","debounceVerticalScrollbar","detailRowAutoHeight","serverSideSortAllLevels","serverSideEnableClientSideSort","serverSideOnlyRefreshFilteredGroups","suppressAggFilteredOnly","showOpenedGroup","suppressClipboardApi","suppressModelUpdateAfterUpdateTransaction","stopEditingWhenCellsLoseFocus","groupMaintainOrder","columnHoverHighlight","readOnlyEdit","suppressRowVirtualisation","enableCellEditingOnBackspace","resetRowDataOnUpdate","removePivotHeaderRowWhenSingleValueColumn","suppressCopySingleCellRanges","suppressGroupRowsSticky","suppressCutToClipboard","rowGroupPanelSuppressSort","allowShowChangeAfterFilter","enableAdvancedFilter","masterDetail","treeData","reactiveCustomComponents","applyQuickFilterBeforePivotOrAgg","suppressServerSideFullWidthLoadingRow","suppressAdvancedFilterEval","loading","maintainColumnOrder","enableStrictPivotColumnOrder","suppressSetFilterByDefault","enableFilterHandlers","suppressStartEditOnTab","hidePaddedHeaderRows","ssrmExpandAllAffectsAllRows","animateColumnResizing"],uB=["doesExternalFilterPass","processPivotResultColDef","processPivotResultColGroupDef","getBusinessKeyForNode","isRowSelectable","rowDragText","groupRowRenderer","dragAndDropImageComponent","fullWidthCellRenderer","loadingCellRenderer","overlayComponent","loadingOverlayComponent","noRowsOverlayComponent","overlayComponentSelector","activeOverlay","detailCellRenderer","quickFilterParser","quickFilterMatcher","getLocaleText","isExternalFilterPresent","getRowHeight","getRowClass","getRowStyle","getFullRowEditValidationErrors","getContextMenuItems","getMainMenuItems","processRowPostCreate","processCellForClipboard","getGroupRowAgg","isFullWidthRow","sendToClipboard","focusGridInnerElement","navigateToNextHeader","tabToNextHeader","navigateToNextCell","tabToNextCell","tabToNextGridContainer","processCellFromClipboard","getDocument","postProcessPopup","getChildCount","getDataPath","isRowMaster","postSortRows","processHeaderForClipboard","processUnpinnedColumns","processGroupHeaderForClipboard","paginationNumberFormatter","processDataFromClipboard","getServerSideGroupKey","isServerSideGroup","createChartContainer","getChartToolbarItems","fillOperation","isApplyServerSideTransaction","getServerSideGroupLevelParams","isServerSideGroupOpenByDefault","isGroupOpenByDefault","initialGroupOrderComparator","loadingCellRendererSelector","getRowId","chartMenuItems","groupTotalRow","alwaysPassFilter","isRowPinnable","isRowPinned","isRowValidDropPosition"],mB=()=>[...wB,...NB,...yB,...y1,...uB,...N1,...hB,...gB];var cB=()=>({suppressLoadingOverlay:{version:"32",message:"Use `loading`=false instead."},enableFillHandle:{version:"32.2",message:"Use `cellSelection.handle` instead."},enableRangeHandle:{version:"32.2",message:"Use `cellSelection.handle` instead."},enableRangeSelection:{version:"32.2",message:"Use `cellSelection = true` instead."},suppressMultiRangeSelection:{version:"32.2",message:"Use `cellSelection.suppressMultiRanges` instead."},suppressClearOnFillReduction:{version:"32.2",message:"Use `cellSelection.handle.suppressClearOnFillReduction` instead."},fillHandleDirection:{version:"32.2",message:"Use `cellSelection.handle.direction` instead."},fillOperation:{version:"32.2",message:"Use `cellSelection.handle.setFillValue` instead."},suppressRowClickSelection:{version:"32.2",message:"Use `rowSelection.enableClickSelection` instead."},suppressRowDeselection:{version:"32.2",message:"Use `rowSelection.enableClickSelection` instead."},rowMultiSelectWithClick:{version:"32.2",message:"Use `rowSelection.enableSelectionWithoutKeys` instead."},groupSelectsChildren:{version:"32.2",message:'Use `rowSelection.groupSelects = "descendants"` instead.'},groupSelectsFiltered:{version:"32.2",message:'Use `rowSelection.groupSelects = "filteredDescendants"` instead.'},isRowSelectable:{version:"32.2",message:"Use `selectionOptions.isRowSelectable` instead."},suppressCopySingleCellRanges:{version:"32.2",message:"Use `rowSelection.copySelectedRows` instead."},suppressCopyRowsToClipboard:{version:"32.2",message:"Use `rowSelection.copySelectedRows` instead."},onRangeSelectionChanged:{version:"32.2",message:"Use `onCellSelectionChanged` instead."},onRangeDeleteStart:{version:"32.2",message:"Use `onCellSelectionDeleteStart` instead."},onRangeDeleteEnd:{version:"32.2",message:"Use `onCellSelectionDeleteEnd` instead."},suppressBrowserResizeObserver:{version:"32.2",message:"The grid always uses the browser's ResizeObserver, this grid option has no effect."},onColumnEverythingChanged:{version:"32.2",message:"Either use `onDisplayedColumnsChanged` which is fired at the same time, or use one of the more specific column events."},groupRemoveSingleChildren:{version:"33",message:"Use `groupHideParentOfSingleChild` instead."},groupRemoveLowestSingleChildren:{version:"33",message:'Use `groupHideParentOfSingleChild: "leafGroupsOnly"` instead.'},suppressRowGroupHidesColumns:{version:"33",message:'Use `suppressGroupChangesColumnVisibility: "suppressHideOnGroup"` instead.'},suppressMakeColumnVisibleAfterUnGroup:{version:"33",message:'Use `suppressGroupChangesColumnVisibility: "suppressShowOnUngroup"` instead.'},unSortIcon:{version:"33",message:"Use `defaultColDef.unSortIcon` instead."},sortingOrder:{version:"33",message:"Use `defaultColDef.sortingOrder` instead."},suppressPropertyNamesCheck:{version:"33",message:"`gridOptions` and `columnDefs` both have a `context` property that should be used for arbitrary user data. This means that column definitions and gridOptions should only contain valid properties making this property redundant."},suppressAdvancedFilterEval:{version:"34",message:"Advanced filter no longer uses function evaluation, so this option has no effect."}});function jZ(J,Z,$){if(typeof Z==="number"||Z==null){if(Z==null)return null;return Z>=$?null:`${J}: value should be greater than or equal to ${$}`}return`${J}: value should be a number`}var pB={alignedGrids:"AlignedGrids",allowContextMenuWithControlKey:"ContextMenu",autoSizeStrategy:"ColumnAutoSize",cellSelection:"CellSelection",columnHoverHighlight:"ColumnHover",datasource:"InfiniteRowModel",doesExternalFilterPass:"ExternalFilter",editType:"EditCore",invalidEditValueMode:"EditCore",enableAdvancedFilter:"AdvancedFilter",enableCellSpan:"CellSpan",enableCharts:"IntegratedCharts",enableRangeSelection:"CellSelection",enableRowPinning:"PinnedRow",findSearchValue:"Find",getFullRowEditValidationErrors:"EditCore",getContextMenuItems:"ContextMenu",getLocaleText:"Locale",getMainMenuItems:"ColumnMenu",getRowClass:"RowStyle",getRowStyle:"RowStyle",groupTotalRow:"SharedRowGrouping",grandTotalRow:"ClientSideRowModelHierarchy",initialState:"GridState",isExternalFilterPresent:"ExternalFilter",isRowPinnable:"PinnedRow",isRowPinned:"PinnedRow",localeText:"Locale",masterDetail:"SharedMasterDetail",pagination:"Pagination",pinnedBottomRowData:"PinnedRow",pinnedTopRowData:"PinnedRow",pivotMode:"SharedPivot",pivotPanelShow:"RowGroupingPanel",quickFilterText:"QuickFilter",rowClass:"RowStyle",rowClassRules:"RowStyle",rowData:"ClientSideRowModel",rowDragManaged:"RowDrag",refreshAfterGroupEdit:["RowGrouping","TreeData"],rowGroupPanelShow:"RowGroupingPanel",rowNumbers:"RowNumbers",rowSelection:"SharedRowSelection",rowStyle:"RowStyle",serverSideDatasource:"ServerSideRowModel",sideBar:"SideBar",statusBar:"StatusBar",treeData:"SharedTreeData",undoRedoCellEditing:"UndoRedoEdit",valueCache:"ValueCache",viewportDatasource:"ViewportRowModel"},iB=()=>{let J={autoSizePadding:{validate({autoSizePadding:$}){return jZ("autoSizePadding",$,0)}},cacheBlockSize:{supportedRowModels:["serverSide","infinite"],validate({cacheBlockSize:$}){return jZ("cacheBlockSize",$,1)}},cacheOverflowSize:{validate({cacheOverflowSize:$}){return jZ("cacheOverflowSize",$,1)}},datasource:{supportedRowModels:["infinite"]},domLayout:{validate:($)=>{let X=$.domLayout,Y=["autoHeight","normal","print"];if(X&&!Y.includes(X))return`domLayout must be one of [${Y.join()}], currently it's ${X}`;return null}},enableFillHandle:{dependencies:{enableRangeSelection:{required:[!0]}}},enableRangeHandle:{dependencies:{enableRangeSelection:{required:[!0]}}},enableCellSpan:{supportedRowModels:["clientSide","serverSide"]},enableRangeSelection:{dependencies:{rowDragEntireRow:{required:[!1,void 0]}}},enableRowPinning:{supportedRowModels:["clientSide"],validate({enableRowPinning:$,pinnedTopRowData:X,pinnedBottomRowData:Y}){if($&&(X||Y))return"Manual row pinning cannot be used together with pinned row data. Either set `enableRowPinning` to `false`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.";return null}},isRowPinnable:{supportedRowModels:["clientSide"],validate({enableRowPinning:$,isRowPinnable:X,pinnedTopRowData:Y,pinnedBottomRowData:Q}){if(X&&(Y||Q))return"Manual row pinning cannot be used together with pinned row data. Either remove `isRowPinnable`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.";if(!$&&X)return"`isRowPinnable` requires `enableRowPinning` to be set.";return null}},isRowPinned:{supportedRowModels:["clientSide"],validate({enableRowPinning:$,isRowPinned:X,pinnedTopRowData:Y,pinnedBottomRowData:Q}){if(X&&(Y||Q))return"Manual row pinning cannot be used together with pinned row data. Either remove `isRowPinned`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.";if(!$&&X)return"`isRowPinned` requires `enableRowPinning` to be set.";return null}},groupDefaultExpanded:{supportedRowModels:["clientSide"]},groupHideColumnsUntilExpanded:{supportedRowModels:["clientSide"],validate({groupHideColumnsUntilExpanded:$,groupHideOpenParents:X,groupDisplayType:Y}){if($&&!X&&Y!=="multipleColumns")return"`groupHideColumnsUntilExpanded = true` requires either `groupDisplayType = 'multipleColumns'` or `groupHideOpenParents = true`";return null}},groupHideOpenParents:{supportedRowModels:["clientSide","serverSide"],dependencies:{groupTotalRow:{required:[void 0,"bottom"]},treeData:{required:[void 0,!1],reason:"Tree Data has values at the group level so it doesn't make sense to hide them."}}},groupHideParentOfSingleChild:{dependencies:{groupHideOpenParents:{required:[void 0,!1]}}},groupRemoveLowestSingleChildren:{dependencies:{groupHideOpenParents:{required:[void 0,!1]},groupRemoveSingleChildren:{required:[void 0,!1]}}},groupRemoveSingleChildren:{dependencies:{groupHideOpenParents:{required:[void 0,!1]},groupRemoveLowestSingleChildren:{required:[void 0,!1]}}},groupSelectsChildren:{dependencies:{rowSelection:{required:["multiple"]}}},groupHierarchyConfig:{validate({groupHierarchyConfig:$={}},X,Y){for(let Q of Object.keys($))Y.validation?.validateColDef($[Q]);return null}},icons:{validate:({icons:$})=>{if($){if($.smallDown)return JZ(262);if($.smallLeft)return JZ(263);if($.smallRight)return JZ(264)}return null}},infiniteInitialRowCount:{validate({infiniteInitialRowCount:$}){return jZ("infiniteInitialRowCount",$,1)}},initialGroupOrderComparator:{supportedRowModels:["clientSide"]},ssrmExpandAllAffectsAllRows:{validate:($)=>{if(typeof $.ssrmExpandAllAffectsAllRows==="boolean"){if($.rowModelType!=="serverSide")return"'ssrmExpandAllAffectsAllRows' is only supported with the Server Side Row Model.";if($.ssrmExpandAllAffectsAllRows&&typeof $.getRowId!=="function")return"'getRowId' callback must be provided for Server Side Row Model grouping to work correctly."}return null}},keepDetailRowsCount:{validate({keepDetailRowsCount:$}){return jZ("keepDetailRowsCount",$,1)}},paginationPageSize:{validate({paginationPageSize:$}){return jZ("paginationPageSize",$,1)}},paginationPageSizeSelector:{validate:($)=>{let X=$.paginationPageSizeSelector;if(typeof X==="boolean"||X==null)return null;if(!X.length)return`'paginationPageSizeSelector' cannot be an empty array. If you want to hide the page size selector, set paginationPageSizeSelector to false.`;return null}},pivotMode:{dependencies:{treeData:{required:[!1,void 0],reason:"Pivot Mode is not supported with Tree Data."}}},quickFilterText:{supportedRowModels:["clientSide"]},rowBuffer:{validate({rowBuffer:$}){return jZ("rowBuffer",$,0)}},rowClass:{validate:($)=>{if(typeof $.rowClass==="function")return"rowClass should not be a function, please use getRowClass instead";return null}},rowData:{supportedRowModels:["clientSide"]},rowDragManaged:{supportedRowModels:["clientSide"],dependencies:{pagination:{required:[!1,void 0]}}},rowSelection:{validate({rowSelection:$}){if($&&typeof $==="string")return'As of version 32.2.1, using `rowSelection` with the values "single" or "multiple" has been deprecated. Use the object value instead.';if($&&typeof $!=="object")return"Expected `RowSelectionOptions` object for the `rowSelection` property.";if($&&$.mode!=="multiRow"&&$.mode!=="singleRow")return`Selection mode "${$.mode}" is invalid. Use one of 'singleRow' or 'multiRow'.`;return null}},rowStyle:{validate:($)=>{let X=$.rowStyle;if(X&&typeof X==="function")return"rowStyle should be an object of key/value styles, not be a function, use getRowStyle() instead";return null}},serverSideDatasource:{supportedRowModels:["serverSide"]},serverSideInitialRowCount:{supportedRowModels:["serverSide"],validate({serverSideInitialRowCount:$}){return jZ("serverSideInitialRowCount",$,1)}},serverSideOnlyRefreshFilteredGroups:{supportedRowModels:["serverSide"]},serverSideSortAllLevels:{supportedRowModels:["serverSide"]},sortingOrder:{validate:($)=>{let X=$.sortingOrder;if(Array.isArray(X)&&X.length>0){let Y=X.filter((Q)=>!aJ(Q));if(Y.length>0)return`sortingOrder must be an array of type (SortDirection | SortDef)[], incorrect items are: ${Y.map((Q)=>typeof Q==="string"||Q==null?i5(Q):JSON.stringify(Q))}]`}else if(!Array.isArray(X)||!X.length)return`sortingOrder must be an array with at least one element, currently it's ${X}`;return null}},tooltipHideDelay:{validate:($)=>{if($.tooltipHideDelay&&$.tooltipHideDelay<0)return"tooltipHideDelay should not be lower than 0";return null}},tooltipShowDelay:{validate:($)=>{if($.tooltipShowDelay&&$.tooltipShowDelay<0)return"tooltipShowDelay should not be lower than 0";return null}},tooltipSwitchShowDelay:{validate:($)=>{if($.tooltipSwitchShowDelay&&$.tooltipSwitchShowDelay<0)return"tooltipSwitchShowDelay should not be lower than 0";return null}},treeData:{supportedRowModels:["clientSide","serverSide"],validate:($)=>{let X=$.rowModelType??"clientSide";switch(X){case"clientSide":{let{treeDataChildrenField:Y,treeDataParentIdField:Q,getDataPath:q,getRowId:H}=$;if(!Y&&!Q&&!q)return"treeData requires either 'treeDataChildrenField' or 'treeDataParentIdField' or 'getDataPath' in the clientSide row model.";if(Y){if(q)return"Cannot use both 'treeDataChildrenField' and 'getDataPath' at the same time.";if(Q)return"Cannot use both 'treeDataChildrenField' and 'treeDataParentIdField' at the same time."}if(Q){if(!H)return"getRowId callback not provided, tree data with parent id cannot be built.";if(q)return"Cannot use both 'treeDataParentIdField' and 'getDataPath' at the same time."}return null}case"serverSide":{let Y=`treeData requires 'isServerSideGroup' and 'getServerSideGroupKey' in the ${X} row model.`;return $.isServerSideGroup&&$.getServerSideGroupKey?null:Y}}return null}},viewportDatasource:{supportedRowModels:["viewport"]},viewportRowModelBufferSize:{validate({viewportRowModelBufferSize:$}){return jZ("viewportRowModelBufferSize",$,0)}},viewportRowModelPageSize:{validate({viewportRowModelPageSize:$}){return jZ("viewportRowModelPageSize",$,1)}},rowDragEntireRow:{dependencies:{cellSelection:{required:[void 0]}}},autoGroupColumnDef:{validate({autoGroupColumnDef:$,showOpenedGroup:X}){if($?.field&&X)return"autoGroupColumnDef.field and showOpenedGroup are not supported when used together.";if($?.valueGetter&&X)return"autoGroupColumnDef.valueGetter and showOpenedGroup are not supported when used together.";return null}},renderingMode:{validate:($)=>{let X=$.renderingMode,Y=["default","legacy"];if(X&&!Y.includes(X))return`renderingMode must be one of [${Y.join()}], currently it's ${X}`;return null}},autoSizeStrategy:{validate:({autoSizeStrategy:$})=>{if(!$)return null;let X=["fitCellContents","fitGridWidth","fitProvidedWidth"],Y=$.type;if(Y!=="fitCellContents"&&Y!=="fitGridWidth"&&Y!=="fitProvidedWidth")return`Invalid Auto-size strategy. \`autoSizeStrategy\` must be one of ${X.map((Q)=>'"'+Q+'"').join(", ")}, currently it's ${Y}`;if(Y==="fitProvidedWidth"&&typeof $.width!="number")return`When using the 'fitProvidedWidth' auto-size strategy, must provide a numeric \`width\`. You provided ${$.width}`;return null}}},Z={};for(let $ of N1)Z[$]={expectedType:"boolean"};for(let $ of y1)Z[$]={expectedType:"number"};return BJ(Z,J),Z},dB=()=>({objectName:"gridOptions",allProperties:[...mB(),...Object.values(D9)],propertyExceptions:["api"],docsUrl:"grid-options/",deprecations:cB(),validations:iB()}),nB=0,sB=0,i$="__ag_grid_instance",rB=class extends M{constructor(){super(...arguments);this.beanName="gos",this.domDataKey="__AG_"+Math.random().toString(),this.instanceId=sB++,this.gridReadyFired=!1,this.queueEvents=[],this.propEventSvc=new EZ,this.globalEventHandlerFactory=(J)=>{return(Z,$)=>{if(!this.isAlive())return;let X=t5.has(Z);if(X&&!J||!X&&J)return;if(!tB(Z))return;let Y=(Q,q)=>{let H=D9[Q],_=this.gridOptions[H];if(typeof _==="function")this.beans.frameworkOverrides.wrapOutgoing(()=>_(q))};if(this.gridReadyFired)Y(Z,$);else if(Z==="gridReady"){Y(Z,$),this.gridReadyFired=!0;for(let Q of this.queueEvents)Y(Q.eventName,Q.event);this.queueEvents=[]}else this.queueEvents.push({eventName:Z,event:$})}}}wireBeans(J){this.gridOptions=J.gridOptions,this.validation=J.validation,this.api=J.gridApi,this.gridId=J.context.getId()}get gridOptionsContext(){return this.gridOptions.context}postConstruct(){this.validateGridOptions(this.gridOptions),this.eventSvc.addGlobalListener(this.globalEventHandlerFactory().bind(this),!0),this.eventSvc.addGlobalListener(this.globalEventHandlerFactory(!0).bind(this),!1),this.propEventSvc.setFrameworkOverrides(this.beans.frameworkOverrides),this.addManagedEventListeners({gridOptionsChanged:({options:J})=>{this.updateGridOptions({options:J,force:!0,source:"optionsUpdated"})}})}destroy(){super.destroy(),this.queueEvents=[]}get(J){return this.gridOptions[J]??qH[J]}getCallback(J){return this.mergeGridCommonParams(this.gridOptions[J])}exists(J){return T(this.gridOptions[J])}mergeGridCommonParams(J){if(J)return($)=>{return J(this.addCommon($))};return J}updateGridOptions({options:J,force:Z,source:$="api"}){let X={id:nB++,properties:[]},Y=[],{gridOptions:Q,validation:q}=this;for(let H of Object.keys(J)){let _=b8.applyGlobalGridOption(H,J[H]);q?.warnOnInitialPropertyUpdate($,H);let z=Z||typeof _==="object"&&$==="api",U=Q[H];if(z||U!==_){Q[H]=_;let W={type:H,currentValue:_,previousValue:U,changeSet:X,source:$};Y.push(W)}}this.validateGridOptions(this.gridOptions),X.properties=Y.map((H)=>H.type);for(let H of Y)n2(this,`Updated property ${H.type} from`,H.previousValue," to ",H.currentValue),this.propEventSvc.dispatchEvent(H)}addPropertyEventListener(J,Z){this.propEventSvc.addEventListener(J,Z)}removePropertyEventListener(J,Z){this.propEventSvc.removeEventListener(J,Z)}getDomDataKey(){return this.domDataKey}addCommon(J){return J.api=this.api,J.context=this.gridOptionsContext,J}validateOptions(J,Z){for(let $ of Object.keys(J)){let X=J[$];if(X==null||X===!1)continue;let Y=Z[$];if(typeof Y==="function")Y=Y(J,this.gridOptions,this.beans);if(Y)this.assertModuleRegistered(Y,$)}}validateGridOptions(J){this.validateOptions(J,pB),this.validation?.processGridOptions(J)}validateColDef(J,Z,$){if($||!this.beans.dataTypeSvc?.isColPendingInference(Z))this.validateOptions(J,vB),this.validation?.validateColDef(J)}assertModuleRegistered(J,Z){let $=Array.isArray(J)?J.some((X)=>this.isModuleRegistered(X)):this.isModuleRegistered(J);if(!$)e(200,{...this.getModuleErrorParams(),moduleName:J,reasonOrId:Z});return $}getModuleErrorParams(){return{gridId:this.gridId,gridScoped:C8(),rowModelType:this.get("rowModelType"),isUmd:x8()}}isModuleRegistered(J){return o7(J,this.gridId,this.get("rowModelType"))}setInstanceDomData(J){J[i$]=this.instanceId}isElementInThisInstance(J){let Z=J;while(Z){let $=Z[i$];if(T($))return $===this.instanceId;Z=Z.parentElement}return!1}};function tB(J){return!!D9[J]}var lB=class extends M{constructor(J,Z){super();this.column=J,this.eGui=Z,this.lastMovingChanged=0}postConstruct(){this.addManagedElementListeners(this.eGui,{click:(J)=>J&&this.onClick(J)}),this.addManagedListeners(this.column,{movingChanged:()=>{this.lastMovingChanged=Date.now()}})}onClick(J){let{sortSvc:Z,rangeSvc:$,gos:X}=this.beans;if(!(X0(X)?J.altKey:!0))$?.handleColumnSelection(this.column,J);else if(this.column.isSortable()){let Q=this.column.isMoving(),H=Date.now()-this.lastMovingChanged<50;if(!(Q||H))Z?.progressSortFromEvent(this.column,J)}}};function aB(J,Z){let $={"aria-hidden":"true"};return{tag:"div",cls:"ag-cell-label-container",role:"presentation",children:[{tag:"span",ref:"eMenu",cls:"ag-header-icon ag-header-cell-menu-button",attrs:$},{tag:"span",ref:"eFilterButton",cls:"ag-header-icon ag-header-cell-filter-button",attrs:$},{tag:"div",ref:"eLabel",cls:"ag-header-cell-label",role:"presentation",children:[J?{tag:"span",ref:"eColRef",cls:"ag-header-col-ref"}:null,{tag:"span",ref:"eText",cls:"ag-header-cell-text"},{tag:"span",ref:"eFilter",cls:"ag-header-icon ag-header-label-icon ag-filter-icon",attrs:$},Z?{tag:"ag-sort-indicator",ref:"eSortIndicator"}:null]}]}}var oB=class extends y{constructor(){super(...arguments);this.eFilter=S,this.eFilterButton=S,this.eSortIndicator=S,this.eMenu=S,this.eLabel=S,this.eText=S,this.eColRef=S,this.eSortOrder=S,this.eSortAsc=S,this.eSortDesc=S,this.eSortMixed=S,this.eSortNone=S,this.eSortAbsoluteAsc=S,this.eSortAbsoluteDesc=S,this.isLoadingInnerComponent=!1}refresh(J){let Z=this.params;if(this.params=J,this.workOutTemplate(J,!!this.beans?.sortSvc)!=this.currentTemplate||this.workOutShowMenu()!=this.currentShowMenu||J.enableSorting!=this.currentSort||J.column.formulaRef!=this.currentRef||this.currentSuppressMenuHide!=null&&this.shouldSuppressMenuHide()!=this.currentSuppressMenuHide||Z.enableFilterButton!=J.enableFilterButton||Z.enableFilterIcon!=J.enableFilterIcon)return!1;if(this.innerHeaderComponent){let $={...J};BJ($,J.innerHeaderComponentParams),this.innerHeaderComponent.refresh?.($)}else this.setDisplayName(J);return!0}workOutTemplate(J,Z){let{formula:$}=this.beans,X=J.template;if(X)return X?.trim?X.trim():X;return aB(!!$?.active,Z)}init(J){this.params=J;let{sortSvc:Z,touchSvc:$,rowNumbersSvc:X,userCompFactory:Y}=this.beans,Q=Z?.getSortIndicatorSelector();if(this.currentTemplate=this.workOutTemplate(J,!!Q),this.setTemplate(this.currentTemplate,Q?[Q]:void 0),this.eLabel)this.mouseListener??(this.mouseListener=this.createManagedBean(new lB(J.column,this.eLabel)));$?.setupForHeader(this),this.setMenu(),this.setupSort(),this.setupColumnRefIndicator(),X?.setupForHeader(this),this.setupFilterIcon(),this.setupFilterButton(),this.workOutInnerHeaderComponent(Y,J),this.setDisplayName(J)}workOutInnerHeaderComponent(J,Z){let $=F_(J,Z,Z);if(!$)return;this.isLoadingInnerComponent=!0,$.newAgStackInstance().then((X)=>{if(this.isLoadingInnerComponent=!1,!X)return;if(this.isAlive()){if(this.innerHeaderComponent=X,this.eText)this.eText.appendChild(X.getGui())}else this.destroyBean(X)})}setDisplayName(J){let{displayName:Z}=J,$=this.currentDisplayName;if(this.currentDisplayName=Z,!this.eText||$===Z||this.innerHeaderComponent||this.isLoadingInnerComponent)return;this.eText.textContent=X5(Z)}addInIcon(J,Z,$){let X=h(J,this.beans,$);if(X)Z.appendChild(X)}workOutShowMenu(){return this.params.enableMenu&&!!this.beans.menuSvc?.isHeaderMenuButtonEnabled()}shouldSuppressMenuHide(){return!!this.beans.menuSvc?.isHeaderMenuButtonAlwaysShowEnabled()}setMenu(){if(!this.eMenu)return;if(this.currentShowMenu=this.workOutShowMenu(),!this.currentShowMenu){TJ(this.eMenu),this.eMenu=void 0;return}let{gos:J,eMenu:Z,params:$}=this,X=WJ(J);this.addInIcon(X?"menu":"menuAlt",Z,$.column),Z.classList.toggle("ag-header-menu-icon",!X);let Y=this.shouldSuppressMenuHide();this.currentSuppressMenuHide=Y,this.addManagedElementListeners(Z,{click:()=>this.showColumnMenu(this.eMenu)}),this.toggleMenuAlwaysShow(Y)}toggleMenuAlwaysShow(J){this.eMenu?.classList.toggle("ag-header-menu-always-show",J)}showColumnMenu(J){let{currentSuppressMenuHide:Z,params:$}=this;if(!Z)this.toggleMenuAlwaysShow(!0);$.showColumnMenu(J,()=>{if(!Z)this.toggleMenuAlwaysShow(!1)})}onMenuKeyboardShortcut(J){let{params:Z,gos:$,beans:X,eMenu:Y,eFilterButton:Q}=this,q=Z.column,H=WJ($);if(J&&!H){if(X.menuSvc?.isFilterMenuInHeaderEnabled(q))return Z.showFilter(Q??Y??this.getGui()),!0}else if(Z.enableMenu)return this.showColumnMenu(Y??Q??this.getGui()),!0;return!1}setupSort(){let{sortSvc:J}=this.beans;if(!J)return;let{enableSorting:Z,column:$}=this.params;if(this.currentSort=Z,!this.eSortIndicator){this.eSortIndicator=this.createBean(J.createSortIndicator(!0));let{eSortIndicator:X,eSortOrder:Y,eSortAsc:Q,eSortDesc:q,eSortMixed:H,eSortNone:_,eSortAbsoluteAsc:z,eSortAbsoluteDesc:U}=this;X.attachCustomElements(Y,Q,q,H,_,z,U)}if(this.eSortIndicator.setupSort($),!this.currentSort)return;J.setupHeader(this,$)}setupColumnRefIndicator(){let{eColRef:J,beans:{editModelSvc:Z},params:$}=this;if(!J)return;this.currentRef=$.column.formulaRef,J.textContent=this.currentRef,w(J,!1),this.addManagedEventListeners({cellEditingStarted:()=>{let X=Z?.getEditPositions(),Y=!!this.currentRef&&!!X?.some((Q)=>Q.column.isAllowFormula());w(J,Y)},cellEditingStopped:()=>{w(J,!1)}})}setupFilterIcon(){let{eFilter:J,params:Z}=this;if(!J)return;let $=()=>{let X=Z.column.isFilterActive();w(J,X,{skipAriaHidden:!0})};this.configureFilter(Z.enableFilterIcon,J,$,"filterActive")}setupFilterButton(){let{eFilterButton:J,params:Z}=this;if(!J)return;if(this.configureFilter(Z.enableFilterButton,J,this.onFilterChangedButton.bind(this),"filter"))this.addManagedElementListeners(J,{click:()=>Z.showFilter(J)});else this.eFilterButton=void 0}configureFilter(J,Z,$,X){if(!J)return TJ(Z),!1;let Y=this.params.column;return this.addInIcon(X,Z,Y),this.addManagedListeners(Y,{filterChanged:$}),$(),!0}onFilterChangedButton(){let J=this.params.column.isFilterActive();this.eFilterButton.classList.toggle("ag-filter-active",J)}getAnchorElementForMenu(J){let{eFilterButton:Z,eMenu:$}=this;if(J)return Z??$??this.getGui();return $??Z??this.getGui()}destroy(){super.destroy(),this.innerHeaderComponent=this.destroyBean(this.innerHeaderComponent),this.mouseListener=this.destroyBean(this.mouseListener)}},eB=class extends M{constructor(J,Z){super();this.eLabel=J,this.columnGroup=Z,this.isSticky=!1,this.left=null,this.right=null}postConstruct(){let{columnGroup:J,beans:Z}=this,{ctrlsSvc:$}=Z;$.whenReady(this,()=>{let X=this.refreshPosition.bind(this);if(J.getPinned()==null)this.addManagedEventListeners({bodyScroll:(Y)=>{if(Y.direction==="horizontal")this.updateSticky(Y.left)}});this.addManagedListeners(J,{leftChanged:X,displayedChildrenChanged:X}),this.addManagedEventListeners({columnResized:X}),this.refreshPosition()})}refreshPosition(){let{columnGroup:J,beans:Z}=this,$=J.getLeft(),X=J.getActualWidth();if($==null||X===0){this.left=null,this.right=null,this.setSticky(!1);return}this.left=$,this.right=$+X;let Y=Z.colViewport.getScrollPosition();if(Y!=null)this.updateSticky(Y)}updateSticky(J){let{beans:Z,left:$,right:X}=this;if($==null||X==null){this.setSticky(!1);return}let{gos:Y,visibleCols:Q}=Z,H=Y.get("enableRtl")?Q.bodyWidth-J:J;this.setSticky($H)}setSticky(J){let{isSticky:Z,eLabel:$}=this;if(Z===J)return;this.isSticky=J,$.classList.toggle("ag-sticky-label",J)}},J3={tag:"div",cls:"ag-header-group-cell-label",role:"presentation",children:[{tag:"span",ref:"agLabel",cls:"ag-header-group-text",role:"presentation"},{tag:"span",ref:"agOpened",cls:"ag-header-icon ag-header-expand-icon ag-header-expand-icon-expanded"},{tag:"span",ref:"agClosed",cls:"ag-header-icon ag-header-expand-icon ag-header-expand-icon-collapsed"}]},Z3=class extends y{constructor(){super(J3);this.agOpened=S,this.agClosed=S,this.agLabel=S,this.isLoadingInnerComponent=!1}init(J){let{userCompFactory:Z,touchSvc:$}=this.beans;this.params=J,this.checkWarnings(),this.workOutInnerHeaderGroupComponent(Z,J),this.setupLabel(J),this.addGroupExpandIcon(J),this.setupExpandIcons(),$?.setupForHeaderGroup(this)}checkWarnings(){if(this.params.template)O(89)}workOutInnerHeaderGroupComponent(J,Z){let $=k_(J,Z,Z);if(!$)return;this.isLoadingInnerComponent=!0,$.newAgStackInstance().then((X)=>{if(this.isLoadingInnerComponent=!1,!X)return;if(this.isAlive())this.innerHeaderGroupComponent=X,this.agLabel.appendChild(X.getGui());else this.destroyBean(X)})}setupExpandIcons(){let{agOpened:J,agClosed:Z,params:{columnGroup:$},beans:{colGroupSvc:X}}=this;this.addInIcon("columnGroupOpened",J),this.addInIcon("columnGroupClosed",Z);let Y=(_)=>{if(ZZ(_))return;let z=!$.isExpanded();X.setColumnGroupOpened($.getProvidedColumnGroup(),z,"uiColumnExpanded")};this.addTouchAndClickListeners(Z,Y),this.addTouchAndClickListeners(J,Y);let Q=(_)=>{iJ(_)};this.addManagedElementListeners(Z,{dblclick:Q}),this.addManagedElementListeners(J,{dblclick:Q}),this.addManagedElementListeners(this.getGui(),{dblclick:Y}),this.updateIconVisibility();let q=$.getProvidedColumnGroup(),H=this.updateIconVisibility.bind(this);this.addManagedListeners(q,{expandedChanged:H,expandableChanged:H})}addTouchAndClickListeners(J,Z){this.beans.touchSvc?.setupForHeaderGroupElement(this,J,Z),this.addManagedElementListeners(J,{click:Z})}updateIconVisibility(){let{agOpened:J,agClosed:Z,params:{columnGroup:$}}=this;if($.isExpandable()){let X=$.isExpanded();w(J,X),w(Z,!X)}else w(J,!1),w(Z,!1)}addInIcon(J,Z){let $=h(J,this.beans,null);if($)Z.appendChild($)}addGroupExpandIcon(J){if(!J.columnGroup.isExpandable()){let{agOpened:Z,agClosed:$}=this;w(Z,!1),w($,!1)}}setupLabel(J){let{displayName:Z,columnGroup:$}=J,{innerHeaderGroupComponent:X,isLoadingInnerComponent:Y}=this,Q=X||Y;if(T(Z)&&!Q)this.agLabel.textContent=X5(Z);if(!$.getColGroupDef()?.suppressStickyLabel)this.createManagedBean(new eB(this.getGui(),$))}destroy(){if(super.destroy(),this.innerHeaderGroupComponent)this.destroyBean(this.innerHeaderGroupComponent),this.innerHeaderGroupComponent=void 0}},$3={moduleName:"ColumnHeaderComp",version:p,userComponents:{agColumnHeader:oB},icons:{menu:"menu",menuAlt:"menu-alt"}},X3={moduleName:"ColumnGroupHeaderComp",version:p,userComponents:{agColumnGroupHeader:Z3},icons:{columnGroupOpened:"expanded",columnGroupClosed:"contracted"}},Y3=class extends M{constructor(){super(...arguments);this.beanName="animationFrameSvc",this.p1={list:[],sorted:!1},this.p2={list:[],sorted:!1},this.f1={list:[],sorted:!1},this.destroyTasks=[],this.ticking=!1,this.scrollGoingDown=!0,this.lastScrollTop=0,this.taskCount=0}setScrollTop(J){if(this.scrollGoingDown=J>=this.lastScrollTop,J===0)this.scrollGoingDown=!0;this.lastScrollTop=J}postConstruct(){this.active=!this.gos.get("suppressAnimationFrame"),this.batchFrameworkComps=this.beans.frameworkOverrides.batchFrameworkComps}verify(){if(this.active===!1)O(92)}createTask(J,Z,$,X,Y=!1){this.verify();let Q=$;if(X&&this.batchFrameworkComps)Q="f1";let q={task:J,index:Z,createOrder:++this.taskCount,deferred:Y};this.addTaskToList(this[Q],q),this.schedule()}addTaskToList(J,Z){J.list.push(Z),J.sorted=!1}sortTaskList(J){if(J.sorted)return;let Z=this.scrollGoingDown?1:-1;J.list.sort(($,X)=>{if($.deferred!==X.deferred)return $.deferred?-1:1;if($.index!==X.index)return Z*(X.index-$.index);return X.createOrder-$.createOrder}),J.sorted=!0}addDestroyTask(J){this.verify(),this.destroyTasks.push(J),this.schedule()}executeFrame(J){let{p1:Z,p2:$,f1:X,destroyTasks:Y,beans:Q}=this,{ctrlsSvc:q,frameworkOverrides:H}=Q,_=Z.list,z=$.list,U=X.list,W=Date.now(),G=0,B=J<=0,K=q.getScrollFeature();while(B||G{while(B||G{};else if(Y.length)L=Y.pop();else break;L()}G=Date.now()-W}if(_.length||z.length||U.length||Y.length)this.requestFrame();else this.ticking=!1}flushAllFrames(){if(!this.active)return;this.executeFrame(-1)}schedule(){if(!this.active)return;if(!this.ticking)this.ticking=!0,this.requestFrame()}requestFrame(){let J=this.executeFrame.bind(this,60);qZ(this.beans,J)}isQueueEmpty(){return!this.ticking}},Q3={moduleName:"AnimationFrame",version:p,beans:[Y3]},q3=class extends M{constructor(){super(...arguments);this.beanName="iconSvc"}createIconNoSpan(J,Z){return h(J,this.beans,Z?.column)}},H3=(J,Z,$)=>Z||J&&$,_3=class extends M{constructor(){super(...arguments);this.beanName="touchSvc"}mockBodyContextMenu(J,Z){this.mockContextMenu(J,J.eBodyViewport,Z)}mockHeaderContextMenu(J,Z){this.mockContextMenu(J,J.eGui,Z)}mockRowContextMenu(J){if(!C0())return;let Z=($,X,Y)=>{let{rowCtrl:Q,cellCtrl:q}=J.getControlsForEventTarget(Y?.target??null);if(q?.column)q.dispatchCellContextMenuEvent(Y??null);this.beans.contextMenuSvc?.handleContextMenuMouseEvent(void 0,Y,Q,q)};this.mockContextMenu(J,J.element,Z)}handleCellDoubleClick(J,Z){if((()=>{if(!C0()||t7("dblclick"))return!1;let X=Date.now(),Y=X-J.lastIPadMouseClickEvent<200;return J.lastIPadMouseClickEvent=X,Y})())return J.onCellDoubleClicked(Z),Z.preventDefault(),!0;return!1}setupForHeader(J){let{gos:Z,sortSvc:$,menuSvc:X}=this.beans;if(Z.get("suppressTouch"))return;let{params:Y,eMenu:Q,eFilterButton:q}=J,H=new hJ(J.getGui(),!0);J.addDestroyFunc(()=>H.destroy());let _=J.shouldSuppressMenuHide(),z=_&&T(Q)&&Y.enableMenu,U=!!X?.isHeaderContextMenuEnabled(Y.column),W=H3(Y.enableMenu,U,WJ(Z)),G=H;if(z)G=new hJ(Q,!0),J.addDestroyFunc(()=>G.destroy());let B=(K)=>Y.showColumnMenuAfterMouseClick(K.touchStart);if(z&&Y.enableMenu)J.addManagedListeners(G,{tap:B});if(W)J.addManagedListeners(H,{longTap:B});if(Y.enableSorting){let K=(E)=>{let L=E.touchStart.target;if(_&&(Q?.contains(L)||q?.contains(L)))return;$?.progressSort(Y.column,!1,"uiColumnSorted")};J.addManagedListeners(H,{tap:K})}if(Y.enableFilterButton&&q){let K=new hJ(q,!0);J.addManagedListeners(K,{tap:()=>Y.showFilter(q)}),J.addDestroyFunc(()=>K.destroy())}}setupForHeaderGroup(J){let Z=J.params;if(this.beans.menuSvc?.isHeaderContextMenuEnabled(Z.columnGroup.getProvidedColumnGroup())){let $=new hJ(Z.eGridHeader,!0),X=(Y)=>Z.showColumnMenuAfterMouseClick(Y.touchStart);J.addManagedListeners($,{longTap:X}),J.addDestroyFunc(()=>$.destroy())}}setupForHeaderGroupElement(J,Z,$){let X=new hJ(Z,!0);J.addManagedListeners(X,{tap:$}),J.addDestroyFunc(()=>X.destroy())}mockContextMenu(J,Z,$){if(!C0())return;let X=new hJ(Z),Y=(Q)=>{if(!d2(this.beans,Q.touchEvent))return;$(void 0,Q.touchStart,Q.touchEvent)};J.addManagedListeners(X,{longTap:Y}),J.addDestroyFunc(()=>X.destroy())}},z3={moduleName:"Touch",version:p,beans:[_3]},U3=class extends M{constructor(){super(...arguments);this.beanName="cellNavigation"}wireBeans(J){this.rowSpanSvc=J.rowSpanSvc}getNextCellToFocus(J,Z,$=!1){if($)return this.getNextCellToFocusWithCtrlPressed(J,Z);return this.getNextCellToFocusWithoutCtrlPressed(J,Z)}getNextCellToFocusWithCtrlPressed(J,Z){let $=J===V.UP,X=J===V.DOWN,Y=J===V.LEFT,Q,q,{pageBounds:H,gos:_,visibleCols:z,pinnedRowModel:U}=this.beans,{rowPinned:W}=Z;if($||X){if(W&&U)if($)q=0;else q=W==="top"?U.getPinnedTopRowCount()-1:U.getPinnedBottomRowCount()-1;else q=$?H.getFirstRow():H.getLastRow();Q=Z.column}else{let G=_.get("enableRtl");q=Z.rowIndex,Q=(Y!==G?z.allCols:[...z.allCols].reverse()).find((K)=>!vJ(K)&&this.isCellGoodToFocusOn({rowIndex:q,rowPinned:null,column:K}))}return Q?{rowIndex:q,rowPinned:W,column:Q}:null}getNextCellToFocusWithoutCtrlPressed(J,Z){let $=Z,X=!1;while(!X){switch(J){case V.UP:$=this.getCellAbove($);break;case V.DOWN:$=this.getCellBelow($);break;case V.RIGHT:$=this.gos.get("enableRtl")?this.getCellToLeft($):this.getCellToRight($);break;case V.LEFT:$=this.gos.get("enableRtl")?this.getCellToRight($):this.getCellToLeft($);break;default:$=null,O(8,{key:J});break}if($)X=this.isCellGoodToFocusOn($);else X=!0}return $}isCellGoodToFocusOn(J){let Z=J.column,$,{pinnedRowModel:X,rowModel:Y}=this.beans;switch(J.rowPinned){case"top":$=X?.getPinnedTopRow(J.rowIndex);break;case"bottom":$=X?.getPinnedBottomRow(J.rowIndex);break;default:$=Y.getRow(J.rowIndex);break}if(!$)return!1;return!this.isSuppressNavigable(Z,$)}getCellToLeft(J){if(!J)return null;let Z=this.beans.visibleCols.getColBefore(J.column);if(!Z)return null;return{rowIndex:J.rowIndex,column:Z,rowPinned:J.rowPinned}}getCellToRight(J){if(!J)return null;let Z=this.beans.visibleCols.getColAfter(J.column);if(!Z)return null;return{rowIndex:J.rowIndex,column:Z,rowPinned:J.rowPinned}}getCellBelow(J){if(!J)return null;let Z=this.rowSpanSvc?.getCellEnd(J)??J,$=LJ(this.beans,Z,!0);if($)return{rowIndex:$.rowIndex,column:J.column,rowPinned:$.rowPinned};return null}getCellAbove(J){if(!J)return null;let Z=this.rowSpanSvc?.getCellStart(J)??J,$=mJ(this.beans,{rowIndex:Z.rowIndex,rowPinned:Z.rowPinned},!0);if($)return{rowIndex:$.rowIndex,column:J.column,rowPinned:$.rowPinned};return null}getNextTabbedCell(J,Z){if(Z)return this.getNextTabbedCellBackwards(J);return this.getNextTabbedCellForwards(J)}getNextTabbedCellForwards(J){let{visibleCols:Z,pagination:$}=this.beans,X=Z.allCols,Y=J.rowIndex,Q=J.rowPinned,q=Z.getColAfter(J.column);if(!q){q=X[0];let H=LJ(this.beans,J,!0);if(d(H))return null;if(!H.rowPinned&&!($?.isRowInPage(H.rowIndex)??!0))return null;Y=H?H.rowIndex:null,Q=H?H.rowPinned:null}return{rowIndex:Y,column:q,rowPinned:Q}}getNextTabbedCellBackwards(J){let{beans:Z}=this,{visibleCols:$,pagination:X}=Z,Y=$.allCols,Q=J.rowIndex,q=J.rowPinned,H=$.getColBefore(J.column);if(!H){H=C(Y);let _=mJ(Z,{rowIndex:J.rowIndex,rowPinned:J.rowPinned},!0);if(d(_))return null;if(!_.rowPinned&&!(X?.isRowInPage(_.rowIndex)??!0))return null;Q=_?_.rowIndex:null,q=_?_.rowPinned:null}return{rowIndex:Q,column:H,rowPinned:q}}isSuppressNavigable(J,Z){let{suppressNavigable:$}=J.colDef;if(typeof $==="boolean")return $;if(typeof $==="function"){let X=J.createColumnFunctionCallbackParams(Z);return $(X)}return!1}};function W3(J){return J.focusSvc.getFocusedCell()}function G3(J){return J.focusSvc.clearFocusedCell()}function B3(J,Z,$,X){J.focusSvc.setFocusedCell({rowIndex:Z,column:$,rowPinned:X,forceBrowserFocus:!0})}function K3(J,Z){return J.navigation?.tabToNextCell(!1,Z)??!1}function E3(J,Z){return J.navigation?.tabToNextCell(!0,Z)??!1}function L3(J,Z,$=!1){let X=J.headerNavigation?.getHeaderPositionForColumn(Z,$);if(!X)return;J.focusSvc.focusHeaderPosition({headerPosition:X})}function mZ(J){let Z=J;return Z?.getFrameworkComponentInstance!=null?Z.getFrameworkComponentInstance():J}var F3=class extends M{constructor(){super(...arguments);this.beanName="editModelSvc",this.edits=new Map,this.cellValidations=new w1,this.rowValidations=new g1,this.suspendEdits=!1}suspend(J){this.suspendEdits=J}removeEdits({rowNode:J,column:Z}){if(!this.hasEdits({rowNode:J})||!J)return;let $=this.getEditRow(J);if(Z)$.delete(Z);else $.clear();if($.size===0)this.edits.delete(J)}getEditRow(J,Z={}){if(this.suspendEdits)return;if(this.edits.size===0)return;let $=J&&this.edits.get(J);if($)return $;if(Z.checkSiblings){let X=J.pinnedSibling;if(X)return this.getEditRow(X)}return}getEditRowDataValue(J,{checkSiblings:Z}={}){if(!J||this.edits.size===0)return;let $=this.getEditRow(J),X=J.pinnedSibling,Y=Z&&X&&this.getEditRow(X);if(!$&&!Y)return;let Q={...J.data},q=(H,_)=>H.forEach(({editorValue:z,pendingValue:U},W)=>{let G=z===void 0?U:z;if(G!==PJ)_[W.getColId()]=G});if($)q($,Q);if(Y)q(Y,Q);return Q}getEdit(J={},Z){let{rowNode:$,column:X}=J,Y=this.edits;if(this.suspendEdits||Y.size===0||!$||!X)return;let Q=Y.get($)?.get(X);if(Q)return Q;if(Z?.checkSiblings){let q=$.pinnedSibling;if(q)return Y.get(q)?.get(X)}return}getEditMap(J=!0){if(this.suspendEdits||this.edits.size===0)return new Map;if(!J)return this.edits;let Z=new Map;return this.edits.forEach(($,X)=>{let Y=new Map;$.forEach(({editorState:Q,...q},H)=>Y.set(H,{...q})),Z.set(X,Y)}),Z}setEditMap(J){this.edits.clear(),J.forEach((Z,$)=>{let X=new Map;Z.forEach((Y,Q)=>X.set(Q,{...Y})),this.edits.set($,X)})}setEdit(J,Z){let $=this.edits;if($.size===0||!$.has(J.rowNode))$.set(J.rowNode,new Map);let X=this.getEdit(J),Y={editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0},...X,...Z};return this.getEditRow(J.rowNode).set(J.column,Y),Y}clearEditValue(J){let{rowNode:Z,column:$}=J;if(!Z)return;let X=(Q)=>{Q.editorValue=void 0,Q.pendingValue=Q.sourceValue,Q.state="changed"};if(!$){this.getEditRow(Z)?.forEach(X);return}let Y=this.getEdit(J);if(Y)X(Y)}getState(J){if(this.suspendEdits)return;return this.getEdit(J)?.state}getEditPositions(J){if(this.suspendEdits||(J??this.edits).size===0)return[];let Z=[];return(J??this.edits).forEach(($,X)=>{for(let Y of $.keys()){let{editorState:Q,...q}=$.get(Y);Z.push({rowNode:X,column:Y,...q})}}),Z}hasRowEdits(J,Z){if(this.suspendEdits)return!1;if(this.edits.size===0)return!1;return!!this.getEditRow(J,Z)}hasEdits(J={},Z={}){if(this.suspendEdits)return!1;if(this.edits.size===0)return!1;let{rowNode:$,column:X}=J,{withOpenEditor:Y}=Z;if($){let Q=this.getEditRow($,Z);if(!Q)return!1;if(X){if(Y)return this.getEdit(J)?.state==="editing";return Q.has(X)}if(Q.size!==0){if(Y)return Array.from(Q.values()).some(({state:q})=>q==="editing");return!0}return!1}if(Y)return this.getEditPositions().some(({state:Q})=>Q==="editing");return this.edits.size>0}start(J){let Z=this.getEditRow(J.rowNode)??new Map,{rowNode:$,column:X}=J;if(X&&!Z.has(X))Z.set(X,{editorValue:void 0,pendingValue:PJ,sourceValue:this.beans.valueSvc.getValue(X,$,"data"),state:"editing",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}});this.edits.set($,Z)}stop(J,Z,$){if(!this.hasEdits(J))return;if(Z){let X=this.getEditRow(J.rowNode)?.get(J.column);if(X&&(X.pendingValue===PJ||X.pendingValue===X.sourceValue))this.removeEdits(J);else if(X&&$)X.editorValue=void 0}else this.removeEdits(J)}clear(){for(let J of this.edits.values())J.clear();this.edits.clear()}getCellValidationModel(){return this.cellValidations}getRowValidationModel(){return this.rowValidations}setCellValidationModel(J){this.cellValidations=J}setRowValidationModel(J){this.rowValidations=J}destroy(){super.destroy(),this.clear()}},w1=class{constructor(){this.cellValidations=new Map}getCellValidation(J){let{rowNode:Z,column:$}=J||{};return this.cellValidations?.get(Z)?.get($)}hasCellValidation(J){if(!J?.rowNode||!J.column)return this.cellValidations.size>0;return!!this.getCellValidation(J)}setCellValidation(J,Z){let{rowNode:$,column:X}=J;if(!this.cellValidations.has($))this.cellValidations.set($,new Map);this.cellValidations.get($).set(X,Z)}clearCellValidation(J){let{rowNode:Z,column:$}=J;this.cellValidations.get(Z)?.delete($)}setCellValidationMap(J){this.cellValidations=J}getCellValidationMap(){return this.cellValidations}clearCellValidationMap(){this.cellValidations.clear()}},g1=class{constructor(){this.rowValidations=new Map}getRowValidation(J){let{rowNode:Z}=J||{};return this.rowValidations.get(Z)}hasRowValidation(J){if(!J?.rowNode)return this.rowValidations.size>0;return!!this.getRowValidation(J)}setRowValidation({rowNode:J},Z){this.rowValidations.set(J,Z)}clearRowValidation({rowNode:J}){this.rowValidations.delete(J)}setRowValidationMap(J){this.rowValidations=J}getRowValidationMap(){return this.rowValidations}clearRowValidationMap(){this.rowValidations.clear()}};function G6(J,Z={}){let{rowIndex:$,rowId:X,rowCtrl:Y,rowPinned:Q}=Z;if(Y)return Y;let{rowModel:q,rowRenderer:H}=J,{rowNode:_}=Z;if(!_){if(X)_=r_(J,X,Q);else if($!=null)_=q.getRow($)}return _?H.getRowCtrlByNode(_):void 0}function t(J,Z={}){let{cellCtrl:$,colId:X,columnId:Y,column:Q}=Z;if($)return $;let q=J.colModel.getCol(X??Y??K8(Q)),H=Z.rowCtrl??G6(J,Z),_=H?.getCellCtrl(q)??void 0;if(_)return _;let z=Z.rowNode??H?.rowNode;if(z)return J.rowRenderer.getCellCtrls([z],[q])?.[0];return}function d$(J){let{editSvc:Z}=J;if(Z?.isBatchEditing())J0(J,{persist:!0}),eZ(J);else Z?.stopEditing(void 0,{source:"api"})}function D3(J,Z,$){let{gos:X,popupSvc:Y}=Z;if(!X.get("stopEditingWhenCellsLoseFocus"))return;let Q=(q)=>{let H=q.relatedTarget;if(q8(H)===null){d$(Z);return}let _=$.some((z)=>z.contains(H))&&X.isElementInThisInstance(H);if(!_)_=!!Y&&(Y.getActivePopups().some((z)=>z.contains(H))||Y.isElementWithinCustomPopup(H));if(!_)d$(Z)};for(let q of $)J.addManagedElementListeners(q,{focusout:Q})}function K8(J){if(!J)return;if(typeof J==="string")return J;return J.getColId()}var PJ=Symbol("unedited"),k3=(J,Z={})=>{let $=J.rowRenderer.getCellCtrls(Z.rowNodes,Z.columns),X=Array($.length),Y=0;for(let Q=0,q=$.length;Q0)Z.set($,Y)}return Z}function g0(J,Z,$){let{key:X,event:Y,cellStartedEdit:Q,silent:q}=$??{},{editModelSvc:H,gos:_,userCompFactory:z}=J,U=t(J,Z),W=U?.comp?.getCellEditor(),G=u1(J,Z,X,Q&&!q),B=H?.getEdit(Z),K=G.value??B?.sourceValue;if(W){H?.setEdit(Z,{editorValue:F2(J,K,!0,Z.column),state:"editing"}),W.refresh?.(G);return}let E=Z.column.getColDef(),L=RY(z,E,G);if(!L)return;let{popupFromSelector:F,popupPositionFromSelector:D}=L,k=F??!!E.cellEditorPopup,j=D??E.cellEditorPopupPosition;if(m1(L.params,Y),!U)return;let{rangeFeature:A,rowCtrl:R,comp:f,onEditorAttachedFuncs:I}=U;H?.setEdit(Z,{editorValue:F2(J,K,!0,Z.column),state:"editing",editorState:{cellStartedEditing:void 0,cellStoppedEditing:void 0}}),U.editCompDetails=L,I.push(()=>A?.unsetComp()),f?.setEditDetails(L,k,j,_.get("reactiveCustomComponents")),R?.refreshRow({suppressFlash:!0}),A3(J,Z,Y,K,q)}function A3(J,Z,$,X,Y){let{editSvc:Q,editModelSvc:q}=J,H=q?.getEdit(Z);if(!Y&&H?.state==="editing"&&!H?.editorState?.cellStartedEditing)Q?.dispatchCellEvent(Z,$,"cellEditingStarted",{value:X}),q?.setEdit(Z,{editorState:{cellStartedEditing:!0}})}function h1(J,Z,$){let X={editorValueExists:!1};if(k9(J)){if((Z.getValidationErrors?.()?.length??0)>0)return X}if($?.isCancelling)return X;if($?.isStopping){let Q=Z?.isCancelAfterEnd?.();if(Q)return{...X,isCancelAfterEnd:Q}}return{editorValue:Z.getValue(),editorValueExists:!0}}function u1(J,Z,$,X){let{valueSvc:Y,gos:Q,editSvc:q}=J,H=J.gos.get("enableGroupEdit"),_=t(J,Z),z=Z.rowNode?.rowIndex??void 0,U=q?.isBatchEditing(),W=J.colModel.getCol(Z.column.getId()),{rowNode:G,column:B}=Z,K=_.comp?.getCellEditor(),E=q?.getCellDataValue(Z),L=E===void 0?K?h1(J,K)?.editorValue:void 0:E,F=L===PJ?Y.getValueForDisplay({column:W,node:G,from:"edit"})?.value:L,D=H?L:F;if(B.isAllowFormula()&&J.formula?.isFormula(D))D=J.formula?.normaliseFormula(D,!0)??D;return x(Q,{value:D,eventKey:$??null,column:B,colDef:B.getColDef(),rowIndex:z,node:G,data:G.data,cellStartedEdit:!!X,onKeyDown:_?.onKeyDown.bind(_),stopEditing:(k)=>{q.stopEditing(Z,{source:U?"ui":"api",suppressNavigateAfterEdit:k}),J5(J,Z,{})},eGridCell:_?.eGui,parseValue:(k)=>Y.parseValue(W,G,k,_?.value),formatValue:_?.formatValue.bind(_),validate:()=>{q?.validateEdit()}})}function y2(J,Z){let{editModelSvc:$}=J;$?.getEditMap().forEach((X,Y)=>{X.forEach((Q,q)=>{if(!Z&&(Q.state==="editing"||Q.pendingValue===PJ))return;if(!BZ(Q)&&(Q.state!=="editing"||Z))$?.removeEdits({rowNode:Y,column:q})})})}function M3(J,Z){let $=Z.comp?.getCellEditor();if(!$?.refresh)return;let{eventKey:X,cellStartedEdit:Y}=Z.editCompDetails.params,{column:Q}=Z,q=u1(J,Z,X,Y),H=Q.getColDef(),_=RY(J.userCompFactory,H,q);$.refresh(m1(_.params,X))}function m1(J,Z){if(Z instanceof KeyboardEvent&&J.column.getColDef().cellEditor==="agNumberCellEditor")J.suppressPreventDefault=["-","+",".","e"].includes(Z?.key??"")||J.suppressPreventDefault;else Z?.preventDefault?.();return J}function J0(J,Z){for(let $ of J.editModelSvc?.getEditPositions()??[]){let X=t(J,$);if(!X)continue;let Y=X.comp?.getCellEditor();if(!Y)continue;let{editorValue:Q,editorValueExists:q,isCancelAfterEnd:H}=h1(J,Y,Z);if(H){let{cellStartedEditing:_,cellStoppedEditing:z}=J.editModelSvc?.getEdit($)?.editorState||{};J.editModelSvc?.setEdit($,{editorState:{isCancelAfterEnd:H,cellStartedEditing:_,cellStoppedEditing:z}})}Z2(J,$,Q,void 0,!q,Z)}}function Z2(J,Z,$,X,Y,Q){let{editModelSvc:q,valueSvc:H}=J;if(!q)return;let{rowNode:_,column:z}=Z;if(!(_&&z))return;let U=q.getEdit(Z);if(U?.sourceValue===void 0){let W=U?F2(J,U.editorValue,!1,z):PJ,G={sourceValue:H.getValue(z,_,"data"),pendingValue:W};if(Q?.persist)G.state="changed";U=q.setEdit(Z,G)}if(q.setEdit(Z,{editorValue:Y?F2(J,U.sourceValue,!0,z):$}),Q?.persist)R3(J,Z)}function F2(J,Z,$,X){let{formula:Y}=J;if(X.isAllowFormula()&&Y?.isFormula(Z))return Y?.normaliseFormula(Z,$)??Z;return Z}function R3(J,Z){let{editModelSvc:$}=J,X=$?.getEdit(Z),Q={pendingValue:F2(J,X?.editorValue,!1,Z.column)};if(!X?.editorState?.cellStoppedEditing&&X?.state!=="editing")Q.state="changed";$?.setEdit(Z,Q)}function eZ(J,Z,$={}){if(!Z)Z=J.editModelSvc?.getEditPositions();if(Z)for(let X of Z)J5(J,X,$)}function J5(J,Z,$,X=t(J,Z)){let Y=J.editModelSvc,Q=Y?.getEdit(Z),q;if(Q&&Q.state!=="editing"&&Q.editorState?.cellStoppedEditing)q=Q.state;else q="changed";if(!X){if(Q)Y?.setEdit(Z,{state:q});return}let H=X.comp,_=H?.getCellEditor();if(H&&!_){if(X?.refreshCell(),Q){Y?.setEdit(Z,{state:q});let U=J.gos.get("enableGroupEdit")?n$(Q,$?.cancel):{valueChanged:!1,newValue:void 0,oldValue:Q.sourceValue};s$(J,Z,U,$)}return}if(k9(J)){let U=Q&&_?.getValidationErrors?.(),W=Y?.getCellValidationModel();if(U?.length)W?.setCellValidation(Z,{errorMessages:U});else W?.clearCellValidation(Z)}if(Q)Y?.setEdit(Z,{state:q});H?.setEditDetails(),H?.refreshEditStyles(!1,!1),X?.refreshCell({force:!0,suppressFlash:!0});let z=Y?.getEdit(Z);if(z&&z.state!=="editing"){let U=$?.cancel,W=J.gos.get("enableGroupEdit")?n$(z,U):O3(z,Q,U);s$(J,Z,W,$)}}function n$(J,Z){let{sourceValue:$,pendingValue:X}=J,Y;if(!Z&&X!==PJ)Y=X;return{valueChanged:!Z&&BZ(J),newValue:Y,oldValue:$,value:$}}function O3(J,Z,$){if($||J.editorState.isCancelAfterEnd)return{valueChanged:!1,newValue:void 0,oldValue:J.sourceValue};let X=J.editorValue;if(X==null||X===PJ)X=Z?.pendingValue;if(X===PJ)X=void 0;return{valueChanged:BZ(J),newValue:X,oldValue:J.sourceValue}}function s$(J,Z,$,{silent:X,event:Y}={}){let{editSvc:Q,editModelSvc:q}=J,H=q?.getEdit(Z),{editorState:_}=H||{},{isCancelBeforeStart:z,cellStartedEditing:U,cellStoppedEditing:W}=_||{};if(!X&&!z&&U&&!W)Q?.dispatchCellEvent(Z,Y,"cellEditingStopped",$),q?.setEdit(Z,{editorState:{cellStoppedEditing:!0}})}function S3(J){if(!J)return!1;for(let Z=0,$=J.length;Z<$;++Z){let X=J[Z],Y=X.cellEditorParams;if(!Y||!X.editable&&!X.groupRowEditable)continue;if(Y.minLength!==void 0||Y.maxLength!==void 0||Y.getValidationErrors!==void 0||Y.min!==void 0||Y.max!==void 0)return!0}return!1}function f3(J){let Z=J.rowRenderer.getCellCtrls();for(let $=0,X=Z.length;$0,k=D?L.join(". "):"";if(jX(F,D),D)X.announceValue(`${z} ${L}`,"editorValidation");if(F instanceof HTMLInputElement)F.setCustomValidity(k);else F.classList.toggle("invalid",D)}if(L?.length>0)$.setCellValidation({rowNode:K,column:E},{errorMessages:L});U.add(W.rowCtrl)}if(J0(J,{persist:!1}),Q?.setCellValidationModel($),H){let W=P3(J);Q?.setRowValidationModel(W)}for(let W of U.values()){W.rowEditStyleFeature?.applyRowStyles();for(let G of W.getAllCellCtrls())G.tooltipFeature?.refreshTooltip(!0),G.editorTooltipFeature?.refreshTooltip(!0),G.editStyleFeature?.applyCellStyles?.()}}var P3=(J)=>{let Z=new g1,$=J.gos.get("getFullRowEditValidationErrors"),X=J.editModelSvc?.getEditMap();if(!X)return Z;for(let Y of X.keys()){let Q=X.get(Y);if(!Q)continue;let q=[],{rowIndex:H,rowPinned:_}=Y;for(let U of Q.keys()){let W=Q.get(U);if(!W)continue;let{editorValue:G,pendingValue:B,sourceValue:K}=W,E=G??(B===PJ?void 0:B)??K;q.push({column:U,colId:U.getColId(),rowIndex:H,rowPinned:_,oldValue:K,newValue:E})}let z=$?.({editorsState:q})??[];if(z.length>0)Z.setRowValidation({rowNode:Y},{errorMessages:z})}return Z};function T3(J){q0(J,!0);let Z=J.editModelSvc?.getCellValidationModel().getCellValidationMap();if(!Z)return null;let $=[];return Z.forEach((X,Y)=>{X.forEach(({errorMessages:Q},q)=>{$.push({column:q,rowIndex:Y.rowIndex,rowPinned:Y.rowPinned,messages:Q??null})})}),$}function p6(J){return!!(J.rowPinned&&J.pinnedSibling)}function sJ(J,Z,$,X){let Y=Z==="top";if(!$)return sJ(J,Z,Y?J.getPinnedTopRow(0):J.getPinnedBottomRow(0),X);if(!X){let _=Y?J.getPinnedTopRowCount():J.getPinnedBottomRowCount();return sJ(J,Z,$,Y?J.getPinnedTopRow(_-1):J.getPinnedBottomRow(_-1))}let Q=!1,q=!1,H=[];return J.forEachPinnedRow(Z,(_)=>{if(_===$&&!Q){Q=!0,H.push(_);return}if(Q&&_===X){q=!0,H.push(_);return}if(Q&&!q)H.push(_)}),H}function v3(J,Z,$,{rowNode:X,column:Y},Q){return x(J.gos,{type:$,node:X,data:X.data,value:Q,column:Y,colDef:Y.getColDef(),rowPinned:X.rowPinned,event:Z,rowIndex:X.rowIndex})}function I3(J,Z=!1){if(J===V.DELETE)return!0;if(!Z&&J===V.BACKSPACE)return PY();return!1}var b3=class extends M{constructor(J,Z,$,X){super();this.cellCtrl=J,this.rowNode=$,this.rowCtrl=X,this.beans=Z}init(){this.eGui=this.cellCtrl.eGui}onKeyDown(J){let Z=J.key;if(Z===V.ENTER&&vJ(this.cellCtrl.column)&&this.beans.rowNumbersSvc?.handleKeyDownOnCell(this.cellCtrl.cellPosition,J))return;switch(Z){case V.ENTER:this.onEnterKeyDown(J);break;case V.F2:this.onF2KeyDown(J);break;case V.ESCAPE:this.onEscapeKeyDown(J);break;case V.TAB:this.onTabKeyDown(J);break;case V.BACKSPACE:case V.DELETE:this.onBackspaceOrDeleteKeyDown(Z,J);break;case V.DOWN:case V.UP:case V.RIGHT:case V.LEFT:this.onNavigationKeyDown(J,Z);break}}onNavigationKeyDown(J,Z){let{cellCtrl:$,beans:X}=this;if(X.editSvc?.isEditing($,{withOpenEditor:!0}))return;if(J.shiftKey&&$.isRangeSelectionEnabled())this.onShiftRangeSelect(J);else{let Y=$.getFocusedCellPosition();X.navigation?.navigateToNextCell(J,Z,Y,!0)}J.preventDefault()}onShiftRangeSelect(J){let{rangeSvc:Z,navigation:$}=this.beans;if(!Z)return;let X=Z.extendLatestRangeInDirection(J);if(!X)return;if(J.key===V.LEFT||J.key===V.RIGHT)$?.ensureColumnVisible(X.column);else $?.ensureRowVisible(X.rowIndex)}onTabKeyDown(J){this.beans.navigation?.onTabKeyDown(this.cellCtrl,J)}onBackspaceOrDeleteKeyDown(J,Z){let{cellCtrl:$,beans:X,rowNode:Y}=this,{gos:Q,rangeSvc:q,eventSvc:H,editSvc:_}=X;if(H.dispatchEvent({type:"keyShortcutChangedCellStart"}),I3(J,Q.get("enableCellEditingOnBackspace"))&&!_?.isEditing($,{withOpenEditor:!0})){if(q&&uJ(Q))q.clearCellRangeCellValues({dispatchWrapperEvents:!0,wrapperEventSource:"deleteKey"});else if($.isCellEditable()){let z=X.valueSvc.getDeleteValue($.column,Y);Y.setDataValue($.column,z,"cellClear")}}else if(!_?.isEditing($,{withOpenEditor:!0}))X.editSvc?.startEditing($,{startedEdit:!0,event:Z});H.dispatchEvent({type:"keyShortcutChangedCellEnd"})}onEnterKeyDown(J){let{cellCtrl:Z,beans:$}=this,{editSvc:X,navigation:Y}=$,Q=X?.isEditing(Z,{withOpenEditor:!0}),q=Z.rowNode,H=X?.isRowEditing(q,{withOpenEditor:!0}),_=(z)=>{if(X?.startEditing(z,{startedEdit:!0,event:J,source:"edit"}))J.preventDefault()};if(Q||H){if(this.isCtrlEnter(J)){X?.applyBulkEdit(Z,$?.rangeSvc?.getCellRanges()||[]);return}if(q0($),X?.checkNavWithValidation(void 0,J)==="block-stop")return;if(X?.isEditing(Z,{withOpenEditor:!0}))X?.stopEditing(Z,{event:J,source:"edit"});else if(H&&!Z.isCellEditable())X?.stopEditing({rowNode:q},{event:J,source:"edit"});else _(Z)}else if($.gos.get("enterNavigatesVertically")){let z=J.shiftKey?V.UP:V.DOWN;Y?.navigateToNextCell(null,z,Z.cellPosition,!1)}else{if(X?.hasValidationErrors())return;if(X?.hasValidationErrors(Z))X.revertSingleCellEdit(Z,!0);_(Z)}}isCtrlEnter(J){return(J.ctrlKey||J.metaKey)&&J.key===V.ENTER}onF2KeyDown(J){let{cellCtrl:Z,beans:{editSvc:$}}=this;if($?.isEditing()){if(q0(this.beans),$?.checkNavWithValidation(void 0,J)==="block-stop")return}$?.startEditing(Z,{startedEdit:!0,event:J})}onEscapeKeyDown(J){let{cellCtrl:Z,beans:{editSvc:$}}=this;if($?.checkNavWithValidation(Z,J)==="block-stop")$.revertSingleCellEdit(Z);setTimeout(()=>{$?.stopEditing(Z,{event:J,cancel:!0})})}processCharacter(J){let $=J.target!==this.eGui,{beans:{editSvc:X},cellCtrl:Y}=this;if($)return;if(X?.isEditing(Y,{withOpenEditor:!0}))return;if(J.key===V.SPACE)this.onSpaceKeyDown(J);else if(X?.isCellEditable(Y,"ui")){if(X?.hasValidationErrors()&&!X?.hasValidationErrors(Y))return;if(X?.startEditing(Y,{startedEdit:!0,event:J,source:"api",editable:!0}),!Y.editCompDetails?.params?.suppressPreventDefault)J.preventDefault()}}onSpaceKeyDown(J){let{gos:Z,editSvc:$}=this.beans,{rowNode:X}=this.cellCtrl;if(!$?.isEditing(this.cellCtrl,{withOpenEditor:!0})&&hZ(Z))this.beans.selectionSvc?.handleSelectionEvent(J,X,"spaceKey");J.preventDefault()}},C3=class extends M{constructor(J,Z,$){super();this.cellCtrl=J,this.column=$,this.beans=Z}onMouseEvent(J,Z){if(ZZ(Z))return;switch(J){case"click":this.onCellClicked(Z);break;case"pointerdown":case"mousedown":case"touchstart":this.onMouseDown(Z);break;case"dblclick":this.onCellDoubleClicked(Z);break;case"mouseout":this.onMouseOut(Z);break;case"mouseover":this.onMouseOver(Z);break}}onCellClicked(J){if(this.beans.touchSvc?.handleCellDoubleClick(this,J))return;let{eventSvc:Z,rangeSvc:$,editSvc:X,editModelSvc:Y,frameworkOverrides:Q,gos:q}=this.beans,H=J.ctrlKey||J.metaKey,{cellCtrl:_}=this,{column:z,cellPosition:U,rowNode:W}=_,G=s5(q,z,W,J);if($&&H&&!G){if($.getCellRangeCount(U)>1)$.intersectLastRange(!0)}let B=_.createEvent(J,"cellClicked");B.isEventHandlingSuppressed=G,Z.dispatchEvent(B);let K=z.getColDef();if(K.onCellClicked)window.setTimeout(()=>{Q.wrapOutgoing(()=>{K.onCellClicked(B)})},0);if(G)return;if(Y?.getState(_)!=="editing"){let E=X?.isEditing(),L=X?.isRangeSelectionEnabledWhileEditing(),F=Y?.getCellValidationModel().getCellValidationMap().size??0,D=Y?.getRowValidationModel().getRowValidationMap().size??0;if(E&&(L||F>0||D>0))return;if(X?.shouldStartEditing(_,J))X?.startEditing(_,{event:J});else if(X?.shouldStopEditing(_,J))if(this.beans.gos.get("editType")==="fullRow")X?.stopEditing(_,{event:J,source:"edit"});else X?.stopEditing(void 0,{event:J,source:"edit"})}}onCellDoubleClicked(J){let{column:Z,beans:$,cellCtrl:X}=this,{eventSvc:Y,frameworkOverrides:Q,editSvc:q,editModelSvc:H,gos:_}=$,z=s5(_,X.column,X.rowNode,J),U=Z.getColDef(),W=X.createEvent(J,"cellDoubleClicked");if(W.isEventHandlingSuppressed=z,Y.dispatchEvent(W),typeof U.onCellDoubleClicked==="function")window.setTimeout(()=>{Q.wrapOutgoing(()=>{U.onCellDoubleClicked(W)})},0);if(z)return;if(q?.shouldStartEditing(X,J)&&H?.getState(X)!=="editing"){let G=q?.isEditing(),B=q?.isRangeSelectionEnabledWhileEditing(),K=H?.getCellValidationModel().getCellValidationMap().size??0,E=H?.getRowValidationModel().getRowValidationMap().size??0;if(G&&(B||K>0||E>0))return;q?.startEditing(X,{event:J})}}onMouseDown(J){let{shiftKey:Z}=J,$=J.target,{cellCtrl:X,beans:Y}=this,{eventSvc:Q,rangeSvc:q,rowNumbersSvc:H,focusSvc:_,gos:z,editSvc:U}=Y,{column:W,rowNode:G,cellPosition:B}=X,K=s5(z,W,G,J),E=()=>{let k=X.createEvent(J,"cellMouseDown");k.isEventHandlingSuppressed=K,Q.dispatchEvent(k)};if(K){E();return}if(this.isRightClickInExistingRange(J))return;let L=q&&!q.isEmpty(),F=this.containsWidget($),D=vJ(W);if(H&&D&&!H.handleMouseDownOnCell(B,J))return;if(!Z||!L){let k=U?.isEditing(X),A=z.get("enableCellTextSelection")&&J.defaultPrevented,R=(c0()||A)&&!k&&!N2($)&&!F;X.focusCell(R,J)}if(Z&&L&&!_.isCellFocused(B)){J.preventDefault();let k=_.getFocusedCell();if(k){let{column:j,rowIndex:A,rowPinned:R}=k,f=!!U?.isRangeSelectionEnabledWhileEditing?.();if(U?.isEditing(k)&&!f)U?.stopEditing(k);if(!f)_.setFocusedCell({column:j,rowIndex:A,rowPinned:R,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,sourceEvent:J})}}if(F)return;q?.handleCellMouseDown(J,B),E()}isRightClickInExistingRange(J){let{rangeSvc:Z}=this.beans;if(Z){let $=Z.isCellInAnyRange(this.cellCtrl.cellPosition),X=w8(this.beans,J);if($&&X)return!0}return!1}containsWidget(J){return v0(J,"ag-selection-checkbox",3)||v0(J,"ag-drag-handle",3)}onMouseOut(J){if(this.mouseStayingInsideCell(J))return;let{eventSvc:Z,colHover:$}=this.beans;Z.dispatchEvent(this.cellCtrl.createEvent(J,"cellMouseOut")),$?.clearMouseOver()}onMouseOver(J){if(this.mouseStayingInsideCell(J))return;let{eventSvc:Z,colHover:$}=this.beans;Z.dispatchEvent(this.cellCtrl.createEvent(J,"cellMouseOver")),$?.setMouseOver([this.column])}mouseStayingInsideCell(J){if(!J.target||!J.relatedTarget)return!1;let Z=this.cellCtrl.eGui,$=Z.contains(J.target),X=Z.contains(J.relatedTarget);return $&&X}},x3=class extends M{constructor(J,Z){super();this.cellCtrl=J,this.beans=Z,this.column=J.column,this.rowNode=J.rowNode}setupRowSpan(){this.rowSpan=this.column.getRowSpan(this.rowNode),this.addManagedListeners(this.beans.eventSvc,{newColumnsLoaded:()=>this.onNewColumnsLoaded()})}init(){this.eSetLeft=this.cellCtrl.getRootElement(),this.eContent=this.cellCtrl.eGui;let J=this.cellCtrl.getCellSpan();if(!J)this.setupColSpan(),this.setupRowSpan();if(this.onLeftChanged(),this.onWidthChanged(),!J)this._legacyApplyRowSpan();if(J){let Z=this.refreshSpanHeight.bind(this,J);Z(),this.addManagedListeners(this.beans.eventSvc,{paginationChanged:Z,recalculateRowBounds:Z,pinnedHeightChanged:Z})}}refreshSpanHeight(J){let Z=J.getCellHeight();if(Z!=null)this.eContent.style.height=`${Z}px`}onNewColumnsLoaded(){let J=this.column.getRowSpan(this.rowNode);if(this.rowSpan===J)return;this.rowSpan=J,this._legacyApplyRowSpan(!0)}onDisplayColumnsChanged(){let J=this.getColSpanningList();if(!QJ(this.colsSpanning,J))this.colsSpanning=J,this.onWidthChanged(),this.onLeftChanged()}setupColSpan(){if(this.column.getColDef().colSpan==null)return;this.colsSpanning=this.getColSpanningList(),this.addManagedListeners(this.beans.eventSvc,{displayedColumnsChanged:this.onDisplayColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onWidthChanged.bind(this)})}onWidthChanged(){if(!this.eContent)return;let J=this.getCellWidth();this.eContent.style.width=`${J}px`}getCellWidth(){if(!this.colsSpanning)return this.column.getActualWidth();return this.colsSpanning.reduce((J,Z)=>J+Z.getActualWidth(),0)}getColSpanningList(){let{column:J,rowNode:Z}=this,$=J.getColSpan(Z),X=[];if($===1)X.push(J);else{let Y=J,Q=J.getPinned();for(let q=0;Y&&q<$;q++){if(X.push(Y),Y=this.beans.visibleCols.getColAfter(Y),!Y||d(Y))break;if(Q!==Y.getPinned())break}}return X}onLeftChanged(){if(!this.eSetLeft)return;let J=this.modifyLeftForPrintLayout(this.getCellLeft());this.eSetLeft.style.left=J+"px"}getCellLeft(){let J;if(this.beans.gos.get("enableRtl")&&this.colsSpanning)J=C(this.colsSpanning);else J=this.column;return J.getLeft()}modifyLeftForPrintLayout(J){if(!this.cellCtrl.printLayout||this.column.getPinned()==="left")return J;let{visibleCols:Z}=this.beans,$=Z.getColsLeftWidth();if(this.column.getPinned()==="right"){let X=Z.bodyWidth;return $+X+(J||0)}return $+(J||0)}_legacyApplyRowSpan(J){if(this.rowSpan===1&&!J)return;let $=ZY(this.beans)*this.rowSpan;this.eContent.style.height=`${$}px`,this.eContent.style.zIndex="1"}destroy(){super.destroy()}},y3="ag-cell",N3="ag-cell-auto-height",w3="ag-cell-normal-height",g3="ag-cell-focus",h3="ag-cell-first-right-pinned",u3="ag-cell-last-left-pinned",m3="ag-cell-not-inline-editing",c3="ag-cell-wrap-text",p3=0,u2=class extends M{constructor(J,Z,$,X){super();this.column=J,this.rowNode=Z,this.rowCtrl=X,this.rangeFeature=void 0,this.rowResizeFeature=void 0,this.positionFeature=void 0,this.customStyleFeature=void 0,this.editStyleFeature=void 0,this.mouseListener=void 0,this.keyboardListener=void 0,this.suppressRefreshCell=!1,this.onCompAttachedFuncs=[],this.onEditorAttachedFuncs=[],this.focusEventWhileNotReady=null,this.hasBeenFocused=!1,this.hasEdit=!1,this.tooltipFeature=void 0,this.editorTooltipFeature=void 0,this.beans=$,this.gos=$.gos,this.editSvc=$.editSvc,this.hasEdit=!!$.editSvc;let{colId:Y}=J;this.instanceId=Y+"-"+p3++,this.createCellPosition(),this.updateAndFormatValue(!1)}addFeatures(){let{beans:J}=this;this.positionFeature=new x3(this,J),this.customStyleFeature=J.cellStyles?.createCellCustomStyleFeature(this),this.editStyleFeature=J.editSvc?.createCellStyleFeature(this),this.mouseListener=new C3(this,J,this.column),this.keyboardListener=new b3(this,J,this.rowNode,this.rowCtrl),this.enableTooltipFeature();let{rangeSvc:Z}=J;if(Z&&uJ(J.gos))this.rangeFeature=Z.createCellRangeFeature(this);if(vJ(this.column))this.rowResizeFeature=this.beans.rowNumbersSvc.createRowNumbersRowResizerFeature(this)}isCellSpanning(){return!1}getCellSpan(){return}removeFeatures(){let J=this.beans.context;this.positionFeature=J.destroyBean(this.positionFeature),this.editorTooltipFeature=J.destroyBean(this.editorTooltipFeature),this.customStyleFeature=J.destroyBean(this.customStyleFeature),this.editStyleFeature=J.destroyBean(this.editStyleFeature),this.mouseListener=J.destroyBean(this.mouseListener),this.keyboardListener=J.destroyBean(this.keyboardListener),this.rangeFeature=J.destroyBean(this.rangeFeature),this.rowResizeFeature=J.destroyBean(this.rowResizeFeature),this.disableTooltipFeature()}enableTooltipFeature(J,Z){this.tooltipFeature=this.beans.tooltipSvc?.enableCellTooltipFeature(this,J,Z)}disableTooltipFeature(){this.tooltipFeature=this.beans.context.destroyBean(this.tooltipFeature)}enableEditorTooltipFeature(J){if(this.editorTooltipFeature)this.disableEditorTooltipFeature();this.editorTooltipFeature=this.beans.tooltipSvc?.setupCellEditorTooltip(this,J),q0(this.beans)}disableEditorTooltipFeature(){this.editorTooltipFeature=this.beans.context.destroyBean(this.editorTooltipFeature)}setComp(J,Z,$,X,Y,Q,q){this.comp=J,this.eGui=Z,this.printLayout=Y,q??(q=this),this.addDomData(q),this.addFeatures(),q.addDestroyFunc(()=>this.removeFeatures()),this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.setupFocus(),this.applyStaticCssClasses(),this.setWrapText(),this.onFirstRightPinnedChanged(),this.onLastLeftPinnedChanged(),this.onColumnHover(),this.setupControlComps(),this.setupAutoHeight(X,q),this.refreshFirstAndLastStyles(),this.checkFormulaError(),this.refreshAriaRowIndex(),this.refreshAriaColIndex(),this.positionFeature?.init(),this.customStyleFeature?.setComp(J),this.editStyleFeature?.setComp(J),this.tooltipFeature?.refreshTooltip(),this.keyboardListener?.init(),this.rangeFeature?.setComp(J),this.rowResizeFeature?.refreshRowResizer();let H=Q?this.isCellEditable():void 0,_=!H&&this.hasEdit&&this.editSvc?.isEditing(this,{withOpenEditor:!0});if(H||_)this.editSvc?.startEditing(this,{startedEdit:!1,source:"api",silent:!0,continueEditing:!0,editable:H});else this.showValue(!1,!0);if(this.onCompAttachedFuncs.length){for(let z of this.onCompAttachedFuncs)z();this.onCompAttachedFuncs=[]}}checkFormulaError(){let J=!!this.beans.formula?.getFormulaError(this.column,this.rowNode);this.eGui.classList.toggle("formula-error",J)}setupAutoHeight(J,Z){this.isAutoHeight=this.beans.rowAutoHeight?.setupCellAutoHeight(this,J,Z)??!1}getCellAriaRole(){return this.column.getColDef().cellAriaRole??"gridcell"}isCellRenderer(){let J=this.column.getColDef();return J.cellRenderer!=null||J.cellRendererSelector!=null}getValueToDisplay(){return this.valueFormatted??this.value}getDeferLoadingCellRenderer(){let{beans:J,column:Z}=this,{userCompFactory:$,ctrlsSvc:X,eventSvc:Y}=J,Q=Z.getColDef(),q=this.createCellRendererParams();q.deferRender=!0;let H=K$($,Q,q);if(X.getGridBodyCtrl()?.scrollFeature?.isScrolling()){let _,z=new g((W)=>{_=W}),[U]=this.addManagedListeners(Y,{bodyScrollEnd:()=>{_(),U()}});return{loadingComp:H,onReady:z}}return{loadingComp:H,onReady:g.resolve()}}showValue(J,Z){let{beans:$,column:X,rowNode:Y,rangeFeature:Q}=this,{userCompFactory:q}=$,H=this.getValueToDisplay(),_,z=Y.stub&&Y.groupData?.[X.getId()]==null,U=X.getColDef();if(z||this.isCellRenderer()){let W=this.createCellRendererParams();if(!z||vJ(X))_=o2(q,U,W);else _=K$(q,U,W)}if(!_&&!z&&$.findSvc?.isMatch(Y,X)){let W=this.createCellRendererParams();_=o2(q,{...X.getColDef(),cellRenderer:"agFindCellRenderer"},W)}if(this.hasEdit&&this.editSvc.isBatchEditing()&&this.editSvc.isRowEditing(Y,{checkSiblings:!0})){let W=this.editSvc.prepDetailsDuringBatch(this,{compDetails:_,valueToDisplay:H});if(W){if(W.compDetails)_=W.compDetails;else if(W.valueToDisplay)H=W.valueToDisplay}}if(this.comp.setRenderDetails(_,H,J),this.customRowDragComp?.refreshVisibility(),!Z&&Q)qZ($,()=>Q?.refreshRangeStyleAndHandle());this.rowResizeFeature?.refreshRowResizer()}setupControlComps(){let J=this.column.getColDef();this.includeSelection=this.isIncludeControl(this.isCheckboxSelection(J),!0),this.includeRowDrag=this.isIncludeControl(J.rowDrag),this.includeDndSource=this.isIncludeControl(J.dndSource),this.comp.setIncludeSelection(this.includeSelection),this.comp.setIncludeDndSource(this.includeDndSource),this.comp.setIncludeRowDrag(this.includeRowDrag)}isForceWrapper(){return this.beans.gos.get("enableCellTextSelection")||this.column.isAutoHeight()}getCellValueClass(){let Z=this.column.getColDef().cellRenderer==="agCheckboxCellRenderer",$="";if(Z)$=" ag-allow-overflow";return`ag-cell-value${$}`}isIncludeControl(J,Z=!1){return(this.rowNode.rowPinned==null||Z&&p6(this.rowNode))&&!!J}isCheckboxSelection(J){let{rowSelection:Z,groupDisplayType:$}=this.beans.gridOptions,X=K2(Z),Y=IZ(this.column);if($==="custom"&&X!=="selectionColumn"&&Y)return!1;return J.checkboxSelection||Y&&typeof Z==="object"&&$0(Z)}refreshShouldDestroy(){let J=this.column.getColDef(),Z=this.includeSelection!=this.isIncludeControl(this.isCheckboxSelection(J),!0),$=this.includeRowDrag!=this.isIncludeControl(J.rowDrag),X=this.includeDndSource!=this.isIncludeControl(J.dndSource),Y=this.isAutoHeight!=this.column.isAutoHeight();return Z||$||X||Y}onPopupEditorClosed(J){let{editSvc:Z}=this.beans;if(!Z?.isEditing(this,{withOpenEditor:!0}))return;let $=J instanceof KeyboardEvent,X=J instanceof MouseEvent,Y=$&&J.key===V.ESCAPE;if(Z.stopEditing(this,{source:Z.isBatchEditing()?"ui":"api",cancel:Y,event:$||X?J:void 0}),Y)this.focusCell(!0,J)}stopEditing(J=!1){let{editSvc:Z}=this.beans;return Z?.stopEditing(this,{cancel:J,source:Z?.isBatchEditing()?"ui":"api"})??!1}createCellRendererParams(){let{value:J,valueFormatted:Z,column:$,rowNode:X,comp:Y,eGui:Q,beans:{valueSvc:q,gos:H,editSvc:_}}=this;return x(H,{value:J,valueFormatted:Z,getValue:()=>q.getValueForDisplay({column:$,node:X,from:"edit"}).value,setValue:(U)=>_?.setDataValue({rowNode:X,column:$},U)||X.setDataValue($,U),formatValue:this.formatValue.bind(this),data:X.data,node:X,pinned:$.getPinned(),colDef:$.getColDef(),column:$,refreshCell:this.refreshCell.bind(this),eGridCell:Q,eParentOfValue:Y.getParentOfValue(),registerRowDragger:(U,W,G,B)=>this.registerRowDragger(U,W,B),setTooltip:(U,W)=>{if(H.assertModuleRegistered("Tooltip",3),this.tooltipFeature)this.disableTooltipFeature();this.enableTooltipFeature(U,W),this.tooltipFeature?.refreshTooltip()}})}onCellChanged(J){if(J.column===this.column)this.refreshCell()}refreshOrDestroyCell(J){if(this.refreshShouldDestroy())this.rowCtrl?.recreateCell(this);else this.refreshCell(J);if(this.hasEdit&&this.editCompDetails){let{editSvc:Z,comp:$}=this;if(!$?.getCellEditor()&&Z.isEditing(this,{withOpenEditor:!0}))Z.startEditing(this,{startedEdit:!1,source:"api",silent:!0})}}refreshCell(J){let{editStyleFeature:Z,customStyleFeature:$,rowCtrl:{rowEditStyleFeature:X},beans:{cellFlashSvc:Y,filterManager:Q},column:q,comp:H,suppressRefreshCell:_,tooltipFeature:z}=this;if(_)return;let{field:U,valueGetter:W,showRowGroup:G,enableCellChangeFlash:B}=q.getColDef(),K=U==null&&W==null&&G==null,E=J?.newData??!1,L=K||J&&(J.force||E),F=!!H,D=this.updateAndFormatValue(F),k=L||D;if(!F)return;if(k){this.showValue(!!E,!1);let j=Q?.isSuppressFlashingCellsBecauseFiltering();if(!J?.suppressFlash&&!j&&B)Y?.flashCell(this);Z?.applyCellStyles?.(),$?.applyUserStyles(),$?.applyClassesFromColDef(),X?.applyRowStyles(),this.checkFormulaError()}z?.refreshTooltip(),$?.applyCellClassRules()}isCellEditable(){return this.column.isCellEditable(this.rowNode)}formatValue(J){return this.callValueFormatter(J)??J}callValueFormatter(J){return this.beans.valueSvc.formatValue(this.column,this.rowNode,J)}updateAndFormatValue(J){let Z=this.value,$=this.valueFormatted,{value:X,valueFormatted:Y}=this.beans.valueSvc.getValueForDisplay({column:this.column,node:this.rowNode,includeValueFormatted:!0,from:"edit"});if(this.value=X,this.valueFormatted=Y,J)return!this.valuesAreEqual(Z,this.value)||this.valueFormatted!=$;return!0}valuesAreEqual(J,Z){let $=this.column.getColDef();return $.equals?$.equals(J,Z):J===Z}addDomData(J){let Z=this.eGui;N0(this.beans.gos,Z,_6,this),J.addDestroyFunc(()=>N0(this.beans.gos,Z,_6,null))}createEvent(J,Z){let{rowNode:$,column:X,value:Y,beans:Q}=this;return v3(Q,J,Z,{rowNode:$,column:X},Y)}processCharacter(J){this.keyboardListener?.processCharacter(J)}onKeyDown(J){this.keyboardListener?.onKeyDown(J)}onMouseEvent(J,Z){this.mouseListener?.onMouseEvent(J,Z)}getColSpanningList(){return this.positionFeature?.getColSpanningList()??[]}onLeftChanged(){if(!this.comp)return;this.positionFeature?.onLeftChanged()}onDisplayedColumnsChanged(){if(!this.eGui)return;this.refreshAriaColIndex(),this.refreshFirstAndLastStyles()}refreshFirstAndLastStyles(){let{comp:J,column:Z,beans:$}=this;pY(J,Z,$.visibleCols)}refreshAriaColIndex(){let J=this.beans.visibleCols.getAriaColIndex(this.column);OX(this.eGui,J)}onWidthChanged(){return this.positionFeature?.onWidthChanged()}getRowPosition(){let{rowIndex:J,rowPinned:Z}=this.cellPosition;return{rowIndex:J,rowPinned:Z}}updateRangeBordersIfRangeCount(){if(!this.comp)return;this.rangeFeature?.updateRangeBordersIfRangeCount()}onCellSelectionChanged(){if(!this.comp)return;this.rangeFeature?.onCellSelectionChanged()}isRangeSelectionEnabled(){return this.rangeFeature!=null}focusCell(J=!1,Z){let $=this.editSvc?.allowedFocusTargetOnValidation(this);if($&&$!==this)return;this.beans.focusSvc.setFocusedCell({...this.getFocusedCellPosition(),forceBrowserFocus:J,sourceEvent:Z})}restoreFocus(J=!1){let{beans:{editSvc:Z,focusSvc:$},comp:X}=this;if(!X||Z?.isEditing(this)||!this.isCellFocused()||!$.shouldTakeFocus())return;let Y=()=>{if(!this.isAlive())return;let Q=X.getFocusableElement();if(this.isCellFocused())Q.focus({preventScroll:!0})};if(J){setTimeout(Y,0);return}Y()}onRowIndexChanged(){this.createCellPosition(),this.refreshAriaRowIndex(),this.onCellFocused(),this.restoreFocus(),this.rangeFeature?.onCellSelectionChanged(),this.rowResizeFeature?.refreshRowResizer()}onSuppressCellFocusChanged(J){let Z=this.eGui;if(!Z)return;P0(Z,"tabindex",J?void 0:-1)}onFirstRightPinnedChanged(){if(!this.comp)return;let J=this.column.isFirstRightPinned();this.comp.toggleCss(h3,J)}onLastLeftPinnedChanged(){if(!this.comp)return;let J=this.column.isLastLeftPinned();this.comp.toggleCss(u3,J)}checkCellFocused(){return this.beans.focusSvc.isCellFocused(this.cellPosition)}isCellFocused(){let J=this.checkCellFocused();return this.hasBeenFocused||(this.hasBeenFocused=J),J}setupFocus(){this.restoreFocus(!0),this.onCellFocused(this.focusEventWhileNotReady??void 0)}onCellFocused(J){let{beans:Z}=this;if(H6(Z))return;if(!this.comp){if(J)this.focusEventWhileNotReady=J;return}let $=this.isCellFocused(),X=Z.editSvc?.isEditing(this)??!1;if(this.comp.toggleCss(g3,$),$&&(J?.forceBrowserFocus||!this.hasBrowserFocus()&&this.beans.focusSvc.shouldTakeFocus())){let Y=this.comp.getFocusableElement();if(X){let q=KZ(Y,null,!0);if(q.length)Y=q[0]}let Q=J?J.preventScrollOnBrowserFocus:!0;Y.focus({preventScroll:Q}),pq(Z,Y)}if($&&this.focusEventWhileNotReady)this.focusEventWhileNotReady=null;if($&&J)this.rowCtrl.announceDescription()}createCellPosition(){let{rowIndex:J,rowPinned:Z}=this.rowNode;this.cellPosition={rowIndex:J,rowPinned:OZ(Z),column:this.column}}applyStaticCssClasses(){let{comp:J}=this;J.toggleCss(y3,!0),J.toggleCss(m3,!0);let Z=this.column.isAutoHeight()==!0;J.toggleCss(N3,Z),J.toggleCss(w3,!Z)}onColumnHover(){this.beans.colHover?.onCellColumnHover(this.column,this.comp)}onColDefChanged(){if(!this.comp)return;if(this.column.isTooltipEnabled())this.disableTooltipFeature(),this.enableTooltipFeature();else this.disableTooltipFeature();if(this.setWrapText(),this.editSvc?.isEditing(this))this.editSvc?.handleColDefChanged(this);else this.refreshOrDestroyCell({force:!0,suppressFlash:!0})}setWrapText(){let J=this.column.getColDef().wrapText==!0;this.comp.toggleCss(c3,J)}dispatchCellContextMenuEvent(J){let Z=this.column.getColDef(),$=this.createEvent(J,"cellContextMenu"),{beans:X}=this;if(X.eventSvc.dispatchEvent($),Z.onCellContextMenu)window.setTimeout(()=>{X.frameworkOverrides.wrapOutgoing(()=>{Z.onCellContextMenu($)})},0)}getCellRenderer(){return this.comp?.getCellRenderer()??null}destroy(){if(this.onCompAttachedFuncs=[],this.onEditorAttachedFuncs=[],this.isCellFocused()&&this.hasBrowserFocus())this.beans.focusSvc.attemptToRecoverFocus();super.destroy()}hasBrowserFocus(){return this.eGui?.contains(n(this.beans))??!1}createSelectionCheckbox(){let J=this.beans.selectionSvc?.createCheckboxSelectionComponent();if(!J)return;return this.beans.context.createBean(J),J.init({rowNode:this.rowNode,column:this.column}),J}createDndSource(){let J=this.beans.registry.createDynamicBean("dndSourceComp",!1,this.rowNode,this.column,this.eGui);if(J)this.beans.context.createBean(J);return J}registerRowDragger(J,Z,$){if(this.customRowDragComp){this.customRowDragComp.setDragElement(J,Z);return}let X=this.createRowDragComp(J,Z,$);if(X)this.customRowDragComp=X,this.addDestroyFunc(()=>{this.beans.context.destroyBean(X),this.customRowDragComp=null}),X.refreshVisibility()}createRowDragComp(J,Z,$){let X=this.beans.rowDragSvc?.createRowDragCompForCell(this.rowNode,this.column,()=>this.value,J,Z,$);if(!X)return;return this.beans.context.createBean(X),X}cellEditorAttached(){for(let J of this.onEditorAttachedFuncs)J();this.onEditorAttachedFuncs=[]}setFocusedCellPosition(J){}getFocusedCellPosition(){return this.cellPosition}refreshAriaRowIndex(){if(!vJ(this.column)||!this.eGui)return;let{ariaRowIndex:J}=this.rowCtrl;if(J!=null)o5(this.eGui,J)}getRootElement(){return this.eGui}};function c1(J,Z,$,X,Y,Q){if($==null&&Z==null)return;let q={},H={},_=(z,U)=>{for(let W of z.split(" ")){if(W.trim()=="")continue;U(W)}};if($){let z=Object.keys($);for(let U=0;U{if(B)q[K]=!0;else H[K]=!0})}}if(Z&&Q)for(let z of Object.keys(Z))_(z,(U)=>{if(!q[U])H[U]=!0});if(Q)Object.keys(H).forEach(Q);Object.keys(q).forEach(Y)}function r$(J){if(J.group)return J.level;let Z=J.parent;return Z?Z.level+1:0}var i3=0,E8=class extends M{constructor(J,Z,$,X,Y){super();this.rowNode=J,this.useAnimationFrameForCreate=X,this.printLayout=Y,this.focusEventWhileNotReady=null,this.allRowGuis=[],this.active=!0,this.centerCellCtrls={list:[],map:{}},this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}},this.slideInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.fadeInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.rowDragComps=[],this.lastMouseDownOnDragger=!1,this.emptyStyle={},this.updateColumnListsPending=!1,this.rowId=null,this.ariaRowIndex=null,this.businessKey=null,this.beans=Z,this.gos=Z.gos,this.paginationPage=Z.pagination?.getCurrentPage()??0,this.suppressRowTransform=this.gos.get("suppressRowTransform"),this.instanceId=J.id+"-"+i3++,this.rowId=GJ(J.id),this.initRowBusinessKey(),this.rowFocused=Z.focusSvc.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned),this.rowLevel=r$(this.rowNode),this.setRowType(),this.setAnimateFlags($),this.rowStyles=this.processStylesFromGridOptions(),this.rowEditStyleFeature=Z.editSvc?.createRowStyleFeature(this),this.addListeners()}initRowBusinessKey(){this.businessKeyForNodeFunc=this.gos.get("getBusinessKeyForNode"),this.updateRowBusinessKey()}updateRowBusinessKey(){if(typeof this.businessKeyForNodeFunc!=="function")return;let J=this.businessKeyForNodeFunc(this.rowNode);this.businessKey=GJ(J)}updateGui(J,Z){if(J==="left")this.leftGui=Z;else if(J==="right")this.rightGui=Z;else if(J==="fullWidth")this.fullWidthGui=Z;else this.centerGui=Z}setComp(J,Z,$,X){let{context:Y,rowRenderer:Q}=this.beans;X=B5(this,Y,X);let q={rowComp:J,element:Z,containerType:$,compBean:X};this.allRowGuis.push(q),this.updateGui($,q),this.initialiseRowComp(q);let H=this.rowNode,_=this.rowType==="FullWidthLoading"||H.stub,z=!H.data&&this.beans.rowModel.getType()==="infinite";if(!_&&!z&&!H.rowPinned)Q.dispatchFirstDataRenderedEvent();this.setupFocus()}unsetComp(J){this.allRowGuis=this.allRowGuis.filter((Z)=>Z.containerType!==J),this.updateGui(J,void 0)}isCacheable(){return this.rowType==="FullWidthDetail"&&this.gos.get("keepDetailRows")}setCached(J){let Z=J?"none":"";for(let $ of this.allRowGuis)$.element.style.display=Z}initialiseRowComp(J){let Z=this.gos;if(this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.listenOnDomOrder(J),this.onRowHeightChanged(J),this.updateRowIndexes(J),this.setFocusedClasses(J),this.setStylesFromGridOptions(!1,J),hZ(Z)&&this.rowNode.selectable)this.onRowSelected(J);this.updateColumnLists(!this.useAnimationFrameForCreate);let $=J.rowComp,X=this.getInitialRowClasses(J.containerType);for(let Y of X)$.toggleCss(Y,!0);if(this.executeSlideAndFadeAnimations(J),this.rowNode.group)NJ(J.element,!!this.rowNode.expanded);if(this.setRowCompRowId($),this.setRowCompRowBusinessKey($),N0(Z,J.element,z6,this),J.compBean.addDestroyFunc(()=>N0(Z,J.element,z6,null)),this.useAnimationFrameForCreate)this.beans.animationFrameSvc.createTask(this.addHoverFunctionality.bind(this,J),this.rowNode.rowIndex,"p2",!1);else this.addHoverFunctionality(J);if(this.isFullWidth())this.setupFullWidth(J);if(Z.get("rowDragEntireRow"))this.addRowDraggerToRow(J);if(this.useAnimationFrameForCreate)this.beans.animationFrameSvc.addDestroyTask(()=>{if(!this.isAlive())return;J.rowComp.toggleCss("ag-after-created",!0)});this.executeProcessRowPostCreateFunc()}setRowCompRowBusinessKey(J){if(this.businessKey==null)return;J.setRowBusinessKey(this.businessKey)}setRowCompRowId(J){let Z=GJ(this.rowNode.id);if(this.rowId=Z,Z==null)return;J.setRowId(Z)}executeSlideAndFadeAnimations(J){let{containerType:Z}=J;if(this.slideInAnimation[Z])a7(()=>{this.onTopChanged()}),this.slideInAnimation[Z]=!1;if(this.fadeInAnimation[Z])a7(()=>{J.rowComp.toggleCss("ag-opacity-zero",!1)}),this.fadeInAnimation[Z]=!1}addRowDraggerToRow(J){let Z=this.beans.rowDragSvc?.createRowDragCompForRow(this.rowNode,J.element);if(!Z)return;let $=this.createBean(Z,this.beans.context);this.rowDragComps.push($),J.compBean.addDestroyFunc(()=>{this.rowDragComps=this.rowDragComps.filter((X)=>X!==$),this.rowEditStyleFeature=this.destroyBean(this.rowEditStyleFeature,this.beans.context),this.destroyBean($,this.beans.context)})}setupFullWidth(J){let Z=this.getPinnedForContainer(J.containerType),$=this.createFullWidthCompDetails(J.element,Z);J.rowComp.showFullWidth($)}getFullWidthCellRenderers(){if(this.gos.get("embedFullWidthRows"))return this.allRowGuis.map((J)=>J?.rowComp?.getFullWidthCellRenderer());return[this.fullWidthGui?.rowComp?.getFullWidthCellRenderer()]}executeProcessRowPostCreateFunc(){let J=this.gos.getCallback("processRowPostCreate");if(!J||!this.areAllContainersReady())return;let Z={eRow:this.centerGui.element,ePinnedLeftRow:this.leftGui?this.leftGui.element:void 0,ePinnedRightRow:this.rightGui?this.rightGui.element:void 0,node:this.rowNode,rowIndex:this.rowNode.rowIndex,addRenderedRowListener:this.addEventListener.bind(this)};J(Z)}areAllContainersReady(){let{leftGui:J,centerGui:Z,rightGui:$,beans:{visibleCols:X}}=this,Y=!!J||!X.isPinningLeft(),Q=!!Z,q=!!$||!X.isPinningRight();return Y&&Q&&q}isNodeFullWidthCell(){if(this.rowNode.detail)return!0;let J=this.beans.gos.getCallback("isFullWidthRow");return J?J({rowNode:this.rowNode}):!1}setRowType(){let{rowNode:J,gos:Z,beans:{colModel:$}}=this,X=J.stub&&!Z.get("suppressServerSideFullWidthLoadingRow")&&!Z.get("groupHideOpenParents"),Y=this.isNodeFullWidthCell(),Q=Z.get("masterDetail")&&J.detail,q=$.isPivotMode(),H=XY(Z,J,q);if(X)this.rowType="FullWidthLoading";else if(Q)this.rowType="FullWidthDetail";else if(Y)this.rowType="FullWidth";else if(H)this.rowType="FullWidthGroup";else this.rowType="Normal"}updateColumnLists(J=!1,Z=!1){if(this.isFullWidth())return;let{animationFrameSvc:$}=this.beans;if(!$?.active||J||this.printLayout){this.updateColumnListsImpl(Z);return}if(this.updateColumnListsPending)return;$.createTask(()=>{if(!this.active)return;this.updateColumnListsImpl(!0)},this.rowNode.rowIndex,"p1",!1),this.updateColumnListsPending=!0}getNewCellCtrl(J){if(this.beans.rowSpanSvc?.isCellSpanning(J,this.rowNode))return;return new u2(J,this.rowNode,this.beans,this)}isCorrectCtrlForSpan(J){return!this.beans.rowSpanSvc?.isCellSpanning(J.column,this.rowNode)}createCellCtrls(J,Z,$=null){let X={list:[],map:{}},Y=(z,U,W)=>{if(W!=null)X.list.splice(W,0,U);else X.list.push(U);X.map[z]=U},Q=[];for(let z of Z){let U=z.getInstanceId(),W=J.map[U];if(W&&!this.isCorrectCtrlForSpan(W))W.destroy(),W=void 0;if(!W)W=this.getNewCellCtrl(z);if(!W)continue;Y(U,W)}for(let z of J.list){let U=z.column.getInstanceId();if(X.map[U]!=null)continue;if(!this.isCellEligibleToBeRemoved(z,$))Q.push([U,z]);else z.destroy()}if(Q.length)for(let[z,U]of Q){let W=X.list.findIndex((B)=>B.column.getLeft()>U.column.getLeft()),G=W===-1?void 0:Math.max(W-1,0);Y(z,U,G)}let{focusSvc:q,visibleCols:H}=this.beans,_=q.getFocusedCell();if(_&&_.column.getPinned()==$){let z=_.column.getInstanceId();if(!X.map[z]&&H.allCols.includes(_.column)){let W=this.createFocusedCellCtrl();if(W){let G=X.list.findIndex((K)=>K.column.getLeft()>W.column.getLeft()),B=G===-1?void 0:Math.max(G-1,0);Y(z,W,B)}}}return X}createFocusedCellCtrl(){let{focusSvc:J,rowSpanSvc:Z}=this.beans,$=J.getFocusedCell();if(!$)return;let X=Z?.getCellSpan($.column,this.rowNode);if(X){if(X.firstNode!==this.rowNode||!X.doesSpanContain($))return}else if(!J.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))return;return this.getNewCellCtrl($.column)}updateColumnListsImpl(J){this.updateColumnListsPending=!1,this.createAllCellCtrls(),this.setCellCtrls(J)}setCellCtrls(J){for(let Z of this.allRowGuis){let $=this.getCellCtrlsForContainer(Z.containerType);Z.rowComp.setCellCtrls($,J)}}getCellCtrlsForContainer(J){switch(J){case"left":return this.leftCellCtrls.list;case"right":return this.rightCellCtrls.list;case"fullWidth":return[];case"center":return this.centerCellCtrls.list}}createAllCellCtrls(){let J=this.beans.colViewport,Z=this.beans.visibleCols;if(this.printLayout)this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,Z.allCols),this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}};else{let $=J.getColsWithinViewport(this.rowNode);this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,$);let X=Z.getLeftColsForRow(this.rowNode);this.leftCellCtrls=this.createCellCtrls(this.leftCellCtrls,X,"left");let Y=Z.getRightColsForRow(this.rowNode);this.rightCellCtrls=this.createCellCtrls(this.rightCellCtrls,Y,"right")}}isCellEligibleToBeRemoved(J,Z){let{column:Y}=J;if(Y.getPinned()!=Z)return!0;if(!this.isCorrectCtrlForSpan(J))return!0;let{visibleCols:Q,editSvc:q}=this.beans,H=q?.isEditing(J),_=J.isCellFocused();if(H||_)return Q.allCols.indexOf(Y)>=0?!1:!0;return!0}getDomOrder(){return this.gos.get("ensureDomOrder")||jJ(this.gos,"print")}listenOnDomOrder(J){let Z=()=>{J.rowComp.setDomOrder(this.getDomOrder())};J.compBean.addManagedPropertyListeners(["domLayout","ensureDomOrder"],Z)}setAnimateFlags(J){if(this.rowNode.sticky||!J)return;let Z=T(this.rowNode.oldRowTop),{visibleCols:$}=this.beans,X=$.isPinningLeft(),Y=$.isPinningRight();if(Z){let{slideInAnimation:Q}=this;if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows")){Q.fullWidth=!0;return}Q.center=!0,Q.left=X,Q.right=Y}else{let{fadeInAnimation:Q}=this;if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows")){Q.fullWidth=!0;return}Q.center=!0,Q.left=X,Q.right=Y}}isFullWidth(){return this.rowType!=="Normal"}refreshFullWidth(){let J=(q,H)=>{if(!q)return!0;return q.rowComp.refreshFullWidth(()=>{return this.createFullWidthCompDetails(q.element,H).params})},Z=J(this.fullWidthGui,null),$=J(this.centerGui,null),X=J(this.leftGui,"left"),Y=J(this.rightGui,"right");return Z&&$&&X&&Y}addListeners(){let{beans:J,gos:Z,rowNode:$}=this,{expansionSvc:X,eventSvc:Y,context:Q,rowSpanSvc:q}=J;if(this.addManagedListeners(this.rowNode,{heightChanged:()=>this.onRowHeightChanged(),rowSelected:()=>this.onRowSelected(),rowIndexChanged:this.onRowIndexChanged.bind(this),topChanged:this.onTopChanged.bind(this),...X?.getRowExpandedListeners(this)??{}}),$.detail)this.addManagedListeners($.parent,{dataChanged:this.onRowNodeDataChanged.bind(this)});if(this.addManagedListeners($,{dataChanged:this.onRowNodeDataChanged.bind(this),cellChanged:this.postProcessCss.bind(this),rowHighlightChanged:this.onRowNodeHighlightChanged.bind(this),draggingChanged:this.postProcessRowDragging.bind(this),uiLevelChanged:this.onUiLevelChanged.bind(this),rowPinned:this.onRowPinned.bind(this)}),this.addManagedListeners(Y,{paginationPixelOffsetChanged:this.onPaginationPixelOffsetChanged.bind(this),heightScaleChanged:this.onTopChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:this.onVirtualColumnsChanged.bind(this),cellFocused:this.onCellFocusChanged.bind(this),cellFocusCleared:this.onCellFocusChanged.bind(this),paginationChanged:this.onPaginationChanged.bind(this),modelUpdated:this.refreshFirstAndLastRowStyles.bind(this),columnMoved:()=>this.updateColumnLists()}),q)this.addManagedListeners(q,{spannedCellsUpdated:({pinned:H})=>{if(H&&!$.rowPinned)return;this.updateColumnLists()}});this.addDestroyFunc(()=>{this.rowDragComps=this.destroyBeans(this.rowDragComps,Q),this.tooltipFeature=this.destroyBean(this.tooltipFeature,Q),this.rowEditStyleFeature=this.destroyBean(this.rowEditStyleFeature,Q)}),this.addManagedPropertyListeners(["rowStyle","getRowStyle","rowClass","getRowClass","rowClassRules"],this.postProcessCss.bind(this)),this.addManagedPropertyListener("rowDragEntireRow",()=>{if(Z.get("rowDragEntireRow")){for(let _ of this.allRowGuis)this.addRowDraggerToRow(_);return}this.rowDragComps=this.destroyBeans(this.rowDragComps,Q)}),this.addListenersForCellComps()}addListenersForCellComps(){this.addManagedListeners(this.rowNode,{rowIndexChanged:()=>{for(let J of this.getAllCellCtrls())J.onRowIndexChanged()},cellChanged:(J)=>{for(let Z of this.getAllCellCtrls())Z.onCellChanged(J)}})}onRowPinned(){for(let J of this.allRowGuis)J.rowComp.toggleCss("ag-row-pinned-source",!!this.rowNode.pinnedSibling)}onRowNodeDataChanged(J){this.refreshRow({suppressFlash:!J.update,newData:!J.update})}refreshRow(J){if(this.isFullWidth()!==!!this.isNodeFullWidthCell()){this.beans.rowRenderer.redrawRow(this.rowNode);return}if(this.isFullWidth()){if(!this.refreshFullWidth())this.beans.rowRenderer.redrawRow(this.rowNode);return}for(let $ of this.getAllCellCtrls())$.refreshCell(J);for(let $ of this.allRowGuis)this.setRowCompRowId($.rowComp),this.updateRowBusinessKey(),this.setRowCompRowBusinessKey($.rowComp);this.onRowSelected(),this.postProcessCss()}postProcessCss(){this.setStylesFromGridOptions(!0),this.postProcessClassesFromGridOptions(),this.postProcessRowClassRules(),this.rowEditStyleFeature?.applyRowStyles(),this.postProcessRowDragging()}onRowNodeHighlightChanged(){let J=this.beans.rowDropHighlightSvc,Z=J?.row===this.rowNode?J.position:"none",$=Z==="above",X=Z==="inside",Y=Z==="below",Q=Z!=="none",q=$||Y,H=this.rowNode.uiLevel,_=q&&H>0,z=_?H.toString():"0";for(let U of this.allRowGuis){let W=U.rowComp;if(W.toggleCss("ag-row-highlight-above",$),W.toggleCss("ag-row-highlight-inside",X),W.toggleCss("ag-row-highlight-below",Y),W.toggleCss("ag-row-highlight-indent",_),Q)U.element.style.setProperty("--ag-row-highlight-level",z);else U.element.style.removeProperty("--ag-row-highlight-level")}}postProcessRowDragging(){let J=this.rowNode.dragging;for(let Z of this.allRowGuis)Z.rowComp.toggleCss("ag-row-dragging",J)}onDisplayedColumnsChanged(){this.updateColumnLists(!0),this.beans.rowAutoHeight?.requestCheckAutoHeight()}onVirtualColumnsChanged(){this.updateColumnLists(!1,!0)}getRowPosition(){return{rowPinned:OZ(this.rowNode.rowPinned),rowIndex:this.rowNode.rowIndex}}onKeyboardNavigate(J){let Z=this.findFullWidthInfoForEvent(J);if(!Z)return;let{rowGui:$,column:X}=Z;if($.element!==J.target)return;let q=this.rowNode,{focusSvc:H,navigation:_}=this.beans,z=H.getFocusedCell(),U={rowIndex:q.rowIndex,rowPinned:q.rowPinned,column:z?.column??X};_?.navigateToNextCell(J,J.key,U,!0),J.preventDefault()}onTabKeyDown(J){if(J.defaultPrevented||ZZ(J))return;let Z=this.allRowGuis.find((H)=>H.element.contains(J.target)),$=Z?Z.element:null,X=$===J.target,Y=n(this.beans),Q=!1;if($&&Y)Q=$.contains(Y)&&Y.classList.contains("ag-cell");let q=null;if(!X&&!Q)q=OJ(this.beans,$,!1,J.shiftKey);if(this.isFullWidth()&&X||!q)this.beans.navigation?.onTabKeyDown(this,J)}getFullWidthElement(){if(this.fullWidthGui)return this.fullWidthGui.element;return null}getRowYPosition(){let J=this.allRowGuis.find((Z)=>AJ(Z.element))?.element;if(J)return J.getBoundingClientRect().top;return 0}onSuppressCellFocusChanged(J){let Z=this.isFullWidth()&&J?void 0:this.gos.get("tabIndex");for(let $ of this.allRowGuis)P0($.element,"tabindex",Z)}setupFocus(){if(!this.isFullWidth())return;this.restoreFullWidthFocus(!0),this.onFullWidthRowFocused(this.focusEventWhileNotReady??void 0)}restoreFullWidthFocus(J=!1){let{focusSvc:Z,editSvc:$}=this.beans;if($?.isEditing(this))return;if(!Z.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned)||!Z.shouldTakeFocus())return;let X=this.getFullWidthRowGuiForFocus();if(!X)return;let Y=()=>{if(!this.isAlive())return;if(Z.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))X.element.focus({preventScroll:!0})};if(J){setTimeout(Y,0);return}Y()}getFullWidthRowGuiForFocus(J){if(this.fullWidthGui)return this.fullWidthGui;let Z=this.beans.focusSvc.getFocusedCell(),$=this.beans.colModel.getCol(J?.column??Z?.column);if(!$)return;let X=$?.pinned;if(X==="right")return this.rightGui;if(X==="left")return this.leftGui;return this.centerGui}setFullWidthRowFocusedClass(J,Z){this.forEachGui(void 0,($)=>{$.element.classList.toggle("ag-full-width-focus",Z&&$===J)})}onFullWidthRowFocused(J){let{focusSvc:Z}=this.beans;if(!(this.isFullWidth()&&Z.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))){this.setFullWidthRowFocusedClass(void 0,!1);return}let X=this.getFullWidthRowGuiForFocus(J);if(!X){if(J)this.focusEventWhileNotReady=J;this.setFullWidthRowFocusedClass(void 0,!1);return}if(this.setFullWidthRowFocusedClass(X,!0),this.focusEventWhileNotReady=null,J?.forceBrowserFocus)X.element.focus({preventScroll:!0})}recreateCell(J){this.centerCellCtrls=this.removeCellCtrl(this.centerCellCtrls,J),this.leftCellCtrls=this.removeCellCtrl(this.leftCellCtrls,J),this.rightCellCtrls=this.removeCellCtrl(this.rightCellCtrls,J),J.destroy(),this.updateColumnLists()}removeCellCtrl(J,Z){let $={list:[],map:{}};for(let X of J.list){if(X===Z)continue;$.list.push(X),$.map[X.column.getInstanceId()]=X}return $}onMouseEvent(J,Z){switch(J){case"dblclick":this.onRowDblClick(Z);break;case"click":this.onRowClick(Z);break;case"pointerdown":case"touchstart":case"mousedown":this.onRowMouseDown(Z);break}}createRowEvent(J,Z){let{rowNode:$}=this;return x(this.gos,{type:J,node:$,data:$.data,rowIndex:$.rowIndex,rowPinned:$.rowPinned,event:Z})}createRowEventWithSource(J,Z){let $=this.createRowEvent(J,Z);return $.source=this,$}onRowDblClick(J){if(ZZ(J))return;let Z=this.createRowEventWithSource("rowDoubleClicked",J);Z.isEventHandlingSuppressed=this.isSuppressMouseEvent(J),this.beans.eventSvc.dispatchEvent(Z)}findFullWidthInfoForEvent(J){if(!J)return;let Z=this.findFullWidthRowGui(J.target),$=this.getColumnForFullWidth(Z);if(!Z||!$)return;return{rowGui:Z,column:$}}findFullWidthRowGui(J){return this.allRowGuis.find((Z)=>Z.element.contains(J))}getColumnForFullWidth(J){let{visibleCols:Z}=this.beans;switch(J?.containerType){case"center":return Z.centerCols[0];case"left":return Z.leftCols[0];case"right":return Z.rightCols[0];default:return Z.allCols[0]}}onRowMouseDown(J){if(this.lastMouseDownOnDragger=v0(J.target,"ag-row-drag",3),!this.isFullWidth()||this.isSuppressMouseEvent(J))return;let{rangeSvc:Z,focusSvc:$}=this.beans;Z?.removeAllCellRanges();let X=this.findFullWidthInfoForEvent(J);if(!X)return;let{rowGui:Y,column:Q}=X,q=Y.element,H=J.target,_=this.rowNode,z=J.defaultPrevented||c0();if(q&&q.contains(H)&&N2(H))z=!1;$.setFocusedCell({rowIndex:_.rowIndex,column:Q,rowPinned:_.rowPinned,forceBrowserFocus:z})}isSuppressMouseEvent(J){let{gos:Z,rowNode:$}=this;if(this.isFullWidth()){let Y=this.findFullWidthRowGui(J.target);return Nz(Z,Y?.rowComp.getFullWidthCellRendererParams(),$,J)}let X=K5(Z,J.target);return X!=null&&s5(Z,X.column,$,J)}onRowClick(J){if(ZZ(J)||this.lastMouseDownOnDragger)return;let $=this.isSuppressMouseEvent(J),{eventSvc:X,selectionSvc:Y}=this.beans,Q=this.createRowEventWithSource("rowClicked",J);if(Q.isEventHandlingSuppressed=$,X.dispatchEvent(Q),$)return;Y?.handleSelectionEvent(J,this.rowNode,"rowClicked")}setupDetailRowAutoHeight(J){if(this.rowType!=="FullWidthDetail")return;this.beans.masterDetailSvc?.setupDetailRowAutoHeight(this,J)}createFullWidthCompDetails(J,Z){let{gos:$,rowNode:X}=this,Y=x($,{fullWidth:!0,data:X.data,node:X,value:X.key,valueFormatted:X.key,eGridCell:J,eParentOfValue:J,pinned:Z,addRenderedRowListener:this.addEventListener.bind(this),registerRowDragger:(q,H,_,z)=>this.addFullWidthRowDragging(q,H,_,z),setTooltip:(q,H)=>{$.assertModuleRegistered("Tooltip",3),this.setupFullWidthRowTooltip(q,H)}}),Q=this.beans.userCompFactory;switch(this.rowType){case"FullWidthDetail":return M_(Q,Y);case"FullWidthGroup":{let{value:q,valueFormatted:H}=this.beans.valueSvc.getValueForDisplay({node:this.rowNode,includeValueFormatted:!0,from:"edit"});return Y.value=q,Y.valueFormatted=H,A_(Q,Y)}case"FullWidthLoading":return j_(Q,Y);default:return V_(Q,Y)}}setupFullWidthRowTooltip(J,Z){if(!this.fullWidthGui)return;this.tooltipFeature=this.beans.tooltipSvc?.setupFullWidthRowTooltip(this.tooltipFeature,this,J,Z)}addFullWidthRowDragging(J,Z,$="",X){let{rowDragSvc:Y,context:Q}=this.beans;if(!Y||!this.isFullWidth())return;let q=Y.createRowDragComp(()=>$,this.rowNode,void 0,J,Z,X);this.createBean(q,Q),this.addDestroyFunc(()=>{this.destroyBean(q,Q)})}onUiLevelChanged(){let J=r$(this.rowNode);if(this.rowLevel!=J){let Z="ag-row-level-"+J,$="ag-row-level-"+this.rowLevel;for(let X of this.allRowGuis)X.rowComp.toggleCss(Z,!0),X.rowComp.toggleCss($,!1)}this.rowLevel=J}isFirstRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBounds.getFirstRow()}isLastRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBounds.getLastRow()}refreshFirstAndLastRowStyles(){let J=this.isFirstRowOnPage(),Z=this.isLastRowOnPage();if(this.firstRowOnPage!==J){this.firstRowOnPage=J;for(let $ of this.allRowGuis)$.rowComp.toggleCss("ag-row-first",J)}if(this.lastRowOnPage!==Z){this.lastRowOnPage=Z;for(let $ of this.allRowGuis)$.rowComp.toggleCss("ag-row-last",Z)}}getAllCellCtrls(){if(this.leftCellCtrls.list.length===0&&this.rightCellCtrls.list.length===0)return this.centerCellCtrls.list;return[...this.centerCellCtrls.list,...this.leftCellCtrls.list,...this.rightCellCtrls.list]}postProcessClassesFromGridOptions(){let J=[];if(this.beans.rowStyleSvc?.processClassesFromGridOptions(J,this.rowNode),!J.length)return;for(let Z of J)for(let $ of this.allRowGuis)$.rowComp.toggleCss(Z,!0)}postProcessRowClassRules(){this.beans.rowStyleSvc?.processRowClassRules(this.rowNode,(J)=>{for(let Z of this.allRowGuis)Z.rowComp.toggleCss(J,!0)},(J)=>{for(let Z of this.allRowGuis)Z.rowComp.toggleCss(J,!1)})}setStylesFromGridOptions(J,Z){if(J)this.rowStyles=this.processStylesFromGridOptions();this.forEachGui(Z,($)=>$.rowComp.setUserStyles(this.rowStyles))}getPinnedForContainer(J){if(J==="left"||J==="right")return J;return null}getInitialRowClasses(J){let Z=this.getPinnedForContainer(J),$=this.isFullWidth(),{rowNode:X,beans:Y}=this,Q=[];if(Q.push("ag-row"),Q.push(this.rowFocused?"ag-row-focus":"ag-row-no-focus"),this.fadeInAnimation[J])Q.push("ag-opacity-zero");if(Q.push(X.rowIndex%2===0?"ag-row-even":"ag-row-odd"),X.isRowPinned()){if(Q.push("ag-row-pinned"),Y.pinnedRowModel?.isManual())Q.push("ag-row-pinned-manual")}if(!X.isRowPinned()&&X.pinnedSibling)Q.push("ag-row-pinned-source");if(X.isSelected())Q.push("ag-row-selected");if(X.footer)Q.push("ag-row-footer");if(Q.push("ag-row-level-"+this.rowLevel),X.stub)Q.push("ag-row-loading");if($)Q.push("ag-full-width-row");if(Y.expansionSvc?.addExpandedCss(Q,X),X.dragging)Q.push("ag-row-dragging");let{rowStyleSvc:q}=Y;if(q)q.processClassesFromGridOptions(Q,X),q.preProcessRowClassRules(Q,X);if(Q.push(this.printLayout?"ag-row-position-relative":"ag-row-position-absolute"),this.isFirstRowOnPage())Q.push("ag-row-first");if(this.isLastRowOnPage())Q.push("ag-row-last");if($){if(Z==="left")Q.push("ag-cell-last-left-pinned");if(Z==="right")Q.push("ag-cell-first-right-pinned")}return Q}processStylesFromGridOptions(){return this.beans.rowStyleSvc?.processStylesFromGridOptions(this.rowNode)??this.emptyStyle}onRowSelected(J){this.beans.selectionSvc?.onRowCtrlSelected(this,(Z)=>{if(Z===this.centerGui||Z===this.fullWidthGui)this.announceDescription()},J)}announceDescription(){this.beans.selectionSvc?.announceAriaRowSelection(this.rowNode)}addHoverFunctionality(J){if(!this.active)return;let{element:Z,compBean:$}=J,{rowNode:X,beans:Y,gos:Q}=this;$.addManagedListeners(Z,{pointerenter:(q)=>{if(q.pointerType==="mouse")X.dispatchRowEvent("mouseEnter")},pointerleave:(q)=>{if(q.pointerType==="mouse")X.dispatchRowEvent("mouseLeave")}}),$.addManagedListeners(X,{mouseEnter:()=>{if(!Y.dragSvc?.dragging&&!Q.get("suppressRowHoverHighlight"))Z.classList.add("ag-row-hover"),X.setHovered(!0)},mouseLeave:()=>{this.resetHoveredStatus(Z)}})}resetHoveredStatus(J){let Z=J?[J]:this.allRowGuis.map(($)=>$.element);for(let $ of Z)$.classList.remove("ag-row-hover");this.rowNode.setHovered(!1)}roundRowTopToBounds(J){let Z=this.beans.ctrlsSvc.getScrollFeature().getApproximateVScollPosition(),$=this.applyPaginationOffset(Z.top,!0)-100,X=this.applyPaginationOffset(Z.bottom,!0)+100;return Math.min(Math.max($,J),X)}forEachGui(J,Z){if(J)Z(J);else for(let $ of this.allRowGuis)Z($)}isRowRendered(){return this.allRowGuis.length>0}onRowHeightChanged(J){if(this.rowNode.rowHeight==null)return;let Z=this.rowNode.rowHeight,$=this.beans.environment.getDefaultRowHeight(),Y=JY(this.gos)?r2(this.beans,this.rowNode).height:void 0,Q=Y?`${Math.min($,Y)-2}px`:void 0;this.forEachGui(J,(q)=>{if(q.element.style.height=`${Z}px`,Q)q.element.style.setProperty("--ag-line-height",Q)})}destroyFirstPass(J=!1){this.active=!1;let{rowNode:Z}=this;if(!J&&U2(this.gos)&&!Z.sticky)if(Z.rowTop!=null){let Y=this.roundRowTopToBounds(Z.rowTop);this.setRowTop(Y)}else for(let Y of this.allRowGuis)Y.rowComp.toggleCss("ag-opacity-zero",!0);if(this.fullWidthGui?.element.contains(n(this.beans)))this.beans.focusSvc.attemptToRecoverFocus();Z.setHovered(!1);let $=this.createRowEvent("virtualRowRemoved");this.dispatchLocalEvent($),this.beans.eventSvc.dispatchEvent($),super.destroy()}destroySecondPass(){this.allRowGuis.length=0;let J=(Z)=>{for(let $ of Z.list)$.destroy();return{list:[],map:{}}};this.centerCellCtrls=J(this.centerCellCtrls),this.leftCellCtrls=J(this.leftCellCtrls),this.rightCellCtrls=J(this.rightCellCtrls)}setFocusedClasses(J){this.forEachGui(J,(Z)=>{Z.rowComp.toggleCss("ag-row-focus",this.rowFocused),Z.rowComp.toggleCss("ag-row-no-focus",!this.rowFocused)})}onCellFocusChanged(){let{focusSvc:J}=this.beans,Z=J.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned);if(Z!==this.rowFocused)this.rowFocused=Z,this.setFocusedClasses()}onPaginationChanged(){let J=this.beans.pagination?.getCurrentPage()??0;if(this.paginationPage!==J)this.paginationPage=J,this.onTopChanged();this.refreshFirstAndLastRowStyles()}onTopChanged(){this.setRowTop(this.rowNode.rowTop)}onPaginationPixelOffsetChanged(){this.onTopChanged()}applyPaginationOffset(J,Z=!1){if(this.rowNode.isRowPinned()||this.rowNode.sticky)return J;let $=this.beans.pageBounds.getPixelOffset();return J+$*(Z?1:-1)}setRowTop(J){if(this.printLayout)return;if(T(J)){let Z=this.applyPaginationOffset(J),Y=`${this.rowNode.isRowPinned()||this.rowNode.sticky?Z:this.beans.rowContainerHeight.getRealPixelPosition(Z)}px`;this.setRowTopStyle(Y)}}getInitialRowTop(J){return this.suppressRowTransform?this.getInitialRowTopShared(J):void 0}getInitialTransform(J){return this.suppressRowTransform?void 0:`translateY(${this.getInitialRowTopShared(J)})`}getInitialRowTopShared(J){if(this.printLayout)return"";let Z=this.rowNode,$;if(Z.sticky)$=Z.stickyRowTop;else{let X=this.slideInAnimation[J]?this.roundRowTopToBounds(Z.oldRowTop):Z.rowTop,Y=this.applyPaginationOffset(X);$=Z.isRowPinned()?Y:this.beans.rowContainerHeight.getRealPixelPosition(Y)}return $+"px"}setRowTopStyle(J){for(let Z of this.allRowGuis)if(this.suppressRowTransform)Z.rowComp.setTop(J);else Z.rowComp.setTransform(`translateY(${J})`)}getCellCtrl(J,Z=!1){let $=null;for(let X of this.getAllCellCtrls())if(X.column==J)$=X;if($!=null||Z)return $;for(let X of this.getAllCellCtrls())if(X?.getColSpanningList().indexOf(J)>=0)$=X;return $}onRowIndexChanged(){if(this.rowNode.rowIndex!=null)this.onCellFocusChanged(),this.updateRowIndexes(),this.postProcessCss()}updateRowIndexes(J){let Z=this.rowNode.getRowIndexString();if(Z===null)return;let $=(this.beans.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0)+(this.beans.filterManager?.getHeaderRowCount()??0),X=this.rowNode.rowIndex%2===0,Y=this.ariaRowIndex=$+this.rowNode.rowIndex+1;this.forEachGui(J,(Q)=>{Q.rowComp.setRowIndex(Z),Q.rowComp.toggleCss("ag-row-even",X),Q.rowComp.toggleCss("ag-row-odd",!X),o5(Q.element,Y)})}},d3=class extends M{constructor(){super();this.beanName="navigation",this.onPageDown=z$(this.onPageDown,100),this.onPageUp=z$(this.onPageUp,100)}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(J)=>{this.gridBodyCon=J.gridBodyCtrl})}handlePageScrollingKey(J,Z=!1){let{key:$,altKey:X}=J,Y=J.ctrlKey||J.metaKey,Q=!!this.beans.rangeSvc&&J.shiftKey,q=_9(this.gos,J),H=!1;switch($){case V.PAGE_HOME:case V.PAGE_END:if(!Y&&!X)this.onHomeOrEndKey($),H=!0;break;case V.LEFT:case V.RIGHT:case V.UP:case V.DOWN:if(!q)return!1;if(Y&&!X&&!Q)this.onCtrlUpDownLeftRight($,q),H=!0;break;case V.PAGE_DOWN:case V.PAGE_UP:if(!Y&&!X)H=this.handlePageUpDown($,q,Z);break}if(H)J.preventDefault();return H}handlePageUpDown(J,Z,$){if($)Z=this.beans.focusSvc.getFocusedCell();if(!Z)return!1;if(J===V.PAGE_UP)this.onPageUp(Z);else this.onPageDown(Z);return!0}navigateTo({scrollIndex:J,scrollType:Z,scrollColumn:$,focusIndex:X,focusColumn:Y,isAsync:Q,rowPinned:q}){let{scrollFeature:H}=this.gridBodyCon;if(T($)&&!$.isPinned())H.ensureColumnVisible($);if(T(J))H.ensureIndexVisible(J,Z);if(!Q)H.ensureIndexVisible(X);let{focusSvc:_}=this.beans;_.setFocusedCell({rowIndex:X,column:Y,rowPinned:q,forceBrowserFocus:!0}),this.setRangeToCellIfSupported({rowIndex:X,rowPinned:q,column:Y})}onPageDown(J){let Z=this.beans,$=d7(Z),X=this.getViewportHeight(),{pageBounds:Y,rowModel:Q,rowAutoHeight:q}=Z,H=Y.getPixelOffset(),_=$.top+X,z=Q.getRowIndexAtPixel(_+H);if(q?.active)this.navigateToNextPageWithAutoHeight(J,z);else this.navigateToNextPage(J,z)}onPageUp(J){let Z=this.beans,$=d7(Z),{pageBounds:X,rowModel:Y,rowAutoHeight:Q}=Z,q=X.getPixelOffset(),H=$.top,_=Y.getRowIndexAtPixel(H+q);if(Q?.active)this.navigateToNextPageWithAutoHeight(J,_,!0);else this.navigateToNextPage(J,_,!0)}navigateToNextPage(J,Z,$=!1){let{pageBounds:X,rowModel:Y}=this.beans,Q=this.getViewportHeight(),q=X.getFirstRow(),H=X.getLastRow(),_=X.getPixelOffset(),z=Y.getRow(J.rowIndex),U=$?z?.rowHeight-Q-_:Q-_,W=z?.rowTop+U,G=Y.getRowIndexAtPixel(W+_);if(G===J.rowIndex){let K=$?-1:1;Z=G=J.rowIndex+K}let B;if($){if(B="bottom",GH)G=H;if(Z>H)Z=H}if(this.isRowTallerThanView(Y.getRow(G)))Z=G,B="top";this.navigateTo({scrollIndex:Z,scrollType:B,scrollColumn:null,focusIndex:G,focusColumn:J.column})}navigateToNextPageWithAutoHeight(J,Z,$=!1){this.navigateTo({scrollIndex:Z,scrollType:$?"bottom":"top",scrollColumn:null,focusIndex:Z,focusColumn:J.column}),setTimeout(()=>{let X=this.getNextFocusIndexForAutoHeight(J,$);this.navigateTo({scrollIndex:Z,scrollType:$?"bottom":"top",scrollColumn:null,focusIndex:X,focusColumn:J.column,isAsync:!0})},50)}getNextFocusIndexForAutoHeight(J,Z=!1){let $=Z?-1:1,X=this.getViewportHeight(),{pageBounds:Y,rowModel:Q}=this.beans,q=Y.getLastRow(),H=0,_=J.rowIndex;while(_>=0&&_<=q){let z=Q.getRow(_);if(z){let U=z.rowHeight??0;if(H+U>X)break;H+=U}_+=$}return Math.max(0,Math.min(_,q))}getViewportHeight(){let J=this.beans,Z=d7(J),$=this.beans.scrollVisibleSvc.getScrollbarWidth(),X=Z.bottom-Z.top;if(J.ctrlsSvc.get("center").isHorizontalScrollShowing())X-=$;return X}isRowTallerThanView(J){if(!J)return!1;let Z=J.rowHeight;if(typeof Z!=="number")return!1;return Z>this.getViewportHeight()}onCtrlUpDownLeftRight(J,Z){let $=this.beans.cellNavigation.getNextCellToFocus(J,Z,!0);if(!$)return;let X=this.getNormalisedPosition($),{rowIndex:Y,rowPinned:Q,column:q}=X??$,H=q;this.navigateTo({scrollIndex:Y,scrollType:null,scrollColumn:H,focusIndex:Y,focusColumn:H,rowPinned:Q})}onHomeOrEndKey(J){let Z=J===V.PAGE_HOME,{visibleCols:$,pageBounds:X,rowModel:Y}=this.beans,Q=$.allCols,q=Z?X.getFirstRow():X.getLastRow(),H=Y.getRow(q);if(!H)return;let _=(Z?Q:[...Q].reverse()).find((z)=>!z.isSuppressNavigable(H)&&!vJ(z));if(!_)return;this.navigateTo({scrollIndex:q,scrollType:null,scrollColumn:_,focusIndex:q,focusColumn:_})}onTabKeyDown(J,Z){let $=Z.shiftKey,X=this.tabToNextCellCommon(J,$,Z),Y=this.beans,{ctrlsSvc:Q,pageBounds:q,focusSvc:H,gos:_}=Y;if(X!==!1){if(X)Z.preventDefault();else if(X===null)Q.get("gridCtrl").allowFocusForNextCoreContainer($);return}if($){let{rowIndex:z,rowPinned:U}=J.getRowPosition();if(U?z===0:z===q.getFirstRow())if(_.get("headerHeight")===0||UZ(Y))YZ(Y,!0,!0);else Z.preventDefault(),H.focusPreviousFromFirstCell(Z)}else{if(J instanceof u2)J.focusCell(!0);if(H.focusOverlay(!1)||YZ(Y,$))Z.preventDefault()}}tabToNextCell(J,Z){let $=this.beans,{focusSvc:X,rowRenderer:Y}=$,Q=X.getFocusedCell();if(!Q)return!1;let q=eJ($,Q);if(!q){if(q=Y.getRowByPosition(Q),!q?.isFullWidth())return!1}return!!this.tabToNextCellCommon(q,J,Z,"api")}tabToNextCellCommon(J,Z,$,X="ui"){let{editSvc:Y,focusSvc:Q}=this.beans,q=void 0,H=J instanceof u2?J:J.getAllCellCtrls()?.[0];if(Y?.isEditing())q=Y?.moveToNextCell(H,Z,$,X);else q=this.moveToNextCellNotEditing(J,Z,$);if(q===null)return q;return q||!!Q.focusedHeader}moveToNextCellNotEditing(J,Z,$){let X=this.beans.visibleCols.allCols,Y;if(J instanceof E8){if(Y={...J.getRowPosition(),column:Z?X[0]:C(X)},this.gos.get("embedFullWidthRows")&&$){let q=J.findFullWidthInfoForEvent($);if(q)Y.column=q.column}}else Y=J.getFocusedCellPosition();let Q=this.findNextCellToFocusOn(Y,{backwards:Z,startEditing:!1});if(Q===!1)return null;if(Q instanceof u2)Q.focusCell(!0);else if(Q)return this.tryToFocusFullWidthRow(Q,Z);return T(Q)}findNextCellToFocusOn(J,{backwards:Z,startEditing:$,skipToNextEditableCell:X}){let Y=J,Q=this.beans,{cellNavigation:q,gos:H,focusSvc:_,rowRenderer:z}=Q;while(!0){if(J!==Y)J=Y;if(!Z)Y=this.getLastCellOfColSpan(Y);Y=q.getNextTabbedCell(Y,Z);let U=H.getCallback("tabToNextCell");if(T(U)){let K=U({backwards:Z,editing:$,previousCellPosition:J,nextCellPosition:Y?Y:null});if(K===!0)Y=J;else if(K===!1)return!1;else Y={rowIndex:K.rowIndex,column:K.column,rowPinned:K.rowPinned}}if(!Y)return null;if(Y.rowIndex<0){let B=lJ(Q);return _.focusHeaderPosition({headerPosition:{headerRowIndex:B+Y.rowIndex,column:Y.column},fromCell:!0}),null}let W=H.get("editType")==="fullRow";if($&&(!W||X)){if(!this.isCellEditable(Y))continue}this.ensureCellVisible(Y);let G=eJ(Q,Y);if(!G){let B=z.getRowByPosition(Y);if(!B||!B.isFullWidth()||$)continue;return{...B.getRowPosition(),column:Y?.column}}if(q.isSuppressNavigable(G.column,G.rowNode))continue;return G.setFocusedCellPosition(Y),this.setRangeToCellIfSupported(Y),G}}isCellEditable(J){let Z=this.lookupRowNodeForCell(J);if(Z)return J.column.isCellEditable(Z);return!1}lookupRowNodeForCell({rowIndex:J,rowPinned:Z}){let{pinnedRowModel:$,rowModel:X}=this.beans;if(Z==="top")return $?.getPinnedTopRow(J);if(Z==="bottom")return $?.getPinnedBottomRow(J);return X.getRow(J)}navigateToNextCell(J,Z,$,X){let Y=$,Q=!1,q=this.beans,{cellNavigation:H,focusSvc:_,gos:z}=q;while(Y&&(Y===$||!this.isValidNavigateCell(Y))){if(z.get("enableRtl")){if(Z===V.LEFT)Y=this.getLastCellOfColSpan(Y)}else if(Z===V.RIGHT)Y=this.getLastCellOfColSpan(Y);Y=H.getNextCellToFocus(Z,Y),Q=d(Y)}if(Q&&J&&J.key===V.UP)Y={rowIndex:-1,rowPinned:null,column:$.column};if(X){let W=z.getCallback("navigateToNextCell");if(T(W)){let B=W({key:Z,previousCellPosition:$,nextCellPosition:Y?Y:null,event:J});if(T(B))Y={rowPinned:B.rowPinned,rowIndex:B.rowIndex,column:B.column};else Y=null}}if(!Y)return;if(Y.rowIndex<0){let W=lJ(q);_.focusHeaderPosition({headerPosition:{headerRowIndex:W+Y.rowIndex,column:Y.column??$.column},event:J||void 0,fromCell:!0});return}let U=this.getNormalisedPosition(Y);if(U)this.focusPosition(U);else this.tryToFocusFullWidthRow(Y)}getNormalisedPosition(J){if(!!this.beans.spannedRowRenderer?.getCellByPosition(J))return J;this.ensureCellVisible(J);let $=eJ(this.beans,J);if(!$)return null;return J=$.getFocusedCellPosition(),this.ensureCellVisible(J),J}tryToFocusFullWidthRow(J,Z){let{visibleCols:$,rowRenderer:X,focusSvc:Y,eventSvc:Q}=this.beans,q=$.allCols;if(!X.getRowByPosition(J)?.isFullWidth())return!1;let _=Y.getFocusedCell(),z={rowIndex:J.rowIndex,rowPinned:J.rowPinned,column:J.column||(Z?C(q):q[0])};this.focusPosition(z);let U=Z==null?_!=null&&_J(z,_):Z;return Q.dispatchEvent({type:"fullWidthRowFocused",rowIndex:z.rowIndex,rowPinned:z.rowPinned,column:z.column,isFullWidthCell:!0,fromBelow:U}),!0}focusPosition(J){let{focusSvc:Z}=this.beans;Z.setFocusedCell({rowIndex:J.rowIndex,column:J.column,rowPinned:J.rowPinned,forceBrowserFocus:!0}),this.setRangeToCellIfSupported(J)}setRangeToCellIfSupported(J){if(vJ(J.column))return;this.beans.rangeSvc?.setRangeToCell(J)}isValidNavigateCell(J){return!!kJ(this.beans,J)}getLastCellOfColSpan(J){let Z=eJ(this.beans,J);if(!Z)return J;let $=Z.getColSpanningList();if($.length===1)return J;return{rowIndex:J.rowIndex,column:C($),rowPinned:J.rowPinned}}ensureCellVisible(J){let Z=V2(this.gos),$=this.beans.rowModel.getRow(J.rowIndex),X=Z&&$?.sticky,{scrollFeature:Y}=this.gridBodyCon;if(!X&&d(J.rowPinned))Y.ensureIndexVisible(J.rowIndex);if(!J.column.isPinned())Y.ensureColumnVisible(J.column)}ensureColumnVisible(J){let Z=this.gridBodyCon.scrollFeature;if(!J.isPinned())Z.ensureColumnVisible(J)}ensureRowVisible(J){this.gridBodyCon.scrollFeature.ensureIndexVisible(J)}};function d7(J){return J.ctrlsSvc.getScrollFeature().getVScrollPosition()}var i0={moduleName:"KeyboardNavigation",version:p,beans:[d3,U3,AB],apiFunctions:{getFocusedCell:W3,clearFocusedCell:G3,setFocusedCell:B3,setFocusedHeader:L3,tabToNextCell:K3,tabToPreviousCell:E3}},n3=class extends M{constructor(){super(...arguments);this.beanName="pageBoundsListener"}postConstruct(){this.addManagedEventListeners({modelUpdated:this.onModelUpdated.bind(this),recalculateRowBounds:this.calculatePages.bind(this)}),this.onModelUpdated()}onModelUpdated(J){this.calculatePages(),this.eventSvc.dispatchEvent({type:"paginationChanged",animate:J?.animate??!1,newData:J?.newData??!1,newPage:J?.newPage??!1,newPageSize:J?.newPageSize??!1,keepRenderedRows:J?.keepRenderedRows??!1})}calculatePages(){let{pageBounds:J,pagination:Z,rowModel:$}=this.beans;if(Z)Z.calculatePages();else J.calculateBounds(0,$.getRowCount()-1)}},s3=class extends M{constructor(){super(...arguments);this.beanName="pageBounds",this.pixelOffset=0}getFirstRow(){return this.topRowBounds?.rowIndex??-1}getLastRow(){return this.bottomRowBounds?.rowIndex??-1}getCurrentPageHeight(){let{topRowBounds:J,bottomRowBounds:Z}=this;if(!J||!Z)return 0;return Math.max(Z.rowTop+Z.rowHeight-J.rowTop,0)}getCurrentPagePixelRange(){let{topRowBounds:J,bottomRowBounds:Z}=this,$=J?.rowTop??0,X=Z?Z.rowTop+Z.rowHeight:0;return{pageFirstPixel:$,pageLastPixel:X}}calculateBounds(J,Z){let{rowModel:$}=this.beans,X=$.getRowBounds(J);if(X)X.rowIndex=J;this.topRowBounds=X;let Y=$.getRowBounds(Z);if(Y)Y.rowIndex=Z;this.bottomRowBounds=Y,this.calculatePixelOffset()}getPixelOffset(){return this.pixelOffset}calculatePixelOffset(){let J=this.topRowBounds?.rowTop??0;if(this.pixelOffset===J)return;this.pixelOffset=J,this.eventSvc.dispatchEvent({type:"paginationPixelOffsetChanged"})}},r3=".ag-pinned-left-floating-bottom,.ag-pinned-left-floating-top,.ag-pinned-right-floating-bottom,.ag-pinned-right-floating-top{min-width:0;overflow:hidden;position:relative}.ag-pinned-left-sticky-top,.ag-pinned-right-sticky-top{height:100%;overflow:hidden;position:relative}.ag-sticky-bottom-full-width-container,.ag-sticky-top-full-width-container{height:100%;overflow:hidden;width:100%}.ag-pinned-left-header,.ag-pinned-right-header{display:inline-block;height:100%;overflow:hidden;position:relative}.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible){.ag-horizontal-left-spacer:not(.ag-scroller-corner){border-right:var(--ag-pinned-column-border)}.ag-horizontal-right-spacer:not(.ag-scroller-corner){border-left:var(--ag-pinned-column-border)}}.ag-pinned-right-header{border-left:var(--ag-pinned-column-border)}.ag-pinned-left-header{border-right:var(--ag-pinned-column-border)}.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left,.ag-cell-range-single-cell,.ag-cell-focus:not(.ag-cell-range-selected):focus-within){border-left:var(--ag-pinned-column-border)}.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right,.ag-cell-range-single-cell,.ag-cell-focus:not(.ag-cell-range-selected):focus-within){border-right:var(--ag-pinned-column-border)}.ag-pinned-left-header .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-pinned-right-header .ag-header-cell-resize:after{left:50%}.ag-pinned-left-header .ag-header-cell-resize{right:-3px}.ag-pinned-right-header .ag-header-cell-resize{left:-3px}",t3=class extends M{constructor(J,Z){super();this.isLeft=J,this.elements=Z,this.getWidth=J?()=>this.beans.pinnedCols.leftWidth:()=>this.beans.pinnedCols.rightWidth}postConstruct(){this.addManagedEventListeners({[`${this.isLeft?"left":"right"}PinnedWidthChanged`]:this.onPinnedWidthChanged.bind(this)})}onPinnedWidthChanged(){let J=this.getWidth(),Z=J>0;for(let $ of this.elements)if($)w($,Z),SZ($,J)}},l3=class extends M{constructor(){super(...arguments);this.beanName="pinnedCols"}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(Z)=>{this.gridBodyCtrl=Z.gridBodyCtrl});let J=this.checkContainerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:J,displayedColumnsWidthChanged:J}),this.addManagedPropertyListener("domLayout",J)}checkContainerWidths(){let{gos:J,visibleCols:Z,eventSvc:$}=this.beans,X=jJ(J,"print"),Y=X?0:Z.getColsLeftWidth(),Q=X?0:Z.getDisplayedColumnsRightWidth();if(Y!=this.leftWidth)this.leftWidth=Y,$.dispatchEvent({type:"leftPinnedWidthChanged"});if(Q!=this.rightWidth)this.rightWidth=Q,$.dispatchEvent({type:"rightPinnedWidthChanged"})}keepPinnedColumnsNarrowerThanViewport(){let J=this.gridBodyCtrl.eBodyViewport,Z=y0(J);if(Z<=50)return;let $=this.getPinnedColumnsOverflowingViewport(Z-50),X=this.gos.getCallback("processUnpinnedColumns"),{columns:Y,hasLockedPinned:Q}=$,q=Y;if(!q.length&&!Q)return;if(X)q=X({columns:q,viewportWidth:Z});if(!q?.length)return;q=q.filter((H)=>!vJ(H)),this.setColsPinned(q,null,"viewportSizeFeature")}createPinnedWidthFeature(J,...Z){return new t3(J,Z)}setColsPinned(J,Z,$){let{colModel:X,colAnimation:Y,visibleCols:Q,gos:q}=this.beans;if(!X.cols)return;if(!J?.length)return;if(jJ(q,"print")){O(37);return}Y?.start();let H;if(Z===!0||Z==="left")H="left";else if(Z==="right")H="right";else H=null;let _=[];for(let z of J){if(!z)continue;let U=X.getCol(z);if(!U)continue;if(U.getPinned()!==H)this.setColPinned(U,H),_.push(U)}if(_.length)Q.refresh($),K1(this.eventSvc,_,$);Y?.finish()}initCol(J){let{pinned:Z,initialPinned:$}=J.colDef;if(Z!==void 0)this.setColPinned(J,Z);else this.setColPinned(J,$)}setColPinned(J,Z){if(Z===!0||Z==="left")J.pinned="left";else if(Z==="right")J.pinned="right";else J.pinned=null;J.dispatchStateUpdatedEvent("pinned")}setupHeaderPinnedWidth(J){let{scrollVisibleSvc:Z}=this.beans;if(J.pinned==null)return;let $=J.pinned==="left",X=J.pinned==="right";J.hidden=!0;let Y=()=>{let Q=$?this.leftWidth:this.rightWidth;if(Q==null)return;let q=Q==0,H=J.hidden!==q,_=this.gos.get("enableRtl"),z=Z.getScrollbarWidth(),W=Z.verticalScrollShowing&&(_&&$||!_&&X)?Q+z:Q;if(J.comp.setPinnedContainerWidth(`${W}px`),J.comp.setDisplayed(!q),H)J.hidden=q,J.refresh()};J.addManagedEventListeners({leftPinnedWidthChanged:Y,rightPinnedWidthChanged:Y,scrollVisibilityChanged:Y,scrollbarWidthChanged:Y})}getHeaderResizeDiff(J,Z){if(Z.getPinned()){let{leftWidth:X,rightWidth:Y}=this,Q=y0(this.beans.ctrlsSvc.getGridBodyCtrl().eBodyViewport)-50;if(X+Y+J>Q)if(Q>X+Y)J=Q-X-Y;else return 0}return J}getPinnedColumnsOverflowingViewport(J){let Z=this.rightWidth??0,$=this.leftWidth??0,X=Z+$,Y=!1;if(X0){if(_0){let B=q[z++];if(B.colDef.lockPinned){Y=!0;continue}G-=B.getActualWidth(),W.push(B)}}return{columns:W,hasLockedPinned:Y}}},a3={moduleName:"PinnedColumn",version:p,beans:[l3],css:[r3]},o3=class extends RJ{constructor(){super();this.beanName="ariaAnnounce",this.descriptionContainer=null,this.pendingAnnouncements=new Map,this.lastAnnouncement="",this.updateAnnouncement=gZ(this,this.updateAnnouncement.bind(this),200)}postConstruct(){let J=this.beans,Z=qJ(J),$=this.descriptionContainer=Z.createElement("div");$.classList.add("ag-aria-description-container"),VX($,"polite"),vq($,"additions text"),Tq($,!0),J.eRootDiv.appendChild($)}announceValue(J,Z){this.pendingAnnouncements.set(Z,J),this.updateAnnouncement()}updateAnnouncement(){if(!this.descriptionContainer)return;let J=Array.from(this.pendingAnnouncements.values()).join(". ");this.pendingAnnouncements.clear(),this.descriptionContainer.textContent="",setTimeout(()=>{this.handleAnnouncementUpdate(J)},50)}handleAnnouncementUpdate(J){if(!this.isAlive()||!this.descriptionContainer)return;let Z=J;if(Z==null||Z.replace(/[ .]/g,"")==""){this.lastAnnouncement="";return}if(this.lastAnnouncement===Z)Z=`${Z}​`;this.lastAnnouncement=Z,this.descriptionContainer.textContent=Z}destroy(){super.destroy();let{descriptionContainer:J}=this;if(J)ZJ(J),J.remove();this.descriptionContainer=null,this.pendingAnnouncements.clear()}},e3=class extends o3{},JK={moduleName:"Aria",version:p,beans:[e3]},ZK=":where(.ag-delay-render){.ag-cell,.ag-header-cell,.ag-header-group-cell,.ag-row,.ag-spanned-cell-wrapper{visibility:hidden}}",t$="ag-delay-render",$K=class extends M{constructor(){super(...arguments);this.beanName="colDelayRenderSvc",this.hideRequested=!1,this.alreadyRevealed=!1,this.timesRetried=0,this.requesters=new Set}hideColumns(J){if(this.alreadyRevealed||this.requesters.has(J))return;if(this.requesters.add(J),!this.hideRequested)this.beans.ctrlsSvc.whenReady(this,(Z)=>{Z.gridBodyCtrl.eGridBody.classList.add(t$)}),this.hideRequested=!0}revealColumns(J){if(this.alreadyRevealed||!this.isAlive())return;if(this.requesters.delete(J),this.requesters.size>0)return;let{renderStatus:Z,ctrlsSvc:$}=this.beans;if(Z){if(!Z.areHeaderCellsRendered()&&this.timesRetried<5){this.timesRetried++,setTimeout(()=>this.revealColumns(J));return}this.timesRetried=0}$.getGridBodyCtrl().eGridBody.classList.remove(t$),this.alreadyRevealed=!0}},XK={moduleName:"ColumnDelayRender",version:p,beans:[$K],css:[ZK]},i6=class extends y{constructor(){super()}},YK={tag:"div",cls:"ag-overlay-exporting-center",children:[{tag:"span",ref:"eExportingIcon",cls:"ag-loading-icon"},{tag:"span",ref:"eExportingText",cls:"ag-exporting-text"}]},QK=class extends i6{constructor(){super(...arguments);this.eExportingIcon=S,this.eExportingText=S}init(J){let{beans:Z}=this;this.setTemplate(YK);let $=h("overlayExporting",Z,null);if($)this.eExportingIcon.appendChild($);let X=J.exporting?.overlayText??this.getLocaleTextFunc()("exportingOoo","Exporting...");this.eExportingText.textContent=X,Z.ariaAnnounce.announceValue(X,"overlay")}},qK={tag:"div",cls:"ag-overlay-loading-center",children:[{tag:"span",ref:"eLoadingIcon",cls:"ag-loading-icon"},{tag:"span",ref:"eLoadingText",cls:"ag-loading-text"}]},HK=class extends i6{constructor(){super(...arguments);this.eLoadingIcon=S,this.eLoadingText=S}init(J){let{beans:Z,gos:$}=this,X=OZ($.get("overlayLoadingTemplate")?.trim());if(this.setTemplate(X??qK),!X){let Y=h("overlayLoading",Z,null);if(Y)this.eLoadingIcon.appendChild(Y);let Q=J.loading?.overlayText??this.getLocaleTextFunc()("loadingOoo","Loading...");this.eLoadingText.textContent=Q,Z.ariaAnnounce.announceValue(Q,"overlay")}}},_K={tag:"span",cls:"ag-overlay-no-matching-rows-center"},zK=class extends i6{init(J){let{beans:Z}=this;this.setTemplate(_K);let $=J.noMatchingRows?.overlayText??this.getLocaleTextFunc()("noMatchingRows","No Matching Rows");this.getGui().textContent=$,Z.ariaAnnounce.announceValue($,"overlay")}},UK={tag:"span",cls:"ag-overlay-no-rows-center"},WK=class extends i6{init(J){let{beans:Z,gos:$}=this,X=OZ($.get("overlayNoRowsTemplate")?.trim());if(this.setTemplate(X??UK),!X){let Y=J.noRows?.overlayText??this.getLocaleTextFunc()("noRowsToShow","No Rows To Show");this.getGui().textContent=Y,Z.ariaAnnounce.announceValue(Y,"overlay")}}};function GK(J){J.overlays?.showLoadingOverlay()}function BK(J){J.overlays?.showNoRowsOverlay()}function KK(J){J.overlays?.hideOverlay()}var EK=".ag-overlay{inset:0;pointer-events:none;position:absolute;z-index:2}.ag-overlay-panel,.ag-overlay-wrapper{display:flex;height:100%;width:100%}.ag-overlay-wrapper{align-items:center;flex:none;justify-content:center;text-align:center}.ag-overlay-exporting-wrapper,.ag-overlay-loading-wrapper,.ag-overlay-modal-wrapper{pointer-events:all}.ag-overlay-exporting-center,.ag-overlay-loading-center{background:var(--ag-background-color);border:solid var(--ag-border-width) var(--ag-border-color);border-radius:var(--ag-border-radius);box-shadow:var(--ag-popup-shadow);display:flex;padding:var(--ag-spacing)}",LK={tag:"div",cls:"ag-overlay",role:"presentation",children:[{tag:"div",cls:"ag-overlay-panel",role:"presentation",children:[{tag:"div",ref:"eOverlayWrapper",cls:"ag-overlay-wrapper",role:"presentation"}]}]},p1=class extends y{constructor(){super(LK);this.eOverlayWrapper=S,this.activeOverlay=null,this.activePromise=null,this.activeCssClass=null,this.elToFocusAfter=null,this.overlayExclusive=!1,this.oldWrapperPadding=null,this.registerCSS(EK)}handleKeyDown(J){if(J.key!==V.TAB||J.defaultPrevented||ZZ(J))return;let{beans:Z,eOverlayWrapper:$}=this;if($&&OJ(Z,$,!1,J.shiftKey))return;let Y=!1;if(J.shiftKey)Y=Z.focusSvc.focusGridView({column:C(Z.visibleCols.allCols),backwards:!0,canFocusOverlay:!1});else Y=YZ(Z,!1);if(Y)J.preventDefault()}updateLayoutClasses(J,Z){let $=this.eOverlayWrapper;if(!$)return;let X=$.classList,{AUTO_HEIGHT:Y,NORMAL:Q,PRINT:q}=WZ;X.toggle(Y,Z.autoHeight),X.toggle(Q,Z.normal),X.toggle(q,Z.print)}postConstruct(){this.createManagedBean(new Y9(this)),this.setDisplayed(!1,{skipAriaHidden:!0}),this.beans.overlays.setWrapperComp(this,!1),this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)}),this.addManagedEventListeners({gridSizeChanged:this.refreshWrapperPadding.bind(this)})}setWrapperTypeClass(J){let Z=this.eOverlayWrapper?.classList;if(!Z){this.activeCssClass=null;return}if(this.activeCssClass)Z.toggle(this.activeCssClass,!1);this.activeCssClass=J,Z.toggle(J,!0)}showOverlay(J,Z,$){if(this.destroyActiveOverlay(),this.elToFocusAfter=null,this.activePromise=J,this.overlayExclusive=$,!J)return this.refreshWrapperPadding(),g.resolve();if(this.setWrapperTypeClass(Z),this.setDisplayed(!0,{skipAriaHidden:!0}),this.refreshWrapperPadding(),$&&this.isGridFocused()){let X=n(this.beans);if(X&&!h0(this.beans))this.elToFocusAfter=X}return J.then((X)=>{let Y=this.eOverlayWrapper;if(!Y){this.destroyBean(X);return}if(this.activePromise!==J){if(this.activeOverlay!==X)this.destroyBean(X),X=null;return}if(this.activePromise=null,!X)return;if(this.activeOverlay!==X)Y.appendChild(X.getGui()),this.activeOverlay=X;if($&&this.isGridFocused())DJ(Y)}),J}refreshWrapperPadding(){if(!this.eOverlayWrapper){this.oldWrapperPadding=null;return}let J=!!this.activeOverlay||!!this.activePromise,Z=0;if(J&&!this.overlayExclusive)Z=this.beans.ctrlsSvc.get("gridHeaderCtrl")?.headerHeight||0;if(Z!==this.oldWrapperPadding)this.oldWrapperPadding=Z,this.eOverlayWrapper.style.setProperty("padding-top",`${Z}px`)}destroyActiveOverlay(){this.activePromise=null;let J=this.activeOverlay;if(!J){this.overlayExclusive=!1,this.elToFocusAfter=null,this.refreshWrapperPadding();return}let Z=this.elToFocusAfter;if(this.elToFocusAfter=null,this.activeOverlay=null,this.overlayExclusive=!1,Z&&!this.isGridFocused())Z=null;this.destroyBean(J);let $=this.eOverlayWrapper;if($)ZJ($);Z?.focus?.({preventScroll:!0}),this.refreshWrapperPadding()}hideOverlay(){this.destroyActiveOverlay(),this.setDisplayed(!1,{skipAriaHidden:!0})}isGridFocused(){let J=n(this.beans);return!!J&&this.beans.eGridDiv.contains(J)}destroy(){this.elToFocusAfter=null,this.destroyActiveOverlay(),this.beans.overlays.setWrapperComp(this,!0),super.destroy(),this.eOverlayWrapper=null}},FK={selector:"AG-OVERLAY-WRAPPER",component:p1},DK=["refresh"],D5=(J)=>({name:J,optionalMethods:DK}),f0={id:"agLoadingOverlay",overlayType:"loading",comp:D5("loadingOverlayComponent"),wrapperCls:"ag-overlay-loading-wrapper",exclusive:!0,compKey:"loadingOverlayComponent",paramsKey:"loadingOverlayComponentParams",isSuppressed:(J)=>{let Z=J.get("loading");return Z===!1||J.get("suppressLoadingOverlay")===!0&&Z!==!0}},q2={id:"agNoRowsOverlay",overlayType:"noRows",comp:D5("noRowsOverlayComponent"),wrapperCls:"ag-overlay-no-rows-wrapper",compKey:"noRowsOverlayComponent",paramsKey:"noRowsOverlayComponentParams",isSuppressed:(J)=>J.get("suppressNoRowsOverlay")},V9={id:"agNoMatchingRowsOverlay",overlayType:"noMatchingRows",comp:D5("noMatchingRowsOverlayComponent"),wrapperCls:"ag-overlay-no-matching-rows-wrapper"},B6={id:"agExportingOverlay",overlayType:"exporting",comp:D5("exportingOverlayComponent"),wrapperCls:"ag-overlay-exporting-wrapper",exclusive:!0},l5={id:"activeOverlay",comp:D5("activeOverlay"),wrapperCls:"ag-overlay-modal-wrapper",exclusive:!0},kK=(J)=>{if(!J)return null;return{agLoadingOverlay:f0,agNoRowsOverlay:q2,agNoMatchingRowsOverlay:V9,agExportingOverlay:B6}[J]??l5},VK=(J)=>{if(!J)return null;return{loading:f0,noRows:q2,noMatchingRows:V9,exporting:B6}[J]},jK=class extends M{constructor(){super(...arguments);this.beanName="overlays",this.eWrapper=void 0,this.exclusive=!1,this.oldExclusive=!1,this.currentDef=null,this.showInitialOverlay=!0,this.userForcedNoRows=!1,this.exportsInProgress=0,this.newColumnsLoadedCleanup=null}postConstruct(){let J=this.gos;this.showInitialOverlay=o(J);let Z=()=>{if(this.userForcedNoRows)return;this.updateOverlay(!1)},[$,X,Y,Q]=this.addManagedEventListeners({newColumnsLoaded:Z,rowCountReady:()=>{this.disableInitialOverlay(),Z(),X()},rowDataUpdated:Z,modelUpdated:Z});this.newColumnsLoadedCleanup=$,this.addManagedPropertyListeners(["loading","activeOverlay","activeOverlayParams","overlayComponentParams","loadingOverlayComponentParams","noRowsOverlayComponentParams"],(q)=>this.onPropChange(new Set(q.changeSet?.properties)))}destroy(){this.doHideOverlay(),super.destroy(),this.eWrapper=void 0}setWrapperComp(J,Z){if(!this.isAlive())return;if(!Z)this.eWrapper=J;else if(this.eWrapper===J)this.eWrapper=void 0;this.updateOverlay(!1)}isVisible(){return!!this.currentDef}showLoadingOverlay(){this.showInitialOverlay=!1;let J=this.gos;if(!this.eWrapper||J.get("activeOverlay"))return;if(this.isDisabled(f0))return;let Z=J.get("loading");if(!Z&&Z!==void 0)return;this.doShowOverlay(f0)}showNoRowsOverlay(){this.showInitialOverlay=!1;let J=this.gos;if(!this.eWrapper||J.get("activeOverlay")||J.get("loading")||this.isDisabled(q2))return;this.userForcedNoRows=!0,this.doShowOverlay(q2)}async showExportOverlay(J){let{gos:Z,beans:$}=this;if(!this.eWrapper||Z.get("activeOverlay")||Z.get("loading")||this.isDisabled(B6)||this.userForcedNoRows&&this.currentDef===q2){J();return}let X=this.getDesiredDefWithOverride(B6);if(!X){J();return}this.exportsInProgress++,this.focusedCell=$.focusSvc.getFocusedCell(),await this.doShowOverlay(X),await new Promise((Q)=>setTimeout(()=>Q()));let Y=Date.now();try{J()}finally{let Q=Date.now()-Y,q=Math.max(0,300-Q),H=()=>{if(this.exportsInProgress--,this.exportsInProgress===0)this.updateOverlay(!1),l_($,this.focusedCell),this.focusedCell=null};if(q>0)setTimeout(()=>H(),q);else H()}}hideOverlay(){let J=this.gos;this.showInitialOverlay=!1;let Z=this.userForcedNoRows;if(this.userForcedNoRows=!1,J.get("loading")){O(99);return}if(J.get("activeOverlay")){O(296);return}if(this.currentDef===V9){O(297);return}if(this.doHideOverlay(),Z){if(this.getOverlayDef()!==q2)this.updateOverlay(!1)}}getOverlayWrapperSelector(){return FK}getOverlayWrapperCompClass(){return p1}onPropChange(J){let Z=J.has("activeOverlay");if(Z||J.has("loading")){if(this.updateOverlay(Z))return}let $=this.currentDef,X=this.eWrapper?.activeOverlay;if(X&&$){let Y=J.has("activeOverlayParams");if($===l5){if(Y)X.refresh?.(this.makeCompParams(!0))}else{let Q=$.paramsKey;if(J.has("overlayComponentParams")||Q&&J.has(Q))X.refresh?.(this.makeCompParams(!1,Q,$.overlayType))}}}updateOverlay(J){let Z=this.eWrapper;if(!Z)return this.currentDef=null,!1;let $=this.getDesiredDefWithOverride(),X=this.currentDef,Y=$===l5&&J;if($!==X){if(!$)return this.disableInitialOverlay(),this.doHideOverlay();return this.doShowOverlay($),!0}if(Y&&$)return Z.hideOverlay(),this.doShowOverlay($),!0;if(!$)this.disableInitialOverlay();return!1}getDesiredDefWithOverride(J){let{gos:Z}=this,$=kK(Z.get("activeOverlay"));if(!$){if($=J??this.getOverlayDef(),$&&this.isDisabled($))$=null}return $}getOverlayDef(){let{gos:J,beans:Z}=this,{rowModel:$}=Z,X=J.get("loading");if(X!==void 0){if(this.disableInitialOverlay(),X)return f0}else if(this.showInitialOverlay){if(!this.isDisabled(f0)&&(!J.get("columnDefs")||!J.get("rowData")))return f0;this.disableInitialOverlay()}else this.disableInitialOverlay();let Q=$.getOverlayType();return VK(Q)}disableInitialOverlay(){this.showInitialOverlay=!1,this.newColumnsLoadedCleanup?.(),this.newColumnsLoadedCleanup=null}doShowOverlay(J){let{gos:Z,beans:$}=this,{userCompFactory:X}=$;this.currentDef=J;let Y=J!==l5,Q=!!J.exclusive;this.exclusive=Q;let q;if(J.paramsKey&&Z.get(J.paramsKey)||J.compKey&&Z.get(J.compKey))q=J.paramsKey;let H=void 0;if(Y){if(Z.get("overlayComponent")||Z.get("overlayComponentSelector"))H=X.getCompDetailsFromGridOptions({name:"overlayComponent",optionalMethods:["refresh"]},void 0,this.makeCompParams(!1,J.paramsKey,J.overlayType))}H??(H=X.getCompDetailsFromGridOptions(J.comp,Y?J.id:void 0,this.makeCompParams(!Y,q,J.overlayType),!1));let _=H?.newAgStackInstance()??null,z=this.eWrapper?this.eWrapper.showOverlay(_,J.wrapperCls,Q):g.resolve();return this.eWrapper?.refreshWrapperPadding(),this.setExclusive(Q),z}makeCompParams(J,Z,$){let{gos:X}=this,Y=J?X.get("activeOverlayParams"):{...X.get("overlayComponentParams"),...Z&&X.get(Z)||null,overlayType:$};return x(X,Y??{})}doHideOverlay(){let J=!1;if(this.currentDef)this.currentDef=null,J=!0;this.exclusive=!1;let Z=this.eWrapper;if(Z)Z.hideOverlay(),Z.refreshWrapperPadding(),this.setExclusive(!1);return J}setExclusive(J){if(this.oldExclusive!==J)this.oldExclusive=J,this.eventSvc.dispatchEvent({type:"overlayExclusiveChanged"})}isDisabled(J){let{gos:Z}=this;return J.overlayType&&Z.get("suppressOverlays")?.includes(J.overlayType)||J.isSuppressed?.(Z)===!0}},AK={moduleName:"Overlay",version:p,userComponents:{agLoadingOverlay:HK,agNoRowsOverlay:WK,agNoMatchingRowsOverlay:zK,agExportingOverlay:QK},apiFunctions:{showLoadingOverlay:GK,showNoRowsOverlay:BK,hideOverlay:KK},icons:{overlayLoading:"loading",overlayExporting:"loading"},beans:[jK]},MK=class extends M{constructor(){super(...arguments);this.beanName="rowContainerHeight",this.scrollY=0,this.uiBodyHeight=0}postConstruct(){this.addManagedEventListeners({bodyHeightChanged:this.updateOffset.bind(this)}),this.maxDivHeight=P_(),n2(this.gos,"RowContainerHeightService - maxDivHeight = "+this.maxDivHeight)}updateOffset(){if(!this.stretching)return;let J=this.beans.ctrlsSvc.getScrollFeature().getVScrollPosition().top,Z=this.getUiBodyHeight();if(J!==this.scrollY||Z!==this.uiBodyHeight)this.scrollY=J,this.uiBodyHeight=Z,this.calculateOffset()}calculateOffset(){this.setUiContainerHeight(this.maxDivHeight),this.pixelsToShave=this.modelHeight-this.uiContainerHeight,this.maxScrollY=this.uiContainerHeight-this.uiBodyHeight;let J=this.scrollY/this.maxScrollY,Z=J*this.pixelsToShave;n2(this.gos,`RowContainerHeightService - Div Stretch Offset = ${Z} (${this.pixelsToShave} * ${J})`),this.setDivStretchOffset(Z)}setUiContainerHeight(J){if(J!==this.uiContainerHeight)this.uiContainerHeight=J,this.eventSvc.dispatchEvent({type:"rowContainerHeightChanged"})}clearOffset(){this.setUiContainerHeight(this.modelHeight),this.pixelsToShave=0,this.setDivStretchOffset(0)}setDivStretchOffset(J){let Z=typeof J==="number"?Math.floor(J):null;if(this.divStretchOffset===Z)return;this.divStretchOffset=Z,this.eventSvc.dispatchEvent({type:"heightScaleChanged"})}setModelHeight(J){if(this.modelHeight=J,this.stretching=J!=null&&this.maxDivHeight>0&&J>this.maxDivHeight,this.stretching)this.calculateOffset();else this.clearOffset()}getRealPixelPosition(J){return J-this.divStretchOffset}getUiBodyHeight(){let J=this.beans.ctrlsSvc.getScrollFeature().getVScrollPosition();return J.bottom-J.top}getScrollPositionForPixel(J){if(this.pixelsToShave<=0)return J;let Z=this.modelHeight-this.getUiBodyHeight(),$=J/Z;return this.maxScrollY*$}},RK=400,OK=class extends M{constructor(){super(...arguments);this.beanName="rowRenderer",this.destroyFuncsForColumnListeners=[],this.rowCtrlsByRowIndex={},this.zombieRowCtrls={},this.allRowCtrls=[],this.topRowCtrls=[],this.bottomRowCtrls=[],this.refreshInProgress=!1,this.dataFirstRenderedFired=!1,this.setupRangeSelectionListeners=()=>{let J=()=>{for(let Q of this.getAllCellCtrls())Q.onCellSelectionChanged()},Z=()=>{for(let Q of this.getAllCellCtrls())Q.updateRangeBordersIfRangeCount()},$=()=>{this.eventSvc.addListener("cellSelectionChanged",J),this.eventSvc.addListener("columnMoved",Z),this.eventSvc.addListener("columnPinned",Z),this.eventSvc.addListener("columnVisible",Z)},X=()=>{this.eventSvc.removeListener("cellSelectionChanged",J),this.eventSvc.removeListener("columnMoved",Z),this.eventSvc.removeListener("columnPinned",Z),this.eventSvc.removeListener("columnVisible",Z)};if(this.addDestroyFunc(()=>X()),this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{if(uJ(this.gos))$();else X()}),uJ(this.gos))$()}}wireBeans(J){this.pageBounds=J.pageBounds,this.colModel=J.colModel,this.pinnedRowModel=J.pinnedRowModel,this.rowModel=J.rowModel,this.focusSvc=J.focusSvc,this.rowContainerHeight=J.rowContainerHeight,this.ctrlsSvc=J.ctrlsSvc,this.editSvc=J.editSvc}postConstruct(){this.ctrlsSvc.whenReady(this,(J)=>{this.gridBodyCtrl=J.gridBodyCtrl,this.initialise()})}initialise(){this.addManagedEventListeners({paginationChanged:this.onPageLoaded.bind(this),pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this),pinnedRowsChanged:this.onPinnedRowsChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),bodyScroll:this.onBodyScroll.bind(this),bodyHeightChanged:this.redraw.bind(this,{})}),this.addManagedPropertyListeners(["domLayout","embedFullWidthRows"],()=>this.onDomLayoutChanged()),this.addManagedPropertyListeners(["suppressMaxRenderedRowRestriction","rowBuffer"],()=>this.redraw()),this.addManagedPropertyListener("suppressCellFocus",(X)=>this.onSuppressCellFocusChanged(X.currentValue)),this.addManagedPropertyListeners(["groupSuppressBlankHeader","getBusinessKeyForNode","fullWidthCellRenderer","fullWidthCellRendererParams","suppressStickyTotalRow","groupRowRenderer","groupRowRendererParams","loadingCellRenderer","loadingCellRendererParams","detailCellRenderer","detailCellRendererParams","enableRangeSelection","enableCellTextSelection"],()=>this.redrawRows()),this.addManagedPropertyListener("cellSelection",({currentValue:X,previousValue:Y})=>{if(!Y&&X||Y&&!X)this.redrawRows()});let{stickyRowSvc:J,gos:Z,showRowGroupCols:$}=this.beans;if($)this.addManagedPropertyListener("showOpenedGroup",()=>{let X=$.columns;if(X.length)this.refreshCells({columns:X,force:!0})});if(J)this.stickyRowFeature=J.createStickyRowFeature(this,this.createRowCon.bind(this),this.destroyRowCtrls.bind(this));else{let X=this.gridBodyCtrl;X.setStickyTopHeight(0),X.setStickyBottomHeight(0)}this.registerCellEventListeners(),this.initialiseCache(),this.printLayout=jJ(Z,"print"),this.embedFullWidthRows=this.printLayout||Z.get("embedFullWidthRows"),this.redrawAfterModelUpdate()}initialiseCache(){if(this.gos.get("keepDetailRows")){let J=this.getKeepDetailRowsCount(),Z=J!=null?J:3;this.cachedRowCtrls=new SK(Z)}}getKeepDetailRowsCount(){return this.gos.get("keepDetailRowsCount")}getStickyTopRowCtrls(){return this.stickyRowFeature?.stickyTopRowCtrls??[]}getStickyBottomRowCtrls(){return this.stickyRowFeature?.stickyBottomRowCtrls??[]}updateAllRowCtrls(){let J=Object.values(this.rowCtrlsByRowIndex),Z=Object.values(this.zombieRowCtrls),$=this.cachedRowCtrls?.getEntries()??[];if(Z.length>0||$.length>0)this.allRowCtrls=[...J,...Z,...$];else this.allRowCtrls=J}isCellBeingRendered(J,Z){let $=this.rowCtrlsByRowIndex[J];if(!Z||!$)return!!$;if($.isFullWidth())return!0;return!!this.beans.spannedRowRenderer?.getCellByPosition({rowIndex:J,column:Z,rowPinned:null})||!!$.getCellCtrl(Z)||!$.isRowRendered()}updateCellFocus(J){for(let Z of this.getAllCellCtrls())Z.onCellFocused(J);for(let Z of this.getFullWidthRowCtrls())Z.onFullWidthRowFocused(J)}onCellFocusChanged(J){if(J?.rowIndex!=null&&!J.rowPinned){let Z=this.beans.colModel.getCol(J.column)??void 0;if(!this.isCellBeingRendered(J.rowIndex,Z))this.redraw()}this.updateCellFocus(J)}onSuppressCellFocusChanged(J){for(let Z of this.getAllCellCtrls())Z.onSuppressCellFocusChanged(J);for(let Z of this.getFullWidthRowCtrls())Z.onSuppressCellFocusChanged(J)}registerCellEventListeners(){this.addManagedEventListeners({cellFocused:(J)=>this.onCellFocusChanged(J),cellFocusCleared:()=>this.updateCellFocus(),flashCells:(J)=>{let{cellFlashSvc:Z}=this.beans;if(Z)for(let $ of this.getAllCellCtrls())Z.onFlashCells($,J)},columnHoverChanged:()=>{for(let J of this.getAllCellCtrls())J.onColumnHover()},displayedColumnsChanged:()=>{for(let J of this.getAllCellCtrls())J.onDisplayedColumnsChanged()},displayedColumnsWidthChanged:()=>{if(this.printLayout)for(let J of this.getAllCellCtrls())J.onLeftChanged()}}),this.setupRangeSelectionListeners(),this.refreshListenersToColumnsForCellComps(),this.addManagedEventListeners({gridColumnsChanged:this.refreshListenersToColumnsForCellComps.bind(this)}),this.addDestroyFunc(this.removeGridColumnListeners.bind(this))}removeGridColumnListeners(){for(let J of this.destroyFuncsForColumnListeners)J();this.destroyFuncsForColumnListeners.length=0}refreshListenersToColumnsForCellComps(){this.removeGridColumnListeners();let J=this.colModel.getCols();for(let Z of J){let $=(_)=>{for(let z of this.getAllCellCtrls())if(z.column===Z)_(z)},X=()=>{$((_)=>_.onLeftChanged())},Y=()=>{$((_)=>_.onWidthChanged())},Q=()=>{$((_)=>_.onFirstRightPinnedChanged())},q=()=>{$((_)=>_.onLastLeftPinnedChanged())},H=()=>{$((_)=>_.onColDefChanged())};Z.__addEventListener("leftChanged",X),Z.__addEventListener("widthChanged",Y),Z.__addEventListener("firstRightPinnedChanged",Q),Z.__addEventListener("lastLeftPinnedChanged",q),Z.__addEventListener("colDefChanged",H),this.destroyFuncsForColumnListeners.push(()=>{Z.__removeEventListener("leftChanged",X),Z.__removeEventListener("widthChanged",Y),Z.__removeEventListener("firstRightPinnedChanged",Q),Z.__removeEventListener("lastLeftPinnedChanged",q),Z.__removeEventListener("colDefChanged",H)})}}onDomLayoutChanged(){let J=jJ(this.gos,"print"),Z=J||this.gos.get("embedFullWidthRows"),$=Z!==this.embedFullWidthRows||this.printLayout!==J;if(this.printLayout=J,this.embedFullWidthRows=Z,$)this.redrawAfterModelUpdate({domLayoutChanged:!0})}datasourceChanged(){this.firstRenderedRow=0,this.lastRenderedRow=-1;let J=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(J)}onPageLoaded(J){let Z={recycleRows:J.keepRenderedRows,animate:J.animate,newData:J.newData,newPage:J.newPage,onlyBody:!0};this.redrawAfterModelUpdate(Z)}getAllCellsNotSpanningForColumn(J){let Z=[];for(let $ of this.getAllRowCtrls()){let X=$.getCellCtrl(J,!0)?.eGui;if(X)Z.push(X)}return Z}refreshFloatingRowComps(J=!0){this.refreshFloatingRows(this.topRowCtrls,"top",J),this.refreshFloatingRows(this.bottomRowCtrls,"bottom",J)}refreshFloatingRows(J,Z,$){let{pinnedRowModel:X,beans:Y,printLayout:Q}=this,q=Object.fromEntries(J.map((_)=>[_.rowNode.id,_]));X?.forEachPinnedRow(Z,(_,z)=>{let U=J[z];if(U&&X.getPinnedRowById(U.rowNode.id,Z)===void 0)U.destroyFirstPass(),U.destroySecondPass();if(_.id in q&&$)J[z]=q[_.id],delete q[_.id];else J[z]=new E8(_,Y,!1,!1,Q)});let H=(Z==="top"?X?.getPinnedTopRowCount():X?.getPinnedBottomRowCount())??0;J.length=H}onPinnedRowDataChanged(){let J={recycleRows:!0};this.redrawAfterModelUpdate(J)}onPinnedRowsChanged(){this.redrawAfterModelUpdate({recycleRows:!0})}redrawRow(J,Z=!1){if(J.sticky)this.stickyRowFeature?.refreshStickyNode(J);else if(this.cachedRowCtrls?.has(J)){this.cachedRowCtrls.removeRow(J);return}else{let $=(X)=>{let Y=X[J.rowIndex];if(!Y)return;if(Y.rowNode!==J)return;Y.destroyFirstPass(),Y.destroySecondPass(),X[J.rowIndex]=this.createRowCon(J,!1,!1)};switch(J.rowPinned){case"top":$(this.topRowCtrls);break;case"bottom":$(this.bottomRowCtrls);break;default:$(this.rowCtrlsByRowIndex),this.updateAllRowCtrls()}}if(!Z)this.dispatchDisplayedRowsChanged(!1)}redrawRows(J){let{editSvc:Z}=this.beans;if(Z?.isEditing())if(Z.isBatchEditing())Z.cleanupEditors();else Z.stopEditing(void 0,{source:"api"});if(J!=null){for(let X of J??[])this.redrawRow(X,!0);this.dispatchDisplayedRowsChanged(!1);return}this.redrawAfterModelUpdate()}redrawAfterModelUpdate(J={}){this.getLockOnRefresh();let Z=this.beans.focusSvc?.getFocusCellToUseAfterRefresh();this.updateContainerHeights(),this.scrollToTopIfNewData(J);let $=!J.domLayoutChanged&&!!J.recycleRows,X=J.animate&&U2(this.gos),Y=$?this.getRowsToRecycle():null;if(!$)this.removeAllRowComps();this.workOutFirstAndLastRowsToRender();let{stickyRowFeature:Q,gos:q}=this;if(Q){Q.checkStickyRows();let H=Q.extraTopHeight+Q.extraBottomHeight;if(H)this.updateContainerHeights(H)}if(this.recycleRows(Y,X),this.gridBodyCtrl.updateRowCount(),!J.onlyBody)this.refreshFloatingRowComps(q.get("enableRowPinning")?$:void 0);if(this.dispatchDisplayedRowsChanged(),Z!=null)this.restoreFocusedCell(Z);this.releaseLockOnRefresh()}scrollToTopIfNewData(J){let Z=J.newData||J.newPage,$=this.gos.get("suppressScrollOnNewData");if(Z&&!$)this.gridBodyCtrl.scrollFeature.scrollToTop(),this.stickyRowFeature?.resetOffsets()}updateContainerHeights(J=0){let{rowContainerHeight:Z}=this;if(this.printLayout){Z.setModelHeight(null);return}let $=this.pageBounds.getCurrentPageHeight();if($===0)$=1;Z.setModelHeight($+J)}getLockOnRefresh(){if(this.refreshInProgress)throw Error(JZ(252));this.refreshInProgress=!0,this.beans.frameworkOverrides.getLockOnRefresh?.()}releaseLockOnRefresh(){this.refreshInProgress=!1,this.beans.frameworkOverrides.releaseLockOnRefresh?.()}isRefreshInProgress(){return this.refreshInProgress}restoreFocusedCell(J){if(!J)return;let Z=this.beans.focusSvc,$=this.findPositionToFocus(J);if(!$){Z.focusHeaderPosition({headerPosition:{headerRowIndex:lJ(this.beans)-1,column:J.column}});return}if(J.rowIndex!==$.rowIndex||J.rowPinned!=$.rowPinned){Z.setFocusedCell({...$,preventScrollOnBrowserFocus:!0,forceBrowserFocus:!0});return}if(!Z.doesRowOrCellHaveBrowserFocus())this.updateCellFocus(x(this.gos,{...$,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,type:"cellFocused"}))}findPositionToFocus(J){let{pagination:Z,pageBounds:$}=this.beans,X=J;if(X.rowPinned==null&&Z&&$&&!Z.isRowInPage(X.rowIndex))X={rowPinned:null,rowIndex:$.getFirstRow()};while(X){if(X.rowPinned==null&&$){if(X.rowIndex<$.getFirstRow()){if(X=mJ(this.beans,{rowPinned:null,rowIndex:0}),!X)return null}else if(X.rowIndex>$.getLastRow())X={rowPinned:null,rowIndex:$.getLastRow()}}let Y=this.getRowByPosition(X);if(Y?.isAlive())return{...Y.getRowPosition(),column:J.column};X=mJ(this.beans,X)}return null}getAllCellCtrls(){let J=[],Z=this.getAllRowCtrls(),$=Z.length;for(let X=0;X<$;X++){let Y=Z[X].getAllCellCtrls(),Q=Y.length;for(let q=0;q{let Y=X.rowNode;return a$(Y,Z)})}getCellCtrls(J,Z){let $;if(T(Z))$={},Z.forEach((Y)=>{let Q=this.colModel.getCol(Y);if(T(Q))$[Q.getId()]=!0});let X=[];for(let Y of this.getRowCtrls(J))for(let Q of Y.getAllCellCtrls()){let q=Q.column.getId();if($&&!$[q])continue;X.push(Q)}return X}destroy(){this.removeAllRowComps(!0),super.destroy()}removeAllRowComps(J=!1){let Z=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(Z,J),this.stickyRowFeature?.destroyStickyCtrls()}getRowsToRecycle(){let J=[];for(let $ of Object.keys(this.rowCtrlsByRowIndex))if(this.rowCtrlsByRowIndex[$].rowNode.id==null)J.push($);this.removeRowCtrls(J);let Z={};for(let $ of Object.values(this.rowCtrlsByRowIndex)){let X=$.rowNode;Z[X.id]=$}return this.rowCtrlsByRowIndex={},Z}removeRowCtrls(J,Z=!1){for(let $ of J){let X=this.rowCtrlsByRowIndex[$];if(X)X.destroyFirstPass(Z),X.destroySecondPass();delete this.rowCtrlsByRowIndex[$]}}onBodyScroll(J){if(J.direction!=="vertical")return;this.redraw({afterScroll:!0})}redraw(J={}){let{focusSvc:Z,animationFrameSvc:$}=this.beans,{afterScroll:X}=J,Y,Q=this.stickyRowFeature;if(Q)Y=Z?.getFocusCellToUseAfterRefresh()||void 0;let q=this.firstRenderedRow,H=this.lastRenderedRow;this.workOutFirstAndLastRowsToRender();let _=!1;if(Q){_=Q.checkStickyRows();let U=Q.extraTopHeight+Q.extraBottomHeight;if(U)this.updateContainerHeights(U)}let z=this.firstRenderedRow!==q||this.lastRenderedRow!==H;if(X&&!_&&!z)return;if(this.getLockOnRefresh(),this.recycleRows(null,!1,X),this.releaseLockOnRefresh(),this.dispatchDisplayedRowsChanged(X&&!_),Y!=null){let U=Z?.getFocusCellToUseAfterRefresh();if(Y!=null&&U==null)$?.flushAllFrames(),this.restoreFocusedCell(Y)}}removeRowCompsNotToDraw(J,Z){let $={};for(let Q of J)$[Q]=!0;let Y=Object.keys(this.rowCtrlsByRowIndex).filter((Q)=>!$[Q]);this.removeRowCtrls(Y,Z)}calculateIndexesToDraw(J){let Z=[];for(let q=this.firstRenderedRow;q<=this.lastRenderedRow;q++)Z.push(q);let $=this.beans.pagination,X=this.beans.focusSvc?.getFocusedCell()?.rowIndex;if(X!=null&&(Xthis.lastRenderedRow)&&(!$||$.isRowInPage(X))&&X{let H=q.rowNode.rowIndex;if(H==null||H===X)return;if(Hthis.lastRenderedRow){if(this.doNotUnVirtualiseRow(q))Z.push(H)}};for(let q of Object.values(this.rowCtrlsByRowIndex))Y(q);if(J)for(let q of Object.values(J))Y(q);Z.sort((q,H)=>q-H);let Q=[];for(let q=0;q{this.destroyRowCtrls(J,Z),this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()});else this.destroyRowCtrls(J,Z)}this.updateAllRowCtrls()}dispatchDisplayedRowsChanged(J=!1){this.eventSvc.dispatchEvent({type:"displayedRowsChanged",afterScroll:J})}onDisplayedColumnsChanged(){let{visibleCols:J}=this.beans,Z=J.isPinningLeft(),$=J.isPinningRight();if(this.pinningLeft!==Z||$!==this.pinningRight){if(this.pinningLeft=Z,this.pinningRight=$,this.embedFullWidthRows)this.redrawFullWidthEmbeddedRows()}}redrawFullWidthEmbeddedRows(){let J=[];for(let Z of this.getFullWidthRowCtrls()){let $=Z.rowNode.rowIndex;J.push($.toString())}this.refreshFloatingRowComps(),this.removeRowCtrls(J),this.redraw({afterScroll:!0})}getFullWidthRowCtrls(J){let Z=l$(J);return this.getAllRowCtrls().filter(($)=>{if(!$.isFullWidth())return!1;let X=$.rowNode;if(Z!=null&&!a$(X,Z))return!1;return!0})}createOrUpdateRowCtrl(J,Z,$,X){let Y,Q=this.rowCtrlsByRowIndex[J];if(!Q){if(Y=this.rowModel.getRow(J),T(Y)&&T(Z)&&Z[Y.id]&&Y.alreadyRendered)Q=Z[Y.id],Z[Y.id]=null}if(!Q){if(!Y)Y=this.rowModel.getRow(J);if(T(Y))Q=this.createRowCon(Y,$,X);else return}if(Y)Y.alreadyRendered=!0;this.rowCtrlsByRowIndex[J]=Q}destroyRowCtrls(J,Z){let $=[];if(J)for(let X of Object.values(J)){if(!X)continue;if(this.cachedRowCtrls&&X.isCacheable()){this.cachedRowCtrls.addRow(X);continue}if(X.destroyFirstPass(!Z),Z){let Y=X.instanceId;this.zombieRowCtrls[Y]=X,$.push(()=>{X.destroySecondPass(),delete this.zombieRowCtrls[Y]})}else X.destroySecondPass()}if(Z)$.push(()=>{if(this.isAlive())this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()}),window.setTimeout(()=>{for(let X of $)X()},RK)}getRowBuffer(){return this.gos.get("rowBuffer")}getRowBufferInPixels(){let J=this.getRowBuffer(),Z=ZY(this.beans);return J*Z}workOutFirstAndLastRowsToRender(){let{rowContainerHeight:J,pageBounds:Z,rowModel:$}=this;J.updateOffset();let X,Y;if(!$.isRowsToRender())X=0,Y=-1;else if(this.printLayout)this.beans.environment.refreshRowHeightVariable(),X=Z.getFirstRow(),Y=Z.getLastRow();else{let U=this.getRowBufferInPixels(),W=this.ctrlsSvc.getScrollFeature(),G=this.gos.get("suppressRowVirtualisation"),B=!1,K,E;do{let j=Z.getPixelOffset(),{pageFirstPixel:A,pageLastPixel:R}=Z.getCurrentPagePixelRange(),f=J.divStretchOffset,I=W.getVScrollPosition(),v=I.top,b=I.bottom;if(G)K=A+f,E=R+f;else K=Math.max(v+j-U,A)+f,E=Math.min(b+j+U,R)+f;this.firstVisibleVPixel=Math.max(v+j,A)+f,this.lastVisibleVPixel=Math.min(b+j,R)+f,B=this.ensureAllRowsInRangeHaveHeightsCalculated(K,E)}while(B);let L=$.getRowIndexAtPixel(K),F=$.getRowIndexAtPixel(E),D=Z.getFirstRow(),k=Z.getLastRow();if(Lk)F=k;X=L,Y=F}let Q=jJ(this.gos,"normal"),q=this.gos.get("suppressMaxRenderedRowRestriction"),H=Math.max(this.getRowBuffer(),500);if(Q&&!q){if(Y-X>H)Y=X+H}let _=X!==this.firstRenderedRow,z=Y!==this.lastRenderedRow;if(_||z)this.firstRenderedRow=X,this.lastRenderedRow=Y,this.eventSvc.dispatchEvent({type:"viewportChanged",firstRow:X,lastRow:Y})}dispatchFirstDataRenderedEvent(){if(this.dataFirstRenderedFired)return;this.dataFirstRenderedFired=!0,qZ(this.beans,()=>{this.beans.eventSvc.dispatchEvent({type:"firstDataRendered",firstRow:this.firstRenderedRow,lastRow:this.lastRenderedRow})})}ensureAllRowsInRangeHaveHeightsCalculated(J,Z){let $=this.pinnedRowModel?.ensureRowHeightsValid(),X=this.stickyRowFeature?.ensureRowHeightsValid(),{pageBounds:Y,rowModel:Q}=this,q=Q.ensureRowHeightsValid(J,Z,Y.getFirstRow(),Y.getLastRow());if(q||X)this.eventSvc.dispatchEvent({type:"recalculateRowBounds"});if(X||q||$)return this.updateContainerHeights(),!0;return!1}doNotUnVirtualiseRow(J){let X=J.rowNode,Y=this.focusSvc.isRowFocused(X.rowIndex,X.rowPinned),Q=this.editSvc?.isEditing(J),q=X.detail;if(!(Y||Q||q))return!1;return this.isRowPresent(X)?!0:!1}isRowPresent(J){if(!this.rowModel.isRowPresent(J))return!1;return this.beans.pagination?.isRowInPage(J.rowIndex)??!0}createRowCon(J,Z,$){let X=this.cachedRowCtrls?.getRow(J)??null;if(X)return X;let Y=$&&!this.printLayout&&!!this.beans.animationFrameSvc?.active;return new E8(J,this.beans,Z,Y,this.printLayout)}getRenderedNodes(){let J=Object.values(this.rowCtrlsByRowIndex).map((X)=>X.rowNode),Z=this.getStickyTopRowCtrls().map((X)=>X.rowNode),$=this.getStickyBottomRowCtrls().map((X)=>X.rowNode);return[...Z,...J,...$]}getRowByPosition(J){let Z,{rowIndex:$}=J;switch(J.rowPinned){case"top":Z=this.topRowCtrls[$];break;case"bottom":Z=this.bottomRowCtrls[$];break;default:if(Z=this.rowCtrlsByRowIndex[$],!Z){if(Z=this.getStickyTopRowCtrls().find((X)=>X.rowNode.rowIndex===$)||null,!Z)Z=this.getStickyBottomRowCtrls().find((X)=>X.rowNode.rowIndex===$)||null}break}return Z}isRangeInRenderedViewport(J,Z){if(J==null||Z==null)return!1;let X=J>this.lastRenderedRow;return!(Zthis.maxCount){let Z=this.entriesList[0];Z.destroyFirstPass(),Z.destroySecondPass(),this.removeFromCache(Z)}}getRow(J){if(J?.id==null)return null;let Z=this.entriesMap[J.id];if(!Z)return null;return this.removeFromCache(Z),Z.setCached(!1),Z.rowNode!=J?null:Z}has(J){return this.entriesMap[J.id]!=null}removeRow(J){let Z=J.id,$=this.entriesMap[Z];delete this.entriesMap[Z],YJ(this.entriesList,$)}removeFromCache(J){let Z=J.rowNode.id;delete this.entriesMap[Z],YJ(this.entriesList,J)}getEntries(){return this.entriesList}};function l$(J){if(!J)return;let Z={top:{},bottom:{},normal:{}};for(let $ of J){let X=$.id;switch($.rowPinned){case"top":Z.top[X]=$;break;case"bottom":Z.bottom[X]=$;break;default:Z.normal[X]=$;break}}return Z}function a$(J,Z){let $=J.id;switch(J.rowPinned){case"top":return Z.top[$]!=null;case"bottom":return Z.bottom[$]!=null;default:return Z.normal[$]!=null}}var fK=class extends M{constructor(){super(...arguments);this.beanName="rowNodeSorter",this.accentedSort=!1,this.primaryColumnsSortGroups=!1,this.pivotActive=!1}postConstruct(){this.firstLeaf=o(this.gos)?p0:PK,this.addManagedPropertyListeners(["accentedSort","autoGroupColumnDef","treeData"],this.updateOptions.bind(this));let J=this.updatePivotModeState.bind(this);this.addManagedEventListeners({columnPivotModeChanged:J,columnPivotChanged:J}),this.updateOptions(),J()}updateOptions(){this.accentedSort=!!this.gos.get("accentedSort"),this.primaryColumnsSortGroups=GZ(this.gos)}updatePivotModeState(){this.pivotActive=this.beans.colModel.isPivotActive()}doFullSortInPlace(J,Z){return J.sort(($,X)=>this.compareRowNodes(Z,$,X))}compareRowNodes(J,Z,$){if(Z===$)return 0;let X=this.accentedSort;for(let Y=0,Q=J.length;Y{if(J.data)return J;let Z=J.childrenAfterGroup;while(Z?.length){let $=Z[0];if($.data)return $;Z=$.childrenAfterGroup}},o$=(J)=>{if(!J)return J;if(typeof J==="bigint")return J<0n?-J:J;let Z=Number(J);return isNaN(Z)?J:Math.abs(Z)};function TK(J){J.sortSvc?.onSortChanged("api")}var R0=(J,Z)=>({tag:"span",ref:`eSort${J}`,cls:`ag-sort-indicator-icon ag-sort-${Z} ag-hidden`,attrs:{"aria-hidden":"true"}}),vK={tag:"span",cls:"ag-sort-indicator-container",children:[R0("Order","order"),R0("Asc","ascending-icon"),R0("Desc","descending-icon"),R0("Mixed","mixed-icon"),R0("AbsoluteAsc","absolute-ascending-icon"),R0("AbsoluteDesc","absolute-descending-icon"),R0("None","none-icon")]},j9=class extends y{constructor(J){super();if(this.eSortOrder=S,this.eSortAsc=S,this.eSortDesc=S,this.eSortMixed=S,this.eSortNone=S,this.eSortAbsoluteAsc=S,this.eSortAbsoluteDesc=S,!J)this.setTemplate(vK)}attachCustomElements(J,Z,$,X,Y,Q,q){this.eSortOrder=J,this.eSortAsc=Z,this.eSortDesc=$,this.eSortMixed=X,this.eSortNone=Y,this.eSortAbsoluteAsc=Q,this.eSortAbsoluteDesc=q}setupSort(J,Z=!1,$){if(this.column=J,this.suppressOrder=Z,this.getSortDefOverride=$,this.setupMultiSortIndicator(),!J.isSortable()&&!J.getColDef().showRowGroup)return;this.addInIcon("sortAscending",this.eSortAsc,J),this.addInIcon("sortDescending",this.eSortDesc,J),this.addInIcon("sortUnSort",this.eSortNone,J),this.addInIcon("sortAbsoluteAscending",this.eSortAbsoluteAsc,J),this.addInIcon("sortAbsoluteDescending",this.eSortAbsoluteDesc,J);let X=this.updateIcons.bind(this),Y=this.onSortChanged.bind(this);this.addManagedPropertyListener("unSortIcon",X),this.addManagedEventListeners({newColumnsLoaded:X,sortChanged:Y,columnRowGroupChanged:Y}),this.onSortChanged()}addInIcon(J,Z,$){if(Z==null)return;let X=h(J,this.beans,$);if(X)Z.appendChild(X)}onSortChanged(){if(this.updateIcons(),!this.suppressOrder)this.updateSortOrder()}updateIcons(){let{eSortAsc:J,eSortDesc:Z,eSortAbsoluteAsc:$,eSortAbsoluteDesc:X,eSortNone:Y,column:Q,gos:q,beans:H}=this,_=h8(Q,H,this.getSortDefOverride),z=_.isDefaultSortAllowed,U=_.isAbsoluteSortAllowed,{isAbsoluteSort:W,isDefaultSort:G,isAscending:B,isDescending:K,direction:E}=_;if(J)w(J,B&&G&&z,{skipAriaHidden:!0});if(Z)w(Z,K&&G&&z,{skipAriaHidden:!0});if(Y){let L=!Q.getColDef().unSortIcon&&!q.get("unSortIcon");w(Y,!L&&!E,{skipAriaHidden:!0})}if($)w($,B&&W&&U,{skipAriaHidden:!0});if(X)w(X,K&&W&&U,{skipAriaHidden:!0})}setupMultiSortIndicator(){let{eSortMixed:J,column:Z,gos:$}=this;this.addInIcon("sortUnSort",J,Z);let X=Z.getColDef().showRowGroup;if(GZ($)&&X)this.addManagedEventListeners({sortChanged:this.updateMultiSortIndicator.bind(this),columnRowGroupChanged:this.updateMultiSortIndicator.bind(this)}),this.updateMultiSortIndicator()}updateMultiSortIndicator(){let{eSortMixed:J,beans:Z,column:$}=this;if(J){let X=Z.sortSvc.getDisplaySortForColumn($)?.direction==="mixed";w(J,X,{skipAriaHidden:!0})}}updateSortOrder(){let{eSortOrder:J,column:Z,beans:{sortSvc:$}}=this;if(!J)return;let X=$.getColumnsWithSortingOrdered(),Y=$.getDisplaySortIndexForColumn(Z)??-1,Q=X.some((H)=>$.getDisplaySortIndexForColumn(H)??!1),q=Y>=0&&Q;if(w(J,q,{skipAriaHidden:!0}),Y>=0)J.textContent=(Y+1).toString();else ZJ(J)}refresh(){this.onSortChanged()}},IK={selector:"AG-SORT-INDICATOR",component:j9},bK=class extends M{constructor(){super(...arguments);this.beanName="sortSvc"}progressSort(J,Z,$){let X=this.getNextSortDirection(J);this.setSortForColumn(J,X,Z,$)}progressSortFromEvent(J,Z){let X=this.gos.get("multiSortKey")==="ctrl"?Z.ctrlKey||Z.metaKey:Z.shiftKey;this.progressSort(J,X,"uiColumnSorted")}setSortForColumn(J,Z,$,X){let{gos:Y,showRowGroupCols:Q}=this.beans,q=GZ(Y),H=[J];if(q){if(J.getColDef().showRowGroup){let W=Q?.getSourceColumnsForGroupColumn?.(J)?.filter((G)=>G.isSortable());if(W)H=[J,...W]}}for(let U of H)this.setColSort(U,Z,X);let _=($||Y.get("alwaysMultiSort"))&&!Y.get("suppressMultiSort"),z=[];if(!_){let U=this.clearSortBarTheseColumns(H,X);z.push(...U)}this.updateSortIndex(J),z.push(...H),this.dispatchSortChangedEvents(X,z)}updateSortIndex(J){let{gos:Z,colModel:$,showRowGroupCols:X}=this.beans,Y=GZ(Z),Q=X?.getShowRowGroupCol(J.getId()),q=Y?Q||J:J,H=this.getColumnsWithSortingOrdered();$.forAllCols((U)=>this.setColSortIndex(U,null));let _=H.filter((U)=>{if(Y&&U.getColDef().showRowGroup)return!1;return U!==q});(q.getSortDef()?[..._,q]:_).forEach((U,W)=>this.setColSortIndex(U,W))}onSortChanged(J,Z){this.dispatchSortChangedEvents(J,Z)}isSortActive(){let J=!1;return this.beans.colModel.forAllCols((Z)=>{if(Z.getSortDef())return J=!0,!0}),J}dispatchSortChangedEvents(J,Z){let $={type:"sortChanged",source:J};if(Z)$.columns=Z;this.eventSvc.dispatchEvent($)}clearSortBarTheseColumns(J,Z){let $=[];return this.beans.colModel.forAllCols((X)=>{if(!J.includes(X)){if(X.getSortDef())$.push(X);this.setColSort(X,void 0,Z)}}),$}getNextSortDirection(J,Z){let $=J.getSortingOrder(),X=Z===void 0?J.getSortDef():aJ(Z),Q=$.findIndex((q)=>n5(q,X))+1;if(Q>=$.length)Q=0;return aJ($[Q])}getIndexedSortMap(){let{gos:J,colModel:Z,showRowGroupCols:$,rowGroupColsSvc:X}=this.beans,Y=[];if(Z.forAllCols((z)=>{if(z.getSortDef())Y.push(z)}),Z.isPivotMode()){let z=GZ(J);Y=Y.filter((U)=>{let W=!!U.getAggFunc(),G=!U.isPrimary(),B=z?$?.getShowRowGroupCol(U.getId()):U.getColDef().showRowGroup;return W||G||B})}let Q=X?.columns.filter((z)=>!!z.getSortDef())??[],q={};Y.forEach((z,U)=>q[z.getId()]=U),Y.sort((z,U)=>{let W=z.getSortIndex(),G=U.getSortIndex();if(W!=null&&G!=null)return W-G;else if(W==null&&G==null){let B=q[z.getId()],K=q[U.getId()];return B>K?1:-1}else if(G==null)return-1;else return 1});let H=GZ(J)&&!!Q.length;if(H)Y=[...new Set(Y.map((z)=>$?.getShowRowGroupCol(z.getId())??z))];let _=new Map;if(Y.forEach((z,U)=>_.set(z,U)),H)for(let z of Q){let U=$.getShowRowGroupCol(z.getId());_.set(z,_.get(U))}return _}getColumnsWithSortingOrdered(){return[...this.getIndexedSortMap().entries()].sort(([,J],[,Z])=>J-Z).map(([J])=>J)}collectSortItems(J=!1){let Z=[],$=this.getColumnsWithSortingOrdered();for(let X of $){let Y=X.getSortDef()?.direction;if(!Y)continue;let Q=LZ(X.getSortDef()?.type),q={sort:Y,type:Q};if(J)q.colId=X.getId();else q.column=X;Z.push(q)}return Z}getSortModel(){return this.collectSortItems(!0)}getSortOptions(){return this.collectSortItems()}canColumnDisplayMixedSort(J){let Z=GZ(this.gos),$=!!J.getColDef().showRowGroup;return Z&&$}getDisplaySortForColumn(J){let Z=this.beans.showRowGroupCols?.getSourceColumnsForGroupColumn(J);if(!this.canColumnDisplayMixedSort(J)||!Z?.length)return J.getSortDef();let X=J.getColDef().field!=null||!!J.getColDef().valueGetter?[J,...Z]:Z,Y=X[0].getSortDef();if(!X.every((q)=>n5(q.getSortDef(),Y)))return{type:LZ(J.getSortDef()?.type),direction:"mixed"};return Y}getDisplaySortIndexForColumn(J){return this.getIndexedSortMap().get(J)}setupHeader(J,Z){let $=()=>{let{type:X,direction:Y}=aJ(Z.getSortDef());if(J.toggleCss("ag-header-cell-sorted-asc",Y==="asc"),J.toggleCss("ag-header-cell-sorted-desc",Y==="desc"),J.toggleCss("ag-header-cell-sorted-abs-asc",X==="absolute"&&Y==="asc"),J.toggleCss("ag-header-cell-sorted-abs-desc",X==="absolute"&&Y==="desc"),J.toggleCss("ag-header-cell-sorted-none",!Y),Z.getColDef().showRowGroup){let H=!this.beans.showRowGroupCols?.getSourceColumnsForGroupColumn(Z)?.every((_)=>Y==_.getSortDef()?.direction);J.toggleCss("ag-header-cell-sorted-mixed",H)}};J.addManagedEventListeners({sortChanged:$,columnPinned:$,columnRowGroupChanged:$,displayedColumnsChanged:$})}initCol(J){let{sortIndex:Z,initialSortIndex:$}=J.colDef,X=kY(J.colDef);if(X)J.setSortDef(X,!0);if(Z!==void 0){if(Z!==null)J.sortIndex=Z}else if($!==null)J.sortIndex=$}updateColSort(J,Z,$){if(Z===void 0)return;this.setColSort(J,aJ(Z),$)}setColSort(J,Z,$){if(!n5(J.getSortDef(),Z))J.setSortDef(aJ(Z),Z===void 0),J.dispatchColEvent("sortChanged",$);J.dispatchStateUpdatedEvent("sort")}setColSortIndex(J,Z){J.sortIndex=Z,J.dispatchStateUpdatedEvent("sortIndex")}createSortIndicator(J){return new j9(J)}getSortIndicatorSelector(){return IK}},i1={moduleName:"Sort",version:p,beans:[bK,fK],apiFunctions:{onSortChanged:TK},userComponents:{agSortIndicator:j9},icons:{sortAscending:"asc",sortDescending:"desc",sortUnSort:"none",sortAbsoluteAscending:"aasc",sortAbsoluteDescending:"adesc"}},CK=class extends M{constructor(){super(...arguments);this.beanName="syncSvc",this.waitingForColumns=!1}postConstruct(){this.addManagedPropertyListener("columnDefs",(J)=>this.setColumnDefs(J))}start(){this.beans.ctrlsSvc.whenReady(this,()=>{let J=this.gos.get("columnDefs");if(J)this.setColumnsAndData(J);else this.waitingForColumns=!0;this.gridReady()})}setColumnsAndData(J){let{colModel:Z,rowModel:$}=this.beans;Z.setColumnDefs(J??[],"gridInitializing"),$.start()}gridReady(){let{eventSvc:J,gos:Z}=this;J.dispatchEvent({type:"gridReady"}),n2(Z,`initialised successfully, enterprise = ${Z.isModuleRegistered("EnterpriseCore")}`)}setColumnDefs(J){let Z=this.gos.get("columnDefs");if(!Z)return;if(this.waitingForColumns){this.waitingForColumns=!1,this.setColumnsAndData(Z);return}this.beans.colModel.setColumnDefs(Z,Q0(J.source))}};var xK="paste",yK=class extends M{constructor(){super(...arguments);this.beanName="changeDetectionSvc",this.deferredDepth=0,this.batchedPath=null,this.batchedNodes=null}destroy(){super.destroy(),this.batchedPath=null,this.batchedNodes=null}postConstruct(){this.csrm=t8(this.beans),this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this)})}beginDeferred(){this.deferredDepth++}endDeferred(){if(this.deferredDepth===0)return;if(--this.deferredDepth>0)return;let J=this.batchedPath,Z=this.batchedNodes;if(this.batchedPath=null,this.batchedNodes=null,J)this.csrm?.doAggregate(J);let{rowRenderer:$}=this.beans;if(Z)for(let X of Z)e$($,X);if(J){let X=J.getSortedRows();for(let Y=0,Q=X.length;Y{let{sibling:$,pinnedSibling:X}=Z;J.refreshRowByNode(Z),J.refreshRowByNode($),J.refreshRowByNode(X),J.refreshRowByNode($?.pinnedSibling),J.refreshRowByNode(X?.sibling)},NK=class extends M{constructor(){super(...arguments);this.beanName="expressionSvc",this.cache={}}evaluate(J,Z){if(typeof J==="string")return this.evaluateExpression(J,Z);else e(15,{expression:J})}evaluateExpression(J,Z){try{return this.createExpressionFunction(J)(Z.value,Z.context,Z.oldValue,Z.newValue,Z.value,Z.node,Z.data,Z.colDef,Z.rowIndex,Z.api,Z.getValue,Z.column,Z.columnGroup)}catch($){return e(16,{expression:J,params:Z,e:$}),null}}createExpressionFunction(J){let Z=this.cache;if(Z[J])return Z[J];let $=this.createFunctionBody(J),X=Function("x, ctx, oldValue, newValue, value, node, data, colDef, rowIndex, api, getValue, column, columnGroup",$);return Z[J]=X,X}createFunctionBody(J){if(J.includes("return"))return J;else return"return "+J+";"}};var wK={moduleName:"Expression",version:p,beans:[NK]},gK={moduleName:"ChangeDetection",version:p,beans:[yK]};var hK=class extends M{constructor(){super(...arguments);this.beanName="valueSvc",this.initialised=!1,this.isSsrm=!1}wireBeans(J){this.expressionSvc=J.expressionSvc,this.colModel=J.colModel,this.valueCache=J.valueCache,this.dataTypeSvc=J.dataTypeSvc,this.editSvc=J.editSvc,this.formulaDataSvc=J.formulaDataSvc,this.rowGroupColsSvc=J.rowGroupColsSvc}postConstruct(){if(!this.initialised)this.init()}init(){let{gos:J,valueCache:Z}=this;this.executeValueGetter=Z?this.executeValueGetterWithValueCache.bind(this):this.executeValueGetterWithoutValueCache.bind(this),this.isSsrm=z0(J),this.cellExpressions=J.get("enableCellExpressions"),this.isTreeData=J.get("treeData"),this.initialised=!0;let $=(X)=>this.callColumnCellValueChangedHandler(X);this.eventSvc.addListener("cellValueChanged",$,!0),this.addDestroyFunc(()=>this.eventSvc.removeListener("cellValueChanged",$,!0)),this.addManagedPropertyListener("treeData",(X)=>this.isTreeData=X.currentValue)}getValueForDisplay(J){let Z=this.beans,$=J.column,X=J.node,Y=Z.showRowGroupColValueSvc,Q=!$&&X.group,q=$?.colDef.showRowGroup,H=!this.isTreeData||X.footer;if(Y&&H&&(Q||q)){let G=Y.getGroupValue(X,$,this.displayIgnoresAggData(X));if(G==null)return{value:null,valueFormatted:null};return{value:G.value,valueFormatted:J.includeValueFormatted?Y.formatAndPrefixGroupColValue(G,$,J.exporting):null}}if(!$)return{value:X.key,valueFormatted:null};let _=this.getValue($,X,J.from,this.displayIgnoresAggData(X)),z=_,U=Z.formula;if($.isAllowFormula()&&U?.isFormula(_))if(J.useRawFormula)_=U.normaliseFormula(_,!0),z=U.resolveValue($,X);else _=U.resolveValue($,X),z=_;let W=J.includeValueFormatted&&!(J.exporting&&$.colDef.useValueFormatterForExport===!1);return{value:_,valueFormatted:W?this.formatValue($,X,z):null}}getValue(J,Z,$,X=!1){if(!this.initialised)this.init();if(!Z)return;let Y=J.colDef,Q=Z.group;if(!Q){let _=Y.pivotValueColumn;if(_)J=_}let q=this.editSvc?.getPendingEditValue(Z,J,$);if(q!==void 0)return q;let H=this.resolveValue(J,Z,X,Q);if(H===void 0){if(Q){let _=Y.showRowGroup;if(typeof _==="string"){let z=this.rowGroupColsSvc?.getColumnIndex(_);if(z!=null&&z>Z.level)return null}}return}if(this.cellExpressions&&a5(H)){let _=H.substring(1);H=this.executeValueGetter(_,Z.data,J,Z)}return H}displayIgnoresAggData(J){if(!J.group||J.footer||J.level===-1)return!1;if(!J.sibling||this.gos.get("groupSuppressBlankHeader"))return!1;if(J.leafGroup&&this.colModel.isPivotMode())return!1;return!!J.expanded}resolveValue(J,Z,$,X){let{colDef:Y,colId:Q}=J,q=!X&&this.formulaDataSvc;if(q&&q.hasDataSource()&&Y.allowFormula===!0){let D=q.getFormula({column:J,rowNode:Z});if(a5(D))return D}let H=X&&!$?Z.aggData:void 0,_=this.isTreeData;if(_&&H?.[Q]!==void 0)return H[Q];let z=Z.data,U=Y.field,W=Y.valueGetter;if(_){if(W)return this.executeValueGetter(W,z,J,Z);if(U&&z)return h2(z,U,J.isFieldContainsDots())}let G=Z.groupData;if(G&&Q in G)return G[Q];if(H?.[Q]!==void 0)return H[Q];let B=Y.showRowGroup,K=typeof B!=="string"||!X,E=this.isSsrm,L=E&&$&&!!Y.aggFunc;if(W&&!L)return K?this.executeValueGetter(W,z,J,Z):void 0;if(E&&Z.footer&&Z.field&&(B===!0||B===Z.field))return h2(z,Z.field,J.isFieldContainsDots());if(U&&z&&!L)return K?h2(z,U,J.isFieldContainsDots()):void 0;return}parseValue(J,Z,$,X){let Y=J.getColDef();if(Y.allowFormula&&this.beans.formula?.isFormula($))return $;let Q=Y.valueParser;if(T(Q)){let q=x(this.gos,{node:Z,data:Z?.data,oldValue:X,newValue:$,colDef:Y,column:J});if(typeof Q==="function")return Q(q);return this.expressionSvc?.evaluate(Q,q)}return $}getDeleteValue(J,Z){if(T(J.getColDef().valueParser))return this.parseValue(J,Z,"",this.getValueForDisplay({column:J,node:Z,from:"edit"}).value)??null;return null}formatValue(J,Z,$,X,Y=!0){let{expressionSvc:Q}=this.beans,q=null,H,_=J.getColDef();if(X)H=X;else if(Y)H=_.valueFormatter;if(H){let z=Z?Z.data:null,U=x(this.gos,{value:$,node:Z,data:z,colDef:_,column:J});if(typeof H==="function")q=H(U);else q=Q?Q.evaluate(H,U):null}else if(_.refData)return _.refData[$]||"";if(q==null&&Array.isArray($))q=$.join(", ");return q}setValue(J,Z,$,X){let Y=Z.getColDef();if(!J.data&&this.canCreateRowNodeData(J,Y))J.data={};if(!this.isSetValueSupported(Z,J,$,Y))return!1;let Q=this.getValue(Z,J,"data"),q=x(this.gos,{node:J,data:J.data,oldValue:Q,newValue:$,colDef:Y,column:Z}),H=!1;if(J.data){let z=this.handleExternalFormulaChange({column:Z,eventSource:X,newValue:$,setterParams:q,rowNode:J});if(z!==null)return z;H=this.computeValueChange({column:Z,rowNode:J,newValue:$,params:q,rowData:J.data,valueSetter:Y.valueSetter,field:Y.field})??!0}let _=this.beans.changeDetectionSvc;_?.beginDeferred();try{if(J.group){let z=this.beans.rowGroupingEditValueSvc?.setGroupDataValue(J,Z,$,Q,X,H||$!==Q);if(z!==void 0){if(!H&&!z)return!1;return this.finishValueChange(J,Z,q,X,$)}}if(!H)return!1;return this.finishValueChange(J,Z,q,X)}finally{_?.endDeferred()}}canCreateRowNodeData(J,Z){if(!J.group)return!0;if(Z.groupRowValueSetter!=null||Z.groupRowEditable!=null)return!1;if(Z.pivotValueColumn)return!1;return!0}finishValueChange(J,Z,$,X,Y){J.resetQuickFilterAggregateText(),this.valueCache?.onDataChanged();let Q=Y===void 0?this.getValue(Z,J,"data"):Y;if(this.dispatchCellValueChangedEvent(J,$,Q,X),J.pinnedSibling)this.dispatchCellValueChangedEvent(J.pinnedSibling,$,Q,X);return!0}isSetValueSupported(J,Z,$,X){let{field:Y,valueSetter:Q}=X,q=this.beans.formula,H=J.isAllowFormula()&&q?.isFormula($),_=!!this.formulaDataSvc?.hasDataSource();if(d(Y)&&d(Q)&&!(_&&H)){if(Z.group&&(X.groupRowValueSetter||X.groupRowEditable))return!0;return O(17),!1}if(this.dataTypeSvc&&!this.dataTypeSvc.checkType(J,$))return O(135),!1;return!0}handleExternalFormulaChange(J){let{column:Z,rowNode:$,newValue:X,eventSource:Y,setterParams:Q}=J,q=this.beans.formula,H=this.formulaDataSvc;if(!H?.hasDataSource()||!Z.isAllowFormula())return null;let _=q?.isFormula(X),z=H.getFormula({column:Z,rowNode:$});if(_){if(z===X)return!1;H.setFormula({column:Z,rowNode:$,formula:X});let W=q?.resolveValue(Z,$),G=Z.getColDef();if(T(G.valueSetter)||!d(G.field)){let B={...Q,newValue:W};this.computeValueChange({column:Z,rowNode:$,newValue:W,params:B,rowData:$.data,valueSetter:G.valueSetter,field:G.field})}return this.finishValueChange($,Z,Q,Y)}if(z!==void 0)H.setFormula({column:Z,rowNode:$,formula:void 0});return null}computeValueChange(J){let{valueSetter:Z,params:$,rowData:X,field:Y,column:Q,newValue:q}=J;if(T(Z)){if(typeof Z==="function")return Z($);return this.expressionSvc?.evaluate(Z,$)}return!!X&&this.setValueUsingField(X,Y,q,Q.isFieldContainsDots())}dispatchCellValueChangedEvent(J,Z,$,X){this.eventSvc.dispatchEvent({type:"cellValueChanged",event:null,rowIndex:J.rowIndex,rowPinned:J.rowPinned,column:Z.column,colDef:Z.colDef,data:J.data,node:J,oldValue:Z.oldValue,newValue:$,newRawValue:Z.newValue,value:$,source:X})}callColumnCellValueChangedHandler(J){let Z=J.colDef.onCellValueChanged;if(typeof Z==="function")this.beans.frameworkOverrides.wrapOutgoing(()=>{Z(J)})}setValueUsingField(J,Z,$,X){if(!Z)return!1;let Y=!1;if(!X){if(Y=J[Z]===$,!Y)J[Z]=$}else{let Q=Z.split("."),q=J;while(Q.length>0&&q){let H=Q.shift();if(Q.length===0){if(Y=q[H]===$,!Y)q[H]=$}else q=q[H]}}return!Y}executeValueGetterWithValueCache(J,Z,$,X){let Y=$.getColId(),Q=this.valueCache.getValue(X,Y);if(Q!==void 0)return Q;let q=this.executeValueGetterWithoutValueCache(J,Z,$,X);return this.valueCache.setValue(X,Y,q),q}executeValueGetterWithoutValueCache(J,Z,$,X){let Y=x(this.gos,{data:Z,node:X,column:$,colDef:$.getColDef(),getValue:(q)=>this.getValueCallback(X,q)}),Q;if(typeof J==="function")Q=J(Y);else Q=this.expressionSvc?.evaluate(J,Y);return Q}getValueCallback(J,Z){let $=this.colModel.getColDefCol(Z);if($)return this.getValue($,J,"data");return null}getKeyForNode(J,Z){let $=this.getValue(J,Z,"data"),X=J.getColDef().keyCreator,Y=$;if(X){let Q=x(this.gos,{value:$,colDef:J.getColDef(),column:J,node:Z,data:Z.data});Y=X(Q)}if(typeof Y==="string"||Y==null)return Y;if(Y=String(Y),Y==="[object Object]")O(121);return Y}},uK={moduleName:"CommunityCore",version:p,beans:[fB,BU,$G,eH,MK,DW,jB,rB,MW,s3,n3,OK,hK,OB,kB,SB,YG,CK,tW,lW,q3],icons:{selectOpen:"small-down",smallDown:"small-down",colorPicker:"color-picker",smallUp:"small-up",checkboxChecked:"small-up",checkboxIndeterminate:"checkbox-indeterminate",checkboxUnchecked:"checkbox-unchecked",radioButtonOn:"radio-button-on",radioButtonOff:"radio-button-off",smallLeft:"small-left",smallRight:"small-right"},apiFunctions:{getGridId:KU,destroy:EU,isDestroyed:LU,getGridOption:FU,setGridOption:DU,updateGridOptions:Y1,isModuleRegistered:kU},dependsOn:[sW,F5,XW,i1,$3,W9,X3,AK,gK,Q3,i0,a3,JK,z3,eW,rW,wK,xW,XK]};function L8(J){let{inputValue:Z,allSuggestions:$,hideIrrelevant:X,filterByPercentageOfBestMatch:Y}=J,Q=($??[]).map((_,z)=>({value:_,relevance:mK(Z,_),idx:z}));if(Q.sort((_,z)=>_.relevance-z.relevance),X)Q=Q.filter((_)=>_.relevance0&&Y&&Y>0){let z=Q[0].relevance*Y;Q=Q.filter((U)=>z-U.relevance<0)}let q=[],H=[];for(let _ of Q)q.push(_.value),H.push(_.idx);return{values:q,indices:H}}function mK(J,Z){let $=J.length,X=Z.length;if(X===0)return $?$:0;let Y=J.toLocaleLowerCase(),Q=Z.toLocaleLowerCase(),q;if(J.length1&&K>1){let F=J[W-2],D=Y[W-2],k=Z[K-2],j=Q[K-2];if(D===j){if(z++,F===k)z++}}if(W`No AG Grid modules are registered! It is recommended to start with all Community features via the AllCommunityModule: import { ModuleRegistry, AllCommunityModule } from 'ag-grid-community'; ModuleRegistry.registerModules([ AllCommunityModule ]); `,dK=(J)=>{let Z=J.map((X)=>`import { ${m2(X)} } from '${d1[X]?"ag-grid-enterprise":"ag-grid-community"}';`);if(J.some((X)=>X==="IntegratedCharts"||X==="Sparklines"))Z.push("import { AgChartsEnterpriseModule } from 'ag-charts-enterprise';");return`import { ModuleRegistry } from 'ag-grid-community'; ${Z.join(` `)} ModuleRegistry.registerModules([ ${J.map((X)=>m2(X,!0)).join(", ")} ]); For more info see: ${z2}/modules/`};function m2(J,Z=!1){if(Z&&(J==="IntegratedCharts"||J==="Sparklines"))return`${J}Module.with(AgChartsEnterpriseModule)`;return`${J}Module`}function nK(J,Z){let $=Z.filter((Q)=>Q==="IntegratedCharts"||Q==="Sparklines"),X="";if(!globalThis?.agCharts&&$.length>0)X=`Unable to use ${J} as either the ag-charts-community or ag-charts-enterprise script needs to be included alongside ag-grid-enterprise. `;else if(Z.some((Q)=>d1[Q]))X=X+`Unable to use ${J} as that requires the ag-grid-enterprise script to be included. `;return X}function s1({moduleName:J,rowModelType:Z}){return`To use the ${J}Module you must set the gridOption "rowModelType='${Z}'"`}var JX=({reasonOrId:J,moduleName:Z,gridScoped:$,gridId:X,rowModelType:Y,additionalText:Q,isUmd:q})=>{let H=iK(Z,Y),_=typeof J==="string"?J:lK[J];if(q)return nK(_,H);let z=H.filter((G)=>G==="IntegratedCharts"||G==="Sparklines"),U=z.length>0?`${z.map((G)=>m2(G)).join()} must be initialised with an AG Charts module. One of 'AgChartsCommunityModule' / 'AgChartsEnterpriseModule'.`:"";return`${`Unable to use ${_} as ${H.length>1?"one of "+H.map((G)=>m2(G)).join(", "):m2(H[0])} is not registered${$?" for gridId: "+X:""}. ${U} Check if you have registered the module: `} ${dK(H)}`+(Q?` ${Q}`:"")},ZX=(J)=>{return`${J} must be initialised with an AG Charts module. One of 'AgChartsCommunityModule' / 'AgChartsEnterpriseModule'. import { AgChartsEnterpriseModule } from 'ag-charts-enterprise'; import { ModuleRegistry } from 'ag-grid-community'; import { ${J} } from 'ag-grid-enterprise'; ModuleRegistry.registerModules([${J}.with(AgChartsEnterpriseModule)]); `},sK=(J)=>`AG Grid: Unable to use the Clipboard API (navigator.clipboard.${J}()). The reason why it could not be used has been logged in the previous line. For this reason the grid has defaulted to using a workaround which doesn't perform as well. Either fix why Clipboard API is blocked, OR stop this message from appearing by setting grid property suppressClipboardApi=true (which will default the grid to using the workaround rather than the API.`,rK={1:()=>"`rowData` must be an array",2:({nodeId:J})=>`Duplicate node id '${J}' detected from getRowId callback, this could cause issues in your grid.`,3:()=>"Calling gridApi.resetRowHeights() makes no sense when using Auto Row Height.",4:({id:J})=>`Could not find row id=${J}, data item was not found for this id`,5:({data:J})=>["Could not find data item as object was not found.",J," Consider using getRowId to help the Grid find matching row data"],6:()=>"'groupHideOpenParents' only works when specifying specific columns for 'colDef.showRowGroup'",7:()=>"Pivoting is not supported with aligned grids as it may produce different columns in each grid.",8:({key:J})=>`Unknown key for navigation ${J}`,9:({variable:J})=>`No value for ${J?.cssName}. This usually means that the grid has been initialised before styles have been loaded. The default value of ${J?.defaultValue} will be used and updated when styles load.`,10:({eventType:J})=>`As of v33, the '${J}' event is deprecated. Use the global 'modelUpdated' event to determine when row children have changed.`,11:()=>"No gridOptions provided to createGrid",12:({colKey:J})=>["column ",J," not found"],13:()=>"Could not find rowIndex, this means tasks are being executed on a rowNode that has been removed from the grid.",14:({groupPrefix:J})=>`Row IDs cannot start with ${J}, this is a reserved prefix for AG Grid's row grouping feature.`,15:({expression:J})=>["value should be either a string or a function",J],16:({expression:J,params:Z,e:$})=>["Processing of the expression failed","Expression = ",J,"Params = ",Z,"Exception = ",$],17:()=>"you need either field or valueSetter set on colDef for editing to work",18:()=>"alignedGrids contains an undefined option.",19:()=>"alignedGrids - No api found on the linked grid.",20:()=>`You may want to configure via a callback to avoid setup race conditions: "alignedGrids: () => [linkedGrid]"`,21:()=>"pivoting is not supported with aligned grids. You can only use one of these features at a time in a grid.",22:({key:J})=>`${J} is an initial property and cannot be updated.`,23:()=>"The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead.",24:()=>"row height must be a number if not using standard row model",25:({id:J})=>["The getRowId callback must return a string. The ID ",J," is being cast to a string."],26:({fnName:J,preDestroyLink:Z})=>{return`Grid API function ${J}() cannot be called as the grid has been destroyed. Either clear local references to the grid api, when it is destroyed, or check gridApi.isDestroyed() to avoid calling methods against a destroyed grid. To run logic when the grid is about to be destroyed use the gridPreDestroy event. See: ${Z}`},27:({fnName:J,module:Z})=>`API function '${J}' not registered to module '${Z}'`,28:()=>"setRowCount cannot be used while using row grouping.",29:()=>"tried to call sizeColumnsToFit() but the grid is coming back with zero width, maybe the grid is not visible yet on the screen?",30:({toIndex:J})=>["tried to insert columns in invalid location, toIndex = ",J,"remember that you should not count the moving columns when calculating the new index"],31:()=>"infinite loop in resizeColumnSets",32:()=>"applyColumnState() - the state attribute should be an array, however an array was not found. Please provide an array of items (one for each col you want to change) for state.",33:()=>"stateItem.aggFunc must be a string. if using your own aggregation functions, register the functions first before using them in get/set state. This is because it is intended for the column state to be stored and retrieved as simple JSON.",34:({key:J})=>`the column type '${J}' is a default column type and cannot be overridden.`,35:()=>"Column type definitions 'columnTypes' with a 'type' attribute are not supported because a column type cannot refer to another column type. Only column definitions 'columnDefs' can use the 'type' attribute to refer to a column type.",36:({t:J})=>"colDef.type '"+J+"' does not correspond to defined gridOptions.columnTypes",37:()=>"Changing the column pinning status is not allowed with domLayout='print'",38:({iconName:J})=>`provided icon '${J}' needs to be a string or a function`,39:()=>"Applying column order broke a group where columns should be married together. Applying new order has been discarded.",40:({e:J,method:Z})=>`${J} ${sK(Z)}`,41:()=>"Browser did not allow document.execCommand('copy'). Ensure 'api.copySelectedRowsToClipboard() is invoked via a user event, i.e. button click, otherwise the browser will prevent it for security reasons.",42:()=>"Browser does not support document.execCommand('copy') for clipboard operations",43:({iconName:J})=>`As of v33, icon '${J}' is deprecated. Use the icon CSS name instead.`,44:()=>'Data type definition hierarchies (via the "extendsDataType" property) cannot contain circular references.',45:({parentCellDataType:J})=>`The data type definition ${J} does not exist.`,46:()=>'The "baseDataType" property of a data type definition must match that of its parent.',47:({cellDataType:J})=>`Missing data type definition - "${J}"`,48:({property:J,inferred:Z,colId:$})=>{let X=Z?" (inferred)":"",Y=$?` for column "${$}"`:"";return`Cell data type is "object"${X} but no Value ${J} has been provided${Y}. Please either provide an object data type definition with a Value ${J}, or set: - "colDef.value${J}"${Z&&J==="Parser"?` - "colDef.cellDataType = 'object'"`:""}`},49:({methodName:J})=>`Framework component is missing the method ${J}()`,50:({compName:J})=>`Could not find component ${J}, did you forget to configure this component?`,51:()=>"Export cancelled. Export is not allowed as per your configuration.",52:()=>"There is no `window` associated with the current `document`",53:()=>"unknown value type during csv conversion",54:()=>"Could not find document body, it is needed for drag and drop and context menu.",55:()=>"addRowDropZone - A container target needs to be provided",56:()=>"addRowDropZone - target already exists in the list of DropZones. Use `removeRowDropZone` before adding it again.",57:()=>"unable to show popup filter, filter instantiation failed",58:()=>"no values found for select cellEditor",59:()=>"cannot select pinned rows",60:()=>"cannot select node until it has finished loading",61:()=>"since version v32.2.0, rowNode.isFullWidthCell() has been deprecated. Instead check `rowNode.detail` followed by the user provided `isFullWidthRow` grid option.",62:({colId:J})=>`setFilterModel() - no column found for colId: ${J}`,63:({colId:J})=>`setFilterModel() - unable to fully apply model, filtering disabled for colId: ${J}`,64:({colId:J})=>`setFilterModel() - unable to fully apply model, unable to create filter for colId: ${J}`,65:()=>"filter missing setModel method, which is needed for setFilterModel",66:()=>"filter API missing getModel method, which is needed for getFilterModel",67:()=>"Filter is missing isFilterActive() method",68:()=>"Column Filter API methods have been disabled as Advanced Filters are enabled.",69:({guiFromFilter:J})=>`getGui method from filter returned ${J}; it should be a DOM element.`,70:({newFilter:J})=>`Grid option quickFilterText only supports string inputs, received: ${typeof J}`,71:()=>"debounceMs is ignored when apply button is present",72:({keys:J})=>["ignoring FilterOptionDef as it doesn't contain one of ",J],73:()=>"invalid FilterOptionDef supplied as it doesn't contain a 'displayKey'",74:()=>"no filter options for filter",75:()=>"Unknown button type specified",76:({filterModelType:J})=>['Unexpected type of filter "',J,'", it looks like the filter was configured with incorrect Filter Options'],77:()=>"Filter model is missing 'conditions'",78:()=>'Filter Model contains more conditions than "filterParams.maxNumConditions". Additional conditions have been ignored.',79:()=>'"filterParams.maxNumConditions" must be greater than or equal to zero.',80:()=>'"filterParams.numAlwaysVisibleConditions" must be greater than or equal to zero.',81:()=>'"filterParams.numAlwaysVisibleConditions" cannot be greater than "filterParams.maxNumConditions".',82:({param:J})=>`DateFilter ${J} is not a number`,83:()=>"DateFilter minValidYear should be <= maxValidYear",84:()=>"DateFilter minValidDate should be <= maxValidDate",85:()=>"DateFilter should not have both minValidDate and minValidYear parameters set at the same time! minValidYear will be ignored.",86:()=>"DateFilter should not have both maxValidDate and maxValidYear parameters set at the same time! maxValidYear will be ignored.",87:()=>"DateFilter parameter minValidDate should always be lower than or equal to parameter maxValidDate.",88:({index:J})=>`Invalid row index for ensureIndexVisible: ${J}`,89:()=>"A template was provided for Header Group Comp - templates are only supported for Header Comps (not groups)",90:()=>"datasource is missing getRows method",91:()=>"Filter is missing method doesFilterPass",92:()=>"AnimationFrameService called but animation frames are off",93:()=>"cannot add multiple ranges when `cellSelection.suppressMultiRanges = true`",94:({paginationPageSizeOption:J,pageSizeSet:Z,pageSizesSet:$,pageSizeOptions:X})=>`'paginationPageSize=${J}'${Z?"":" (default value)"}, but ${J} is not included in${$?"":" the default"} paginationPageSizeSelector=[${X?.join(", ")}].`,95:({paginationPageSizeOption:J,paginationPageSizeSelector:Z})=>`Either set '${Z}' to an array that includes ${J} or to 'false' to disable the page size selector.`,96:({id:J,data:Z})=>["Duplicate ID",J,"found for pinned row with data",Z,"When `getRowId` is defined, it must return unique IDs for all pinned rows. Use the `rowPinned` parameter."],97:({colId:J})=>`cellEditor for column ${J} is missing getGui() method`,98:()=>"popup cellEditor does not work with fullRowEdit - you cannot use them both - either turn off fullRowEdit, or stop using popup editors.",99:()=>"Since v32, `api.hideOverlay()` does not hide the loading overlay when `loading=true`. Set `loading=false` instead.",101:({propertyName:J,componentName:Z,agGridDefaults:$,jsComps:X})=>{let Y=[],Q=[...Object.keys($??[]).filter((H)=>!["agCellEditor","agGroupRowRenderer","agSortIndicator"].includes(H)),...Object.keys(X??[]).filter((H)=>!!X[H])],q=L8({inputValue:Z,allSuggestions:Q,hideIrrelevant:!0,filterByPercentageOfBestMatch:0.8}).values;if(Y.push(`Could not find '${Z}' component. It was configured as "${J}: '${Z}'" but it wasn't found in the list of registered components. `),q.length>0)Y.push(` Did you mean: [${q.slice(0,3)}]? `);return Y.push("If using a custom component check it has been registered correctly."),Y},102:()=>"selectAll: 'filtered' only works when gridOptions.rowModelType='clientSide'",103:()=>"Invalid selection state. When using client-side row model, the state must conform to `string[]`.",104:({value:J,param:Z})=>`Numeric value ${J} passed to ${Z} param will be interpreted as ${J} seconds. If this is intentional use "${J}s" to silence this warning.`,105:({e:J})=>["chart rendering failed",J],106:()=>`Theming API and Legacy Themes are both used in the same page. A Theming API theme has been provided to the 'theme' grid option, but the file (ag-grid.css) is also included and will cause styling issues. Remove ag-grid.css from the page. See the migration guide: ${z2}/theming-migration/`,107:({key:J,value:Z})=>`Invalid value for theme param ${J} - ${Z}`,108:({e:J})=>["chart update failed",J],109:({inputValue:J,allSuggestions:Z})=>{let $=L8({inputValue:J,allSuggestions:Z,hideIrrelevant:!0,filterByPercentageOfBestMatch:0.8}).values;return[`Could not find '${J}' aggregate function. It was configured as "aggFunc: '${J}'" but it wasn't found in the list of registered aggregations.`,$.length>0?` Did you mean: [${$.slice(0,3)}]?`:"","If using a custom aggregation function check it has been registered correctly."].join(` `)},110:()=>"groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup",111:()=>"Invalid selection state. When `groupSelects` is enabled, the state must conform to `IServerSideGroupSelectionState`.",113:()=>"Set Filter cannot initialise because you are using a row model that does not contain all rows in the browser. Either use a different filter type, or configure Set Filter such that you provide it with values",114:({component:J})=>`Could not find component with name of ${J}. Is it in Vue.components?`,116:()=>"Invalid selection state. The state must conform to `IServerSideSelectionState`.",117:()=>"selectAll must be of boolean type.",118:()=>"Infinite scrolling must be enabled in order to set the row count.",119:()=>"Unable to instantiate filter",120:()=>"MultiFloatingFilterComp expects MultiFilter as its parent",121:()=>"a column you are grouping or pivoting by has objects as values. If you want to group by complex objects then either a) use a colDef.keyCreator (see AG Grid docs) or b) to toString() on the object to return a key",122:()=>"could not find the document, document is empty",123:()=>"Advanced Filter is only supported with the Client-Side Row Model or Server-Side Row Model.",124:()=>"No active charts to update.",125:({chartId:J})=>`Unable to update chart. No active chart found with ID: ${J}.`,126:()=>"unable to restore chart as no chart model is provided",127:({allRange:J})=>`unable to create chart as ${J?"there are no columns in the grid":"no range is selected"}.`,128:({feature:J})=>`${J} is only available if using 'multiRow' selection mode.`,129:({feature:J,rowModel:Z})=>`${J} is only available if using 'clientSide' or 'serverSide' rowModelType, you are using ${Z}.`,130:()=>'cannot multi select unless selection mode is "multiRow"',132:()=>"Row selection features are not available unless `rowSelection` is enabled.",133:({iconName:J})=>`icon '${J}' function should return back a string or a dom object`,134:({iconName:J})=>`Did not find icon '${J}'`,135:()=>"Data type of the new value does not match the cell data type of the column",136:()=>"Unable to update chart as the 'type' is missing. It must be either 'rangeChartUpdate', 'pivotChartUpdate', or 'crossFilterChartUpdate'.",137:({type:J,currentChartType:Z})=>`Unable to update chart as a '${J}' update type is not permitted on a ${Z}.`,138:({chartType:J})=>`invalid chart type supplied: ${J}`,139:({customThemeName:J})=>`a custom chart theme with the name ${J} has been supplied but not added to the 'chartThemes' list`,140:({name:J})=>`no stock theme exists with the name '${J}' and no custom chart theme with that name was supplied to 'customChartThemes'`,141:()=>"cross filtering with row grouping is not supported.",142:()=>"cross filtering is only supported in the client side row model.",143:({panel:J})=>`'${J}' is not a valid Chart Tool Panel name`,144:({type:J})=>`Invalid charts data panel group name supplied: '${J}'`,145:({group:J})=>`As of v32, only one charts customize panel group can be expanded at a time. '${J}' will not be expanded.`,146:({comp:J})=>`Unable to instantiate component '${J}' as its module hasn't been loaded. Add 'ValidationModule' to see which module is required.`,147:({group:J})=>`Invalid charts customize panel group name supplied: '${J}'`,148:({group:J})=>`invalid chartGroupsDef config '${J}'`,149:({group:J,chartType:Z})=>`invalid chartGroupsDef config '${J}.${Z}'`,150:()=>"'seriesChartTypes' are required when the 'customCombo' chart type is specified.",151:({chartType:J})=>`invalid chartType '${J}' supplied in 'seriesChartTypes', converting to 'line' instead.`,152:({colId:J})=>`no 'seriesChartType' found for colId = '${J}', defaulting to 'line'.`,153:({chartDataType:J})=>`unexpected chartDataType value '${J}' supplied, instead use 'category', 'series' or 'excluded'`,154:({colId:J})=>`cross filtering requires a 'agSetColumnFilter' or 'agMultiColumnFilter' to be defined on the column with id: ${J}`,155:({option:J})=>`'${J}' is not a valid Chart Toolbar Option`,156:({panel:J})=>`Invalid panel in chartToolPanelsDef.panels: '${J}'`,157:({unrecognisedGroupIds:J})=>["unable to find group(s) for supplied groupIds:",J],158:()=>"can not expand a column item that does not represent a column group header",159:()=>"Invalid params supplied to createExcelFileForExcel() - `ExcelExportParams.data` is empty.",160:()=>"Export cancelled. Export is not allowed as per your configuration.",161:()=>"The Excel Exporter is currently on Multi Sheet mode. End that operation by calling 'api.getMultipleSheetAsExcel()' or 'api.exportMultipleSheetsAsExcel()'",162:({id:J,dataType:Z})=>`Unrecognized data type for excel export [${J}.dataType=${Z}]`,163:({featureName:J})=>`Excel table export does not work with ${J}. The exported Excel file will not contain any Excel tables. Please turn off ${J} to enable Excel table exports.`,164:()=>"Unable to add data table to Excel sheet: A table already exists.",165:()=>"Unable to add data table to Excel sheet: Missing required parameters.",166:({unrecognisedGroupIds:J})=>["unable to find groups for these supplied groupIds:",J],167:({unrecognisedColIds:J})=>["unable to find columns for these supplied colIds:",J],168:()=>"detailCellRendererParams.template should be function or string",169:()=>'Reference to eDetailGrid was missing from the details template. Please add data-ref="eDetailGrid" to the template.',170:({providedStrategy:J})=>`invalid cellRendererParams.refreshStrategy = ${J} supplied, defaulting to refreshStrategy = 'rows'.`,171:()=>"could not find detail grid options for master detail, please set gridOptions.detailCellRendererParams.detailGridOptions",172:()=>"could not find getDetailRowData for master / detail, please set gridOptions.detailCellRendererParams.getDetailRowData",173:({group:J})=>`invalid chartGroupsDef config '${J}'`,174:({group:J,chartType:Z})=>`invalid chartGroupsDef config '${J}.${Z}'`,175:({menuTabName:J,itemsToConsider:Z})=>[`Trying to render an invalid menu item '${J}'. Check that your 'menuTabs' contains one of `,Z],176:({key:J})=>`unknown menu item type ${J}`,177:()=>"valid values for cellSelection.handle.direction are 'x', 'y' and 'xy'. Default to 'xy'.",178:({colId:J})=>`column ${J} is not visible`,179:()=>"totalValueGetter should be either a function or a string (expression)",180:()=>"agRichSelectCellEditor requires cellEditorParams.values to be set",181:()=>"agRichSelectCellEditor cannot have `multiSelect` and `allowTyping` set to `true`. AllowTyping has been turned off.",182:()=>'you cannot mix groupDisplayType = "multipleColumns" with treeData, only one column can be used to display groups when doing tree data',183:()=>"Group Column Filter only works on group columns. Please use a different filter.",184:({parentGroupData:J,childNodeData:Z})=>["duplicate group keys for row data, keys should be unique",[J,Z]],185:({data:J})=>["getDataPath() should not return an empty path",[J]],186:({rowId:J,rowData:Z,duplicateRowsData:$})=>["duplicate group keys for row data, keys should be unique",J,Z,...$??[]],187:({rowId:J,firstData:Z,secondData:$})=>[`Duplicate node id ${J}. Row IDs are provided via the getRowId() callback. Please modify the getRowId() callback code to provide unique row id values.`,"first instance",Z,"second instance",$],188:(J)=>`getRowId callback must be provided for Server Side Row Model ${J?.feature||"selection"} to work correctly.`,189:({startRow:J})=>`invalid value ${J} for startRow, the value should be >= 0`,190:({rowGroupId:J,data:Z})=>["null and undefined values are not allowed for server side row model keys",J?`column = ${J}`:"","data is ",Z],194:({method:J})=>`calling gridApi.${J}() is only possible when using rowModelType=\`clientSide\`.`,195:({justCurrentPage:J})=>`selecting just ${J?"current page":"filtered"} only works when gridOptions.rowModelType='clientSide'`,196:({key:J})=>`Provided ids must be of string type. Invalid id provided: ${J}`,197:()=>"`toggledNodes` must be an array of string ids.",199:()=>"getSelectedNodes and getSelectedRows functions cannot be used with select all functionality with the server-side row model. Use `api.getServerSideSelectionState()` instead.",200:JX,201:({rowModelType:J})=>`Could not find row model for rowModelType = ${J}`,202:()=>"`getSelectedNodes` and `getSelectedRows` functions cannot be used with `groupSelectsChildren` and the server-side row model. Use `api.getServerSideSelectionState()` instead.",203:()=>"Server Side Row Model does not support Dynamic Row Height and Cache Purging. Either a) remove getRowHeight() callback or b) remove maxBlocksInCache property. Purging has been disabled.",204:()=>"Server Side Row Model does not support Auto Row Height and Cache Purging. Either a) remove colDef.autoHeight or b) remove maxBlocksInCache property. Purging has been disabled.",205:({duplicateIdText:J})=>`Unable to display rows as duplicate row ids (${J}) were returned by the getRowId callback. Please modify the getRowId callback to provide unique ids.`,206:()=>"getRowId callback must be implemented for transactions to work. Transaction was ignored.",207:()=>'The Set Filter Parameter "defaultToNothingSelected" value was ignored because it does not work when "excelMode" is used.',208:()=>"Set Filter Value Formatter must return string values. Please ensure the Set Filter Value Formatter returns string values for complex objects.",209:()=>`Set Filter Key Creator is returning null for provided values and provided values are primitives. Please provide complex objects. See ${z2}/filter-set-filter-list/#filter-value-types`,210:()=>"Set Filter has a Key Creator, but provided values are primitives. Did you mean to provide complex objects?",211:()=>"property treeList=true for Set Filter params, but you did not provide a treeListPathGetter or values of type Date.",212:()=>"please review all your toolPanel components, it seems like at least one of them doesn't have an id",213:()=>"Advanced Filter does not work with Filters Tool Panel. Filters Tool Panel has been disabled.",214:({key:J})=>`unable to lookup Tool Panel as invalid key supplied: ${J}`,215:({key:J,defaultByKey:Z})=>`the key ${J} is not a valid key for specifying a tool panel, valid keys are: ${Object.keys(Z??{}).join(",")}`,216:({name:J})=>`Missing component for '${J}'`,217:({invalidColIds:J})=>["unable to find grid columns for the supplied colDef(s):",J],218:({property:J,defaultOffset:Z})=>`${J} must be a number, the value you provided is not a valid number. Using the default of ${Z}px.`,219:({property:J})=>`Property ${J} does not exist on the target object.`,220:({lineDash:J})=>`'${J}' is not a valid 'lineDash' option.`,221:()=>"agAggregationComponent should only be used with the client and server side row model.",222:()=>"agFilteredRowCountComponent should only be used with the client side row model.",223:()=>"agSelectedRowCountComponent should only be used with the client and server side row model.",224:()=>"agTotalAndFilteredRowCountComponent should only be used with the client side row model.",225:()=>"agTotalRowCountComponent should only be used with the client side row model.",226:()=>"viewport is missing init method.",227:()=>"menu item icon must be DOM node or string",228:({menuItemOrString:J})=>`unrecognised menu item ${J}`,230:()=>"detailCellRendererParams.template is not supported by AG Grid React. To change the template, provide a Custom Detail Cell Renderer. See https://www.ag-grid.com/react-data-grid/master-detail-custom-detail/",231:()=>"As of v32, using custom components with `reactiveCustomComponents = false` is deprecated.",232:()=>"Using both rowData and v-model. rowData will be ignored.",233:({methodName:J})=>`Framework component is missing the method ${J}()`,234:()=>'Group Column Filter does not work with the colDef property "field". This property will be ignored.',235:()=>'Group Column Filter does not work with the colDef property "filterValueGetter". This property will be ignored.',236:()=>'Group Column Filter does not work with the colDef property "filterParams". This property will be ignored.',237:()=>"Group Column Filter does not work with Tree Data enabled. Please disable Tree Data, or use a different filter.",238:()=>"setRowCount can only accept a positive row count.",239:()=>'Theming API and CSS File Themes are both used in the same page. In v33 we released the Theming API as the new default method of styling the grid. See the migration docs https://www.ag-grid.com/react-data-grid/theming-migration/. Because no value was provided to the `theme` grid option it defaulted to themeQuartz. But the file (ag-grid.css) is also included and will cause styling issues. Either pass the string "legacy" to the theme grid option to use v32 style themes, or remove ag-grid.css from the page to use Theming API.',240:({theme:J})=>`theme grid option must be a Theming API theme object or the string "legacy", received: ${J}`,243:()=>"Failed to deserialize state - each provided state object must be an object.",244:()=>"Failed to deserialize state - `selectAllChildren` must be a boolean value or undefined.",245:()=>"Failed to deserialize state - `toggledNodes` must be an array.",246:()=>"Failed to deserialize state - Every `toggledNode` requires an associated string id.",247:()=>`Row selection state could not be parsed due to invalid data. Ensure all child state has toggledNodes or does not conform with the parent rule. Please rebuild the selection state and reapply it.`,248:()=>"SetFloatingFilter expects SetFilter as its parent",249:()=>"Must supply a Value Formatter in Set Filter params when using a Key Creator",250:()=>"Must supply a Key Creator in Set Filter params when `treeList = true` on a group column, and Tree Data or Row Grouping is enabled.",251:({chartType:J})=>`AG Grid: Unable to create chart as an invalid chartType = '${J}' was supplied.`,252:()=>`cannot get grid to draw rows when it is in the middle of drawing rows. Your code probably called a grid API method while the grid was in the render stage. To overcome this, put the API call into a timeout, e.g. instead of api.redrawRows(), call setTimeout(function() { api.redrawRows(); }, 0). To see what part of your code that caused the refresh check this stacktrace.`,253:({version:J})=>["Illegal version string: ",J],254:()=>"Cannot create chart: no chart themes available.",255:({point:J})=>`Lone surrogate U+${J?.toString(16).toUpperCase()} is not a scalar value`,256:()=>"Unable to initialise. See validation error, or load ValidationModule if missing.",257:()=>ZX("IntegratedChartsModule"),258:()=>ZX("SparklinesModule"),259:({part:J})=>`the argument to theme.withPart must be a Theming API part object, received: ${J}`,260:({propName:J,compName:Z,gridScoped:$,gridId:X,rowModelType:Y})=>JX({reasonOrId:`AG Grid '${J}' component: ${Z}`,moduleName:B2[Z],gridId:X,gridScoped:$,rowModelType:Y}),261:()=>"As of v33, `column.isHovered()` is deprecated. Use `api.isColumnHovered(column)` instead.",262:()=>'As of v33, icon key "smallDown" is deprecated. Use "advancedFilterBuilderSelect" for Advanced Filter Builder dropdown, "selectOpen" for Select cell editor and dropdowns (e.g. Integrated Charts menu), "richSelectOpen" for Rich Select cell editor.',263:()=>'As of v33, icon key "smallLeft" is deprecated. Use "panelDelimiterRtl" for Row Group Panel / Pivot Panel, "subMenuOpenRtl" for sub-menus.',264:()=>'As of v33, icon key "smallRight" is deprecated. Use "panelDelimiter" for Row Group Panel / Pivot Panel, "subMenuOpen" for sub-menus.',265:({colId:J})=>`Unable to infer chart data type for column '${J}' if first data entry is null. Please specify "chartDataType", or a "cellDataType" in the column definition. For more information, see ${z2}/integrated-charts-range-chart#coldefchartdatatype .`,266:()=>'As of v33.1, using "keyCreator" with the Rich Select Editor has been deprecated. It now requires the "formatValue" callback to convert complex data to strings.',267:()=>"Detail grids can not use a different theme to the master grid, the `theme` detail grid option will be ignored.",268:()=>"Transactions aren't supported with tree data when using treeDataChildrenField",269:()=>"When `masterSelects: 'detail'`, detail grids must be configured with multi-row selection",270:({id:J,parentId:Z})=>`Cycle detected for row with id='${J}' and parent id='${Z}'. Resetting the parent for row with id='${J}' and showing it as a root-level node.`,271:({id:J,parentId:Z})=>`Parent row not found for row with id='${J}' and parent id='${Z}'. Showing row with id='${J}' as a root-level node.`,272:()=>n1(),273:({providedId:J,usedId:Z})=>`Provided column id '${J}' was already in use, ensure all column and group ids are unique. Using '${Z}' instead.`,274:({prop:J})=>{let Z=`Since v33, ${J} has been deprecated.`;switch(J){case"maxComponentCreationTimeMs":Z+=" This property is no longer required and so will be removed in a future version.";break;case"setGridApi":Z+=" This method is not called by AG Grid. To access the GridApi see: https://ag-grid.com/react-data-grid/grid-interface/#grid-api ";break;case"children":Z+=" For multiple versions AgGridReact does not support children.";break}return Z},275:s1,276:()=>"Row Numbers Row Resizer cannot be used when Grid Columns have `autoHeight` enabled.",277:({colId:J})=>`'enableFilterHandlers' is set to true, but column '${J}' does not have 'filter.doesFilterPass' or 'filter.handler' set.`,278:({colId:J})=>`Unable to create filter handler for column '${J}'`,279:(J)=>{},280:({colId:J})=>`'name' must be provided for custom filter components for column '${J}`,281:({colId:J})=>`Filter for column '${J}' does not have 'filterParams.buttons', but the new Filters Tool Panel has buttons configured. Either configure buttons for the filter, or disable buttons on the Filters Tool Panel.`,282:()=>"New filter tool panel requires `enableFilterHandlers: true`.",283:()=>"As of v34, use the same method on the filter handler (`api.getColumnFilterHandler(colKey)`) instead.",284:()=>"As of v34, filters are active when they have a model. Use `api.getColumnFilterModel()` instead.",285:()=>"As of v34, use (`api.getColumnFilterModel()`) instead.",286:()=>"As of v34, use (`api.setColumnFilterModel()`) instead.",287:()=>"`api.doFilterAction()` requires `enableFilterHandlers = true",288:()=>"`api.getColumnFilterModel(key, true)` requires `enableFilterHandlers = true",289:({rowModelType:J})=>`Row Model '${J}' is not supported with Batch Editing`,290:({rowIndex:J,rowPinned:Z})=>`Row with index '${J}' and pinned state '${Z}' not found`,291:()=>"License Key being set multiple times with different values. This can result in an incorrect license key being used,",292:({colId:J})=>`The Multi Filter for column '${J}' has buttons configured against the child filters. When 'enableFilterHandlers=true', buttons must instead be provided against the parent Multi Filter params. The child filter buttons will be ignored.`,293:()=>"The grid was initialised detached from the DOM and was then inserted into a Shadow Root. Theme styles are probably broken. Pass the themeStyleContainer grid option to let the grid know where in the document to insert theme CSS.",294:()=>"When using the `agRichSelectCellEditor` setting `filterListAsync = true` requires `allowTyping = true` and the `values()` callback must return a Promise of filtered values.",295:({blockedService:J})=>`colDef.allowFormula is not supported with ${J}. Formulas has been turned off.`,296:()=>"Since v35, `api.hideOverlay()` does not hide the overlay when `activeOverlay` is set. Set `activeOverlay=null` instead.",297:()=>'`api.hideOverlay()` does not hide the no matching rows overlay as it is only controlled by grid state. Set `suppressOverlays=["noMatchingRows"] to not show it.',298:()=>"Columns Tool Panel 'buttons' requires 'apply' to enable Deferred Updates."};function tK(J,Z){let $=rK[J];if(!$)return[`Missing error text for error id ${J}!`];let X=$(Z),Q=` See ${aX(J,Z)}`;return Array.isArray(X)?X.concat(Q):[X,Q]}var lK={1:"Charting Aggregation",2:"pivotResultFields",3:"setTooltip"},aK=class{constructor(J="javascript"){this.frameworkName=J,this.renderingEngine="vanilla",this.batchFrameworkComps=!1,this.wrapIncoming=(Z)=>Z(),this.wrapOutgoing=(Z)=>Z(),this.baseDocLink=`${mX}/${this.frameworkName}-data-grid`,LH(this.baseDocLink)}frameworkComponent(J){return null}isFrameworkComponent(J){return!1}getDocLink(J){return this.baseDocLink+(J?"/"+J:"")}},$X=new WeakMap,XX=new WeakMap;function A9(J,Z,$){if(!Z)return e(11),{};let X=$,Y;if(!X?.setThemeOnGridDiv){let q=XJ({tag:"div"});q.style.height="100%",J.appendChild(q),J=q,Y=()=>J.remove()}return new eK().create(J,Z,(q)=>{let H=new WU(J);q.createBean(H)},void 0,$,Y)}var oK=1,eK=class{create(J,Z,$,X,Y,Q){let q=b8.applyGlobalGridOptions(Z),H=q.gridId??String(oK++),_=this.getRegisteredModules(Y,H,q.rowModelType),z=this.createBeansList(q.rowModelType,_,H),U=this.createProvidedBeans(J,q,Y);if(!z)return;let B=new p_({providedBeanInstances:U,beanClasses:z,id:H,beanInitComparator:n_,beanDestroyComparator:s_,derivedBeans:[i_],destroyCallback:()=>{XX.delete(K),$X.delete(J),WH(H),Q?.()}});this.registerModuleFeatures(B,_),$(B),B.getBean("syncSvc").start(),X?.(B);let K=B.getBean("gridApi");return $X.set(J,K),XX.set(K,J),K}getRegisteredModules(J,Z,$){return s2(uK,void 0,!0),J?.modules?.forEach((X)=>s2(X,Z)),GH(Z,YX($))}registerModuleFeatures(J,Z){let $=J.getBean("registry"),X=J.getBean("apiFunctionSvc");for(let Y of Z){$.registerModule(Y);let Q=Y.apiFunctions;if(Q){let q=Object.keys(Q);for(let H of q)X?.addFunction(H,Q[H])}}}createProvidedBeans(J,Z,$){let X=$?$.frameworkOverrides:null;if(d(X))X=new aK;let Y={gridOptions:Z,eGridDiv:J,eRootDiv:J,globalListener:$?$.globalListener:null,globalSyncListener:$?$.globalSyncListener:null,frameworkOverrides:X,withinStudio:$?.withinStudio};if($?.providedBeanInstances)Object.assign(Y,$.providedBeanInstances);return Y}createBeansList(J,Z,$){let X={clientSide:"ClientSideRowModel",infinite:"InfiniteRowModel",serverSide:"ServerSideRowModel",viewport:"ViewportRowModel"},Y=YX(J),Q=X[Y];if(!Q){x2(201,{rowModelType:Y},`Unknown rowModelType ${Y}.`);return}if(!KH()){x2(272,void 0,n1());return}if(!J){let H=Object.entries(X).filter(([_,z])=>o7(z,$,_));if(H.length==1){let[_,z]=H[0];if(_!==Y){let U={moduleName:z,rowModelType:_};x2(275,U,s1(U));return}}}if(!o7(Q,$,Y)){let H=x8(),_=`rowModelType = '${Y}'`,z=H?`Unable to use ${_} as that requires the ag-grid-enterprise script to be included. `:`Missing module ${Q}Module for rowModelType ${Y}.`;x2(200,{reasonOrId:_,moduleName:Q,gridScoped:C8(),gridId:$,rowModelType:Y,isUmd:H},z);return}let q=new Set;for(let H of Z)for(let _ of H.beans??[])q.add(_);return Array.from(q)}};function YX(J){return J??"clientSide"}function JE(J,Z,$="auto"){J.frameworkOverrides.wrapIncoming(()=>J.ctrlsSvc.getScrollFeature().ensureColumnVisible(Z,$),"ensureVisible")}function ZE(J,Z,$){J.frameworkOverrides.wrapIncoming(()=>J.ctrlsSvc.getScrollFeature().ensureIndexVisible(Z,$),"ensureVisible")}var r1=(J,Z)=>{for(let $=0,X=J.length;${if($!=null){let Q=$.getSortedRows();for(let q=0,H=Q.length;q{let z=H.level+1;for(let U=0,W=_.length;U{if(!W&&W!==void 0){let k=F.sourceRowIndex;W=k<=G,G=k}if(F.data!==D){if(F.updateData(D),!q.has(F))H.add(F);if(!F.selectable&&F.isSelected())z.push(F)}},E=(F,D,k)=>{for(let j=0,A=D.length;j0;if(L){let F=$._leafs??($._leafs=[]);if(W===void 0)HE(F,_,Q);else if(qE(F,_))Q.reordered=!0}if(L||B||H.size)J.rowDataUpdated=!0,this.deselect(z)}deleteUnusedNodes(J,{removals:Z},$,X){let Y=this.rootNode._leafs;for(let Q=0,q=Y.length;Q0}updateRowData(J,Z,$){if(this.dispatchRowDataUpdateStarted(J.add),this.beans.groupStage?.getNestedDataGetter())return O(268),{remove:[],update:[],add:[]};let X=[],Y=Z8(this.gos),Q=this.executeRemove(Y,J,Z,X,$),q=this.executeUpdate(Y,J,Z,X),H=this.executeAdd(J,Z);return this.deselect(X),{remove:Q,update:q,add:H}}executeRemove(J,{remove:Z},{adds:$,updates:X,removals:Y},Q,q){let H=this.rootNode._leafs,_=H?.length,z=Z?.length;if(!z||!_)return[];let U=0,W=_,G=0,B=Array(z);for(let K=0;KG)G=L;if(B[U++]=E,!this.destroyNode(E,q))continue;if(E.isSelected())Q.push(E);if(!$.delete(E))X.delete(E),Y.push(E)}if(B.length=U,U)QE(H,W,G);return B}executeUpdate(J,{update:Z},{adds:$,updates:X},Y){let Q=Z?.length;if(!Q)return[];let q=Array(Q),H=0;for(let _=0;_=_;--W){let B=X[W];B.sourceRowIndex=G,X[G--]=B}Z.reordered=!0}X.length=H;let z=Array(q),U=Z.adds;for(let W=0;W=$||Number.isNaN(Z))return $;Z=Math.ceil(Z);let X=this.gos;if(Z>0&&X.get("treeData")&&X.get("getDataPath"))Z=XE(J,Z);return Z}},XE=(J,Z)=>{for(let $=0,X=J.length;${if(J.group=!0,J.level=-1,J._expanded=!0,J.id="ROOT_NODE_ID",J._leafs?.length!==0)J._leafs=[];let Z=[],$=[],X=[],Y=[];J.childrenAfterGroup=Z,J.childrenAfterSort=$,J.childrenAfterAggFilter=X,J.childrenAfterFilter=Y;let Q=J.sibling;if(Q)Q.childrenAfterGroup=Z,Q.childrenAfterSort=$,Q.childrenAfterAggFilter=X,Q.childrenAfterFilter=Y,Q.childrenMapped=J.childrenMapped;return J.updateHasChildren(),J},YE=(J,Z)=>{if(J)for(let $=0,X=J.length;${Z=Math.max(0,Z);for(let X=Z,Y=J.length;X{let $=Z.size;J.length=$;let X=0,Y=!1,Q=!1;for(let q of Z){let H=q.sourceRowIndex;if(H===X)Q||(Q=Y);else{if(H>=0)Q=!0;else Y=!0;q.sourceRowIndex=X,J[X]=q}++X}return Q},HE=(J,Z,{adds:$})=>{let X=J.length,Y=Z.size;if(Y>X)J.length=Y;let Q=0;for(let q=0;q{if(X.hasChildren())if(J&&!Y)X.childrenAfterFilter=X.childrenAfterGroup.filter((Q)=>{let q=Q.childrenAfterFilter&&Q.childrenAfterFilter.length>0,H=Q.data&&this.filterManager.doesRowPassFilter({rowNode:Q});return q||H});else X.childrenAfterFilter=X.childrenAfterGroup;else X.childrenAfterFilter=X.childrenAfterGroup;F8(X)};if(this.doingTreeDataFiltering()){let X=(Y,Q)=>{if(Y.childrenAfterGroup)for(let q=0;q$(Y,!1);MJ(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,Z,X)}}softFilter(J,Z){let $=(Y)=>{if(Y.childrenAfterFilter=Y.childrenAfterGroup,Y.hasChildren())for(let Q of Y.childrenAfterGroup)Q.softFiltered=J&&!(Q.data&&this.filterManager.doesRowPassFilter({rowNode:Q}));F8(Y)},X=this.beans.rowModel;MJ(X.rootNode,X.hierarchical,Z,$)}doingTreeDataFiltering(){let{gos:J}=this;return!!this.beans.groupStage?.treeData&&!J.get("excludeChildrenWhenTreeDataFiltering")}},zE=4,UE=(J,Z,$,X,Y)=>{let{childrenAfterSort:Q,childrenAfterAggFilter:q}=Z;if(!q)return Q&&Q.length>0?Q:[];let H=q.length;if(H<=1){if(Q?.length===H&&(H===0||Q[0]===q[0]))return Q;return q.slice()}if(!Q||H<=zE)return J.doFullSortInPlace(q.slice(),Y);let _=new Map,{updates:z,adds:U}=$,W=[];for(let B=0;BJ.compareRowNodes(Y,B,K)||~_.get(B)-~_.get(K)),G===H)return W;return WE(J,Y,W,Q,_,H)},WE=(J,Z,$,X,Y,Q)=>{let q=Array(Q),H=0,_=$[H],z,U=-1,W=0,G=0,B=$.length,K=X.length;while(!0){if(U<0){if(W>=K)break;if(z=X[W++],U=Y.get(z)??-1,U<0)continue}if((J.compareRowNodes(Z,_,z)||~Y.get(_)-U)<0){if(q[G++]=_,++H>=B)break;_=$[H]}else q[G++]=z,U=-1}while(H=0)q[G++]=E}return q},GE=(J,Z,$)=>{let X=0;$.length=Z.size;for(let Y=0,Q=J.length;Y{let{childrenAfterSort:Z,sibling:$}=J;if($)$.childrenAfterSort=Z;if(!Z)return;for(let X=0,Y=Z.length-1;X<=Y;X++){let Q=Z[X],q=X===0,H=X===Y;if(Q.firstChild!==q)Q.firstChild=q,Q.dispatchRowEvent("firstChildChanged");if(Q.lastChild!==H)Q.lastChild=H,Q.dispatchRowEvent("lastChildChanged");if(Q.childIndex!==X)Q.childIndex=X,Q.dispatchRowEvent("childIndexChanged")}},BE=class extends M{constructor(){super(...arguments);this.beanName="sortStage",this.step="sort",this.refreshProps=["postSortRows","groupDisplayType","accentedSort"]}execute(J,Z){let $=this.beans.sortSvc.getSortOptions(),X=$.length>0&&!!Z&&this.gos.get("deltaSort"),{gos:Y,colModel:Q,rowGroupColsSvc:q,rowNodeSorter:H,rowRenderer:_,showRowGroupCols:z}=this.beans,U=Y.get("groupMaintainOrder"),W=Q.getCols().some((D)=>D.isRowGroupActive()),G=q?.columns,B=Q.isPivotMode(),K=Y.getCallback("postSortRows"),E=!1,L,F=(D)=>{let k=B&&D.leafGroup,j=U&&W&&!D.leafGroup;if(j)L??(L=this.shouldSortContainsGroupCols($)),j&&(j=!L);let A=null;if(j){let R=!1;if(G){let f=D.level+1;if(f{let{childrenAfterSort:Z,childrenAfterAggFilter:$}=J,X=Z?.length,Y=$?.length;if(!X||!Y)return null;let Q=Array(Y),q=new Set;for(let _=0;_{this.beans.groupStage?.invalidateGroupCols(),this.refreshModel({step:"group",afterColumnsChanged:!0,keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame")})};this.addManagedEventListeners({newColumnsLoaded:$,columnRowGroupChanged:$,columnValueChanged:this.onValueChanged.bind(this),columnPivotChanged:()=>this.refreshModel({step:"pivot"}),columnPivotModeChanged:()=>this.refreshModel({step:"group"}),filterChanged:this.onFilterChanged.bind(this),sortChanged:this.onSortChanged.bind(this),stylesChanged:this.onGridStylesChanges.bind(this),gridReady:this.onGridReady.bind(this),rowExpansionStateChanged:this.onRowGroupOpened.bind(this)}),this.addPropertyListeners()}addPropertyListeners(){let{beans:J,stagesRefreshProps:Z}=this,$=[J.groupStage,J.filterStage,J.pivotStage,J.aggStage,J.sortStage,J.filterAggStage,J.flattenStage].filter((X)=>!!X);this.stages=$;for(let X=$.length-1;X>=0;--X){let Y=$[X];for(let Q of Y.refreshProps)Z.set(Q,X)}this.addManagedPropertyListeners([...Z.keys(),"rowData"],(X)=>{let Y=X.changeSet?.properties;if(Y)this.onPropChange(Y)}),this.addManagedPropertyListener("rowHeight",()=>this.resetRowHeights())}start(){if(this.started=!0,this.rowNodesCountReady)this.refreshModel({step:"group",rowDataUpdated:!0,newData:!0});else this.setInitialData()}setInitialData(){if(this.gos.get("rowData"))this.onPropChange(["rowData"])}ensureRowHeightsValid(J,Z,$,X){let Y,Q=!1;do{Y=!1;let q=this.getRowIndexAtPixel(J),H=this.getRowIndexAtPixel(Z),_=Math.max(q,$),z=Math.min(H,X);for(let U=_;U<=z;U++){let W=this.getRow(U);if(W.rowHeightEstimated){let G=r2(this.beans,W);W.setRowHeight(G.height),Y=!0,Q=!0}}if(Y)this.setRowTopAndRowIndex()}while(Y);return Q}onPropChange(J){let{nodeManager:Z,gos:$,beans:X}=this,Y=X.groupStage;if(!Z)return;let Q=new Set(J),q=Y?.onPropChange(Q),H;if(Q.has("rowData"))H=$.get("rowData");else if(q)H=Y?.extractData();if(H&&!Array.isArray(H))H=null,O(1);let _={step:"nothing",changedProps:Q};if(H){let U=!q&&!this.isEmpty()&&H.length>0&&$.exists("getRowId")&&!$.get("resetRowDataOnUpdate");if(this.refreshingData=!0,U)_.keepRenderedRows=!0,_.animate=!$.get("suppressAnimationFrame"),_.changedRowNodes=new G2,Z.setImmutableRowData(_,H);else _.rowDataUpdated=!0,_.newData=!0,Z.setNewRowData(H),this.rowNodesCountReady=!0}let z=_.rowDataUpdated?"group":this.getRefreshedStage(J);if(z)_.step=z,this.refreshModel(_)}getRefreshedStage(J){let{stages:Z,stagesRefreshProps:$}=this;if(!Z)return null;let X=Z.length,Y=X;for(let Q=0,q=J.length;Q{if(Q?.id!=null&&!Z.has(Q.id))Q.clearRowTopAndRowIndex()},X=(Q)=>{$(Q),$(Q.detailNode),$(Q.sibling);let q=Q.childrenAfterGroup;if(!Q.hasChildren()||!q)return;if(J&&Q.level!==-1&&!Q.expanded)return;for(let H=0,_=q.length;H<_;++H)X(q[H])},Y=this.rootNode;if(Y)X(Y)}isLastRowIndexKnown(){return!0}getRowCount(){return this.rowsToDisplay.length}getTopLevelRowCount(){let{rootNode:J,rowsToDisplay:Z}=this;if(!J||!Z.length)return 0;if(Z[0]===J)return 1;let X=J.sibling?.displayed?1:0;return(J.childrenAfterSort?.length??0)+X}getTopLevelRowDisplayedIndex(J){let{beans:Z,rootNode:$,rowsToDisplay:X}=this;if(!$||!X.length||X[0]===$)return J;let Q=$.childrenAfterSort,q=(_)=>{let z=Q[_];if(this.gos.get("groupHideOpenParents"))while(z.expanded&&z.childrenAfterSort&&z.childrenAfterSort.length>0)z=z.childrenAfterSort[0];return z.rowIndex},H=Z.footerSvc;if(H)return H?.getTopDisplayIndex(X,J,Q,q);return q(J)}getTopLevelIndexFromDisplayedIndex(J){let{rootNode:Z,rowsToDisplay:$}=this;if(!Z||!$.length||$[0]===Z)return J;let Y=this.getRow(J);if(Y.footer)Y=Y.sibling;let Q=Y.parent;while(Q&&Q!==Z)Y=Q,Q=Y.parent;let q=Z.childrenAfterSort?.indexOf(Y)??-1;return q>=0?q:J}getRowBounds(J){let Z=this.rowsToDisplay[J];return Z?{rowTop:Z.rowTop,rowHeight:Z.rowHeight}:null}onRowGroupOpened(){this.refreshModel({step:"map",keepRenderedRows:!0,animate:U2(this.gos)})}onFilterChanged({afterDataChange:J,columns:Z}){if(!J){let X=Z.length===0||Z.some((Y)=>Y.isPrimary())?"filter":"filter_aggregates";this.refreshModel({step:X,keepRenderedRows:!0,animate:U2(this.gos)})}}onSortChanged(){this.refreshModel({step:"sort",keepRenderedRows:!0,animate:U2(this.gos)})}getType(){return"clientSide"}onValueChanged(){this.refreshModel({step:this.beans.colModel.isPivotActive()?"pivot":"aggregate"})}isSuppressModelUpdateAfterUpdateTransaction(J){if(!this.gos.get("suppressModelUpdateAfterUpdateTransaction"))return!1;let{changedRowNodes:Z,newData:$,rowDataUpdated:X}=J;if(!Z||$||!X)return!1;if(Z.removals.length||Z.adds.size)return!1;return!0}reMapRows(){if(this.refreshingModel||this.refreshingData){this.noKeepRenderedRows=!0,this.noKeepUndoRedoStack=!0,this.noAnimate=!0;return}this.refreshModel({step:"map",keepRenderedRows:!1,keepUndoRedoStack:!1,animate:!1})}refreshModel(J){let{nodeManager:Z,eventSvc:$,started:X}=this;if(!Z)return;let Y=!!J.rowDataUpdated;if(X&&Y)$.dispatchEvent({type:"rowDataUpdated"});if(this.deferRefresh(J)){this.setPendingRefreshFlags(J),this.rowDataUpdatedPending||(this.rowDataUpdatedPending=Y);return}if(this.rowDataUpdatedPending)this.rowDataUpdatedPending=!1,J.step="group";this.updateRefreshParams(J);let Q=!1;this.refreshingModel=!0;try{this.executeRefresh(J,Y),Q=!0}finally{if(this.refreshingData=!1,this.refreshingModel=!1,!Q)this.setPendingRefreshFlags(J)}this.clearPendingRefreshFlags(),$.dispatchEvent({type:"modelUpdated",animate:J.animate,keepRenderedRows:J.keepRenderedRows,newData:J.newData,newPage:!1,keepUndoRedoStack:J.keepUndoRedoStack})}executeRefresh(J,Z){let{beans:$,rootNode:X}=this;if($.masterDetailSvc?.refreshModel(J),Z&&J.step!=="group")$.colFilter?.refreshModel();let Y=J.changedPath;if(Y?.addRow(X),J.step==="group")this.doGrouping(X,J),Y??(Y=J.changedPath);switch(Y??(Y=$.changedPathFactory?.ensureRowsPath(J,X)),J.step){case"group":case"filter":this.doFilter(Y);case"pivot":if(this.doPivot(Y))Y=void 0,J.changedPath=void 0;case"aggregate":this.doAggregate(Y);case"filter_aggregates":this.doFilterAggregates(Y);case"sort":this.doSort(Y,J.changedRowNodes);case"map":this.doRowsToDisplay()}let Q=new Set;this.setRowTopAndRowIndex(Q),this.clearRowTopAndRowIndex(Y,Q),this.updateRefreshParams(J)}deferRefresh(J){if(this.refreshingModel)return!0;if(this.beans.colModel.changeEventsDispatching)return!0;if(this.isSuppressModelUpdateAfterUpdateTransaction(J)){if(this.started)this.refreshingData=!1;return!0}if(!this.started)return!0;return!1}setPendingRefreshFlags(J){this.pendingNewData||(this.pendingNewData=!!J.newData),this.noKeepRenderedRows||(this.noKeepRenderedRows=!J.keepRenderedRows),this.noKeepUndoRedoStack||(this.noKeepUndoRedoStack=!J.keepUndoRedoStack),this.noAnimate||(this.noAnimate=!J.animate)}clearPendingRefreshFlags(){this.pendingNewData=!1,this.noKeepRenderedRows=!1,this.noKeepUndoRedoStack=!1,this.noAnimate=!1}updateRefreshParams(J){J.newData=this.pendingNewData||!!J.newData,J.keepRenderedRows=!this.noKeepRenderedRows&&!!J.keepRenderedRows,J.keepUndoRedoStack=!this.noKeepUndoRedoStack&&!!J.keepUndoRedoStack,J.animate=!this.noAnimate&&!!J.animate}isEmpty(){return!this.rootNode?._leafs?.length||!this.beans.colModel?.ready}isRowsToRender(){return this.rowsToDisplay.length>0}getOverlayType(){let{beans:J,gos:Z}=this;if(this.rootNode?._leafs?.length){if(J.filterManager?.isAnyFilterPresent()&&this.getRowCount()===0)return"noMatchingRows"}else if(this.rowCountReady||(Z.get("rowData")?.length??0)==0)return"noRows";return null}getNodesInRangeForSelection(J,Z){let $=!1,X=!1,Y=[],Q=l2(this.gos);return this.forEachNodeAfterFilterAndSort((q)=>{if(X)return;if($){if(q===Z||q===J){if(X=!0,Q&&q.group){l1(Y,q);return}}}if(!$){if(q!==Z&&q!==J)return;if($=!0,Z===J)X=!0}if(!q.group||!Q)Y.push(q)}),Y}getTopLevelNodes(){return this.rootNode?.childrenAfterGroup??null}getRow(J){return this.rowsToDisplay[J]}getFormulaRow(J){return this.formulaRows[J]}isRowPresent(J){return this.rowsToDisplay.indexOf(J)>=0}getRowIndexAtPixel(J){let Z=this.rowsToDisplay,$=Z.length;if(this.isEmpty()||$===0)return-1;let X=0,Y=$-1;if(J<=0)return 0;if(Z[Y].rowTop<=J)return Y;let q=-1,H=-1;while(!0){let _=Math.floor((X+Y)/2),z=Z[_];if(this.isRowInPixel(z,J))return _;if(z.rowTopJ)Y=_-1;if(q===X&&H===Y)return _;q=X,H=Y}}isRowInPixel(J,Z){let $=J.rowTop,X=$+J.rowHeight;return $<=Z&&X>Z}forEachLeafNode(J){let Z=this.rootNode?._leafs;if(Z)for(let $=0,X=Z.length;$$.childrenAfterAggFilter)}forEachNodeAfterFilterAndSort(J,Z=!1){this.depthFirstSearchRowNodes(J,Z,($)=>$.childrenAfterSort)}forEachPivotNode(J,Z,$){let{colModel:X,rowGroupColsSvc:Y}=this.beans;if(!X.isPivotMode())return;if(!Y?.columns.length){J(this.rootNode,0);return}let Q=$?"childrenAfterSort":"childrenAfterGroup";this.depthFirstSearchRowNodes(J,Z,(q)=>!q.leafGroup?q[Q]:null)}depthFirstSearchRowNodes(J,Z=!1,$=(Q)=>Q.childrenAfterGroup,X=this.rootNode,Y=0){let Q=Y;if(!X)return Q;let q=X===this.rootNode;if(!q)J(X,Q++);if(X.hasChildren()&&!X.footer){let H=q||this.hierarchical?$(X):null;if(H){let _=this.beans.footerSvc;Q=_?.addTotalRows(Q,X,J,Z,q,"top")??Q;for(let z of H)Q=this.depthFirstSearchRowNodes(J,Z,$,z,Q);return _?.addTotalRows(Q,X,J,Z,q,"bottom")??Q}}return Q}doAggregate(J){if(this.rootNode)this.beans.aggStage?.execute(J)}doFilterAggregates(J){let Z=this.rootNode,$=this.beans.filterAggStage;if($&&this.hierarchical){$.execute(J);return}Z.childrenAfterAggFilter=Z.childrenAfterFilter;let X=Z.sibling;if(X)X.childrenAfterAggFilter=Z.childrenAfterFilter}doSort(J,Z){let $=this.beans.sortStage;if($){$.execute(J,Z);return}MJ(this.rootNode,this.hierarchical,J,(X)=>{X.childrenAfterSort=X.childrenAfterAggFilter.slice(0),t1(X)})}doGrouping(J,Z){let X=this.beans.groupStage?.execute(Z);if(X===void 0){let Y=J._leafs;J.childrenAfterGroup=Y,J.updateHasChildren();let Q=J.sibling;if(Q)Q.childrenAfterGroup=Y}if(X||Z.rowDataUpdated)this.beans.colFilter?.refreshModel();if(!this.rowCountReady&&this.rowNodesCountReady)this.rowCountReady=!0,this.eventSvc.dispatchEventOnce({type:"rowCountReady"})}doFilter(J){let Z=this.beans.filterStage;if(Z){Z.execute(J);return}MJ(this.rootNode,this.hierarchical,J,($)=>{$.childrenAfterFilter=$.childrenAfterGroup,F8($)})}doPivot(J){return this.beans.pivotStage?.execute(J)??!1}getRowNode(J){let Z=this.nodeManager?.getRowNode(J);if(typeof Z==="object")return Z;return this.beans.groupStage?.getNonLeaf(J)}batchUpdateRowData(J,Z){if(!this.asyncTransactionsTimer){this.asyncTransactions=[];let $=this.gos.get("asyncTransactionWaitMillis");this.asyncTransactionsTimer=setTimeout(()=>this.executeBatchUpdateRowData(),$)}this.asyncTransactions.push({rowDataTransaction:J,callback:Z})}flushAsyncTransactions(){let J=this.asyncTransactionsTimer;if(J)clearTimeout(J),this.executeBatchUpdateRowData()}executeBatchUpdateRowData(){let{nodeManager:J,beans:Z,eventSvc:$,asyncTransactions:X}=this;if(!J)return;Z.valueCache?.onDataChanged();let Y=[],Q=[],q=new G2,H=!this.gos.get("suppressAnimationFrame");for(let{rowDataTransaction:_,callback:z}of X??[]){this.rowNodesCountReady=!0,this.refreshingData=!0;let U=J.updateRowData(_,q,H);if(Y.push(U),z)Q.push(z.bind(null,U))}if(this.commitTransactions(q,H),Q.length>0)setTimeout(()=>{for(let _=0,z=Q.length;_0)$.dispatchEvent({type:"asyncTransactionsFlushed",results:Y});this.asyncTransactionsTimer=0,this.asyncTransactions=null}updateRowData(J){let Z=this.nodeManager;if(!Z)return null;this.beans.valueCache?.onDataChanged(),this.rowNodesCountReady=!0;let $=new G2,X=!this.gos.get("suppressAnimationFrame");this.refreshingData=!0;let Y=Z.updateRowData(J,$,X);return this.commitTransactions($,X),Y}commitTransactions(J,Z){this.refreshModel({step:"group",rowDataUpdated:!0,keepRenderedRows:!0,animate:Z,changedRowNodes:J})}doRowsToDisplay(){let{rootNode:J,beans:Z}=this;if(Z.formula?.active){let Y=J?.childrenAfterSort??[];this.formulaRows=Y,this.rowsToDisplay=Y.filter((Q)=>!Q.softFiltered);for(let Q of this.rowsToDisplay)Q.setUiLevel(0);return}let $=Z.flattenStage;if($){this.rowsToDisplay=$.execute();return}let X=this.rootNode.childrenAfterSort??[];for(let Y of X)Y.setUiLevel(0);this.rowsToDisplay=X}onRowHeightChanged(){this.refreshModel({step:"map",keepRenderedRows:!0,keepUndoRedoStack:!0})}resetRowHeights(){let J=this.rootNode;if(!J)return;let Z=this.resetRowHeightsForAllRowNodes();J.setRowHeight(J.rowHeight,!0);let $=J.sibling;if($?.setRowHeight($.rowHeight,!0),Z)this.onRowHeightChanged()}resetRowHeightsForAllRowNodes(){let J=!1;return this.forEachNode((Z)=>{Z.setRowHeight(Z.rowHeight,!0);let $=Z.detailNode;$?.setRowHeight($.rowHeight,!0);let X=Z.sibling;X?.setRowHeight(X.rowHeight,!0),J=!0}),J}onGridStylesChanges(J){if(J.rowHeightChanged&&!this.beans.rowAutoHeight?.active)this.resetRowHeights()}onGridReady(){if(!this.started)this.setInitialData()}destroy(){super.destroy(),this.nodeManager=this.destroyBean(this.nodeManager),this.started=!1,this.rootNode=null,this.rowsToDisplay=[],this.asyncTransactions=null,this.stages=null,this.stagesRefreshProps.clear(),clearTimeout(this.asyncTransactionsTimer)}onRowHeightChangedDebounced(){this.onRowHeightChanged_debounced()}},l1=(J,Z)=>{let $=Z.childrenAfterGroup;if($)for(let X=0,Y=$.length;Xthis.onFirstDataRendered(Z)});let Y=J.get("rowData");$=Y!=null&&Y.length>0&&o(J)}if($)this.beans.colDelayRenderSvc?.hideColumns(X)}}autoSizeCols(J){let{eventSvc:Z,visibleCols:$,colModel:X}=this.beans;C2(this.beans,!0),this.innerAutoSizeCols(J).then((Y)=>{let Q=(U)=>L2(Z,Array.from(U),!0,"autosizeColumns");if(!J.scaleUpToFitGridWidth)return C2(this.beans,!1),Q(Y);let q=qX(this.beans),H=(U)=>$.leftCols.some((W)=>PZ(W,U)),_=(U)=>$.rightCols.some((W)=>PZ(W,U)),z=J.colKeys.filter((U)=>{return!X.getCol(U)?.getColDef().suppressAutoSize&&!vJ(U)&&!H(U)&&!_(U)});this.sizeColumnsToFit(q,J.source,!0,{defaultMaxWidth:J.defaultMaxWidth,defaultMinWidth:J.defaultMinWidth,columnLimits:J.columnLimits?.map((U)=>({...U,key:U.colId})),colKeys:z,onlyScaleUp:!0,animate:!1}),C2(this.beans,!1),Q(Y)})}innerAutoSizeCols(J){return new Promise((Z,$)=>{if(this.shouldQueueResizeOperations)return this.pushResizeOperation(()=>this.innerAutoSizeCols(J).then(Z,$));let{colKeys:X,skipHeader:Y,skipHeaderGroups:Q,stopAtGroup:q,defaultMaxWidth:H,defaultMinWidth:_,columnLimits:z=[],source:U="api"}=J,{animationFrameSvc:W,renderStatus:G,colModel:B,autoWidthCalc:K,visibleCols:E}=this.beans;if(W?.flushAllFrames(),this.timesDelayed<5&&G&&(!G.areHeaderCellsRendered()||!G.areCellsRendered())){this.timesDelayed++,setTimeout(()=>{if(this.isAlive())this.innerAutoSizeCols(J).then(Z,$)});return}this.timesDelayed=0;let L=new Set,F=-1,D=Object.fromEntries(z.map(({colId:A,...R})=>[A,R])),k=Y??this.gos.get("skipHeaderOnAutoSize"),j=Q??k;while(F!==0){F=0;let A=[];for(let R of X){if(!R||H5(R))continue;let f=B.getCol(R);if(!f||L.has(f)||f.getColDef().suppressAutoSize)continue;let I=K.getPreferredWidthForColumn(f,k);if(I>0){let v=D[f.colId]??{};v.minWidth??(v.minWidth=_),v.maxWidth??(v.maxWidth=H);let b=VE(f,I,v);f.setActualWidth(b,U),L.add(f),F++}A.push(f)}if(A.length)E.refresh(U)}if(!j)this.autoSizeColumnGroupsByColumns(X,U,q);Z(L)})}autoSizeColumn(J,Z,$){this.autoSizeCols({colKeys:[J],skipHeader:$,skipHeaderGroups:!0,source:Z})}autoSizeColumnGroupsByColumns(J,Z,$){let{colModel:X,ctrlsSvc:Y}=this.beans,Q=new Set,q=X.getColsForKeys(J);for(let _ of q){let z=_.getParent();while(z&&z!=$){if(!z.isPadding())Q.add(z);z=z.getParent()}}let H;for(let _ of Q){for(let z of Y.getHeaderRowContainerCtrls())if(H=z.getHeaderCtrlForColumn(_),H)break;H?.resizeLeafColumnsToFit(Z)}}autoSizeAllColumns(J){if(this.shouldQueueResizeOperations){this.pushResizeOperation(()=>this.autoSizeAllColumns(J));return}this.autoSizeCols({colKeys:this.beans.visibleCols.allCols,...J})}addColumnAutosizeListeners(J,Z){let $=this.gos.get("skipHeaderOnAutoSize"),X=()=>{this.autoSizeColumn(Z,"uiColumnResized",$)};J.addEventListener("dblclick",X);let Y=new hJ(J);return Y.addEventListener("doubleTap",X),()=>{J.removeEventListener("dblclick",X),Y.destroy()}}addColumnGroupResize(J,Z,$){let X=this.gos.get("skipHeaderOnAutoSize"),Y=()=>{let Q=[],q=Z.getDisplayedLeafColumns();for(let H of q)if(!H.getColDef().suppressAutoSize)Q.push(H.getColId());if(Q.length>0)this.autoSizeCols({colKeys:Q,skipHeader:X,stopAtGroup:Z,source:"uiColumnResized"});$()};return J.addEventListener("dblclick",Y),()=>J.removeEventListener("dblclick",Y)}sizeColumnsToFitGridBody(J,Z){if(!this.isAlive())return;let $=qX(this.beans);if($>0){this.sizeColumnsToFit($,"sizeColumnsToFit",!1,J);return}if(Z===void 0)window.setTimeout(()=>{this.sizeColumnsToFitGridBody(J,100)},0);else if(Z===100)window.setTimeout(()=>{this.sizeColumnsToFitGridBody(J,500)},100);else if(Z===500)window.setTimeout(()=>{this.sizeColumnsToFitGridBody(J,-1)},500);else O(29)}sizeColumnsToFit(J,Z="sizeColumnsToFit",$,X){if(this.shouldQueueResizeOperations){this.pushResizeOperation(()=>this.sizeColumnsToFit(J,Z,$,X));return}let{beans:Y}=this,Q=X?.animate??!0;if(Q)C2(Y,!0);let q={};for(let{key:F,...D}of X?.columnLimits??[])q[typeof F==="string"?F:F.getColId()]=D;let H=Y.visibleCols.allCols;if(J<=0||!H.length)return;let _=wZ(H);if(X?.onlyScaleUp&&_>J)return;if(J===_){if(H.every((D)=>{if(D.colDef.suppressSizeToFit)return!0;let k=q?.[D.getId()],j=k?.minWidth??X?.defaultMinWidth,A=k?.maxWidth??X?.defaultMaxWidth,R=D.getActualWidth();return(j==null||R>=j)&&(A==null||R<=A)}))return}let U=[],W=[];for(let F of H){let D=X?.colKeys?.some((k)=>PZ(F,k))??!0;if(F.getColDef().suppressSizeToFit||!D)W.push(F);else U.push(F)}let G=U.slice(0),B=!1,K=(F)=>{YJ(U,F),W.push(F)},E={};for(let F of U){if(X?.onlyScaleUp)E[F.getColId()]=F.getActualWidth();F.resetActualWidth(Z);let D=q?.[F.getId()],k=D?.minWidth??X?.defaultMinWidth??-1/0,j=D?.maxWidth??X?.defaultMaxWidth??1/0,A=F.getActualWidth(),R=Math.max(Math.min(A,j),k);if(R!=A)F.setActualWidth(R,Z,!0)}while(!B){B=!0;let F=J-wZ(W);if(F<=0)for(let D of U){let k=q?.[D.getId()]?.minWidth??X?.defaultMinWidth??D.minWidth;D.setActualWidth(k,Z,!0)}else{let D=F/wZ(U),k=F;for(let j=U.length-1;j>=0;j--){let A=U[j],R=A.getColId(),f=E[R],I=q?.[R],v=I?.minWidth??X?.defaultMinWidth??f,b=I?.maxWidth??X?.defaultMaxWidth,m=Math.max(v??-1/0,A.getMinWidth()),N=Math.min(b??1/0,A.getMaxWidth()),a=Math.round(A.getActualWidth()*D);if(aN)a=N,K(A),B=!1;else if(j===0)a=k;A.setActualWidth(a,Z,!0),k-=a}}}for(let F of G)F.fireColumnWidthChangedEvent(Z);let L=Y.visibleCols;if(L.setLeftValues(Z),L.updateBodyWidths(),$)return;if(L2(this.eventSvc,G,!0,Z),Q)C2(Y,!1)}applyAutosizeStrategy(){let{gos:J,colDelayRenderSvc:Z}=this.beans,$=J.get("autoSizeStrategy");if($?.type!=="fitGridWidth"&&$?.type!=="fitProvidedWidth")return;setTimeout(()=>{if(!this.isAlive())return;let X=$.type;if(X==="fitGridWidth"){let{columnLimits:Y,defaultMinWidth:Q,defaultMaxWidth:q}=$,H=Y?.map(({colId:_,minWidth:z,maxWidth:U})=>({key:_,minWidth:z,maxWidth:U}));this.sizeColumnsToFitGridBody({defaultMinWidth:Q,defaultMaxWidth:q,columnLimits:H})}else if(X==="fitProvidedWidth")this.sizeColumnsToFit($.width,"sizeColumnsToFit");Z?.revealColumns(X)})}onFirstDataRendered({colIds:J,...Z}){setTimeout(()=>{if(!this.isAlive())return;let $="autosizeColumns";if(J)this.autoSizeCols({...Z,source:$,colKeys:J});else this.autoSizeAllColumns({...Z,source:$});this.beans.colDelayRenderSvc?.revealColumns(Z.type)})}processResizeOperations(){this.shouldQueueResizeOperations=!1;for(let J of this.resizeOperationQueue)J();this.resizeOperationQueue=[]}pushResizeOperation(J){this.resizeOperationQueue.push(J)}destroy(){this.resizeOperationQueue.length=0,super.destroy()}};function VE(J,Z,$={}){let X=$.minWidth??J.getMinWidth();if(ZY)Z=Y;return Z}function qX({ctrlsSvc:J,scrollVisibleSvc:Z}){let $=J.getGridBodyCtrl(),Y=$.isVerticalScrollShowing()?Z.getScrollbarWidth():0;return y0($.eGridBody)-Y}var HX="ag-animate-autosize";function C2({ctrlsSvc:J,gos:Z},$){if(!Z.get("animateColumnResizing")||Z.get("enableRtl")||!J.isAlive())return;let X=J.getGridBodyCtrl().eGridBody.classList;if($)X.add(HX);else X.remove(HX)}var e1={moduleName:"ColumnAutoSize",version:p,beans:[kE],apiFunctions:{sizeColumnsToFit:FE,autoSizeColumns:o1,autoSizeAllColumns:DE},dependsOn:[G1],css:[LE]};var jE=class extends M{constructor(){super(...arguments);this.beanName="gridSerializer"}wireBeans(J){this.visibleCols=J.visibleCols,this.colModel=J.colModel,this.rowModel=J.rowModel,this.pinnedRowModel=J.pinnedRowModel}serialize(J,Z={}){let{allColumns:$,columnKeys:X,skipRowGroups:Y,exportRowNumbers:Q}=Z,q=this.getColumnsToExport({allColumns:$,skipRowGroups:Y,columnKeys:X,exportRowNumbers:Q});return[this.prepareSession(q),this.prependContent(Z),this.exportColumnGroups(Z,q),this.exportHeaders(Z,q),this.processPinnedTopRows(Z,q),this.processRows(Z,q),this.processPinnedBottomRows(Z,q),this.appendContent(Z)].reduce((H,_)=>_(H),J).parse()}processRow(J,Z,$,X){let Y=Z.shouldRowBeSkipped||(()=>!1),q=Z.rowPositions!=null||!!Z.onlySelected,H=this.gos.get("groupHideOpenParents")&&!q,_=this.colModel.isPivotMode()?X.leafGroup:!X.group,z=!!X.footer,U=X.allChildrenCount===1&&X.childrenAfterGroup?.length===1&&OH(this.gos,X);if(!_&&!z&&(Z.skipRowGroups||U||H)||Z.onlySelected&&!X.isSelected()||Z.skipPinnedTop&&X.rowPinned==="top"||Z.skipPinnedBottom&&X.rowPinned==="bottom"||X.stub)return;if(X.level===-1&&!_&&!z)return;if(Y(x(this.gos,{node:X})))return;let B=J.onNewBodyRow(X);if($.forEach((K,E)=>{B.onColumn(K,E,X)}),Z.getCustomContentBelowRow){let K=Z.getCustomContentBelowRow(x(this.gos,{node:X}));if(K)J.addCustomContent(K)}}appendContent(J){return(Z)=>{let $=J.appendContent;if($)Z.addCustomContent($);return Z}}prependContent(J){return(Z)=>{let $=J.prependContent;if($)Z.addCustomContent($);return Z}}prepareSession(J){return(Z)=>{return Z.prepare(J),Z}}exportColumnGroups(J,Z){return($)=>{if(!J.skipColumnGroupHeaders){let X=new L1,{colGroupSvc:Y}=this.beans,Q=Y?Y.createColumnGroups({columns:Z,idCreator:X,pinned:null,isStandaloneStructure:!0}):Z;this.recursivelyAddHeaderGroups(Q,$,J.processGroupHeaderCallback)}return $}}exportHeaders(J,Z){return($)=>{if(!J.skipColumnHeaders){let X=$.onNewHeaderRow();Z.forEach((Y,Q)=>{X.onColumn(Y,Q,void 0)})}return $}}processPinnedTopRows(J,Z){return($)=>{let X=this.processRow.bind(this,$,J,Z);if(J.rowPositions)J.rowPositions.filter((Y)=>Y.rowPinned==="top").sort((Y,Q)=>Y.rowIndex-Q.rowIndex).map((Y)=>this.pinnedRowModel?.getPinnedTopRow(Y.rowIndex)).forEach(X);else if(!this.pinnedRowModel?.isManual())this.pinnedRowModel?.forEachPinnedRow("top",X);return $}}processRows(J,Z){return($)=>{let X=this.rowModel,Y=o(this.gos,X),Q=z0(this.gos,X),q=!Y&&J.onlySelected,H=this.processRow.bind(this,$,J,Z),{exportedRows:_="filteredAndSorted"}=J;if(J.rowPositions)J.rowPositions.filter((z)=>z.rowPinned==null).sort((z,U)=>z.rowIndex-U.rowIndex).map((z)=>X.getRow(z.rowIndex)).forEach(H);else if(this.colModel.isPivotMode())if(Y)X.forEachPivotNode(H,!0,_==="filteredAndSorted");else if(Q)X.forEachNodeAfterFilterAndSort(H,!0);else X.forEachNode(H);else if(J.onlySelectedAllPages||q){let z=this.beans.selectionSvc?.getSelectedNodes()??[];this.replicateSortedOrder(z),z.forEach(H)}else if(_==="all")X.forEachNode(H);else if(Y||Q)X.forEachNodeAfterFilterAndSort(H,!0);else X.forEachNode(H);return $}}replicateSortedOrder(J){let{sortSvc:Z,rowNodeSorter:$}=this.beans;if(!Z||!$)return;let X=Z.getSortOptions(),Y=(Q,q)=>{if(Q.rowIndex!=null&&q.rowIndex!=null)return Q.rowIndex-q.rowIndex;if(Q.level===q.level){if(Q.parent?.id===q.parent?.id)return $.compareRowNodes(X,Q,q)||(Q.rowIndex??-1)-(q.rowIndex??-1);return Y(Q.parent,q.parent)}if(Q.level>q.level)return Y(Q.parent,q);return Y(Q,q.parent)};J.sort(Y)}processPinnedBottomRows(J,Z){return($)=>{let X=this.processRow.bind(this,$,J,Z);if(J.rowPositions)J.rowPositions.filter((Y)=>Y.rowPinned==="bottom").sort((Y,Q)=>Y.rowIndex-Q.rowIndex).map((Y)=>this.pinnedRowModel?.getPinnedBottomRow(Y.rowIndex)).forEach(X);else if(!this.pinnedRowModel?.isManual())this.pinnedRowModel?.forEachPinnedRow("bottom",X);return $}}getColumnsToExport(J){let{allColumns:Z=!1,skipRowGroups:$=!1,exportRowNumbers:X=!1,columnKeys:Y}=J,{colModel:Q,gos:q,visibleCols:H}=this,_=Q.isPivotMode(),z=(G)=>{if(IZ(G))return!1;return!vJ(G)||X};if(Y?.length)return Q.getColsForKeys(Y).filter(z);let U=q.get("treeData"),W=[];if(Z&&!_)W=Q.getCols();else W=H.allCols;return W=W.filter((G)=>z(G)&&($&&!U?!m0(G):!0)),W}recursivelyAddHeaderGroups(J,Z,$){let X=[];for(let Y of J){let Q=Y;if(!Q.getChildren)continue;for(let q of Q.getChildren()??[])X.push(q)}if(J.length>0&&UJ(J[0]))this.doAddHeaderHeader(Z,J,$);if(X&&X.length>0)this.recursivelyAddHeaderGroups(X,Z,$)}doAddHeaderHeader(J,Z,$){let X=J.onNewHeaderGroupingRow(),Y=0;for(let Q of Z){let q=Q,H;if($)H=$(x(this.gos,{columnGroup:q}));else H=this.beans.colNames.getDisplayNameForColumnGroup(q,"header");let z=(q.isExpandable()?q.getLeafColumns():[]).reduce((U,W,G,B)=>{let K=C(U);if(W.getColumnGroupShow()!=="open"){if(K&&K[1]==null)K[1]=G-1}else if(!K||K[1]!=null)K=[G],U.push(K);if(G===B.length-1&&K&&K[1]==null)K[1]=G;return U},[]);X.onColumn(q,H||"",Y++,q.getLeafColumns().length-1,z)}}},M9={moduleName:"SharedExport",version:p,beans:[jE]},R9=class extends M{getFileName(J){let Z=this.getDefaultFileExtension();if(!J?.length)J=this.getDefaultFileName();return J.includes(".")?J:`${J}.${Z}`}getData(J){return this.beans.gridSerializer.serialize(this.createSerializingSession(J),J)}getDefaultFileName(){return`export.${this.getDefaultFileExtension()}`}};function d6(J,Z){let $=document.defaultView||window;if(!$){O(52);return}let X=document.createElement("a"),Y=$.URL.createObjectURL(Z);X.setAttribute("href",Y),X.setAttribute("download",J),X.style.display="none",document.body.appendChild(X),X.dispatchEvent(new MouseEvent("click",{bubbles:!1,cancelable:!0,view:$})),X.remove(),$.setTimeout(()=>{$.URL.revokeObjectURL(Y)},0)}var O9=class{constructor(J){this.valueFrom="data";let{colModel:Z,rowGroupColsSvc:$,colNames:X,valueSvc:Y,gos:Q,processCellCallback:q,processHeaderCallback:H,processGroupHeaderCallback:_,processRowGroupCallback:z,valueFrom:U}=J;if(this.colModel=Z,this.rowGroupColsSvc=$,this.colNames=X,this.valueSvc=Y,this.gos=Q,this.processCellCallback=q,this.processHeaderCallback=H,this.processGroupHeaderCallback=_,this.processRowGroupCallback=z,U)this.valueFrom=U}prepare(J){}extractHeaderValue(J){return this.getHeaderName(this.processHeaderCallback,J)??""}extractRowCellValue(J){let{column:Z,node:$,currentColumnIndex:X,accumulatedRowIndex:Y,type:Q,useRawFormula:q}=J,H=X===0&&XY(this.gos,$,this.colModel.isPivotMode());if(this.processRowGroupCallback&&(this.gos.get("treeData")||$.group)&&(Z.isRowGroupDisplayed($.rowGroupColumn?.getColId()??"")||H))return{value:this.processRowGroupCallback(x(this.gos,{column:Z,node:$}))??""};if(this.processCellCallback)return{value:this.processCellCallback(x(this.gos,{accumulatedRowIndex:Y,column:Z,node:$,value:this.valueSvc.getValueForDisplay({column:Z,node:$,from:this.valueFrom}).value,type:Q,parseValue:(K)=>this.valueSvc.parseValue(Z,$,K,this.valueSvc.getValue(Z,$,this.valueFrom)),formatValue:(K)=>this.valueSvc.formatValue(Z,$,K)??K}))??""};let _=this.gos.get("treeData"),z=this.valueSvc,U=$.level===-1&&$.footer,W=Z.colDef.showRowGroup===!0&&($.group||_);if(!U&&(H||W)){let K="",E=$;while(E&&E.level!==-1){let{value:L,valueFormatted:F}=z.getValueForDisplay({column:H?void 0:Z,node:E,includeValueFormatted:!0,exporting:!0,from:this.valueFrom});K=` -> ${F??L??""}${K}`,E=E.parent}return{value:K,valueFormatted:K}}let{value:G,valueFormatted:B}=z.getValueForDisplay({column:Z,node:$,includeValueFormatted:!0,exporting:!0,useRawFormula:q,from:this.valueFrom});return{value:G??"",valueFormatted:B}}getHeaderName(J,Z){if(J)return J(x(this.gos,{column:Z}));return this.colNames.getDisplayNameForColumn(Z,"csv",!0)}},_X=`\r `,AE=class extends O9{constructor(J){super(J);this.config=J,this.isFirstLine=!0,this.result="";let{suppressQuotes:Z,columnSeparator:$}=J;this.suppressQuotes=Z,this.columnSeparator=$}addCustomContent(J){if(!J)return;if(typeof J==="string"){if(!/^\s*\n/.test(J))this.beginNewLine();J=J.replace(/\r?\n/g,_X),this.result+=J}else J.forEach((Z)=>{this.beginNewLine(),Z.forEach(($,X)=>{if(X!==0)this.result+=this.columnSeparator;if(this.result+=this.putInQuotes($.data.value||""),$.mergeAcross)this.appendEmptyCells($.mergeAcross)})})}onNewHeaderGroupingRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderGroupingRowColumn.bind(this)}}onNewHeaderGroupingRowColumn(J,Z,$,X){if($!=0)this.result+=this.columnSeparator;this.result+=this.putInQuotes(Z),this.appendEmptyCells(X)}appendEmptyCells(J){for(let Z=1;Z<=J;Z++)this.result+=this.columnSeparator+this.putInQuotes("")}onNewHeaderRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderRowColumn.bind(this)}}onNewHeaderRowColumn(J,Z){if(Z!=0)this.result+=this.columnSeparator;this.result+=this.putInQuotes(this.extractHeaderValue(J))}onNewBodyRow(){return this.beginNewLine(),{onColumn:this.onNewBodyRowColumn.bind(this)}}onNewBodyRowColumn(J,Z,$){if(Z!=0)this.result+=this.columnSeparator;let X=this.extractRowCellValue({column:J,node:$,currentColumnIndex:Z,accumulatedRowIndex:Z,type:"csv",useRawFormula:!1});this.result+=this.putInQuotes(X.valueFormatted??X.value)}putInQuotes(J){if(this.suppressQuotes)return J;if(J===null||J===void 0)return'""';let Z;if(typeof J==="string")Z=J;else if(typeof J.toString==="function")Z=J.toString();else O(53),Z="";return'"'+Z.replace(/"/g,'""')+'"'}parse(){return this.result}beginNewLine(){if(!this.isFirstLine)this.result+=_X;this.isFirstLine=!1}},ME=class extends R9{constructor(){super(...arguments);this.beanName="csvCreator"}getMergedParams(J){let Z=this.gos.get("defaultCsvExportParams");return Object.assign({},Z,J)}export(J){if(this.isExportSuppressed()){O(51);return}let Z=()=>{let X=this.getMergedParams(J),Y=this.getData(X),Q=new Blob(["\uFEFF",Y],{type:"text/plain"}),q=X.fileName,H=typeof q==="function"?q(x(this.gos,{})):q;d6(this.getFileName(H),Q)},{overlays:$}=this.beans;if($)$.showExportOverlay(Z);else Z()}exportDataAsCsv(J){this.export(J)}getDataAsCsv(J,Z=!1){let $=Z?Object.assign({},J):this.getMergedParams(J);return this.getData($)}getDefaultFileExtension(){return"csv"}createSerializingSession(J){let{colModel:Z,colNames:$,rowGroupColsSvc:X,valueSvc:Y,gos:Q}=this.beans,{processCellCallback:q,processHeaderCallback:H,processGroupHeaderCallback:_,processRowGroupCallback:z,suppressQuotes:U,columnSeparator:W,valueFrom:G}=J;return new AE({colModel:Z,colNames:$,valueSvc:Y,gos:Q,processCellCallback:q||void 0,processHeaderCallback:H||void 0,processGroupHeaderCallback:_||void 0,processRowGroupCallback:z||void 0,suppressQuotes:U||!1,columnSeparator:W||",",rowGroupColsSvc:X,valueFrom:G})}isExportSuppressed(){return this.gos.get("suppressCsvExport")}};function RE(J,Z){return J.csvCreator?.getDataAsCsv(Z)}function OE(J,Z){J.csvCreator?.exportDataAsCsv(Z)}var J4={moduleName:"CsvExport",version:p,beans:[ME],apiFunctions:{getDataAsCsv:RE,exportDataAsCsv:OE},dependsOn:[M9]},Z4=class extends RJ{constructor(J,Z){super();if(this.ctrl=J,Z)this.beans=Z}postConstruct(){this.refreshTooltip()}setBrowserTooltip(J,Z){let X=this.ctrl.getGui();if(!X)return;if(J!=null&&(J!=""||Z))X.setAttribute("title",J);else X.removeAttribute("title")}updateTooltipText(){let{getTooltipValue:J}=this.ctrl;if(J)this.tooltip=J()}createTooltipFeatureIfNeeded(){if(this.tooltipManager==null){let J=this.beans.registry.createDynamicBean("tooltipStateManager",!0,this.ctrl,()=>this.tooltip);if(J)this.tooltipManager=this.createBean(J,this.beans.context)}}attemptToShowTooltip(){this.tooltipManager?.prepareToShowTooltip()}attemptToHideTooltip(){this.tooltipManager?.hideTooltip()}setTooltipAndRefresh(J){this.tooltip=J,this.refreshTooltip()}refreshTooltip(J){if(this.browserTooltips=this.beans.gos.get("enableBrowserTooltips"),this.updateTooltipText(),this.browserTooltips)this.setBrowserTooltip(this.tooltip),this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context);else this.setBrowserTooltip(J?"":null,J),this.createTooltipFeatureIfNeeded()}destroy(){this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context),super.destroy()}},SE=1000,fE=1000,zX=100,UX,u5=!1,PE=class extends RJ{constructor(J,Z){super();this.tooltipCtrl=J,this.getTooltipValue=Z,this.interactionEnabled=!1,this.isInteractingWithTooltip=!1,this.state=0,this.tooltipInstanceCount=0,this.tooltipMouseTrack=!1}wireBeans(J){this.popupSvc=J.popupSvc}postConstruct(){if(this.gos.get("tooltipInteraction"))this.interactionEnabled=!0;this.tooltipTrigger=this.getTooltipTrigger(),this.tooltipMouseTrack=this.gos.get("tooltipMouseTrack");let J=this.tooltipCtrl.getGui();if(this.tooltipTrigger===0)this.addManagedListeners(J,{mouseenter:this.onMouseEnter.bind(this),mouseleave:this.onMouseLeave.bind(this)});if(this.tooltipTrigger===1)this.addManagedListeners(J,{focusin:this.onFocusIn.bind(this),focusout:this.onFocusOut.bind(this)});if(this.addManagedListeners(J,{mousemove:this.onMouseMove.bind(this)}),!this.interactionEnabled)this.addManagedListeners(J,{mousedown:this.onMouseDown.bind(this),keydown:this.onKeyDown.bind(this)})}getGridOptionsTooltipDelay(J){let Z=this.gos.get(J);return Math.max(200,Z)}getTooltipDelay(J){return this.tooltipCtrl[`getTooltip${J}DelayOverride`]?.()??this.getGridOptionsTooltipDelay(`tooltip${J}Delay`)}destroy(){this.setToDoNothing(),super.destroy()}getTooltipTrigger(){let J=this.gos.get("tooltipTrigger");if(!J||J==="hover")return 0;return 1}onMouseEnter(J){if(this.interactionEnabled&&this.interactiveTooltipTimeoutId)this.unlockService(),this.startHideTimeout();if(C0())return;if(u5)this.showTooltipTimeoutId=window.setTimeout(()=>{this.prepareToShowTooltip(J)},zX);else this.prepareToShowTooltip(J)}onMouseMove(J){if(this.lastMouseEvent)this.lastMouseEvent=J;if(this.tooltipMouseTrack&&this.state===2&&this.tooltipComp)this.positionTooltip()}onMouseDown(){this.setToDoNothing()}onMouseLeave(){if(this.interactionEnabled)this.lockService();else this.setToDoNothing()}onFocusIn(){this.prepareToShowTooltip()}onFocusOut(J){let Z=J.relatedTarget,$=this.tooltipCtrl.getGui(),X=this.tooltipComp?.getGui();if(this.isInteractingWithTooltip||$.contains(Z)||this.interactionEnabled&&X?.contains(Z))return;this.setToDoNothing()}onKeyDown(){if(this.isInteractingWithTooltip)this.isInteractingWithTooltip=!1;this.setToDoNothing()}prepareToShowTooltip(J){if(this.state!=0||u5)return;let Z=0;if(J)Z=this.isLastTooltipHiddenRecently()?this.getTooltipDelay("SwitchShow"):this.getTooltipDelay("Show");this.lastMouseEvent=J||null,this.showTooltipTimeoutId=window.setTimeout(this.showTooltip.bind(this),Z),this.state=1}isLastTooltipHiddenRecently(){return Date.now()-UXthis.hideTooltip(!0),...Z.getAdditionalParams?.()});this.state=2,this.tooltipInstanceCount++;let X=this.newTooltipComponentCallback.bind(this,this.tooltipInstanceCount);this.createTooltipComp($,X)}hideTooltip(J){if(!J&&this.isInteractingWithTooltip)return;if(this.tooltipComp)this.destroyTooltipComp(),UX=Date.now();if(this.eventSvc.dispatchEvent({type:"tooltipHide",parentGui:this.tooltipCtrl.getGui()}),J)this.isInteractingWithTooltip=!1;this.setToDoNothing(!0)}newTooltipComponentCallback(J,Z){if(this.state!==2||this.tooltipInstanceCount!==J){this.destroyBean(Z);return}let X=Z.getGui();if(this.tooltipComp=Z,!X.classList.contains("ag-tooltip"))X.classList.add("ag-tooltip-custom");if(this.tooltipTrigger===0)X.classList.add("ag-tooltip-animate");if(this.interactionEnabled)X.classList.add("ag-tooltip-interactive");let Y=this.getLocaleTextFunc(),Q=this.popupSvc?.addPopup({eChild:X,ariaLabel:Y("ariaLabelTooltip","Tooltip")});if(Q)this.tooltipPopupDestroyFunc=Q.hideFunc;if(this.positionTooltip(),this.tooltipTrigger===1){let q=()=>this.setToDoNothing();[this.onBodyScrollEventCallback]=this.addManagedEventListeners({bodyScroll:q}),this.setEventHandlers(q)}if(this.interactionEnabled){if([this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener]=this.addManagedElementListeners(X,{mouseenter:this.onTooltipMouseEnter.bind(this),mouseleave:this.onTooltipMouseLeave.bind(this)}),[this.onDocumentKeyDownCallback]=this.addManagedElementListeners(qJ(this.beans),{keydown:(q)=>{if(!X.contains(q?.target))this.onKeyDown()}}),this.tooltipTrigger===1)[this.tooltipFocusInListener,this.tooltipFocusOutListener]=this.addManagedElementListeners(X,{focusin:this.onTooltipFocusIn.bind(this),focusout:this.onTooltipFocusOut.bind(this)})}this.eventSvc.dispatchEvent({type:"tooltipShow",tooltipGui:X,parentGui:this.tooltipCtrl.getGui()}),this.startHideTimeout()}onTooltipMouseEnter(){this.isInteractingWithTooltip=!0,this.unlockService()}onTooltipMouseLeave(){if(this.isTooltipFocused())return;this.isInteractingWithTooltip=!1,this.lockService()}onTooltipFocusIn(){this.isInteractingWithTooltip=!0}isTooltipFocused(){let J=this.tooltipComp?.getGui(),Z=n(this.beans);return!!J&&J.contains(Z)}onTooltipFocusOut(J){let Z=this.tooltipCtrl.getGui();if(this.isTooltipFocused())return;if(this.isInteractingWithTooltip=!1,Z.contains(J.relatedTarget))this.startHideTimeout();else this.hideTooltip()}positionTooltip(){let J={type:"tooltip",ePopup:this.tooltipComp.getGui(),nudgeY:18,skipObserver:this.tooltipMouseTrack};if(this.lastMouseEvent)this.popupSvc?.positionPopupUnderMouseEvent({...J,mouseEvent:this.lastMouseEvent});else this.popupSvc?.positionPopupByComponent({...J,eventSource:this.tooltipCtrl.getGui(),position:"under",keepWithinBounds:!0,nudgeY:5})}destroyTooltipComp(){this.tooltipComp.getGui().classList.add("ag-tooltip-hiding");let J=this.tooltipPopupDestroyFunc,Z=this.tooltipComp,$=this.tooltipTrigger===0?fE:0;window.setTimeout(()=>{J(),this.destroyBean(Z)},$),this.clearTooltipListeners(),this.tooltipPopupDestroyFunc=void 0,this.tooltipComp=void 0}clearTooltipListeners(){for(let J of[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener,this.tooltipFocusInListener,this.tooltipFocusOutListener])if(J)J();this.tooltipMouseEnterListener=this.tooltipMouseLeaveListener=this.tooltipFocusInListener=this.tooltipFocusOutListener=null}lockService(){u5=!0,this.interactiveTooltipTimeoutId=window.setTimeout(()=>{this.unlockService(),this.setToDoNothing()},zX)}unlockService(){u5=!1,this.clearInteractiveTimeout()}startHideTimeout(){this.clearHideTimeout(),this.hideTooltipTimeoutId=window.setTimeout(this.hideTooltip.bind(this),this.getTooltipDelay("Hide"))}clearShowTimeout(){if(!this.showTooltipTimeoutId)return;window.clearTimeout(this.showTooltipTimeoutId),this.showTooltipTimeoutId=void 0}clearHideTimeout(){if(!this.hideTooltipTimeoutId)return;window.clearTimeout(this.hideTooltipTimeoutId),this.hideTooltipTimeoutId=void 0}clearInteractiveTimeout(){if(!this.interactiveTooltipTimeoutId)return;window.clearTimeout(this.interactiveTooltipTimeoutId),this.interactiveTooltipTimeoutId=void 0}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout(),this.clearInteractiveTimeout()}},TE=class extends Z4{constructor(J,Z,$){super(J,$);this.highlightTracker=Z,this.onHighlight=this.onHighlight.bind(this)}postConstruct(){super.postConstruct(),this.wireHighlightListeners()}wireHighlightListeners(){this.addManagedPropertyListener("tooltipTrigger",({currentValue:J})=>{this.setTooltipMode(J)}),this.setTooltipMode(this.gos.get("tooltipTrigger")),this.highlightTracker.addEventListener("itemHighlighted",this.onHighlight)}onHighlight(J){if(this.tooltipMode!==1)return;if(J.highlighted)this.attemptToShowTooltip();else this.attemptToHideTooltip()}setTooltipMode(J="focus"){this.tooltipMode=J==="focus"?1:0}destroy(){this.highlightTracker.removeEventListener("itemHighlighted",this.onHighlight),super.destroy()}},vE=class extends r8{constructor(){super({tag:"div",cls:"ag-tooltip"})}init(J){let{value:Z}=J,$=this.getGui();$.textContent=X5(Z);let X=J.location.replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase();$.classList.add(`ag-${X}-tooltip`)}},IE=".ag-tooltip{background-color:var(--ag-tooltip-background-color);border:var(--ag-tooltip-border);border-radius:var(--ag-border-radius);color:var(--ag-tooltip-text-color);padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);position:absolute;white-space:normal;z-index:99999;&:where(.ag-cell-editor-tooltip),&:where(.ag-cell-formula-tooltip){background-color:var(--ag-tooltip-error-background-color);border:var(--ag-tooltip-error-border);color:var(--ag-tooltip-error-text-color);font-weight:500}}.ag-tooltip-custom{position:absolute;z-index:99999}.ag-tooltip-custom:where(:not(.ag-tooltip-interactive)),.ag-tooltip:where(:not(.ag-tooltip-interactive)){pointer-events:none}.ag-tooltip-animate{transition:opacity 1s;&:where(.ag-tooltip-hiding){opacity:0}}",m5=0,bE=200,CE=class extends RJ{constructor(){super(...arguments);this.beanName="popupSvc",this.popupList=[]}postConstruct(){this.addManagedEventListeners({stylesChanged:this.handleThemeChange.bind(this)})}getPopupParent(){let J=this.gos.get("popupParent");if(J)return J;return this.getDefaultPopupParent()}positionPopupUnderMouseEvent(J){let{ePopup:Z,nudgeX:$,nudgeY:X,skipObserver:Y}=J;this.positionPopup({ePopup:Z,nudgeX:$,nudgeY:X,keepWithinBounds:!0,skipObserver:Y,updatePosition:()=>this.calculatePointerAlign(J.mouseEvent),postProcessCallback:()=>this.callPostProcessPopup(J.additionalParams,J.type,J.ePopup,null,J.mouseEvent)})}calculatePointerAlign(J){let Z=this.getParentRect();return{x:J.clientX-Z.left,y:J.clientY-Z.top}}positionPopupByComponent(J){let{ePopup:Z,nudgeX:$,nudgeY:X,keepWithinBounds:Y,eventSource:Q,alignSide:q="left",position:H="over",type:_}=J,z=Q.getBoundingClientRect(),U=this.getParentRect();this.setAlignedTo(Q,Z);let W=()=>{let G=z.left-U.left;if(q==="right")G-=Z.offsetWidth-z.width;let B;if(H==="over")B=z.top-U.top,this.setAlignedStyles(Z,"over");else if(this.setAlignedStyles(Z,"under"),this.shouldRenderUnderOrAbove(Z,z,U,J.nudgeY||0)==="under")B=z.top-U.top+z.height;else B=z.top-Z.offsetHeight-(X||0)*2-U.top;return{x:G,y:B}};this.positionPopup({ePopup:Z,nudgeX:$,nudgeY:X,keepWithinBounds:Y,updatePosition:W,postProcessCallback:()=>this.callPostProcessPopup(J.additionalParams,_,Z,Q,null)})}positionPopupForMenu(J){let{eventSource:Z,ePopup:$,event:X}=J,Y=Z.getBoundingClientRect(),Q=this.getParentRect();this.setAlignedTo(Z,$);let q=!1,H=()=>{let _=this.keepXYWithinBounds($,Y.top-Q.top,0),z=$.clientWidth>0?$.clientWidth:200;if(!q)$.style.minWidth=`${z}px`,q=!0;let W=Q.right-Q.left-z,G;if(this.gos.get("enableRtl")){if(G=K(),G<0)G=B(),this.setAlignedStyles($,"left");if(G>W)G=0,this.setAlignedStyles($,"right")}else{if(G=B(),G>W)G=K(),this.setAlignedStyles($,"right");if(G<0)G=0,this.setAlignedStyles($,"left")}return{x:G,y:_};function B(){return Y.right-Q.left-2}function K(){return Y.left-Q.left-z}};this.positionPopup({ePopup:$,keepWithinBounds:!0,updatePosition:H,postProcessCallback:()=>this.callPostProcessPopup(J.additionalParams,"subMenu",$,Z,X instanceof MouseEvent?X:void 0)})}shouldRenderUnderOrAbove(J,Z,$,X){let Y=$.bottom-Z.bottom,Q=Z.top-$.top,q=J.offsetHeight+X;if(Y>q)return"under";if(Q>q||Q>Y)return"above";return"under"}setAlignedStyles(J,Z){let $=this.getPopupIndex(J);if($===-1)return;let X=this.popupList[$],{alignedToElement:Y}=X;if(!Y)return;let Q=["right","left","over","above","under"];for(let q of Q)Y.classList.remove(`ag-has-popup-positioned-${q}`),J.classList.remove(`ag-popup-positioned-${q}`);if(!Z)return;Y.classList.add(`ag-has-popup-positioned-${Z}`),J.classList.add(`ag-popup-positioned-${Z}`)}setAlignedTo(J,Z){let $=this.getPopupIndex(Z);if($!==-1){let X=this.popupList[$];X.alignedToElement=J}}positionPopup(J){let{ePopup:Z,keepWithinBounds:$,nudgeX:X,nudgeY:Y,skipObserver:Q,updatePosition:q}=J,H={width:0,height:0},_=(z=!1)=>{let{x:U,y:W}=q();if(z&&Z.clientWidth===H.width&&Z.clientHeight===H.height)return;if(H.width=Z.clientWidth,H.height=Z.clientHeight,X)U+=X;if(Y)W+=Y;if($)U=this.keepXYWithinBounds(Z,U,1),W=this.keepXYWithinBounds(Z,W,0);if(Z.style.left=`${U}px`,Z.style.top=`${W}px`,J.postProcessCallback)J.postProcessCallback()};if(_(),!Q){let z=DZ(this.beans,Z,()=>_(!0));setTimeout(()=>z(),bE)}}getParentRect(){let J=qJ(this.beans),Z=this.getPopupParent();if(Z===J.body)Z=J.documentElement;else if(getComputedStyle(Z).position==="static")Z=Z.offsetParent;return bX(Z)}keepXYWithinBounds(J,Z,$){let X=$===0,Y=X?"clientHeight":"clientWidth",Q=X?"top":"left",q=X?"height":"width",H=X?"scrollTop":"scrollLeft",_=qJ(this.beans),z=_.documentElement,U=this.getPopupParent(),W=J.getBoundingClientRect(),G=U.getBoundingClientRect(),B=_.documentElement.getBoundingClientRect(),K=U===_.body,E=Math.ceil(W[q]),F=K?(X?vX:IX)(z)+z[H]:U[Y];if(K)F-=Math.abs(B[Q]-G[Q]);let D=F-E;return Math.min(Math.max(Z,0),Math.max(D,0))}addPopup(J){let{eChild:Z,ariaLabel:$,ariaOwns:X,alwaysOnTop:Y,positionCallback:Q,anchorToElement:q}=J,H=this.getPopupIndex(Z);if(H!==-1)return{hideFunc:this.popupList[H].hideFunc};this.initialisePopupPosition(Z);let _=this.createPopupWrapper(Z,!!Y,$,X),z=this.addEventListenersToPopup({...J,wrapperEl:_});if(Q)Q();return this.addPopupToPopupList(Z,_,z,q),{hideFunc:z}}initialisePopupPosition(J){let $=this.getPopupParent().getBoundingClientRect();if(!T(J.style.top))J.style.top=`${$.top*-1}px`;if(!T(J.style.left))J.style.left=`${$.left*-1}px`}createPopupWrapper(J,Z,$,X){let Y=this.getPopupParent(),{environment:Q,gos:q}=this.beans,H=EJ({tag:"div"});if(Q.applyThemeClasses(H),H.classList.add("ag-popup"),J.classList.add(q.get("enableRtl")?"ag-rtl":"ag-ltr","ag-popup-child"),!J.hasAttribute("role"))zJ(J,"dialog");if($)KJ(J,$);else if(X)J.id||(J.id=`popup-component-${m5}`),H$(X,J.id);if(H.appendChild(J),Y.appendChild(H),Z)this.setAlwaysOnTop(J,!0);else this.bringPopupToFront(J);return H}addEventListenersToPopup(J){let Z=this.beans,$=qJ(Z),{wrapperEl:X,eChild:Y,closedCallback:Q,afterGuiAttached:q,closeOnEsc:H,modal:_,ariaOwns:z}=J,U=!1,W=(E)=>{if(!X.contains(n(Z)))return;if(E.key===V.ESCAPE&&!this.isStopPropagation(E))K({keyboardEvent:E})},G=(E)=>K({mouseEvent:E}),B=(E)=>K({touchEvent:E}),K=(E={})=>{let{mouseEvent:L,touchEvent:F,keyboardEvent:D,forceHide:k}=E;if(!k&&(this.isEventFromCurrentPopup({mouseEvent:L,touchEvent:F},Y)||U))return;if(U=!0,X.remove(),$.removeEventListener("keydown",W),$.removeEventListener("mousedown",G),$.removeEventListener("touchstart",B),$.removeEventListener("contextmenu",G),this.eventSvc.removeListener("dragStarted",G),Q)Q(L||F||D);this.removePopupFromPopupList(Y,z)};if(q)q({hidePopup:K});return window.setTimeout(()=>{if(H)$.addEventListener("keydown",W);if(_)$.addEventListener("mousedown",G),this.eventSvc.addListener("dragStarted",G),$.addEventListener("touchstart",B),$.addEventListener("contextmenu",G)},0),K}addPopupToPopupList(J,Z,$,X){if(this.popupList.push({element:J,wrapper:Z,hideFunc:$,instanceId:m5,isAnchored:!!X}),X)this.setPopupPositionRelatedToElement(J,X);m5=m5+1}getPopupIndex(J){return this.popupList.findIndex((Z)=>Z.element===J)}setPopupPositionRelatedToElement(J,Z){let $=this.getPopupIndex(J);if($===-1)return;let X=this.popupList[$];if(X.stopAnchoringPromise)X.stopAnchoringPromise.then((Q)=>Q&&Q());if(X.stopAnchoringPromise=void 0,X.isAnchored=!1,!Z)return;let Y=this.keepPopupPositionedRelativeTo({element:Z,ePopup:J,hidePopup:X.hideFunc});return X.stopAnchoringPromise=Y,X.isAnchored=!0,Y}removePopupFromPopupList(J,Z){if(this.setAlignedStyles(J,null),this.setPopupPositionRelatedToElement(J,null),Z)H$(Z,null);this.popupList=this.popupList.filter(($)=>$.element!==J)}keepPopupPositionedRelativeTo(J){let Z=this.getPopupParent(),$=Z.getBoundingClientRect(),{element:X,ePopup:Y}=J,Q=X.getBoundingClientRect(),q=(W)=>Number.parseInt(W.substring(0,W.length-1),10),H=(W,G)=>{let B=$[W]-Q[W],K=q(Y.style[W]);return{initialDiff:B,lastDiff:B,initial:K,last:K,direction:G}},_=H("top",0),z=H("left",1),U=this.beans.frameworkOverrides;return new g((W)=>{U.wrapIncoming(()=>{lH(()=>{let G=Z.getBoundingClientRect(),B=X.getBoundingClientRect();if(B.top==0&&B.left==0&&B.height==0&&B.width==0){J.hidePopup();return}let E=(L,F)=>{let D=q(Y.style[F]);if(L.last!==D)L.initial=D,L.last=D;let k=G[F]-B[F];if(k!=L.lastDiff){let j=this.keepXYWithinBounds(Y,L.initial+L.initialDiff-k,L.direction);Y.style[F]=`${j}px`,L.last=j}L.lastDiff=k};E(_,"top"),E(z,"left")},200).then((G)=>{W(()=>{if(G!=null)window.clearInterval(G)})})},"popupPositioning")})}isEventFromCurrentPopup(J,Z){let{mouseEvent:$,touchEvent:X}=J,Y=$?$:X;if(!Y)return!1;let Q=this.getPopupIndex(Z);if(Q===-1)return!1;for(let q=Q;qJ.element)}hasAnchoredPopup(){return this.popupList.some((J)=>J.isAnchored)}isStopPropagation(J){return ZZ(J)}},d0={moduleName:"Popup",version:p,beans:[xE]};function K6(J){return J.get("tooltipShowMode")==="whenTruncated"}function n6(J,Z){return K6(J)?i2(Z):void 0}var yE=(J,Z)=>{let $=J;if(typeof $.getTranslatedMessage==="function")return $.getTranslatedMessage(Z);return J.message},D8=(J,Z,$)=>{let{editModelSvc:X}=J,Y=X?.getCellValidationModel()?.getCellValidation(Z)?.errorMessages,Q=X?.getRowValidationModel().getRowValidation(Z)?.errorMessages,q=Y||Q;return q?.length?q.join($("tooltipValidationErrorSeparator",". ")):void 0},NE=(J,Z)=>{if(!K6(J.gos))return;if(Z.isCellRenderer()){let X=Z.column.getColDef();if(!(!!X.showRowGroup||X.cellRenderer==="agGroupCellRenderer"))return;return i2(()=>{let Q=Z.eGui;return Q.querySelector(".ag-group-value")||Q.querySelector(".ag-cell-value")||Q})}return i2(()=>{let X=Z.eGui;return X.children.length===0?X:X.querySelector(".ag-cell-value")})},wE=(J,Z,$)=>{let{editSvc:X}=J,{column:Y}=Z,Q=NE(J,Z),q=()=>{if(X?.isEditing(Z))return!1;if(!Q)return!0;if(!Y.isTooltipEnabled())return!1;return Q()};return{shouldDisplayDefault:q,shouldDisplayColumnTooltip:q,shouldDisplayCustomTooltip:$??q}},gE=({beans:J,ctrl:Z,value:$,displayFunctions:X,translate:Y})=>{let{editSvc:Q,formula:q,gos:H}=J,{column:_,rowNode:z}=Z;if(q?.active&&_.isAllowFormula()){let L=q.getFormulaError(_,z);if(L)return{value:yE(L,Y),location:"cellFormula",shouldDisplay:()=>!!q?.getFormulaError(_,z)}}if(!Q?.isEditing(Z)){let L=D8(J,Z,Y);if(L)return{value:L,location:"cellEditor",shouldDisplay:()=>!Q?.isEditing(Z)&&!!D8(J,Z,Y)}}let{shouldDisplayCustomTooltip:W,shouldDisplayColumnTooltip:G}=X;if($!=null)return{value:$,location:"cell",shouldDisplay:W};let B=_.getColDef(),K=z.data;if(B.tooltipField&&T(K))return{value:h2(K,B.tooltipField,_.isTooltipFieldContainsDots()),location:"cell",shouldDisplay:G};let E=B.tooltipValueGetter;if(E)return{value:E(x(H,{location:"cell",colDef:_.getColDef(),column:_,rowIndex:Z.cellPosition.rowIndex,node:z,data:z.data,value:Z.value,valueFormatted:Z.valueFormatted})),location:"cell",shouldDisplay:G};return null},hE=class extends M{constructor(){super(...arguments);this.beanName="tooltipSvc"}setupHeaderTooltip(J,Z,$,X){if(J)Z.destroyBean(J);let Y=this.gos,Q=K6(Y),{column:q,eGui:H}=Z,_=q.getColDef();if(!X&&Q&&!_.headerComponent)X=i2(()=>H.querySelector(".ag-header-cell-text"));let z="header",U="header",W=this.beans.colNames.getDisplayNameForColumn(q,U,!0),G=$??W,B={getGui:()=>H,getLocation:()=>z,getTooltipValue:()=>$??_?.headerTooltipValueGetter?.(x(Y,{location:z,colDef:_,column:q,value:G,valueFormatted:W}))??_?.headerTooltip,shouldDisplayTooltip:X,getAdditionalParams:()=>({column:q,colDef:q.getColDef()})},K=this.createTooltipFeature(B);if(K)K=Z.createBean(K),Z.setRefreshFunction("tooltip",()=>K.refreshTooltip());return K}setupHeaderGroupTooltip(J,Z,$,X){if(J)Z.destroyBean(J);let Y=this.gos,Q=K6(Y),{column:q,eGui:H}=Z,_=q.getColGroupDef();if(!X&&Q&&!_?.headerGroupComponent)X=i2(()=>H.querySelector(".ag-header-group-text"));let z="headerGroup",U="header",W=this.beans.colNames.getDisplayNameForColumnGroup(q,U),G=$??W,B={getGui:()=>H,getLocation:()=>z,getTooltipValue:()=>$??_?.headerTooltipValueGetter?.(x(Y,{location:z,colDef:_,column:q,value:G,valueFormatted:W}))??_?.headerTooltip,shouldDisplayTooltip:X,getAdditionalParams:()=>{let E={column:q};if(_)E.colDef=_;return E}},K=this.createTooltipFeature(B);return K?Z.createBean(K):K}enableCellTooltipFeature(J,Z,$){let{beans:X}=this,{column:Y,rowNode:Q}=J,q=wE(X,J,$),H=this.getLocaleTextFunc(),_=null,z=()=>{return _=gE({beans:X,ctrl:J,value:Z,displayFunctions:q,translate:H}),_},W={getGui:()=>J.eGui,getLocation:()=>_?.location??"cell",getTooltipValue:()=>z()?.value,shouldDisplayTooltip:()=>{let G=_??z();if(!G)return!1;return G.shouldDisplay?G.shouldDisplay():!0},getAdditionalParams:()=>({column:Y,colDef:Y.getColDef(),rowIndex:J.cellPosition.rowIndex,node:Q,data:Q.data,valueFormatted:J.valueFormatted})};return this.createTooltipFeature(W,X)}setupFullWidthRowTooltip(J,Z,$,X){let Y={getGui:()=>Z.getFullWidthElement(),getTooltipValue:()=>$,getLocation:()=>"fullWidthRow",shouldDisplayTooltip:X},Q=this.beans,q=Q.context;if(J)Z.destroyBean(J,q);let H=this.createTooltipFeature(Y,Q);if(!H)return;return Z.createBean(H,q)}setupCellEditorTooltip(J,Z){let{beans:$}=this,{context:X}=$,Y=Z.getValidationElement?.(!0)||!Z.isPopup?.()&&J.eGui;if(!Y)return;let Q={getGui:()=>Y,getTooltipValue:()=>D8($,J,this.getLocaleTextFunc()),getLocation:()=>"cellEditor",shouldDisplayTooltip:()=>{let{editModelSvc:H}=$,_=H?.getRowValidationModel()?.getRowValidationMap(),z=H?.getCellValidationModel()?.getCellValidationMap(),U=!!_&&_.size>0,W=!!z&&z.size>0;return U||W}},q=this.createTooltipFeature(Q,$);if(!q)return;return J.createBean(q,X)}initCol(J){let{colDef:Z}=J;J.tooltipEnabled=T(Z.tooltipField)||T(Z.tooltipValueGetter)||T(Z.tooltipComponent)}createTooltipFeature(J,Z){return this.beans.registry.createDynamicBean("tooltipFeature",!1,J,Z)}},uE=class extends PE{createTooltipComp(J,Z){R_(this.beans.userCompFactory,J)?.newAgStackInstance().then(Z)}setEventHandlers(J){[this.onColumnMovedEventCallback]=this.addManagedEventListeners({columnMoved:J})}clearEventHandlers(){this.onColumnMovedEventCallback?.(),this.onColumnMovedEventCallback=void 0}},mE={moduleName:"Tooltip",version:p,beans:[hE],dynamicBeans:{tooltipFeature:Z4,highlightTooltipFeature:TE,tooltipStateManager:uE},userComponents:{agTooltipComponent:vE},dependsOn:[d0],css:[IE]};var cE=".ag-cell-inline-editing{border:var(--ag-cell-editing-border)!important;border-radius:var(--ag-border-radius);box-shadow:var(--ag-cell-editing-shadow);padding:0;z-index:1;.ag-cell-edit-wrapper,.ag-cell-editor,.ag-cell-wrapper,:where(.ag-cell-editor) .ag-input-field-input,:where(.ag-cell-editor) .ag-wrapper{height:100%;line-height:normal;min-height:100%;width:100%}&.ag-cell-editing-error{border-color:var(--ag-invalid-color)!important}}:where(.ag-popup-editor) .ag-large-text{background-color:var(--ag-background-color);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dropdown-shadow);padding:0}.ag-large-text-input{display:block;height:auto;padding:var(--ag-cell-horizontal-padding)}:where(.ag-rtl .ag-large-text-input) .ag-text-area-input{resize:none}:where(.ag-ltr) .ag-checkbox-edit{padding-left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-checkbox-edit{padding-right:var(--ag-cell-horizontal-padding)}:where(.ag-row.ag-row-editing-invalid .ag-cell-inline-editing){opacity:.8}.ag-popup-editor{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}";var pE=class extends V1{constructor(J,Z="ag-text-field",$="text"){super(J,Z,$)}postConstruct(){if(super.postConstruct(),this.config.allowedCharPattern)this.preventDisallowedCharacters()}setValue(J,Z){let $=this.eInput;if($.value!==J)$.value=T(J)?J:"";return super.setValue(J,Z)}setStartValue(J){this.setValue(J,!0)}setCustomValidity(J){let Z=this.eInput,$=J.length>0;if(Z.setCustomValidity(J),$)Z.reportValidity();jX(Z,$)}preventDisallowedCharacters(){let J=new RegExp(`[${this.config.allowedCharPattern}]`),Z=($)=>{if(!tY($))return;if($.key&&!J.test($.key))$.preventDefault()};this.addManagedListeners(this.eInput,{keydown:Z,paste:($)=>{if($.clipboardData?.getData("text")?.split("").some((Y)=>!J.test(Y)))$.preventDefault()}})}},S9={selector:"AG-INPUT-TEXT-FIELD",component:pE};var iE=class extends x_{constructor(J){super();this.cellEditorInput=J,this.eEditor=S}initialiseEditor(J){let{cellEditorInput:Z}=this;this.setTemplate({tag:"div",cls:"ag-cell-edit-wrapper",children:[Z.getTemplate()]},Z.getAgComponents());let{eEditor:$}=this,{cellStartedEdit:X,eventKey:Y,suppressPreventDefault:Q}=J;$.getInputElement().setAttribute("title",""),Z.init($,J);let q,H=!0;if(X){if(this.focusAfterAttached=!0,Y===V.BACKSPACE||Y===V.DELETE)q="";else if(Y&&Y.length===1)if(Q)H=!1;else q=Y;else if(q=Z.getStartValue(),Y!==V.F2)this.highlightAllOnFocus=!0}else this.focusAfterAttached=!1,q=Z.getStartValue();if(H&&q!=null)$.setStartValue(q);this.addGuiEventListener("keydown",(_)=>{let{key:z}=_;if(z===V.PAGE_UP||z===V.PAGE_DOWN)_.preventDefault()})}afterGuiAttached(){let J=this.getLocaleTextFunc(),Z=this.eEditor;if(Z.setInputAriaLabel(J("ariaInputEditor","Input Editor")),!this.focusAfterAttached)return;if(!c0())Z.getFocusableElement().focus();let $=Z.getInputElement();if(this.highlightAllOnFocus)$.select();else this.cellEditorInput.setCaret?.()}focusIn(){let{eEditor:J}=this,Z=J.getFocusableElement(),$=J.getInputElement();Z.focus(),$.select()}getValue(){return this.cellEditorInput.getValue()}agSetEditValue(J){this.params.value=J;let Z=this.cellEditorInput.getStartValue();this.eEditor.setStartValue(Z??null)}isPopup(){return!1}getValidationElement(){return this.eEditor.getInputElement()}getValidationErrors(){return this.cellEditorInput.getValidationErrors()}};var dE={tag:"ag-input-text-field",ref:"eEditor",cls:"ag-cell-editor"},nE=class{constructor(J){this.getLocaleTextFunc=J}getTemplate(){return dE}getAgComponents(){return[S9]}init(J,Z){this.eEditor=J,this.params=Z;let $=Z.maxLength;if($!=null)J.setMaxLength($)}getValidationErrors(){let{params:J}=this,{maxLength:Z,getValidationErrors:$}=J,X=this.getValue(),Y=this.getLocaleTextFunc(),Q=[];if(Z!=null&&typeof X==="string"&&X.length>Z)Q.push(Y("maxLengthValidation",`Must be ${Z} characters or fewer.`,[String(Z)]));if(!Q.length)Q=null;if($)return $({value:X,cellEditorParams:J,internalErrors:Q});return Q}getValue(){let{eEditor:J,params:Z}=this,$=J.getValue();if(!T($)&&!T(Z.value))return Z.value;return Z.parseValue($)}getStartValue(){let J=this.params;return J.useFormatter||J.column.getColDef().refData?J.formatValue(J.value):J.value}setCaret(){if(c0())this.eEditor.getInputElement().focus({preventScroll:!0});let J=this.eEditor,Z=J.getValue(),$=T(Z)&&Z.length||0;if($)J.getInputElement().setSelectionRange($,$)}},WX=class extends iE{constructor(){super(new nE(()=>this.getLocaleTextFunc()))}};function sE(J,Z){return J.editModelSvc?.getEditRowDataValue(Z,{checkSiblings:!0})}function rE(J){let Z=J.editModelSvc?.getEditMap(),$=[];return Z?.forEach((X,Y)=>{let{rowIndex:Q,rowPinned:q}=Y;X.forEach((H,_)=>{let{editorValue:z,pendingValue:U,sourceValue:W,state:G}=H,B=BZ(H),K=z??U;if(K===PJ)K=void 0;let E={newValue:K,oldValue:W,state:G,column:_,colId:_.getColId(),colKey:_.getColId(),rowIndex:Q,rowPinned:q},L=G==="editing";if(L||!L&&B)$.push(E)})}),$}function tE(J,Z=!1){let{editSvc:$}=J;if($?.isBatchEditing()){if(Z){for(let X of J.editModelSvc?.getEditPositions()??[])if(X.state==="editing")$.revertSingleCellEdit(X)}else J0(J,{persist:!0});eZ(J,void 0,{cancel:Z})}else $?.stopEditing(void 0,{cancel:Z,source:"edit",forceStop:!Z,forceCancel:Z})}function lE(J,Z){let $=t(J,Z);return!!J.editSvc?.isEditing($)}function aE(J,Z){let{key:$,colKey:X,rowIndex:Y,rowPinned:Q}=Z,{editSvc:q,colModel:H}=J,_=H.getCol(X);if(!_){O(12,{colKey:X});return}let U=kJ(J,{rowIndex:Y,rowPinned:Q||null,column:_});if(!U){O(290,{rowIndex:Y,rowPinned:Q});return}if(!q?.isCellEditable({rowNode:U,column:_},"api"))return;if(Q==null)ZE(J,Y);JE(J,X),q?.startEditing({rowNode:U,column:_},{event:$?new KeyboardEvent("keydown",{key:$}):void 0,source:"api",editable:!0})}function oE(J){return J.editSvc?.validateEdit()||null}var eE={tag:"div",cls:"ag-popup-editor",attrs:{tabindex:"-1"}},JL=class extends r8{constructor(J){super(eE);this.params=J}postConstruct(){N0(this.gos,this.getGui(),"popupEditorWrapper",!0),this.addKeyDownListener()}addKeyDownListener(){let J=this.getGui(),Z=this.params,$=(X)=>{if(!_8(this.gos,X,Z.node,Z.column,!0))Z.onKeyDown(X)};this.addManagedElementListeners(J,{keydown:$})}};function ZL(J,{column:Z},$,X,Y="ui"){if($ instanceof KeyboardEvent&&($.key===V.TAB||$.key===V.ENTER||$.key===V.F2||$.key===V.BACKSPACE&&X))return!0;if($?.shiftKey&&J.rangeSvc?.getCellRanges().length!=0)return!1;let q=Z?.getColDef(),H=$L(J.gos,q),_=$?.type;if(_==="click"&&$?.detail===1&&H===1)return!0;if(_==="dblclick"&&$?.detail===2&&H===2)return!0;if(Y==="api")return!!X;return!1}function $L(J,Z){if(J.get("suppressClickEdit")===!0)return 0;if(J.get("singleClickEdit")===!0)return 1;if(Z?.singleClickEdit)return 1;return 2}function s7(J,Z){return J.editModelSvc?.hasEdits(Z,{withOpenEditor:!0})??!1}function k8(J,Z){let{column:$,rowNode:X}=Z,Y=$.getColDef();if(!X)return s7(J,Z);let Q=Y.editable;if(X.group&&Y.groupRowEditable!=null){if(J.rowGroupingEditValueSvc?.isGroupCellEditable(X,$))return!0;return s7(J,Z)}if($.isColumnFunc(X,Q))return!0;return s7(J,Z)}function XL(J,Z,$="ui"){let X=k8(J,Z);if(X||$==="ui")return X;let{rowNode:Y,column:Q}=Z;for(let q of J.colModel.getCols())if(q!==Q&&k8(J,{rowNode:Y,column:q}))return!0;return!1}var E6=(J,Z=!1)=>{if(J!==void 0)return BZ(J)||Z&&J.state==="editing"};function $4(J,Z,$=!1){return E6(J.editModelSvc?.getEdit(Z),$)}var X4=(J,Z,$)=>{if(!J)return;for(let X=0,Y=J.length;X{let _={rowNode:X,column:H};return $4($,_,!0)||Y4($,_)||Q4($,_)});this.applyStyle(Q,q);return}this.applyStyle(Q)}applyStyle(J=!1,Z=!1){let $=!!this.editSvc?.isBatchEditing(),X=this.gos.get("editType")==="fullRow";this.rowCtrl?.forEachGui(void 0,({rowComp:Y})=>{Y.toggleCss("ag-row-editing",X&&Z),Y.toggleCss("ag-row-batch-edit",X&&Z&&$),Y.toggleCss("ag-row-inline-editing",Z),Y.toggleCss("ag-row-not-inline-editing",!Z),Y.toggleCss("ag-row-editing-invalid",X&&Z&&J)})}},qL=({rowModel:J,pinnedRowModel:Z,editModelSvc:$},X)=>{let Y=new Set;J.forEachNode((Q)=>X.has(Q)&&Y.add(Q)),Z?.forEachPinnedRow("top",(Q)=>X.has(Q)&&Y.add(Q)),Z?.forEachPinnedRow("bottom",(Q)=>X.has(Q)&&Y.add(Q));for(let Q of X)if(!Y.has(Q))$.removeEdits({rowNode:Q});return Y},HL=({editModelSvc:J},Z,$)=>{for(let X of Z)J?.getEditRow(X)?.forEach((Y,Q)=>!$.has(Q)&&J.removeEdits({rowNode:X,column:Q}))},_L=(J)=>()=>{let Z=new Set(J.colModel.getCols()),$=J.editModelSvc.getEditMap(!0),X=new Set($.keys());HL(J,qL(J,X),Z)},zL=new Set(["undo","redo","paste","bulk","rangeSvc"]),UL=new Set(["ui","api"]),q4={paste:"api",rangeSvc:"api",fillHandle:"api",cellClear:"api",bulk:"api"},WL=new Set(Object.keys(q4)),GL=new Set(["paste","rangeSvc","cellClear","redo","undo"]),r7={cancel:!0,source:"api"},BL={cancel:!1,source:"api"},O0={checkSiblings:!0},lZ={force:!0,suppressFlash:!0},KL={force:!0},EL=class extends M{constructor(){super(...arguments);this.beanName="editSvc",this.committing=!1,this.batch=!1,this.batchStartDispatched=!1,this.stopping=!1,this.rangeSelectionWhileEditing=0}postConstruct(){let{beans:J}=this;this.model=J.editModelSvc,this.valueSvc=J.valueSvc,this.rangeSvc=J.rangeSvc,this.addManagedPropertyListener("editType",({currentValue:X})=>{this.stopEditing(void 0,r7),this.createStrategy(X)});let Z=_L(J),$=()=>{let X=this.model.getCellValidationModel().getCellValidationMap().size>0,Y=this.model.getRowValidationModel().getRowValidationMap().size>0;if(X||Y)this.stopEditing(void 0,r7);else if(this.isEditing())if(this.batch)eZ(J,this.model.getEditPositions());else this.stopEditing(void 0,BL);return!1};this.addManagedEventListeners({columnPinned:Z,columnVisible:Z,columnRowGroupChanged:Z,rowExpansionStateChanged:Z,pinnedRowsChanged:Z,displayedRowsChanged:Z,sortChanged:$,filterChanged:$,cellFocused:this.onCellFocused.bind(this)})}isBatchEditing(){return this.batch}startBatchEditing(){if(this.batch)return;this.batch=!0,this.batchStartDispatched=!1,this.stopEditing(void 0,r7)}stopBatchEditing(J){if(!this.batch)return;if(J)this.stopEditing(void 0,J);if(this.batchStartDispatched)this.dispatchBatchStopped(new Map,!1);this.batch=!1,this.batchStartDispatched=!1}ensureBatchStarted(){if(!this.batch||this.batchStartDispatched)return;this.batchStartDispatched=!0,this.dispatchBatchEvent("batchEditingStarted",new Map)}createStrategy(J){let{beans:Z,gos:$,strategy:X}=this,Y=GX($,J);if(X){if(X.beanName===Y)return X;this.destroyStrategy()}return this.strategy=this.createOptionalManagedBean(Z.registry.createDynamicBean(Y,!0))}destroyStrategy(){if(!this.strategy)return;this.strategy.destroy(),this.strategy=this.destroyBean(this.strategy)}shouldStartEditing(J,Z,$,X="ui"){let Y=ZL(this.beans,J,Z,$,X);if(Y)this.strategy??(this.strategy=this.createStrategy());return Y}shouldStopEditing(J,Z,$="ui"){return this.strategy?.shouldStop(J,Z,$)??null}shouldCancelEditing(J,Z,$="ui"){return this.strategy?.shouldCancel(J,Z,$)??null}validateEdit(){return T3(this.beans)}isEditing(J,Z){return this.model.hasEdits(J??void 0,Z??O0)}isRowEditing(J,Z){return!!J&&this.model.hasRowEdits(J,Z)}enableRangeSelectionWhileEditing(){if(this.beans.rangeSvc&&this.gos.get("cellSelection"))this.rangeSelectionWhileEditing++}disableRangeSelectionWhileEditing(){this.rangeSelectionWhileEditing=Math.max(0,this.rangeSelectionWhileEditing-1)}isRangeSelectionEnabledWhileEditing(){return this.rangeSelectionWhileEditing>0}startEditing(J,Z){let{startedEdit:$=!0,event:X=null,source:Y="ui",ignoreEventKey:Q=!1,silent:q}=Z;if(this.strategy??(this.strategy=this.createStrategy()),!(Z.editable??this.isCellEditable(J,"api")))return;let _=t(this.beans,J);if(_&&!_.comp){Z.editable=void 0,_.onCompAttachedFuncs.push(()=>this.startEditing(J,Z));return}let z=this.shouldStartEditing(J,X,$,Y);if(z===!1&&Y!=="api"){if(this.isEditing(J))this.stopEditing();return}if(!this.batch&&this.shouldStopEditing(J,void 0,Y)&&!Z.continueEditing)this.stopEditing(void 0,{source:Y});if(z)this.ensureBatchStarted();this.strategy.start({position:J,event:X,source:Y,ignoreEventKey:Q,startedEdit:$,silent:q})}stopEditing(J,Z){let $=this.prepareStopContext(J,Z);if(!$)return!1;this.stopping=!0;let X=!1,{edits:Y}=$;try{let Q=this.processStopRequest($);return X||(X=Q.res),Y=Q.edits,this.finishStopEditing({...$,edits:Y,params:Z,position:J,res:X}),X}finally{this.rangeSelectionWhileEditing=0,this.stopping=!1}}prepareStopContext(J,Z){let{event:$=null,cancel:X=!1,source:Y="ui",forceCancel:Q=!1,forceStop:q=!1,commit:H=!1}=Z||{};if(WL.has(Y)&&this.batch){if(J?.rowNode&&J?.column)this.bulkRefreshCell(J);return null}let _=this.committing?q4[Y]:Y;if(!(this.committing||this.isEditing(J)||this.batch&&this.model.hasEdits(J,O0))||!this.strategy||this.stopping)return null;let U=t(this.beans,J);if(U)U.onEditorAttachedFuncs=[];let W=!X&&(!!this.shouldStopEditing(J,$,_)||(this.committing||Y==="paste")&&!this.batch)||q,G=X&&!!this.shouldCancelEditing(J,$,_)||Q;return{cancel:X,cellCtrl:U,edits:this.model.getEditMap(!0),event:$??null,forceCancel:Q,forceStop:q,commit:H,position:J,source:Y,treatAsSource:_,willCancel:G,willStop:W}}processStopRequest(J){let{event:Z,position:$,willCancel:X,willStop:Y}=J;if(Y||X)return this.handleStopOrCancel(J);if(this.shouldHandleMidBatchKey(Z,$))return{res:!1,edits:this.handleMidBatchKey(Z,$,J)};if(J0(this.beans,{persist:!0}),this.batch)this.strategy?.cleanupEditors($);return{res:!1,edits:this.model.getEditMap()}}handleStopOrCancel(J){let{beans:Z,model:$}=this,{cancel:X,commit:Y,edits:Q,event:q,source:H,willCancel:_,willStop:z}=J,U=!this.batch||!_;J0(Z,{persist:U,isCancelling:_||X,isStopping:z});let W=$.getEditMap(),B=!_&&(!this.batch||Y)?this.processEdits(W,H):[];if(X)this.strategy?.stopCancelled(J.forceCancel);else this.strategy?.stopCommitted(q,Y);this.clearValidationIfNoOpenEditors();for(let K of B)$.clearEditValue(K);this.bulkRefreshMap(Q);for(let K of $.getEditPositions(W)){let E=t(Z,K),L=BZ(K);E?.refreshCell({force:!0,suppressFlash:!L})}return{res:z,edits:W}}shouldHandleMidBatchKey(J,Z){return J instanceof KeyboardEvent&&this.batch&&!!this.strategy?.midBatchInputsAllowed(Z)&&this.isEditing(Z,{withOpenEditor:!0})}handleMidBatchKey(J,Z,$){let{beans:X,model:Y}=this,{cellCtrl:Q,edits:q}=$,{key:H}=J,_=H===V.ENTER,z=H===V.ESCAPE,U=H===V.TAB;if(_||U||z){if(_||U)J0(X,{persist:!0});else if(z&&Q){let{rowNode:W,column:G}=Q;if(this.batch&&W&&G){let B={rowNode:W,column:G};eZ(X,[B],{silent:!0}),this.model.stop(B,!0,!0),t(X,B)?.refreshCell(lZ)}else this.revertSingleCellEdit(Q)}if(this.batch)this.strategy?.cleanupEditors();else eZ(X,Y.getEditPositions(),{event:J,cancel:z});return J.preventDefault(),this.bulkRefreshMap(q,{suppressFlash:!0}),Y.getEditMap()}return q}finishStopEditing({cellCtrl:J,edits:Z,params:$,position:X,res:Y,commit:Q,forceCancel:q,willCancel:H,willStop:_}){let z=this.beans;if(Y&&X){if(!this.batch||Q)this.model.removeEdits(X)}this.navigateAfterEdit($,J?.cellPosition),y2(z),this.clearValidationIfNoOpenEditors();let{rowRenderer:U,formula:W}=z;if(H)U.refreshRows({rowNodes:Array.from(Z.keys())});if(this.batch){if(W)W.refreshFormulas(!0);else U.refreshRows({suppressFlash:!0,force:!0});let G=_&&Q;if(G||H&&q)this.dispatchBatchStopped(Z,G)}}dispatchBatchStopped(J,Z){let $;if(Z){if($=j3(J),$.size>0)this.ensureBatchStarted()}if(this.batchStartDispatched)this.batchStartDispatched=!1,this.dispatchBatchEvent("batchEditingStopped",$??new Map)}clearValidationIfNoOpenEditors(){if(!this.model.hasEdits(void 0,{withOpenEditor:!0}))this.model.getCellValidationModel().clearCellValidationMap(),this.model.getRowValidationModel().clearRowValidationMap()}navigateAfterEdit(J,Z){if(!J||!Z)return;let{event:$,suppressNavigateAfterEdit:X}=J;if(!($ instanceof KeyboardEvent)||X)return;let{key:Q,shiftKey:q}=$,H=this.gos.get("enterNavigatesVerticallyAfterEdit");if(Q!==V.ENTER||!H)return;let _=q?V.UP:V.DOWN;this.beans.navigation?.navigateToNextCell(null,_,Z,!1)}processEdits(J,Z){let $=Array.from(J.keys()),X=this.model.getCellValidationModel().getCellValidationMap().size>0||this.model.getRowValidationModel().getRowValidationMap().size>0,Y=[],{changeDetectionSvc:Q}=this.beans;Q?.beginDeferred();try{for(let q of $){let H=J.get(q);for(let _ of H.keys()){let z=H.get(_),U={rowNode:q,column:_};if(BZ(z)&&!X){let W=t(this.beans,U);if(!this.setNodeDataValue(q,_,z.pendingValue,W,Z))Y.push(U)}}}}finally{Q?.endDeferred()}return Y}setNodeDataValue(J,Z,$,X,Y="edit"){let Q=UL.has(Y)?"edit":Y;if(X)X.suppressRefreshCell=!0;this.committing=!0;try{return J.setDataValue(Z,$,Q)}finally{if(this.committing=!1,X)X.suppressRefreshCell=!1}}syncEditAfterCommit(J,Z){let $=this.model.getEdit(J);if($&&$.state!=="editing")if(Z)this.beans.editModelSvc?.setEdit(J,{sourceValue:$.pendingValue});else this.model.clearEditValue(J)}setEditMap(J,Z){this.strategy??(this.strategy=this.createStrategy()),this.strategy?.setEditMap(J,Z),this.bulkRefreshMap(J);let $=lZ;if(Z?.forceRefreshOfEditCellsOnly)$={...LL(J),...lZ};this.beans.rowRenderer.refreshCells($)}dispatchEditValuesChanged({rowNode:J,column:Z},$={}){if(!J||!Z||!$)return;let{pendingValue:X,sourceValue:Y}=$,{rowIndex:Q,rowPinned:q,data:H}=J;this.beans.eventSvc.dispatchEvent({type:"cellEditValuesChanged",node:J,rowIndex:Q,rowPinned:q,column:Z,source:"api",data:H,newValue:X,oldValue:Y,value:X,colDef:Z.getColDef()})}bulkRefreshCell(J,Z){if(o(this.gos,this.beans.rowModel))this.refCell(J,this.model.getEdit(J),Z)}bulkRefreshMap(J,Z){if(o(this.gos,this.beans.rowModel))J.forEach(($,X)=>{for(let Y of $.keys())this.refCell({rowNode:X,column:Y},$.get(Y),Z)})}refCell({rowNode:J,column:Z},$,X={}){let{beans:Y,gos:Q}=this,q=new Set([J]),H=new Set,_=J.pinnedSibling;if(_)q.add(_);let z=J.sibling;if(z)H.add(z);let U=J.parent;while(U){if(U.sibling?.footer&&Q.get("groupTotalRow"))H.add(U.sibling);else if(!U.parent&&U.sibling&&Q.get("grandTotalRow"))H.add(U.sibling);else H.add(U);U=U.parent}for(let W of q)this.dispatchEditValuesChanged({rowNode:W,column:Z},$);for(let W of q)t(Y,{rowNode:W,column:Z})?.refreshCell(X);for(let W of H){let G=t(Y,{rowNode:W,column:Z});if(G){if(G.refreshCell(X),!X.force&&this.batch)G.editStyleFeature?.applyCellStyles?.()}}}stopAllEditing(J=!1,Z="ui"){if(this.isEditing())this.stopEditing(void 0,{cancel:J,source:Z})}isCellEditable(J,Z="ui"){let{gos:$,beans:X}=this,Y=J.rowNode;if(Y.group&&J.column.getColDef().groupRowEditable==null){if($.get("treeData")){if(!Y.data&&!$.get("enableGroupEdit"))return!1}else if(!$.get("enableGroupEdit"))return!1}let Q=GX($)==="fullRow"?XL(X,J,Z):k8(X,J);if(Q)this.strategy??(this.strategy=this.createStrategy());return Q}cellEditingInvalidCommitBlocks(){return this.gos.get("invalidEditValueMode")==="block"}checkNavWithValidation(J,Z,$=!0){if(this.hasValidationErrors(J)){let X=t(this.beans,J);if(this.cellEditingInvalidCommitBlocks()){if(Z?.preventDefault?.(),$){if(X&&!X.hasBrowserFocus())X.focusCell();X?.comp?.getCellEditor()?.focusIn?.()}return"block-stop"}if(X)this.revertSingleCellEdit(X);return"revert-continue"}return"continue"}revertSingleCellEdit(J,Z=!1){let $=t(this.beans,J);if(!$?.comp?.getCellEditor())return;if(eZ(this.beans,[J],{silent:!0}),this.model.clearEditValue(J),g0(this.beans,J,{silent:!0}),q0(this.beans),$?.refreshCell(lZ),!Z)return;$?.focusCell(),$?.comp?.getCellEditor()?.focusIn?.()}hasValidationErrors(J){q0(this.beans);let Z=t(this.beans,J);if(Z)Z.refreshCell(lZ),Z.rowCtrl.rowEditStyleFeature?.applyRowStyles();let $=!1;if(J?.rowNode){if($||($=this.model.getRowValidationModel().hasRowValidation({rowNode:J.rowNode})),J.column)$||($=this.model.getCellValidationModel().hasCellValidation({rowNode:J.rowNode,column:J.column}))}else $||($=this.model.getCellValidationModel().getCellValidationMap().size>0),$||($=this.model.getRowValidationModel().getRowValidationMap().size>0);return $}moveToNextCell(J,Z,$,X="ui"){let Y,Q=this.isEditing(),q=Q&&this.checkNavWithValidation(void 0,$)==="block-stop";if(J instanceof u2&&Q)Y=this.strategy?.moveToNextEditingCell(J,Z,$,X,q);if(Y===null)return Y;if(Y=Y||!!this.beans.focusSvc.focusedHeader,Y===!1&&!q)this.stopEditing();return Y}getPendingEditValue(J,Z,$){if($==="data")return;if($==="batch"&&!this.batch)return;let X=this.model.getEdit({rowNode:J,column:Z},O0);if(!X)return;if(this.stopping&&!this.batch&&!X.editorState?.cellStartedEditing)return;if($==="edit"){let Q=X.editorValue;if(Q!=null&&Q!==PJ)return Q}let Y=X.pendingValue;if(Y!==PJ)return Y;return}getCellDataValue(J){let Z=this.model.getEdit(J,O0);if(Z){let $=Z.pendingValue;if($!==PJ)return $;let X=Z.sourceValue;if(X!=null)return X}return this.valueSvc.getValue(J.column,J.rowNode,"data")}addStopEditingWhenGridLosesFocus(J){D3(this,this.beans,J)}createPopupEditorWrapper(J){return new JL(J)}batchResetToSourceValue(J){if(!this.batch)return!1;let Z=this.model.getEdit(J);if(!Z)return!1;let{pendingValue:$,sourceValue:X,state:Y}=Z;if($===X)return!1;if(Y==="editing")return!1;return this.dispatchEditValuesChanged(J,{...Z,pendingValue:X}),this.beans.editModelSvc?.removeEdits(J),t(this.beans,J)?.refreshCell(lZ),!0}setDataValue(J,Z,$){try{let X=this.batch,Y=this.isEditing(X?void 0:J);if((!Y||this.committing)&&!X&&!GL.has($))return;if(!Y&&!X&&$==="paste")return;if($==="batch"&&!X)return;if($==="edit"){if(Y&&this.applyEditorValue(J,Z))return!0;if(!X)return}if(this.strategy??(this.strategy=this.createStrategy()),$==="batch"||$==="edit")return this.applyDirectValue(J,Z,$);let Q=this.beans,q;if(X)q="ui";else if(this.committing)q=$??"api";else q="api";if(!$||zL.has($))return this.applyDirectValue(J,Z,$);let H=this.applyExistingEdit(J,Z,$,q);if(H!==void 0)return H;return Z2(Q,J,Z,$,void 0,{persist:!0}),this.ensureBatchStarted(),this.stopEditing(J,{source:q,suppressNavigateAfterEdit:!0}),!0}finally{this.committing=!1}}applyExistingEdit(J,Z,$,X){let Y=this.model.getEdit(J);if(!Y)return;if(Y.pendingValue===Z)return!1;if(Y.sourceValue!==Z)return Z2(this.beans,J,Z,$,void 0,{persist:!0}),this.ensureBatchStarted(),this.stopEditing(J,{source:X,suppressNavigateAfterEdit:!0}),!0;return this.beans.editModelSvc?.removeEdits(J),this.ensureBatchStarted(),this.dispatchEditValuesChanged(J,{...Y,pendingValue:Z}),!0}applyEditorValue(J,Z){let $=this.beans,X=t($,J),Y=X?.comp?.getCellEditor();if(!X||!Y)return!1;if(Z2($,J,Z,"edit",void 0,{persist:!0}),X.editStyleFeature?.applyCellStyles?.(),"agSetEditValue"in Y)return Y.agSetEditValue(Z),!0;if(Y.refresh&&X.editCompDetails)return Y.refresh({...X.editCompDetails.params,value:Z}),!0;if(X.hasBrowserFocus())X.onEditorAttachedFuncs.push(()=>{let q=t(this.beans,J);q?.focusCell(!0),q?.comp?.getCellEditor()?.focusIn?.()});return eZ($,[J],{silent:!0,cancel:!0}),g0($,J,{silent:!0}),q0($),t($,J)?.refreshCell(lZ),!0}applyDirectValue(J,Z,$){let X=this.beans;if(this.batch){if($==="batch"&&t(X,J)?.comp?.getCellEditor()){let{editModelSvc:q,valueSvc:H}=X,{rowNode:_,column:z}=J;if(q?.getEdit(J)?.sourceValue===void 0)q?.setEdit(J,{sourceValue:H.getValue(z,_,"data")});q?.setEdit(J,{pendingValue:Z})}else if(Z2(X,J,Z,$,void 0,{persist:!0}),$!=="batch")this.cleanupEditors();return y2(X),this.ensureBatchStarted(),this.bulkRefreshCell(J),!0}Z2(X,J,Z,$,void 0,{persist:!0});let Y=t(X,J),Q=this.setNodeDataValue(J.rowNode,J.column,Z,Y,$);return this.syncEditAfterCommit(J,Q),y2(X),t(X,J)?.refreshCell(Q?KL:lZ),Q}handleColDefChanged(J){M3(this.beans,J)}destroy(){this.model.clear(),this.destroyStrategy(),super.destroy()}prepDetailsDuringBatch(J,Z){let{model:$}=this;if(!this.batch)return;if(!$.hasRowEdits(J.rowNode,O0))return;let{rowNode:Y}=J,{compDetails:Q,valueToDisplay:q}=Z;if(Q){let{params:H}=Q;return H.data=$.getEditRowDataValue(Y,O0),{compDetails:Q}}return{valueToDisplay:q}}cleanupEditors(){this.strategy?.cleanupEditors()}dispatchCellEvent(J,Z,$,X){this.strategy?.dispatchCellEvent(J,Z,$,X)}dispatchBatchEvent(J,Z){this.eventSvc.dispatchEvent(this.createBatchEditEvent(J,Z))}createBatchEditEvent(J,Z){return x(this.gos,{type:J,...J==="batchEditingStopped"?{changes:this.toEventChangeList(Z)}:{}})}toEventChangeList(J){return this.model.getEditPositions(J).map((Z)=>({rowIndex:Z.rowNode.rowIndex,rowPinned:Z.rowNode.rowPinned,columnId:Z.column.getColId(),newValue:Z.pendingValue,oldValue:Z.sourceValue}))}applyBulkEdit({rowNode:J,column:Z},$){if(!$||$.length===0)return;let{beans:X,rangeSvc:Y,valueSvc:Q}=this,{formula:q}=X;J0(X,{persist:!0});let H=this.model.getEditMap(!0),_=H.get(J)?.get(Z)?.pendingValue,z=!1;if(!this.batch)this.eventSvc.dispatchEvent({type:"bulkEditingStarted"}),z=!0;let U=q?.isFormula(_)??!1;$.forEach((G)=>{let B=G.columns.some((K)=>K?.isAllowFormula());if(Y?.forEachRowInRange(G,(K)=>{let E=kJ(X,K);if(E===void 0)return;let L=H.get(E)??new Map,F=_;for(let D of G.columns){if(!D)continue;let k=!!U&&D.isAllowFormula();if(this.isCellEditable({rowNode:E,column:D},"api")){let j=Q.getValue(D,E,"data",!0),A=Q.parseValue(D,E??null,F,j);if(Number.isNaN(A))A=null;L.set(D,{editorValue:void 0,pendingValue:A,sourceValue:j,state:"changed",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}})}if(k)F=q?.updateFormulaByOffset({value:F,columnDelta:1})}if(L.size>0)H.set(E,L);if(U&&B)_=q?.updateFormulaByOffset({value:_,rowDelta:1})}),this.setEditMap(H),this.batch){this.cleanupEditors(),y2(X),this.ensureBatchStarted();return}this.committing=!0;try{this.stopEditing(void 0,{source:"bulk"})}finally{if(this.committing=!1,z)this.eventSvc.dispatchEvent({type:"bulkEditingStopped",changes:this.toEventChangeList(H)})}});let W=t(X,{rowNode:J,column:Z});if(W)W.focusCell(!0)}createCellStyleFeature(J){return new YL(J,this.beans)}createRowStyleFeature(J){return new QL(J,this.beans)}setEditingCells(J,Z){let{beans:$}=this,{colModel:X,valueSvc:Y}=$,Q=new Map;for(let{colId:q,column:H,colKey:_,rowIndex:z,rowPinned:U,newValue:W,state:G}of J){let B=q?X.getCol(q):_?X.getCol(_):H;if(!B)continue;let K=kJ($,{rowIndex:z,rowPinned:U});if(!K)continue;let E=Y.getValue(B,K,"data",!0);if(!Z?.forceRefreshOfEditCellsOnly&&!BZ({pendingValue:W,sourceValue:E})&&G!=="editing")continue;let L=Q.get(K);if(!L)L=new Map,Q.set(K,L);if(W===void 0)W=PJ;L.set(B,{editorValue:void 0,pendingValue:W,sourceValue:E,state:G??"changed",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}})}this.setEditMap(Q,Z)}onCellFocused(J){let Z=t(this.beans,J);if(!Z||!this.isEditing(Z,O0))return;let $=this.model.getEdit(Z);if(!$||!BZ($))return;let Y=this.getLocaleTextFunc()("ariaPendingChange","Pending Change");this.beans.ariaAnnounce?.announceValue(Y,"pendingChange")}allowedFocusTargetOnValidation(J){return t(this.beans,J)}};function LL(J){return{rowNodes:J?Array.from(J.keys()):void 0,columns:J?[...new Set(Array.from(J.values()).flatMap((Z)=>Array.from(Z.keys())))]:void 0}}function GX(J,Z){return Z??J.get("editType")??"singleCell"}var H4=class extends M{postConstruct(){this.model=this.beans.editModelSvc,this.editSvc=this.beans.editSvc,this.addManagedEventListeners({cellFocused:this.onCellFocusChanged?.bind(this),cellFocusCleared:this.onCellFocusChanged?.bind(this)})}clearEdits(J){this.model.clearEditValue(J)}onCellFocusChanged(J){let Z,$=J.previousParams,{editSvc:X,beans:Y}=this,Q=J.type==="cellFocused"?J.sourceEvent:null;if($)Z=t(Y,$);let{gos:q,editModelSvc:H}=Y,_=J.type==="cellFocusCleared";if(X.isEditing(void 0,{withOpenEditor:!0})){let{column:z,rowIndex:U,rowPinned:W}=J,G={column:z,rowNode:kJ(Y,{rowIndex:U,rowPinned:W})},B=q.get("invalidEditValueMode")==="block";if(B)return;let K=!B,E=!!H?.getCellValidationModel().hasCellValidation(G),L=K&&E;if(!($||_?X.stopEditing(void 0,{cancel:L,source:_&&K?"api":void 0,event:Q}):!0))if(X.isBatchEditing())X.cleanupEditors();else X.stopEditing(void 0,{source:"api"})}Z?.refreshCell({suppressFlash:!0,force:!0})}stopCancelled(J){let Z=this.editSvc.isBatchEditing()&&!J;for(let $ of this.model.getEditPositions())J5(this.beans,$,{cancel:!0},t(this.beans,$)),this.model.stop($,Z,!0);return!0}stopCommitted(J,Z){let $=this.model.getEditPositions(),X={all:[],pass:[],fail:[]};for(let q of $)if(X.all.push(q),(this.model.getCellValidationModel().getCellValidation(q)?.errorMessages?.length??0)>0)X.fail.push(q);else X.pass.push(q);let Y=this.processValidationResults(X),Q=this.editSvc.isBatchEditing()&&!Z;for(let q of Y.destroy)J5(this.beans,q,{event:J},t(this.beans,q)),this.model.stop(q,Q,!1);for(let q of Y.keep){let H=t(this.beans,q);if(!this.editSvc.cellEditingInvalidCommitBlocks()&&H)this.editSvc.revertSingleCellEdit(H)}return!0}cleanupEditors({rowNode:J}={},Z){J0(this.beans,{persist:!1});let $=this.model.getEditPositions(),X=[];if(J){for(let Y of $)if(Y.rowNode!==J)X.push(Y)}else for(let Y of $)X.push(Y);eZ(this.beans,X),y2(this.beans,Z)}setFocusOutOnEditor(J){J.comp?.getCellEditor()?.focusOut?.()}setFocusInOnEditor(J){let Z=J.comp,$=Z?.getCellEditor();if($?.focusIn)$.focusIn();else{let X=this.beans.gos.get("editType")==="fullRow";J.focusCell(X),J.onEditorAttachedFuncs.push(()=>Z?.getCellEditor()?.focusIn?.())}}setupEditors(J){let{event:Z,ignoreEventKey:$=!1,startedEdit:X,position:Y,cells:Q=this.model.getEditPositions()}=J,q=Z instanceof KeyboardEvent&&!$&&Z.key||void 0;V3(this.beans,Q,Y,q,Z,X)}dispatchCellEvent(J,Z,$,X){let Y=t(this.beans,J);if(Y)this.eventSvc.dispatchEvent({...Y.createEvent(Z??null,$),...X})}dispatchRowEvent(J,Z,$){if($)return;let X=G6(this.beans,J);if(X)this.eventSvc.dispatchEvent(X.createRowEvent(Z))}shouldStop(J,Z,$="ui"){let X=this.editSvc.isBatchEditing();if(X&&$==="api")return!0;if(X&&($==="ui"||$==="edit"))return!1;if($==="api")return!0;if(Z instanceof KeyboardEvent&&!X)return Z.key===V.ENTER;return null}shouldCancel(J,Z,$="ui"){let X=this.editSvc.isBatchEditing();if(Z instanceof KeyboardEvent&&!X){if(Z.key===V.ESCAPE)return!0}if(X&&$==="api")return!0;if($==="api")return!0;return!1}setEditMap(J,Z){if(!Z?.update)this.editSvc.stopEditing(void 0,{cancel:!0,source:"api"});let $=[];if(J.forEach((X,Y)=>{X.forEach((Q,q)=>{if(Q.state==="editing")$.push({...Q,rowNode:Y,column:q})})}),Z?.update)J=new Map([...this.model.getEditMap(),...J]);if(this.model?.setEditMap(J),$.length>0){let X=$.at(-1),Y=X.pendingValue===PJ?void 0:X.pendingValue;this.start({position:X,event:new KeyboardEvent("keydown",{key:Y}),source:"api"});let Q=t(this.beans,X);if(Q)this.setFocusInOnEditor(Q)}}destroy(){this.cleanupEditors(),super.destroy()}},FL=class extends H4{constructor(){super(...arguments);this.beanName="fullRow",this.startedRows=new Set}shouldStop(J,Z,$="ui"){let{rowNode:X,beans:Y}=this,{rowNode:Q}=J||{};if(!G6(Y,{rowNode:X}))return!0;let H=super.shouldStop({rowNode:X},Z,$);if(H!==null)return H;if(!X)return!1;return Q!==X}midBatchInputsAllowed({rowNode:J}){if(!J)return!1;return this.model.hasEdits({rowNode:J})}clearEdits(J){this.model.clearEditValue(J)}start(J){let{position:Z,silent:$,startedEdit:X,event:Y,ignoreEventKey:Q}=J,{rowNode:q}=Z,{beans:H,model:_,startedRows:z}=this;if(this.rowNode!==q)super.cleanupEditors(Z);let U=H.visibleCols.allCols,W=[],G=[];for(let B of U)if(B.isCellEditable(q))G.push(B);if(G.length==0)return;if(!z.has(q))this.dispatchRowEvent({rowNode:q},"rowEditingStarted",$),z.add(q);for(let B of G){let K={rowNode:q,column:B};W.push(K),_.start(K)}this.rowNode=q,this.setupEditors({cells:W,position:Z,startedEdit:X,event:Y,ignoreEventKey:Q})}processValidationResults(J){if(J.fail.length>0&&this.editSvc.cellEditingInvalidCommitBlocks())return{destroy:[],keep:J.all};return{destroy:J.all,keep:[]}}stopCancelled(J){let{rowNode:Z,model:$}=this;if(Z&&!$.hasRowEdits(Z))return!1;return super.stopCancelled(J),this.cleanupEditors({rowNode:Z},!0),this.rowNode=void 0,!0}stopCommitted(J,Z){let{rowNode:$,beans:X,model:Y,editSvc:Q}=this;if($&&!Y.hasRowEdits($))return!1;let q=[];if(Y.getEditMap().forEach((H,_)=>{if(!H||H.size===0)return;for(let z of H.values())if(BZ(z)){q.push(_);break}}),q0(X),Q.checkNavWithValidation({rowNode:$})==="block-stop")return!1;if(super.stopCommitted(J,Z),Z||!Q.isBatchEditing())for(let H of q)this.dispatchRowEvent({rowNode:H},"rowValueChanged");return this.cleanupEditors({rowNode:$},!0),this.rowNode=void 0,!0}onCellFocusChanged(J){let{rowIndex:Z}=J,$=J.previousParams;if($?.rowIndex===Z||J.sourceEvent instanceof KeyboardEvent)return;let{beans:X,gos:Y,model:Q}=this;if(X.editSvc?.isRangeSelectionEnabledWhileEditing())return;let q=t(X,$);if(Y.get("invalidEditValueMode")==="block"&&q&&(Q.getCellValidationModel().getCellValidation(q)||Q.getRowValidationModel().getRowValidation(q)))return;super.onCellFocusChanged(J)}cleanupEditors(J={},Z){super.cleanupEditors(J,Z);let{startedRows:$}=this;for(let X of $)this.dispatchRowEvent({rowNode:X},"rowEditingStopped"),this.destroyEditorsForRow(X);$.clear()}destroyEditorsForRow(J){let Z=G6(this.beans,{rowNode:J});if(!Z)return;let $={};for(let X of Z.getAllCellCtrls())if(X.comp?.getCellEditor())J5(this.beans,X,$,X)}moveToNextEditingCell(J,Z,$,X="ui",Y=!1){let{beans:Q,model:q,gos:H,editSvc:_}=this,z=J.cellPosition,U;q.suspend(!0);try{U=Q.navigation?.findNextCellToFocusOn(z,{backwards:Z,startEditing:!0,skipToNextEditableCell:!1})}finally{q.suspend(!1)}if(U===!1)return null;if(U==null)return!1;let W=U.cellPosition,G=J.isCellEditable(),B=U.isCellEditable(),K=W&&z.rowIndex===W.rowIndex&&z.rowPinned===W.rowPinned;if(G)this.setFocusOutOnEditor(J);this.restoreEditors();let E=H.get("suppressStartEditOnTab");if(B&&!Y)if(E)U.focusCell(!0,$);else{if(!U.comp?.getCellEditor())g0(Q,U,{event:$,cellStartedEdit:!0});this.setFocusInOnEditor(U),U.focusCell(!1,$)}else{if(B&&Y)this.setFocusInOnEditor(U);U.focusCell(!0,$)}if(!K&&!Y){if(_?.stopEditing({rowNode:J.rowNode},{event:$,forceStop:!0}),_?.isRowEditing(J.rowNode,{withOpenEditor:!0}))this.cleanupEditors(U,!0);if(E)U.focusCell(!0,$);else _.startEditing(U,{startedEdit:!0,event:$,source:X,ignoreEventKey:!0,editable:B||void 0})}return J.rowCtrl?.refreshRow({suppressFlash:!0,force:!0}),!0}restoreEditors(){let{beans:J,model:Z}=this;Z.getEditMap().forEach(($,X)=>$.forEach(({state:Y},Q)=>{if(Y!=="editing")return;let q=t(J,{rowNode:X,column:Q});if(q&&!q.comp?.getCellEditor())g0(J,q,{silent:!0})}))}destroy(){super.destroy(),this.rowNode=void 0,this.startedRows.clear()}},DL=class extends H4{constructor(){super(...arguments);this.beanName="singleCell"}shouldStop(J,Z,$="ui"){let X=super.shouldStop(J,Z,$);if(X!==null)return X;let Y=J?.rowNode,Q=J?.column,q=this.rowNode,H=this.column;if((!q||!H)&&Y&&Q)return null;if(q!==Y||H!==Q)return!0;if(!q&&!H)return this.model.hasEdits(void 0,{withOpenEditor:!0});return!1}midBatchInputsAllowed(J){return this.model.hasEdits(J)}start(J){let{position:Z,startedEdit:$,event:X,ignoreEventKey:Y}=J;if(this.rowNode!==Z.rowNode||this.column!==Z.column)super.cleanupEditors();this.rowNode=Z.rowNode,this.column=Z.column,this.model.start(Z),this.setupEditors({cells:[Z],position:Z,startedEdit:$,event:X,ignoreEventKey:Y})}dispatchRowEvent(J,Z,$){}processValidationResults(J){if(J.fail.length>0&&this.editSvc.cellEditingInvalidCommitBlocks())return{destroy:[],keep:J.all};return{destroy:J.all,keep:[]}}stopCancelled(J){return super.stopCancelled(J),this.clearPosition()}stopCommitted(J,Z){return super.stopCommitted(J,Z),this.clearPosition()}clearPosition(){return this.rowNode=void 0,this.column=void 0,!0}onCellFocusChanged(J){let{colModel:Z,editSvc:$}=this.beans,{rowIndex:X,column:Y,rowPinned:Q}=J,q=kJ(this.beans,{rowIndex:X,rowPinned:Q}),H=K8(Y),_=Z.getCol(H),z=J.previousParams;if(z){let U=K8(z.column);if(z?.rowIndex===X&&U===H&&z?.rowPinned===Q)return}if(J.type=="cellFocused"&&($?.isRangeSelectionEnabledWhileEditing()||$?.isEditing({rowNode:q,column:_},{withOpenEditor:!0})))return;super.onCellFocusChanged(J)}moveToNextEditingCell(J,Z,$,X="ui",Y=!1){let Q=this.beans.focusSvc.getFocusedCell();if(Q)J=eJ(this.beans,Q)??J;let q=J.cellPosition,H,_=this.beans.gos.get("editType")==="fullRow";if(_)this.model.suspend(!0);if(!Y)J.eGui.focus(),this.editSvc?.stopEditing(J,{source:this.editSvc?.isBatchEditing()?"ui":"api",event:$});try{H=this.beans.navigation?.findNextCellToFocusOn(q,{backwards:Z,startEditing:!0})}finally{if(_)this.model.suspend(!1)}if(H===!1)return null;if(H==null)return!1;let z=H.cellPosition,U=J.isCellEditable(),W=H.isCellEditable(),G=z&&q.rowIndex===z.rowIndex&&q.rowPinned===z.rowPinned;if(U&&!Y)this.setFocusOutOnEditor(J);let B=this.gos.get("suppressStartEditOnTab"),K=!1;if(!G&&!Y)if(super.cleanupEditors(H,!0),B)H.focusCell(!0,$);else K=!0,this.editSvc.startEditing(H,{startedEdit:!0,event:$,source:X,ignoreEventKey:!0,editable:W});if(W&&!Y){if(H.focusCell(!1,$),B)H.focusCell(!0,$);else if(!H.comp?.getCellEditor()){if(!K){let E=this.editSvc?.isEditing(H,{withOpenEditor:!0});g0(this.beans,H,{event:$,cellStartedEdit:!0,silent:E})}this.setFocusInOnEditor(H),this.cleanupEditors(H)}}else{if(W&&Y)this.setFocusInOnEditor(H);H.focusCell(!0,$)}return J.rowCtrl?.refreshRow({suppressFlash:!0,force:!0}),!0}destroy(){super.destroy(),this.rowNode=void 0,this.column=void 0}},kL={moduleName:"EditCore",version:p,beans:[F3,EL],apiFunctions:{getEditingCells:rE,getEditRowValues:sE,getCellEditorInstances:k3,startEditingCell:aE,stopEditing:tE,isEditing:lE,validateEdit:oE},dynamicBeans:{singleCell:DL,fullRow:FL},dependsOn:[d0,mE],css:[cE]};var _4={moduleName:"TextEditor",version:p,userComponents:{agCellEditor:WX,agTextCellEditor:WX},dependsOn:[kL]};var z4={agSetColumnFilter:"agSetColumnFilterHandler",agMultiColumnFilter:"agMultiColumnFilterHandler",agGroupColumnFilter:"agGroupColumnFilterHandler",agNumberColumnFilter:"agNumberColumnFilterHandler",agBigIntColumnFilter:"agBigIntColumnFilterHandler",agDateColumnFilter:"agDateColumnFilterHandler",agTextColumnFilter:"agTextColumnFilterHandler"},VL=new Set(Object.values(z4));function aZ(J,Z){let $=J.filterUi;if(!$)return null;if($.created)return $.promise;if(Z)return null;let X=$.create($.refreshed),Y=$;return Y.created=!0,Y.promise=X,X}function s6(J,Z,$,X,Y,Q,q){return Z.refresh?.({...$,model:X,source:Q,additionalEventAttributes:q}),J().then((H)=>{if(H){let{filter:_,filterParams:z}=H;M2(_,z,X,Y,Q,q)}})}function M2(J,Z,$,X,Y,Q){J?.refresh?.({...Z,model:$,state:X,source:Y,additionalEventAttributes:Q})}function U4(J,Z,$,X){let Y=J();if(Y?.created)Y.promise.then((Q)=>{let q=Z();M2(Q,Y.filterParams,q,$()??{model:q},"ui",X)})}function L6(J){let Z,$=!1,X,{action:Y,filterParams:Q,getFilterUi:q,getModel:H,getState:_,updateState:z,updateModel:U,processModelToApply:W}=J;switch(Y){case"apply":{let G=_();if(X=G?.model??null,W)X=W(X);Z={state:G?.state,model:X},$=!0;break}case"clear":{if(Z={model:null},!Q?.buttons?.includes("apply"))$=!0,X=null;break}case"reset":{Z={model:null},$=!0,X=null;break}case"cancel":{Z={model:H()};break}}if(z(Z),$)U(X);else U4(q,H,_,{fromAction:Y})}function FJ(J,Z){return J[Z]??null}var jL=class extends X9{constructor(){super(...arguments);this.iconCreated=!1}wireComp(J,Z,$,X,Y){this.comp=J;let Q=B5(this,this.beans.context,Y);this.eButtonShowMainFilter=$,this.eFloatingFilterBody=X,this.setGui(Z,Q),this.setupActive(),this.refreshHeaderStyles(),this.setupWidth(Q),this.setupLeft(Q),this.setupHover(Q),this.setupFocus(Q),this.setupAria(),this.setupFilterButton(),this.setupUserComp(),this.setupSyncWithFilter(Q),this.setupUi(),Q.addManagedElementListeners(this.eButtonShowMainFilter,{click:this.showParentFilter.bind(this)}),this.setupFilterChangedListener(Q);let q=()=>this.onColDefChanged(Q);Q.addManagedListeners(this.column,{colDefChanged:q}),Q.addManagedEventListeners({filterSwitched:({column:H})=>{if(H===this.column)q()}}),Q.addDestroyFunc(()=>{this.eButtonShowMainFilter=null,this.eFloatingFilterBody=null,this.userCompDetails=null,this.clearComponent()})}resizeHeader(){}moveHeader(){}getHeaderClassParams(){let{column:J,beans:Z}=this,$=J.colDef;return x(Z.gos,{colDef:$,column:J,floatingFilter:!0})}setupActive(){let J=this.column.getColDef(),Z=!!J.filter,$=!!J.floatingFilter;this.active=Z&&$}setupUi(){if(this.comp.setButtonWrapperDisplayed(!this.suppressFilterButton&&this.active),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-full-body",this.suppressFilterButton),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-body",!this.suppressFilterButton),!this.active||this.iconCreated)return;let J=h("filter",this.beans,this.column);if(J)this.iconCreated=!0,this.eButtonShowMainFilter.appendChild(J)}setupFocus(J){J.createManagedBean(new cZ(this.eGui,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)}))}setupAria(){let J=this.getLocaleTextFunc();KJ(this.eButtonShowMainFilter,J("ariaFilterMenuOpen","Open Filter Menu"))}onTabKeyDown(J){let{beans:Z}=this;if(n(Z)===this.eGui)return;let Y=OJ(Z,this.eGui,null,J.shiftKey);if(Y){Z.headerNavigation?.scrollToColumn(this.column),J.preventDefault(),Y.focus();return}let Q=this.findNextColumnWithFloatingFilter(J.shiftKey);if(!Q)return;if(Z.focusSvc.focusHeaderPosition({headerPosition:{headerRowIndex:this.rowCtrl.rowIndex,column:Q},event:J}))J.preventDefault()}findNextColumnWithFloatingFilter(J){let Z=this.beans.visibleCols,$=this.column;do if($=J?Z.getColBefore($):Z.getColAfter($),!$)break;while(!$.getColDef().filter||!$.getColDef().floatingFilter);return $}handleKeyDown(J){super.handleKeyDown(J);let Z=this.getWrapperHasFocus();switch(J.key){case V.UP:case V.DOWN:case V.LEFT:case V.RIGHT:if(Z)return;iJ(J);case V.ENTER:if(Z){if(DJ(this.eGui))J.preventDefault()}break;case V.ESCAPE:if(!Z)this.eGui.focus()}}onFocusIn(J){if(this.eGui.contains(J.relatedTarget))return;let $=!!J.relatedTarget&&!J.relatedTarget.classList.contains("ag-floating-filter"),X=!!J.relatedTarget&&v0(J.relatedTarget,"ag-floating-filter");if($&&X&&J.target===this.eGui){let Y=this.lastFocusEvent,Q=!!(Y&&Y.key===V.TAB);if(Y&&Q){let q=Y.shiftKey;DJ(this.eGui,q)}}this.focusThis()}setupHover(J){this.beans.colHover?.addHeaderFilterColumnHoverListener(J,this.comp,this.column,this.eGui)}setupLeft(J){let Z=new $9(this.column,this.eGui,this.beans);J.createManagedBean(Z)}setupFilterButton(){this.suppressFilterButton=!this.beans.menuSvc?.isFloatingFilterButtonEnabled(this.column),this.highlightFilterButtonWhenActive=!WJ(this.gos)}setupUserComp(){if(!this.active)return;let J=this.beans.colFilter?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter());if(J)this.setCompDetails(J)}setCompDetails(J){this.userCompDetails=J,this.comp.setCompDetails(J)}showParentFilter(){let J=this.suppressFilterButton?this.eFloatingFilterBody:this.eButtonShowMainFilter;this.beans.menuSvc?.showFilterMenu({column:this.column,buttonElement:J,containerType:"floatingFilter",positionBy:"button"})}setupSyncWithFilter(J){if(!this.active)return;let{beans:{colFilter:Z},column:$,gos:X}=this,Y=(Q)=>{if(Q?.source==="filterDestroyed"&&(!this.isAlive()||!Z?.isAlive()))return;let q=this.comp.getFloatingFilterComp();if(!q)return;q.then((H)=>{if(H){if(X.get("enableFilterHandlers")){let U=Q,W="filter";if(U?.afterFloatingFilter)W="ui";else if(U?.afterDataChange)W="dataChanged";else if(Q?.source==="api")W="api";this.updateFloatingFilterParams(this.userCompDetails,W);return}let _=Z?.getCurrentFloatingFilterParentModel($),z=Q?{...Q,columns:Q.columns??[],source:Q.source==="api"?"api":"columnFilter"}:null;H.onParentModelChanged(_,z)}})};if([this.destroySyncListener]=J.addManagedListeners($,{filterChanged:Y}),Z?.isFilterActive($))Y(null)}setupWidth(J){let Z=()=>{let $=`${this.column.getActualWidth()}px`;this.comp.setWidth($)};J.addManagedListeners(this.column,{widthChanged:Z}),Z()}setupFilterChangedListener(J){if(this.active)[this.destroyFilterChangedListener]=J.addManagedListeners(this.column,{filterChanged:this.updateFilterButton.bind(this)}),this.updateFilterButton()}updateFilterButton(){if(!this.suppressFilterButton&&this.comp){let J=!!this.beans.filterManager?.isFilterAllowed(this.column);if(this.comp.setButtonWrapperDisplayed(J),this.highlightFilterButtonWhenActive&&J)this.eButtonShowMainFilter.classList.toggle("ag-filter-active",this.column.isFilterActive())}}onColDefChanged(J){let Z=this.active;this.setupActive();let $=!Z&&this.active;if(Z&&!this.active)this.destroySyncListener(),this.destroyFilterChangedListener();let X=this.beans.colFilter,Y=this.active?X?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter()):null,Q=this.comp.getFloatingFilterComp();if(!Q||!Y)this.updateCompDetails(J,Y,$);else Q.then((q)=>{if(!q||X?.areFilterCompsDifferent(this.userCompDetails??null,Y))this.updateCompDetails(J,Y,$);else this.updateFloatingFilterParams(Y,"colDef")})}updateCompDetails(J,Z,$){if(!this.isAlive())return;if(this.setCompDetails(Z),this.setupFilterButton(),this.setupUi(),$)this.setupSyncWithFilter(J),this.setupFilterChangedListener(J)}updateFloatingFilterParams(J,Z){if(!J)return;let $=J.params;this.comp.getFloatingFilterComp()?.then((X)=>{if(typeof X?.refresh==="function"){if(this.gos.get("enableFilterHandlers"))$={...$,model:FJ(this.beans.colFilter?.model??{},this.column.getColId()),source:Z};X.refresh($)}})}addResizeAndMoveKeyboardListeners(){}destroy(){super.destroy(),this.destroySyncListener=null,this.destroyFilterChangedListener=null}};function AL(J,Z){let $=J.colModel.getCol(Z);if(!$){e(12,{colKey:Z});return}J.menuSvc?.showColumnMenu({column:$,positionBy:"auto"})}function ML(J){J.menuSvc?.hidePopupMenu()}var RL=class extends M{constructor(){super(...arguments);this.beanName="menuSvc"}postConstruct(){let{enterpriseMenuFactory:J,filterMenuFactory:Z}=this.beans;this.activeMenuFactory=J??Z}showColumnMenu(J){this.showColumnMenuCommon(this.activeMenuFactory,J,"columnMenu")}showFilterMenu(J){this.showColumnMenuCommon(BX(this.beans),J,J.containerType,!0)}showHeaderContextMenu(J,Z,$){this.activeMenuFactory?.showMenuAfterContextMenuEvent(J,Z,$)}hidePopupMenu(){this.beans.contextMenuSvc?.hideActiveMenu(),this.activeMenuFactory?.hideActiveMenu()}hideFilterMenu(){BX(this.beans)?.hideActiveMenu()}isColumnMenuInHeaderEnabled(J){let{suppressHeaderMenuButton:Z}=J.getColDef();return!Z&&!!this.activeMenuFactory?.isMenuEnabled(J)&&(WJ(this.gos)||!!this.beans.enterpriseMenuFactory)}isFilterMenuInHeaderEnabled(J){return!J.getColDef().suppressHeaderFilterButton&&!!this.beans.filterManager?.isFilterAllowed(J)}isHeaderContextMenuEnabled(J){return!(J&&$Z(J)?J.getColDef():J?.getColGroupDef())?.suppressHeaderContextMenu&&this.gos.get("columnMenu")==="new"}isHeaderMenuButtonAlwaysShowEnabled(){return this.isSuppressMenuHide()}isHeaderMenuButtonEnabled(){let J=!this.isSuppressMenuHide();return!(C0()&&J)}isHeaderFilterButtonEnabled(J){return this.isFilterMenuInHeaderEnabled(J)&&!WJ(this.gos)&&!this.isFloatingFilterButtonDisplayed(J)}isFilterMenuItemEnabled(J){return!!this.beans.filterManager?.isFilterAllowed(J)&&!WJ(this.gos)&&!this.isFilterMenuInHeaderEnabled(J)&&!this.isFloatingFilterButtonDisplayed(J)}isFloatingFilterButtonEnabled(J){return!J.getColDef().suppressFloatingFilterButton}isFloatingFilterButtonDisplayed(J){return!!J.getColDef().floatingFilter&&this.isFloatingFilterButtonEnabled(J)}isSuppressMenuHide(){let J=this.gos,Z=J.get("suppressMenuHide");if(WJ(J))return J.exists("suppressMenuHide")?Z:!1;return Z}showColumnMenuCommon(J,Z,$,X){let{positionBy:Y,onClosedCallback:Q}=Z,q=Z.column;if(Y==="button"){let{buttonElement:H}=Z;J?.showMenuAfterButtonClick(q,H,$,Q,X)}else if(Y==="mouse"){let{mouseEvent:H}=Z;J?.showMenuAfterMouseEvent(q,H,$,Q,X)}else if(q){let H=this.beans,_=H.ctrlsSvc;_.getScrollFeature().ensureColumnVisible(q,"auto"),qZ(H,()=>{let z=_.getHeaderRowContainerCtrl(q.getPinned())?.getHeaderCtrlForColumn(q);if(z)J?.showMenuAfterButtonClick(q,z.getAnchorElementForMenu(X),$,Q,X)})}}};function Z5(J,Z,$){if(J.menuVisible!==Z)J.menuVisible=Z,J.dispatchColEvent("menuVisibleChanged",$)}function BX(J){let{enterpriseMenuFactory:Z,filterMenuFactory:$,gos:X}=J;return Z&&WJ(X)?Z:$}var f9={moduleName:"SharedMenu",version:p,beans:[RL],apiFunctions:{showColumnMenu:AL,hidePopupMenu:ML}},OL=".ag-set-filter{--ag-indentation-level:0}.ag-set-filter-item{align-items:center;display:flex;height:100%}:where(.ag-ltr) .ag-set-filter-item{padding-left:calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level)*var(--ag-set-filter-indent-size))}:where(.ag-rtl) .ag-set-filter-item{padding-right:calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level)*var(--ag-set-filter-indent-size))}.ag-set-filter-item-checkbox{display:flex;height:100%;width:100%}.ag-set-filter-group-icons{display:block;:where(.ag-set-filter-group-closed-icon),:where(.ag-set-filter-group-indeterminate-icon),:where(.ag-set-filter-group-opened-icon){cursor:pointer}}:where(.ag-ltr) .ag-set-filter-group-icons{margin-right:var(--ag-widget-container-horizontal-padding)}:where(.ag-rtl) .ag-set-filter-group-icons{margin-left:var(--ag-widget-container-horizontal-padding)}.ag-filter-body-wrapper{display:flex;flex-direction:column}:where(.ag-menu:not(.ag-tabs) .ag-filter) .ag-filter-body-wrapper{min-width:180px}.ag-filter-filter{flex:1 1 0px}.ag-filter-condition{display:flex;justify-content:center}.ag-floating-filter-body{display:flex;flex:1 1 auto;height:100%;position:relative}.ag-floating-filter-full-body{align-items:center;display:flex;flex:1 1 auto;height:100%;overflow:hidden;width:100%}.ag-floating-filter-input{align-items:center;display:flex;width:100%;>:where(.ag-date-floating-filter-wrapper),>:where(.ag-floating-filter-input),>:where(.ag-input-field){flex:1 1 auto}:where(.ag-input-field-input[type=date]),:where(.ag-input-field-input[type=datetime-local]){width:1px}}.ag-floating-filter-button{display:flex;flex:none}.ag-date-floating-filter-wrapper{display:flex}.ag-set-floating-filter-input :where(.ag-input-field-input)[disabled]{pointer-events:none}.ag-floating-filter-button-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;height:var(--ag-icon-size);width:var(--ag-icon-size)}.ag-filter-loading{align-items:unset;background-color:var(--ag-chrome-background-color);height:100%;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);position:absolute;width:100%;z-index:1;:where(.ag-menu) &{background-color:var(--ag-menu-background-color)}}.ag-filter-separator{border-top:solid var(--ag-border-width) var(--menu-separator-color)}:where(.ag-filter-select) .ag-picker-field-wrapper{width:0}.ag-filter-condition-operator{height:17px}:where(.ag-ltr) .ag-filter-condition-operator-or{margin-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-filter-condition-operator-or{margin-right:calc(var(--ag-spacing)*2)}.ag-set-filter-select-all{padding-top:var(--ag-widget-container-vertical-padding)}.ag-filter-no-matches,.ag-set-filter-list{height:calc(var(--ag-list-item-height)*6)}.ag-filter-no-matches{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}.ag-set-filter-tree-list{height:calc(var(--ag-list-item-height)*10)}.ag-set-filter-filter{margin-left:var(--ag-widget-container-horizontal-padding);margin-right:var(--ag-widget-container-horizontal-padding);margin-top:var(--ag-widget-container-vertical-padding)}.ag-filter-to{margin-top:var(--ag-widget-vertical-spacing)}.ag-mini-filter{margin:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}:where(.ag-ltr) .ag-set-filter-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}:where(.ag-rtl) .ag-set-filter-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}:where(.ag-filter-menu) .ag-set-filter-list{min-width:200px}.ag-filter-virtual-list-item:focus-visible{box-shadow:inset var(--ag-focus-shadow)}.ag-filter-apply-panel{display:flex;justify-content:flex-end;overflow:hidden;padding:var(--ag-widget-vertical-spacing) var(--ag-widget-container-horizontal-padding) var(--ag-widget-container-vertical-padding)}.ag-filter-apply-panel-button{line-height:1.5}:where(.ag-ltr) .ag-filter-apply-panel-button{margin-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-filter-apply-panel-button{margin-right:calc(var(--ag-spacing)*2)}.ag-simple-filter-body-wrapper{display:flex;flex-direction:column;gap:var(--ag-widget-vertical-spacing);min-height:calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing));overflow-y:auto;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:var(--ag-widget-container-vertical-padding);:where(.ag-resizer-wrapper){margin:0}}.ag-multi-filter-menu-item{margin:var(--ag-spacing) 0}.ag-multi-filter-group-title-bar{background-color:transparent;color:var(--ag-header-text-color);font-weight:500;padding:calc(var(--ag-spacing)*1.5) var(--ag-spacing)}.ag-group-filter-field-select-wrapper{display:flex;flex-direction:column;gap:var(--ag-widget-vertical-spacing);padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}";function SL(J){let Z=J.filterManager;return!!Z?.isColumnFilterPresent()||!!Z?.isAggregateFilterPresent()}function fL(J,Z){return J.filterManager?.getColumnFilterInstance(Z)??Promise.resolve(void 0)}function PL(J,Z){let $=J.colModel.getColDefCol(Z);if($)return J.colFilter?.destroyFilter($,"api")}function TL(J,Z){J.frameworkOverrides.wrapIncoming(()=>J.filterManager?.setFilterModel(Z))}function vL(J){return J.filterManager?.getFilterModel()??{}}function IL(J,Z,$){let{gos:X,colModel:Y,colFilter:Q}=J;if($&&!X.get("enableFilterHandlers"))O(288),$=!1;let q=Y.getColDefCol(Z);return q?Q?.getModelForColumn(q,$)??null:null}function bL(J,Z,$){return J.filterManager?.setColumnFilterModel(Z,$)??Promise.resolve()}function CL(J,Z){let $=J.colModel.getCol(Z);if(!$){e(12,{colKey:Z});return}J.menuSvc?.showFilterMenu({column:$,containerType:"columnFilter",positionBy:"auto"})}function xL(J){J.menuSvc?.hideFilterMenu()}function yL(J,Z){let $=J.colModel.getCol(Z);if(!$){e(12,{colKey:Z});return}return J.colFilter?.getHandler($,!0)}function NL(J,Z){let{colModel:$,colFilter:X,gos:Y}=J;if(!Y.get("enableFilterHandlers")){O(287);return}let{colId:Q,action:q}=Z;if(Q){let H=$.getColById(Q);if(H)X?.updateModel(H,q)}else X?.updateAllModels(q)}var KX={january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},EX=["january","february","march","april","may","june","july","august","september","october","november","december"];function wL(J,Z){if(J==null)return-1;if(Z==null)return 1;return Number.parseFloat(J)-Number.parseFloat(Z)}function gL(J,Z){if(J==null)return-1;if(Z==null)return 1;let $=_0(J),X=_0(Z);if($!=null&&X!=null){if($===X)return 0;return $>X?1:-1}return String(J).localeCompare(String(Z))}function LX(J){return J instanceof Date&&!isNaN(J.getTime())}var V8={number:()=>{return},bigint:()=>{return},boolean:()=>({maxNumConditions:1,debounceMs:0,filterOptions:["empty",{displayKey:"true",displayName:"True",predicate:(J,Z)=>Z,numberOfInputs:0},{displayKey:"false",displayName:"False",predicate:(J,Z)=>Z===!1,numberOfInputs:0}]}),date:()=>({isValidDate:LX}),dateString:({dataTypeDefinition:J})=>({comparator:(Z,$)=>{let X=J.dateParser($);if($==null||XZ)return 1;return 0},isValidDate:(Z)=>typeof Z==="string"&&LX(J.dateParser(Z))}),dateTime:(J)=>V8.date(J),dateTimeString:(J)=>V8.dateString(J),object:()=>{return},text:()=>{return}},j8={number:()=>({comparator:wL}),bigint:()=>({comparator:gL}),boolean:({t:J})=>({valueFormatter:(Z)=>T(Z.value)?J(String(Z.value),Z.value?"True":"False"):J("blanks","(Blanks)")}),date:({formatValue:J,t:Z})=>({valueFormatter:($)=>{let X=J($);return T(X)?X:Z("blanks","(Blanks)")},treeList:!0,treeListFormatter:($,X)=>{if($==="NaN")return Z("invalidDate","Invalid Date");if(X===1&&$!=null){let Y=EX[Number($)-1];return Z(Y,KX[Y])}return $??Z("blanks","(Blanks)")},treeListPathGetter:($)=>Y2($,!1)}),dateString:({formatValue:J,dataTypeDefinition:Z,t:$})=>({valueFormatter:(X)=>{let Y=J(X);return T(Y)?Y:$("blanks","(Blanks)")},treeList:!0,treeListPathGetter:(X)=>Y2(Z.dateParser(X??void 0),!1),treeListFormatter:(X,Y)=>{if(Y===1&&X!=null){let Q=EX[Number(X)-1];return $(Q,KX[Q])}return X??$("blanks","(Blanks)")}}),dateTime:(J)=>{let Z=j8.date(J);return Z.treeListPathGetter=Y2,Z},dateTimeString(J){let Z=J.dataTypeDefinition.dateParser,$=j8.dateString(J);return $.treeListPathGetter=(X)=>Y2(Z(X??void 0)),$},object:({formatValue:J,t:Z})=>({valueFormatter:($)=>{let X=J($);return T(X)?X:Z("blanks","(Blanks)")}}),text:()=>{return}};function P9(J,Z,$,X,Y,Q,q){let H=Z,_=$,z=J==="agSetColumnFilter";if(!_&&X.baseDataType==="object"&&!z)_=({column:B,node:K})=>Y({column:B,node:K,value:Q.valueSvc.getValue(B,K,"data")});let W=(z?j8:V8)[X.baseDataType],G=W({dataTypeDefinition:X,formatValue:Y,t:q});return H=typeof Z==="object"?{...G,...Z}:G,{filterParams:H,filterValueGetter:_}}var hL={boolean:"agTextColumnFilter",date:"agDateColumnFilter",dateString:"agDateColumnFilter",dateTime:"agDateColumnFilter",dateTimeString:"agDateColumnFilter",bigint:"agBigIntColumnFilter",number:"agNumberColumnFilter",object:"agTextColumnFilter",text:"agTextColumnFilter"},uL={boolean:"agTextColumnFloatingFilter",date:"agDateColumnFloatingFilter",dateString:"agDateColumnFloatingFilter",dateTime:"agDateColumnFloatingFilter",dateTimeString:"agDateColumnFloatingFilter",bigint:"agBigIntColumnFloatingFilter",number:"agNumberColumnFloatingFilter",object:"agTextColumnFloatingFilter",text:"agTextColumnFloatingFilter"};function T9(J,Z=!1){return(Z?uL:hL)[J??"text"]}function v9(J,Z,$){if(Z==null)return null;let X=null,{compName:Y,jsComp:Q,fwComp:q}=OY(J,Z);if(Y)X={agSetColumnFilter:"agSetColumnFloatingFilter",agMultiColumnFilter:"agMultiColumnFloatingFilter",agGroupColumnFilter:"agGroupColumnFloatingFilter",agNumberColumnFilter:"agNumberColumnFloatingFilter",agBigIntColumnFilter:"agBigIntColumnFloatingFilter",agDateColumnFilter:"agDateColumnFloatingFilter",agTextColumnFilter:"agTextColumnFloatingFilter"}[Y];else if(Q==null&&q==null&&Z.filter===!0)X=$();return X}var mL={filterHandler:()=>({doesFilterPass:()=>!0})};function FX(J,Z,$,X){if(!J.isPrimary())return!0;let Q=!$;if(!J.isValueActive()||!Q)return!1;if(Z)return!0;return X}var cL=class extends M{constructor(){super(...arguments);this.beanName="colFilter",this.allColumnFilters=new Map,this.allColumnListeners=new Map,this.activeAggregateFilters=[],this.activeColumnFilters=[],this.processingFilterChange=!1,this.modelUpdates=[],this.columnModelUpdates=[],this.state=new Map,this.handlerMap={...z4},this.isGlobalButtons=!1,this.activeFilterComps=new Set}postConstruct(){this.addManagedEventListeners({gridColumnsChanged:this.onColumnsChanged.bind(this),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.addManagedPropertyListener("pivotMode",this.onPivotModeChanged.bind(this));let J=this.gos,Z={...J.get("initialState")?.filter?.filterModel??{}};if(this.initialModel=Z,this.model={...Z},!J.get("enableFilterHandlers"))delete this.handlerMap.agMultiColumnFilter}refreshModel(){this.onNewRowsLoaded("rowDataUpdated")}setModel(J,Z="api",$){let{colModel:X,dataTypeSvc:Y,filterManager:Q}=this.beans;if(Y?.isPendingInference){this.modelUpdates.push({model:J,source:Z});return}let q=[],H=this.getModel(!0);if(J){let _=new Set(Object.keys(J));this.allColumnFilters.forEach((z,U)=>{let W=J[U];q.push(this.setModelOnFilterWrapper(z,W)),_.delete(U)}),_.forEach((z)=>{let U=X.getColDefCol(z)||X.getCol(z);if(!U){O(62,{colId:z});return}if(!U.isFilterAllowed()){O(63,{colId:z});return}let W=this.getOrCreateFilterWrapper(U,!0);if(!W){O(64,{colId:z});return}q.push(this.setModelOnFilterWrapper(W,J[z],!0))})}else this.model={},this.allColumnFilters.forEach((_)=>{q.push(this.setModelOnFilterWrapper(_,null))});g.all(q).then(()=>{let _=this.getModel(!0),z=[];if(this.allColumnFilters.forEach((U,W)=>{let G=H?H[W]:null,B=_?_[W]:null;if(!F6(G,B))z.push(U.column)}),z.length>0)Q?.onFilterChanged({columns:z,source:Z});else if($)this.updateActive("filterChanged")})}getModel(J){let Z={},{allColumnFilters:$,initialModel:X,beans:{colModel:Y}}=this;if($.forEach((Q,q)=>{let H=this.getModelFromFilterWrapper(Q);if(T(H))Z[q]=H}),!J)for(let Q of Object.keys(X)){let q=X[Q];if(T(q)&&!$.has(Q)&&Y.getCol(Q)?.isFilterAllowed())Z[Q]=q}return Z}setState(J,Z,$="api"){if(this.state.clear(),Z)for(let X of Object.keys(Z)){let Y=Z[X];this.state.set(X,{model:FJ(this.model,X),state:Y})}this.setModel(J,$,!0)}getState(){let J=this.state;if(!J.size)return;let Z={},$=!1;return J.forEach((X,Y)=>{let Q=X.state;if(Q!=null)$=!0,Z[Y]=Q}),$?Z:void 0}getModelFromFilterWrapper(J){let $=J.column.getColId();if(J.isHandler)return FJ(this.model,$);let X=J.filter;if(X){if(typeof X.getModel!=="function")return O(66),null;return X.getModel()}return FJ(this.initialModel,$)}isFilterPresent(){return this.activeColumnFilters.length>0}isAggFilterPresent(){return!!this.activeAggregateFilters.length}disableFilters(){this.initialModel={};let{allColumnFilters:J}=this;if(J.size)return J.forEach((Z)=>this.disposeFilterWrapper(Z,"advancedFilterEnabled")),!0;return!1}updateActiveFilters(){let J=(_)=>{if(!_)return!1;if(!_.isFilterActive)return O(67),!1;return _.isFilterActive()},{colModel:Z,gos:$}=this.beans,X=!!TZ($),Y=[],Q=[],q=(_,z,U)=>{if(z)if(FX(_,Z.isPivotMode(),Z.isPivotActive(),X))Y.push(U);else Q.push(U)},H=[];return this.allColumnFilters.forEach((_)=>{let z=_.column,U=z.getColId();if(_.isHandler)H.push(g.resolve().then(()=>{q(z,this.isHandlerActive(z),{colId:U,isHandler:!0,handler:_.handler,handlerParams:_.handlerParams})}));else{let W=aZ(_);if(W)H.push(W.then((G)=>{q(z,J(G),{colId:U,isHandler:!1,comp:G})}))}}),g.all(H).then(()=>{this.activeAggregateFilters=Y,this.activeColumnFilters=Q})}updateFilterFlagInColumns(J,Z){let $=[];return this.allColumnFilters.forEach((X)=>{let Y=X.column;if(X.isHandler)$.push(g.resolve().then(()=>{this.setColFilterActive(Y,this.isHandlerActive(Y),J,Z)}));else{let Q=aZ(X);if(Q)$.push(Q.then((q)=>{this.setColFilterActive(Y,q.isFilterActive(),J,Z)}))}}),this.beans.groupFilter?.updateFilterFlags(J,Z),g.all($)}doFiltersPass(J,Z,$){let{data:X,aggData:Y}=J,Q=$?this.activeAggregateFilters:this.activeColumnFilters,q=$?Y:X,H=this.model;for(let _=0;_{if(this.isAlive())$?.onFilterChanged(J)};if(Z.isRefreshInProgress())setTimeout(X,0);else X()}updateBeforeFilterChanged(J={}){let{column:Z,additionalEventAttributes:$}=J,X=Z?.getColId();return this.updateActiveFilters().then(()=>this.updateFilterFlagInColumns("filterChanged",$).then(()=>{this.allColumnFilters.forEach((Y)=>{let{column:Q,isHandler:q}=Y;if(X===Q.getColId())return;if(q)Y.handler.onAnyFilterChanged?.();aZ(Y,q)?.then((H)=>{if(typeof H?.onAnyFilterChanged==="function")H.onAnyFilterChanged()})}),this.processingFilterChange=!0}))}updateAfterFilterChanged(){this.processingFilterChange=!1}isSuppressFlashingCellsBecauseFiltering(){return!(this.gos.get("allowShowChangeAfterFilter")??!1)&&this.processingFilterChange}onNewRowsLoaded(J){let Z=[];this.allColumnFilters.forEach(($)=>{let X=$.isHandler;if(X)$.handler.onNewRowsLoaded?.();let Y=aZ($,X);if(Y)Z.push(Y.then((Q)=>{Q.onNewRowsLoaded?.()}))}),g.all(Z).then(()=>this.updateActive(J,{afterDataChange:!0}))}updateActive(J,Z){this.updateFilterFlagInColumns(J,Z).then(()=>this.updateActiveFilters())}createGetValue(J,Z){let{filterValueSvc:$,colModel:X}=this.beans;return(Y,Q)=>{let q=Q?X.getCol(Q):J;return q?$.getValue(q,Y,Z):void 0}}isFilterActive(J){let Z=this.cachedFilter(J);if(Z?.isHandler)return this.isHandlerActive(J);let $=Z?.filter;if($)return $.isFilterActive();return FJ(this.initialModel,J.getColId())!=null}isHandlerActive(J){let Z=T(FJ(this.model,J.getColId()));if(Z)return Z;let $=this.beans.groupFilter;return $?.isGroupFilter(J)?$.isFilterActive(J):!1}getOrCreateFilterUi(J){let Z=this.getOrCreateFilterWrapper(J,!0);return Z?aZ(Z):null}getFilterUiForDisplay(J){let Z=this.getOrCreateFilterWrapper(J,!0);if(!Z)return null;let $=aZ(Z);if(!$)return null;return $.then((X)=>({comp:X,params:Z.filterUi.filterParams,isHandler:Z.isHandler}))}getHandler(J,Z){let $=this.getOrCreateFilterWrapper(J,Z);return $?.isHandler?$.handler:void 0}getOrCreateFilterWrapper(J,Z){if(!J.isFilterAllowed())return;let $=this.cachedFilter(J);if(!$&&Z)$=this.createFilterWrapper(J),this.setColumnFilterWrapper(J,$);return $}cachedFilter(J){return this.allColumnFilters.get(J.getColId())}getDefaultFilter(J,Z=!1){return this.getDefaultFilterFromDataType(()=>this.beans.dataTypeSvc?.getBaseDataType(J),Z)}getDefaultFilterFromDataType(J,Z=!1){if(IH(this.gos))return Z?"agSetColumnFloatingFilter":"agSetColumnFilter";return T9(J(),Z)}getDefaultFloatingFilter(J){return this.getDefaultFilter(J,!0)}createFilterComp(J,Z,$,X,Y,Q){let q=()=>{let z=this.createFilterCompParams(J,Y,Q),U=X(z,Y);return p8(this.beans.userCompFactory,Z,U,$)},H=q();if(!H)return null;return{compDetails:H,createFilterUi:(z)=>{return(z?q():H).newAgStackInstance()}}}createFilterInstance(J,Z,$,X){let Y=this.beans.selectableFilter;if(Y?.isSelectable(Z))Z=Y.getFilterDef(J,Z);let{handler:Q,handlerParams:q,handlerGenerator:H}=this.createHandler(J,Z,$)??{},_=this.createFilterComp(J,Z,$,X,!!Q,"init");if(!_)return{compDetails:null,createFilterUi:null,handler:Q,handlerGenerator:H,handlerParams:q};let{compDetails:z,createFilterUi:U}=_;if(this.isGlobalButtons){if(!z.params?.buttons?.length)O(281,{colId:J.getColId()})}return{compDetails:z,handler:Q,handlerGenerator:H,handlerParams:q,createFilterUi:U}}createBaseFilterParams(J,Z){let{filterManager:$,rowModel:X}=this.beans;return x(this.gos,{column:J,colDef:J.getColDef(),getValue:this.createGetValue(J),doesRowPassOtherFilter:Z?()=>!0:(Y)=>$?.doesRowPassOtherFilters(J.getColId(),Y)??!0,rowModel:X})}createFilterCompParams(J,Z,$,X){let Y=this.filterChangedCallbackFactory(J),Q=this.createBaseFilterParams(J,X);if(Q.filterChangedCallback=Y,Q.filterModifiedCallback=X?()=>{}:(q)=>this.filterModified(J,q),Z){let q=Q,H=J.getColId(),_=FJ(this.model,H);q.model=_,q.state=this.state.get(H)??{model:_},q.onModelChange=(z,U)=>{this.updateStoredModel(H,z),this.refreshHandlerAndUi(J,z,"ui",!1,U).then(()=>{Y({...U,source:"columnFilter"})})},q.onStateChange=(z)=>{this.updateState(J,z),this.updateOrRefreshFilterUi(J)},q.onAction=(z,U,W)=>{this.updateModel(J,z,U),this.dispatchLocalEvent({type:"filterAction",column:J,action:z,event:W})},q.getHandler=()=>this.getHandler(J,!0),q.onUiChange=(z)=>this.filterUiChanged(J,z),q.source=$}return Q}createFilterUiForHandler(J,Z){return Z?{created:!1,create:Z,filterParams:J.params,compDetails:J}:null}createFilterUiLegacy(J,Z,$){let X=Z(),Y={created:!0,create:Z,filterParams:J.params,compDetails:J,promise:X};return X.then($),Y}createFilterWrapper(J){let{compDetails:Z,handler:$,handlerGenerator:X,handlerParams:Y,createFilterUi:Q}=this.createFilterInstance(J,J.getColDef(),this.getDefaultFilter(J),(H)=>H),q=J.getColId();if($)return delete this.initialModel[q],$.init?.({...Y,source:"init",model:FJ(this.model,q)}),{column:J,isHandler:!0,handler:$,handlerGenerator:X,handlerParams:Y,filterUi:this.createFilterUiForHandler(Z,Q)};if(Q){let H={column:J,filterUi:null,isHandler:!1};return H.filterUi=this.createFilterUiLegacy(Z,Q,(_)=>{H.filter=_??void 0}),H}return{column:J,filterUi:null,isHandler:!1}}createHandlerFunc(J,Z,$){let{gos:X,frameworkOverrides:Y,registry:Q}=this.beans,q,H=(B)=>{let K=B.filter;if(AY(K)){let E=K.handler;if(E)return E;if(q=K.doesFilterPass,q)return()=>({doesFilterPass:q});return}return typeof K==="string"?K:void 0},_=X.get("enableFilterHandlers"),z=_?H(Z):void 0,U=(B)=>()=>this.createBean(Q.createDynamicBean(B,!0)),W,G;if(typeof z==="string"){let B=X.get("filterHandlers")?.[z];if(B!=null)W=B;else if(VL.has(z))W=U(z),G=z}else W=z;if(!W){let B,{compName:K,jsComp:E,fwComp:L}=OY(Y,Z);if(K)B=K;else if(E==null&&L==null&&Z.filter===!0)B=$;if(G=this.handlerMap[B],G)W=U(G)}if(!W){if(!_)return;if(o(X))O(277,{colId:J.getColId()});return mL}return{filterHandler:W,handlerNameOrCallback:q??G}}createHandler(J,Z,$){let X=this.createHandlerFunc(J,Z,$);if(!X)return;let Y=M7(this.beans.userCompFactory,Z,this.createFilterCompParams(J,!0,"init")),{handlerNameOrCallback:Q,filterHandler:q}=X,{handler:H,handlerParams:_}=this.createHandlerFromFunc(J,q,Y);return{handler:H,handlerParams:_,handlerGenerator:Q??q}}createHandlerFromFunc(J,Z,$){let X=J.getColDef(),Y=Z(x(this.gos,{column:J,colDef:X})),Q=this.createHandlerParams(J,$);return{handler:Y,handlerParams:Q}}createHandlerParams(J,Z){let $=J.getColDef(),X=J.getColId(),Y=this.filterChangedCallbackFactory(J);return x(this.gos,{colDef:$,column:J,getValue:this.createGetValue(J),doesRowPassOtherFilter:(Q)=>this.beans.filterManager?.doesRowPassOtherFilters(X,Q)??!0,onModelChange:(Q,q)=>{this.updateStoredModel(X,Q),this.refreshHandlerAndUi(J,Q,"handler",!1,q).then(()=>{Y({...q,source:"columnFilter"})})},onModelAsStringChange:()=>{J.dispatchColEvent("filterChanged","filterChanged"),this.dispatchLocalEvent({type:"filterModelAsStringChanged",column:J})},filterParams:Z})}onColumnsChanged(){let J=[],{colModel:Z,filterManager:$,groupFilter:X}=this.beans;this.allColumnFilters.forEach((Q,q)=>{let H;if(Q.column.isPrimary())H=Z.getColDefCol(q);else H=Z.getCol(q);if(H&&H===Q.column)return;J.push(Q.column),this.disposeFilterWrapper(Q,"columnChanged"),this.disposeColumnListener(q)});let Y=X&&J.every((Q)=>X.isGroupFilter(Q));if(J.length>0&&!Y)$?.onFilterChanged({columns:J,source:"api"})}isFilterAllowed(J){if(!J.isFilterAllowed())return!1;let $=this.beans.groupFilter;if($?.isGroupFilter(J))return $.isFilterAllowed(J);return!0}getFloatingFilterCompDetails(J,Z){let{userCompFactory:$,frameworkOverrides:X,selectableFilter:Y,gos:Q}=this.beans,q=(B)=>{this.getOrCreateFilterUi(J)?.then((E)=>{B(mZ(E))})},H=J.getColDef(),_=Y?.isSelectable(H)?Y.getFilterDef(J,H):H,z=v9(X,_,()=>this.getDefaultFloatingFilter(J))??"agReadOnlyFloatingFilter",U=Q.get("enableFilterHandlers"),W=M7($,_,this.createFilterCompParams(J,U,"init",!0)),G=x(Q,{column:J,filterParams:W,currentParentModel:()=>this.getCurrentFloatingFilterParentModel(J),parentFilterInstance:q,showParentFilter:Z});if(U){let B=G,K=J.getColId(),E=this.filterChangedCallbackFactory(J);B.onUiChange=(L)=>this.floatingFilterUiChanged(J,L),B.model=FJ(this.model,K),B.onModelChange=(L,F)=>{this.updateStoredModel(K,L),this.refreshHandlerAndUi(J,L,"floating",!0,F).then(()=>{E({...F,source:"columnFilter"})})},B.getHandler=()=>this.getHandler(J,!0),B.source="init"}return i8($,H,G,z)}getCurrentFloatingFilterParentModel(J){return this.getModelFromFilterWrapper(this.cachedFilter(J)??{column:J})}destroyFilterUi(J,Z,$,X){if(J.isHandler){let Q=Z.getColId();delete this.initialModel[Q],this.state.delete(Q);let q=J.filterUi,H=this.createFilterUiForHandler($,X);J.filterUi=H;let _=this.eventSvc;if(q?.created)q.promise.then((z)=>{this.destroyBean(z),_.dispatchEvent({type:"filterDestroyed",source:"paramsUpdated",column:Z})});else _.dispatchEvent({type:"filterHandlerDestroyed",source:"paramsUpdated",column:Z})}else this.destroyFilter(Z,"paramsUpdated")}destroyFilter(J,Z="api"){let $=J.getColId(),X=this.allColumnFilters.get($);if(this.disposeColumnListener($),delete this.initialModel[$],X)this.disposeFilterWrapper(X,Z).then((Y)=>{if(Y&&this.isAlive())this.beans.filterManager?.onFilterChanged({columns:[J],source:"api"})})}disposeColumnListener(J){let Z=this.allColumnListeners.get(J);if(Z)this.allColumnListeners.delete(J),Z()}disposeFilterWrapper(J,Z){let $=!1,{column:X,isHandler:Y,filterUi:Q}=J,q=X.getColId();if(Y)$=this.isHandlerActive(X),this.destroyBean(J.handler),delete this.model[q],this.state.delete(q);let H=()=>{this.setColFilterActive(X,!1,"filterDestroyed"),this.allColumnFilters.delete(q),this.eventSvc.dispatchEvent({type:"filterDestroyed",source:Z,column:X})};if(Q)if(Q.created)return Q.promise.then((_)=>{return $=Y?$:!!_?.isFilterActive(),this.destroyBean(_),H(),$});else H();return g.resolve($)}filterChangedCallbackFactory(J){return(Z)=>{this.callOnFilterChangedOutsideRenderCycle({additionalEventAttributes:Z,columns:[J],column:J,source:Z?.source??"columnFilter"})}}filterParamsChanged(J,Z="api"){let $=this.allColumnFilters.get(J);if(!$)return;let X=this.beans,Y=$.column,Q=Y.getColDef(),q=Y.isFilterAllowed(),H=this.getDefaultFilter(Y),_=X.selectableFilter,z=_?.isSelectable(Q)?_.getFilterDef(Y,Q):Q,U=q?this.createHandlerFunc(Y,z,this.getDefaultFilter(Y)):void 0,W=!!U,G=$.isHandler;if(G!=W){this.destroyFilter(Y,"paramsUpdated");return}let{compDetails:B,createFilterUi:K}=(q?this.createFilterComp(Y,z,H,(L)=>L,W,"colDef"):null)??{compDetails:null,createFilterUi:null},E=B?.params??M7(X.userCompFactory,z,this.createFilterCompParams(Y,W,"colDef"));if(G){let L=U?.handlerNameOrCallback??U?.filterHandler,F=FJ(this.model,J);if($.handlerGenerator!=L){let D=$.handler,{handler:k,handlerParams:j}=this.createHandlerFromFunc(Y,U.filterHandler,E);if($.handler=k,$.handlerParams=j,$.handlerGenerator=L,delete this.model[J],k.init?.({...j,source:"init",model:null}),this.destroyBean(D),F!=null)this.beans.filterManager?.onFilterChanged({columns:[Y],source:Z})}else{let D=this.createHandlerParams(Y,B?.params);$.handlerParams=D,$.handler.refresh?.({...D,source:"colDef",model:F})}}if(this.areFilterCompsDifferent($.filterUi?.compDetails??null,B)||!$.filterUi||!B){this.destroyFilterUi($,Y,B,K);return}$.filterUi.filterParams=E,aZ($,G)?.then((L)=>{if((L?.refresh?L.refresh(E):!0)===!1)this.destroyFilterUi($,Y,B,K);else this.dispatchLocalEvent({type:"filterParamsChanged",column:Y,params:E})})}refreshHandlerAndUi(J,Z,$,X,Y){let Q=this.cachedFilter(J);if(!Q){if(X)this.getOrCreateFilterWrapper(J,!0);return g.resolve()}if(!Q.isHandler)return g.resolve();let{filterUi:q,handler:H,handlerParams:_}=Q;return s6(()=>{if(q){let{created:z,filterParams:U}=q;if(z)return q.promise.then((W)=>{return W?{filter:W,filterParams:U}:void 0});else q.refreshed=!0}return g.resolve(void 0)},H,_,Z,this.state.get(J.getColId())??{model:Z},$,Y)}setColumnFilterWrapper(J,Z){let $=J.getColId();this.allColumnFilters.set($,Z),this.allColumnListeners.set($,this.addManagedListeners(J,{colDefChanged:()=>this.filterParamsChanged($)})[0])}areFilterCompsDifferent(J,Z){if(!Z||!J)return!0;let{componentClass:$}=J,{componentClass:X}=Z;return!($===X||$?.render&&X?.render&&$.render===X.render)}hasFloatingFilters(){return this.beans.colModel.getCols().some((Z)=>Z.getColDef().floatingFilter)}getFilterInstance(J){let Z=this.beans.colModel.getColDefCol(J);if(!Z)return Promise.resolve(void 0);let $=this.getOrCreateFilterUi(Z);if(!$)return Promise.resolve(null);return new Promise((X)=>{$.then((Y)=>{X(mZ(Y))})})}processFilterModelUpdateQueue(){this.modelUpdates.forEach(({model:J,source:Z})=>this.setModel(J,Z)),this.modelUpdates=[],this.columnModelUpdates.forEach(({key:J,model:Z,resolve:$})=>{this.setModelForColumn(J,Z).then(()=>$())}),this.columnModelUpdates=[]}getModelForColumn(J,Z){if(Z){let{state:X,model:Y}=this,Q=J.getColId(),q=X.get(Q);if(q)return q.model??null;return FJ(Y,Q)}let $=this.cachedFilter(J);return $?this.getModelFromFilterWrapper($):null}setModelForColumn(J,Z){if(this.beans.dataTypeSvc?.isPendingInference){let $=()=>{},X=new Promise((Y)=>{$=Y});return this.columnModelUpdates.push({key:J,model:Z,resolve:$}),X}return new Promise(($)=>{this.setModelForColumnLegacy(J,Z).then((X)=>$(X))})}getStateForColumn(J){return this.state.get(J)??{model:FJ(this.model,J)}}setModelForColumnLegacy(J,Z){let $=this.beans.colModel.getColDefCol(J),X=$?this.getOrCreateFilterWrapper($,!0):null;return X?this.setModelOnFilterWrapper(X,Z):g.resolve()}setColDefPropsForDataType(J,Z,$){let X=J.filter,Y=X===!0?this.getDefaultFilterFromDataType(()=>Z.baseDataType):X;if(typeof Y!=="string")return;let Q,q,H=this.beans,{filterParams:_,filterValueGetter:z}=J;if(Y==="agMultiColumnFilter")({filterParams:Q,filterValueGetter:q}=H.multiFilter?.getParamsForDataType(_,z,Z,$)??{});else({filterParams:Q,filterValueGetter:q}=P9(Y,_,z,Z,$,H,this.getLocaleTextFunc()));if(J.filterParams=Q,q)J.filterValueGetter=q}setColFilterActive(J,Z,$,X){if(J.filterActive!==Z)J.filterActive=Z,J.dispatchColEvent("filterActiveChanged",$);J.dispatchColEvent("filterChanged",$,X)}setModelOnFilterWrapper(J,Z,$){return new g((X)=>{if(J.isHandler){let Q=J.column,q=Q.getColId(),H=this.model[q];if(this.updateStoredModel(q,Z),$&&Z===H){X();return}this.refreshHandlerAndUi(Q,Z,"api").then(()=>X());return}let Y=aZ(J);if(Y){Y.then((Q)=>{if(typeof Q?.setModel!=="function"){O(65),X();return}(Q.setModel(Z)||g.resolve()).then(()=>X())});return}X()})}updateStoredModel(J,Z){if(T(Z))this.model[J]=Z;else delete this.model[J];let $=this.state.get(J),X={model:Z,state:$?.state};this.state.set(J,X)}filterModified(J,Z){this.getOrCreateFilterUi(J)?.then(($)=>{this.eventSvc.dispatchEvent({type:"filterModified",column:J,filterInstance:$,...Z})})}filterUiChanged(J,Z){if(this.gos.get("enableFilterHandlers"))this.eventSvc.dispatchEvent({type:"filterUiChanged",column:J,...Z})}floatingFilterUiChanged(J,Z){if(this.gos.get("enableFilterHandlers"))this.eventSvc.dispatchEvent({type:"floatingFilterUiChanged",column:J,...Z})}updateModel(J,Z,$){let X=J.getColId(),Y=this.cachedFilter(J),Q=()=>Y?.filterUi;L6({action:Z,filterParams:Y?.filterUi?.filterParams,getFilterUi:Q,getModel:()=>FJ(this.model,X),getState:()=>this.state.get(X),updateState:(q)=>this.updateState(J,q),updateModel:(q)=>Q()?.filterParams?.onModelChange(q,{...$,fromAction:Z}),processModelToApply:Y?.isHandler?Y.handler.processModelToApply?.bind(Y.handler):void 0})}updateAllModels(J,Z){let $=[];if(this.allColumnFilters.forEach((X,Y)=>{let Q=this.beans.colModel.getColDefCol(Y);if(Q)L6({action:J,filterParams:X.filterUi?.filterParams,getFilterUi:()=>X.filterUi,getModel:()=>FJ(this.model,Y),getState:()=>this.state.get(Y),updateState:(q)=>this.updateState(Q,q),updateModel:(q)=>{this.updateStoredModel(Y,q),this.dispatchLocalEvent({type:"filterAction",column:Q,action:J}),$.push(this.refreshHandlerAndUi(Q,q,"ui"))},processModelToApply:X?.isHandler?X.handler.processModelToApply?.bind(X.handler):void 0})}),$.length)g.all($).then(()=>{this.callOnFilterChangedOutsideRenderCycle({source:"columnFilter",additionalEventAttributes:Z,columns:[]})})}updateOrRefreshFilterUi(J){let Z=J.getColId();U4(()=>this.cachedFilter(J)?.filterUi,()=>FJ(this.model,Z),()=>this.state.get(Z))}updateState(J,Z){this.state.set(J.getColId(),Z),this.dispatchLocalEvent({type:"filterStateChanged",column:J,state:Z})}canApplyAll(){let{state:J,model:Z,activeFilterComps:$}=this;for(let Y of $)if(Y.source==="COLUMN_MENU")return!1;let X=!1;for(let Y of J.keys()){let Q=J.get(Y);if(Q.valid===!1)return!1;if((Q.model??null)!==FJ(Z,Y))X=!0}return X}hasUnappliedModel(J){let{model:Z,state:$}=this;return($.get(J)?.model??null)!==FJ(Z,J)}setGlobalButtons(J){this.isGlobalButtons=J,this.dispatchLocalEvent({type:"filterGlobalButtons",isGlobal:J})}shouldKeepStateOnDetach(J,Z){if(Z==="newFiltersToolPanel")return!0;let $=this.beans.filterPanelSvc;if($?.isActive)return!!$.getState(J.getColId());return!1}onPivotModeChanged(J){let{colModel:Z,pivotColsSvc:$}=this.beans,X=!!TZ(this.gos),Y=J.currentValue,Q=Y?this.activeColumnFilters:this.activeAggregateFilters,q=Y?this.activeAggregateFilters:this.activeColumnFilters,H=[];for(let _ of Q){let z=Z.getColById(_.colId),U=Y&&!!$?.columns.length;if(z&&Y===FX(z,Y,U,X))q.push(_),H.push(_)}$5(Q,H)}destroy(){super.destroy(),this.allColumnFilters.forEach((J)=>this.disposeFilterWrapper(J,"gridDestroyed")),this.allColumnListeners.clear(),this.state.clear(),this.activeFilterComps.clear()}};function pL(J){return!!J.filterManager?.isAnyFilterPresent()}function iL(J,Z="api"){J.filterManager?.onFilterChanged({source:Z})}var dL=class extends M{constructor(){super(...arguments);this.beanName="filterManager",this.advFilterModelUpdateQueue=[]}wireBeans(J){this.quickFilter=J.quickFilter,this.advancedFilter=J.advancedFilter,this.colFilter=J.colFilter}postConstruct(){let J=this.refreshFiltersForAggregations.bind(this),Z=this.updateAdvFilterColumns.bind(this);if(this.addManagedEventListeners({columnValueChanged:J,columnPivotChanged:J,columnPivotModeChanged:J,newColumnsLoaded:Z,columnVisible:Z,advancedFilterEnabledChanged:({enabled:X})=>this.onAdvFilterEnabledChanged(X),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.externalFilterPresent=this.isExternalFilterPresentCallback(),this.addManagedPropertyListeners(["isExternalFilterPresent","doesExternalFilterPass"],()=>{this.onFilterChanged({source:"api"})}),this.updateAggFiltering(),this.addManagedPropertyListener("groupAggFiltering",()=>{this.updateAggFiltering(),this.onFilterChanged()}),this.quickFilter)this.addManagedListeners(this.quickFilter,{quickFilterChanged:()=>this.onFilterChanged({source:"quickFilter"})});let{gos:$}=this;this.alwaysPassFilter=$.get("alwaysPassFilter"),this.addManagedPropertyListener("alwaysPassFilter",()=>{this.alwaysPassFilter=$.get("alwaysPassFilter"),this.onFilterChanged({source:"api"})})}isExternalFilterPresentCallback(){let J=this.gos.getCallback("isExternalFilterPresent");return typeof J==="function"&&J({})}doesExternalFilterPass(J){let Z=this.gos.get("doesExternalFilterPass");return typeof Z==="function"&&Z(J)}setFilterState(J,Z,$="api"){if(this.isAdvFilterEnabled())return;this.colFilter?.setState(J,Z,$)}setFilterModel(J,Z="api",$){if(this.isAdvFilterEnabled()){if(!$)this.warnAdvFilters();return}this.colFilter?.setModel(J,Z)}getFilterModel(){return this.colFilter?.getModel()??{}}getFilterState(){return this.colFilter?.getState()}isColumnFilterPresent(){return!!this.colFilter?.isFilterPresent()}isAggregateFilterPresent(){return!!this.colFilter?.isAggFilterPresent()}isChildFilterPresent(){return this.isColumnFilterPresent()||this.isQuickFilterPresent()||this.externalFilterPresent||this.isAdvFilterPresent()}isAnyFilterPresent(){return this.isChildFilterPresent()||this.isAggregateFilterPresent()}isAdvFilterPresent(){return this.isAdvFilterEnabled()&&this.advancedFilter.isFilterPresent()}onAdvFilterEnabledChanged(J){if(J){if(this.colFilter?.disableFilters())this.onFilterChanged({source:"advancedFilter"})}else if(this.advancedFilter?.isFilterPresent())this.advancedFilter.setModel(null),this.onFilterChanged({source:"advancedFilter"})}isAdvFilterEnabled(){return!!this.advancedFilter?.isEnabled()}isAdvFilterHeaderActive(){return this.isAdvFilterEnabled()&&this.advancedFilter.isHeaderActive()}refreshFiltersForAggregations(){if(TZ(this.gos)&&this.isAnyFilterPresent())this.onFilterChanged()}onFilterChanged(J={}){let{source:Z,additionalEventAttributes:$,columns:X=[]}=J;this.externalFilterPresent=this.isExternalFilterPresentCallback(),(this.colFilter?this.colFilter.updateBeforeFilterChanged(J):g.resolve()).then(()=>{let Y={source:Z,type:"filterChanged",columns:X};if($)BJ(Y,$);this.eventSvc.dispatchEvent(Y),this.colFilter?.updateAfterFilterChanged()})}isSuppressFlashingCellsBecauseFiltering(){return!!this.colFilter?.isSuppressFlashingCellsBecauseFiltering()}isQuickFilterPresent(){return!!this.quickFilter?.isFilterPresent()}updateAggFiltering(){this.aggFiltering=!!TZ(this.gos)}isAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&this.shouldApplyQuickFilterAfterAgg()}isNonAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&!this.shouldApplyQuickFilterAfterAgg()}shouldApplyQuickFilterAfterAgg(){return(this.aggFiltering||this.beans.colModel.isPivotMode())&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")}doesRowPassOtherFilters(J,Z){return this.doesRowPassFilter({rowNode:Z,colIdToSkip:J})}doesRowPassAggregateFilters(J){let{rowNode:Z}=J;if(this.alwaysPassFilter?.(Z))return!0;if(this.isAggregateQuickFilterPresent()&&!this.quickFilter.doesRowPass(Z))return!1;if(this.isAggregateFilterPresent()&&!this.colFilter.doFiltersPass(Z,J.colIdToSkip,!0))return!1;return!0}doesRowPassFilter(J){let{rowNode:Z}=J;if(this.alwaysPassFilter?.(Z))return!0;if(this.isNonAggregateQuickFilterPresent()&&!this.quickFilter.doesRowPass(Z))return!1;if(this.externalFilterPresent&&!this.doesExternalFilterPass(Z))return!1;if(this.isColumnFilterPresent()&&!this.colFilter.doFiltersPass(Z,J.colIdToSkip))return!1;if(this.isAdvFilterPresent()&&!this.advancedFilter.doesFilterPass(Z))return!1;return!0}isFilterAllowed(J){if(this.isAdvFilterEnabled())return!1;return!!this.colFilter?.isFilterAllowed(J)}getAdvFilterModel(){return this.isAdvFilterEnabled()?this.advancedFilter.getModel():null}setAdvFilterModel(J,Z="api"){if(!this.isAdvFilterEnabled())return;if(this.beans.dataTypeSvc?.isPendingInference){this.advFilterModelUpdateQueue.push(J);return}this.advancedFilter.setModel(J??null),this.onFilterChanged({source:Z})}toggleAdvFilterBuilder(J,Z){if(!this.isAdvFilterEnabled())return;this.advancedFilter.getCtrl().toggleFilterBuilder({source:Z,force:J})}updateAdvFilterColumns(){if(!this.isAdvFilterEnabled())return;if(this.advancedFilter.updateValidity())this.onFilterChanged({source:"advancedFilter"})}hasFloatingFilters(){if(this.isAdvFilterEnabled())return!1;return!!this.colFilter?.hasFloatingFilters()}getColumnFilterInstance(J){if(this.isAdvFilterEnabled())return this.warnAdvFilters(),Promise.resolve(void 0);return this.colFilter?.getFilterInstance(J)??Promise.resolve(void 0)}warnAdvFilters(){O(68)}setupAdvFilterHeaderComp(J){this.advancedFilter?.getCtrl().setupHeaderComp(J)}getHeaderRowCount(){return this.isAdvFilterHeaderActive()?1:0}getHeaderHeight(){return this.isAdvFilterHeaderActive()?this.advancedFilter.getCtrl().getHeaderHeight():0}processFilterModelUpdateQueue(){for(let J of this.advFilterModelUpdateQueue)this.setAdvFilterModel(J);this.advFilterModelUpdateQueue=[]}setColumnFilterModel(J,Z){if(this.isAdvFilterEnabled())return this.warnAdvFilters(),Promise.resolve();return this.colFilter?.setModelForColumn(J,Z)??Promise.resolve()}};function nL(J){return{tag:"div",cls:J}}var I9=class extends y{constructor(J){let{className:Z="ag-filter-apply-panel"}=J??{};super(nL(Z));this.listeners=[],this.validationMessage=null,this.className=Z}updateButtons(J,Z){let $=this.buttons;if(this.buttons=J,$===J)return;let X=this.getGui();ZJ(X);let Y;this.destroyListeners();let Q=document.createDocumentFragment(),q=this.className,H=({type:z,label:U})=>{let W=(F)=>{this.dispatchLocalEvent({type:z,event:F})};if(!["apply","clear","reset","cancel"].includes(z))O(75);let G=z==="apply",K=XJ({tag:"button",attrs:{type:G&&Z?"submit":"button"},ref:`${z}FilterButton`,cls:`ag-button ag-standard-button ${q}-button${G?" "+q+"-apply-button":""}`,children:U});if(this.activateTabIndex([K]),G)Y=K;let E=(F)=>{if(F.key===V.ENTER)F.preventDefault(),W(F)},L=this.listeners;K.addEventListener("click",W),L.push(()=>K.removeEventListener("click",W)),K.addEventListener("keydown",E),L.push(()=>K.removeEventListener("keydown",E)),Q.append(K)};for(let z of J)H(z);this.eApply=Y;let _=this.validationTooltipFeature;if(Y&&!_)this.validationTooltipFeature=this.createOptionalManagedBean(this.beans.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.eApply,getLocation:()=>"advancedFilter",getTooltipShowDelayOverride:()=>1000}));else if(!Y&&_)this.validationTooltipFeature=this.destroyBean(_);X.append(Q)}getApplyButton(){return this.eApply}updateValidity(J,Z=null){let $=this.eApply;if(!$)return;f8($,!J),this.validationMessage=Z,this.validationTooltipFeature?.setTooltipAndRefresh(this.validationMessage)}destroyListeners(){for(let J of this.listeners)J();this.listeners=[]}destroy(){this.destroyListeners(),super.destroy()}};var b9=class extends y{constructor(J,Z,$,X,Y,Q){super();this.column=J,this.wrapper=Z,this.eventParent=$,this.updateModel=X,this.isGlobalButtons=Y,this.enableGlobalButtonCheck=Q,this.hidePopup=null,this.applyActive=!1}postConstruct(){let{comp:J,params:Z}=this.wrapper,$=Z,X=$.useForm,Y=X?"form":"div";if(this.setTemplate({tag:Y,cls:"ag-filter-wrapper"}),X)this.addManagedElementListeners(this.getGui(),{submit:(Q)=>{Q?.preventDefault()},keydown:this.handleKeyDown.bind(this)});this.appendChild(J.getGui()),this.params=$,this.resetButtonsPanel($),this.addManagedListeners(this.eventParent,{filterParamsChanged:({column:Q,params:q})=>{if(Q===this.column)this.resetButtonsPanel(q,this.params)},filterStateChanged:({column:Q,state:q})=>{if(Q===this.column)this.eButtons?.updateValidity(q.valid!==!1)},filterAction:({column:Q,action:q,event:H})=>{if(Q===this.column)this.afterAction(q,H)},...this.enableGlobalButtonCheck?{filterGlobalButtons:({isGlobal:Q})=>{if(Q!==this.isGlobalButtons){this.isGlobalButtons=Q;let q=this.params;this.resetButtonsPanel(q,q,!0)}}}:void 0})}afterGuiAttached(J){if(J)this.hidePopup=J.hidePopup}resetButtonsPanel(J,Z,$){let{buttons:X,readOnly:Y}=Z??{},{buttons:Q,readOnly:q,useForm:H}=J;if(!$&&Y===q&&F6(X,Q))return;let _=Q&&Q.length>0&&!J.readOnly&&!this.isGlobalButtons,z=this.eButtons;if(_){let U=Q.map((W)=>{let G=`${W}Filter`;return{type:W,label:CY(this,G)}});if(this.applyActive=G5(this.params),!z){z=this.createBean(new I9),this.appendChild(z.getGui());let W=this.column,G=(B)=>({event:K})=>{this.updateModel(W,B,{fromButtons:!0}),this.afterAction(B,K)};z?.addManagedListeners(z,{apply:G("apply"),clear:G("clear"),reset:G("reset"),cancel:G("cancel")}),this.eButtons=z}z.updateButtons(U,H)}else if(this.applyActive=!1,z)TJ(z.getGui()),this.eButtons=this.destroyBean(z)}close(J){let Z=this.hidePopup;if(!Z)return;let $=J,X=$?.key,Y;if(X===V.ENTER||X===V.SPACE)Y={keyboardEvent:$};Z(Y),this.hidePopup=null}afterAction(J,Z){let{params:$,applyActive:X}=this,Y=$?.closeOnApply;switch(J){case"apply":{if(Z?.preventDefault(),Y&&X)this.close(Z);break}case"reset":{if(Y&&X)this.close();break}case"cancel":{if(Y)this.close(Z);break}}}handleKeyDown(J){if(!J.defaultPrevented&&J.key===V.ENTER&&this.applyActive)this.updateModel(this.column,"apply",{fromButtons:!0}),this.afterAction("apply",J)}destroy(){this.hidePopup=null,this.eButtons=this.destroyBean(this.eButtons)}},sL=":where(.ag-menu:not(.ag-tabs) .ag-filter)>:not(.ag-filter-wrapper){min-width:180px}",rL={tag:"div",cls:"ag-filter"},C9=class extends y{constructor(J,Z,$){super(rL);this.column=J,this.source=Z,this.enableGlobalButtonCheck=$,this.wrapper=null}postConstruct(){this.beans.colFilter?.activeFilterComps.add(this),this.createFilter(!0),this.addManagedEventListeners({filterDestroyed:this.onFilterDestroyed.bind(this)})}hasFilter(){return this.wrapper!=null}getFilter(){return this.wrapper?.then((J)=>J.comp)??null}afterInit(){return this.wrapper?.then(()=>{})??g.resolve()}afterGuiAttached(J){this.afterGuiAttachedParams=J,this.wrapper?.then((Z)=>{this.comp?.afterGuiAttached(J),Z?.comp?.afterGuiAttached?.(J)})}afterGuiDetached(){this.wrapper?.then((J)=>{J?.comp?.afterGuiDetached?.()})}createFilter(J){let{column:Z,source:$,beans:{colFilter:X}}=this,Y=X.getFilterUiForDisplay(Z)??null;this.wrapper=Y,Y?.then((Q)=>{if(!Q)return;let{isHandler:q,comp:H}=Q,_;if(q){let z=!!this.enableGlobalButtonCheck,U=this.createBean(new b9(Z,Q,X,X.updateModel.bind(X),z&&X.isGlobalButtons,z));this.comp=U,_=U.getGui()}else if(this.registerCSS(sL),_=H.getGui(),!T(_))O(69,{guiFromFilter:_});if(this.appendChild(_),J)this.eventSvc.dispatchEvent({type:"filterOpened",column:Z,source:$,eGui:this.getGui()});else H.afterGuiAttached?.(this.afterGuiAttachedParams)})}onFilterDestroyed(J){let{source:Z,column:$}=J;if((Z==="api"||Z==="paramsUpdated")&&$.getId()===this.column.getId()&&this.beans.colModel.getColDefCol(this.column))ZJ(this.getGui()),this.comp=this.destroyBean(this.comp),this.createFilter()}destroy(){this.beans.colFilter?.activeFilterComps.delete(this),this.eventSvc.dispatchEvent({type:"filterClosed",column:this.column}),this.wrapper=null,this.comp=this.destroyBean(this.comp),this.afterGuiAttachedParams=void 0,super.destroy()}},tL=class extends M{constructor(){super(...arguments);this.beanName="filterMenuFactory"}wireBeans(J){this.popupSvc=J.popupSvc}hideActiveMenu(){this.hidePopup?.()}showMenuAfterMouseEvent(J,Z,$,X){if(J&&!J.isColumn)return;this.showPopup(J,(Y)=>{this.popupSvc?.positionPopupUnderMouseEvent({additionalParams:{column:J},type:$,mouseEvent:Z,ePopup:Y})},$,Z.target,WJ(this.gos),X)}showMenuAfterButtonClick(J,Z,$,X){if(J&&!J.isColumn)return;let Y=-1,Q="left",q=WJ(this.gos);if(!q&&this.gos.get("enableRtl"))Y=1,Q="right";let H=q?void 0:4*Y,_=q?void 0:4;this.showPopup(J,(z)=>{this.popupSvc?.positionPopupByComponent({type:$,eventSource:Z,ePopup:z,nudgeX:H,nudgeY:_,alignSide:Q,keepWithinBounds:!0,position:"under",additionalParams:{column:J}})},$,Z,q,X)}showPopup(J,Z,$,X,Y,Q){let q=J?this.createBean(new C9(J,"COLUMN_MENU")):void 0;if(this.activeMenu=q,!q?.hasFilter()||!J){e(57);return}let H=XJ({tag:"div",cls:`ag-menu${!Y?" ag-filter-menu":""}`,role:"presentation"});[this.tabListener]=this.addManagedElementListeners(H,{keydown:(E)=>this.trapFocusWithin(E,H)}),H.appendChild(q?.getGui());let _,z=()=>q?.afterGuiDetached(),U=N8(this.gos)?X??this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody:void 0,W=(E)=>{Z5(J,!1,"contextMenu");let L=E instanceof KeyboardEvent;if(this.tabListener)this.tabListener=this.tabListener();if(L&&X&&AJ(X))x6(X)?.focus({preventScroll:!0});z(),this.destroyBean(this.activeMenu),this.dispatchVisibleChangedEvent(!1,$,J),Q?.()},G=this.getLocaleTextFunc(),B=Y&&$!=="columnFilter"?G("ariaLabelColumnMenu","Column Menu"):G("ariaLabelColumnFilter","Column Filter"),K=this.popupSvc?.addPopup({modal:!0,eChild:H,closeOnEsc:!0,closedCallback:W,positionCallback:()=>Z(H),anchorToElement:U,ariaLabel:B});if(K)this.hidePopup=_=K.hideFunc;q.afterInit().then(()=>{Z(H),q.afterGuiAttached({container:$,hidePopup:_})}),Z5(J,!0,"contextMenu"),this.dispatchVisibleChangedEvent(!0,$,J)}trapFocusWithin(J,Z){if(J.key!==V.TAB||J.defaultPrevented||OJ(this.beans,Z,!1,J.shiftKey))return;J.preventDefault(),DJ(Z,J.shiftKey)}dispatchVisibleChangedEvent(J,Z,$){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:J,switchingTab:!1,key:Z,column:$??null,columnGroup:null})}isMenuEnabled(J){return J.isFilterAllowed()&&(J.getColDef().menuTabs??["filterMenuTab"]).includes("filterMenuTab")}showMenuAfterContextMenuEvent(){}destroy(){this.destroyBean(this.activeMenu),super.destroy()}},lL=class extends M{constructor(){super(...arguments);this.beanName="filterValueSvc"}getValue(J,Z,$){if(!Z)return;let X=J.getColDef(),{selectableFilter:Y,valueSvc:Q,formula:q}=this.beans,H=$??Y?.getFilterValueGetter(J.getColId())??X.filterValueGetter;if(H)return this.executeFilterValueGetter(H,Z.data,J,Z,X);let _=Q.getValue(J,Z,"data");if(J.isAllowFormula()&&q?.isFormula(_))return q.resolveValue(J,Z);return _}executeFilterValueGetter(J,Z,$,X,Y){let{expressionSvc:Q,valueSvc:q}=this.beans,H=x(this.gos,{data:Z,node:X,column:$,colDef:Y,getValue:q.getValueCallback.bind(q,X)});if(typeof J==="function")return J(H);return Q?.evaluate(J,H)}};function aL(J){return!!J.quickFilter?.isFilterPresent()}function oL(J){return J.quickFilter?.getText()}function eL(J){J.quickFilter?.resetCache()}var JF=class extends M{constructor(){super(...arguments);this.beanName="quickFilter",this.quickFilter=null,this.quickFilterParts=null}postConstruct(){let J=this.resetCache.bind(this),Z=this.gos;this.addManagedEventListeners({columnPivotModeChanged:J,newColumnsLoaded:J,columnRowGroupChanged:J,columnVisible:()=>{if(!Z.get("includeHiddenColumnsInQuickFilter"))this.resetCache()}}),this.addManagedPropertyListener("quickFilterText",($)=>this.setFilter($.currentValue)),this.addManagedPropertyListeners(["includeHiddenColumnsInQuickFilter","applyQuickFilterBeforePivotOrAgg"],()=>this.onColumnConfigChanged()),this.quickFilter=this.parseFilter(Z.get("quickFilterText")),this.parser=Z.get("quickFilterParser"),this.matcher=Z.get("quickFilterMatcher"),this.setFilterParts(),this.addManagedPropertyListeners(["quickFilterMatcher","quickFilterParser"],()=>this.setParserAndMatcher())}refreshCols(){let{autoColSvc:J,colModel:Z,gos:$,pivotResultCols:X}=this.beans,Y=Z.isPivotMode(),Q=J?.getColumns(),q=Z.getColDefCols(),H=(Y&&!$.get("applyQuickFilterBeforePivotOrAgg")?X?.getPivotResultCols()?.list:q)??[];if(Q)H=H.concat(Q);this.colsToUse=$.get("includeHiddenColumnsInQuickFilter")?H:H.filter((_)=>_.isVisible()||_.isRowGroupActive())}isFilterPresent(){return this.quickFilter!==null}doesRowPass(J){let Z=this.gos.get("cacheQuickFilter");if(this.matcher)return this.doesRowPassMatcher(Z,J);return this.quickFilterParts.every(($)=>Z?this.doesRowPassCache(J,$):this.doesRowPassNoCache(J,$))}resetCache(){this.beans.rowModel.forEachNode((J)=>J.quickFilterAggregateText=null)}getText(){return this.gos.get("quickFilterText")}setFilterParts(){let{quickFilter:J,parser:Z}=this;if(J)this.quickFilterParts=Z?Z(J):J.split(" ");else this.quickFilterParts=null}parseFilter(J){if(!T(J))return null;return J.toUpperCase()}setFilter(J){if(J!=null&&typeof J!=="string"){O(70,{newFilter:J});return}let Z=this.parseFilter(J);if(this.quickFilter!==Z)this.quickFilter=Z,this.setFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"})}setParserAndMatcher(){let J=this.gos.get("quickFilterParser"),Z=this.gos.get("quickFilterMatcher"),$=J!==this.parser||Z!==this.matcher;if(this.parser=J,this.matcher=Z,$)this.setFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"})}onColumnConfigChanged(){if(this.refreshCols(),this.resetCache(),this.isFilterPresent())this.dispatchLocalEvent({type:"quickFilterChanged"})}doesRowPassNoCache(J,Z){return this.colsToUse.some(($)=>{let X=this.getTextForColumn($,J);return T(X)&&X.includes(Z)})}doesRowPassCache(J,Z){return this.checkGenerateAggText(J),J.quickFilterAggregateText.includes(Z)}doesRowPassMatcher(J,Z){let $;if(J)this.checkGenerateAggText(Z),$=Z.quickFilterAggregateText;else $=this.getAggText(Z);let{quickFilterParts:X,matcher:Y}=this;return Y(X,$)}checkGenerateAggText(J){if(!J.quickFilterAggregateText)J.quickFilterAggregateText=this.getAggText(J)}getTextForColumn(J,Z){let $=this.beans.filterValueSvc.getValue(J,Z),X=J.getColDef();if(X.getQuickFilterText){let Y=x(this.gos,{value:$,node:Z,data:Z.data,column:J,colDef:X});$=X.getQuickFilterText(Y)}return T($)?$.toString().toUpperCase():null}getAggText(J){let Z=[];for(let $ of this.colsToUse){let X=this.getTextForColumn($,J);if(T(X))Z.push(X)}return Z.join(` `)}},ZF={moduleName:"ClientSideRowModelFilter",version:p,rowModels:["clientSide"],beans:[_E]},W4={moduleName:"FilterCore",version:p,beans:[dL],apiFunctions:{isAnyFilterPresent:pL,onFilterChanged:iL},css:[OL],dependsOn:[ZF]},G4={moduleName:"FilterValue",version:p,beans:[lL]},B4={moduleName:"ColumnFilter",version:p,beans:[cL,tL],dynamicBeans:{headerFilterCellCtrl:jL},icons:{filter:"filter",filterActive:"filter"},apiFunctions:{isColumnFilterPresent:SL,getColumnFilterInstance:fL,destroyFilter:PL,setFilterModel:TL,getFilterModel:vL,getColumnFilterModel:IL,setColumnFilterModel:bL,showColumnFilter:CL,hideColumnFilter:xL,getColumnFilterHandler:yL,doFilterAction:NL},dependsOn:[W4,d0,G4,f9]};var $F={moduleName:"QuickFilterCore",version:p,rowModels:["clientSide"],beans:[JF],dependsOn:[W4,G4]},K4={moduleName:"QuickFilter",version:p,apiFunctions:{isQuickFilterPresent:aL,getQuickFilter:oL,resetQuickFilter:eL},dependsOn:[$F]};var XF=class extends M{constructor(){super(...arguments);this.beanName="apiEventSvc",this.syncListeners=new Map,this.asyncListeners=new Map,this.syncGlobalListeners=new Set,this.globalListenerPairs=new Map}postConstruct(){this.wrapSvc=this.beans.frameworkOverrides.createGlobalEventListenerWrapper?.()}addListener(J,Z){let $=this.wrapSvc?.wrap(J,Z)??Z,X=!t5.has(J),Y=X?this.asyncListeners:this.syncListeners;if(!Y.has(J))Y.set(J,new Set);Y.get(J).add($),this.eventSvc.addListener(J,$,X)}removeListener(J,Z){let $=this.wrapSvc?.unwrap(J,Z)??Z,Y=!!this.asyncListeners.get(J)?.delete($);if(!Y)this.syncListeners.get(J)?.delete($);this.eventSvc.removeListener(J,$,Y)}addGlobalListener(J){let Z=this.wrapSvc?.wrapGlobal(J)??J,$=(Q,q)=>{if(t5.has(Q))Z(Q,q)},X=(Q,q)=>{if(!t5.has(Q))Z(Q,q)};this.globalListenerPairs.set(J,{syncListener:$,asyncListener:X});let Y=this.eventSvc;Y.addGlobalListener($,!1),Y.addGlobalListener(X,!0)}removeGlobalListener(J){let{eventSvc:Z,wrapSvc:$,globalListenerPairs:X}=this,Y=$?.unwrapGlobal(J)??J;if(X.has(Y)){let{syncListener:q,asyncListener:H}=X.get(Y);Z.removeGlobalListener(q,!1),Z.removeGlobalListener(H,!0),X.delete(J)}else this.syncGlobalListeners.delete(Y),Z.removeGlobalListener(Y,!1)}destroyEventListeners(J,Z){J.forEach(($,X)=>{$.forEach((Y)=>this.eventSvc.removeListener(X,Y,Z)),$.clear()}),J.clear()}destroyGlobalListeners(J,Z){for(let $ of J)this.eventSvc.removeGlobalListener($,Z);J.clear()}destroy(){super.destroy(),this.destroyEventListeners(this.syncListeners,!1),this.destroyEventListeners(this.asyncListeners,!0),this.destroyGlobalListeners(this.syncGlobalListeners,!1);let{globalListenerPairs:J,eventSvc:Z}=this;J.forEach(({syncListener:$,asyncListener:X})=>{Z.removeGlobalListener($,!1),Z.removeGlobalListener(X,!0)}),J.clear()}};function YF(J,Z,$){J.apiEventSvc?.addListener(Z,$)}function QF(J,Z,$){J.apiEventSvc?.removeListener(Z,$)}function qF(J,Z){J.apiEventSvc?.addGlobalListener(Z)}function HF(J,Z){J.apiEventSvc?.removeGlobalListener(Z)}var E4={moduleName:"EventApi",version:p,apiFunctions:{addEventListener:YF,addGlobalListener:qF,removeEventListener:QF,removeGlobalListener:HF},beans:[XF]};function kZ(J,Z){if(typeof J!=="number")return"";let $=Z(),X=$("thousandSeparator",","),Y=$("decimalSeparator",".");return J.toString().replace(".",Y).replace(/(\d)(?=(\d{3})+(?!\d))/g,`$1${X}`)}var _F="↑",zF="↓",UF={tag:"span",children:[{tag:"span",ref:"eDelta",cls:"ag-value-change-delta"},{tag:"span",ref:"eValue",cls:"ag-value-change-value"}]},WF=class extends y{constructor(){super(UF);this.eValue=S,this.eDelta=S,this.refreshCount=0}init(J){this.refresh(J,!0)}showDelta(J,Z){let $=Math.abs(Z),X=J.formatValue($),Y=T(X)?X:$,Q=Z>=0,q=this.eDelta;if(Q)q.textContent=_F+Y;else q.textContent=zF+Y;q.classList.toggle("ag-value-change-delta-up",Q),q.classList.toggle("ag-value-change-delta-down",!Q)}setTimerToRemoveDelta(){this.refreshCount++;let J=this.refreshCount;this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{if(J===this.refreshCount)this.hideDeltaValue()},2000)})}hideDeltaValue(){this.eValue.classList.remove("ag-value-change-value-highlight"),ZJ(this.eDelta)}refresh(J,Z=!1){let{value:$,valueFormatted:X}=J,{eValue:Y,lastValue:Q,beans:q}=this;if($===Q)return!1;if(T(X))Y.textContent=X;else if(T($))Y.textContent=$;else ZJ(Y);if(q.filterManager?.isSuppressFlashingCellsBecauseFiltering())return!1;let H=$&&typeof $==="object"&&"toNumber"in $?$.toNumber():$,_=Q&&typeof Q==="object"&&"toNumber"in Q?Q.toNumber():Q;if(H===_)return!1;if(typeof H==="number"&&typeof _==="number"){let z=H-_;this.showDelta(J,z)}if(Q)Y.classList.add("ag-value-change-value-highlight");if(!Z)this.setTimerToRemoveDelta();return this.lastValue=$,!0}},GF=".ag-value-slide-out{opacity:1}:where(.ag-ltr) .ag-value-slide-out{margin-right:5px;transition:opacity 3s,margin-right 3s}:where(.ag-rtl) .ag-value-slide-out{margin-left:5px;transition:opacity 3s,margin-left 3s}:where(.ag-ltr,.ag-rtl) .ag-value-slide-out{transition-timing-function:linear}.ag-value-slide-out-end{opacity:0}:where(.ag-ltr) .ag-value-slide-out-end{margin-right:10px}:where(.ag-rtl) .ag-value-slide-out-end{margin-left:10px}",BF={tag:"span",children:[{tag:"span",ref:"eCurrent",cls:"ag-value-slide-current"}]},KF=class extends y{constructor(){super(BF);this.eCurrent=S,this.refreshCount=0,this.registerCSS(GF)}init(J){this.refresh(J,!0)}addSlideAnimation(){this.refreshCount++;let J=this.refreshCount;this.ePrevious?.remove();let{beans:Z,eCurrent:$}=this,X=XJ({tag:"span",cls:"ag-value-slide-previous ag-value-slide-out"});this.ePrevious=X,X.textContent=$.textContent,this.getGui().insertBefore(X,$),Z.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{if(J!==this.refreshCount)return;this.ePrevious.classList.add("ag-value-slide-out-end")},50),window.setTimeout(()=>{if(J!==this.refreshCount)return;this.ePrevious?.remove(),this.ePrevious=null},3000)})}refresh(J,Z=!1){let $=J.value;if(d($))$="";if($===this.lastValue)return!1;if(this.beans.filterManager?.isSuppressFlashingCellsBecauseFiltering())return!1;if(!Z)this.addSlideAnimation();this.lastValue=$;let X=this.eCurrent;if(T(J.valueFormatted))X.textContent=J.valueFormatted;else if(T(J.value))X.textContent=$;else ZJ(X);return!0}},EF=class extends M{constructor(){super(...arguments);this.beanName="cellFlashSvc",this.nextAnimationTime=null,this.nextAnimationCycle=null,this.animations={highlight:new Map,"data-changed":new Map}}animateCell(J,Z,$=this.beans.gos.get("cellFlashDuration"),X=this.beans.gos.get("cellFadeDuration")){let Y=this.animations[Z];Y.delete(J);let Q=Date.now(),q=Q+$,H=Q+$+X,_={phase:"flash",flashEndTime:q,fadeEndTime:H};Y.set(J,_);let z=`ag-cell-${Z}`,U=`${z}-animation`,{comp:W,eGui:{style:G}}=J;if(W.toggleCss(z,!0),W.toggleCss(U,!1),G.removeProperty("transition"),G.removeProperty("transition-delay"),this.nextAnimationTime&&q+15{this.nextAnimationCycle=setTimeout(this.advanceAnimations.bind(this),$)}),this.nextAnimationTime=q}advanceAnimations(){let J=Date.now(),Z=null;for(let $ of Object.keys(this.animations)){let X=this.animations[$],Y=`ag-cell-${$}`,Q=`${Y}-animation`;for(let[q,H]of X){if(!q.isAlive()||!q.comp){X.delete(q);continue}let{phase:_,flashEndTime:z,fadeEndTime:U}=H,W=_==="flash"?z:U;if(!(J+15>=W)){Z=Math.min(W,Z??1/0);continue}let{comp:B,eGui:{style:K}}=q;switch(_){case"flash":B.toggleCss(Y,!1),B.toggleCss(Q,!0),K.transition=`background-color ${U-z}ms`,K.transitionDelay=`${z-J}ms`,Z=Math.min(U,Z??1/0),H.phase="fade";break;case"fade":B.toggleCss(Y,!1),B.toggleCss(Q,!1),K.removeProperty("transition"),K.removeProperty("transition-delay"),X.delete(q);break}}}if(Z==null)this.nextAnimationTime=null,this.nextAnimationCycle=null;else if(Z)this.nextAnimationCycle=setTimeout(this.advanceAnimations.bind(this),Z-J),this.nextAnimationTime=Z}onFlashCells(J,Z){if(!J.comp)return;let $=CZ(J.cellPosition);if(Z.cells[$])this.animateCell(J,"highlight")}flashCell(J,Z){this.animateCell(J,"data-changed",Z?.flashDuration,Z?.fadeDuration)}destroy(){for(let J of Object.keys(this.animations))this.animations[J].clear()}};function LF(J,Z={}){let{cellFlashSvc:$}=J;if(!$)return;J.frameworkOverrides.wrapIncoming(()=>{for(let X of J.rowRenderer.getCellCtrls(Z.rowNodes,Z.columns))$.flashCell(X,Z)})}var L4={moduleName:"HighlightChanges",version:p,beans:[EF],userComponents:{agAnimateShowChangeCellRenderer:WF,agAnimateSlideCellRenderer:KF},apiFunctions:{flashCells:LF}};var FF=class extends M{constructor(){super(...arguments);this.beanName="selectionColSvc"}postConstruct(){this.addManagedPropertyListener("rowSelection",(J)=>{this.onSelectionOptionsChanged(J.currentValue,J.previousValue,Q0(J.source))}),this.addManagedPropertyListener("selectionColumnDef",this.updateColumns.bind(this))}addColumns(J){let Z=this.columns;if(Z==null)return;J.list=Z.list.concat(J.list),J.tree=Z.tree.concat(J.tree),z5(J)}createColumns(J,Z){let $=()=>{XZ(this.beans,this.columns?.tree),this.columns=null},X=J.treeDepth,Q=(this.columns?.treeDepth??-1)==X,q=this.generateSelectionCols();if(_5(q,this.columns?.list??[])&&Q)return;$();let{colGroupSvc:_}=this.beans,z=_?.findDepth(J.tree)??0,U=_?.balanceTreeForAutoCols(q,z)??[];this.columns={list:q,tree:U,treeDepth:z,map:{}},Z((G)=>{if(!G)return null;let B=G.filter((K)=>!IZ(K));return[...q,...B]})}updateColumns(J){let Z=Q0(J.source),{beans:$}=this;for(let X of this.columns?.list??[]){let Y=this.createSelectionColDef(J.currentValue);X.setColDef(Y,null,Z),dJ($,{state:[m8(Y,X.colId)]},Z)}}getColumn(J){return this.columns?.list.find((Z)=>PZ(Z,J))??null}getColumns(){return this.columns?.list??null}isSelectionColumnEnabled(){let{gos:J,beans:Z}=this,$=J.get("rowSelection");if(typeof $!=="object"||!hZ(J))return!1;let X=(Z.autoColSvc?.getColumns()?.length??0)>0;if($.checkboxLocation==="autoGroupColumn"&&X)return!1;let Y=!!$0($),Q=d5($);return Y||Q}createSelectionColDef(J){let{gos:Z}=this,$=J??Z.get("selectionColumnDef"),X=Z.get("enableRtl"),{rowSpan:Y,spanRows:Q,...q}=$??{};return{width:50,resizable:!1,suppressHeaderMenuButton:!0,sortable:!1,suppressMovable:!0,lockPosition:X?"right":"left",comparator(H,_,z,U){let W=z.isSelected(),G=U.isSelected();return W===G?0:W?1:-1},editable:!1,suppressFillHandle:!0,suppressAutoSize:!0,pinned:null,...q,colId:LY,chartDataType:"excluded"}}generateSelectionCols(){if(!this.isSelectionColumnEnabled())return[];let J=this.createSelectionColDef(),Z=J.colId;this.gos.validateColDef(J,Z,!0);let $=new HZ(J,null,Z,!1);return this.createBean($),[$]}onSelectionOptionsChanged(J,Z,$){let X=Z&&typeof Z!=="string"?$0(Z):void 0,Y=J&&typeof J!=="string"?$0(J):void 0,Q=X!==Y,q=Z&&typeof Z!=="string"?d5(Z):void 0,H=J&&typeof J!=="string"?d5(J):void 0,_=q!==H,z=K2(J),U=K2(Z);if(Q||_||z!==U)this.beans.colModel.refreshAll($)}destroy(){XZ(this.beans,this.columns?.tree),super.destroy()}refreshVisibility(J,Z,$){if(!this.columns?.list.length)return;let X=J.length+Z.length+$.length;if(X===0)return;let Y=this.columns.list[0];if(!Y.isVisible())return;let Q=()=>{let _;switch(Y.pinned){case"left":case!0:_=J;break;case"right":_=$;break;default:_=Z}if(_)YJ(_,Y)};if((this.beans.rowNumbersSvc?.getColumn(FY)?2:1)===X)Q()}},DF=':where(.ag-selection-checkbox) .ag-checkbox-input-wrapper:before{content:"";cursor:pointer;inset:-8px;position:absolute}';function kF(J,Z){if(!Z.nodes.every((q)=>{if(q.rowPinned&&!p6(q))return O(59),!1;if(q.id===void 0)return O(60),!1;return!0}))return;let{nodes:X,source:Y,newValue:Q}=Z;J.selectionSvc?.setNodesSelected({nodes:X,source:Y??"api",newValue:Q})}function VF(J,Z,$="apiSelectAll"){J.selectionSvc?.selectAllRowNodes({source:$,selectAll:Z})}function jF(J,Z,$="apiSelectAll"){J.selectionSvc?.deselectAllRowNodes({source:$,selectAll:Z})}function AF(J,Z="apiSelectAllFiltered"){J.selectionSvc?.selectAllRowNodes({source:Z,selectAll:"filtered"})}function MF(J,Z="apiSelectAllFiltered"){J.selectionSvc?.deselectAllRowNodes({source:Z,selectAll:"filtered"})}function RF(J,Z="apiSelectAllCurrentPage"){J.selectionSvc?.selectAllRowNodes({source:Z,selectAll:"currentPage"})}function OF(J,Z="apiSelectAllCurrentPage"){J.selectionSvc?.deselectAllRowNodes({source:Z,selectAll:"currentPage"})}function SF(J){return J.selectionSvc?.getSelectedNodes()??[]}function fF(J){return J.selectionSvc?.getSelectedRows()??[]}var PF={tag:"div",cls:"ag-selection-checkbox",role:"presentation",children:[{tag:"ag-checkbox",ref:"eCheckbox",role:"presentation"}]},TF=class extends y{constructor(){super(PF,[xZ]);this.eCheckbox=S}postConstruct(){this.eCheckbox.setPassive(!0)}onDataChanged(){this.onSelectionChanged()}onSelectableChanged(){this.showOrHideSelect()}onSelectionChanged(){let J=this.getLocaleTextFunc(),{rowNode:Z,eCheckbox:$}=this,X=Z.isSelected(),Y=O8(J,X),[Q,q]=Z.selectable?["ariaRowToggleSelection","Press Space to toggle row selection"]:["ariaRowSelectionDisabled","Row Selection is disabled for this row"],H=J(Q,q);$.setValue(X,!0),$.setInputAriaLabel(`${H} (${Y})`)}init(J){if(this.rowNode=J.rowNode,this.column=J.column,this.overrides=J.overrides,this.onSelectionChanged(),this.addManagedListeners(this.eCheckbox.getWrapperElement(),{dblclick:iJ,click:(X)=>{if(iJ(X),this.eCheckbox.isDisabled())return;this.beans.selectionSvc?.handleSelectionEvent(X,this.rowNode,"checkboxSelected")}}),this.addManagedListeners(this.rowNode,{rowSelected:this.onSelectionChanged.bind(this),dataChanged:this.onDataChanged.bind(this),selectableChanged:this.onSelectableChanged.bind(this)}),this.addManagedPropertyListener("rowSelection",({currentValue:X,previousValue:Y})=>{let Q=typeof X==="object"?A7(X):void 0,q=typeof Y==="object"?A7(Y):void 0;if(Q!==q)this.onSelectableChanged()}),$8(this.gos)||typeof this.getIsVisible()==="function"){let X=this.showOrHideSelect.bind(this);this.addManagedEventListeners({displayedColumnsChanged:X}),this.addManagedListeners(this.rowNode,{dataChanged:X,cellChanged:X}),this.showOrHideSelect()}this.eCheckbox.getInputElement().setAttribute("tabindex","-1")}showOrHideSelect(){let{column:J,rowNode:Z,overrides:$,gos:X}=this,Y=Z.selectable,Q=this.getIsVisible(),q=void 0;if(typeof Q==="function"){let W=$?.callbackParams;if(!J)q=Q({...W,node:Z,data:Z.data});else{let G=J.createColumnFunctionCallbackParams(Z);q=Q({...W,...G})}}else q=Q??!1;let H=Y&&!q||!Y&&q,_=Y||q,z=X.get("rowSelection"),U=z&&typeof z!=="string"?!A7(z):!!J?.getColDef().showDisabledCheckboxes;if(this.setVisible(_&&(H?U:!0)),this.setDisplayed(_&&(H?U:!0)),_)this.eCheckbox.setDisabled(H);if($?.removeHidden)this.setDisplayed(_)}getIsVisible(){let J=this.overrides;if(J)return J.isVisible;let Z=this.gos.get("rowSelection");if(Z&&typeof Z!=="string")return $0(Z);return this.column?.getColDef()?.checkboxSelection}},vF=class{constructor(J,Z){this.rowModel=J,this.pinnedRowModel=Z,this.selectAll=!1,this.rootId=null,this.endId=null,this.cachedRange=[]}reset(){this.rootId=null,this.endId=null,this.cachedRange.length=0}setRoot(J){this.rootId=J.id,this.endId=null,this.cachedRange.length=0}setEndRange(J){this.endId=J.id,this.cachedRange.length=0}getRange(){if(this.cachedRange.length===0){let J=this.getRoot(),Z=this.getEnd();if(J==null||Z==null)return this.cachedRange;this.cachedRange=this.getNodesInRange(J,Z)??[]}return this.cachedRange}isInRange(J){if(this.rootId===null)return!1;return this.getRange().some((Z)=>Z.id===J.id)}getRoot(J){if(this.rootId)return this.getRowNode(this.rootId);if(J)return this.setRoot(J),J}getEnd(){if(this.endId)return this.getRowNode(this.endId)}getRowNode(J){let Z,{rowModel:$,pinnedRowModel:X}=this;if(Z??(Z=$.getRowNode(J)),X?.isManual())Z??(Z=X.getPinnedRowById(J,"top")),Z??(Z=X.getPinnedRowById(J,"bottom"));return Z}truncate(J){let Z=this.getRange();if(Z.length===0)return{keep:[],discard:[]};let $=Z[0].id===this.rootId,X=Z.findIndex((Y)=>Y.id===J.id);if(X>-1){let Y=Z.slice(0,X),Q=Z.slice(X+1);return this.setEndRange(J),$?{keep:Y,discard:Q}:{keep:Q,discard:Y}}else return{keep:Z,discard:[]}}extend(J,Z=!1){let $=this.getRoot();if($==null){let Y=this.getRange().slice();if(Z)J.depthFirstSearch((Q)=>!Q.group&&Y.push(Q));return Y.push(J),this.setRoot(J),{keep:Y,discard:[]}}let X=this.getNodesInRange($,J);if(!X)return this.setRoot(J),{keep:[J],discard:[]};if(X.find((Y)=>Y.id===this.endId))return this.setEndRange(J),{keep:this.getRange(),discard:[]};else{let Y=this.getRange().slice();return this.setEndRange(J),{keep:this.getRange(),discard:Y}}}getNodesInRange(J,Z){let{pinnedRowModel:$,rowModel:X}=this;if(!$?.isManual())return X.getNodesInRangeForSelection(J,Z);if(J.rowPinned==="top"&&!Z.rowPinned)return sJ($,"top",J,void 0).concat(X.getNodesInRangeForSelection(X.getRow(0),Z)??[]);if(J.rowPinned==="bottom"&&!Z.rowPinned){let Y=sJ($,"bottom",void 0,J),Q=X.getRowCount(),q=X.getRow(Q-1);return(X.getNodesInRangeForSelection(Z,q)??[]).concat(Y)}if(!J.rowPinned&&!Z.rowPinned)return X.getNodesInRangeForSelection(J,Z);if(J.rowPinned==="top"&&Z.rowPinned==="top")return sJ($,"top",J,Z);if(J.rowPinned==="bottom"&&Z.rowPinned==="top"){let Y=sJ($,"top",Z,void 0),Q=sJ($,"bottom",void 0,J),q=X.getRow(0),H=X.getRow(X.getRowCount()-1);return Y.concat(X.getNodesInRangeForSelection(q,H)??[]).concat(Q)}if(!J.rowPinned&&Z.rowPinned==="top")return sJ($,"top",Z,void 0).concat(X.getNodesInRangeForSelection(X.getRow(0),J)??[]);if(J.rowPinned==="top"&&Z.rowPinned==="bottom"){let Y=sJ($,"top",J,void 0),Q=sJ($,"bottom",void 0,Z),q=X.getRow(0),H=X.getRow(X.getRowCount()-1);return Y.concat(X.getNodesInRangeForSelection(q,H)??[]).concat(Q)}if(J.rowPinned==="bottom"&&Z.rowPinned==="bottom")return sJ($,"bottom",J,Z);if(!J.rowPinned&&Z.rowPinned==="bottom"){let Y=sJ($,"bottom",void 0,Z),Q=X.getRow(X.getRowCount());return(X.getNodesInRangeForSelection(J,Q)??[]).concat(Y)}return null}},IF=class extends M{constructor(J){super();this.column=J,this.cbSelectAllVisible=!1,this.processingEventFromCheckbox=!1}onSpaceKeyDown(J){let Z=this.cbSelectAll;if(Z.isDisplayed()&&!Z.getGui().contains(n(this.beans)))J.preventDefault(),Z.setValue(!Z.getValue())}getCheckboxGui(){return this.cbSelectAll.getGui()}setComp(J){this.headerCellCtrl=J;let Z=this.createManagedBean(new G9);this.cbSelectAll=Z,Z.addCss("ag-header-select-all"),zJ(Z.getGui(),"presentation"),this.showOrHideSelectAll();let $=this.updateStateOfCheckbox.bind(this);this.addManagedEventListeners({newColumnsLoaded:()=>this.showOrHideSelectAll(),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),selectionChanged:$,paginationChanged:$,modelUpdated:$}),this.addManagedPropertyListener("rowSelection",({currentValue:X,previousValue:Y})=>{let Q=(q)=>typeof q==="string"||!q||q.mode==="singleRow"?void 0:q.selectAll;if(Q(X)!==Q(Y))this.showOrHideSelectAll();this.updateStateOfCheckbox()}),this.addManagedListeners(Z,{fieldValueChanged:this.onCbSelectAll.bind(this)}),Z.getInputElement().setAttribute("tabindex","-1"),this.refreshSelectAllLabel()}onDisplayedColumnsChanged(J){if(!this.isAlive())return;this.showOrHideSelectAll(J.source==="uiColumnMoved")}showOrHideSelectAll(J=!1){let Z=this.isCheckboxSelection();if(this.cbSelectAllVisible=Z,this.cbSelectAll.setDisplayed(Z),Z)this.checkRightRowModelType("selectAllCheckbox"),this.checkSelectionType("selectAllCheckbox"),this.updateStateOfCheckbox();this.refreshSelectAllLabel(J)}updateStateOfCheckbox(){if(!this.cbSelectAllVisible||this.processingEventFromCheckbox)return;this.processingEventFromCheckbox=!0;let J=this.getSelectAllMode(),Z=this.beans.selectionSvc,$=this.cbSelectAll,X=Z.getSelectAllState(J);$.setValue(X);let Y=Z.hasNodesToSelect(J);$.setDisabled(!Y),this.refreshSelectAllLabel(),this.processingEventFromCheckbox=!1}refreshSelectAllLabel(J=!1){let Z=this.getLocaleTextFunc(),{headerCellCtrl:$,cbSelectAll:X,cbSelectAllVisible:Y}=this,Q=X.getValue(),q=O8(Z,Q),H=Z("ariaRowSelectAll","Press Space to toggle all rows selection");if($.setAriaDescriptionProperty("selectAll",Y?`${H} (${q})`:null),X.setInputAriaLabel(Z("ariaHeaderSelection","Column with Header Selection")),!J)$.announceAriaDescription()}checkSelectionType(J){if(!t2(this.gos))return O(128,{feature:J}),!1;return!0}checkRightRowModelType(J){let{gos:Z,rowModel:$}=this.beans;if(!(o(Z)||z0(Z)))return O(129,{feature:J,rowModel:$.getType()}),!1;return!0}onCbSelectAll(){if(this.processingEventFromCheckbox)return;if(!this.cbSelectAllVisible)return;let J=this.cbSelectAll.getValue(),Z=this.getSelectAllMode(),$="uiSelectAll";if(Z==="currentPage")$="uiSelectAllCurrentPage";else if(Z==="filtered")$="uiSelectAllFiltered";let X={source:$,selectAll:Z},Y=this.beans.selectionSvc;if(J)Y.selectAllRowNodes(X);else Y.deselectAllRowNodes(X)}isCheckboxSelection(){let{column:J,gos:Z,beans:$}=this,Q=typeof Z.get("rowSelection")==="object"?"headerCheckbox":"headerCheckboxSelection";return F4($,J)&&this.checkRightRowModelType(Q)&&this.checkSelectionType(Q)}getSelectAllMode(){let J=HY(this.gos,!1);if(J)return J;let{headerCheckboxSelectionCurrentPageOnly:Z,headerCheckboxSelectionFilteredOnly:$}=this.column.getColDef();if(Z)return"currentPage";if($)return"filtered";return"all"}destroy(){super.destroy(),this.cbSelectAll=void 0,this.headerCellCtrl=void 0}};function F4({gos:J,selectionColSvc:Z},$){let X=J.get("rowSelection"),Y=$.getColDef(),{headerCheckboxSelection:Q}=Y,q=!1;if(typeof X==="object"){let _=IZ($),z=m0($);if(K2(X)==="autoGroupColumn"&&z||_&&Z?.isSelectionColumnEnabled())q=d5(X)}else if(typeof Q==="function")q=Q(x(J,{column:$,colDef:Y}));else q=!!Q;return q}var bF=class extends M{postConstruct(){let{gos:J,beans:Z}=this;this.selectionCtx=new vF(Z.rowModel,Z.pinnedRowModel),this.addManagedPropertyListeners(["isRowSelectable","rowSelection"],()=>{let $=$8(J);if($!==this.isRowSelectable)this.isRowSelectable=$,this.updateSelectable()}),this.isRowSelectable=$8(J),this.addManagedEventListeners({cellValueChanged:($)=>this.updateRowSelectable($.node),rowNodeDataChanged:($)=>this.updateRowSelectable($.node)})}destroy(){super.destroy(),this.selectionCtx.reset()}createCheckboxSelectionComponent(){return new TF}createSelectAllFeature(J){if(F4(this.beans,J))return new IF(J)}isMultiSelect(){return t2(this.gos)}onRowCtrlSelected(J,Z,$){let X=!!J.rowNode.isSelected();J.forEachGui($,(Y)=>{Y.rowComp.toggleCss("ag-row-selected",X);let Q=Y.element;if(R8(Q,X),Q.contains(n(this.beans)))Z(Y)})}announceAriaRowSelection(J){if(this.isRowSelectionBlocked(J))return;let Z=J.isSelected(),$=this.beans.editSvc?.isEditing({rowNode:J});if(!J.selectable||$)return;let Y=this.getLocaleTextFunc()(Z?"ariaRowDeselect":"ariaRowSelect",`Press SPACE to ${Z?"deselect":"select"} this row`);this.beans.ariaAnnounce?.announceValue(Y,"rowSelection")}isRowSelectionBlocked(J){return!J.selectable||J.rowPinned&&!p6(J)||!hZ(this.gos)}updateRowSelectable(J,Z){let $=J.rowPinned&&J.pinnedSibling?J.pinnedSibling.selectable:this.isRowSelectable?.(J)??!0;return this.setRowSelectable(J,$,Z),$}setRowSelectable(J,Z,$){if(J.selectable!==Z){if(J.selectable=Z,J.dispatchRowEvent("selectableChanged"),$)return;if(l2(this.gos)){let Y=this.calculateSelectedFromChildren(J);this.setNodesSelected({nodes:[J],newValue:Y??!1,source:"selectableChanged"});return}if(J.isSelected()&&!J.selectable)this.setNodesSelected({nodes:[J],newValue:!1,source:"selectableChanged"})}}calculateSelectedFromChildren(J){let Z=!1,$=!1;if(!J.childrenAfterGroup?.length)return J.selectable?J.__selected:null;for(let X=0;X{let Z=l2(J),$=$6(J),X=X6(J)==="filteredDescendants";if(this.masterSelectsDetail=B$(J)==="detail",Z!==this.groupSelectsDescendants||X!==this.groupSelectsFiltered||$!==this.mode)this.deselectAllRowNodes({source:"api"}),this.groupSelectsDescendants=Z,this.groupSelectsFiltered=X,this.mode=$}),this.addManagedEventListeners({rowSelected:this.onRowSelected.bind(this)})}destroy(){super.destroy(),this.resetNodes()}handleSelectionEvent(J,Z,$){if(this.isRowSelectionBlocked(Z))return 0;let X=this.inferNodeSelections(Z,J.shiftKey,J.metaKey||J.ctrlKey,$);if(X==null)return 0;if(this.selectionCtx.selectAll=!1,"select"in X){if(X.reset)this.resetNodes();else this.selectRange(X.deselect,!1,$);return this.selectRange(X.select,!0,$)}else{let Y=X.checkFilteredNodes?k4(X.node):X.newValue;return this.setNodesSelected({nodes:[X.node],newValue:Y,clearSelection:X.clearSelection,keepDescendants:X.keepDescendants,event:J,source:$})}}setNodesSelected({newValue:J,clearSelection:Z,suppressFinishActions:$,nodes:X,event:Y,source:Q,keepDescendants:q=!1}){if(X.length===0)return 0;let{gos:H}=this;if(!hZ(H)&&J)return O(132),0;if(X.length>1&&!this.isMultiSelect())return O(130),0;let _=0;for(let z=0;z0)this.updateGroupsFromChildrenSelections(Q),this.dispatchSelectionChanged(Q)}return _}selectRange(J,Z,$){let X=0;if(J.forEach((Y)=>{let Q=Y.primaryRow;if(Q.group&&this.groupSelectsDescendants)return;if(this.selectRowNode(Q,Z,void 0,$))X++}),X>0)this.updateGroupsFromChildrenSelections($),this.dispatchSelectionChanged($);return X}selectChildren(J,Z,$){let X=this.groupSelectsFiltered?J.childrenAfterAggFilter:J.childrenAfterGroup;if(!X)return 0;return this.setNodesSelected({newValue:Z,clearSelection:!1,suppressFinishActions:!0,source:$,nodes:X})}getSelectedNodes(){return Array.from(this.selectedNodes.values())}getSelectedRows(){let J=[];return this.selectedNodes.forEach((Z)=>Z.data&&J.push(Z.data)),J}getSelectionCount(){return this.selectedNodes.size}filterFromSelection(J){let Z=new Map;this.selectedNodes.forEach(($,X)=>{if(J($))Z.set(X,$)}),this.selectedNodes=Z}updateGroupsFromChildrenSelections(J,Z){if(!this.groupSelectsDescendants)return!1;let{gos:$,rowModel:X}=this.beans;if(!o($,X))return!1;let Y=X.rootNode;if(!Y)return!1;let Q=!1,q=(H)=>{if(H!==Y){let _=this.calculateSelectedFromChildren(H);Q=this.selectRowNode(H,_===null?!1:_,void 0,J)||Q}};return MJ(Y,this.beans.rowModel.hierarchical,Z,q),Q}clearOtherNodes(J,Z,$){let X=new Map,Y=0;return this.selectedNodes.forEach((Q)=>{let q=Q.id==J.id;if((Z?!yF(J,Q):!0)&&!q){let _=this.selectedNodes.get(Q.id);if(Y+=this.setNodesSelected({nodes:[_],newValue:!1,clearSelection:!1,suppressFinishActions:!0,source:$}),this.groupSelectsDescendants&&Q.parent)X.set(Q.parent.id,Q.parent)}}),X.forEach((Q)=>{let q=this.calculateSelectedFromChildren(Q);this.selectRowNode(Q,q===null?!1:q,void 0,$)}),Y}onRowSelected(J){let Z=J.node;if(this.groupSelectsDescendants&&Z.group)return;if(Z.isSelected())this.selectedNodes.set(Z.id,Z);else this.selectedNodes.delete(Z.id)}syncInRowNode(J,Z){this.syncInOldRowNode(J,Z),this.syncInNewRowNode(J)}createDaemonNode(J){if(!J.id)return;let Z=new G0(this.beans);return Z.id=J.id,Z.data=J.data,Z.__selected=J.__selected,Z.level=J.level,Z}syncInOldRowNode(J,Z){if(Z&&J.id!==Z.id){if(this.selectedNodes.get(Z.id)==J)this.selectedNodes.set(Z.id,Z)}}syncInNewRowNode(J){if(this.selectedNodes.has(J.id))J.__selected=!0,this.selectedNodes.set(J.id,J);else J.__selected=!1}reset(J){let Z=this.getSelectionCount();if(this.resetNodes(),Z)this.dispatchSelectionChanged(J)}resetNodes(){this.selectedNodes.forEach((J)=>{this.selectRowNode(J,!1)}),this.selectedNodes.clear()}getBestCostNodeSelection(){let{gos:J,rowModel:Z}=this.beans;if(!o(J,Z))return;let $=Z.getTopLevelNodes();if($===null)return;let X=[];function Y(Q){for(let q=0,H=Q.length;q{let q=this.selectRowNode(Q.primaryRow,!1,void 0,J);X||(X=q)};if(Z==="currentPage"||Z==="filtered"){if(!$){e(102);return}this.getNodesToSelect(Z).forEach(Y)}else this.selectedNodes.forEach(Y),this.reset(J);if(this.selectionCtx.selectAll=!1,$&&this.groupSelectsDescendants){let Q=this.updateGroupsFromChildrenSelections(J);X||(X=Q)}if(X)this.dispatchSelectionChanged(J)}getSelectedCounts(J){let Z=0,$=0;return this.getNodesToSelect(J).forEach((X)=>{if(this.groupSelectsDescendants&&X.group)return;if(X.isSelected())Z++;else if(X.selectable)$++}),{selectedCount:Z,notSelectedCount:$}}getSelectAllState(J){let{selectedCount:Z,notSelectedCount:$}=this.getSelectedCounts(J);return D4(Z,$)??null}hasNodesToSelect(J){return this.getNodesToSelect(J).filter((Z)=>Z.selectable).length>0}getNodesToSelect(J){if(!this.canSelectAll())return[];let Z=[],$=(Y)=>Z.push(Y);if(J==="currentPage")return this.forEachNodeOnPage((Y)=>{if(!Y.group){$(Y);return}if(!Y.footer&&!Y.expanded){let Q=(q)=>{$(q);let H=q.childrenAfterFilter;if(H)for(let _=0,z=H.length;_{let H=this.selectRowNode(q.primaryRow,!0,void 0,X);Q||(Q=H)}),$.selectAll=!0,o(Z)&&this.groupSelectsDescendants){let q=this.updateGroupsFromChildrenSelections(X);Q||(Q=q)}if(Q)this.dispatchSelectionChanged(X)}getSelectionState(){return this.isEmpty()?null:Array.from(this.selectedNodes.keys())}setSelectionState(J,Z,$){if(!J)J=[];if(!Array.isArray(J)){e(103);return}let X=new Set(J),Y=[];if(this.beans.rowModel.forEachNode((Q)=>{if(X.has(Q.id))Y.push(Q)}),$)this.resetNodes();this.setNodesSelected({newValue:!0,nodes:Y,source:Z})}canSelectAll(){return o(this.beans.gos)}updateSelectable(J){let{gos:Z,rowModel:$}=this.beans;if(!hZ(Z))return;let X="selectableChanged",Y=o(Z)&&this.groupSelectsDescendants,Q=[];if(Y){let q=$.rootNode;if(q)MJ(q,$.hierarchical,J,(H)=>{let _=!1;for(let z of H.childrenAfterGroup)if(_||(_=z.selectable),!z.group&&!this.updateRowSelectable(z,!0)&&z.isSelected())Q.push(z);this.setRowSelectable(H,_,!0)})}else $.forEachNode((q)=>{if(!this.updateRowSelectable(q,!0)&&q.isSelected())Q.push(q)});if(Q.length)this.setNodesSelected({nodes:Q,newValue:!1,source:X});if(!J&&Y)this.updateGroupsFromChildrenSelections?.(X)}updateSelectableAfterGrouping(J){if(this.updateSelectable(J),this.groupSelectsDescendants){if(this.updateGroupsFromChildrenSelections?.("rowGroupChanged",J))this.dispatchSelectionChanged("rowGroupChanged")}}refreshMasterNodeState(J,Z){if(!this.masterSelectsDetail)return;let $=J.detailNode?.detailGridInfo?.api;if(!$)return;let X=xF($);if(J.isSelected()!==X){if(this.selectRowNode(J,X,Z,"masterDetail"))this.dispatchSelectionChanged("masterDetail")}if(!X)this.detailSelection.set(J.id,new Set($.getSelectedNodes().map((Q)=>Q.id)))}setDetailSelectionState(J,Z,$){if(!this.masterSelectsDetail)return;if(!t2(Z)){O(269);return}switch(J.isSelected()){case!0:{$.selectAll();break}case!1:{$.deselectAll();break}case void 0:{let X=this.detailSelection.get(J.id);if(X){let Y=[];for(let Q of X){let q=$.getRowNode(Q);if(q)Y.push(q)}$.setNodesSelected({nodes:Y,newValue:!0,source:"masterDetail"})}break}default:break}}dispatchSelectionChanged(J){this.eventSvc.dispatchEvent({type:"selectionChanged",source:J,selectedNodes:this.getSelectedNodes(),serverSideState:null})}};function xF(J){let Z=0,$=0;return J.forEachNode((X)=>{if(X.isSelected())Z++;else if(X.selectable)$++}),D4(Z,$)}function D4(J,Z){if(J===0&&Z===0)return!1;if(J>0&&Z>0)return;return J>0}function yF(J,Z){let $=Z.parent;while($){if($===J)return!0;$=$.parent}return!1}function k4(J){let Z=J.isSelected()===!1,$=J.childrenAfterFilter?.some(k4)??!1;return Z||$}var NF={moduleName:"SharedRowSelection",version:p,beans:[FF],css:[DF],apiFunctions:{setNodesSelected:kF,selectAll:VF,deselectAll:jF,selectAllFiltered:AF,deselectAllFiltered:MF,selectAllOnCurrentPage:RF,deselectAllOnCurrentPage:OF,getSelectedNodes:SF,getSelectedRows:fF}},V4={moduleName:"RowSelection",version:p,rowModels:["clientSide","infinite","viewport"],beans:[CF],dependsOn:[NF]},wF=class extends M{constructor(J,Z){super();this.cellCtrl=J,this.staticClasses=[],this.beans=Z,this.column=J.column}setComp(J){this.cellComp=J,this.applyUserStyles(),this.applyCellClassRules(),this.applyClassesFromColDef()}applyCellClassRules(){let{column:J,cellComp:Z}=this,$=J.colDef,X=$.cellClassRules,Y=this.getCellClassParams(J,$);c1(this.beans.expressionSvc,X===this.cellClassRules?void 0:this.cellClassRules,X,Y,(Q)=>Z.toggleCss(Q,!0),(Q)=>Z.toggleCss(Q,!1)),this.cellClassRules=X}applyUserStyles(){let J=this.column,Z=J.colDef,$=Z.cellStyle;if(!$)return;let X;if(typeof $==="function"){let Y=this.getCellClassParams(J,Z);X=$(Y)}else X=$;if(X)this.cellComp.setUserStyles(X)}applyClassesFromColDef(){let{column:J,cellComp:Z}=this,$=J.colDef,X=this.getCellClassParams(J,$);for(let Q of this.staticClasses)Z.toggleCss(Q,!1);let Y=this.beans.cellStyles.getStaticCellClasses($,X);this.staticClasses=Y;for(let Q of Y)Z.toggleCss(Q,!0)}getCellClassParams(J,Z){let{value:$,rowNode:X}=this.cellCtrl;return x(this.beans.gos,{value:$,data:X.data,node:X,colDef:Z,column:J,rowIndex:X.rowIndex})}},gF=class extends M{constructor(){super(...arguments);this.beanName="cellStyles"}processAllCellClasses(J,Z,$,X){c1(this.beans.expressionSvc,void 0,J.cellClassRules,Z,$,X),this.processStaticCellClasses(J,Z,$)}getStaticCellClasses(J,Z){let{cellClass:$}=J;if(!$)return[];let X;if(typeof $==="function")X=$(Z);else X=$;if(typeof X==="string")X=[X];return X||[]}createCellCustomStyleFeature(J){return new wF(J,this.beans)}processStaticCellClasses(J,Z,$){this.getStaticCellClasses(J,Z).forEach((Y)=>{$(Y)})}},j4={moduleName:"CellStyle",version:p,beans:[gF]};var hF={enableBrowserTooltips:!0,tooltipTrigger:!0,tooltipMouseTrack:!0,tooltipShowMode:!0,tooltipInteraction:!0,defaultColGroupDef:!0,suppressAutoSize:!0,skipHeaderOnAutoSize:!0,autoSizeStrategy:!0,components:!0,stopEditingWhenCellsLoseFocus:!0,undoRedoCellEditing:!0,undoRedoCellEditingLimit:!0,excelStyles:!0,cacheQuickFilter:!0,customChartThemes:!0,chartThemeOverrides:!0,chartToolPanelsDef:!0,loadingCellRendererSelector:!0,localeText:!0,keepDetailRows:!0,keepDetailRowsCount:!0,detailRowHeight:!0,detailRowAutoHeight:!0,tabIndex:!0,valueCache:!0,valueCacheNeverExpires:!0,enableCellExpressions:!0,suppressTouch:!0,suppressBrowserResizeObserver:!0,suppressPropertyNamesCheck:!0,debug:!0,dragAndDropImageComponent:!0,overlayComponent:!0,suppressOverlays:!0,loadingOverlayComponent:!0,suppressLoadingOverlay:!0,noRowsOverlayComponent:!0,paginationPageSizeSelector:!0,paginateChildRows:!0,pivotPanelShow:!0,pivotSuppressAutoColumn:!0,suppressExpandablePivotGroups:!0,aggFuncs:!0,allowShowChangeAfterFilter:!0,ensureDomOrder:!0,enableRtl:!0,suppressColumnVirtualisation:!0,suppressMaxRenderedRowRestriction:!0,suppressRowVirtualisation:!0,rowDragText:!0,groupLockGroupColumns:!0,suppressGroupRowsSticky:!0,rowModelType:!0,cacheOverflowSize:!0,infiniteInitialRowCount:!0,serverSideInitialRowCount:!0,maxBlocksInCache:!0,maxConcurrentDatasourceRequests:!0,blockLoadDebounceMillis:!0,serverSideOnlyRefreshFilteredGroups:!0,serverSidePivotResultFieldSeparator:!0,viewportRowModelPageSize:!0,viewportRowModelBufferSize:!0,debounceVerticalScrollbar:!0,suppressAnimationFrame:!0,suppressPreventDefaultOnMouseWheel:!0,scrollbarWidth:!0,icons:!0,suppressRowTransform:!0,gridId:!0,enableGroupEdit:!0,initialState:!0,processUnpinnedColumns:!0,createChartContainer:!0,getLocaleText:!0,getRowId:!0,reactiveCustomComponents:!0,renderingMode:!0,columnMenu:!0,suppressSetFilterByDefault:!0,getDataPath:!0,enableCellSpan:!0,enableFilterHandlers:!0,filterHandlers:!0},gJ="clientSide",bJ="serverSide",J2="infinite",uF={onGroupExpandedOrCollapsed:[gJ],refreshClientSideRowModel:[gJ],isRowDataEmpty:[gJ],forEachLeafNode:[gJ],forEachNodeAfterFilter:[gJ],forEachNodeAfterFilterAndSort:[gJ],resetRowHeights:[gJ,bJ],applyTransaction:[gJ],applyTransactionAsync:[gJ],flushAsyncTransactions:[gJ],getBestCostNodeSelection:[gJ],getServerSideSelectionState:[bJ],setServerSideSelectionState:[bJ],applyServerSideTransaction:[bJ],applyServerSideTransactionAsync:[bJ],applyServerSideRowData:[bJ],retryServerSideLoads:[bJ],flushServerSideAsyncTransactions:[bJ],refreshServerSide:[bJ],getServerSideGroupLevelState:[bJ],refreshInfiniteCache:[J2],purgeInfiniteCache:[J2],getInfiniteRowCount:[J2],isLastRowIndexKnown:[J2,bJ],expandAll:[gJ,bJ],collapseAll:[gJ,bJ],onRowHeightChanged:[gJ,bJ],setRowCount:[J2,bJ],getCacheBlockState:[J2,bJ]},mF={showLoadingOverlay:{version:"v32",message:'`showLoadingOverlay` is deprecated. Use the grid option "loading"=true instead or setGridOption("loading", true).'},clearRangeSelection:{version:"v32.2",message:"Use `clearCellSelection` instead."},getInfiniteRowCount:{version:"v32.2",old:"getInfiniteRowCount()",new:"getDisplayedRowCount()"},selectAllFiltered:{version:"v33",old:"selectAllFiltered()",new:'selectAll("filtered")'},deselectAllFiltered:{version:"v33",old:"deselectAllFiltered()",new:'deselectAll("filtered")'},selectAllOnCurrentPage:{version:"v33",old:"selectAllOnCurrentPage()",new:'selectAll("currentPage")'},deselectAllOnCurrentPage:{version:"v33",old:"deselectAllOnCurrentPage()",new:'deselectAll("currentPage")'}};function cF(J,Z,$){let X=mF[J];if(X){let{version:Q,new:q,old:H,message:_}=X,z=H??J;return(...U)=>{let W=q?`Please use ${q} instead. `:"";return Z0(`Since ${Q} api.${z} is deprecated. ${W}${_??""}`),Z.apply(Z,U)}}let Y=uF[J];if(Y)return(...Q)=>{let q=$.rowModel.getType();if(!Y.includes(q)){_2(`api.${J} can only be called when gridOptions.rowModelType is ${Y.join(" or ")}`);return}return Z.apply(Z,Q)};return Z}var pF={detailCellRendererCtrl:"SharedMasterDetail",dndSourceComp:"DragAndDrop",fillHandle:"CellSelection",groupCellRendererCtrl:"GroupCellRenderer",headerFilterCellCtrl:"ColumnFilter",headerGroupCellCtrl:"ColumnGroup",rangeHandle:"CellSelection",tooltipFeature:"Tooltip",highlightTooltipFeature:"Tooltip",tooltipStateManager:"Tooltip",groupStrategy:"RowGrouping",treeGroupStrategy:"TreeData",rowNumberRowResizer:"RowNumbers",singleCell:"EditCore",fullRow:"EditCore",agSetColumnFilterHandler:"SetFilter",agMultiColumnFilterHandler:"MultiFilter",agGroupColumnFilterHandler:"GroupFilter",agNumberColumnFilterHandler:"NumberFilter",agBigIntColumnFilterHandler:"BigIntFilter",agDateColumnFilterHandler:"DateFilter",agTextColumnFilterHandler:"TextFilter"},iF={expanded:1,contracted:1,"tree-closed":1,"tree-open":1,"tree-indeterminate":1,pin:1,"eye-slash":1,arrows:1,left:1,right:1,group:1,aggregation:1,pivot:1,"not-allowed":1,chart:1,cross:1,cancel:1,tick:1,first:1,previous:1,next:1,last:1,linked:1,unlinked:1,"color-picker":1,loading:1,menu:1,"menu-alt":1,filter:1,"filter-add":1,columns:1,maximize:1,minimize:1,copy:1,cut:1,paste:1,grip:1,save:1,csv:1,excel:1,"small-down":1,"small-left":1,"small-right":1,"small-up":1,asc:1,desc:1,aasc:1,adesc:1,none:1,up:1,down:1,plus:1,minus:1,settings:1,"checkbox-checked":1,"checkbox-indeterminate":1,"checkbox-unchecked":1,"radio-button-on":1,"radio-button-off":1,eye:1,"column-arrow":1,"un-pin":1,"pinned-top":1,"pinned-bottom":1,"chevron-up":1,"chevron-down":1,"chevron-left":1,"chevron-right":1,edit:1},dF={chart:"MenuCore",cancel:"EnterpriseCore",first:"Pagination",previous:"Pagination",next:"Pagination",last:"Pagination",linked:"IntegratedCharts",loadingMenuItems:"MenuCore",unlinked:"IntegratedCharts",menu:"ColumnHeaderComp",legacyMenu:"ColumnMenu",filter:"ColumnFilter",filterActive:"ColumnFilter",filterAdd:"NewFiltersToolPanel",filterCardCollapse:"NewFiltersToolPanel",filterCardExpand:"NewFiltersToolPanel",filterCardEditing:"NewFiltersToolPanel",filterTab:"ColumnMenu",filtersToolPanel:"FiltersToolPanel",columns:["MenuCore"],columnsToolPanel:["ColumnsToolPanel"],maximize:"EnterpriseCore",minimize:"EnterpriseCore",save:"MenuCore",columnGroupOpened:"ColumnGroupHeaderComp",columnGroupClosed:"ColumnGroupHeaderComp",accordionOpen:"EnterpriseCore",accordionClosed:"EnterpriseCore",accordionIndeterminate:"EnterpriseCore",columnSelectClosed:["ColumnsToolPanel","ColumnMenu"],columnSelectOpen:["ColumnsToolPanel","ColumnMenu"],columnSelectIndeterminate:["ColumnsToolPanel","ColumnMenu"],columnMovePin:"SharedDragAndDrop",columnMoveHide:"SharedDragAndDrop",columnMoveMove:"SharedDragAndDrop",columnMoveLeft:"SharedDragAndDrop",columnMoveRight:"SharedDragAndDrop",columnMoveGroup:"SharedDragAndDrop",columnMoveValue:"SharedDragAndDrop",columnMovePivot:"SharedDragAndDrop",dropNotAllowed:"SharedDragAndDrop",ensureColumnVisible:["ColumnsToolPanel","ColumnMenu"],groupContracted:"GroupCellRenderer",groupExpanded:"GroupCellRenderer",setFilterGroupClosed:"SetFilter",setFilterGroupOpen:"SetFilter",setFilterGroupIndeterminate:"SetFilter",setFilterLoading:"SetFilter",close:"EnterpriseCore",check:"MenuItem",colorPicker:"CommunityCore",groupLoading:"LoadingCellRenderer",overlayLoading:"Overlay",overlayExporting:"Overlay",menuAlt:"ColumnHeaderComp",menuPin:"MenuCore",menuValue:"MenuCore",menuAddRowGroup:["MenuCore","ColumnsToolPanel"],menuRemoveRowGroup:["MenuCore","ColumnsToolPanel"],clipboardCopy:"MenuCore",clipboardCut:"MenuCore",clipboardPaste:"MenuCore",pivotPanel:["ColumnsToolPanel","RowGroupingPanel"],rowGroupPanel:["ColumnsToolPanel","RowGroupingPanel"],valuePanel:"ColumnsToolPanel",columnDrag:"EnterpriseCore",rowDrag:["RowDrag","DragAndDrop"],csvExport:"MenuCore",excelExport:"MenuCore",smallDown:"CommunityCore",selectOpen:"CommunityCore",richSelectOpen:"RichSelect",richSelectRemove:"RichSelect",richSelectLoading:"RichSelect",smallLeft:"CommunityCore",smallRight:"CommunityCore",subMenuOpen:"MenuItem",subMenuOpenRtl:"MenuItem",panelDelimiter:"RowGroupingPanel",panelDelimiterRtl:"RowGroupingPanel",smallUp:"CommunityCore",sortAscending:["MenuCore","Sort"],sortDescending:["MenuCore","Sort"],sortAbsoluteAscending:["MenuCore","Sort"],sortAbsoluteDescending:["MenuCore","Sort"],sortUnSort:["MenuCore","Sort"],advancedFilterBuilder:"AdvancedFilter",advancedFilterBuilderDrag:"AdvancedFilter",advancedFilterBuilderInvalid:"AdvancedFilter",advancedFilterBuilderMoveUp:"AdvancedFilter",advancedFilterBuilderMoveDown:"AdvancedFilter",advancedFilterBuilderAdd:"AdvancedFilter",advancedFilterBuilderRemove:"AdvancedFilter",advancedFilterBuilderSelectOpen:"AdvancedFilter",chartsMenu:"IntegratedCharts",chartsMenuEdit:"IntegratedCharts",chartsMenuAdvancedSettings:"IntegratedCharts",chartsMenuAdd:"IntegratedCharts",chartsColorPicker:"IntegratedCharts",chartsThemePrevious:"IntegratedCharts",chartsThemeNext:"IntegratedCharts",chartsDownload:"IntegratedCharts",checkboxChecked:"CommunityCore",checkboxIndeterminate:"CommunityCore",checkboxUnchecked:"CommunityCore",radioButtonOn:"CommunityCore",radioButtonOff:"CommunityCore",rowPin:"PinnedRow",rowUnpin:"PinnedRow",rowPinBottom:"PinnedRow",rowPinTop:"PinnedRow"},nF=new Set(["colorPicker","smallUp","checkboxChecked","checkboxIndeterminate","checkboxUnchecked","radioButtonOn","radioButtonOff","smallDown","smallLeft","smallRight"]),sF=class extends M{constructor(){super(...arguments);this.beanName="validation"}wireBeans(J){this.gridOptions=J.gridOptions,EH(tK)}warnOnInitialPropertyUpdate(J,Z){if(J==="api"&&hF[Z])O(22,{key:Z})}processGridOptions(J){this.processOptions(J,dB())}validateApiFunction(J,Z){return cF(J,Z,this.beans)}missingUserComponent(J,Z,$,X){let Y=B2[Z];if(Y)this.gos.assertModuleRegistered(Y,`AG Grid '${J}' component: ${Z}`);else O(101,{propertyName:J,componentName:Z,agGridDefaults:$,jsComps:X})}missingDynamicBean(J){let Z=pF[J];return Z?JZ(200,{...this.gos.getModuleErrorParams(),moduleName:Z,reasonOrId:J}):void 0}checkRowEvents(J){if(tF.has(J))O(10,{eventType:J})}validateIcon(J){if(nF.has(J))O(43,{iconName:J});if(iF[J])return;let Z=dF[J];if(Z){e(200,{reasonOrId:`icon '${J}'`,moduleName:Z,gridScoped:C8(),gridId:this.beans.context.getId(),rowModelType:this.gos.get("rowModelType"),additionalText:"Alternatively, use the CSS icon name directly."});return}O(134,{iconName:J})}isProvidedUserComp(J){return!!B2[J]}validateColDef(J){this.processOptions(J,xB())}processOptions(J,Z){let{validations:$,deprecations:X,allProperties:Y,propertyExceptions:Q,objectName:q,docsUrl:H}=Z;if(Y&&this.gridOptions.suppressPropertyNamesCheck!==!0)this.checkProperties(J,[...Q??[],...Object.keys(X)],Y,q,H);let _=new Set;if(Object.keys(J).forEach((U)=>{let W=X[U];if(W){let{message:D,version:k}=W;_.add(`As of v${k}, ${String(U)} is deprecated. ${D??""}`)}let G=J[U];if(G==null||G===!1)return;let B=$[U];if(!B)return;let{dependencies:K,validate:E,supportedRowModels:L,expectedType:F}=B;if(F){let D=typeof G;if(D!==F){_.add(`${String(U)} should be of type '${F}' but received '${D}' (${G}).`);return}}if(L){let D=this.gridOptions.rowModelType??"clientSide";if(!L.includes(D)){_.add(`${String(U)} is not supported with the '${D}' row model. It is only valid with: ${L.join(", ")}.`);return}}if(K){let D=this.checkForRequiredDependencies(U,K,J);if(D){_.add(D);return}}if(E){let D=E(J,this.gridOptions,this.beans);if(D){_.add(D);return}}}),_.size>0)for(let U of _)Z0(U)}checkForRequiredDependencies(J,Z,$){let Y=Object.entries(Z).filter(([Q,q])=>{let H=$[Q];return!q.required.includes(H)});if(Y.length===0)return null;return Y.map(([Q,q])=>`'${String(J)}' requires '${Q}' to be one of [${q.required.map((H)=>{if(H===null)return"null";else if(H===void 0)return"undefined";return H}).join(", ")}]. ${q.reason??""}`).join(` `)}checkProperties(J,Z,$,X,Y){let Q=["__ob__","__v_skip","__metadata__"],q=rF(Object.getOwnPropertyNames(J),[...Q,...Z,...$],$),H=Object.keys(q);for(let _ of H){let z=q[_],U=`invalid ${X} property '${_}' did you mean any of these: ${z.slice(0,8).join(", ")}.`;if($.includes("context"))U+=` If you are trying to annotate ${X} with application data, use the '${X}.context' property instead.`;Z0(U)}if(H.length>0&&Y){let _=this.beans.frameworkOverrides.getDocLink(Y);Z0(`to see all the valid ${X} properties please check: ${_}`)}}};function rF(J,Z,$){let X={},Y=J.filter((Q)=>!Z.some((q)=>q===Q));if(Y.length>0)for(let Q of Y)X[Q]=L8({inputValue:Q,allSuggestions:$}).values;return X}var tF=new Set(["firstChildChanged","lastChildChanged","childIndexChanged"]),A4={moduleName:"Validation",version:p,beans:[sF]};var R2=class extends M{constructor(){super(...arguments);this.dispatchColumnChangedEvent=E1,this.columns=[],this.columnIndexMap={},this.updateIndexMap=()=>{this.columnIndexMap={},this.columns.forEach((J,Z)=>this.columnIndexMap[J.getId()]=Z)}}wireBeans(J){this.colModel=J.colModel,this.aggFuncSvc=J.aggFuncSvc,this.visibleCols=J.visibleCols,this.groupHierarchCols=J.groupHierarchyColSvc}sortColumns(J){let{groupHierarchCols:Z}=this;this.columns.sort(($,X)=>Z?.compareVirtualColumns($,X)??J($,X)),this.updateIndexMap()}setColumns(J,Z){this.setColList(J,this.columns,this.eventName,!0,!0,this.columnProcessors.set,Z)}addColumns(J,Z){this.updateColList(J,this.columns,!0,!0,this.columnProcessors.add,this.eventName,Z)}removeColumns(J,Z){this.updateColList(J,this.columns,!1,!0,this.columnProcessors.remove,this.eventName,Z)}getColumnIndex(J){return this.columnIndexMap[J]}setColList(J=[],Z,$,X,Y,Q,q){let H=this.colModel.getCols();if(!H||H.length===0)return;let _=new Map;Z.forEach((U,W)=>_.set(U,W)),Z.length=0;for(let U of J){let W=this.colModel.getColDefCol(U);if(W)Z.push(W)}Z.forEach((U,W)=>{let G=_.get(U);if(G===void 0){_.set(U,0);return}if(X&&G!==W)return;_.delete(U)}),this.updateIndexMap();let z=this.colModel.getColDefCols();for(let U of z??[]){let W=Z.indexOf(U)>=0;Q(U,W,q)}if(Y)this.colModel.refreshCols(!1,q);this.visibleCols.refresh(q),this.dispatchColumnChangedEvent(this.eventSvc,$,[..._.keys()],q)}updateColList(J=[],Z,$,X,Y,Q,q){if(!J||J.length===0)return;let H=!1,_=new Set;for(let U of J){if(!U)continue;let W=this.colModel.getColDefCol(U);if(!W)continue;if(_.add(W),$){if(Z.indexOf(W)>=0)continue;Z.push(W)}else{let G=Z.indexOf(W);if(G<0)continue;for(let B=G+1;B=0;else if(L)if(v)R=k;else if(b)R=A!=null&&A>=0;else R=!1;else R=$.indexOf(E)>=0;if(R)if(L?j!=null||A!=null:j!=null)X.push(E);else Y.push(E)}let W=(E)=>{let L=E.getColDef();return q(L)??H(L)};X.sort((E,L)=>W(E)-W(L));let G=[],B=this.groupHierarchCols,K=(E)=>{if(B)B.expandColumnInto(G,E);else G.push(E)};X.forEach(K);for(let E of $)if(Y.indexOf(E)>=0)K(E);for(let E of Y)if(G.indexOf(E)<0)K(E);for(let E of $)if(G.indexOf(E)<0)Q(E,!1,J);for(let E of G)if($.indexOf(E)<0)Q(E,!0,J);return this.columns=G,this.updateIndexMap(),this.columns}restoreColumnOrder(J,Z){let $=this.columns,X=this.colModel.getColDefCols();if(!$.length||!X)return J;let Y=Object.keys(Z),Q=new Set(Y),q=new Set(Y),H=new Set($.map((k)=>{let j=k.getColId();return q.delete(j),j}).concat(Y)),_=[],z={},U=0;for(let k=0;k{let j=z[k];for(let A=B;A>>32-Y,$)}ff(J,Z,$,X,Y,Q,q){return this.cmn(Z&$|~Z&X,J,Z,Y,Q,q)}gg(J,Z,$,X,Y,Q,q){return this.cmn(Z&X|$&~X,J,Z,Y,Q,q)}hh(J,Z,$,X,Y,Q,q){return this.cmn(Z^$^X,J,Z,Y,Q,q)}ii(J,Z,$,X,Y,Q,q){return this.cmn($^(Z|~X),J,Z,Y,Q,q)}md51(J){let Z=J.length,$=[1732584193,-271733879,-1732584194,271733878],X;for(X=64;X<=J.length;X+=64)this.md5cycle($,this.md5blk(J.substring(X-64,X)));J=J.substring(X-64);let Y=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(X=0;X>2]|=J.charCodeAt(X)<<(X%4<<3);if(Y[X>>2]|=128<<(X%4<<3),X>55){this.md5cycle($,Y);for(X=0;X<16;X++)Y[X]=0}return Y[14]=Z*8,this.md5cycle($,Y),$}md5blk(J){let Z=[];for(let $=0;$<64;$+=4)Z[$>>2]=J.charCodeAt($)+(J.charCodeAt($+1)<<8)+(J.charCodeAt($+2)<<16)+(J.charCodeAt($+3)<<24);return Z}rhex(J){let Z="0123456789abcdef".split(""),$="",X=0;for(;X<4;X++)$+=Z[J>>X*8+4&15]+Z[J>>X*8&15];return $}hex(J){for(let Z=0;Z>16)+(Z>>16)+($>>16)<<16|$&65535}},r6={"01":"GRID","02":"CHARTS","0102":"BOTH"};var HQ=class J{constructor(Z){this.watermarkMessage=void 0,this.totalMessageLength=124,this.document=Z,this.md5=new aF,this.md5.init()}validateLicense(){let Z=this.getLicenseDetails(J.licenseKey),$=`AG Grid ${Z.currentLicenseType==="BOTH"?"and AG Charts ":""}Enterprise`,X=Z.suppliedLicenseType===void 0?"":`AG ${Z.suppliedLicenseType==="BOTH"?"Grid and AG Charts":Z.suppliedLicenseType==="GRID"?"Grid":"Charts"} Enterprise`;if(Z.missing){if(!this.isWebsiteUrl()||this.isForceWatermark())this.outputMissingLicenseKey($)}else if(Z.expired){let Y=J.getGridReleaseDate(),Q=J.formatDate(Y);this.outputExpiredKey(Z.expiry,Q,$,X)}else if(!Z.valid)this.outputInvalidLicenseKey(!!Z.incorrectLicenseType,$,X);else if(Z.isTrial&&Z.trialExpired)this.outputExpiredTrialKey(Z.expiry,$,X)}static extractExpiry(Z){let $=Z.substring(Z.lastIndexOf("_")+1,Z.length);return new Date(parseInt(J.decode($),10))}static extractLicenseComponents(Z){let $=Z.replace(/[\u200B-\u200D\uFEFF]/g,"");if($=$.replace(/\r?\n|\r/g,""),Z.length<=32)return{md5:null,license:Z,version:null,isTrial:null};let X=$.length-32,Y=$.substring(X),Q=$.substring(0,X),[q,H,_]=J.extractBracketedInformation($);return{md5:Y,license:Q,version:q,isTrial:H,type:_}}getLicenseDetails(Z){let $=J.chartsLicenseManager?"BOTH":"GRID";if(!Z?.length)return{licenseKey:Z,valid:!1,missing:!0,currentLicenseType:$};let X=J.getGridReleaseDate(),{md5:Y,license:Q,version:q,isTrial:H,type:_}=J.extractLicenseComponents(Z),z=Y===this.md5.md5(Q)&&!Z.includes("For_Trialing_ag-Grid_Only"),U=void 0,W=void 0,G=null,B=!1,K=void 0;function E(){U=GG,q){case"legacy":case"2":{if(H)E();break}case"3":if(!_?.length)z=!1;else if(K=_,_!==r6["01"]&&_!==r6["0102"]||$==="BOTH"&&K!=="BOTH")z=!1,B=!0;else if(H)E()}}if(!z)return{licenseKey:Z,valid:z,incorrectLicenseType:B,currentLicenseType:$,suppliedLicenseType:K};return{licenseKey:Z,valid:z,expiry:J.formatDate(G),expired:W,version:q,isTrial:H,trialExpired:U,incorrectLicenseType:B,currentLicenseType:$,suppliedLicenseType:K}}isDisplayWatermark(){return this.isForceWatermark()||!this.isLocalhost()&&!this.isWebsiteUrl()&&!!this.watermarkMessage?.length}getWatermarkMessage(){return this.watermarkMessage||""}getHostname(){let $=(this.document.defaultView||window).location,{hostname:X=""}=$;return X}isForceWatermark(){let $=(this.document.defaultView||window).location,{pathname:X}=$;return X?X.includes("forceWatermark"):!1}isWebsiteUrl(){return this.getHostname().match(/^(?:[\w-]+\.)?(ag-grid|bryntum)\.com$/)!==null}isLocalhost(){return this.getHostname().match(/^(?:127\.0\.0\.1|localhost)$/)!==null}static formatDate(Z){let $=["January","February","March","April","May","June","July","August","September","October","November","December"],X=Z.getDate(),Y=Z.getMonth(),Q=Z.getFullYear();return X+" "+$[Y]+" "+Q}static getGridReleaseDate(){return new Date(parseInt(J.decode(J.RELEASE_INFORMATION),10))}static decode(Z){let X="",Y,Q,q,H,_,z,U,W=0,G=Z.replace(/[^A-Za-z0-9+/=]/g,"");while(W>4,Q=(_&15)<<4|z>>2,q=(z&3)<<6|U,X=X+String.fromCharCode(Y),z!=64)X=X+String.fromCharCode(Q);if(U!=64)X=X+String.fromCharCode(q)}return X=J.utf8_decode(X),X}static utf8_decode(Z){Z=Z.replace(/rn/g,"n");let $="";for(let X=0;X127&&Y<2048)$+=String.fromCharCode(Y>>6|192),$+=String.fromCharCode(Y&63|128);else $+=String.fromCharCode(Y>>12|224),$+=String.fromCharCode(Y>>6&63|128),$+=String.fromCharCode(Y&63|128)}return $}static setChartsLicenseManager(Z){this.chartsLicenseManager=Z,this.chartsLicenseManager?.setLicenseKey(this.licenseKey,!0)}static setLicenseKey(Z){if(T(this.licenseKey)&&this.licenseKey!==Z)oX(291,void 0,"AG Grid: License Key being set multiple times with different values. This can result in an incorrect license key being used.");this.licenseKey=Z,this.chartsLicenseManager?.setLicenseKey(Z,!0)}static extractBracketedInformation(Z){if(!Z.includes("["))return["legacy",!1,void 0];let $=Z.match(/\[(.*?)\]/g).map((H)=>H.replace("[","").replace("]",""));if(!$||$.length===0)return["legacy",!1,void 0];let X=$.filter((H)=>H==="TRIAL").length===1,Y=$.filter((H)=>H.indexOf("v")===0)[0],Q=Y?Y.replace("v",""):"legacy",q=r6[$.filter((H)=>r6[H])[0]];return[Q,X,q]}centerPadAndOutput(Z){let $=this.totalMessageLength-Z.length}padAndOutput(Z,$="*",X=""){}outputInvalidLicenseKey(Z,$,X){}outputExpiredTrialKey(Z,$,X){}outputMissingLicenseKey(Z){}outputExpiredKey(Z,$,X,Y){}};HQ.RELEASE_INFORMATION="MTc3NDQyNTc0Nzc3NQ==";var t6=HQ,oF='.ag-watermark{bottom:20px;color:#9b9b9b;opacity:.7;position:absolute;transition:opacity 1s ease-out 3s}:where(.ag-ltr) .ag-watermark{right:25px}:where(.ag-rtl) .ag-watermark{left:25px}.ag-watermark:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDkiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyMDkgMzYiPjxwYXRoIGZpbGw9IiM5YjliOWIiIGQ9Ik0xOTIuOTkzIDIzLjY1OHYtNy45NDZoLTEzLjU0MWwtNy45NDcgNy45NDZ6TTIwOC4yNSAzLjk1aC0xNi45NzRsLTguMDEgNy45NDdoMjQuOTg0ek0xNjMuNjIyIDMxLjYwNWw0LjA2OS00LjA2OWgxMy43MzJ2Ny45NDdoLTE3LjgwMXoiLz48cGF0aCBmaWxsPSIjOWI5YjliIiBkPSJNMTY2LjYxIDE5Ljc4aDguNzczbDguMDEtNy45NDZIMTY2LjYxek0xNTcuMDExIDMxLjYwNWg2LjYxMWw3Ljg4My03Ljk0N2gtMTQuNDk0ek0xOTEuMjc2IDMuOTVsLTQuMDY4IDQuMDdIMTYxLjI3Vi4wNzJoMzAuMDA2ek0yMC44NCAzMC4yMDZIOC4zNzhsLTIuMTYyIDUuMzRILjc1TDEyLjI1NyA4LjU5Mmg0Ljc2OEwyOC41MyAzNS41NDZoLTUuNTN6bS0xLjcxNy00LjI2TDE0LjYwOSAxNC45NWwtNC41MTQgMTAuOTk4ek0xMDQuNDM3IDE4LjUwOWMxLjU4OS0yLjM1MiA1LjU5NC0yLjYwNyA3LjI0Ny0yLjYwN3Y0LjU3OGMtMi4wMzQgMC00LjA2OS4wNjMtNS4yNzcuOTUzLTEuMjA3Ljg5LTEuODQzIDIuMDk4LTEuODQzIDMuNTZ2MTAuNTUzaC00Ljk1OVYxNS45MDJoNC43Njh6TTExOS4zNzYgMTUuOTAyaC00Ljk1OHYxOS42NDRoNC45NTh6TTExOS4zNzYgNy4xM2gtNC45NTh2NS44NDhoNC45NTh6TTE0My45NzkgNy4xM3YyOC40MTZoLTQuNzY4bC0uMTI3LTIuOTg4YTguMyA4LjMgMCAwIDEtMi42NyAyLjQ4Yy0xLjA4MS41NzItMi40MTYuODktMy45NDIuODktMS4zMzUgMC0yLjYwNi0uMjU1LTMuNjg3LS43LTEuMTQ0LS41MDgtMi4xNjItMS4xNDQtMi45ODgtMi4wMzRhOS42IDkuNiAwIDAgMS0xLjk3MS0zLjE3OWMtLjUwOC0xLjIwNy0uNjk5LTIuNjA2LS42OTktNC4xMzJzLjI1NC0yLjkyNC42OTktNC4xOTZjLjUwOS0xLjI3MSAxLjE0NS0yLjM1MiAxLjk3MS0zLjI0MnMxLjg0NC0xLjU4OSAyLjk4OC0yLjA5OCAyLjM1Mi0uNzYzIDMuNjg3LS43NjNjMS41MjYgMCAyLjc5Ny4yNTUgMy44NzguODI3czEuOTcxIDEuMzM1IDIuNjcgMi40MTZWNy4xOTNoNC45NTl6bS0xMC40MjYgMjQuNTM4YzEuNjUzIDAgMi45MjQtLjU3MiAzLjk0MS0xLjY1M3MxLjUyNi0yLjU0MyAxLjUyNi00LjMyMy0uNTA5LTMuMTc4LTEuNTI2LTQuMzIyYy0xLjAxNy0xLjA4MS0yLjI4OC0xLjY1My0zLjk0MS0xLjY1My0xLjU5IDAtMi45MjUuNTcyLTMuODc4IDEuNjUzLTEuMDE3IDEuMDgtMS41MjYgMi41NDMtMS41MjYgNC4zMjIgMCAxLjc4LjUwOSAzLjE4IDEuNTI2IDQuMjYgMS4wMTcgMS4xNDQgMi4yODggMS43MTYgMy44NzggMS43MTZNNTcuMjAyIDIwLjM1M0g0NC45MzN2NC4yNTloNi45OTNjLS4xOSAyLjE2MS0xLjAxNyAzLjgxNC0yLjQxNiA1LjE1LTEuMzk4IDEuMjctMy4xNzggMS45MDYtNS40NjcgMS45MDYtMS4yNzEgMC0yLjQ4LS4yNTQtMy40OTYtLjY5OWE3IDcgMCAwIDEtMi43MzQtMS45N2MtLjc2My0uODI3LTEuMzM1LTEuODQ0LTEuNzgtMy4wNTJzLS42MzYtMi40OC0uNjM2LTMuOTQyLjE5LTIuNzMzLjYzNi0zLjk0MWMuMzgxLTEuMjA4IDEuMDE3LTIuMTYyIDEuNzgtMy4wNTIuNzYzLS44MjYgMS42NTMtMS40NjIgMi43MzMtMS45N2E5LjEgOS4xIDAgMCAxIDMuNTYtLjdxNC4wMDUgMCA2LjEwMyAxLjkwN2wzLjMwNi0zLjMwNWMtMi40OC0xLjkwNy01LjY1OC0yLjkyNS05LjQwOS0yLjkyNS0yLjA5NyAwLTQuMDA0LjMxOC01LjcyMSAxLjAxOC0xLjcxNi42OTktMy4xNzkgMS41ODktNC4zODYgMi43OTdBMTIuMSAxMi4xIDAgMCAwIDMxLjIgMTYuMjJjLS42MzUgMS43MTctLjk1MyAzLjYyNC0uOTUzIDUuNjU4cy4zMTggMy45NDIgMS4wMTcgNS42NThjLjcgMS43MTcgMS41OSAzLjE3OSAyLjc5NyA0LjM4N2ExMi4xIDEyLjEgMCAwIDAgNC4zODcgMi43OTdjMS43MTYuNyAzLjYyMyAxLjAxNyA1LjY1NyAxLjAxNyAyLjAzNSAwIDMuODc4LS4zMTggNS41MzEtMS4wMTcgMS42NTMtLjcgMy4wNTItMS41OSA0LjE5Ni0yLjc5N3ExLjcxNi0xLjgxMiAyLjY3LTQuMzg3Yy42MzYtMS43MTYuOTU0LTMuNjIzLjk1NC01LjY1OHYtLjgyNmMtLjE5MS0uMTI3LS4yNTUtLjQ0NS0uMjU1LS43TTk1Ljk4MiAyMC4zNTNoLTEyLjI3djQuMjU5aDYuOTkzYy0uMTkgMi4xNjEtMS4wMTcgMy44MTQtMi40MTYgNS4xNS0xLjM5OCAxLjI3LTMuMTc4IDEuOTA2LTUuNDY3IDEuOTA2LTEuMjcxIDAtMi40OC0uMjU0LTMuNDk2LS42OTlhNyA3IDAgMCAxLTIuNzM0LTEuOTdjLS43NjMtLjgyNy0xLjMzNS0xLjg0NC0xLjc4LTMuMDUycy0uNjM2LTIuNDgtLjYzNi0zLjk0Mi4xOS0yLjczMy42MzYtMy45NDFjLjM4MS0xLjIwOCAxLjAxNy0yLjE2MiAxLjc4LTMuMDUyLjc2My0uODI2IDEuNjUzLTEuNDYyIDIuNzM0LTEuOTdhOS4xIDkuMSAwIDAgMSAzLjU2LS43cTQuMDA1IDAgNi4xMDMgMS45MDdsMy4zMDUtMy4zMDVjLTIuNDc5LTEuOTA3LTUuNjU4LTIuOTI1LTkuNDA4LTIuOTI1LTIuMDk4IDAtNC4wMDUuMzE4LTUuNzIyIDEuMDE4LTEuNzE2LjY5OS0zLjE3OCAxLjU4OS00LjM4NiAyLjc5N2ExMi4xIDEyLjEgMCAwIDAtMi43OTcgNC4zODZjLS42MzYgMS43MTctLjk1NCAzLjYyNC0uOTU0IDUuNjU4cy4zMTggMy45NDIgMS4wMTcgNS42NThjLjcgMS43MTcgMS41OSAzLjE3OSAyLjc5NyA0LjM4N2ExMi4xIDEyLjEgMCAwIDAgNC4zODcgMi43OTdjMS43MTYuNyAzLjYyMyAxLjAxNyA1LjY1OCAxLjAxNyAyLjAzNCAwIDMuODc4LS4zMTggNS41My0xLjAxNyAxLjY1My0uNyAzLjA1Mi0xLjU5IDQuMTk2LTIuNzk3cTEuNzE4LTEuODEyIDIuNjctNC4zODdjLjYzNi0xLjcxNi45NTQtMy42MjMuOTU0LTUuNjU4di0uODI2Yy0uMTktLjEyNy0uMjU1LS40NDUtLjI1NS0uNyIvPjwvc3ZnPg==");background-repeat:no-repeat;background-size:170px 40px;content:"";display:block;height:40px;width:170px}.ag-watermark-text{font-family:Impact,sans-serif;font-size:19px;font-weight:700;opacity:.5}:where(.ag-ltr) .ag-watermark-text{padding-left:.7rem}:where(.ag-rtl) .ag-watermark-text{padding-right:.7rem}',eF={tag:"div",cls:"ag-watermark",children:[{tag:"div",ref:"eLicenseTextRef",cls:"ag-watermark-text"}]},JD=class extends y{constructor(){super(eF);this.eLicenseTextRef=S,this.registerCSS(oF)}wireBeans(J){this.licenseManager=J.licenseManager}postConstruct(){let J=this.shouldDisplayWatermark();if(this.setDisplayed(J),J)this.eLicenseTextRef.textContent=this.licenseManager.getWatermarkMessage(),window.setTimeout(()=>this.addCss("ag-opacity-zero"),0),window.setTimeout(()=>this.setDisplayed(!1),5000)}shouldDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}},ZD={selector:"AG-WATERMARK",component:JD},R4=class extends M{constructor(){super(...arguments);this.beanName="licenseManager"}postConstruct(){this.validateLicense()}validateLicense(){let J=this.beans;if(J.withinStudio)this.licenseManager={isDisplayWatermark:()=>!1,getWatermarkMessage:()=>""};else{let Z=new t6(qJ(J));this.licenseManager=Z,Z.validateLicense()}}static getLicenseDetails(J){return new t6(null).getLicenseDetails(J)}getWatermarkSelector(){return ZD}isDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}getWatermarkMessage(){return this.licenseManager.getWatermarkMessage()}static setLicenseKey(J){t6.setLicenseKey(J)}static setChartsLicenseManager(J){t6.setChartsLicenseManager(J)}},$D=9525,O4={"0":1,"0.00":2,"#,##0":3,"#,##0.00":4,"0%":9,"0.00%":10,"0.00E+00":11,"# ?/?":12,"# ??/??":13,"mm-dd-yy":14,"d-mmm-yy":15,"d-mmm":16,"mmm-yy":17,"h:mm AM/PM":18,"h:mm:ss AM/PM":19,"h:mm":20,"h:mm:ss":21,"m/d/yy h:mm":22,"#,##0 ;(#,##0)":37,"#,##0 ;[Red](#,##0)":38,"#,##0.00;(#,##0.00)":39,"#,##0.00;[Red](#,##0.00)":40,"mm:ss":45,"[h]:mm:ss":46,"mmss.0":47,"##0.0E+0":48,"@":49},l6=`\r `;function S4(J,Z,$){if(!Z&&Z!==""&&Z!==0)return"";let X=Z;if(typeof Z==="boolean"){if($)X=$(Z)}return` ${J}="${X}"`}function XD(J={}){let X=["version"];if(!J.version)J.version="1.0";if(J.encoding)X.push("encoding");if(J.standalone)X.push("standalone");return``${Q}="${J[Q]}"`).join(" ")} ?>`}function _Q(J,Z){let $="";if(J.properties){if(J.properties.prefixedAttributes)J.properties.prefixedAttributes.forEach((Y)=>{for(let Q of Object.keys(Y.map))$+=S4(Y.prefix+Q,Y.map[Q],Z)});if(J.properties.rawMap)for(let Y of Object.keys(J.properties.rawMap))$+=S4(Y,J.properties.rawMap[Y],Z)}let X="<"+J.name+$;if(!J.children&&J.textNode==null)return X+"/>"+l6;if(J.textNode!=null)return X+">"+J.textNode+""+l6;if(X+=">"+l6,J.children)for(let Y of J.children)X+=_Q(Y,Z);return X+""+l6}var YD=(J)=>{return Math.round(J*96/72)},O2=(J)=>{return Math.ceil(J*$D)},QD=(J)=>{if(J===void 0)return;let $=["Automatic","Roman","Swiss","Modern","Script","Decorative"].indexOf(J||"Automatic");return Math.max($,0)},Z7=(J,Z)=>{if(!Z)return;let $;if(typeof Z==="number")$=Z;else $=Z({rowIndex:J});return $},qD=(J,Z)=>{let{colSpan:$,column:X}=J.position;if(!J.width)return;if($){let Y=Z.slice(X-1,X+$-1),Q=0;for(let q=0;q{let{rowSpan:$,row:X}=J.position;if(!J.height)return;if($){let Y=0,Q=0;for(let q=X;q{let $=XD({encoding:"UTF-8",standalone:"yes"}),X=_Q(J);if(Z)return X;return`${$}${X}`},a0=(J)=>{let X=String.fromCharCode,Y=Math.floor(J/26),Q=J%26;if(!Y||J===26)return X(65+J-1);if(!Q)return a0(Y-1)+"Z";if(Y<26)return X(65+Y-1)+X(65+Q-1);return a0(Y)+X(65+Q-1)},_D=(J)=>{return J.replaceAll(` `,"_x000a_")},q7=(J)=>{if(J==null)return null;let Z="";for(let $=0;$=0&&X<=31&&X!==10){let q=`_x${X.toString(16).toUpperCase().padStart(4,"0")}_`;Z+=q}else Z+=J[$]}return Z},zD=(J)=>{let Z=[];for(let $ of J.keys()){let X=$.toString(),Y={name:"t",textNode:GJ(q7(X))};if(X.trim().length!==X.length)Y.properties={rawMap:{"xml:space":"preserve"}};Z.push({name:"si",children:[Y]})}return Z},UD=class extends O9{constructor(J){super(J);this.mixedStyles={},this.mixedStyleCounter=0,this.rows=[],this.frozenRowCount=0,this.skipFrozenRows=!1,this.frozenColumnCount=0,this.skipFrozenColumns=!1,this.formulaSvc=J.formulaSvc,this.config=Object.assign({},J),this.workbook=J.workbook,this.stylesByIds={};for(let $ of this.config.baseExcelStyles)this.stylesByIds[$.id]=$;let Z={id:"_quotePrefix",quotePrefix:1};this.stylesByIds[Z.id]=Z,this.excelStyles=[...this.config.baseExcelStyles,Z]}addCustomContent(J){for(let Z of J){let $=this.rows.length+1,X;if(!this.config.suppressRowOutline&&Z.outlineLevel!=null)X=Z.outlineLevel;let Y={height:Z7($,Z.height||this.config.rowHeight),cells:(Z.cells||[]).map((Q,q)=>{let H=this.addImage($,this.columnsToExport[q],Q.data?.value),_=null;if(Q.styleId)_=typeof Q.styleId==="string"?[Q.styleId]:Q.styleId;let z=this.getStyleId(_);if(H)return this.createCell(z,this.getDataTypeForValue(H.value),H.value==null?"":H.value);let U=Q.data?.value??"",W=this.getDataTypeForValue(U);if(Q.mergeAcross)return this.createMergedCell(z,W,U,Q.mergeAcross);return this.createCell(z,W,U)}),outlineLevel:X};if(Z.collapsed!=null)Y.collapsed=Z.collapsed;if(Z.hidden!=null)Y.hidden=Z.hidden;this.rows.push(Y)}}onNewHeaderGroupingRow(){let J=[],{freezeRows:Z,headerRowHeight:$}=this.config;if(this.rows.push({cells:J,height:Z7(this.rows.length+1,$)}),Z)this.frozenRowCount++;return{onColumn:(X,Y,Q,q,H)=>{let _=this.config.styleLinker({rowType:"HEADER_GROUPING",rowIndex:1,value:`grouping-${Y}`,columnGroup:X});J.push({...this.createMergedCell(this.getStyleId(_),this.getDataTypeForValue("string"),Y,q),collapsibleRanges:H})}}}onNewHeaderRow(){let{freezeRows:J,headerRowHeight:Z}=this.config;if(J)this.frozenRowCount++;return this.onNewRow(this.onNewHeaderColumn,Z)}onNewBodyRow(J){let{freezeRows:Z,rowHeight:$}=this.config;if(!this.skipFrozenRows)if(Z==="headersAndPinnedRows"&&J?.rowPinned==="top")this.frozenRowCount++;else if(typeof Z==="function")if(Z(x(this.gos,{node:J})))this.frozenRowCount++;else this.skipFrozenRows=!0;else this.skipFrozenRows=!0;let X=this.onNewRow(this.onNewBodyColumn,$);if(J)this.addRowOutlineIfNecessary(J);return X}prepare(J){super.prepare(J),this.columnsToExport=[...J],this.cols=J.map((Z,$)=>this.convertColumnToExcel(Z,$))}parse(){let J=this.rows.reduce(($,X)=>Math.max($,X.cells.length),0);while(this.cols.length{let X=this.extractHeaderValue($),Y=this.config.styleLinker({rowType:"HEADER",rowIndex:J,value:X,column:$});Z.push(this.createCell(this.getStyleId(Y),this.getDataTypeForValue("string"),X))}}onNewBodyColumn(J,Z){let $=0,{freezeColumns:X,rightToLeft:Y}=this.config;return(Q,q,H)=>{if($>0){$-=1;return}if(!this.skipFrozenColumns){let L=Q.getPinned();if(X==="pinned"&&L&&(L===!0||L==="left")!==Y)this.frozenColumnCount++;else if(typeof X==="function"&&X(x(this.gos,{column:Q})))this.frozenColumnCount++;else this.skipFrozenColumns=!0}let{value:_,valueFormatted:z}=this.extractRowCellValue({column:Q,node:H,currentColumnIndex:q,accumulatedRowIndex:J,type:"excel",useRawFormula:!0}),U=_,W=typeof U==="bigint"?U.toString():U,G=this.config.styleLinker({rowType:"BODY",rowIndex:J,value:U,column:Q,node:H}),B=this.getStyleId(G),K=Q.getColSpan(H),E=this.addImage(J,Q,W);if(E)Z.push(this.createCell(B,this.getDataTypeForValue(E.value),E.value==null?"":E.value));else if(K>1)$=K-1,Z.push(this.createMergedCell(B,this.getDataTypeForValue(U),W,K-1));else{let L=Q.isAllowFormula()&&this.formulaSvc?.isFormula(W),F=this.createCell(B,L?"f":this.getDataTypeForValue(U),L?this.formulaSvc?.updateFormulaByOffset({value:W,rowDelta:J-(H.formulaRowIndex+1),useRefFormat:!1}):W,z);Z.push(F)}}}onNewRow(J,Z){let $=[];return this.rows.push({cells:$,height:Z7(this.rows.length+1,Z)}),{onColumn:J.bind(this,this.rows.length,$)()}}addWorksheetToWorkbook(J){let{excelStyles:Z,config:$}=this;if(this.mapSharedStrings(J),this.frozenColumnCount)$.frozenColumnCount=this.frozenColumnCount;if(this.frozenRowCount)$.frozenRowCount=this.frozenRowCount;return this.workbook.addWorksheet(Z,J,$)}mapSharedStrings(J){let Z;for(let $ of J.table.rows)for(let X of $.cells){let Y=X.data;if(!Y||Y.type!=="s")continue;let Q=Y.value;if(Q==null)continue;if(Q===""){Z??(Z=this.workbook.getStringPosition("").toString()),Y.value=Z;continue}Y.value=this.workbook.getStringPosition(String(Q)).toString()}}getDataTypeForValue(J){if(J===void 0)return"empty";let Z="s";try{if(this.isNumerical(J))Z="n"}catch($){}return Z}getTypeFromStyle(J,Z){if(this.isFormula(Z))return"f";if(J?.dataType)switch(J.dataType.toLocaleLowerCase()){case"formula":return"f";case"string":return"s";case"number":return"n";case"datetime":return"d";case"error":return"e";case"boolean":return"b";default:O(162,{id:J.id,dataType:J.dataType})}return null}addImage(J,Z,$){if(!this.config.addImageToCell)return;let X=this.config.addImageToCell(J,Z,$);if(!X)return;return this.workbook.addBodyImageToMap(X.image,J,Z,this.columnsToExport,this.config.rowHeight),X}createCell(J,Z,$,X){let Y=this.getStyleById(J);if(!Y?.dataType&&Z==="s"&&X!=null)$=X;let Q=this.getTypeFromStyle(Y,$)||Z,{value:q,escaped:H}=this.getCellValue(Q,$),_=[];if(Y)_.push(J);if(H)_.push("_quotePrefix");return J=this.getStyleId(_)||void 0,{styleId:J,data:{type:Q,value:q}}}createMergedCell(J,Z,$,X){let Y=$==null?"":$;return{styleId:this.getStyleById(J)?J:void 0,data:{type:Z,value:Z==="s"?String(Y):$},mergeAcross:X}}getCellValue(J,Z){let $=!1;if(Z==null||J==="s"&&Z==="")return{value:"",escaped:!1};if(J==="s"){if(Z=String(Z),Z[0]==="'")$=!0,Z=Z.slice(1)}else if(J==="f")Z=this.addXlfnPrefix(Z).slice(1);else if(J==="n"){let X=Number(Z);if(isNaN(X))Z="";else if(Z!=="")Z=X.toString()}return{value:Z,escaped:$}}addXlfnPrefix(J){if(!J)return J;let Z=/(^|[^A-Z0-9._])(CONCAT)(\s*\()/gi;return J.replace(Z,($,X,Y,Q)=>`${X}_xlfn.${Y}${Q}`)}getStyleId(J){if(!J?.length)return null;let Z=J.filter((X)=>this.stylesByIds[X]!=null);if(!Z.length)return null;if(Z.length===1)return Z[0];let $=Z.join("-");if(!this.mixedStyles[$])this.addNewMixedStyle(Z);return this.mixedStyles[$].excelID}addNewMixedStyle(J){this.mixedStyleCounter+=1;let Z=`mixedStyle${this.mixedStyleCounter}`,$={};for(let Y of J){let Q=this.stylesByIds[Y];if(Q)BJ($,Q,!0,!0)}$.id=Z;let X=J.join("-");this.mixedStyles[X]={excelID:Z,key:X,result:$},this.excelStyles.push($),this.stylesByIds[Z]=$}isFormula(J){if(J==null)return!1;let Z=String(J);return this.config.autoConvertFormulas&&a5(Z)}isNumerical(J){if(typeof J==="bigint")return!1;return isFinite(J)&&J!==""&&!isNaN(parseFloat(J))}getStyleById(J){if(J==null)return null;return this.stylesByIds[J]||null}},WD={getTemplate(J){let{name:Z,ContentType:$,Extension:X,PartName:Y}=J;return{name:Z,properties:{rawMap:{Extension:X,PartName:Y,ContentType:$}}}}},GD=WD,K7=(J)=>J==="jpg"?"jpeg":J,BD={getTemplate({sheetLen:J,hasCustomProperties:Z}){let $=Array(J).fill(void 0).map((W,G)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${G+1}.xml`})),X=A0.size,Y=nZ.size,Q={};T2.forEach((W)=>{Q[K7(W.type)]=!0});let q=Array(X).fill(void 0).map((W,G)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${G+1}.xml`})),H=[];NZ.forEach(({name:W})=>{H.push({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/${W}.xml`})});let _=Z?[{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.custom-properties+xml",PartName:"/docProps/custom.xml"}]:[],z=Object.keys(Q).map((W)=>({name:"Default",ContentType:`image/${W}`,Extension:W}));if(Y)z.push({name:"Default",Extension:"vml",ContentType:"application/vnd.openxmlformats-officedocument.vmlDrawing"});let U=[...z,{name:"Default",Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"},{name:"Default",ContentType:"application/xml",Extension:"xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",PartName:"/xl/workbook.xml"},...$,{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.theme+xml",PartName:"/xl/theme/theme1.xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",PartName:"/xl/styles.xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",PartName:"/xl/sharedStrings.xml"},...q,...H,{name:"Override",ContentType:"application/vnd.openxmlformats-package.core-properties+xml",PartName:"/docProps/core.xml"},..._].map((W)=>GD.getTemplate(W));return{name:"Types",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"}},children:U}}},KD=BD,ED={getTemplate(J){let $=new Date().toJSON();return{name:"cp:coreProperties",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{cp:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",xsi:"http://www.w3.org/2001/XMLSchema-instance"}}]},children:[{name:"dc:creator",textNode:J},{name:"dc:title",textNode:"Workbook"},{name:"dcterms:created",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:$},{name:"dcterms:modified",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:$}]}}},LD=ED,FD="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",DD=(J)=>{return Object.keys(J).filter(($)=>$&&J[$]!=null).map(($,X)=>({name:"property",properties:{rawMap:{fmtid:FD,pid:(X+2).toString(),name:GJ($)??""}},children:[{name:"vt:lpwstr",textNode:GJ(q7(String(J[$])))??""}]}))},kD={getTemplate(J){return{name:"Properties",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties","xmlns:vt":"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"}},children:DD(J)}}},VD=kD,f4=(J,Z)=>({name:`xdr:${J}`,children:[{name:"xdr:col",textNode:Z.col.toString()},{name:"xdr:colOff",textNode:Z.offsetX.toString()},{name:"xdr:row",textNode:Z.row.toString()},{name:"xdr:rowOff",textNode:Z.offsetY.toString()}]}),jD=(J)=>{let Z=[{name:"a:ext",properties:{rawMap:{uri:"{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}"}},children:[{name:"a16:creationId",properties:{rawMap:{id:"{822E6D20-D7BC-2841-A643-D49A6EF008A2}","xmlns:a16":"http://schemas.microsoft.com/office/drawing/2014/main"}}}]}];switch(J.recolor?.toLowerCase()){case"grayscale":case"sepia":case"washout":Z.push({name:"a:ext",properties:{rawMap:{uri:"{C183D7F6-B498-43B3-948B-1728B52AA6E4}"}},children:[{name:"adec:decorative",properties:{rawMap:{val:"0","xmlns:adec":"http://schemas.microsoft.com/office/drawing/2017/decorative"}}}]})}return{name:"a:extLst",children:Z}},AD=(J,Z)=>({name:"xdr:nvPicPr",children:[{name:"xdr:cNvPr",properties:{rawMap:{id:Z,name:J.id,descr:J.altText!=null?J.altText:void 0}},children:[jD(J)]},{name:"xdr:cNvPicPr",properties:{rawMap:{preferRelativeResize:"0"}},children:[{name:"a:picLocks"}]}]}),P4=(J)=>{if(!J.saturation&&!J.tint)return;let Z=[];if(J.saturation)Z.push({name:"a:satMod",properties:{rawMap:{val:J.saturation*1000}}});if(J.tint)Z.push({name:"a:tint",properties:{rawMap:{val:J.tint*1000}}});return Z},MD=(J,Z)=>{return{name:"a:duotone",children:[{name:"a:prstClr",properties:{rawMap:{val:J.color}},children:P4(J)},{name:"a:srgbClr",properties:{rawMap:{val:Z.color}},children:P4(Z)}]}},RD=(J,Z)=>{let $;if(J.transparency){let X=Math.min(Math.max(J.transparency,0),100);$=[{name:"a:alphaModFix",properties:{rawMap:{amt:1e5-Math.round(X*1000)}}}]}if(J.recolor){if(!$)$=[];switch(J.recolor.toLocaleLowerCase()){case"grayscale":$.push({name:"a:grayscl"});break;case"sepia":$.push(MD({color:"black"},{color:"D9C3A5",tint:50,saturation:180}));break;case"washout":$.push({name:"a:lum",properties:{rawMap:{bright:"70000",contrast:"-70000"}}});break;default:}}return{name:"xdr:blipFill",children:[{name:"a:blip",properties:{rawMap:{cstate:"print","r:embed":`rId${Z}`,"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}},children:$},{name:"a:stretch",children:[{name:"a:fillRect"}]}]}},OD=(J,Z)=>{let $={name:"a:xfrm",children:[{name:"a:off",properties:{rawMap:{x:0,y:0}}},{name:"a:ext",properties:{rawMap:{cx:Z.width,cy:Z.height}}}]};if(J.rotation){let Q=J.rotation;$.properties={rawMap:{rot:Math.min(Math.max(Q,0),360)*60000}}}return{name:"xdr:spPr",children:[$,{name:"a:prstGeom",properties:{rawMap:{prst:"rect"}},children:[{name:"a:avLst"}]}]}},SD=(J)=>{J.fitCell=!!J.fitCell||!J.width||!J.height;let{position:Z={},fitCell:$,width:X=0,height:Y=0,totalHeight:Q,totalWidth:q}=J,{offsetX:H=0,offsetY:_=0,row:z=1,rowSpan:U=1,column:W=1,colSpan:G=1}=Z;return{from:{row:z-1,col:W-1,offsetX:O2(H),offsetY:O2(_)},to:{row:z-1+($?1:U-1),col:W-1+($?1:G-1),offsetX:O2(X+H),offsetY:O2(Y+_)},height:O2(Q||Y),width:O2(q||X)}},fD=(J,Z,$,X)=>{return{name:"xdr:pic",children:[AD(J,Z+1),RD(J,$+1),OD(J,X)]}},PD={getTemplate(J){let{sheetIndex:Z}=J,$=A0.get(Z),X=v2.get(Z),Y=$.map((Q,q)=>{let H=SD(Q);return{name:"xdr:twoCellAnchor",properties:{rawMap:{editAs:"absolute"}},children:[f4("from",H.from),f4("to",H.to),fD(Q,q,X.get(Q.id).index,H),{name:"xdr:clientData"}]}});return{name:"xdr:wsDr",properties:{rawMap:{"xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"}},children:Y}}},TD=PD,vD={getTemplate(J){let{Id:Z,Type:$,Target:X}=J;return{name:"Relationship",properties:{rawMap:{Id:Z,Type:$,Target:X}}}}},ID=vD,bD={getTemplate(J){let Z=J.map(($)=>ID.getTemplate($));return{name:"Relationships",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}},children:Z}}},v5=bD,CD={getTemplate(J){return{name:"sst",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:J.size,uniqueCount:J.size}},children:zD(J)}}},xD=CD,yD=(J)=>{switch(J){case 1:return"thin";case 2:return"medium";case 3:return"thick";default:return"hair"}},ND={None:"None",Dot:"Dotted",Dash:"Dashed",Double:"Double",DashDot:"DashDot",DashDotDot:"DashDotDot",SlantDashDot:"SlantDashDot",Continuous:"Continuous"},wD=["Dashed","DashDot","DashDotDot"],gD={None:"none",Solid:"solid",Gray50:"mediumGray",Gray75:"darkGray",Gray25:"lightGray",HorzStripe:"darkHorizontal",VertStripe:"darkVertical",ReverseDiagStripe:"darkDown",DiagStripe:"darkUp",DiagCross:"darkGrid",ThickDiagCross:"darkTrellis",ThinHorzStripe:"lightHorizontal",ThinVertStripe:"lightVertical",ThinReverseDiagStripe:"lightDown",ThinDiagStripe:"lightUp",ThinHorzCross:"lightGrid",ThinDiagCross:"lightTrellis",Gray125:"gray125",Gray0625:"gray0625"},hD={Automatic:"general",Left:"left",Center:"center",Right:"right",Fill:"fill",Justify:"justify",CenterAcrossSelection:"centerContinuous",Distributed:"distributed",JustifyDistributed:"justify"},uD={Automatic:void 0,Top:"top",Bottom:"bottom",Center:"center",Justify:"justify",Distributed:"distributed",JustifyDistributed:"justify"},mD=(J)=>{if(!J)return"none";return gD[J]||J},V0=(J)=>{if(J==null)return J;if(J.charAt(0)==="#")J=J.substring(1);return J.length===6?"FF"+J:J},a6=(J,Z)=>{if(!J)return"thin";let $=yD(Z);if(J==="Continuous")return $;let X=ND[J];if($==="medium"&&wD.some((Y)=>Y===X))return`medium${X}`;return`${X.charAt(0).toLowerCase()}${X.substring(1)}`},cD=(J)=>{return hD[J]||"general"},pD=(J)=>{return uD[J]||void 0},k5=(J)=>{return{name:"color",properties:{rawMap:{rgb:V0(J||"#000000")}}}},iD={getTemplate(J){let{left:Z,right:$,top:X,bottom:Y,diagonal:Q}=J,q=Z?[k5(Z.color)]:void 0,H=$?[k5($.color)]:void 0,_=X?[k5(X.color)]:void 0,z=Y?[k5(Y.color)]:void 0,U=Q?[k5(Q.color)]:void 0;return{name:"border",children:[{name:"left",properties:{rawMap:{style:Z?.style}},children:q},{name:"right",properties:{rawMap:{style:$?.style}},children:H},{name:"top",properties:{rawMap:{style:X?.style}},children:_},{name:"bottom",properties:{rawMap:{style:Y?.style}},children:z},{name:"diagonal",properties:{rawMap:{style:Q?.style}},children:U}]}}},dD=iD,nD={getTemplate(J){return{name:"borders",properties:{rawMap:{count:J.length}},children:J.map((Z)=>dD.getTemplate(Z))}}},sD=nD,rD=(J)=>{let $=["Context","LeftToRight","RightToLeft"].indexOf(J);return Math.max($,0)},tD={getTemplate(J){let{horizontal:Z,indent:$,readingOrder:X,rotate:Y,shrinkToFit:Q,vertical:q,wrapText:H}=J;return{name:"alignment",properties:{rawMap:{horizontal:Z&&cD(Z),indent:$,readingOrder:X&&rD(X),textRotation:Y,shrinkToFit:Q,vertical:q&&pD(q),wrapText:H}}}}},lD=tD,aD={getTemplate(J){let Z=J.protected===!1?0:1;return{name:"protection",properties:{rawMap:{hidden:J.hideFormula===!0?1:0,locked:Z}}}}},oD=aD,eD={getTemplate(J){let{alignment:Z,borderId:$,fillId:X,fontId:Y,numFmtId:Q,protection:q,quotePrefix:H,xfId:_}=J,z=[];if(Z)z.push(lD.getTemplate(Z));if(q)z.push(oD.getTemplate(q));return{name:"xf",properties:{rawMap:{applyAlignment:Z?1:void 0,applyProtection:q?1:void 0,applyBorder:$?1:void 0,applyFill:X?1:void 0,borderId:$,fillId:X,applyFont:Y?1:void 0,fontId:Y,applyNumberFormat:Q?1:void 0,numFmtId:Q,quotePrefix:H?1:void 0,xfId:_}},children:z.length?z:void 0}}},zQ=eD,Jk={getTemplate(J){return{name:"cellStyleXfs",properties:{rawMap:{count:J.length}},children:J.map((Z)=>zQ.getTemplate(Z))}}},Zk=Jk,$k={getTemplate(J){let{builtinId:Z,name:$,xfId:X}=J;return{name:"cellStyle",properties:{rawMap:{builtinId:Z,name:$,xfId:X}}}}},Xk=$k,Yk={getTemplate(J){return{name:"cellStyles",properties:{rawMap:{count:J.length}},children:J.map((Z)=>Xk.getTemplate(Z))}}},Qk=Yk,qk={getTemplate(J){return{name:"cellXfs",properties:{rawMap:{count:J.length}},children:J.map((Z)=>zQ.getTemplate(Z))}}},Hk=qk,_k={getTemplate(J){let{patternType:Z,fgTheme:$,fgTint:X,fgRgb:Y,bgRgb:Q,bgIndexed:q}=J,H={name:"patternFill",properties:{rawMap:{patternType:Z}}};if($||X||Y)H.children=[{name:"fgColor",properties:{rawMap:{theme:$,tint:X,rgb:Y}}}];if(q||Q){if(!H.children)H.children=[];H.children.push({name:"bgColor",properties:{rawMap:{indexed:q,rgb:Q}}})}return{name:"fill",children:[H]}}},zk=_k,Uk={getTemplate(J){return{name:"fills",properties:{rawMap:{count:J.length}},children:J.map((Z)=>zk.getTemplate(Z))}}},Wk=Uk,Gk={getTemplate(J){let{size:Z,colorTheme:$,color:X="FF000000",fontName:Y="Calibri",family:Q,scheme:q,italic:H,bold:_,strikeThrough:z,outline:U,shadow:W,underline:G,verticalAlign:B}=J,K=[{name:"sz",properties:{rawMap:{val:Z}}},{name:"color",properties:{rawMap:{theme:$,rgb:X}}},{name:"name",properties:{rawMap:{val:Y}}}];if(Q)K.push({name:"family",properties:{rawMap:{val:Q}}});if(q)K.push({name:"scheme",properties:{rawMap:{val:q}}});if(H)K.push({name:"i"});if(_)K.push({name:"b"});if(z)K.push({name:"strike"});if(U)K.push({name:"outline"});if(W)K.push({name:"shadow"});if(G)K.push({name:"u",properties:{rawMap:{val:G}}});if(B)K.push({name:"vertAlign",properties:{rawMap:{val:B}}});return{name:"font",children:K}}},Bk=Gk,Kk={getTemplate(J){return{name:"fonts",properties:{rawMap:{count:J.length}},children:J.map((Z)=>Bk.getTemplate(Z))}}},Ek=Kk;function Lk(J){let Z=J.split(/(\[[^\]]*\])/);for(let $=0;$Dk.getTemplate(Z))}}},Vk=kk,H7,S2,A5,M5,R5,UQ,_7,WQ,s9,GQ=(J,Z)=>{if(J.includes("mixedStyle")&&Z>1)J+=`_${Z}`;return J},BQ=()=>{H7={base:0},S2=[],A5=[{fontName:"Calibri",colorTheme:"1",family:"2",scheme:"minor"}],M5=[{patternType:"none"},{patternType:"gray125"}],R5=[{left:void 0,right:void 0,top:void 0,bottom:void 0,diagonal:void 0}],UQ=[{borderId:0,fillId:0,fontId:0,numFmtId:0}],_7=[{borderId:0,fillId:0,fontId:0,numFmtId:0,xfId:0}],WQ=[{builtinId:0,name:"Normal",xfId:0}]},jk=(J)=>{let Z=mD(J.pattern),$=V0(J.color),X=V0(J.patternColor),Y=M5.findIndex((Q)=>{let{patternType:q,fgRgb:H,bgRgb:_}=Q;return!(q!=Z||H!=$||_!=X)});if(Y===-1)Y=M5.length,M5.push({patternType:Z,fgRgb:$,bgRgb:X});return Y},Ak=(J)=>{if(O4[J])return O4[J];let Z=S2.findIndex(($)=>$.formatCode===J);if(Z===-1)Z=S2.length+164,S2.push({formatCode:J,numFmtId:Z});else Z=S2[Z].numFmtId;return Z},Mk=(J)=>{let{borderBottom:Z,borderTop:$,borderLeft:X,borderRight:Y}=J,Q,q,H,_,z,U,W,G;if(X)H=a6(X.lineStyle,X.weight),W=V0(X.color);if(Y)_=a6(Y.lineStyle,Y.weight),G=V0(Y.color);if(Z)Q=a6(Z.lineStyle,Z.weight),z=V0(Z.color);if($)q=a6($.lineStyle,$.weight),U=V0($.color);let B=R5.findIndex((K)=>{let{left:E,right:L,top:F,bottom:D}=K;if(!E&&(H||W))return!1;if(!L&&(_||G))return!1;if(!F&&(q||U))return!1;if(!D&&(Q||z))return!1;let{style:k,color:j}=E||{},{style:A,color:R}=L||{},{style:f,color:I}=F||{},{style:v,color:b}=D||{};if(k!=H||j!=W)return!1;if(A!=_||R!=G)return!1;if(f!=q||I!=U)return!1;if(v!=Q||b!=z)return!1;return!0});if(B===-1)B=R5.length,R5.push({left:{style:H,color:W},right:{style:_,color:G},top:{style:q,color:U},bottom:{style:Q,color:z},diagonal:{style:void 0,color:void 0}});return B},Rk=(J)=>{let{fontName:Z="Calibri",color:$,size:X,bold:Y,italic:Q,outline:q,shadow:H,strikeThrough:_,underline:z,family:U,verticalAlign:W}=J,G=V0($),B=QD(U),K=z?z.toLocaleLowerCase():void 0,E=W?W.toLocaleLowerCase():void 0,L=A5.findIndex((F)=>{return!(F.fontName!=Z||F.color!=G||F.size!=X||F.bold!=Y||F.italic!=Q||F.outline!=q||F.shadow!=H||F.strikeThrough!=_||F.underline!=K||F.verticalAlign!=E||F.family!=B)});if(L===-1)L=A5.length,A5.push({fontName:Z,color:G,size:X,bold:Y,italic:Q,outline:q,shadow:H,strikeThrough:_,underline:K,verticalAlign:E,family:B!=null?B.toString():void 0});return L},Ok=(J)=>{let{alignment:Z,borders:$,font:X,interior:Y,numberFormat:Q,protection:q,quotePrefix:H}=J,{id:_}=J,z=0,U=0,W=0,G=0;if(!_)return;if(_=GQ(_,s9),H7[_]!=null)return;if(Y)z=jk(Y);if($)U=Mk($);if(X)W=Rk(X);if(Q)G=Ak(Q.format);H7[_]=_7.length,_7.push({alignment:Z,borderId:U||0,fillId:z||0,fontId:W||0,numFmtId:G||0,protection:q,quotePrefix:H,xfId:0})},Sk={getTemplate(J){let Z=Vk.getTemplate(S2),$=Ek.getTemplate(A5.map((_)=>({..._,size:_.size!=null?_.size:J}))),X=Wk.getTemplate(M5),Y=sD.getTemplate(R5),Q=Zk.getTemplate(UQ),q=Hk.getTemplate(_7),H=Qk.getTemplate(WQ);return BQ(),{name:"styleSheet",properties:{rawMap:{"mc:Ignorable":"x14ac x16r2 xr",xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:x16r2":"http://schemas.microsoft.com/office/spreadsheetml/2015/02/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision"}},children:[Z,$,X,Y,Q,q,H,{name:"tableStyles",properties:{rawMap:{count:0,defaultPivotStyle:"PivotStyleLight16",defaultTableStyle:"TableStyleMedium2"}}}]}}},fk=(J,Z)=>{return H7[GQ(J,Z)]||0},Pk=(J,Z)=>{if(s9=Z,s9===1)BQ();J.forEach(Ok)},Tk=Sk,vk={getTemplate(J,Z){let{name:$,columns:X,rowRange:Y,displayName:Q,showRowStripes:q,showColumnStripes:H,showFilterButtons:_,highlightFirstColumn:z,highlightLastColumn:U}=J||{},W=!Y||Y[0]-Y[1]===0;if(!J||!$||!Array.isArray(X)||!X.length||W)return{name:"table"};let G=X.map((D,k)=>({name:"filterColumn",properties:{rawMap:{colId:k.toString(),hiddenButton:_[k]?0:1}}})),B=`A${Y[0]}`,K=`${a0(X.length)}${Y[1]}`,E=`${B}:${K}`,L=`${Z+1}`,F=Z?`${Q}_${L}`:Q;return{name:"table",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"xr xr3","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3",name:F,displayName:F,ref:E,totalsRowShown:0,id:L}},children:[{name:"autoFilter",properties:{rawMap:{ref:E}},children:G},{name:"tableColumns",properties:{rawMap:{count:X.length}},children:X.map((D,k)=>({name:"tableColumn",properties:{rawMap:{id:(k+1).toString(),name:GJ(_D(D)),dataCellStyle:"Normal"}}}))},{name:"tableStyleInfo",properties:{rawMap:{name:"TableStyleLight1",showFirstColumn:z?1:0,showLastColumn:U?1:0,showRowStripes:q?1:0,showColumnStripes:H?1:0}}}]}}},Ik=vk,zZ=(J)=>{let[Z,$,X,Y]=J;return{name:`a:${Z}`,children:[{name:`a:${$}`,properties:{rawMap:{val:X,lastClr:Y}}}]}},bk={getTemplate(){return{name:"a:clrScheme",properties:{rawMap:{name:"Office"}},children:[zZ(["dk1","sysClr","windowText","000000"]),zZ(["lt1","sysClr","window","FFFFFF"]),zZ(["dk2","srgbClr","44546A"]),zZ(["lt2","srgbClr","E7E6E6"]),zZ(["accent1","srgbClr","4472C4"]),zZ(["accent2","srgbClr","ED7D31"]),zZ(["accent3","srgbClr","A5A5A5"]),zZ(["accent4","srgbClr","FFC000"]),zZ(["accent5","srgbClr","5B9BD5"]),zZ(["accent6","srgbClr","70AD47"]),zZ(["hlink","srgbClr","0563C1"]),zZ(["folHlink","srgbClr","954F72"])]}}},Ck=bk,P=(J)=>{let[Z,$,X,Y]=J;return{name:`a:${Z}`,properties:{rawMap:{script:X,typeface:$,panose:Y}}}},xk={getTemplate(){return{name:"a:fontScheme",properties:{rawMap:{name:"Office"}},children:[{name:"a:majorFont",children:[P(["latin","Calibri Light",void 0,"020F0302020204030204"]),P(["ea",""]),P(["cs",""]),P(["font","游ゴシック Light","Jpan"]),P(["font","맑은 고딕","Hang"]),P(["font","等线 Light","Hans"]),P(["font","新細明體","Hant"]),P(["font","Times New Roman","Arab"]),P(["font","Times New Roman","Hebr"]),P(["font","Tahoma","Thai"]),P(["font","Nyala","Ethi"]),P(["font","Vrinda","Beng"]),P(["font","Shruti","Gujr"]),P(["font","MoolBoran","Khmr"]),P(["font","Tunga","Knda"]),P(["font","Raavi","Guru"]),P(["font","Euphemia","Cans"]),P(["font","Plantagenet Cherokee","Cher"]),P(["font","Microsoft Yi Baiti","Yiii"]),P(["font","Microsoft Himalaya","Tibt"]),P(["font","MV Boli","Thaa"]),P(["font","Mangal","Deva"]),P(["font","Gautami","Telu"]),P(["font","Latha","Taml"]),P(["font","Estrangelo Edessa","Syrc"]),P(["font","Kalinga","Orya"]),P(["font","Kartika","Mlym"]),P(["font","DokChampa","Laoo"]),P(["font","Iskoola Pota","Sinh"]),P(["font","Mongolian Baiti","Mong"]),P(["font","Times New Roman","Viet"]),P(["font","Microsoft Uighur","Uigh"]),P(["font","Sylfaen","Geor"]),P(["font","Arial","Armn"]),P(["font","Leelawadee UI","Bugi"]),P(["font","Microsoft JhengHei","Bopo"]),P(["font","Javanese Text","Java"]),P(["font","Segoe UI","Lisu"]),P(["font","Myanmar Text","Mymr"]),P(["font","Ebrima","Nkoo"]),P(["font","Nirmala UI","Olck"]),P(["font","Ebrima","Osma"]),P(["font","Phagspa","Phag"]),P(["font","Estrangelo Edessa","Syrn"]),P(["font","Estrangelo Edessa","Syrj"]),P(["font","Estrangelo Edessa","Syre"]),P(["font","Nirmala UI","Sora"]),P(["font","Microsoft Tai Le","Tale"]),P(["font","Microsoft New Tai Lue","Talu"]),P(["font","Ebrima","Tfng"])]},{name:"a:minorFont",children:[P(["latin","Calibri",void 0,"020F0502020204030204"]),P(["ea",""]),P(["cs",""]),P(["font","游ゴシック","Jpan"]),P(["font","맑은 고딕","Hang"]),P(["font","等线","Hans"]),P(["font","新細明體","Hant"]),P(["font","Arial","Arab"]),P(["font","Arial","Hebr"]),P(["font","Tahoma","Thai"]),P(["font","Nyala","Ethi"]),P(["font","Vrinda","Beng"]),P(["font","Shruti","Gujr"]),P(["font","DaunPenh","Khmr"]),P(["font","Tunga","Knda"]),P(["font","Raavi","Guru"]),P(["font","Euphemia","Cans"]),P(["font","Plantagenet Cherokee","Cher"]),P(["font","Microsoft Yi Baiti","Yiii"]),P(["font","Microsoft Himalaya","Tibt"]),P(["font","MV Boli","Thaa"]),P(["font","Mangal","Deva"]),P(["font","Gautami","Telu"]),P(["font","Latha","Taml"]),P(["font","Estrangelo Edessa","Syrc"]),P(["font","Kalinga","Orya"]),P(["font","Kartika","Mlym"]),P(["font","DokChampa","Laoo"]),P(["font","Iskoola Pota","Sinh"]),P(["font","Mongolian Baiti","Mong"]),P(["font","Arial","Viet"]),P(["font","Microsoft Uighur","Uigh"]),P(["font","Sylfaen","Geor"]),P(["font","Arial","Armn"]),P(["font","Leelawadee UI","Bugi"]),P(["font","Microsoft JhengHei","Bopo"]),P(["font","Javanese Text","Java"]),P(["font","Segoe UI","Lisu"]),P(["font","Myanmar Text","Mymr"]),P(["font","Ebrima","Nkoo"]),P(["font","Nirmala UI","Olck"]),P(["font","Ebrima","Osma"]),P(["font","Phagspa","Phag"]),P(["font","Estrangelo Edessa","Syrn"]),P(["font","Estrangelo Edessa","Syrj"]),P(["font","Estrangelo Edessa","Syre"]),P(["font","Nirmala UI","Sora"]),P(["font","Microsoft Tai Le","Tale"]),P(["font","Microsoft New Tai Lue","Talu"]),P(["font","Ebrima","Tfng"])]}]}}},yk=xk,yZ=(J,Z,$)=>({name:`a:${J}`,properties:{rawMap:{val:Z}},children:$}),y9=(J)=>{let[Z,$,X,Y,Q,q]=J,H=[];if(H.push(yZ("satMod",X)),Y)H.push(yZ("lumMod",Y));if(Q)H.push(yZ("tint",Q));if(q)H.push(yZ("shade",q));return{name:"a:gs",properties:{rawMap:{pos:Z}},children:[{name:"a:schemeClr",properties:{rawMap:{val:$}},children:H}]}},z7=(J,Z)=>({name:"a:solidFill",children:[yZ("schemeClr",J,Z)]}),r9=(J)=>{let[Z,$,X,Y,Q]=J,[q,H]=Q;return{name:"a:gradFill",properties:{rawMap:{rotWithShape:Z}},children:[{name:"a:gsLst",children:[y9($),y9(X),y9(Y)]},{name:"a:lin",properties:{rawMap:{ang:q,scaled:H}}}]}},N9=(J)=>{let[Z,$,X,Y]=J;return{name:"a:ln",properties:{rawMap:{w:Z,cap:$,cmpd:X,algn:Y}},children:[z7("phClr"),yZ("prstDash","solid"),{name:"a:miter",properties:{rawMap:{lim:"800000"}}}]}},w9=(J)=>{let Z=[];if(J){let[$,X,Y,Q,q]=J;Z.push({name:"a:outerShdw",properties:{rawMap:{blurRad:$,dist:X,dir:Y,algn:Q,rotWithShape:q}},children:[yZ("srgbClr","000000",[yZ("alpha","63000")])]})}return{name:"a:effectStyle",children:[Object.assign({},{name:"a:effectLst"},Z.length?{children:Z}:{})]}},Nk=()=>({name:"a:fillStyleLst",children:[z7("phClr"),r9(["1",["0","phClr","105000","110000","67000"],["50000","phClr","103000","105000","73000"],["100000","phClr","109000","105000","81000"],["5400000","0"]]),r9(["1",["0","phClr","103000","102000","94000"],["50000","phClr","110000","100000",void 0,"100000"],["100000","phClr","120000","99000",void 0,"78000"],["5400000","0"]])]}),wk=()=>({name:"a:lnStyleLst",children:[N9(["6350","flat","sng","ctr"]),N9(["12700","flat","sng","ctr"]),N9(["19050","flat","sng","ctr"])]}),gk=()=>({name:"a:effectStyleLst",children:[w9(),w9(),w9(["57150","19050","5400000","ctr","0"])]}),hk=()=>({name:"a:bgFillStyleLst",children:[z7("phClr"),z7("phClr",[yZ("tint","95000"),yZ("satMod","170000")]),r9(["1",["0","phClr","150000","102000","93000","98000"],["50000","phClr","130000","103000","98000","90000"],["100000","phClr","120000",void 0,void 0,"63000"],["5400000","0"]])]}),uk={getTemplate(){return{name:"a:fmtScheme",properties:{rawMap:{name:"Office"}},children:[Nk(),wk(),gk(),hk()]}}},mk=uk,ck={getTemplate(){return{name:"a:themeElements",children:[Ck.getTemplate(),yk.getTemplate(),mk.getTemplate()]}}},pk=ck,ik={getTemplate(){return{name:"a:theme",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{a:"http://schemas.openxmlformats.org/drawingml/2006/main"}}],rawMap:{name:"Office Theme"}},children:[pk.getTemplate(),{name:"a:objectDefaults"},{name:"a:extraClrSchemeLst"}]}}},dk=ik,nk=()=>({name:"o:shapelayout",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}]},children:[{name:"o:idmap",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:{data:"1"}}}]}),sk=()=>({name:"v:stroke",properties:{rawMap:{joinstyle:"miter"}}}),rk=(J)=>({name:"v:formulas",children:J.map((Z)=>({name:"v:f",properties:{rawMap:{eqn:Z}}}))}),tk=()=>({name:"v:path",properties:{prefixedAttributes:[{prefix:"o:",map:{connecttype:"rect",extrusionok:"f"}}],rawMap:{gradientshapeok:"t"}}}),KQ=(J)=>{let{aspectratio:Z,rotation:$}=J||{},X={};if(Z)X.aspectratio="t";if($)X.rotation="t";return{name:"o:lock",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:X}}};function lk(J,Z,$,X,Y){return(J-Z)/($-Z)*(Y-X)+X}var ak=(J,Z)=>{let $,{recolor:X,brightness:Y,contrast:Q,id:q}=J;if(X){if($={},X==="Washout"||X==="Grayscale")$.gain="19661f",$.blacklevel="22938f";if(X==="Black & White"||X==="Grayscale"){if($.grayscale="t",X==="Black & White")$.bilevel="t"}}if(!X||X==="Grayscale"){if(!$)$={};if(Q!=null&&Q!==50){let H="1";if(Q>=0){if(Q<50)H=String(Q/50);else if(Q<100)H=String(50/(100-Q));else if(Q===100)H="2147483647f"}$.gain=H}if(Y!=null&&Y!==50)$.blacklevel=lk(Y,0,100,-0.5,0.5).toString()}return{name:"v:imagedata",properties:{prefixedAttributes:[{prefix:"o:",map:{relid:`rId${Z}`,title:q}}],rawMap:$}}},ok=()=>{let J=["if lineDrawn pixelLineWidth 0","sum @0 1 0","sum 0 0 @1","prod @2 1 2","prod @3 21600 pixelWidth","prod @3 21600 pixelHeight","sum @0 0 1","prod @6 1 2","prod @7 21600 pixelWidth","sum @8 21600 0","prod @7 21600 pixelHeight","sum @10 21600 0"];return{name:"v:shapetype",properties:{prefixedAttributes:[{prefix:"o:",map:{spt:"75",preferrelative:"t"}}],rawMap:{coordsize:"21600,21600",filled:"f",id:"_x0000_t75",path:"m@4@5l@4@11@9@11@9@5xe",stroked:"f"}},children:[sk(),rk(J),tk(),KQ({aspectratio:!0})]}},T4=(J)=>Math.floor((J??0)*0.74999943307122),ek=(J,Z)=>{let{width:$=0,height:X=0,altText:Y}=J,Q=T4($),q=T4(X);return{name:"v:shape",properties:{rawMap:{id:J.headerFooterPosition,"o:spid":"_x0000_s1025",style:`position: absolute; margin-left: 0; margin-top: 10in; margin-bottom: 0; margin-right: 0; width: ${Q}pt; height: ${q}pt; z-index: ${Z+1}`,type:"#_x0000_t75",alt:Y}},children:[ak(J,Z+1),KQ({rotation:!0})]}},JV={getTemplate(J){let Z=nZ.get(J.sheetIndex)||[],$=[nk(),ok(),...Z.map((X,Y)=>ek(X,Y))];return{name:"xml",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{v:"urn:schemas-microsoft-com:vml",o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel"}}]},children:$}}},ZV=JV,$V={getTemplate(J,Z){let $=(Z+1).toString();return{name:"sheet",properties:{rawMap:{name:J,sheetId:$,"r:id":`rId${$}`}}}}},XV=$V,YV={getTemplate(J){return{name:"sheets",children:J.map((Z,$)=>XV.getTemplate(Z,$))}}},QV=YV,qV={getTemplate(J,Z){return{name:"workbook",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}}],rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main"}},children:[{name:"bookViews",children:[{name:"workbookView",properties:{rawMap:{activeTab:Z}}}]},QV.getTemplate(J)]}}},HV=qV,_V=(J)=>Math.ceil((J-12)/7+1),zV={getTemplate(J){let{min:Z,max:$,outlineLevel:X,s:Y,width:Q,hidden:q,bestFit:H}=J,_=1,z="0";if(Q>1)_=_V(Q),z="1";return{name:"col",properties:{rawMap:{min:Z,max:$,outlineLevel:X!=null?X:void 0,width:_,style:Y,hidden:q?"1":"0",bestFit:H?"1":"0",customWidth:z}}}}},UV=zV,WV={getTemplate(J){return{name:"mergeCell",properties:{rawMap:{ref:J}}}}},GV=WV,BV=(J)=>{let Z=J.charAt(0).toLowerCase();return Z==="s"?"inlineStr":Z},KV={getTemplate(J,Z,$){let{ref:X,data:Y,styleId:Q}=J,{type:q,value:H}=Y||{type:"empty",value:null},_=q;if(q==="f")_="str";else if(q.charAt(0)===q.charAt(0).toUpperCase())_=BV(q);let z={name:"c",properties:{rawMap:{r:X,t:_==="empty"?void 0:_,s:Q?fk(Q,$):void 0}}};if(_==="empty")return z;let U;if(_==="str"&&q==="f")U=[{name:"f",textNode:GJ(q7(H))}];else if(_==="inlineStr")U=[{name:"is",children:[{name:"t",textNode:GJ(q7(H))}]}];else U=[{name:"v",textNode:H}];return Object.assign({},z,{children:U})}},EV=KV,LV=(J,Z)=>{let $=[],X=0;for(let Y=0;Y=0;Y--){let Q=[],q=J[$[Y].pos];for(let H=1;H<=q.mergeAcross;H++)Q.push({ref:`${a0($[Y].excelPos+1+H)}${Z+1}`,styleId:q.styleId,data:{type:"empty",value:null}});if(Q.length)J.splice($[Y].pos+1,0,...Q)}},FV=(J)=>J.data?.value!==""||J.styleId!==void 0,DV={getTemplate(J,Z,$){let{collapsed:X,hidden:Y,height:Q,outlineLevel:q,cells:H=[]}=J;LV(H,Z);let _=H.filter(FV).map((z,U)=>EV.getTemplate(z,U,$));return{name:"row",properties:{rawMap:{r:Z+1,collapsed:X?"1":"0",hidden:Y?"1":"0",ht:Q,customHeight:Q!=null?"1":"0",spans:"1:1",outlineLevel:q||void 0}},children:_}}},kV=DV,VV=(J,Z,$)=>{let X=[],Y=[];J.forEach((H,_)=>{let z=H.cells,U=0,W;z.forEach((G,B)=>{let K=B+U+1,E=a0(K),L=_+1;if(G.mergeAcross){U+=G.mergeAcross;let D=a0(B+U+1);X.push(`${E}${L}:${D}${L}`)}if(!Z[K-1])Z[K-1]={};let{collapsibleRanges:F}=G;if(F)F.forEach((D)=>{Y.push([K+D[0],K+D[1]])});W=Z[K-1],W.min=K,W.max=K,G.ref=`${E}${L}`})}),Y.sort((H,_)=>{if(H[0]!==_[0])return H[0]-_[0];return _[1]-H[1]});let Q=new Map,q=new Map;return Y.filter((H)=>{let _=H.toString();if(Q.get(_))return!1;return Q.set(_,!0),!0}).forEach((H)=>{let _=Z.find((U)=>U.min==H[0]&&U.max==H[1]),z=q.get(H[0]);Z.push({min:H[0],max:H[1],outlineLevel:$?void 0:z||1,width:(_||{width:100}).width}),q.set(H[0],(z||0)+1)}),X},jV=(J)=>{if(!J||J!=="Portrait"&&J!=="Landscape")return"portrait";return J.toLocaleLowerCase()},AV=(J)=>{if(J==null)return 1;let $=["Letter","Letter Small","Tabloid","Ledger","Legal","Statement","Executive","A3","A4","A4 Small","A5","A6","B4","B5","Folio","Envelope","Envelope DL","Envelope C5","Envelope B5","Envelope C3","Envelope C4","Envelope C6","Envelope Monarch","Japanese Postcard","Japanese Double Postcard"].indexOf(J);return $===-1?1:$+1},MV=(J)=>{let Z={"&[Page]":"&P","&[Pages]":"&N","&[Date]":"&D","&[Time]":"&T","&[Tab]":"&A","&[Path]":"&Z","&[File]":"&F","&[Picture]":"&G"};for(let $ of Object.keys(Z))J=J.replace($,Z[$]);return J},RV=(J)=>{if(J==="Center")return"C";if(J==="Right")return"R";return"L"},OV=(J,Z)=>{if(!Z)return J;if(J+="&"",J+=Z.fontName||"Calibri",Z.bold!==Z.italic)J+=Z.bold?",Bold":",Italic";else if(Z.bold)J+=",Bold Italic";else J+=",Regular";if(J+=""",Z.size)J+=`&${Z.size}`;if(Z.strikeThrough)J+="&S";if(Z.underline)J+=`&${Z.underline==="Double"?"E":"U"}`;if(Z.color)J+=`&K${Z.color.replace("#","").toUpperCase()}`;return J},SV=(J,Z,$)=>J.reduce((X,Y,Q)=>{let q=RV(Y.position),H=OV(`${X}&${q}`,Y.font),_=["Left","Center","Right"];if(!Y.position)Y.position=_[Q];let{image:z}=Y;if(Y.value==="&[Picture]"&&z){let U=`${q}${Z}${$}`;EQ(z,U)}return`${H}${GJ(MV(Y.value))}`},""),fV=(J)=>{let Z=["all","first","even"],$=[];return Z.forEach((X)=>{let Y=J[X],Q=X==="all"?"odd":X;if(!Y)return;for(let q of Object.keys(Y)){let H=Y[q],_=`${q.charAt(0).toUpperCase()}${q.slice(1)}`,z=q[0].toUpperCase();if(H){let U=X==="all"?"":X.toUpperCase();$.push({name:`${Q}${_}`,properties:{rawMap:{"xml:space":"preserve"}},textNode:SV(H,z,U)})}}}),$},PV=(J)=>{return(Z)=>{if(J.length)Z.children.push({name:"cols",children:J.map(($)=>UV.getTemplate($))});return Z}},TV=(J,Z)=>{return($)=>{if(J.length)$.children.push({name:"sheetData",children:J.map((X,Y)=>kV.getTemplate(X,Y,Z))});return $}},vV=(J)=>{let Z=J.length;if(!Z)return"";let $=Array(Z+1);$[0]=Z;for(let Y=1;Y<=Z;Y++)$[Y]=J.charCodeAt(Y-1)&255;let X=0;for(let Y=$.length-1;Y>=0;Y--){let Q=$[Y],q=(X&16384)===0?0:1,H=X<<1&32767;X=(q|H)^Q}return(X^52811).toString(16).toUpperCase().padStart(4,"0")},IV=(J)=>{return(Z)=>{if(!J)return Z;let $=typeof J==="boolean"?{}:J,X={sheet:1},Y=$.password?vV($.password):"";if(Y)X.password=Y;let Q={autoFilter:!1,deleteColumns:!1,deleteRows:!1,formatCells:!1,formatColumns:!1,formatRows:!1,insertColumns:!1,insertHyperlinks:!1,insertRows:!1,pivotTables:!1,selectLockedCells:!0,selectUnlockedCells:!0};return Object.keys(Q).forEach((q)=>{let H=$[q];if(H==null||H===Q[q])return;X[q]=H?0:1}),Z.children.push({name:"sheetProtection",properties:{rawMap:X}}),Z}},bV=(J)=>{return(Z)=>{if(J.length)Z.children.push({name:"mergeCells",properties:{rawMap:{count:J.length}},children:J.map(($)=>GV.getTemplate($))});return Z}},CV=(J)=>{return(Z)=>{let{top:$=0.75,right:X=0.7,bottom:Y=0.75,left:Q=0.7,header:q=0.3,footer:H=0.3}=J;return Z.children.push({name:"pageMargins",properties:{rawMap:{bottom:Y,footer:H,header:q,left:Q,right:X,top:$}}}),Z}},xV=(J)=>{return(Z)=>{if(J)Z.children.push({name:"pageSetup",properties:{rawMap:{horizontalDpi:0,verticalDpi:0,orientation:jV(J.orientation),paperSize:AV(J.pageSize)}}});return Z}},yV=(J)=>{return(Z)=>{if(!J)return Z;let $=J.first!=null?1:0,X=J.even!=null?1:0;return Z.children.push({name:"headerFooter",properties:{rawMap:{differentFirst:$,differentOddEven:X}},children:fV(J)}),Z}},NV=(J)=>{return(Z)=>{if(J)Z.children.push({name:"tableParts",properties:{rawMap:{count:"1"}},children:[{name:"tablePart",properties:{rawMap:{"r:id":`rId${++Z.rIdCounter}`}}}]});return Z}},wV=(J)=>{return(Z)=>{if(A0.get(J)?.length)Z.children.push({name:"drawing",properties:{rawMap:{"r:id":`rId${++Z.rIdCounter}`}}});return Z}},gV=(J)=>{return(Z)=>{if(nZ.get(J))Z.children.push({name:"legacyDrawingHF",properties:{rawMap:{"r:id":`rId${++Z.rIdCounter}`}}});return Z}},hV=(J=0,Z=0)=>{let $=J>0||Z>0;return $?[{name:"pane",properties:{rawMap:{state:$?"frozen":void 0,topLeftCell:$?`${a0(J+1)}${Z+1}`:void 0,xSplit:J===0?void 0:J,ySplit:Z===0?void 0:Z}}}]:void 0},uV=(J=!1,Z,$)=>{return(X)=>{return X.children.push({name:"sheetViews",children:[{name:"sheetView",properties:{rawMap:{rightToLeft:J===!0?"1":"0",workbookViewId:"0"}},children:hV(Z,$)}]}),X}},mV=()=>{return(J)=>{return J.children.push({name:"sheetPr",children:[{name:"outlinePr",properties:{rawMap:{summaryBelow:0}}}]}),J}},cV=(J)=>{return(Z)=>{let $=J.reduce((X,Y)=>{if(Y.outlineLevel&&Y.outlineLevel>X)return Y.outlineLevel;return X},0);return Z.children.push({name:"sheetFormatPr",properties:{rawMap:{baseColWidth:10,defaultRowHeight:16,outlineLevelRow:$?$:void 0}}}),Z}},pV={getTemplate(J){let{worksheet:Z,currentSheet:$,config:X}=J,{margins:Y={},pageSetup:Q,headerFooterConfig:q,suppressColumnOutline:H,rightToLeft:_,frozenRowCount:z,frozenColumnCount:U,protectSheet:W}=X,{table:G}=Z,{rows:B,columns:K}=G,E=K?.length?VV(B,K,!!H):[],L=NZ.get($),{children:F}=[mV(),uV(_,U,z),cV(B),PV(K),TV(B,$+1),IV(W),bV(E),CV(Y),xV(Q),yV(q),wV($),gV($),NV(L)].reduce((D,k)=>k(D),{children:[],rIdCounter:0});return{name:"worksheet",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}}],rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main"}},children:F}}},iV=pV,r0=new Map,nJ=[],t0=[],l0=new Map,j0=new Map,A0=new Map,nZ=new Map,T2=new Map,v2=new Map,NZ=new Map,dV="AG-GRID-TABLE",e9="SINGLE_SHEET";function nV(){return e9}function sV(J){e9=J}function rV(J,Z,$){eV(Z),Pk(J,nJ.length);let X=Object.assign({},$);if($.exportAsExcelTable&&$.pivotModeActive)O(163,{featureName:"pivot mode"}),X.exportAsExcelTable=!1;aV(Z,X);let Y=Fj(Z,X);return Dj(Y),Y}function tV(J){return J.replace(/^[^a-zA-Z_]+/,"_").replace(/\s/g,"_").replace(/[^a-zA-Z0-9_]/g,"_")}function lV(J,Z){if(NZ.has(J)){O(164);return}NZ.set(J,Z)}function aV(J,Z){let{exportAsExcelTable:$,prependContent:X,appendContent:Y,headerRowCount:Q=0}=Z;if(!$)return;let q=typeof $==="boolean"?{}:$,{name:H,showColumnStripes:_,showRowStripes:z,showFilterButton:U,highlightFirstColumn:W,highlightLastColumn:G}=q,B=tV(H||dV),K=nJ.length-1,{table:E}=J,{rows:L,columns:F}=E,D=X?X.length:0,k=Y?Y.length:0,j=L.length,A=F.length,R=[],f=[];for(let I=0;IQ.id===J.id))Y.push(J)}function oV(J,Z,$,X,Y){let Q=nJ.length,{row:q,column:H}=J.position||{},_=J;if(X){if(Z!=null&&$!=null&&(!q||!H)){if(!J.position)J.position={};J.position=Object.assign({},J.position,{row:Z,column:X.indexOf($)+1})}qD(_,X),HD(_,Y)}LQ({imageToAdd:_,idx:Q});let z=v2.get(Q);if(!z)z=new Map,v2.set(Q,z);let U=A0.get(Q);if(!U)A0.set(Q,[_]);else U.push(_);if(!z.get(J.id))z.set(J.id,{index:z.size,type:J.imageType})}function LQ(J){let{imageToAdd:Z,idx:$}=J,X=j0.get(Z.id);if(X){let Y=X.find((Q)=>Q.sheetId===$);if(Y)Y.image.push(Z);else X.push({sheetId:$,image:[Z]})}else j0.set(Z.id,[{sheetId:$,image:[Z]}]),T2.set(Z.id,{type:Z.imageType,index:T2.size})}function eV(J){let Z=GJ(J.name)||"",$="";while(nJ.indexOf(`${Z}${$}`)!==-1)if($==="")$="_1";else $=`_${parseInt($.slice(1),10)+1}`;J.name=`${Z}${$}`,nJ.push(J.name)}function Jj(J){if(r0.has(J))return r0.get(J);return r0.set(J,r0.size),r0.size-1}function Zj(){r0.clear(),j0.clear(),A0.clear(),nZ.clear(),T2.clear(),v2.clear(),NZ.clear(),nJ=[],t0=[],l0=new Map,e9="SINGLE_SHEET"}function $j(J){return xJ(HV.getTemplate(nJ,J))}function Xj(J){return xJ(Tk.getTemplate(J))}function Yj(){return xJ(xD.getTemplate(r0))}function Qj(J){return xJ(LD.getTemplate(J))}function qj(J){return xJ(VD.getTemplate(J))}function Hj(J,Z){return xJ(KD.getTemplate({sheetLen:J,hasCustomProperties:Z}))}function _j(J){let Z=[{Id:"rId1",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",Target:"xl/workbook.xml"},{Id:"rId2",Type:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",Target:"docProps/core.xml"}];if(J)Z.push({Id:"rId3",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",Target:"docProps/custom.xml"});let $=v5.getTemplate(Z);return xJ($)}function zj(){return xJ(dk.getTemplate())}function Uj(J,Z){return xJ(Ik.getTemplate(J,Z))}function Wj(J){let Z=Array(J).fill(void 0).map((X,Y)=>({Id:`rId${Y+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",Target:`worksheets/sheet${Y+1}.xml`})),$=v5.getTemplate([...Z,{Id:`rId${J+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",Target:"theme/theme1.xml"},{Id:`rId${J+2}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",Target:"styles.xml"},{Id:`rId${J+3}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",Target:"sharedStrings.xml"}]);return xJ($)}function Gj(J){return xJ(TD.getTemplate({sheetIndex:J}))}function Bj(J){let Z=v2.get(J)||[],$=[];for(let[X,Y]of Z){let{index:Q,type:q}=Y;$.push({Id:`rId${Q+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${T2.get(X).index+1}.${K7(q)}`})}return xJ(v5.getTemplate($))}function Kj(J){return xJ(ZV.getTemplate({sheetIndex:J}),!0)}function Ej(J){let Z=nZ.get(J)||[],$=[];for(let X=0;X{if(!J.size)return;let $=new Map;Z.forEach((X,Y)=>{if(J.has(X))$.set(Y,J.get(X))}),J.clear(),$.forEach((X,Y)=>J.set(Y,X))},Dj=(J)=>{let Z=l0.get(J)??[];Z.push(nJ.length-1),l0.set(J,Z),t0.push(J)},kj=(J)=>{let Z=new Map(l0),$=[];for(let X of J){let Y=Z.get(X);if(!Y?.length)return null;let Q=Y.shift();$.push(Q),Z.set(X,Y)}return $},Vj=(J)=>{if(!J.length||t0.length===0)return null;let Z=new Set,$=[];for(let X of J){let Y=t0.findIndex((Q,q)=>!Z.has(q)&&Q===X);if(Y===-1)return null;Z.add(Y),$.push(Y)}return $},jj=(J)=>{let Z=new Map;J.forEach(($,X)=>Z.set($,X)),nJ=J.map(($)=>nJ[$]),t0=J.map(($)=>t0[$]),o6(A0,J),o6(nZ,J),o6(NZ,J),o6(v2,J),j0.forEach(($)=>{$.forEach((X)=>{let Y=Z.get(X.sheetId);if(Y!=null)X.sheetId=Y})}),l0=new Map,t0.forEach(($,X)=>{let Y=l0.get($)??[];Y.push(X),l0.set($,Y)})},Aj=(J)=>{if(J.length<=1)return;let Z=kj(J)??Vj(J);if(!Z)return;jj(Z)},J$=class{getStringPosition(J){return Jj(J)}addBodyImageToMap(J,Z,$,X,Y){oV(J,Z,$,X,Y)}addHeaderFooterImageToMap(J,Z){EQ(J,Z)}addWorksheet(J,Z,$){return rV(J,Z,$)}syncOrderWithSheetData(J){Aj(J)}reset(){Zj()}setFactoryMode(J){sV(J)}getFactoryMode(){return nV()}getSheetNames(){return[...nJ]}},Mj=async(J)=>{let Z=0,$=[],X=new WritableStream({write:(q)=>{$.push(q),Z+=q.length}}),Y=new ReadableStream({start:(q)=>{let H=new FileReader;H.onload=(_)=>{if(_.target?.result)q.enqueue(_.target.result);q.close()},H.readAsArrayBuffer(J)}}),Q=new window.CompressionStream("deflate-raw");return await Y.pipeThrough(Q).pipeTo(X),{size:Z,content:new Blob($)}},Rj=async(J)=>{let Z=new Blob([J]),{size:$,content:X}=await Mj(Z),Y=new Uint8Array(await X.arrayBuffer());return{size:$,content:Y}},Oj=(J)=>{let Z=J.getHours();return Z<<=6,Z=Z|J.getMinutes(),Z<<=5,Z=Z|J.getSeconds()/2,Z},Sj=(J)=>{let Z=J.getFullYear()-1980;return Z<<=4,Z=Z|J.getMonth()+1,Z<<=5,Z=Z|J.getDate(),Z};function CJ(J,Z){let $="";for(let X=0;X>>=8;return $}var v4=(J)=>{if(!J.length)return 0;let Z=-1,$=0,X=0,Y=0;for(let Q=0;Q>>8^Y;return Z^-1},I4=(J)=>{if(!J.length)return 0;if(typeof J==="string")return v4(new TextEncoder().encode(J));return v4(J)},fj=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function Pj(J){let Z=String.fromCharCode;function $(W){let G=[];if(!W)return[];let B=W.length,K=0,E,L;while(K=55296&&E<=56319&&K=55296&&W<=57343)throw Error(JZ(255,{point:W}))}function Y(W,G){return Z(W>>G&63|128)}function Q(W){if((W&4294967168)==0)return Z(W);let G="";if((W&4294965248)==0)G=Z(W>>6&31|192);else if((W&4294901760)==0)X(W),G=Z(W>>12&15|224),G+=Y(W,6);else if((W&4292870144)==0)G=Z(W>>18&7|240),G+=Y(W,12),G+=Y(W,6);return G+=Z(W&63|128),G}let q=$(J),H=q.length,_=-1,z,U="";while(++_{let{content:q,path:H,created:_}=J,z=Oj(_),U=Sj(_),W=I4(Y),G=Q!==void 0?Q:X,B=Pj(H),K=B!==H,E="";if(K){let k=CJ(1,1)+CJ(I4(B),4)+B;E="up"+CJ(k.length,2)+k}let L="\x14\x00"+(K?"\x00\b":"\x00\x00")+CJ(Z?8:0,2)+CJ(z,2)+CJ(U,2)+CJ(G?W:0,4)+CJ(Q??X,4)+CJ(X,4)+CJ(B.length,2)+CJ(E.length,2),F="PK\x03\x04"+L+B+E,D="PK\x01\x02\x14\x00"+L+"\x00\x00\x00\x00\x00\x00"+(q?"\x00\x00\x00\x00":"\x10\x00\x00\x00")+CJ($,4)+B+E;return{localFileHeader:Uint8Array.from(F,(k)=>k.charCodeAt(0)),centralDirectoryHeader:Uint8Array.from(D,(k)=>k.charCodeAt(0))}},DQ=(J)=>{let Z;if(typeof J==="string"){let $=atob(J.split(";base64,")[1]);Z=Uint8Array.from($,(X)=>X.charCodeAt(0))}else Z=J;return{size:Z.length,content:Z}},Tj=async(J)=>{let{content:Z}=J,{size:$,content:X}=!Z?{size:0,content:Uint8Array.from([])}:DQ(Z),Y,Q,q=!1;if(J.type==="file"&&X&&$>0){let _=await Rj(X);Y=_.content,Q=_.size,q=!0}return{rawContent:X,rawSize:$,deflatedContent:Y,deflatedSize:Q,isCompressed:q}},vj=(J,Z)=>{let{content:$}=J,{content:X}=!$?{content:Uint8Array.from([])}:DQ($);return{...FQ(J,!1,Z,X.length,X,void 0),content:X,isCompressed:!1}},Ij=(J,Z,$)=>{let X="PK\x05\x06\x00\x00\x00\x00"+CJ(J,2)+CJ(J,2)+CJ(Z,4)+CJ($,4)+"\x00\x00";return Uint8Array.from(X,(Y)=>Y.charCodeAt(0))},kQ=class{constructor(){this.folders=[],this.files=[]}addFolders(J){J.forEach(this.addFolder.bind(this))}addFolder(J){this.folders.push({path:J,created:new Date,isBase64:!1,type:"folder"})}addFile(J,Z,$=!1){this.files.push({path:J,created:new Date,content:$?Z:new TextEncoder().encode(Z),isBase64:$,type:"file"})}async getZipFile(J="application/zip"){let Z=await this.buildCompressedFileStream();return this.clearStream(),new Blob([Z],{type:J})}getUncompressedZipFile(J="application/zip"){let Z=this.buildFileStream();return this.clearStream(),new Blob([Z],{type:J})}clearStream(){this.folders=[],this.files=[]}packageFiles(J){let Z=0,$=0;for(let z of J){let{localFileHeader:U,centralDirectoryHeader:W,content:G}=z;Z+=U.length+G.length,$+=W.length}let X=new Uint8Array(Z),Y=new Uint8Array($),Q=0,q=0;for(let z of J){let{localFileHeader:U,centralDirectoryHeader:W,content:G}=z;X.set(U,Q),Q+=U.length,X.set(G,Q),Q+=G.length,Y.set(W,q),q+=W.length}let H=Ij(J.length,$,Z),_=new Uint8Array(X.length+Y.length+H.length);return _.set(X),_.set(Y,X.length),_.set(H,X.length+Y.length),_}async buildCompressedFileStream(){let J=[...this.folders,...this.files],Z=await Promise.all(J.map(Tj)),$=[],X=0;for(let Y=0;Y{if(J.addFolders(["_rels/","docProps/","xl/","xl/theme/","xl/_rels/","xl/worksheets/"]),!j0.size)return;J.addFolders(["xl/worksheets/_rels","xl/drawings/","xl/drawings/_rels","xl/media/"]);let Z=0;j0.forEach(($)=>{let X=$[0].image[0],{base64:Y,imageType:Q}=X;J.addFile(`xl/media/image${++Z}.${K7(Q)}`,Y,!0)})},Cj=(J,Z)=>{let $=0,X=0;for(let Y=0;Y0&&A0.has(Y),H=NZ.size>0&&NZ.get(Y),_=j0.size&&nZ.has(Y);if(!q&&!H&&!_)continue;let z,U,W;if(q)xj(J,Y,$),U=$,$++;if(_)yj(J,Y,X),W=X,X++;if(H)z=H.name;let G=`xl/worksheets/_rels/sheet${Y+1}.xml.rels`;J.addFile(G,Lj({tableName:z,drawingIndex:U,vmlDrawingIndex:W}))}},xj=(J,Z,$)=>{let Y=`xl/drawings/drawing${$+1}.xml`,Q=`xl/drawings/_rels/drawing${$+1}.xml.rels`;J.addFile(Q,Bj(Z)),J.addFile(Y,Gj(Z))},yj=(J,Z,$)=>{let Y=`xl/drawings/vmlDrawing${$+1}.vml`,Q=`xl/drawings/_rels/vmlDrawing${$+1}.vml.rels`;J.addFile(Y,Kj(Z)),J.addFile(Q,Ej(Z))},Nj=(J)=>{let Z=NZ,$=Array.from(Z.keys());for(let X=0;X<$.length;X++){let Y=$[X],Q=Z.get(Y);if(!Q)continue;J.addFile(`xl/tables/${Q.name}.xml`,Uj(Q,X))}},wj=(J,Z,$,X,Y,Q)=>{let q=!!Q&&Object.keys(Q).some((H)=>Q[H]!=null);if(J.addFile("xl/workbook.xml",$j(Y)),J.addFile("xl/styles.xml",Xj(Z)),J.addFile("xl/sharedStrings.xml",Yj()),J.addFile("xl/theme/theme1.xml",zj()),J.addFile("xl/_rels/workbook.xml.rels",Wj(X)),J.addFile("docProps/core.xml",Qj($)),q)J.addFile("docProps/custom.xml",qj(Q));J.addFile("[Content_Types].xml",Hj(X,q)),J.addFile("_rels/.rels",_j(q))},VQ=(J,Z,$={},X)=>{if(!Z||Z.length===0)return O(159),X.reset(),!1;X.syncOrderWithSheetData(Z);let{fontSize:Y=11,author:Q="AG Grid",activeTab:q=0,customMetadata:H}=$,_=Z.length,z=Math.max(Math.min(q,_-1),0);return bj(J),Nj(J),Cj(J,Z),wj(J,Y,Q,_,z,H),X.reset(),!0},b4=(J,Z=new J$)=>{let{data:$,fontSize:X,author:Y,activeSheetIndex:Q,customMetadata:q}=J,H=J.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",_=new kQ;if(!VQ(_,$,{author:Y,fontSize:X,activeTab:Q,customMetadata:q},Z))return Promise.resolve(void 0);return _.getZipFile(H)},C4=(J,Z=new J$)=>{let{data:$,fontSize:X,author:Y,activeSheetIndex:Q,customMetadata:q}=J,H=J.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",_=new kQ;if(!VQ(_,$,{author:Y,fontSize:X,activeTab:Q,customMetadata:q},Z))return;return _.getUncompressedZipFile(H)};var gj=class extends R9{constructor(){super(...arguments);this.beanName="excelCreator",this.workbook=new J$}getMergedParams(J){let Z=this.gos.get("defaultExcelExportParams");return Object.assign({},Z,J)}export(J){if(this.isExportSuppressed()){O(160);return}let Z=()=>{let X=this.getMergedParams(J),Y=this.getData(X),{fontSize:Q,author:q,mimeType:H,customMetadata:_}=X,z={data:[Y],fontSize:Q,author:q,mimeType:H,customMetadata:_};this.packageCompressedFile(z).then((U)=>{if(U){let{fileName:W}=X,G=typeof W==="function"?W(x(this.gos,{})):W;d6(this.getFileName(G),U)}})},{overlays:$}=this.beans;if($)$.showExportOverlay(Z);else Z()}exportDataAsExcel(J){this.export(J)}getDataAsExcel(J){let Z=this.getMergedParams(J),$=this.getData(Z),{fontSize:X,author:Y,mimeType:Q,customMetadata:q}=Z,H={data:[$],fontSize:X,author:Y,mimeType:Q,customMetadata:q};return this.packageFile(H)}setFactoryMode(J){this.workbook.setFactoryMode(J)}getFactoryMode(){return this.workbook.getFactoryMode()}getSheetDataForExcel(J){let Z=this.getMergedParams(J);return this.getData(Z)}getMultipleSheetsAsExcel(J){return C4(J,this.workbook)}exportMultipleSheetsAsExcel(J){b4(J,this.workbook).then((Z)=>{let{fileName:$="export.xlsx"}=J;if(Z){let X=typeof $==="function"?$():$;d6(X,Z)}})}getDefaultFileExtension(){return"xlsx"}createSerializingSession(J){let{colModel:Z,colNames:$,rowGroupColsSvc:X,valueSvc:Y,formula:Q,gos:q}=this.beans,H=q.get("excelStyles")||[],_=this.createStyleLinker(H),z={...J,colModel:Z,colNames:$,rowGroupColsSvc:X,valueSvc:Y,formulaSvc:Q,gos:q,suppressRowOutline:J.suppressRowOutline||J.skipRowGroups,headerRowHeight:J.headerRowHeight||J.rowHeight,baseExcelStyles:H,rightToLeft:J.rightToLeft??q.get("enableRtl"),styleLinker:_,headerRowCount:uY(Z),pivotModeActive:Z.isPivotActive(),workbook:this.workbook};return new UD(z)}createStyleLinker(J){let Z=[],$=new Set,X=new Map;J.forEach((q,H)=>{Z.push(q.id),$.add(q.id),X.set(q.id,H)});let{gos:Y,cellStyles:Q}=this.beans;return(q)=>{let{rowType:H,rowIndex:_,value:z,column:U,columnGroup:W,node:G}=q,B=H==="HEADER",K=H==="HEADER_GROUPING",E=B?U:W,L=[];if(B||K){if(L.push("header"),K)L.push("headerGroup");if(E)L=L.concat(w6(E.getDefinition(),Y,U||null,W||null));return L}let F=["cell"];if(!Z.length)return F;let D=U.getDefinition();return Q?.processAllCellClasses(D,x(Y,{value:z,data:G.data,node:G,colDef:D,column:U,rowIndex:_}),(k)=>{if($.has(k))F.push(k)}),F.sort((k,j)=>{let A=X.get(k)??-1,R=X.get(j)??-1;return A===R?0:Athis.onFocusIn(J),onFocusOut:(J)=>this.onFocusOut(J),focusInnerElement:(J)=>this.focusInnerElement(J),onTabKeyDown:(J)=>this.onTabKeyDown(J),handleKeyDown:(J)=>this.handleKeyDown(J)},this.stopPropagationCallbacks),this.refreshAriaProperties(),this.addManagedEventListeners({stylesChanged:this.onStylesChanged.bind(this)})}onStylesChanged(J){if(J.listItemHeightChanged)this.rowHeight=this.getItemHeight(),this.refresh()}refreshAriaProperties(){let Z=this.getLocaleTextFunc()("ariaDefaultListName",this.listName||"List"),$=this.eContainer;zJ($,this.model?.getRowCount()>0?this.ariaRole:"presentation"),KJ($,Z)}addResizeObserver(){let J=()=>qZ(this.beans,()=>this.drawVirtualRows()),Z=DZ(this.beans,this.getGui(),J);this.addDestroyFunc(Z)}focusInnerElement(J){return this.focusRow(J?this.model.getRowCount()-1:0),!0}onFocusIn(J){let Z=J.target;if(Z.classList.contains("ag-virtual-list-item"))this.lastFocusedRowIndex=kX(Z)-1}onFocusOut(J){if(!this.getFocusableElement().contains(J.relatedTarget))this.lastFocusedRowIndex=null}handleKeyDown(J){let{key:Z,shiftKey:$}=J;switch(Z){case V.UP:case V.DOWN:{let X=Z===V.UP;if(J.preventDefault(),$)this.moveItem(X);else this.navigate(X)}break;case V.PAGE_HOME:case V.PAGE_END:case V.PAGE_UP:case V.PAGE_DOWN:if(this.navigateToPage(Z)!==null)J.preventDefault();break}}onTabKeyDown(J){this.stopPropagationCallbacks?.stopPropagation(J),this.forceFocusOutOfContainer(J.shiftKey)}getNextRow(J){if(this.lastFocusedRowIndex==null)return;let Z=this.lastFocusedRowIndex+(J?-1:1);if(Z<0||Z>=this.model.getRowCount())return;return Z}moveItem(J){if(!this.moveItemCallback)return;let Z=this.getComponentAt(this.lastFocusedRowIndex);if(!Z)return;this.moveItemCallback(Z,J)}navigate(J){let Z=this.getNextRow(J);if(Z===void 0)return;this.focusRow(Z)}navigateToPage(J,Z="focused"){let $=!1;if(Z==="focused")Z=this.getLastFocusedRow(),$=!0;let X=this.model.getRowCount()-1,Y=-1;if(J===V.PAGE_HOME)Y=0;else if(J===V.PAGE_END)Y=X;else if(J===V.PAGE_DOWN)Y=Math.min(Z+this.pageSize,X);else if(J===V.PAGE_UP)Y=Math.max(Z-this.pageSize,0);if(Y===-1)return null;if($)this.focusRow(Y);else this.ensureIndexVisible(Y);return Y}getLastFocusedRow(){return this.lastFocusedRowIndex}focusRow(J){if(this.isScrolling)return;this.isScrolling=!0,this.ensureIndexVisible(J),qZ(this.beans,()=>{if(this.isScrolling=!1,!this.isAlive())return;let Z=this.renderedRows.get(J);if(Z)Z.eDiv.focus()})}getComponentAt(J){let Z=this.renderedRows.get(J);return Z&&Z.rowComponent}forEachRenderedRow(J){this.renderedRows.forEach((Z,$)=>J(Z.rowComponent,$))}getItemHeight(){if(!this.isHeightFromTheme)return this.rowHeight;return this.beans.environment.getDefaultListItemHeight()}ensureIndexVisible(J,Z=!0){let $=this.model.getRowCount();if(typeof J!=="number"||J<0||J>=$)return!1;let X=J*this.rowHeight,Y=X+this.rowHeight,Q=this.getGui(),q=Q.scrollTop,H=Q.offsetHeight,_=q+H,z=Z?0:this.rowHeight,U=q>X+z,W=_{if(!this.isAlive())return;if(this.canSoftRefresh(J))this.drawVirtualRows(!0);else this.clearVirtualRows(),this.drawVirtualRows()})}awaitStable(J){if(this.awaitStableCallbacks.push(J),this.awaitStableCallbacks.length>1)return;let Z=this.model.getRowCount();v8(this,()=>this.eContainer.clientHeight>=Z*this.rowHeight,()=>{if(!this.isAlive())return;let $=this.awaitStableCallbacks;this.awaitStableCallbacks=[];for(let X of $)X()})}canSoftRefresh(J){return!!(J&&this.renderedRows.size&&typeof this.model.areRowsEqual==="function"&&this.componentUpdater)}clearVirtualRows(){this.renderedRows.forEach((J,Z)=>this.removeRow(Z))}drawVirtualRows(J){if(!this.isAlive()||!this.model)return;let Z=this.getGui(),$=Z.scrollTop,X=$+Z.offsetHeight;if($===X)this.clearVirtualRows();else{let Y=Math.floor($/this.rowHeight),Q=Math.floor(X/this.rowHeight);this.pageSize=Math.floor((X-$)/this.rowHeight),this.ensureRowsRendered(Y,Q,J)}}ensureRowsRendered(J,Z,$){if(this.renderedRows.forEach((X,Y)=>{if((YZ)&&Y!==this.lastFocusedRowIndex)this.removeRow(Y)}),$)this.refreshRows();for(let X=J;X<=Z;X++){if(this.renderedRows.has(X))continue;if(X=Z.getRowCount())return;let{cssIdentifier:$,ariaRole:X,renderedRows:Y,eContainer:Q}=this,q=Z.getRow(J),H=X==="tree"?"treeitem":"option",_=EJ({tag:"div",cls:`ag-virtual-list-item ag-${$}-virtual-list-item`,role:H,attrs:{tabindex:"-1"}});V6(_,Z.getRowCount()),j6(_,J+1);let z=this.rowHeight;_.style.height=`${z}px`,_.style.top=`${z*J}px`;let U=this.componentCreator(q,_);if(U.addGuiEventListener("focusin",()=>this.lastFocusedRowIndex=J),_.appendChild(U.getGui()),Y.has(J-1))Y.get(J-1).eDiv.insertAdjacentElement("afterend",_);else if(Y.has(J+1))Y.get(J+1).eDiv.insertAdjacentElement("beforebegin",_);else Q.appendChild(_);Y.set(J,{rowComponent:U,eDiv:_,value:q})}removeRow(J){let Z=this.renderedRows.get(J);Z.eDiv.remove(),this.destroyBean(Z.rowComponent),this.renderedRows.delete(J)}refreshRows(){let J=this.model.getRowCount();this.renderedRows.forEach((Z,$)=>{if($>=J)this.removeRow($);else{let X=this.model.getRow($);if(this.model.areRowsEqual?.(Z.value,X))this.componentUpdater(X,Z.rowComponent);else this.removeRow($)}})}addScrollListener(){this.addGuiEventListener("scroll",()=>this.drawVirtualRows(),{passive:!0})}setModel(J){this.model=J}getAriaElement(){return this.eContainer}destroy(){if(!this.isAlive())return;this.clearVirtualRows(),this.awaitStableCallbacks.length=0,super.destroy()}},cj='.ag-list-item-hovered:after{background-color:var(--ag-accent-color);content:"";height:1px;left:0;position:absolute;right:0}.ag-item-highlight-top:after{top:0}.ag-item-highlight-bottom:after{bottom:0}',g9="ag-list-item-hovered",pj=class extends RJ{constructor(J,Z,$){super();this.comp=J,this.virtualList=Z,this.params=$,this.currentDragValue=null,this.lastHoveredListItem=null}postConstruct(){this.beans.environment.addGlobalCSS(cj,"component-AgVirtualListDragFeature"),this.params.addListeners(this,this.listItemDragStart.bind(this),this.listItemDragEnd.bind(this)),this.createDropTarget(),this.createAutoScrollService()}listItemDragStart(J){this.currentDragValue=this.params.getCurrentDragValue(J),this.moveBlocked=this.params.isMoveBlocked(this.currentDragValue)}listItemDragEnd(){window.setTimeout(()=>{this.currentDragValue=null,this.moveBlocked=!1},10)}createDropTarget(){let J={isInterestedIn:(Z)=>Z===this.params.dragSourceType,getIconName:()=>this.moveBlocked?"pinned":"move",getContainer:()=>this.comp.getGui(),onDragging:(Z)=>this.onDragging(Z),onDragStop:()=>this.onDragStop(),onDragLeave:()=>this.onDragLeave(),onDragCancel:()=>this.onDragCancel()};this.beans.dragAndDrop?.addDropTarget(J)}createAutoScrollService(){let J=this.virtualList.getGui();this.autoScrollService=new u6({scrollContainer:J,scrollAxis:"y",getVerticalPosition:()=>J.scrollTop,setVerticalPosition:(Z)=>J.scrollTop=Z})}onDragging(J){if(!this.currentDragValue||this.moveBlocked)return;let Z=this.getListDragItem(J),$=this.virtualList.getComponentAt(Z.rowIndex);if(!$)return;let X=$.getGui().parentElement;if(this.lastHoveredListItem&&this.lastHoveredListItem.rowIndex===Z.rowIndex&&this.lastHoveredListItem.position===Z.position)return;this.autoScrollService.check(J.event),this.clearHoveredItems(),this.lastHoveredListItem=Z,S8(X,g9),S8(X,`ag-item-highlight-${Z.position}`)}getListDragItem(J){let Z=this.virtualList.getGui(),$=Number.parseFloat(window.getComputedStyle(Z).paddingTop),X=this.virtualList.getRowHeight(),Y=this.virtualList.getScrollTop(),Q=Math.max(0,(J.y-$+Y)/X),q=this.params.getNumRows(this.comp)-1,H=Math.min(q,Q)|0;return{rowIndex:H,position:Math.round(Q)>Q||Q>q?"bottom":"top",component:this.virtualList.getComponentAt(H)}}onDragStop(){if(this.moveBlocked)return;this.params.moveItem(this.currentDragValue,this.lastHoveredListItem),this.clearDragProperties()}onDragCancel(){this.clearDragProperties()}onDragLeave(){this.clearDragProperties()}clearDragProperties(){this.clearHoveredItems(),this.autoScrollService.ensureCleared()}clearHoveredItems(){let J=this.virtualList.getGui();for(let Z of J.querySelectorAll(`.${g9}`))for(let $ of[g9,"ag-item-highlight-top","ag-item-highlight-bottom"])Z.classList.remove($);this.lastHoveredListItem=null}};var ij=".ag-panel{background-color:var(--ag-panel-background-color);display:flex;flex-direction:column;overflow:hidden;position:relative}.ag-dialog{border:var(--ag-dialog-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dialog-shadow);position:absolute}.ag-panel-title-bar{align-items:center;background-color:var(--ag-panel-title-bar-background-color);border-bottom:var(--ag-panel-title-bar-border);color:var(--ag-panel-title-bar-text-color);cursor:default;display:flex;flex:none;font-family:var(--ag-panel-title-bar-font-family);font-size:var(--ag-panel-title-bar-font-size);font-weight:var(--ag-panel-title-bar-font-weight);height:var(--ag-panel-title-bar-height);padding:var(--ag-spacing) var(--ag-cell-horizontal-padding)}.ag-panel-title-bar-button{cursor:pointer;:where(.ag-icon){color:var(--ag-panel-title-bar-icon-color)}}:where(.ag-ltr) .ag-panel-title-bar-button{margin-left:calc(var(--ag-spacing)*2);margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-panel-title-bar-button{margin-left:var(--ag-spacing);margin-right:calc(var(--ag-spacing)*2)}.ag-panel-title-bar-title{flex:1 1 auto}.ag-panel-title-bar-buttons{display:flex}.ag-panel-content-wrapper{display:flex;flex:1 1 auto;overflow:hidden;position:relative}:where(.ag-dragging-fill-handle) .ag-dialog,:where(.ag-dragging-range-handle) .ag-dialog{opacity:.7;pointer-events:none}";function dj(J){return J??(J=J||"default"),{tag:"div",cls:`ag-panel ag-${J}-panel`,attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eTitleBar",cls:`ag-panel-title-bar ag-${J}-panel-title-bar ag-unselectable`,children:[{tag:"span",ref:"eTitle",cls:`ag-panel-title-bar-title ag-${J}-panel-title-bar-title`},{tag:"div",ref:"eTitleBarButtons",cls:`ag-panel-title-bar-buttons ag-${J}-panel-title-bar-buttons`}]},{tag:"div",ref:"eContentWrapper",cls:`ag-panel-content-wrapper ag-${J}-panel-content-wrapper`}]}}var nj=class extends pJ{constructor(J){super(dj(J.cssIdentifier));this.config=J,this.closable=!0,this.eContentWrapper=S,this.eTitleBar=S,this.eTitleBarButtons=S,this.eTitle=S,this.registerCSS(ij)}postConstruct(){let{component:J,closable:Z,hideTitleBar:$,title:X,minWidth:Y=250,width:Q,minHeight:q=250,height:H,centered:_,popup:z,x:U,y:W,postProcessPopupParams:G}=this.config,B=this.beans,K=this.createManagedBean(new d8(this.getGui(),{minWidth:Y,width:Q,minHeight:q,height:H,centered:_,x:U,y:W,popup:z,calculateTopBuffer:()=>this.positionableFeature.getHeight()-this.getBodyHeight()}));this.positionableFeature=K;let E=this.getGui();if(J)this.setBodyComponent(J);if(!$){if(X)this.setTitle(X);this.setClosable(Z!=null?Z:this.closable)}else w(this.eTitleBar,!1);if(this.addManagedElementListeners(this.eTitleBar,{mousedown:(F)=>{if(E.contains(F.relatedTarget)||E.contains(n(B))||this.eTitleBarButtons.contains(F.target)){F.preventDefault();return}let D=this.eContentWrapper.querySelector("button, [href], input, select, textarea, [tabindex]");if(D)D.focus()}}),z&&K.isPositioned())return;if(this.renderComponent)this.renderComponent();let L;if(G){let{type:F,eventSource:D,mouseEvent:k}=G;L=()=>B.popupSvc?.callPostProcessPopup(G,F,E,D,k)}K.initialisePosition(L),this.eContentWrapper.style.height="0"}renderComponent(){let J=this.getGui();J.focus(),this.close=()=>{J.remove(),this.destroy()}}getHeight(){return this.positionableFeature.getHeight()}setHeight(J){this.positionableFeature.setHeight(J)}getWidth(){return this.positionableFeature.getWidth()}setWidth(J){this.positionableFeature.setWidth(J)}setClosable(J){if(J!==this.closable)this.closable=J;if(J){let Z=this.closeButtonComp=new pJ({tag:"div",cls:"ag-button"});this.createBean(Z);let $=Z.getGui(),X=this.beans.iconSvc.createIconNoSpan("close",this.beans);X.classList.add("ag-panel-title-bar-button-icon"),$.appendChild(X),this.addTitleBarButton(Z),Z.addManagedElementListeners($,{click:this.onBtClose.bind(this)})}else if(this.closeButtonComp)this.closeButtonComp.getGui().remove(),this.closeButtonComp=this.destroyBean(this.closeButtonComp)}setBodyComponent(J){J.setParentComponent(this),this.eContentWrapper.appendChild(J.getGui())}addTitleBarButton(J,Z){let $=this.eTitleBarButtons,X=$.children,Y=X.length;if(Z==null)Z=Y;Z=Math.max(0,Math.min(Z,Y)),J.addCss("ag-panel-title-bar-button");let Q=J.getGui();if(Z===0)$.prepend(Q);else if(Z===Y)$.append(Q);else X[Z-1].after(Q);J.setParentComponent(this)}getBodyHeight(){return A6(this.eContentWrapper)}getBodyWidth(){return y0(this.eContentWrapper)}setTitle(J){this.eTitle.innerText=J}onBtClose(){this.close()}destroy(){if(this.closeButtonComp)this.closeButtonComp=this.destroyBean(this.closeButtonComp);let J=this.getGui();if(J&&AJ(J))this.close();super.destroy()}},sj=class extends nj{constructor(J,Z){super({...J,popup:!0});this.callbacks=Z,this.isMaximizable=!1,this.isMaximized=!1,this.maximizeListeners=[],this.resizeListenerDestroy=null,this.lastPosition={x:0,y:0,width:0,height:0}}wireBeans(J){this.popupSvc=J.popupSvc}postConstruct(){let J=this.getGui(),{movable:Z,resizable:$,maximizable:X,modal:Y}=this.config;if(this.addCss("ag-dialog"),super.postConstruct(),this.tabGuardFeature=this.createManagedBean(new q9(this,this.callbacks?.stopPropagationCallbacks)),this.tabGuardFeature.initialiseTabGuard({isFocusableContainer:!0,onFocusIn:()=>{this.popupSvc?.bringPopupToFront(J)},onTabKeyDown:(Q)=>{if(Y)return;let q=Q.shiftKey,H=OJ(this.beans,J,!1,q);if(!H||this.tabGuardFeature.getTabGuardCtrl().isTabGuard(H)){if(this.callbacks?.focusNextContainer(this.beans,q))Q.preventDefault()}}}),Z)this.setMovable(Z);if(X)this.setMaximizable(X);if($)this.setResizable($);if(!this.config.modal)this.callbacks?.configureFocusableContainer(this.beans,this)}setAllowFocus(J){this.tabGuardFeature.getTabGuardCtrl().setAllowFocus(J)}renderComponent(){let J=this.getGui(),{alwaysOnTop:Z,modal:$,title:X,afterGuiAttached:Y}=this.config,Q=this.getLocaleTextFunc(),q=this.popupSvc?.addPopup({modal:$,eChild:J,closeOnEsc:!0,closedCallback:this.onClosed.bind(this),alwaysOnTop:Z,ariaLabel:X||Q("ariaLabelDialog","Dialog"),afterGuiAttached:Y});if(q)this.close=q.hideFunc}onClosed(J){this.destroy(),this.config.closedCallback?.(J)}setMaximized(J){if(this.isMaximizable&&J!==this.isMaximized)this.toggleMaximize()}toggleMaximize(){let J=this.positionableFeature.getPosition();if(this.isMaximized){let{x:Z,y:$,width:X,height:Y}=this.lastPosition;this.setWidth(X),this.setHeight(Y),this.positionableFeature.offsetElement(Z,$)}else this.lastPosition.width=this.getWidth(),this.lastPosition.height=this.getHeight(),this.lastPosition.x=J.x,this.lastPosition.y=J.y,this.positionableFeature.offsetElement(0,0),this.setHeight("100%"),this.setWidth("100%");this.isMaximized=!this.isMaximized,this.refreshMaximizeIcon()}refreshMaximizeIcon(){w(this.maximizeIcon,!this.isMaximized),w(this.minimizeIcon,this.isMaximized)}clearMaximizebleListeners(){if(this.maximizeListeners.length){for(let J of this.maximizeListeners)J();this.maximizeListeners.length=0}if(this.resizeListenerDestroy)this.resizeListenerDestroy(),this.resizeListenerDestroy=null}destroy(){this.maximizeButtonComp=this.destroyBean(this.maximizeButtonComp),this.clearMaximizebleListeners(),super.destroy()}setResizable(J){this.positionableFeature.setResizable(J)}setMovable(J){this.positionableFeature.setMovable(J,this.eTitleBar)}setMaximizable(J){if(!J){if(this.clearMaximizebleListeners(),this.maximizeButtonComp)this.destroyBean(this.maximizeButtonComp),this.maximizeButtonComp=this.maximizeIcon=this.minimizeIcon=void 0;return}let Z=this.eTitleBar;if(!Z||J===this.isMaximizable)return;this.isMaximizable=J;let $=this.buildMaximizeAndMinimizeElements();this.refreshMaximizeIcon(),$.addManagedElementListeners($.getGui(),{click:this.toggleMaximize.bind(this)}),this.addTitleBarButton($,0),this.maximizeListeners.push(...this.addManagedElementListeners(Z,{dblclick:this.toggleMaximize.bind(this)})),[this.resizeListenerDestroy]=this.addManagedListeners(this.positionableFeature,{resize:()=>{this.isMaximized=!1,this.refreshMaximizeIcon()}})}buildMaximizeAndMinimizeElements(){let J=this.maximizeButtonComp=this.createBean(new pJ({tag:"div",cls:"ag-dialog-button"})),Z=J.getGui(),$=this.beans.iconSvc;return this.maximizeIcon=$.createIconNoSpan("maximize"),Z.appendChild(this.maximizeIcon),this.maximizeIcon.classList.add("ag-panel-title-bar-button-icon"),this.minimizeIcon=$.createIconNoSpan("minimize"),Z.appendChild(this.minimizeIcon),this.minimizeIcon.classList.add("ag-panel-title-bar-button-icon"),J}};var rj=class extends pZ{constructor(J){super();this.setTemplateFromElement(J.getGui(),void 0,void 0,!0)}postConstruct(){this.initialiseTabGuard({onTabKeyDown:(J)=>this.onTabKeyDown(J),handleKeyDown:(J)=>this.handleKeyDown(J)})}handleKeyDown(J){if(J.key===V.ESCAPE)this.closePanel()}onTabKeyDown(J){if(J.defaultPrevented)return;this.closePanel(),J.preventDefault()}closePanel(){let J=this.parentComponent;J.closeSubMenu(),setTimeout(()=>J.getGui().focus(),0)}},t9=class extends RJ{constructor(J){super();this.callbacks=J,this.ACTIVATION_DELAY=80,this.isActive=!1,this.subMenuIsOpen=!1,this.subMenuIsOpening=!1,this.suppressRootStyles=!0,this.suppressAria=!0,this.suppressFocus=!0}init(J){let{menuItemDef:Z,isAnotherSubMenuOpen:$,level:X,childComponent:Y,contextParams:Q}=J;return this.params=J.menuItemDef,this.level=X,this.isAnotherSubMenuOpen=$,this.childComponent=Y,this.contextParams=Q,this.cssClassPrefix=this.params.menuItemParams?.cssClassPrefix??"ag-menu-option",this.callbacks.getMenuItemComp(this.beans,this.params,{...Z,level:X,isAnotherSubMenuOpen:$,openSubMenu:(q)=>this.openSubMenu(q),closeSubMenu:()=>this.closeSubMenu(),closeMenu:(q)=>this.closeMenu(q),updateTooltip:(q,H)=>this.refreshTooltip(q,H),onItemActivated:()=>this.onItemActivated()}).then((q)=>{if(!q)return;this.menuItemComp=q;let H=q.configureDefaults?.();if(H)this.configureDefaults(H===!0?void 0:H)})}addListeners(J,Z){if(!Z?.suppressClick)this.addManagedElementListeners(J,{click:($)=>this.onItemSelected($)});if(!Z?.suppressKeyboardSelect)this.addManagedElementListeners(J,{keydown:($)=>{if($.key===V.ENTER||$.key===V.SPACE)$.preventDefault(),this.onItemSelected($)}});if(!Z?.suppressMouseDown)this.addManagedElementListeners(J,{mousedown:($)=>{$.stopPropagation(),$.preventDefault()}});if(!Z?.suppressMouseOver)this.addManagedElementListeners(J,{mouseenter:()=>this.onMouseEnter(),mouseleave:()=>this.onMouseLeave()})}isDisabled(){return!!this.params.disabled}openSubMenu(J=!1,Z){if(this.closeSubMenu(),!this.params.subMenu)return;this.subMenuIsOpening=!0;let $=XJ({tag:"div",cls:"ag-menu",role:"presentation"});this.eSubMenuGui=$;let X,Y=()=>{this.subMenuIsOpening=!1};if(this.childComponent){let z=this.createBean(new rj(this.childComponent));z.setParentComponent(this);let U=z.getGui(),W="mouseenter",G=()=>this.cancelDeactivate();if(U.addEventListener(W,G),X=()=>{U.removeEventListener(W,G),this.destroyBean(z)},$.appendChild(U),this.childComponent.afterGuiAttached)Y=()=>{this.childComponent.afterGuiAttached(),this.subMenuIsOpening=!1}}else if(this.params.subMenu){let z=this.createBean(new jQ(this.level+1,this.contextParams,this.callbacks));if(z.setParentComponent(this),z.addMenuItems(this.params.subMenu),$.appendChild(z.getGui()),this.addManagedListeners(z,{closeMenu:(U)=>this.dispatchLocalEvent(U)}),z.addGuiEventListener("mouseenter",()=>this.cancelDeactivate()),X=()=>this.destroyBean(z),J)Y=()=>{z.activateFirstItem(),this.subMenuIsOpening=!1}}let Q=this.beans.popupSvc,q=()=>{let z=this.eGui;Q?.positionPopupForMenu({eventSource:z,ePopup:$,event:Z instanceof MouseEvent?Z:void 0,additionalParams:this.callbacks.getPostProcessPopupParams(this.contextParams)})},H=this.getLocaleTextFunc(),_=Q?.addPopup({modal:!0,eChild:$,positionCallback:q,anchorToElement:this.eGui,ariaLabel:H("ariaLabelSubMenu","SubMenu"),afterGuiAttached:Y});this.subMenuIsOpen=!0,this.setAriaExpanded(!0),this.hideSubMenu=()=>{if(_)_.hideFunc();this.subMenuIsOpen=!1,this.setAriaExpanded(!1),X(),this.menuItemComp.setExpanded?.(!1),this.eSubMenuGui=void 0},this.menuItemComp.setExpanded?.(!0)}setAriaExpanded(J){if(!this.suppressAria)NJ(this.eGui,J)}closeSubMenu(){if(!this.hideSubMenu)return;this.hideSubMenu(),this.hideSubMenu=null,this.setAriaExpanded(!1)}isSubMenuOpen(){return this.subMenuIsOpen}isSubMenuOpening(){return this.subMenuIsOpening}activate(J,Z){if(this.cancelActivate(),this.params.disabled&&!Z)return;if(this.isActive=!0,!this.suppressRootStyles)this.eGui.classList.add(`${this.cssClassPrefix}-active`);if(this.menuItemComp.setActive?.(!0),!this.suppressFocus)this.callbacks.preserveRangesWhile(this.beans,()=>this.eGui.focus({preventScroll:!Z}));if(J&&this.params.subMenu)window.setTimeout(()=>{if(this.isAlive()&&this.isActive)this.openSubMenu()},300);this.onItemActivated()}deactivate(){if(this.cancelDeactivate(),!this.suppressRootStyles)this.eGui.classList.remove(`${this.cssClassPrefix}-active`);if(this.menuItemComp.setActive?.(!1),this.isActive=!1,this.subMenuIsOpen)this.closeSubMenu()}getGui(){return this.menuItemComp.getGui()}getParentComponent(){return this.parentComponent}setParentComponent(J){this.parentComponent=J}getSubMenuGui(){return this.eSubMenuGui}onItemSelected(J){if(this.menuItemComp.select?.(),this.params.action)this.beans.frameworkOverrides.wrapOutgoing(()=>this.params.action(this.gos.addCommon({...this.contextParams})));else this.openSubMenu(J&&J.type==="keydown",J);if(this.params.subMenu&&!this.params.action||this.params.suppressCloseOnSelect)return;this.closeMenu(J)}closeMenu(J){let Z={type:"closeMenu"};if(J)if(J instanceof MouseEvent)Z.mouseEvent=J;else Z.keyboardEvent=J;this.dispatchLocalEvent(Z)}onItemActivated(){let J={type:"menuItemActivated",menuItem:this};this.dispatchLocalEvent(J)}cancelActivate(){if(this.activateTimeoutId)window.clearTimeout(this.activateTimeoutId),this.activateTimeoutId=0}cancelDeactivate(){if(this.deactivateTimeoutId)window.clearTimeout(this.deactivateTimeoutId),this.deactivateTimeoutId=0}onMouseEnter(){if(this.cancelDeactivate(),this.isAnotherSubMenuOpen())this.activateTimeoutId=window.setTimeout(()=>this.activate(!0),this.ACTIVATION_DELAY);else this.activate(!0)}onMouseLeave(){if(this.cancelActivate(),this.isSubMenuOpen())this.deactivateTimeoutId=window.setTimeout(()=>this.deactivate(),this.ACTIVATION_DELAY);else this.deactivate()}refreshRootElementGui(J){let Z=this.menuItemComp.getGui(),{cssClassPrefix:$,params:{cssClasses:X,disabled:Y}}=this,Q=this.menuItemComp.getRootElement?.();if(Q){if(!J)Z.classList.add("ag-menu-option-custom");Z=Q}if(this.suppressRootStyles=!!J,!this.suppressRootStyles){Z.classList.add($);for(let q of X??[])Z.classList.add(q);if(Y)Z.classList.add(`${$}-disabled`)}return Z}applyAriaProperties(J){let{params:{checked:Z,subMenu:$,subMenuRole:X,disabled:Y}}=this,Q=Z!=null;if(zJ(J,Q?"menuitemcheckbox":"menuitem"),$)PX(J,X??"menu");if(Y)MX(J,!0)}configureDefaults(J){if(!this.menuItemComp){setTimeout(()=>this.configureDefaults(J));return}let{suppressRootStyles:Z,suppressTooltip:$,suppressAria:X,suppressTabIndex:Y,suppressFocus:Q}=J||{},{params:{tooltip:q,disabled:H}}=this,_=this.eGui=this.refreshRootElementGui(!!Z);if(this.suppressAria=!!X,!X)this.applyAriaProperties(_);if(!Y)_.setAttribute("tabindex","-1");if(!$)this.refreshTooltip(q);if(!H)this.addListeners(_,J);this.suppressFocus=!!Q}refreshTooltip(J,Z){if(this.tooltip=J,this.tooltipFeature=this.destroyBean(this.tooltipFeature),!J||!this.menuItemComp)return;let $=this.beans.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.getGui(),getTooltipValue:()=>this.tooltip,getLocation:()=>"menu",shouldDisplayTooltip:Z});if($)this.tooltipFeature=this.createBean($)}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),this.menuItemComp?.destroy?.(),super.destroy()}},jQ=class extends pZ{constructor(J=0,Z,$){super({tag:"div",cls:"ag-menu-list",role:"menu"});this.level=J,this.menuActionParams=Z,this.callbacks=$,this.menuItems=[]}postConstruct(){this.initialiseTabGuard({onTabKeyDown:(J)=>this.onTabKeyDown(J),handleKeyDown:(J)=>this.callbacks.preserveRangesWhile(this.beans,()=>this.handleKeyDown(J)),onFocusIn:(J)=>this.handleFocusIn(J),onFocusOut:(J)=>this.handleFocusOut(J)})}onTabKeyDown(J){if(!this.getParentComponent()?.getGui()?.classList.contains("ag-focus-managed"))J.preventDefault();if(J.shiftKey)this.closeIfIsChild(J)}handleKeyDown(J){switch(J.key){case V.UP:case V.RIGHT:case V.DOWN:case V.LEFT:J.preventDefault(),this.handleNavKey(J.key);break;case V.ESCAPE:if(this.closeIfIsChild())this.callbacks.stopPropagationCallbacks.stopPropagation(J);break}}handleFocusIn(J){let Z=J.relatedTarget;if(!this.tabGuardFeature.getTabGuardCtrl().isTabGuard(Z)&&(this.getGui().contains(Z)||this.activeMenuItem?.getSubMenuGui()?.contains(Z)))return;if(this.activeMenuItem)this.activeMenuItem.activate();else this.activateFirstItem()}handleFocusOut(J){let Z=J.relatedTarget;if(!this.activeMenuItem||this.getGui().contains(Z)||this.activeMenuItem.getSubMenuGui()?.contains(Z))return;if(!this.activeMenuItem.isSubMenuOpening())this.activeMenuItem.deactivate()}clearActiveItem(){if(this.activeMenuItem)this.activeMenuItem.deactivate(),this.activeMenuItem=null}addMenuItems(J){if(J==null)return;g.all(J.map((Z)=>{if(Z==="separator")return g.resolve({eGui:this.createSeparator()});else if(typeof Z==="string")return this.callbacks.warnNoItem?.(Z),g.resolve({eGui:null});else return this.addItem(Z)})).then((Z)=>{for(let $ of Z??[])if($?.eGui){if(this.appendChild($.eGui),$.comp)this.menuItems.push($.comp)}})}addItem(J){let Z=this.createManagedBean(new t9(this.callbacks));return Z.init({menuItemDef:J,isAnotherSubMenuOpen:()=>this.menuItems.some(($)=>$.isSubMenuOpen()),level:this.level,contextParams:this.menuActionParams}).then(()=>{return Z.setParentComponent(this),this.addManagedListeners(Z,{closeMenu:($)=>{this.dispatchLocalEvent($)},menuItemActivated:($)=>{if(this.activeMenuItem&&this.activeMenuItem!==$.menuItem)this.activeMenuItem.deactivate();this.activeMenuItem=$.menuItem}}),{comp:Z,eGui:Z.getGui()}})}activateFirstItem(){let J=this.menuItems.filter((Z)=>!Z.isDisabled())[0];if(!J)return;J.activate()}createSeparator(){let J={tag:"div",cls:"ag-menu-separator-part"};return EJ({tag:"div",cls:"ag-menu-separator",attrs:{"aria-hidden":"true"},children:[J,J,J,J]})}handleNavKey(J){switch(J){case V.UP:case V.DOWN:{let $=this.findNextItem(J===V.UP);if($&&$!==this.activeMenuItem)$.activate(!1,!0);return}}let Z=this.gos.get("enableRtl")?V.RIGHT:V.LEFT;if(J===Z)this.closeIfIsChild();else this.openChild()}closeIfIsChild(J){let Z=this.getParentComponent();if(Z&&Z instanceof t9){if(J)J.preventDefault();return Z.closeSubMenu(),Z.getGui().focus(),!0}return!1}openChild(){if(this.activeMenuItem)this.activeMenuItem.openSubMenu(!0)}findNextItem(J){let Z=[...this.menuItems];if(!Z.length)return;if(!this.activeMenuItem)return J?C(Z):Z[0];if(J)Z.reverse();let $,X=!1;for(let Y of Z){if(!X){if(Y===this.activeMenuItem)X=!0;continue}$=Y;break}if(X&&!$)return Z[0];return $||this.activeMenuItem}destroy(){this.clearActiveItem(),super.destroy()}};var tj=class extends pJ{constructor(J){super({tag:"div"});this.callbacks=J}init(J){this.params=J,this.cssClassPrefix=this.params.cssClassPrefix??"ag-menu-option",this.addAriaAttributes(),this.addIcon(),this.addName(),this.addShortcut(),this.addSubMenu()}configureDefaults(){return!0}addAriaAttributes(){let{checked:J,subMenu:Z}=this.params,$=this.getGui();if(J)SX($,J);if(Z)NJ($,!1)}addIcon(){if(this.params.isCompact)return;let J=EJ({tag:"span",ref:"eIcon",cls:`${this.getClassName("part")} ${this.getClassName("icon")}`,role:"presentation"}),{checked:Z,icon:$}=this.params;if(Z)J.appendChild(this.beans.iconSvc.createIconNoSpan("check"));else if($)if(Q5($))J.appendChild($);else if(typeof $==="string")J.innerHTML=$;else this.callbacks?.warnNoIcon?.();this.getGui().appendChild(J)}addName(){let J=EJ({tag:"span",ref:"eName",cls:`${this.getClassName("part")} ${this.getClassName("text")}`,children:this.params.name||""});this.getGui().appendChild(J)}addShortcut(){if(this.params.isCompact)return;let J=EJ({tag:"span",ref:"eShortcut",cls:`${this.getClassName("part")} ${this.getClassName("shortcut")}`,children:this.params.shortcut||""});this.getGui().appendChild(J)}addSubMenu(){let J=EJ({tag:"span",ref:"ePopupPointer",cls:`${this.getClassName("part")} ${this.getClassName("popup-pointer")}`}),Z=this.getGui();if(this.params.subMenu){let $=this.gos.get("enableRtl")?"subMenuOpenRtl":"subMenuOpen";J.appendChild(this.beans.iconSvc.createIconNoSpan($))}Z.appendChild(J)}getClassName(J){return`${this.cssClassPrefix}-${J}`}};function l9(J,Z){if(!Z)return null;let $=KZ(J),X=$.indexOf(Z);if(X===-1)return null;let Y=-1;for(let Q=X-1;Q>=0;Q--)if($[Q].classList.contains(g2.TAB_GUARD_TOP)){Y=Q;break}if(Y<=0)return null;return $[Y-1]}function AQ(J,Z){if(!Z)return!1;let $=J.querySelectorAll(`.${s8}`);if(!$.length)return!1;for(let X=0;X<$.length;X++)if($[X].contains(Z))return!0;return!1}function lj(J){return{tag:"div",cls:`ag-tabs ${J}`,children:[{tag:"div",ref:"eHeader"},{tag:"div",ref:"eBody",role:"presentation",cls:"ag-tabs-body"+J?` ${J}-body`:""}]}}var aj=class extends pZ{constructor(J){super(lj(J.cssClass));this.eHeader=S,this.eBody=S,this.items=[],this.tabbedItemScrollMap=new Map,this.params=J}postConstruct(){if(this.setupHeader(),this.params.items)for(let J of this.params.items)this.addItem(J);this.initialiseTabGuard({onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),focusInnerElement:this.focusInnerElement.bind(this),focusTrapActive:!0}),this.addDestroyFunc(()=>this.activeItem?.tabbedItem?.afterDetachedCallback?.())}setupHeader(){let{enableCloseButton:J,cssClass:Z}=this.params,$=(X,Y)=>{if(X.classList.add(`ag-tabs-${Y}`),Z)X.classList.add(`${Z}-${Y}`)};if(J)this.setupCloseButton($),this.eTabHeader=EJ({tag:"div",role:"presentation"}),$(this.eHeader,"header-wrapper"),this.eHeader.appendChild(this.eTabHeader);else this.eTabHeader=this.eHeader;zJ(this.eTabHeader,"tablist"),$(this.eTabHeader,"header")}setupCloseButton(J){let Z=EJ({tag:"button"});J(Z,"close-button");let $=this.beans.iconSvc.createIconNoSpan("close");KJ(Z,this.params.closeButtonAriaLabel),Z.appendChild($),this.addManagedElementListeners(Z,{click:()=>this.params.onCloseClicked?.()});let X=EJ({tag:"div",role:"presentation"});J(X,"close-button-wrapper"),X.appendChild(Z),this.eHeader.appendChild(X),this.eCloseButton=Z}handleKeyDown(J){switch(J.key){case V.RIGHT:case V.LEFT:{if(!this.eTabHeader.contains(n(this.beans)))return;let Z=J.key===V.RIGHT,$=this.gos.get("enableRtl"),X=this.items.indexOf(this.activeItem),Y=Z!==$?Math.min(X+1,this.items.length-1):Math.max(X-1,0);if(X===Y)return;J.preventDefault();let Q=this.items[Y];this.showItemWrapper(Q),Q.eHeaderButton.focus();break}case V.UP:case V.DOWN:J.stopPropagation();break}}onTabKeyDown(J){if(J.defaultPrevented)return;let{beans:Z,eHeader:$,eBody:X,activeItem:Y,params:Q}=this,{suppressTrapFocus:q,enableCloseButton:H}=Q,_=n(Z),z=J.target,U=J.shiftKey;if($.contains(_)){if(J.preventDefault(),H&&U&&!this.eCloseButton?.contains(_))this.eCloseButton?.focus();else if(q&&U)l9(qJ(Z).body,z)?.focus();else this.focusBody(J.shiftKey);return}let W=null;if(AQ(X,z)){if(U)W=l9(X,z);if(!W&&!q)W=Y.eHeaderButton}if(!W&&X.contains(_)){if(W=OJ(Z,X,!1,U),!W){if(q&&!U)this.forceFocusOutOfContainer(U);else if(H&&!U)J.preventDefault(),this.eCloseButton?.focus();else J.preventDefault(),this.focusHeader();return}}if(W)J.preventDefault(),W.focus()}focusInnerElement(J){if(J)return this.focusBody(!0);else return this.focusHeader(),!0}focusHeader(J){this.activeItem.eHeaderButton.focus({preventScroll:J})}focusBody(J){return DJ(this.eBody,J)}setAfterAttachedParams(J){this.afterAttachedParams=J}showFirstItem(){if(this.items.length>0)this.showItemWrapper(this.items[0])}addItem(J){let Z=EJ({tag:"span",cls:"ag-tab",role:"tab",attrs:{tabindex:"-1"}});Z.appendChild(J.title),this.eTabHeader.appendChild(Z),KJ(Z,J.titleLabel);let $={tabbedItem:J,eHeaderButton:Z};this.items.push($),Z.addEventListener("click",this.showItemWrapper.bind(this,$))}showItem(J){let Z=this.items.find(($)=>$.tabbedItem===J);if(Z)this.showItemWrapper(Z)}showItemWrapper(J){let{tabbedItem:Z,eHeaderButton:$}=J;if(this.params.onItemClicked?.({item:Z}),this.activeItem===J){this.params.onActiveItemClicked?.();return}if(this.lastScrollListener)this.lastScrollListener=this.lastScrollListener();if(ZJ(this.eBody),Z.bodyPromise.then((X)=>{this.eBody.appendChild(X);let Y=!j2();if(!this.params.suppressFocusBodyOnOpen)DJ(this.eBody,!1,Y);if(Z.afterAttachedCallback)Z.afterAttachedCallback(this.afterAttachedParams);if(this.params.keepScrollPosition){let Q=Z.getScrollableContainer?.()||X;[this.lastScrollListener]=this.addManagedElementListeners(Q,{scroll:()=>{this.tabbedItemScrollMap.set(Z.name,Q.scrollTop)}});let q=this.tabbedItemScrollMap.get(Z.name);if(q!==void 0)setTimeout(()=>{Q.scrollTop=q},0)}}),this.activeItem)this.activeItem.eHeaderButton.classList.remove("ag-tab-selected"),this.activeItem.tabbedItem.afterDetachedCallback?.();$.classList.add("ag-tab-selected"),this.activeItem=J}},oj=".ag-group{position:relative;width:100%}.ag-group-title-bar{align-items:center;display:flex;padding:var(--ag-spacing)}.ag-group-title{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.ag-group-title-bar) .ag-group-title{cursor:default}.ag-group-toolbar{align-items:center;display:flex;padding:var(--ag-spacing)}.ag-group-container{display:flex}.ag-disabled .ag-group-container{pointer-events:none}.ag-disabled-group-container,.ag-disabled-group-title-bar{opacity:.5}.ag-group-container-horizontal{flex-flow:row wrap}.ag-group-container-vertical{flex-direction:column}.ag-group-title-bar-icon{cursor:pointer;flex:none}:where(.ag-ltr) .ag-group-title-bar-icon{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-group-title-bar-icon{margin-left:var(--ag-spacing)}:where(.ag-group-item-alignment-stretch) .ag-group-item{align-items:stretch}:where(.ag-group-item-alignment-start) .ag-group-item{align-items:flex-start}:where(.ag-group-item-alignment-end) .ag-group-item{align-items:flex-end}";function ej(J){let Z=J.cssIdentifier||"default",$=J.direction||"vertical";return{tag:"div",cls:`ag-group ag-${Z}-group`,role:"presentation",children:[{tag:"div",ref:"eToolbar",cls:`ag-group-toolbar ag-${Z}-group-toolbar`,children:[{tag:"ag-checkbox",ref:"cbGroupEnabled"}]},{tag:"div",ref:"eContainer",cls:`ag-group-container ag-group-container-${$} ag-${Z}-group-container`}]}}var JA=class extends pJ{constructor(J={}){super(ej(J),[xZ]);this.params=J,this.suppressEnabledCheckbox=!0,this.suppressToggleExpandOnEnableChange=!1,this.eToolbar=S,this.cbGroupEnabled=S,this.eContainer=S,this.registerCSS(oj);let{enabled:Z,items:$,suppressEnabledCheckbox:X,expanded:Y,suppressToggleExpandOnEnableChange:Q,useToggle:q}=J;if(this.cssIdentifier=J.cssIdentifier||"default",this.enabled=Z!=null?Z:!0,this.items=$||[],this.useToggle=q??!1,this.alignItems=J.alignItems||"center",this.expanded=Y==null?!0:Y,X!=null)this.suppressEnabledCheckbox=X;if(Q!=null)this.suppressToggleExpandOnEnableChange=Q}postConstruct(){if(this.setupTitleBar(),this.items.length){let Y=this.items;this.items=[],this.addItems(Y)}let J=this.getLocaleTextFunc();if(this.cbGroupEnabled.setLabel(J("enabled","Enabled")),this.enabled)this.setEnabled(this.enabled,void 0,!0);this.setAlignItems(this.alignItems);let{onEnableChange:Z,onExpandedChange:$,suppressOpenCloseIcons:X}=this.params;if(this.hideEnabledCheckbox(this.suppressEnabledCheckbox),this.hideOpenCloseIcons(X??!1),this.refreshChildDisplay(),w(this.eContainer,this.expanded),this.cbGroupEnabled.onValueChange((Y)=>{this.setEnabled(Y,!0,this.suppressToggleExpandOnEnableChange),this.dispatchEnableChangeEvent(Y)}),Z!=null)this.onEnableChange(Z);if($!=null)this.onExpandedChange($)}refreshChildDisplay(){w(this.eToolbar,this.expanded&&!this.suppressEnabledCheckbox),this.eTitleBar?.refreshOnExpand(this.expanded)}isExpanded(){return this.expanded}setAlignItems(J){if(this.alignItems!==J)this.removeCss(`ag-group-item-alignment-${this.alignItems}`);this.alignItems=J;let Z=`ag-group-item-alignment-${this.alignItems}`;return this.addCss(Z),this}toggleGroupExpand(J,Z){if(this.eTitleBar?.isSuppressCollapse()&&!this.useToggle)J=!0,Z=!0;else if(J=J!=null?J:!this.expanded,this.expanded===J)return this;if(this.expanded=J,this.refreshChildDisplay(),w(this.eContainer,J),!Z)this.dispatchLocalEvent({type:J?"expanded":"collapsed"});return this}addItems(J){for(let Z of J)this.addItem(Z)}prependItem(J){this.insertItem(J,!0)}addItem(J){this.insertItem(J,!1)}updateItems(J){let Z=this.items,$=0;for(let X=0;XJ(Z.enabled)}),this}onExpandedChange(J){return this.addManagedListeners(this,{expanded:()=>J(!0),collapsed:()=>J(!1)}),this}hideEnabledCheckbox(J){return this.suppressEnabledCheckbox=J,this.refreshChildDisplay(),this.refreshDisabledStyles(),this}hideOpenCloseIcons(J){return this.eTitleBar?.hideOpenCloseIcons(J),this}refreshDisabledStyles(){let J=!this.enabled;this.eContainer.classList.toggle("ag-disabled",J),this.eTitleBar?.refreshDisabledStyles(this.suppressEnabledCheckbox&&J),this.eContainer.classList.toggle("ag-disabled-group-container",J)}setupTitleBar(){let J=this.useToggle?this.createToggleTitleBar():this.createDefaultTitleBar();this.eToolbar.insertAdjacentElement("beforebegin",J.getGui())}createDefaultTitleBar(){let J=this.createManagedBean(new $A(this.params));return this.eTitleBar=J,J.refreshOnExpand(this.expanded),this.addManagedListeners(J,{expandedChanged:(Z)=>this.toggleGroupExpand(Z.expanded)}),J}createToggleTitleBar(){let J=this.createManagedBean(new x9({value:this.enabled,label:this.params.title,labelAlignment:"left",labelWidth:"flex",onValueChange:(Z)=>{this.setEnabled(Z,!0),this.dispatchEnableChangeEvent(Z)}}));return J.addCss("ag-group-title-bar"),J.addCss(`ag-${this.params.cssIdentifier??"default"}-group-title-bar ag-unselectable`),this.eToggle=J,this.toggleGroupExpand(this.enabled),J}},h9="ag-disabled-group-title-bar";function ZA(J){let Z=J.cssIdentifier??"default";return{tag:"div",cls:`ag-group-title-bar ag-${Z}-group-title-bar ag-unselectable`,role:J.suppressKeyboardNavigation?"presentation":"group",children:[{tag:"span",ref:"eGroupOpenedIcon",cls:`ag-group-title-bar-icon ag-${Z}-group-title-bar-icon`,role:"presentation"},{tag:"span",ref:"eGroupClosedIcon",cls:`ag-group-title-bar-icon ag-${Z}-group-title-bar-icon`,role:"presentation"},{tag:"span",ref:"eTitle",cls:`ag-group-title ag-${Z}-group-title`}]}}var $A=class extends pJ{constructor(J={}){super(ZA(J));this.suppressOpenCloseIcons=!1,this.suppressKeyboardNavigation=!1,this.eGroupOpenedIcon=S,this.eGroupClosedIcon=S,this.eTitle=S;let{title:Z,suppressOpenCloseIcons:$,suppressKeyboardNavigation:X}=J;if(!!Z&&Z.length>0)this.title=Z;if($!=null)this.suppressOpenCloseIcons=$;this.suppressKeyboardNavigation=X??!1}postConstruct(){this.setTitle(this.title),this.hideOpenCloseIcons(this.suppressOpenCloseIcons),this.setupExpandContract()}setupExpandContract(){let J=this.beans.iconSvc;this.eGroupClosedIcon.appendChild(J.createIconNoSpan("accordionClosed")),this.eGroupOpenedIcon.appendChild(J.createIconNoSpan("accordionOpen")),this.addManagedElementListeners(this.getGui(),{click:()=>this.dispatchExpandChanged(),keydown:(Z)=>{switch(Z.key){case V.ENTER:case V.SPACE:Z.preventDefault(),this.dispatchExpandChanged();break;case V.RIGHT:case V.LEFT:Z.preventDefault(),this.dispatchExpandChanged(Z.key===V.RIGHT);break}}})}refreshOnExpand(J){this.refreshAriaStatus(J),this.refreshOpenCloseIcons(J)}refreshAriaStatus(J){if(!this.suppressOpenCloseIcons)NJ(this.getGui(),J)}refreshOpenCloseIcons(J){let Z=!this.suppressOpenCloseIcons;w(this.eGroupOpenedIcon,Z&&J),w(this.eGroupClosedIcon,Z&&!J)}isSuppressCollapse(){return this.suppressOpenCloseIcons}dispatchExpandChanged(J){let Z={type:"expandedChanged",expanded:J};this.dispatchLocalEvent(Z)}setTitle(J){let Z=this.getGui(),$=!!J&&J.length>0;if(J=$?J:void 0,this.eTitle.textContent=J??"",w(Z,$),J!==this.title)this.title=J;let X=Z.classList.contains(h9);return this.refreshDisabledStyles(X),this}addWidget(J){return this.getGui().appendChild(J),this}hideOpenCloseIcons(J){if(this.suppressOpenCloseIcons=J,J)this.dispatchExpandChanged(!0);return this}refreshDisabledStyles(J){let Z=this.getGui();if(J)Z.classList.add(h9),Z.removeAttribute("tabindex"),zJ(Z,"presentation");else if(Z.classList.remove(h9),typeof this.title==="string"&&!this.suppressKeyboardNavigation)this.activateTabIndex([Z]),zJ(Z,"group");else Z.removeAttribute("tabindex"),zJ(Z,"presentation")}};var $J="35.2.0",IJ={moduleName:"EnterpriseCore",version:$J,beans:[R4],icons:{accordionOpen:"tree-open",accordionClosed:"tree-closed",accordionIndeterminate:"tree-indeterminate",close:"cross",cancel:"cancel",maximize:"maximize",minimize:"minimize",columnDrag:"grip"},dependsOn:[],setLicenseKey:R4.setLicenseKey};var XA={stopPropagationCallbacks:W0,focusNextContainer:(J,Z)=>{return YZ(J,Z)},configureFocusableContainer:(J,Z)=>{let $=J.ctrlsSvc.get("gridCtrl");$.addFocusableContainer(Z),Z.addDestroyFunc(()=>$.removeFocusableContainer(Z))}},YA=class extends sj{constructor(J){super(J,XA)}getFocusableContainerName(){return"dialog"}};var MQ=class extends mj{constructor(J){super(W0,J)}};var QA=class extends pj{};function qA(J){return J.sideBar?.comp.isDisplayed()??!1}function HA(J,Z){J.sideBar?.comp.setDisplayed(Z)}function _A(J,Z){J.sideBar?.comp.setSideBarPosition(Z)}function zA(J,Z,$){J.sideBar?.comp.openToolPanel(Z,"api",$)}function UA(J){J.sideBar?.comp.close("api")}function WA(J){return J.sideBar?.comp.openedItem()??null}function GA(J){J.sideBar?.comp.refresh()}function BA(J){return J.sideBar?.comp.isToolPanelShowing()??!1}function KA(J,Z){let $=J.sideBar?.comp.getToolPanelInstance(Z);return mZ($)}function EA(J){return J.sideBar?.comp.getDef()}var LA=`.ag-tool-panel-wrapper{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--ag-horizontal-size,var(--ag-side-bar-panel-width))}.ag-tool-panel-content{display:flex;height:100%;overflow:hidden auto}.ag-tool-panel-wrapper.ag-tool-panel-animating{ /* !important required to override .ag-hidden to tool panel remains visible while animating */display:block!important;transition:width var(--ag-side-bar-panel-animation-duration) ease-in-out}@media (prefers-reduced-motion:reduce){.ag-tool-panel-wrapper.ag-tool-panel-animating{transition:none}}.ag-tool-panel-external{display:flex;flex-direction:row}:where(.ag-tool-panel-external) .ag-tool-panel-wrapper{flex-grow:1}.ag-select-agg-func-item{align-items:center;display:flex;flex:1 1 auto;flex-flow:row nowrap;height:100%;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}.ag-tool-panel-horizontal-resize{cursor:ew-resize;height:100%;position:absolute;top:0;width:5px;z-index:1}.ag-side-bar{background-color:var(--ag-side-bar-background-color);display:flex;flex-direction:row-reverse;position:relative}:where(.ag-ltr) :where(.ag-side-bar-left) .ag-tool-panel-horizontal-resize{right:-3px}:where(.ag-rtl) :where(.ag-side-bar-left) .ag-tool-panel-horizontal-resize{left:-3px}:where(.ag-ltr) :where(.ag-side-bar-right) .ag-tool-panel-horizontal-resize{left:-3px}:where(.ag-rtl) :where(.ag-side-bar-right) .ag-tool-panel-horizontal-resize{right:-3px}.ag-side-bar-left{flex-direction:row;order:-1}.ag-side-buttons{background-color:var(--ag-side-button-bar-background-color);padding-top:var(--ag-side-button-bar-top-padding);position:relative}.ag-side-button{background-color:var(--ag-side-button-background-color);border-bottom:var(--ag-side-button-border);border-top:var(--ag-side-button-border);color:var(--ag-side-button-text-color);margin-top:-1px;position:relative}.ag-side-button:before{background-color:transparent;bottom:0;content:"";display:block;position:absolute;top:0;transition:background-color var(--ag-side-button-selected-underline-transition-duration);width:var(--ag-side-button-selected-underline-width)}:where(.ag-ltr) .ag-side-button:before{left:0}:where(.ag-rtl) .ag-side-button:before{right:0}.ag-side-button:hover{background-color:var(--ag-side-button-hover-background-color);color:var(--ag-side-button-hover-text-color)}.ag-side-button.ag-selected{background-color:var(--ag-side-button-selected-background-color);border-bottom:var(--ag-side-button-selected-border);border-top:var(--ag-side-button-selected-border);color:var(--ag-side-button-selected-text-color)}.ag-side-button.ag-selected:before{background-color:var(--ag-side-button-selected-underline-color)}.ag-side-button-button{align-items:center;display:flex;flex-direction:column;gap:var(--ag-spacing);position:relative;white-space:nowrap;width:100%;&:focus{box-shadow:none}}:where(.ag-ltr) .ag-side-button-button{padding:var(--ag-side-button-vertical-padding) var(--ag-side-button-right-padding) var(--ag-side-button-vertical-padding) var(--ag-side-button-left-padding)}:where(.ag-rtl) .ag-side-button-button{padding:var(--ag-side-button-vertical-padding) var(--ag-side-button-left-padding) var(--ag-side-button-vertical-padding) var(--ag-side-button-right-padding)}.ag-side-button-button:focus-visible{box-shadow:inset var(--ag-focus-shadow)}.ag-side-button-label{writing-mode:vertical-lr}@media (resolution <= 1.5x){.ag-side-button-label{font-family:"Segoe UI",var(--ag-font-family)}:where(.ag-ltr) .ag-side-button-label{transform:rotate(.05deg)}:where(.ag-rtl) .ag-side-button-label{transform:rotate(-.05deg)}}:where(.ag-ltr) .ag-side-bar-left,:where(.ag-rtl) .ag-side-bar-right{border-right:var(--ag-side-panel-border);:where(.ag-tool-panel-wrapper){border-left:var(--ag-side-panel-border)}}:where(.ag-ltr) .ag-side-bar-right,:where(.ag-rtl) .ag-side-bar-left{border-left:var(--ag-side-panel-border);:where(.ag-tool-panel-wrapper){border-right:var(--ag-side-panel-border)}}`,FA={tag:"div",cls:"ag-side-button",role:"presentation",children:[{tag:"button",ref:"eToggleButton",cls:"ag-button ag-side-button-button",role:"tab",attrs:{type:"button",tabindex:"-1","aria-expanded":"false"},children:[{tag:"div",ref:"eIconWrapper",cls:"ag-side-button-icon-wrapper",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eLabel",cls:"ag-side-button-label"}]}]},DA=class extends y{constructor(J){super();this.toolPanelDef=J,this.eToggleButton=S,this.eIconWrapper=S,this.eLabel=S}getToolPanelId(){return this.toolPanelDef.id}postConstruct(){this.setTemplate(FA,[]),this.setLabel(),this.setIcon(),this.addManagedElementListeners(this.eToggleButton,{click:this.onButtonPressed.bind(this)}),this.eToggleButton.setAttribute("id",`ag-${this.getCompId()}-button`)}setLabel(){let J=this.toolPanelDef,Z=this.getLocaleTextFunc()(J.labelKey,J.labelDefault);this.eLabel.textContent=Z}setIcon(){this.eIconWrapper.insertAdjacentElement("afterbegin",h(this.toolPanelDef.iconKey,this.beans))}onButtonPressed(){this.dispatchLocalEvent({type:"toggleButtonClicked"})}setSelected(J){this.toggleCss("ag-selected",J),NJ(this.eToggleButton,J)}},kA={tag:"div",cls:"ag-side-buttons",role:"tablist"},VA=class extends y{constructor(){super(kA);this.buttonComps=[]}postConstruct(){this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)})}handleKeyDown(J){if(J.key!==V.TAB||!J.shiftKey)return;if(YZ(this.beans,!0)){J.preventDefault();return}iJ(J)}setActiveButton(J){for(let Z of this.buttonComps)Z.setSelected(J===Z.getToolPanelId())}addButtonComp(J){let Z=this.createBean(new DA(J));return this.buttonComps.push(Z),this.appendChild(Z),Z.addEventListener("toggleButtonClicked",()=>{this.dispatchLocalEvent({type:"sideBarButtonClicked",toolPanelId:J.id})}),Z}clearButtons(){this.buttonComps=this.destroyBeans(this.buttonComps),ZJ(this.getGui())}destroy(){this.clearButtons(),super.destroy()}},jA={selector:"AG-SIDE-BAR-BUTTONS",component:VA},RQ={id:"columns",labelDefault:"Columns",labelKey:"columns",iconKey:"columnsToolPanel",toolPanel:"agColumnsToolPanel"},OQ={id:"filters",labelDefault:"Filters",labelKey:"filters",iconKey:"filtersToolPanel",toolPanel:"agFiltersToolPanel"},AA={id:"filters-new",labelDefault:"Filters",labelKey:"filters",iconKey:"filtersToolPanel",toolPanel:"agNewFiltersToolPanel"},O5={columns:RQ,filters:OQ,"filters-new":AA};function a9(J){if(!J)return;if(J===!0)return{toolPanels:[RQ,OQ],defaultToolPanel:"columns"};if(typeof J==="string")return a9([J]);if(Array.isArray(J)){let Z=[];for(let $ of J){let X=O5[$];if(!X){O(215,{key:$,defaultByKey:O5});continue}Z.push(X)}if(Z.length===0)return;return{toolPanels:Z,defaultToolPanel:Z[0].id}}return{toolPanels:MA(J.toolPanels),defaultToolPanel:J.defaultToolPanel,hiddenByDefault:J.hiddenByDefault,position:J.position,hideButtons:J.hideButtons}}function MA(J){let Z=[];if(!J)return Z;return J.forEach(($)=>{let X=RA($);if(!X)return;Z.push(X)}),Z}function RA(J){if(typeof J!=="string")return J;if(O5[J])return O5[J];return O(215,{key:J,defaultByKey:O5}),null}var OA=class extends y{constructor(){super({tag:"div",cls:"ag-tool-panel-horizontal-resize"});this.minWidth=100,this.maxWidth=null}postConstruct(){let J=this.beans.horizontalResizeSvc.addResizeBar({eResizeBar:this.getGui(),dragStartPixels:1,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this),onResizeEnd:this.onResizeEnd.bind(this)});this.addDestroyFunc(J),this.inverted=this.gos.get("enableRtl")}dispatchResizeEvent(J,Z,$){this.eventSvc.dispatchEvent({type:"toolPanelSizeChanged",width:$,started:J,ended:Z})}onResizeStart(){this.startingWidth=this.elementToResize.offsetWidth,this.dispatchResizeEvent(!0,!1,this.startingWidth)}onResizeEnd(J){return this.onResizing(J,!0)}onResizing(J,Z=!1){let $=this.inverted?-1:1,X=Math.max(this.minWidth,Math.floor(this.startingWidth-J*$));if(this.maxWidth!=null)X=Math.min(this.maxWidth,X);this.elementToResize.style.setProperty("--ag-horizontal-size",`${X}px`),this.dispatchResizeEvent(!1,Z,X)}};function SA(J,Z,$){return J.getCompDetails(Z,fA,void 0,$,!0)}var fA={name:"toolPanel",optionalMethods:["refresh","getState"]},PA={tag:"div",cls:"ag-tool-panel-wrapper",role:"tabpanel",children:[{tag:"div",cls:"ag-tool-panel-content",ref:"eContent"}]},TA=class extends y{constructor(){super(PA);this.eContent=S,this.animationId=0,this.defParent=null}postConstruct(){let J=this.getGui(),Z=this.resizeBar=this.createManagedBean(new OA);J.setAttribute("id",`ag-${this.getCompId()}`),Z.elementToResize=J,this.appendChild(Z)}getToolPanelId(){return this.toolPanelId}getDefParent(){return this.defParent}setDefParent(J){this.defParent=J}setToolPanelDef(J,Z){let{id:$,minWidth:X,maxWidth:Y,width:Q,parent:q}=J;if(this.toolPanelId=$,this.defParent=q??null,Q)this.getGui().style.setProperty("--ag-side-bar-panel-width",`${Q}px`);let H=SA(this.beans.userCompFactory,J,Z);if(H==null)return!1;let _=H.newAgStackInstance();this.params=H.params,_.then(this.setToolPanelComponent.bind(this));let z=this.resizeBar;if(X!=null)z.minWidth=X;if(Y!=null)z.maxWidth=Y;return!0}setToolPanelComponent(J){this.toolPanelCompInstance=J;let{eContent:Z}=this;Z.appendChild(J.getGui()),this.addDestroyFunc(()=>{this.destroyBean(J)})}getToolPanelInstance(){return this.toolPanelCompInstance}setResizerSizerSide(J){let Z=this.gos.get("enableRtl"),$=J==="left",X=Z?$:!$;this.resizeBar.inverted=X}refresh(){this.toolPanelCompInstance?.refresh(this.params)}animateDisplayed(J){if(this.isDisplayed()===J)return;let Z=++this.animationId,{eContent:$}=this,X=()=>{if(this.animationId===Z)Y.classList.remove("ag-tool-panel-animating"),$.style.width="",Y.style.width=""},Y=this.getGui(),Q=Y.offsetWidth;this.setDisplayed(J),Y.classList.add("ag-tool-panel-animating");let q=getComputedStyle(Y).transitionDuration;if(!parseFloat(q)){X();return}Y.style.transition="none",Y.style.width="",$.style.width=`${$.offsetWidth}px`,Y.style.width=`${Q}px`;let H=Y.offsetWidth;Y.style.transition="",Y.style.width=J?"":"0";let _=setTimeout(X,100);Y.addEventListener("transitionstart",()=>clearTimeout(_),{once:!0}),Y.addEventListener("transitionend",X,{once:!0})}},vA={tag:"div",cls:"ag-side-bar ag-unselectable",children:[{tag:"ag-side-bar-buttons",ref:"sideBarButtons"}]},IA=class extends y{constructor(){super(vA,[jA]);this.sideBarButtons=S,this.toolPanelWrappers=[],this.registerCSS(LA)}postConstruct(){this.sideBarButtons.addEventListener("sideBarButtonClicked",this.onToolPanelButtonClicked.bind(this));let{beans:J,gos:Z}=this,{sideBar:$}=Z.get("initialState")??{};this.setSideBarDef({sideBarDef:a9(Z.get("sideBar")),sideBarState:$}),this.addManagedPropertyListener("sideBar",()=>this.setState()),J.sideBar.comp=this;let X=this.getFocusableElement();this.createManagedBean(new cZ(X,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this)})),B0(J,this,X),this.addManagedPropertyListener("enableAdvancedFilter",this.onAdvancedFilterChanged.bind(this))}getFocusableContainerName(){return"sideBar"}onTabKeyDown(J){if(J.defaultPrevented)return;let{beans:Z,sideBarButtons:$}=this,X=this.getGui(),Y=$.getGui(),Q=n(Z),q=X.querySelector(".ag-tool-panel-wrapper:not(.ag-hidden)"),H=J.target,_=J.shiftKey;if(!q){if(YZ(Z,_,!0))return J.preventDefault(),!0;return hY(J),!1}if(Y.contains(Q)){if(DJ(q,_))J.preventDefault();return}if(!_)return;let z=null;if(q.contains(Q))z=OJ(Z,q,void 0,!0);else if(AQ(q,H))z=l9(q,H);if(!z)z=Y.querySelector(".ag-selected button"),z=AJ(z)?z:null;if(z&&z!==J.target)J.preventDefault(),z.focus()}handleKeyDown(J){let Z=n(this.beans),$=this.sideBarButtons;if(!$.getGui().contains(Z))return;let X=$.getGui(),Y=Array.prototype.slice.call(X.querySelectorAll(".ag-side-button")),Q=Y.findIndex((_)=>_.contains(Z)),q=null;switch(J.key){case V.LEFT:case V.UP:q=Math.max(0,Q-1);break;case V.RIGHT:case V.DOWN:q=Math.min(Q+1,Y.length-1);break}if(q===null)return;let H=Y[q].querySelector("button");if(H)H.focus(),J.preventDefault()}onToolPanelButtonClicked(J){let Z=J.toolPanelId;if(this.openedItem()===Z)this.openToolPanel(void 0,"sideBarButtonClicked");else this.openToolPanel(Z,"sideBarButtonClicked")}clearDownUi(){this.sideBarButtons.clearButtons(),this.destroyToolPanelWrappers()}setSideBarDef({sideBarDef:J,sideBarState:Z,existingToolPanelWrappers:$}){if(this.setDisplayed(!1),this.sideBar=J,J)this.sideBarButtons.setDisplayed(!J.hideButtons);if(J?.toolPanels){let X=J.toolPanels;if(this.createToolPanelsAndSideButtons(X,Z,$),!this.toolPanelWrappers.length)return;let Y=Z?Z.visible:!J.hiddenByDefault;if(this.setDisplayed(Y),this.setSideBarPosition(Z?Z.position:J.position),Y)if(Z){let{openToolPanel:Q}=Z;if(Q)this.openToolPanel(Q,"sideBarInitializing")}else this.openToolPanel(J.defaultToolPanel,"sideBarInitializing")}}getDef(){return this.sideBar}setSideBarPosition(J){if(!J)J="right";this.position=J;let Z=J==="left",$=Z?"right":"left";this.toggleCss("ag-side-bar-left",Z),this.toggleCss("ag-side-bar-right",!Z);for(let X of this.toolPanelWrappers)X.setResizerSizerSide($);return this.dispatchSideBarUpdated(),this}setDisplayed(J,Z){super.setDisplayed(J,Z),this.dispatchSideBarUpdated()}getState(){let J={};for(let Z of this.toolPanelWrappers)J[Z.getToolPanelId()]=Z.getToolPanelInstance()?.getState?.();return{visible:this.isDisplayed(),position:this.position,openToolPanel:this.openedItem(),toolPanels:J}}createToolPanelsAndSideButtons(J,Z,$){for(let X of J)this.createToolPanelAndSideButton(X,Z?.toolPanels?.[X.id],$?.[X.id])}validateDef(J){let{id:Z,toolPanel:$}=J;if(Z==null)return O(212),!1;if(x4($)){if(this.beans.filterManager?.isAdvFilterEnabled())return O(213),!1}return!0}createToolPanelAndSideButton(J,Z,$){if(!this.validateDef(J)){this.destroyBean($);return}let X;if($)X=$,X.setDefParent(J.parent??null);else if(X=this.createBean(new TA),!X.setToolPanelDef(J,x(this.gos,{initialState:Z,onStateUpdated:()=>this.dispatchSideBarUpdated()})))return;X.setDisplayed(!1),this.renderToolPanelUnderParent(X,J.parent),this.toolPanelWrappers.push(X);let Y=this.sideBarButtons.addButtonComp(J);fX(Y.eToggleButton,X.getGui())}refresh(){for(let J of this.toolPanelWrappers)J.refresh()}renderToolPanelUnderParent(J,Z){let $=J.getGui();if(Z)this.beans.environment.applyThemeClasses(Z,["ag-external","ag-tool-panel-external"]),$.classList.add(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr");let X=Z??J.getDefParent()??this.getGui();if($.parentElement!==X)X.appendChild($)}getWrapper(J){return this.toolPanelWrappers.find((Z)=>Z.getToolPanelId()===J)}openToolPanel(J,Z="api",$){let X=this.openedItem(),Q=!!J&&!!X||Z==="sideBarInitializing";for(let _ of this.toolPanelWrappers){let z=J===_.getToolPanelId();if(z)this.renderToolPanelUnderParent(_,$??null);if(Q)_.setDisplayed(z);else _.animateDisplayed(z)}let q=this.openedItem();if(X!==q)this.sideBarButtons.setActiveButton(J),this.raiseToolPanelVisibleEvent(J,X??void 0,Z)}getToolPanelInstance(J){let Z=this.getWrapper(J);if(!Z){O(214,{key:J});return}return Z.getToolPanelInstance()}raiseToolPanelVisibleEvent(J,Z,$){let X=!!J&&!!Z,Y=this.eventSvc;if(Z)Y.dispatchEvent({type:"toolPanelVisibleChanged",source:$,key:Z,visible:!1,switchingToolPanel:X});if(J)Y.dispatchEvent({type:"toolPanelVisibleChanged",source:$,key:J,visible:!0,switchingToolPanel:X})}close(J="api"){this.openToolPanel(void 0,J)}isToolPanelShowing(){return!!this.openedItem()}openedItem(){let J=null;for(let Z of this.toolPanelWrappers)if(Z.isDisplayed())J=Z.getToolPanelId();return J}setState(J){let Z=a9(this.gos.get("sideBar")),$={};if(Z&&this.sideBar)Z.toolPanels?.forEach((X)=>{let{id:Y}=X;if(!Y)return;let Q=this.sideBar.toolPanels?.find((z)=>z.id===Y);if(!Q||X.toolPanel!==Q.toolPanel)return;let q=this.getWrapper(Y);if(!q)return;let H=x(this.gos,{...X.toolPanelParams??{},initialState:J?.toolPanels?.[Y],onStateUpdated:()=>this.dispatchSideBarUpdated()});if(q.getToolPanelInstance()?.refresh(H)!==!0)return;this.toolPanelWrappers=this.toolPanelWrappers.filter((z)=>z!==q),TJ(q.getGui()),$[Y]=q});this.clearDownUi(),this.setSideBarDef({sideBarDef:Z,sideBarState:J,existingToolPanelWrappers:$})}dispatchSideBarUpdated(){this.eventSvc.dispatchEvent({type:"sideBarUpdated"})}destroyToolPanelWrappers(){for(let J of this.toolPanelWrappers)TJ(J.getGui()),this.destroyBean(J);this.toolPanelWrappers.length=0}onAdvancedFilterChanged(){if(this.sideBar?.toolPanels?.some((Z)=>x4(typeof Z==="string"?Z:Z.toolPanel)))this.setState()}destroy(){this.destroyToolPanelWrappers(),super.destroy()}};function x4(J){return J==="agFiltersToolPanel"||J==="agNewFiltersToolPanel"}var bA={selector:"AG-SIDE-BAR",component:IA},CA=class extends M{constructor(){super(...arguments);this.beanName="sideBar"}getSelector(){return bA}},Z$={moduleName:"SideBar",version:$J,beans:[CA],apiFunctions:{isSideBarVisible:qA,setSideBarVisible:HA,setSideBarPosition:_A,openToolPanel:zA,closeToolPanel:UA,getOpenedToolPanel:WA,refreshToolPanel:GA,isToolPanelShowing:BA,getToolPanelInstance:KA,getSideBar:EA},dependsOn:[IJ,U9]},xA='.ag-menu-list{cursor:default;display:table;padding:var(--ag-spacing) 0;width:100%}.ag-menu-option,.ag-menu-separator{display:table-row}.ag-menu-option-part,.ag-menu-separator-part{display:table-cell;vertical-align:middle}.ag-menu-option{cursor:pointer;font-weight:500}:where(.ag-ltr) :where(.ag-menu-option-popup-pointer) .ag-icon{text-align:right}:where(.ag-rtl) :where(.ag-menu-option-popup-pointer) .ag-icon{text-align:left}.ag-menu-option-text{white-space:nowrap}.ag-menu-option-custom{display:contents}.ag-compact-menu-option{display:flex;flex-wrap:nowrap;width:100%}.ag-compact-menu-option-text{flex:1 1 auto;white-space:nowrap}.ag-menu-separator{height:calc(var(--ag-spacing)*2 + 1px)}.ag-menu-separator-part:after{border-top:solid var(--ag-border-width) var(--ag-menu-separator-color);content:"";display:block}.ag-compact-menu-option-active,.ag-menu-option-active{background-color:var(--ag-row-hover-color)}.ag-compact-menu-option-part,.ag-menu-option-part{line-height:var(--ag-icon-size);padding:calc(var(--ag-spacing) + 2px) 0}.ag-compact-menu-option-disabled,.ag-menu-option-disabled{cursor:not-allowed;opacity:.5}.ag-compact-menu-option-icon,.ag-menu-option-icon{width:var(--ag-icon-size)}:where(.ag-ltr) .ag-compact-menu-option-icon,:where(.ag-ltr) .ag-menu-option-icon{padding-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-compact-menu-option-icon,:where(.ag-rtl) .ag-menu-option-icon{padding-right:calc(var(--ag-spacing)*2)}.ag-compact-menu-option-text,.ag-menu-option-text{padding-left:calc(var(--ag-spacing)*2);padding-right:calc(var(--ag-spacing)*2)}:where(.ag-ltr) .ag-compact-menu-option-shortcut,:where(.ag-ltr) .ag-menu-option-shortcut{padding-right:var(--ag-spacing)}:where(.ag-rtl) .ag-compact-menu-option-shortcut,:where(.ag-rtl) .ag-menu-option-shortcut{padding-left:var(--ag-spacing)}:where(.ag-ltr) .ag-compact-menu-option-popup-pointer,:where(.ag-ltr) .ag-menu-option-popup-pointer{padding-right:var(--ag-spacing)}:where(.ag-rtl) .ag-compact-menu-option-popup-pointer,:where(.ag-rtl) .ag-menu-option-popup-pointer{padding-left:var(--ag-spacing)}.ag-menu-column-select-wrapper{height:265px;overflow:auto;:where(.ag-column-select){height:100%}}.ag-menu:where(.ag-tabs){min-width:290px}.ag-context-menu-loading-icon{pointer-events:none;position:absolute}',SQ=class extends tj{constructor(){super({warnNoIcon:()=>O(227)})}},$$={moduleName:"MenuItem",version:$J,userComponents:{agMenuItem:SQ},icons:{check:"tick",subMenuOpen:"small-right",subMenuOpenRtl:"small-left"},css:[xA]},yA=".ag-column-select{display:flex;flex:3 1 0px;flex-direction:column;overflow:hidden;position:relative}.ag-column-select-header{flex:none;height:var(--ag-header-height);padding-left:var(--ag-widget-container-horizontal-padding);padding-right:var(--ag-widget-container-horizontal-padding)}.ag-column-select-column,.ag-column-select-column-group,.ag-column-select-header{align-items:center;display:flex;gap:var(--ag-widget-horizontal-spacing);position:relative}.ag-column-select-column,.ag-column-select-column-group{height:100%}:where(.ag-ltr) .ag-column-select-column,:where(.ag-ltr) .ag-column-select-column-group{padding-left:calc(var(--ag-indentation-level)*var(--ag-column-select-indent-size))}:where(.ag-rtl) .ag-column-select-column,:where(.ag-rtl) .ag-column-select-column-group{padding-right:calc(var(--ag-indentation-level)*var(--ag-column-select-indent-size))}.ag-column-select-column-group:where(:not(:last-child)),.ag-column-select-column:where(:not(:last-child)){margin-bottom:var(--ag-widget-vertical-spacing)}.ag-column-select-header-icon{border-radius:var(--ag-border-radius);cursor:pointer;height:var(--ag-icon-size);position:relative;width:var(--ag-icon-size);&:focus-visible{box-shadow:var(--ag-focus-shadow)}}.ag-column-select-header-filter-wrapper{flex:1 1 auto}.ag-column-select-header-filter{width:100%}.ag-column-select-list{flex:1 1 0px;overflow:hidden}:where(.ag-ltr) .ag-column-select-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-spacing)*1.5)}:where(.ag-rtl) .ag-column-select-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-spacing)*1.5)}.ag-column-select-column-group-readonly,.ag-column-select-column-readonly{opacity:.5;pointer-events:none;.ag-icon{opacity:.5}&.ag-icon-grip{opacity:.35}}.ag-column-select-column-readonly{&.ag-icon-grip,.ag-icon-grip{opacity:.35}}.ag-column-select-virtual-list-viewport{padding:calc(var(--ag-widget-container-vertical-padding)*.5) 0}.ag-column-select-virtual-list-item{padding:0 var(--ag-widget-container-horizontal-padding)}.ag-column-select-column-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-column-select-checkbox{display:flex}",NA=300,wA={tag:"div",cls:"ag-column-select-header",role:"presentation",children:[{tag:"div",ref:"eExpand",cls:"ag-column-select-header-icon"},{tag:"ag-checkbox",ref:"eSelect",cls:"ag-column-select-header-checkbox"},{tag:"ag-input-text-field",ref:"eFilterTextField",cls:"ag-column-select-header-filter-wrapper"}]},gA=class extends y{constructor(){super(wA,[xZ,S9]);this.eExpand=S,this.eSelect=S,this.eFilterTextField=S}postConstruct(){this.createExpandIcons(),this.addManagedListeners(this.eExpand,{click:this.onExpandClicked.bind(this),keydown:(Z)=>{if(Z.key===V.SPACE)Z.preventDefault(),this.onExpandClicked()}}),this.addManagedElementListeners(this.eSelect.getInputElement(),{click:this.onSelectClicked.bind(this)}),this.addManagedPropertyListener("functionsReadOnly",()=>this.onFunctionsReadOnlyPropChanged()),this.eFilterTextField.setAutoComplete(!1).onValueChange(()=>this.onFilterTextChanged()),this.addManagedEventListeners({newColumnsLoaded:this.showOrHideOptions.bind(this)});let J=this.getLocaleTextFunc();this.eSelect.setInputAriaLabel(J("ariaColumnSelectAll","Toggle All Columns Visibility")),this.eFilterTextField.setInputAriaLabel(J("ariaFilterColumnsInput","Filter Columns Input")),this.activateTabIndex([this.eExpand])}onFunctionsReadOnlyPropChanged(){let J=this.gos.get("functionsReadOnly");this.eSelect.setReadOnly(J),this.eSelect.toggleCss("ag-column-select-column-readonly",J)}init(J){this.params=J;let Z=this.gos.get("functionsReadOnly");if(this.eSelect.setReadOnly(Z),this.eSelect.toggleCss("ag-column-select-column-readonly",Z),this.beans.colModel.ready)this.showOrHideOptions()}createExpandIcons(){let J=this.beans;this.eExpand.appendChild(this.eExpandChecked=h("columnSelectOpen",J)),this.eExpand.appendChild(this.eExpandUnchecked=h("columnSelectClosed",J)),this.eExpand.appendChild(this.eExpandIndeterminate=h("columnSelectIndeterminate",J)),this.setExpandState(0)}showOrHideOptions(){let J=this.params,Z=!J.suppressColumnFilter,$=!J.suppressColumnSelectAll,X=!J.suppressColumnExpandAll,Y=!!this.beans.colModel.colDefCols?.treeDepth,Q=this.getLocaleTextFunc();this.eFilterTextField.setInputPlaceholder(Q("searchOoo","Search...")),w(this.eFilterTextField.getGui(),Z),w(this.eSelect.getGui(),$),w(this.eExpand,X&&Y)}onFilterTextChanged(){if(!this.onFilterTextChangedDebounced)this.onFilterTextChangedDebounced=gZ(this,()=>{let J=this.eFilterTextField.getValue();this.dispatchLocalEvent({type:"filterChanged",filterText:J})},NA);this.onFilterTextChangedDebounced()}onSelectClicked(){this.dispatchLocalEvent({type:this.selectState?"unselectAll":"selectAll"})}onExpandClicked(){this.dispatchLocalEvent({type:this.expandState===0?"collapseAll":"expandAll"})}setExpandState(J){this.expandState=J,w(this.eExpandChecked,J===0),w(this.eExpandUnchecked,J===1),w(this.eExpandIndeterminate,J===2)}setSelectionState(J){this.selectState=J,this.eSelect.setValue(this.selectState)}},hA={selector:"AG-PRIMARY-COLS-HEADER",component:gA};function P2(J){return!!J&&typeof J.children<"u"}function F0(J){return P2(J)?J.groupId:J.colId}function fQ(J,Z,$){let X=(q,H)=>{let z=q.children.map(F0).includes(F0(H)),U=C(q.children),W=U&&F0(U)!==F0(H);return z&&W};if(!P2(J))return!0;let Y=J,Q=$;if(X(Y,Q))return Y.children.push(Q),!0;if(Y.groupId===Z){if(!Y.children.map(F0).includes(F0(Q)))return Y.children.push(Q),!0}for(let q=Y.children.length-1;q>=0;q--)if(fQ(Y.children[q],Z,$))break;return!1}function PQ(J){let Z=(Y,Q)=>{return P2(Y)&&P2(Q)&&F0(Y)===F0(Q)},$=(Y,Q)=>{if(!P2(Q))return Y;let q=Y,H=Q;if(H.children&&H.groupId){if(fQ(q,H.groupId,H.children[0]))return q}for(let _ of H.children)$(q,_);return q},X=[];for(let Y=1;Y<=J.length;Y++){let Q=J[Y-1],q=J[Y];if(Z(Q,q))J[Y]=$(Q,q);else X.push(Q)}return X}function uA(J,Z){let $=[],X=(Q,q)=>{if(P2(Q)){let H=Q,_=typeof H.groupId<"u"?H.groupId:H.headerName,z=new b0(H,_,!1,q),U=[];for(let W of H.children){let G=X(W,q+1);if(G)U.push(G)}return z.setChildren(U),z}else{let H=Q,_=H.colId?H.colId:H.field,z=J.getColDefCol(_);if(!z)$.push(H);return z}},Y=[];for(let Q of Z){let q=X(Q,0);if(q)Y.push(q)}if($.length>0)O(217,{invalidColIds:$});return Y}function mA(J,Z){let $=TQ(pA(J)),X=PQ($);Z(X)}function cA(J,Z){let $=TQ(J),X=PQ($);Z(X)}function TQ(J){let Z=($,X)=>{let Y;if(HJ($))if($.isPadding())Y=X;else{let q=Object.assign({},$.getColGroupDef());q.groupId=$.getGroupId(),q.children=[X],Y=q}else{let q=Object.assign({},$.getColDef());q.colId=$.getColId(),Y=q}let Q=$.getOriginalParent();if(Q)return Z(Q,Y);else return Y};return J.map(($)=>Z($,$.getColDef()))}function pA(J){return J.getCols().filter((Z)=>{let $=Z.getColDef();return Z.isPrimary()&&!$.showRowGroup})}var y4=class{constructor(J,Z,$,X=!1,Y){if(this.displayName=J,this.depth=$,this.group=X,this.localEventService=new EZ,X)this.columnGroup=Z,this._expanded=Y,this.children=[];else this.column=Z}get expanded(){return!!this._expanded}set expanded(J){if(J===this._expanded)return;this._expanded=J,this.localEventService.dispatchEvent({type:"expandedChanged"})}addEventListener(J,Z){this.localEventService.addEventListener(J,Z)}removeEventListener(J,Z){this.localEventService.removeEventListener(J,Z)}};function i(J){return!!J?.buttons?.includes("apply")}function wJ(J,Z){if(!i(Z))return;let $=J.sideBar?.comp.openedItem();if(!$)return;J.sideBar?.comp.getToolPanelInstance($)?.refreshDeferredUi()}function vQ(J,Z,$,X,Y){let Q=iA(Z);IQ(J,Q,$,X,Y)}function IQ(J,Z,$,X,Y){if(J.columnStateUpdateStrategy.getPivotMode(i(Y)))nA(J,Z,$,X,Y);else dA(J,Z,$,X,Y)}function iA(J){let Z=[],$=(X)=>{for(let Y of X){if(!Y.passesFilter)continue;if(Y.group)$(Y.children);else Z.push(Y.column)}};return $(J),Z}function dA(J,Z,$,X,Y){let Q=J.columnStateUpdateStrategy,q=[];for(let H of Z){if(H.getColDef().lockVisible)continue;if(Q.isColumnVisibleInToolPanel(i(Y),H)!==$)q.push({colId:H.getId(),hide:!$})}Q.applyColumnState(i(Y),q,X),wJ(J,Y)}function nA(J,Z,$,X,Y){sA(J,Z,$,X,Y)}function sA(J,Z,$,X,Y){let Q=J.columnStateUpdateStrategy,q=[],z=$?(U)=>{if(Q.isColumnSelectedInPivotModeToolPanel(i(Y),U))return;if(U.isAllowValue()){let W=typeof U.getAggFunc()==="string"?U.getAggFunc():J.aggFuncSvc?.getDefaultAggFunc(U);q.push({colId:U.getId(),aggFunc:W})}else if(U.isAllowRowGroup())q.push({colId:U.getId(),rowGroup:!0});else if(U.isAllowPivot())q.push({colId:U.getId(),pivot:!0})}:(U)=>{if(Q.isColumnSelectedInPivotModeToolPanel(i(Y),U))q.push({colId:U.getId(),pivot:!1,rowGroup:!1,aggFunc:null})};Z.forEach(z),Q.applyColumnState(i(Y),q,X),wJ(J,Y)}function bQ(J,Z){let{columns:$,visibleState:X,pivotState:Y,eventType:Q}=Z,q=J.columnStateUpdateStrategy,H=q.getPivotMode(i(Z)),_=$.map((z)=>{let U=z.getColId();if(H){let W=Y?.[U];return{colId:U,pivot:W?.pivot,rowGroup:W?.rowGroup,aggFunc:W?.aggFunc}}else return{colId:U,hide:!X?.[U]}});q.applyColumnState(i(Z),_,Q),wJ(J,Z)}function rA(J){return{pivot:J.isPivotActive(),rowGroup:J.isRowGroupActive(),aggFunc:J.isValueActive()?J.getAggFunc():void 0}}function CQ(J,Z,$){if(!$)return rA(J);let X=Z.getRowGroupColumns($).includes(J),Y=Z.getPivotColumns($).includes(J),Q=Z.getValueColumns($).includes(J);return{pivot:Y,rowGroup:X,aggFunc:Q?Z.getColumnAggFunc($,J):void 0}}var xQ=(J,Z)=>{if(!Z)return[];let $=J;for(let X=0,Y=Z.length;X{let X=J.aggData;if(X===Z)return;if(J.aggData=Z,J.__localEventService)tA(J,X,Z,$)},N4=(J,Z,$)=>{f2(J,Z,$);let X=J.pinnedSibling;if(X)f2(X,Z,$);let Y=J.sibling;if(Y){f2(Y,Z,$);let Q=Y.pinnedSibling;if(Q)f2(Q,Z,$)}},tA=(J,Z,$,X)=>{if(!$){if(!Z)return;let q=Object.keys(Z);for(let H=0,_=q.length;H<_;++H){let z=q[H],U=X.getColById(z);if(U)J.dispatchCellChangedEvent(U,void 0,Z[z])}return}let Y=Object.keys($);for(let q=0,H=Y.length;q{if(!J)return;let X=J.group;if(X===$)return;if(J.group=$,J.updateHasChildren(),X&&!$)f2(J,null,Z.colModel),J.setAllChildrenCount(null);Z.selectionSvc?.updateRowSelectable(J),J.dispatchRowEvent("groupChanged")},yQ=(J,Z,$)=>{w4(J,Z,$),w4(J.pinnedSibling,Z,$)},P5=(J,Z)=>{let{gos:$,rowGroupColsSvc:X}=Z;if(!X||!J)return!1;let Y=$.get("groupLockGroupColumns");if(!J.isRowGroupActive()||Y===0)return!1;if(Y===-1)return!0;let Q=X.columns.findIndex((q)=>q.getColId()===J.getColId());return Y>Q},S5=(J,Z,$)=>{let Y=J(Z,`${Z==="groupBy"?"Group by":"Un-Group by"} ${$}`,[$]);if(Y.indexOf($)>=0)return Y;else return`${Y} ${$}`};function lA(J){let Z=tJ(J),$="getSelection"in Z?Z.getSelection():null,X=[];for(let Y=0;Y<($?.rangeCount??0);Y++){let Q=$?.getRangeAt(Y);if(Q)X.push(Q)}return{selection:$,ranges:X}}function aA(J,Z){if(!J.gos.get("enableCellTextSelection"))return Z();if(!C6()&&!c0())return Z();let{selection:X,ranges:Y}=lA(J);Z(),X?.removeAllRanges();for(let Q of Y)X?.addRange(Q)}var oA={name:"menuItem",optionalMethods:["setActive","select","setExpanded","configureDefaults"]},NQ={getMenuItemComp:(J,Z,$)=>{return J.userCompFactory.getCompDetails(Z,oA,"agMenuItem",x(J.gos,$),!0)?.newAgStackInstance()??g.resolve()},getPostProcessPopupParams:({column:J,node:Z})=>({column:J,rowNode:Z}),preserveRangesWhile:aA,stopPropagationCallbacks:W0,warnNoItem:(J)=>{O(228,{menuItemOrString:J})}},eA=class extends t9{constructor(){super(NQ)}},wQ=class extends jQ{constructor(J,Z={column:null,node:null,value:null}){super(J,Z,NQ)}},gQ=class extends y{constructor(J,Z,$,X={}){super({tag:"div",cls:"ag-menu"});this.column=J,this.mouseEventOrTouch=Z,this.parentEl=$,this.params=X,this.displayName=null}postConstruct(){let{column:J,beans:{colNames:Z}}=this;this.initializeProperties(J);let $;if($Z(J))$=Z.getDisplayNameForColumn(J,"columnToolPanel");else $=Z.getDisplayNameForProvidedColumnGroup(null,J,"columnToolPanel");if(this.displayName=$,this.buildMenuItemMap(),this.isActive()){let X=this.mouseEventOrTouch;if("preventDefault"in X)X.preventDefault();let Y=this.getMappedMenuItems();if(Y.length===0)return;this.displayContextMenu(Y)}}initializeProperties(J){let Z=this.beans.columnStateUpdateStrategy,$;if(HJ(J))$=J.getLeafColumns();else $=[J];this.columns=$;let X=Z.getPivotMode(i(this.params));this.allowScrollIntoView=!X&&$.some(this.isColumnValidForScrollIntoView),this.allowGrouping=$.some((Y)=>Y.isPrimary()&&Y.isAllowRowGroup()),this.allowValues=$.some((Y)=>Y.isPrimary()&&Y.isAllowValue()),this.allowPivoting=X&&$.some((Y)=>Y.isPrimary()&&Y.isAllowPivot())}buildMenuItemMap(){let J=this.getLocaleTextFunc(),{beans:Z,displayName:$}=this,X=this.beans.columnStateUpdateStrategy,Y=new Map;this.menuItemMap=Y;let Q=i(this.params),q=X.getPivotMode(Q),H=new Set(X.getRowGroupColumns(Q).map((B)=>B.getColId())),_=new Set(X.getValueColumns(Q).map((B)=>B.getColId())),z=new Set(X.getPivotColumns(Q).map((B)=>B.getColId()));Y.set("scrollIntoView",{allowedFunction:(B)=>!B.isPinned()&&!q&&this.isColumnValidForScrollIntoView(B),activeFunction:()=>!1,activateLabel:()=>J("scrollColumnIntoView",`Scroll ${$} into View`,[$]),activateFunction:()=>{let B=this.columns.find(this.isColumnValidForScrollIntoView);if(B)this.beans.ctrlsSvc.getScrollFeature().ensureColumnVisible(B)},deActivateFunction:()=>{},addIcon:"ensureColumnVisible"});let U=(B)=>B.isPrimary()&&B.isAllowRowGroup()&&!P5(B,Z);Y.set("rowGroup",{allowedFunction:U,activeFunction:(B)=>H.has(B.getColId()),activateLabel:()=>S5(J,"groupBy",$),deactivateLabel:()=>S5(J,"ungroupBy",$),activateFunction:()=>{let B=this.addColumnsToList(X.getRowGroupColumns(Q),U);X.setRowGroupColumns(Q,B,"toolPanelUi"),wJ(this.beans,this.params)},deActivateFunction:()=>{let B=this.removeColumnsFromList(X.getRowGroupColumns(Q),U);X.setRowGroupColumns(Q,B,"toolPanelUi"),wJ(this.beans,this.params)},addIcon:"menuAddRowGroup",removeIcon:"menuRemoveRowGroup"});let W=(B)=>B.isPrimary()&&B.isAllowValue();Y.set("value",{allowedFunction:W,activeFunction:(B)=>_.has(B.getColId()),activateLabel:()=>J("addToValues",`Add ${$} to values`,[$]),deactivateLabel:()=>J("removeFromValues",`Remove ${$} from values`,[$]),activateFunction:()=>{let B=this.addColumnsToList(X.getValueColumns(Q),W);X.setValueColumns(Q,B,"toolPanelUi"),wJ(this.beans,this.params)},deActivateFunction:()=>{let B=this.removeColumnsFromList(X.getValueColumns(Q),W);X.setValueColumns(Q,B,"toolPanelUi"),wJ(this.beans,this.params)},addIcon:"valuePanel",removeIcon:"valuePanel"});let G=(B)=>q&&B.isPrimary()&&B.isAllowPivot();Y.set("pivot",{allowedFunction:G,activeFunction:(B)=>z.has(B.getColId()),activateLabel:()=>J("addToLabels",`Add ${$} to labels`,[$]),deactivateLabel:()=>J("removeFromLabels",`Remove ${$} from labels`,[$]),activateFunction:()=>{let B=this.addColumnsToList(X.getPivotColumns(Q),G);X.setPivotColumns(Q,B,"toolPanelUi"),wJ(this.beans,this.params)},deActivateFunction:()=>{let B=this.removeColumnsFromList(X.getPivotColumns(Q),G);X.setPivotColumns(Q,B,"toolPanelUi"),wJ(this.beans,this.params)},addIcon:"pivotPanel",removeIcon:"pivotPanel"})}isColumnValidForScrollIntoView(J){if(!J.isVisible())return!1;let $=J.getParent();if(!$)return!0;return $.getDisplayedChildren()?.includes(J)??!0}addColumnsToList(J,Z){return[...J].concat(this.columns.filter(($)=>Z($)&&!J.includes($)))}removeColumnsFromList(J,Z){return J.filter(($)=>!Z($)||!this.columns.includes($))}displayContextMenu(J){let Z=this.getGui(),$=this.createBean(new wQ),X=this.getLocaleTextFunc(),Y=()=>{};Z.appendChild($.getGui()),$.addMenuItems(J),$.addManagedListeners($,{closeMenu:()=>{this.parentEl.focus(),Y()}});let Q=this.beans.popupSvc,q=Q.addPopup({modal:!0,eChild:Z,closeOnEsc:!0,afterGuiAttached:()=>DJ($.getGui()),ariaLabel:X("ariaLabelContextMenu","Context Menu"),closedCallback:(H)=>{if(H instanceof KeyboardEvent)this.parentEl.focus();this.destroyBean($)}});if(q)Y=q.hideFunc;Q.positionPopupUnderMouseEvent({type:"columnContextMenu",mouseEvent:this.mouseEventOrTouch,ePopup:Z})}isActive(){return this.allowScrollIntoView||this.allowGrouping||this.allowValues||this.allowPivoting}getMappedMenuItems(){let J=[],{menuItemMap:Z,columns:$,displayName:X,beans:Y}=this;for(let Q of Z.values()){let q=$.some((_)=>Q.allowedFunction(_)&&!Q.activeFunction(_)),H=$.some((_)=>Q.allowedFunction(_)&&Q.activeFunction(_));if(q)J.push({name:Q.activateLabel(X),icon:h(Q.addIcon,Y,null),action:()=>Q.activateFunction()});if(H&&Q.removeIcon&&Q.deactivateLabel)J.push({name:Q.deactivateLabel(X),icon:h(Q.removeIcon,Y,null),action:()=>Q.deActivateFunction?.()})}return J}},JM={tag:"div",cls:"ag-column-select-column-group",children:[{tag:"span",ref:"eColumnGroupIcons",cls:"ag-column-group-icons",children:[{tag:"span",ref:"eGroupClosedIcon",cls:"ag-column-group-closed-icon"},{tag:"span",ref:"eGroupOpenedIcon",cls:"ag-column-group-opened-icon"}]},{tag:"ag-checkbox",ref:"cbSelect",cls:"ag-column-select-checkbox"},{tag:"span",ref:"eLabel",cls:"ag-column-select-column-label"}]},hQ=class extends y{constructor(J,Z,$,X,Y){super();this.modelItem=J,this.allowDragging=Z,this.eventType=$,this.focusWrapper=X,this.params=Y,this.cbSelect=S,this.eLabel=S,this.eGroupOpenedIcon=S,this.eGroupClosedIcon=S,this.eColumnGroupIcons=S,this.processingColumnStateChange=!1;let{columnGroup:Q,depth:q,displayName:H}=J;this.columnGroup=Q,this.columnDepth=q,this.displayName=H}postConstruct(){this.setTemplate(JM,[xZ]);let{beans:J,cbSelect:Z,eLabel:$,displayName:X,columnDepth:Y,modelItem:Q,focusWrapper:q,columnGroup:H}=this,{registry:_,gos:z}=J,U=h("columnDrag",J);this.eDragHandle=U,U.classList.add("ag-drag-handle","ag-column-select-column-group-drag-handle");let W=Z.getGui(),G=Z.getInputElement();W.after(U),G.setAttribute("tabindex","-1"),$.textContent=X??"",this.setupExpandContract(),this.addCss("ag-column-select-indent-"+Y),this.getGui().style.setProperty("--ag-indentation-level",String(Y)),this.tooltipFeature=this.createOptionalManagedBean(_.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.focusWrapper,getLocation:()=>"columnToolPanelColumnGroup",shouldDisplayTooltip:n6(z,()=>$)})),this.addManagedEventListeners({columnPivotModeChanged:this.onColumnStateChanged.bind(this)}),this.addManagedElementListeners($,{click:this.onLabelClicked.bind(this)}),this.addManagedListeners(Z,{fieldValueChanged:this.onCheckboxChanged.bind(this)}),this.addManagedListeners(Q,{expandedChanged:this.onExpandChanged.bind(this)});let B=new hJ(this.getGui(),!1);this.addManagedListeners(B,{longTap:(E)=>this.onContextMenu(E.touchStart)}),this.addDestroyFunc(B.destroy.bind(B)),this.addManagedListeners(q,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)}),this.setOpenClosedIcons(),this.setupDragging(),this.onColumnStateChanged(),this.addVisibilityListenersToAllChildren(),this.refreshAriaExpanded(),this.refreshAriaLabel(),this.setupTooltip();let K=g6(H.getColGroupDef(),z,null,H);for(let E of K)this.toggleCss(E,!0)}getColumns(){return this.columnGroup.getLeafColumns()}setupTooltip(){let J=this.columnGroup.getColGroupDef();if(!J)return;let Z=()=>this.tooltipFeature?.setTooltipAndRefresh(J.headerTooltip);Z(),this.addManagedEventListeners({newColumnsLoaded:Z})}handleKeyDown(J){switch(J.key){case V.LEFT:J.preventDefault(),this.modelItem.expanded=!1;break;case V.RIGHT:J.preventDefault(),this.modelItem.expanded=!0;break;case V.SPACE:if(J.preventDefault(),this.isSelectable())this.onSelectAllChanged(!this.isSelected());break}}onContextMenu(J){let{columnGroup:Z,gos:$}=this;if($.get("functionsReadOnly"))return;let X=this.createBean(new gQ(Z,J,this.focusWrapper,this.params));this.addDestroyFunc(()=>{if(X.isAlive())this.destroyBean(X)})}addVisibilityListenersToAllChildren(){let J=this.onColumnStateChanged.bind(this);for(let Z of this.columnGroup.getLeafColumns())this.addManagedListeners(Z,{visibleChanged:J,columnValueChanged:J,columnPivotChanged:J,columnRowGroupChanged:J})}setupDragging(){if(!this.allowDragging){w(this.eDragHandle,!1);return}let J=this.beans,{gos:Z,eventSvc:$,dragAndDrop:X}=J,Y=!Z.get("suppressDragLeaveHidesColumns"),Q={type:_Z.ToolPanel,eElement:this.eDragHandle,dragItemName:this.displayName,getDefaultIconName:()=>Y?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{Y=!Z.get("suppressDragLeaveHidesColumns"),$.dispatchEvent({type:"columnPanelItemDragStart",column:this.columnGroup})},onDragStopped:()=>{$.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:(q)=>{if(Y)bQ(J,{columns:this.columnGroup.getLeafColumns(),visibleState:q?.visibleState,pivotState:q?.pivotState,eventType:this.eventType,buttons:this.params.buttons})},onGridExit:()=>{if(Y)this.onChangeCommon(!1)}};X.addDragSource(Q,!0),this.addDestroyFunc(()=>X.removeDragSource(Q))}createDragItem(){let J=this.columnGroup.getLeafColumns(),Z={},$={},X=this.beans.columnStateUpdateStrategy,Y=i(this.params);for(let Q of J){let q=Q.getId();Z[q]=Q.isVisible(),$[q]=CQ(Q,X,Y)}return{columns:J,visibleState:Z,pivotState:$}}setupExpandContract(){let{beans:J,eGroupClosedIcon:Z,eGroupOpenedIcon:$,eColumnGroupIcons:X}=this;Z.appendChild(h6("columnSelectClosed",J,null)),$.appendChild(h6("columnSelectOpen",J,null));let Y=this.onExpandOrContractClicked.bind(this);this.addManagedElementListeners(Z,{click:Y}),this.addManagedElementListeners($,{click:Y});let Q=new hJ(X,!0);this.addManagedListeners(Q,{tap:Y}),this.addDestroyFunc(Q.destroy.bind(Q))}onLabelClicked(){let J=!this.cbSelect.getValue();this.onChangeCommon(J)}onCheckboxChanged(J){this.onChangeCommon(J.selected)}getVisibleLeafColumns(){let J=[],Z=($)=>{for(let X of $)if(X.passesFilter)if(X.group)Z(X.children);else J.push(X.column)};return Z(this.modelItem.children),J}onChangeCommon(J){if(this.refreshAriaLabel(),this.processingColumnStateChange)return;vQ(this.beans,this.modelItem.children,J,this.eventType,this.params)}refreshAriaLabel(){let{cbSelect:J,focusWrapper:Z,displayName:$}=this,X=this.getLocaleTextFunc(),Y=X("ariaColumnGroup","Column Group"),Q=J.getValue(),q=Q===void 0?X("ariaIndeterminate","indeterminate"):Q?X("ariaVisible","visible"):X("ariaHidden","hidden"),H=X("ariaToggleVisibility","Press SPACE to toggle visibility");KJ(Z,`${$} ${Y}`),J.setInputAriaLabel(`${H} (${q})`),D6(Z,J.getInputElement().id)}onColumnStateChanged(){let J=this.workOutSelectedValue(),Z=this.workOutReadOnlyValue();this.processingColumnStateChange=!0;let $=this.cbSelect;$.setValue(J),$.setReadOnly(Z),this.toggleCss("ag-column-select-column-group-readonly",Z),this.processingColumnStateChange=!1}workOutSelectedValue(){let Z=this.beans.columnStateUpdateStrategy.getPivotMode(i(this.params)),$=this.getVisibleLeafColumns(),X=0,Y=0;for(let Q of $)if(Z||!Q.getColDef().lockVisible)if(this.isColumnChecked(Q))X++;else Y++;if(X>0&&Y>0)return;return X>0}workOutReadOnlyValue(){let J=this.beans.columnStateUpdateStrategy.getPivotMode(i(this.params)),Z=0;for(let $ of this.columnGroup.getLeafColumns())if(J){if($.isAnyFunctionAllowed())Z++}else if(!$.getColDef().lockVisible)Z++;return Z===0}isColumnChecked(J){let Z=this.beans.columnStateUpdateStrategy;if(Z.getPivotMode(i(this.params)))return Z.isColumnSelectedInPivotModeToolPanel(i(this.params),J);return Z.isColumnVisibleInToolPanel(i(this.params),J)}onExpandOrContractClicked(){let J=this.modelItem,Z=J.expanded;J.expanded=!Z}onExpandChanged(){this.setOpenClosedIcons(),this.refreshAriaExpanded()}setOpenClosedIcons(){let J=this.modelItem.expanded;w(this.eGroupClosedIcon,!J),w(this.eGroupOpenedIcon,J)}refreshAriaExpanded(){NJ(this.focusWrapper,this.modelItem.expanded)}getDisplayName(){return this.displayName}onSelectAllChanged(J){let Z=this.cbSelect,$=Z.getValue();if(!Z.isReadOnly()&&(J&&!$||!J&&$))Z.toggle()}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}setSelected(J){this.cbSelect.setValue(J,!0)}},u9=(J)=>{if(HJ(J))return J.getLeafColumns();return J?[J]:[]},ZM=(J,Z,$,X)=>{if(!Z||!J)return null;let Y=X.indexOf(Z),Q=$?Y:Y+1,q=$M(X,J,Q);return Q-q},$M=(J,Z,$)=>{if(!Z)return 0;let X=Z[0],Y=Z.length;if(J.indexOf(X)<$)return Y;return 0},g4=(J,Z,$,X)=>{let Y=i(X);if(J.get("suppressMovableColumns")||Z.columnStateUpdateStrategy.getPivotMode(Y))return!0;return!!$.find(({colDef:H})=>!!H.suppressMovable||!!H.lockPosition)},h4=(J,Z,$,X)=>{if(!$)return;let{component:Y}=$,Q=null,q=$.position==="top";if(Y instanceof hQ)Q=Y.getColumns()[0],q=!0;else if(Y)Q=Y.column;if(!Q)return;let H=i(X),_=H?J.columnStateUpdateStrategy.getPrimaryColumns(H):J.colModel.getCols(),z=ZM(Z,Q,q,_);if(z!=null)J.columnStateUpdateStrategy.moveColumns(H,Z,z,"toolPanelUi"),wJ(J,X)},XM=(J)=>{return J.column},YM={tag:"div",cls:"ag-column-select-column",children:[{tag:"ag-checkbox",ref:"cbSelect",cls:"ag-column-select-checkbox"},{tag:"span",ref:"eLabel",cls:"ag-column-select-column-label"}]},QM=class extends y{constructor(J,Z,$,X,Y){super();this.modelItem=J,this.allowDragging=Z,this.groupsExist=$,this.focusWrapper=X,this.params=Y,this.eLabel=S,this.cbSelect=S,this.processingColumnStateChange=!1;let{column:Q,depth:q,displayName:H}=J;this.column=Q,this.columnDepth=q,this.displayName=H}postConstruct(){this.setTemplate(YM,[xZ]);let{beans:J,cbSelect:Z,displayName:$,eLabel:X,columnDepth:Y,groupsExist:Q,column:q,gos:H,focusWrapper:_}=this,z=h("columnDrag",J);this.eDragHandle=z,z.classList.add("ag-drag-handle","ag-column-select-column-drag-handle");let U=Z.getGui(),W=Z.getInputElement();if(U.after(z),W.setAttribute("tabindex","-1"),X.textContent=$,Q)this.addCss("ag-column-select-add-group-indent");this.addCss(`ag-column-select-indent-${Y}`),this.getGui().style.setProperty("--ag-indentation-level",String(Y)),this.tooltipFeature=this.createOptionalManagedBean(J.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.focusWrapper,getLocation:()=>"columnToolPanelColumn",shouldDisplayTooltip:n6(H,()=>X),getAdditionalParams:()=>({colDef:q.getColDef()})})),this.setupDragging();let G=this.onColumnStateChanged.bind(this);this.addManagedEventListeners({columnPivotModeChanged:G}),this.addManagedListeners(q,{columnValueChanged:G,columnPivotChanged:G,columnRowGroupChanged:G,visibleChanged:G}),this.addManagedListeners(_,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)});let B=new hJ(_);this.addManagedListeners(B,{longTap:(E)=>this.onContextMenu(E.touchStart)}),this.addDestroyFunc(B.destroy.bind(B)),this.addManagedPropertyListener("functionsReadOnly",this.onColumnStateChanged.bind(this)),this.addManagedListeners(Z,{fieldValueChanged:this.onCheckboxChanged.bind(this)}),this.addManagedElementListeners(X,{click:this.onLabelClicked.bind(this)}),this.onColumnStateChanged(),this.refreshAriaLabel(),this.setupTooltip();let K=g6(q.getColDef(),H,q,null);for(let E of K)this.toggleCss(E,!0)}getColumn(){return this.column}setupTooltip(){let J=()=>this.tooltipFeature?.setTooltipAndRefresh(this.column.getColDef().headerTooltip);J(),this.addManagedEventListeners({newColumnsLoaded:J})}onContextMenu(J){let{column:Z,gos:$}=this;if($.get("functionsReadOnly"))return;let X=this.createBean(new gQ(Z,J,this.focusWrapper,this.params));this.addDestroyFunc(()=>{if(X.isAlive())this.destroyBean(X)})}handleKeyDown(J){if(J.key===V.SPACE){if(J.preventDefault(),this.isSelectable())this.onSelectAllChanged(!this.isSelected())}}onLabelClicked(){if(this.gos.get("functionsReadOnly"))return;let J=!this.cbSelect.getValue();this.onChangeCommon(J)}onCheckboxChanged(J){this.onChangeCommon(J.selected)}onChangeCommon(J){if(this.cbSelect.isReadOnly())return;if(this.refreshAriaLabel(),this.processingColumnStateChange)return;IQ(this.beans,[this.column],J,"toolPanelUi",this.params)}refreshAriaLabel(){let{cbSelect:J,focusWrapper:Z,displayName:$}=this,X=this.getLocaleTextFunc(),Y=X("ariaColumn","Column"),Q=J.getValue()?X("ariaVisible","visible"):X("ariaHidden","hidden"),q=X("ariaToggleVisibility","Press SPACE to toggle visibility");KJ(Z,`${$} ${Y}`),this.cbSelect.setInputAriaLabel(`${q} (${Q})`),D6(Z,J.getInputElement().id)}setupDragging(){let J=this.eDragHandle;if(!this.allowDragging){w(J,!1);return}let Z=this.beans,{gos:$,eventSvc:X,dragAndDrop:Y}=Z;if(i(this.params))J.setAttribute("data-column-tool-panel-deferred","");let Q=!$.get("suppressDragLeaveHidesColumns"),q={type:_Z.ToolPanel,eElement:J,dragItemName:this.displayName,getDefaultIconName:()=>Q&&!i(this.params)?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{Q=!$.get("suppressDragLeaveHidesColumns"),X.dispatchEvent({type:"columnPanelItemDragStart",column:this.column})},onDragStopped:()=>{X.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:(H)=>{if(Q&&!i(this.params))bQ(Z,{columns:[this.column],visibleState:H?.visibleState,pivotState:H?.pivotState,eventType:"toolPanelUi",buttons:this.params.buttons})},onGridExit:()=>{if(Q&&!i(this.params))this.onChangeCommon(!1)}};Y.addDragSource(q,!0),this.addDestroyFunc(()=>Y.removeDragSource(q))}createDragItem(){let J=this.column.getColId(),Z={[J]:this.column.isVisible()},$=this.beans.columnStateUpdateStrategy,X={[J]:CQ(this.column,$,i(this.params))};return{columns:[this.column],visibleState:Z,pivotState:X}}onColumnStateChanged(){this.processingColumnStateChange=!0;let J=this.beans.columnStateUpdateStrategy,Z=J.getPivotMode(i(this.params));if(Z){let Y=J.isColumnSelectedInPivotModeToolPanel(i(this.params),this.column);this.cbSelect.setValue(Y)}else this.cbSelect.setValue(J.isColumnVisibleInToolPanel(i(this.params),this.column));let $=!0,X=!0;if(Z){let Y=this.gos.get("functionsReadOnly"),Q=!this.column.isAnyFunctionAllowed();$=!Y&&!Q,X=$}else{let{enableRowGroup:Y,enableValue:Q,lockPosition:q,suppressMovable:H,lockVisible:_}=this.column.getColDef(),z=!!Y||!!Q,U=!!q||!!H;$=!_,X=z||!U}this.cbSelect.setReadOnly(!$),this.eDragHandle.classList.toggle("ag-column-select-column-readonly",!X),this.toggleCss("ag-column-select-column-readonly",!X&&!$),this.cbSelect.setPassive(!1),this.processingColumnStateChange=!1}getDisplayName(){return this.displayName}onSelectAllChanged(J){let Z=this.cbSelect;if(J!==Z.getValue()){if(!Z.isReadOnly())Z.toggle()}}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}isExpandable(){return!1}setExpanded(J){O(158)}},qM=class{constructor(J){this.items=J}getRowCount(){return this.items.length}getRow(J){return this.items[J]}},HM="ag-column-select-list",_M=class extends y{constructor(){super({tag:"div",cls:HM,role:"presentation"});this.destroyColumnItemFuncs=[],this.hasLoadedInitialState=!1,this.isInitialState=!1,this.skipRefocus=!1}wireBeans(J){this.colModel=J.colModel}destroy(){this.destroyColumnTree(),super.destroy()}destroyColumnTree(){this.allColsTree=[];for(let J of this.destroyColumnItemFuncs)J();this.destroyColumnItemFuncs=[]}init(J,Z,$){this.params=J;let{suppressSyncLayoutWithGrid:X,contractColumnSelection:Y,suppressColumnMove:Q}=J;if(this.allowDragging=Z,this.eventType=$,!X)this.addManagedEventListeners({columnMoved:this.onColumnsChanged.bind(this)});this.addManagedEventListeners({newColumnsLoaded:this.onColumnsChanged.bind(this)});let q=this.fireSelectionChangedEvent.bind(this);this.addManagedEventListeners({columnPivotChanged:q,columnPivotModeChanged:q,columnRowGroupChanged:q,columnValueChanged:q,columnVisible:q,newColumnsLoaded:q}),this.expandGroupsByDefault=!Y;let H=Q||X,_=this.createManagedBean(new MQ({cssIdentifier:"column-select",ariaRole:"tree",moveItemCallback:(z,U)=>{if(H)return;this.moveItems(z,U)}}));if(this.virtualList=_,this.appendChild(_.getGui()),_.setComponentCreator((z,U)=>{return AX(U,z.depth+1),this.createComponentFromItem(z,U)}),this.colModel.ready)this.onColumnsChanged();if(H)return;this.createItemDragFeature()}createItemDragFeature(){let{gos:J,beans:Z,virtualList:$}=this;this.createManagedBean(new QA(this,$,{dragSourceType:_Z.ToolPanel,addListeners:(X,Y,Q)=>{X.addManagedEventListeners({columnPanelItemDragStart:Y,columnPanelItemDragEnd:Q})},getCurrentDragValue:(X)=>XM(X),isMoveBlocked:(X)=>g4(J,Z,u9(X),this.params),getNumRows:(X)=>X.getDisplayedColsList().length,moveItem:(X,Y)=>h4(Z,u9(X),Y,this.params)}))}moveItems(J,Z){let{gos:$,beans:X}=this,{modelItem:Y}=J,{group:Q,columnGroup:q,column:H,expanded:_}=Y,z=u9(Q?q:H);if(g4($,X,z,this.params))return;let U=this.displayedColsList.indexOf(Y),W=Z?-1:1,G=0;if(Z){let K=J.columnDepth>0?H.getParent()?.getChildren():null;if(K?.length&&H===K[0])G=-1}else if(Q)G=_?Y.children.length:0;let B=Math.min(Math.max(U+G+W,0),this.displayedColsList.length-1);this.skipRefocus=!0,h4(X,z,{rowIndex:B,position:Z?"top":"bottom",component:this.virtualList.getComponentAt(B)},this.params),this.focusRowIfAlive(B-G).then(()=>{this.skipRefocus=!1})}createComponentFromItem(J,Z){let $=this.allowDragging;if(J.group){let Y=new hQ(J,$,this.eventType,Z,this.params);return this.createBean(Y),Y}let X=new QM(J,$,this.groupsExist,Z,this.params);return this.createBean(X),X}onColumnsChanged(){let J=this.params;if(!this.hasLoadedInitialState)this.hasLoadedInitialState=!0,this.isInitialState=!!J.initialState;let Z=this.getExpandedStates(),$=this.colModel.isPivotMode(),X=i(J),Y=X&&this.beans.columnStateUpdateStrategy.hasDeferredColumnOrder(X);if((!J.suppressSyncLayoutWithGrid||X)&&!$||Y)this.buildTreeFromWhatGridIsDisplaying();else this.buildTreeFromProvidedColumnDefs();this.setExpandedStates(Z),this.markFilteredColumns(),this.flattenAndFilterModel(),this.isInitialState=!1}getDisplayedColsList(){return this.displayedColsList}getExpandedStates(){let J={};if(this.isInitialState){let{expandedGroupIds:Z}=this.params.initialState;for(let $ of Z)J[$]=!0;return J}if(!this.allColsTree)return{};return this.forEachItem((Z)=>{if(!Z.group)return;let $=Z.columnGroup;if($)J[$.getId()]=Z.expanded}),J}setExpandedStates(J){if(!this.allColsTree)return;let{isInitialState:Z}=this;this.forEachItem(($)=>{if(!$.group)return;let X=$.columnGroup;if(X){let Y=J[X.getId()];if(Y!=null||Z)$.expanded=!!Y}})}buildTreeFromWhatGridIsDisplaying(){let J=i(this.params);if(J&&this.beans.columnStateUpdateStrategy.hasDeferredColumnOrder(J)){let Z=this.beans.columnStateUpdateStrategy.getPrimaryColumns(J);if(Z.length>0){cA(Z,this.setColumnLayout.bind(this));return}}if(this.params.suppressSyncLayoutWithGrid){this.buildTreeFromProvidedColumnDefs();return}mA(this.colModel,this.setColumnLayout.bind(this))}setColumnLayout(J){let Z=uA(this.colModel,J);this.buildListModel(Z),this.groupsExist=J.some(($)=>{return $&&typeof $.children<"u"}),this.markFilteredColumns(),this.flattenAndFilterModel()}buildTreeFromProvidedColumnDefs(){let J=this.colModel;this.buildListModel(J.getColDefColTree()),this.groupsExist=!!J.colDefCols?.treeDepth}buildListModel(J){let Z=this.onColumnExpanded.bind(this),$=(H)=>{H.addEventListener("expandedChanged",Z);let _=H.removeEventListener.bind(H,"expandedChanged",Z);this.destroyColumnItemFuncs.push(_)},X=this.beans.colNames,Y=(H,_,z)=>{for(let U of H)if(HJ(U))Q(U,_,z);else q(U,_,z)},Q=(H,_,z)=>{if(H.getColGroupDef()?.suppressColumnsToolPanel)return;if(H.isPadding()){Y(H.getChildren(),_,z);return}let G=X.getDisplayNameForProvidedColumnGroup(null,H,"columnToolPanel"),B=new y4(G,H,_,!0,this.expandGroupsByDefault);z.push(B),$(B),Y(H.getChildren(),_+1,B.children)},q=(H,_,z)=>{if(H.getColDef()?.suppressColumnsToolPanel)return;let W=X.getDisplayNameForColumn(H,"columnToolPanel");z.push(new y4(W,H,_))};this.destroyColumnTree(),Y(J,0,this.allColsTree)}onColumnExpanded(){this.flattenAndFilterModel()}flattenAndFilterModel(){this.displayedColsList=[];let J=(X)=>{if(!X.passesFilter)return;if(this.displayedColsList.push(X),X.group&&X.expanded)X.children.forEach(J)},Z=this.virtualList;this.allColsTree.forEach(J),Z.setModel(new qM(this.displayedColsList));let $=null;if(!this.skipRefocus)$=Z.getLastFocusedRow();if(Z.refresh(),$!=null)this.focusRowIfAlive($);this.notifyListeners(),this.refreshAriaLabel()}refreshAriaLabel(){let J=this.getLocaleTextFunc(),Z=J("ariaColumnPanelList","Column List"),$=J("columns","Columns"),X=this.displayedColsList.length;KJ(this.virtualList.getAriaElement(),`${Z} ${X} ${$}`)}focusRowIfAlive(J){if(J===-1)return Promise.resolve();return new Promise((Z)=>{window.setTimeout(()=>{if(this.isAlive())this.virtualList.focusRow(J);Z()},0)})}forEachItem(J){let Z=(X)=>{for(let Y of X)if(J(Y),Y.group)Z(Y.children)},$=this.allColsTree;if(!$)return;Z($)}doSetExpandedAll(J){this.forEachItem((Z)=>{if(Z.group)Z.expanded=J})}setGroupsExpanded(J,Z){if(!Z){this.doSetExpandedAll(J);return}let $=[];this.forEachItem((Y)=>{if(!Y.group)return;let Q=Y.columnGroup.getId();if(Z.indexOf(Q)>=0)Y.expanded=J,$.push(Q)});let X=Z.filter((Y)=>!$.includes(Y));if(X.length>0)O(157,{unrecognisedGroupIds:X})}getExpandState(){let J=0,Z=0;if(this.forEachItem(($)=>{if(!$.group)return;if($.expanded)J++;else Z++}),J>0&&Z>0)return 2;if(Z>0)return 1;return 0}doSetSelectedAll(J){vQ(this.beans,this.allColsTree,J,this.eventType,this.params),this.syncVisibleSelectionState(),this.fireSelectionChangedEvent()}syncVisibleSelectionState(){for(let J=0;J{if(Y.group)return;if(!Y.passesFilter)return;let Q=Y.column,q=Q.getColDef(),H;if(X){if(!Q.isAllowPivot()&&!Q.isAllowRowGroup()&&!Q.isAllowValue())return;H=$.isColumnSelectedInPivotModeToolPanel(i(this.params),Q)??!1}else{if(q.lockVisible)return;H=$.isColumnVisibleInToolPanel(i(this.params),Q)??!1}if(H)J++;else Z++}),J>0&&Z>0)return;return!(J===0||Z>0)}setFilterText(J){this.filterText=T(J)?J.toLowerCase():null,this.markFilteredColumns(),this.flattenAndFilterModel()}markFilteredColumns(){let J=($)=>{if(!T(this.filterText))return!0;let X=$.displayName;return X==null||X.toLowerCase().indexOf(this.filterText)!==-1},Z=($,X)=>{let Y=!1;if($.group){let q=J($);for(let H of $.children){let _=Z(H,q||X);if(_)Y=_}}let Q=X||Y?!0:J($);return $.passesFilter=Q,Q};for(let $ of this.allColsTree)Z($,!1)}notifyListeners(){this.fireGroupExpandedEvent(),this.fireSelectionChangedEvent()}fireGroupExpandedEvent(){let J=this.getExpandState();this.dispatchLocalEvent({type:"groupExpanded",state:J})}fireSelectionChangedEvent(){if(!this.allColsTree)return;let J=this.getSelectionState();this.dispatchLocalEvent({type:"selectionChanged",state:J})}getExpandedGroups(){let J=[];if(!this.allColsTree)return J;return this.forEachItem((Z)=>{if(Z.group&&Z.expanded)J.push(Z.columnGroup.getId())}),J}},zM={selector:"AG-PRIMARY-COLS-LIST",component:_M},UM={tag:"div",cls:"ag-column-select",children:[{tag:"ag-primary-cols-header",ref:"primaryColsHeaderPanel"},{tag:"ag-primary-cols-list",ref:"primaryColsListPanel"}]},uQ=class extends y{constructor(){super(UM,[hA,zM]);this.primaryColsHeaderPanel=S,this.primaryColsListPanel=S,this.registerCSS(yA)}init(J,Z,$){let{primaryColsHeaderPanel:X,primaryColsListPanel:Y}=this;X.init(Z);let{suppressColumnFilter:Q,suppressColumnSelectAll:q}=Z;if(Z.suppressColumnExpandAll&&Q&&q)X.setDisplayed(!1);this.addManagedListeners(Y,{groupExpanded:(_)=>{X.setExpandState(_.state),Z.onStateUpdated()},selectionChanged:(_)=>X.setSelectionState(_.state)}),Y.init(Z,J,$),this.addManagedListeners(X,{expandAll:Y.doSetExpandedAll.bind(Y,!0),collapseAll:Y.doSetExpandedAll.bind(Y,!1),selectAll:Y.doSetSelectedAll.bind(Y,!0),unselectAll:Y.doSetSelectedAll.bind(Y,!1),filterChanged:(_)=>Y.setFilterText(_.filterText)}),this.positionableFeature=this.createManagedBean(new W5(this.getGui(),{minHeight:100}))}toggleResizable(J){this.positionableFeature.setResizable(J?{bottom:!0}:!1)}expandGroups(J){this.primaryColsListPanel.setGroupsExpanded(!0,J)}collapseGroups(J){this.primaryColsListPanel.setGroupsExpanded(!1,J)}setColumnLayout(J){this.primaryColsListPanel.setColumnLayout(J)}syncLayoutWithGrid(){this.primaryColsListPanel.onColumnsChanged()}getExpandedGroups(){return this.primaryColsListPanel.getExpandedGroups()}},WM=".ag-column-panel{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.ag-pivot-mode-panel{display:flex;height:var(--ag-header-height)}.ag-pivot-mode-select{align-items:center;display:flex}:where(.ag-ltr) .ag-pivot-mode-select{margin-left:var(--ag-widget-container-horizontal-padding)}:where(.ag-rtl) .ag-pivot-mode-select{margin-right:var(--ag-widget-container-horizontal-padding)}.ag-column-panel-column-select:where(:not(.ag-last-visible-child)){border-bottom:var(--ag-tool-panel-separator-border)}.ag-column-panel-column-select:where(:nth-child(n+2 of :not(.ag-hidden))){border-top:var(--ag-tool-panel-separator-border)}:where(.ag-column-panel) .ag-column-drop-vertical{flex:1 1 0px;min-height:50px}:where(.ag-column-panel) .ag-column-drop-vertical:where(:not(.ag-last-column-drop)){border-bottom:var(--ag-tool-panel-separator-border)}.ag-column-panel-buttons{display:flex;flex-wrap:wrap;gap:var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing);justify-content:flex-end;overflow:hidden;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding) 0;:where(.ag-standard-button){transition:background-color .25s ease-in-out,color .25s ease-in-out}}.ag-column-panel-buttons:where(:last-child){padding-bottom:var(--ag-widget-container-vertical-padding)}.ag-column-panel-buttons-button{line-height:1.5}:where(.ag-column-panel) .ag-column-panel-buttons-apply-button:not(:disabled){background-color:var(--ag-column-panel-apply-button-background-color);color:var(--ag-column-panel-apply-button-color)}",GM="ag-column-panel-deferred",BM=class extends y{constructor(){super({tag:"div",cls:"ag-column-panel"});this.initialised=!1,this.childDestroyFuncs=[],this.isDeferModeEnabled=!1,this.isCommitting=!1,this.onDeferredApply=()=>{this.isCommitting=!0;try{this.beans.columnStateUpdateStrategy.commit(this.isDeferModeEnabled)}finally{this.isCommitting=!1}this.deferredButtonsComp?.updateValidity(!1),this.lastKnownGridState=this.captureGridState()},this.onDeferredCancel=()=>{this.beans.columnStateUpdateStrategy.reset(this.isDeferModeEnabled),this.deferredButtonsComp?.updateValidity(!1),this.refreshToolPanelLayouts(),this.pivotModePanel?.refreshEditStrategy(),this.lastKnownGridState=this.captureGridState()},this.onPivotModePanelValueChanged=()=>{this.refreshToolPanelLayouts(),this.setLastVisible(),this.deferredButtonsComp?.updateValidity(this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled))},this.onColumnEverythingChanged=()=>{if(!this.isDeferModeEnabled||this.isCommitting)return;let J=this.captureGridState();if(!this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled)){this.lastKnownGridState=J;return}let Z=this.lastKnownGridState&&this.isGridStateEqual(this.lastKnownGridState,J);if(this.lastKnownGridState=J,!Z)return;this.resetDeferredState()},this.onExternalGridChange=()=>{if(!this.isDeferModeEnabled||this.isCommitting)return;if(!this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled))return;this.resetDeferredState(),this.lastKnownGridState=this.captureGridState()},this.registerCSS(WM)}wireBeans(J){this.colToolPanelFactory=J.colToolPanelFactory}setVisible(J){if(super.setDisplayed(J),J&&!this.initialised)this.init(this.params)}init(J){let $={...x(this.gos,{suppressColumnMove:!1,suppressColumnSelectAll:!1,suppressColumnFilter:!1,suppressColumnExpandAll:!1,contractColumnSelection:!1,suppressPivotMode:!1,suppressRowGroups:!1,suppressValues:!1,suppressPivots:!1,suppressSyncLayoutWithGrid:!1}),...J};this.params=$;let{childDestroyFuncs:X,colToolPanelFactory:Y,gos:Q}=this,q=Q.isModuleRegistered("SharedPivot"),H=q||Q.isModuleRegistered("SharedRowGrouping");if(this.isDeferModeEnabled=i($),this.toggleCss(GM,this.isDeferModeEnabled),!$.suppressPivotMode&&Y&&q)this.pivotModePanel=Y.createPivotModePanel(this,X,$,this.onPivotModePanelValueChanged);let _=this.createBean(new uQ);if(this.primaryColsPanel=_,X.push(()=>this.destroyBean(this.primaryColsPanel)),_.init(!0,$,"toolPanelUi"),_.addCss("ag-column-panel-column-select"),this.appendChild(_),Y){if(!$.suppressRowGroups&&H)this.rowGroupDropZonePanel=Y.createRowGroupPanel(this,X,$);if(!$.suppressValues&&H)this.valuesDropZonePanel=Y.createValuesPanel(this,X,$);if(!$.suppressPivots&&q)this.pivotDropZonePanel=Y.createPivotPanel(this,X,$);this.setLastVisible();let[z]=this.addManagedEventListeners({columnPivotModeChanged:()=>{this.resetChildrenHeight(),this.setLastVisible()}});X.push(()=>z())}if(this.isDeferModeEnabled){let z=this.onExternalGridChange;X.push(...this.addManagedEventListeners({columnEverythingChanged:this.onColumnEverythingChanged,sortChanged:z,columnVisible:z,columnRowGroupChanged:z,columnValueChanged:z,columnPivotChanged:z,columnPivotModeChanged:z,newColumnsLoaded:z,...$.suppressSyncLayoutWithGrid?{}:{columnMoved:z}}))}if($.buttons){if(!$.buttons.includes("apply"))O(298);if($.buttons.length)this.initDeferredButtons($.buttons)}this.initialised=!0}initDeferredButtons(J){let Z=this.createBean(new I9({className:"ag-column-panel-buttons"}));this.deferredButtonsComp=Z,this.childDestroyFuncs.push(()=>{this.deferredButtonsComp=this.destroyBean(this.deferredButtonsComp)});let $=this.getLocaleTextFunc(),X=J.map((Y)=>({type:Y,label:$(Y==="apply"?"applyColumnToolPanel":"cancelColumnToolPanel",Y==="apply"?"Apply":"Cancel")}));Z.updateButtons(X),Z.updateValidity(!1),Z.addManagedListeners(Z,{apply:this.onDeferredApply,cancel:this.onDeferredCancel}),this.appendChild(Z)}resetDeferredState(){this.beans.columnStateUpdateStrategy.reset(this.isDeferModeEnabled),this.deferredButtonsComp?.updateValidity(!1),this.refreshToolPanelLayouts(),this.pivotModePanel?.refreshEditStrategy()}captureGridState(){let{beans:J}=this,Z=($)=>($??[]).map((X)=>X.getColId());return{rowGroupColIds:Z(J.rowGroupColsSvc?.columns),valueColIds:Z(J.valueColsSvc?.columns),pivotColIds:Z(J.pivotColsSvc?.columns),pivotMode:J.colModel.isPivotMode(),columnOrder:J.colModel.getCols().map(($)=>$.getColId()),visibleColIds:J.colModel.getCols().filter(($)=>$.isVisible()).map(($)=>$.getColId()),sortState:J.colModel.getCols().filter(($)=>$.getSort()).map(($)=>`${$.getColId()}:${$.getSort()}:${$.getSortIndex()}`),aggFuncState:(J.valueColsSvc?.columns??[]).map(($)=>$.getAggFunc()),widthState:J.colModel.getCols().map(($)=>`${$.getColId()}:${$.getActualWidth()}`)}}isGridStateEqual(J,Z){return QJ(J.rowGroupColIds,Z.rowGroupColIds)&&QJ(J.valueColIds,Z.valueColIds)&&QJ(J.pivotColIds,Z.pivotColIds)&&J.pivotMode===Z.pivotMode&&QJ(J.columnOrder,Z.columnOrder)&&QJ(J.visibleColIds,Z.visibleColIds)&&QJ(J.sortState,Z.sortState)&&QJ(J.aggFuncState,Z.aggFuncState)&&QJ(J.widthState,Z.widthState)}refreshDeferredUi(){this.refreshToolPanelLayouts(),this.setLastVisible(),this.pivotModePanel?.refreshEditStrategy(),this.deferredButtonsComp?.updateValidity(this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled))}refreshToolPanelLayouts(){this.primaryColsPanel.syncLayoutWithGrid(),this.rowGroupDropZonePanel?.refreshGui(),this.valuesDropZonePanel?.refreshGui(),this.pivotDropZonePanel?.refresh()}setPivotModeSectionVisible(J){let Z=this.colToolPanelFactory;if(!Z)return;this.pivotModePanel=Z.setPanelVisible(this.pivotModePanel,J,Z.createPivotModePanel.bind(Z,this,this.childDestroyFuncs,this.params,this.onPivotModePanelValueChanged,!0)),this.setLastVisible()}setRowGroupsSectionVisible(J){let Z=this.colToolPanelFactory;if(!Z)return;this.rowGroupDropZonePanel=Z.setPanelVisible(this.rowGroupDropZonePanel,J,Z.createRowGroupPanel.bind(Z,this,this.childDestroyFuncs,this.params)),this.setLastVisible()}setValuesSectionVisible(J){let Z=this.colToolPanelFactory;if(!Z)return;this.valuesDropZonePanel=Z.setPanelVisible(this.valuesDropZonePanel,J,Z.createValuesPanel.bind(Z,this,this.childDestroyFuncs,this.params)),this.setLastVisible()}setPivotSectionVisible(J){let Z=this.colToolPanelFactory;if(!Z)return;this.pivotDropZonePanel=Z.setPanelVisible(this.pivotDropZonePanel,J,Z.createPivotPanel.bind(Z,this,this.childDestroyFuncs,this.params)),this.pivotDropZonePanel?.setDisplayed(J),this.setLastVisible()}setResizers(){for(let J of[this.primaryColsPanel,this.rowGroupDropZonePanel,this.valuesDropZonePanel,this.pivotDropZonePanel]){if(!J)continue;let Z=J.getGui();J.toggleResizable(!Z.classList.contains("ag-last-column-drop")&&!Z.classList.contains("ag-hidden")&&!Z.classList.contains("ag-last-visible-child"))}}setLastVisible(){let J=this.getGui(),Z=Array.prototype.slice.call(J.querySelectorAll(".ag-column-drop"));for(let Y of Z)Y.classList.remove("ag-last-column-drop");let $=J.querySelectorAll(".ag-column-drop:not(.ag-hidden)"),X=C($);if(X)X.classList.add("ag-last-column-drop");this.primaryColsPanel.getGui().classList.toggle("ag-last-visible-child",!X),this.setResizers()}resetChildrenHeight(){let Z=this.getGui().children;for(let $=0;$Q.getGui().getBoundingClientRect()),Y=X.findIndex((Q)=>this.horizontal?Q.right>$&&Q.left<$:Q.top<$&&Q.bottom>$);if(Y===-1){let Q=this.gos.get("enableRtl");if(X.every((_)=>$>(this.horizontal?_.right:_.bottom)))return Q&&this.horizontal?0:this.childPillComponents.length;if(X.every((_)=>$<(this.horizontal?_.left:_.top)))return Q&&this.horizontal?this.childPillComponents.length:0;return this.insertIndex}if(this.insertIndex<=Y)return Y+1;return Y}checkDragStartedBySelf(J){if(this.state!=="notDragging")return;this.state="rearrangeItems",this.potentialDndItems=this.getItems(J.dragSource.getDragItem()),this.refreshGui(),this.checkInsertIndex(J),this.refreshGui()}onDragging(J){if(this.checkDragStartedBySelf(J),this.checkInsertIndex(J))this.refreshGui()}handleDragEnterEnd(J){}onDragEnter(J){let Z=this.getItems(J.dragSource.getDragItem());this.state="newItemsIn";let $=Z.filter((Y)=>this.isItemDroppable(Y,J)),X=$.every((Y)=>this.childPillComponents.map((Q)=>Q.getItem()).indexOf(Y)!==-1);if($.length===0)return;if(this.potentialDndItems=$,X){this.state="notDragging";return}this.handleDragEnterEnd(J),this.checkInsertIndex(J),this.refreshGui()}isPotentialDndItems(){return!!this.potentialDndItems?.length}handleDragLeaveEnd(J){}onDragLeave(J){if(this.state==="rearrangeItems"){let Z=this.getItems(J.dragSource.getDragItem());this.removeItems(Z)}if(this.isPotentialDndItems())this.handleDragLeaveEnd(J),this.potentialDndItems=[],this.refreshGui();this.state="notDragging"}onDragCancel(J){if(this.isPotentialDndItems()){if(this.state==="newItemsIn")this.handleDragLeaveEnd(J);this.potentialDndItems=[],this.refreshGui()}this.state="notDragging"}onDragStop(){if(this.isPotentialDndItems()){if(this.state==="newItemsIn")this.addItems(this.potentialDndItems);else this.rearrangeItems(this.potentialDndItems);this.potentialDndItems=[],this.refreshGui()}this.state="notDragging"}removeItems(J){let Z=this.getExistingItems().filter(($)=>!J.includes($));this.updateItems(Z),this.refreshGui()}addItems(J){if(!J)return;let Z=this.getExistingItems().slice(),$=J.filter((X)=>Z.indexOf(X)<0);u4(Z,$,this.insertIndex),this.updateItems(Z),this.refreshGui()}addItem(J){this.insertIndex=this.getExistingItems().length,this.addItems([J])}rearrangeItems(J,Z){let $;if(!Z)$=this.getNonGhostItems().slice();else $=this.getExistingItems().filter((X)=>J.indexOf(X)===-1);if(u4($,J,this.insertIndex),QJ($,this.getExistingItems()))return!1;return this.updateItems($),this.refreshGui(),!0}refreshGui(){let J=0;if(!this.horizontal)J=this.ePillDropList.scrollTop;let Z=this.resizeEnabled,$=this.getFocusedItem(),{eGridDiv:X}=this.beans,Y=j2(),Q=null;if(Y)Q=OJ(this.beans,X)??OJ(this.beans,X,!1,!0);if(this.toggleResizable(!1),this.destroyGui(),this.addIconAndTitleToGui(),this.addEmptyMessageToGui(),this.addItemsToGui(),J!==0)this.ePillDropList.scrollTop=J;if(Z)this.toggleResizable(Z);if(Y)this.restoreFocus($,Q)}getFocusedItem(){let J=this.getGui(),Z=n(this.beans);if(!J.contains(Z))return-1;return Array.from(J.querySelectorAll(".ag-column-drop-cell")).indexOf(Z)}focusItemAtIndex(J){let Z=this.getGui(),X=Array.from(Z.querySelectorAll(".ag-column-drop-cell"))[J];if(!X)return;X.focus({preventScroll:!0})}restoreFocus(J,Z){let $=this.getGui(),X=Array.from($.querySelectorAll(".ag-column-drop-cell"));if(J===-1)return;if(X.length===0)Z.focus();let Y=Math.min(X.length-1,J),Q=X[Y];if(Q)Q.focus()}focusList(J){let Z=J?this.childPillComponents.length-1:0;this.restoreFocus(Z,this.getFocusableElement())}getNonGhostItems(){let J=this.getExistingItems();if(this.isPotentialDndItems())return J.filter((Z)=>!this.potentialDndItems.includes(Z));return J}addItemsToGui(){let Z=this.getNonGhostItems().map(($)=>this.createItemComponent($,!1));if(this.isPotentialDndItems()){let $=this.potentialDndItems.map((X)=>this.createItemComponent(X,!0));if(this.insertIndex>=Z.length)Z.push(...$);else Z.splice(this.insertIndex,0,...$)}this.appendChild(this.ePillDropList),Z.forEach(($,X)=>{if(X>0)this.addArrow(this.ePillDropList);this.ePillDropList.appendChild($.getGui())}),this.addAriaLabelsToComponents()}addAriaLabelsToComponents(){let{childPillComponents:J,ePillDropList:Z}=this,$=J.length;zJ(Z,$===0?"presentation":"listbox");for(let X=0;X<$;X++){let Q=J[X].getGui();j6(Q,X+1),V6(Q,$)}}createItemComponent(J,Z){let $=this.createPillComponent(J,this.dropTarget,Z,this.horizontal);if($.addEventListener("columnRemove",this.removeItems.bind(this,[J])),this.createBean($),this.guiDestroyFunctions.push(()=>this.destroyBean($)),!Z)this.childPillComponents.push($);return $}addIconAndTitleToGui(){let{title:J,icon:Z}=this.params;if(!J||!Z)return;let $=XJ({tag:"div"});if(k6($,!0),this.addElementClasses($,"title-bar"),this.addElementClasses(Z,"icon"),this.toggleCss("ag-column-drop-empty",this.isExistingItemsEmpty()),$.appendChild(Z),!this.horizontal){let X=XJ({tag:"span"});this.addElementClasses(X,"title"),X.textContent=J,$.appendChild(X)}this.appendChild($)}isExistingItemsEmpty(){return this.getExistingItems().length===0}addEmptyMessageToGui(){let{emptyMessage:J}=this.params;if(!J||!this.isExistingItemsEmpty()||this.isPotentialDndItems())return;let Z=XJ({tag:"span"});Z.textContent=J,this.addElementClasses(Z,"empty-message"),this.ePillDropList.appendChild(Z)}addArrow(J){if(this.horizontal){let Z=this.gos.get("enableRtl"),$=h(Z?"panelDelimiterRtl":"panelDelimiter",this.beans);this.addElementClasses($,"cell-separator"),J.appendChild($)}}},FM={tag:"span",role:"option",children:[{tag:"span",ref:"eDragHandle",cls:"ag-drag-handle ag-column-drop-cell-drag-handle",role:"presentation"},{tag:"span",ref:"eText",cls:"ag-column-drop-cell-text",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eButton",cls:"ag-column-drop-cell-button",role:"presentation"}]},DM=class extends y{constructor(J,Z,$,X,Y){super();this.dragSourceDropTarget=J,this.ghost=Z,this.horizontal=$,this.template=X,this.agComponents=Y,this.eText=S,this.eDragHandle=S,this.eButton=S}postConstruct(){this.setTemplate(this.template??FM,this.agComponents);let J=this.getGui(),{beans:Z,eDragHandle:$,eText:X,eButton:Y}=this;if(this.addElementClasses(J),this.addElementClasses($,"drag-handle"),this.addElementClasses(X,"text"),this.addElementClasses(Y,"button"),$.appendChild(h("columnDrag",Z)),Y.appendChild(h("cancel",Z)),this.tooltipFeature=this.createOptionalManagedBean(Z.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.getGui()})),this.setupComponents(),!this.ghost&&this.isDraggable())this.addDragSource();this.setupAria(),this.setupTooltip(),this.activateTabIndex(),this.refreshDraggable()}isDraggable(){return!0}refreshDraggable(){this.eDragHandle.classList.toggle("ag-column-select-column-readonly",!this.isDraggable())}setupAria(){let J=this.getLocaleTextFunc(),Z=[this.getAriaDisplayName()];this.addAdditionalAriaInstructions(Z,J),KJ(this.getGui(),Z.join(". "))}addAdditionalAriaInstructions(J,Z){if(this.isRemovable()){let $=Z("ariaDropZoneColumnComponentDescription","Press DELETE to remove");J.push($)}}setupTooltip(){let J=()=>this.tooltipFeature?.setTooltipAndRefresh(this.getTooltip());J(),this.addManagedEventListeners({newColumnsLoaded:J})}getDragSourceId(){return}getDefaultIconName(){return"notAllowed"}addDragSource(){let{beans:{dragAndDrop:J},eDragHandle:Z}=this,$=this.createGetDragItem(),X=this.getDefaultIconName(),Y={type:this.getDragSourceType(),sourceId:this.getDragSourceId(),eElement:Z,getDefaultIconName:()=>X,getDragItem:$,dragItemName:this.getDisplayName()};J?.addDragSource(Y,!0),this.addDestroyFunc(()=>J?.removeDragSource(Y))}setupComponents(){if(this.eText.textContent=this.getDisplayValue(),this.setupRemove(),this.ghost)this.addCss("ag-column-drop-cell-ghost")}isRemovable(){return!0}refreshRemove(){w(this.eButton,this.isRemovable())}setupRemove(){this.refreshRemove();let J={type:"columnRemove"};this.addGuiEventListener("keydown",($)=>this.onKeyDown($)),this.addManagedElementListeners(this.eButton,{click:($)=>{this.dispatchLocalEvent(J),$.stopPropagation()}});let Z=new hJ(this.eButton);this.addManagedListeners(Z,{tap:()=>this.dispatchLocalEvent(J)}),this.addDestroyFunc(Z.destroy.bind(Z))}onKeyDown(J){if(J.key===V.DELETE){if(this.isRemovable())J.preventDefault(),this.dispatchLocalEvent({type:"columnRemove"})}}getDisplayValue(){return this.getDisplayName()}addElementClasses(J,Z){Z=Z?`-${Z}`:"";let $=this.horizontal?"horizontal":"vertical";J.classList.add(`ag-column-drop-cell${Z}`,`ag-column-drop-${$}-cell${Z}`)}destroy(){super.destroy(),this.dragSourceDropTarget=null}},kM=class extends DM{constructor(J,Z,$,X,Y,Q){super(Z,$,Y);this.column=J,this.dropZonePurpose=X,this.updateParams=Q,this.eSortIndicator=S,this.popupShowing=!1,this.deferApply=i(Q)}postConstruct(){let{sortSvc:J,colNames:Z}=this.beans;if(this.template={tag:"span",role:"option",children:[{tag:"span",ref:"eDragHandle",cls:"ag-drag-handle ag-column-drop-cell-drag-handle",role:"presentation"},{tag:"span",ref:"eText",cls:"ag-column-drop-cell-text",attrs:{"aria-hidden":"true"}},J?{tag:"ag-sort-indicator",ref:"eSortIndicator"}:void 0,{tag:"span",ref:"eButton",cls:"ag-column-drop-cell-button",role:"presentation"}]},J)this.agComponents=[J.getSortIndicatorSelector()];if(this.displayName=Z.getDisplayNameForColumn(this.column,"columnDrop"),super.postConstruct(),this.deferApply)this.eDragHandle.setAttribute("data-column-tool-panel-deferred","");if(J)this.setupSort(),this.addManagedEventListeners({sortChanged:()=>{this.setupAria()}});if(this.isGroupingZone())this.addManagedPropertyListener("groupLockGroupColumns",()=>{this.refreshRemove(),this.refreshDraggable(),this.setupAria()})}getItem(){return this.column}getDisplayName(){return this.displayName}getTooltip(){return this.column.getColDef().headerTooltip}addAdditionalAriaInstructions(J,Z){let $=this.gos.get("rowGroupPanelSuppressSort"),X=this.gos.get("functionsReadOnly");if(this.isAggregationZone()&&!X){let Y=Z("ariaDropZoneColumnValueItemDescription","Press ENTER to change the aggregation type");J.push(Y)}if(this.isGroupingZone()&&this.column.isSortable()&&!$){let Y=Z("ariaDropZoneColumnGroupItemDescription","Press ENTER to sort");J.push(Y)}super.addAdditionalAriaInstructions(J,Z)}isMovable(){return this.isDraggable()}isDraggable(){return this.isReadOnly()}isRemovable(){return this.isReadOnly()}isReadOnly(){return!this.isGroupingAndLocked()&&!this.gos.get("functionsReadOnly")}getAriaDisplayName(){let J=this.getLocaleTextFunc(),{name:Z,aggFuncName:$}=this.getColumnAndAggFuncName(),X=J("ariaDropZoneColumnComponentAggFuncSeparator"," of "),Y={asc:J("ariaDropZoneColumnComponentSortAscending","ascending"),desc:J("ariaDropZoneColumnComponentSortDescending","descending")},Q=this.getCurrentSortDirection(this.column),q=this.gos.get("rowGroupPanelSuppressSort");return[$&&`${$}${X}`,Z,this.isGroupingZone()&&!q&&Q&&`, ${Y[Q]}`].filter((H)=>!!H).join("")}getColumnAndAggFuncName(){let J=this.displayName,Z="";if(this.isAggregationZone()){let $=this.beans.columnStateUpdateStrategy.getColumnAggFunc(this.deferApply,this.column),X=typeof $==="string"?$:"agg";Z=this.getLocaleTextFunc()(X,X)}return{name:J,aggFuncName:Z}}setupSort(){if(!this.column.isSortable()||!this.isGroupingZone())return;let{gos:J,column:Z,eSortIndicator:$}=this;if(!J.get("rowGroupPanelSuppressSort")){$.setupSort(Z,!0,this.getSortDefOverride.bind(this));let X=(Y)=>{Y.preventDefault(),this.beans.columnStateUpdateStrategy.progressSortFromEvent(this.deferApply,Z,Y),$.refresh(),this.setupAria(),wJ(this.beans,this.updateParams)};this.addGuiEventListener("click",X),this.addGuiEventListener("keydown",(Y)=>{if(Y.key===V.ENTER&&this.isGroupingZone())X(Y)})}}getCurrentSortDirection(J){return this.beans.columnStateUpdateStrategy.getSortDef(this.deferApply,J)?.direction??null}getSortDefOverride(){if(!this.deferApply)return;return this.beans.columnStateUpdateStrategy.getSortDef(this.deferApply,this.column)}getDefaultIconName(){return"hide"}createGetDragItem(){let{column:J}=this;return()=>{let Z={};return Z[J.getId()]=J.isVisible(),{columns:[J],visibleState:Z}}}setupComponents(){if(super.setupComponents(),this.isAggregationZone()&&!this.gos.get("functionsReadOnly"))this.addGuiEventListener("click",this.onShowAggFuncSelection.bind(this))}onKeyDown(J){if(super.onKeyDown(J),J.key===V.ENTER&&this.isAggregationZone()&&!this.gos.get("functionsReadOnly"))J.preventDefault(),this.onShowAggFuncSelection()}getDisplayValue(){let{name:J,aggFuncName:Z}=this.getColumnAndAggFuncName();return this.isAggregationZone()?`${Z}(${J})`:J}onShowAggFuncSelection(){if(this.popupShowing)return;this.popupShowing=!0;let{aggFuncSvc:J,popupSvc:Z}=this.beans,$=new MQ({cssIdentifier:"select-agg-func"}),X=J.getFuncNames(this.column),Y=this.getGui(),Q=$.getGui();$.setModel({getRow:function(B){return X[B]},getRowCount:function(){return X.length}}),this.createBean($);let q=XJ({tag:"div",cls:"ag-select-agg-func-popup"});q.style.top="0px",q.style.left="0px",q.appendChild(Q),q.style.width=`${Y.clientWidth}px`;let[H]=this.addManagedElementListeners(q,{focusout:(B)=>{if(!q.contains(B.relatedTarget)&&U)U.hideFunc()}}),_=(B)=>{if(this.destroyBean($),this.popupShowing=!1,B?.key==="Escape")Y.focus();if(H)H()},z=this.getLocaleTextFunc(),U=Z.addPopup({modal:!0,eChild:q,closeOnEsc:!0,closedCallback:_,ariaLabel:z("ariaLabelAggregationFunction","Aggregation Function")});if(U)$.setComponentCreator(this.createAggSelect.bind(this,U.hideFunc));$.addGuiEventListener("keydown",(B)=>{if(B.key===V.ENTER||B.key===V.SPACE){let K=$.getLastFocusedRow();if(K==null)return;let E=$.getComponentAt(K);if(E)E.selectItem()}}),Z.positionPopupByComponent({type:"aggFuncSelect",eventSource:Y,ePopup:q,keepWithinBounds:!0,additionalParams:{column:this.column},position:"under"}),$.refresh();let W=this.beans.columnStateUpdateStrategy.getColumnAggFunc(this.deferApply,this.column),G=X.findIndex((B)=>B===W);if(G===-1)G=0;$.focusRow(G)}createAggSelect(J,Z){let $=()=>{if(J(),this.getGui().focus(),this.beans.columnStateUpdateStrategy.setColumnAggFunc(this.deferApply,this.column,Z,"toolPanelDragAndDrop"),this.column){let H=this.getGui().querySelector(".ag-column-drop-cell-text");if(H)H.textContent=this.getDisplayValue();this.setupAria()}wJ(this.beans,this.updateParams)},X=this.getLocaleTextFunc(),Y=(Z||"").toString(),Q=X(Y,Y);return new VM($,Q)}isGroupingAndLocked(){return this.isGroupingZone()&&P5(this.column,this.beans)}isAggregationZone(){return this.dropZonePurpose==="aggregation"}isGroupingZone(){return this.dropZonePurpose==="rowGroup"}getDragSourceType(){return _Z.ToolPanel}destroy(){super.destroy(),this.column=null}},VM=class extends y{constructor(J,Z){super({tag:"div",cls:"ag-select-agg-func-item",children:Z});this.selectItem=J,this.addGuiEventListener("click",this.selectItem)}},X$=class extends LM{constructor(J,Z,$){super(J);this.dropZonePurpose=Z,this.updateParams=$,this.addElementClasses(this.getGui(),this.dropZonePurpose.toLowerCase())}init(J){super.init(J),this.addManagedEventListeners({newColumnsLoaded:this.refreshGui.bind(this)}),this.addManagedPropertyListeners(["functionsReadOnly","rowGroupPanelSuppressSort","groupLockGroupColumns"],this.refreshGui.bind(this))}getItems(J){return J.columns??[]}isInterestedIn(J,Z){if(J===_Z.HeaderCell)return!0;if(J!==_Z.ToolPanel)return!1;if(!this.horizontal)return!0;return!Z.hasAttribute("data-column-tool-panel-deferred")}minimumAllowedNewInsertIndex(){let{gos:J,rowGroupColsSvc:Z}=this.beans,$=J.get("groupLockGroupColumns"),X=Z?.columns.length??0;if($===-1)return X;return Math.min($,X)}showOrHideColumnOnExit(J){return this.isRowGroupPanel()&&P6(this.gos,!0)&&!J.fromNudge}handleDragEnterEnd(J){if(this.showOrHideColumnOnExit(J)){let X=J.dragSource.getDragItem().columns;this.setColumnsVisible(X,!1,"uiColumnDragged")}}handleDragLeaveEnd(J){if(this.showOrHideColumnOnExit(J)){let $=J.dragSource.getDragItem();this.setColumnsVisible($.columns,!0,"uiColumnDragged")}}setColumnsVisible(J,Z,$){if(!J)return;if(i(this.updateParams))return;let X=J.filter((Y)=>!Y.getColDef().lockVisible);this.beans.columnStateUpdateStrategy.setColumnsVisible(!1,X,Z,$)}isRowGroupPanel(){return this.dropZonePurpose==="rowGroup"}createPillComponent(J,Z,$,X){return new kM(J,Z,$,this.dropZonePurpose,X,this.updateParams)}},jM=class extends X${constructor(J,Z){super(J,"pivot",Z)}postConstruct(){let J=this.getLocaleTextFunc(),Z=J("pivotColumnsEmptyMessage","Drag here to set column labels"),$=J("pivots","Column Labels");if(super.init({icon:h("pivotPanel",this.beans,null),emptyMessage:Z,title:$}),this.horizontal)B0(this.beans,this,this.getGui());this.addManagedEventListeners({newColumnsLoaded:this.refresh.bind(this),columnPivotChanged:this.refresh.bind(this),columnPivotModeChanged:this.checkVisibility.bind(this)}),this.refresh()}getAriaLabel(){return this.getLocaleTextFunc()("ariaPivotDropZonePanelLabel","Column Labels")}refresh(){this.checkVisibility(),this.refreshGui()}checkVisibility(){let J=this.beans.colModel,Z=J.isPivotMode();if(this.horizontal)switch(this.gos.get("pivotPanelShow")){case"always":this.setDisplayed(Z);break;case"onlyWhenPivoting":{let $=J.isPivotActive();this.setDisplayed(Z&&$);break}default:this.setDisplayed(!1);break}else this.setDisplayed(this.beans.columnStateUpdateStrategy.getPivotMode(i(this.updateParams)))}isItemDroppable(J,Z){if(this.gos.get("functionsReadOnly")||!J.isPrimary())return!1;let $=this.beans.columnStateUpdateStrategy.getPivotColumns(i(this.updateParams)).includes(J);return J.isAllowPivot()&&(!$||this.isSourceEventFromTarget(Z))}updateItems(J){this.beans.columnStateUpdateStrategy.setPivotColumns(i(this.updateParams),J,"toolPanelUi"),wJ(this.beans,this.updateParams)}getIconName(){return this.isPotentialDndItems()?"pivot":"notAllowed"}getExistingItems(){return this.beans.columnStateUpdateStrategy.getPivotColumns(i(this.updateParams))}getFocusableContainerName(){return"pivotToolbar"}},AM=class extends X${constructor(J,Z){super(J,"rowGroup",Z)}postConstruct(){let J=this.getLocaleTextFunc(),Z=J("rowGroupColumnsEmptyMessage","Drag here to set row groups"),$=J("groups","Row Groups");if(super.init({icon:h("rowGroupPanel",this.beans,null),emptyMessage:Z,title:$}),this.horizontal)B0(this.beans,this,this.getGui());this.addManagedEventListeners({columnRowGroupChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.getLocaleTextFunc()("ariaRowGroupDropZonePanelLabel","Row Groups")}isItemDroppable(J,Z){if(this.gos.get("functionsReadOnly")||!J.isPrimary()||J.colDef.showRowGroup)return!1;let $=this.beans.columnStateUpdateStrategy.getRowGroupColumns(i(this.updateParams)).includes(J);return J.isAllowRowGroup()&&(!$||this.isSourceEventFromTarget(Z))}updateItems(J){this.beans.columnStateUpdateStrategy.setRowGroupColumns(i(this.updateParams),J,"toolPanelUi"),wJ(this.beans,this.updateParams)}getIconName(){return this.isPotentialDndItems()?"group":"notAllowed"}getExistingItems(){return this.beans.columnStateUpdateStrategy.getRowGroupColumns(i(this.updateParams))}getFocusableContainerName(){return"rowGroupToolbar"}},MM=class extends X${constructor(J,Z){super(J,"aggregation",Z)}postConstruct(){let J=this.getLocaleTextFunc(),Z=J("valueColumnsEmptyMessage","Drag here to aggregate"),$=J("values","Values");super.init({icon:h("valuePanel",this.beans,null),emptyMessage:Z,title:$}),this.addManagedEventListeners({columnValueChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.getLocaleTextFunc()("ariaValuesDropZonePanelLabel","Values")}getIconName(){return this.isPotentialDndItems()?"aggregate":"notAllowed"}isItemDroppable(J,Z){if(this.gos.get("functionsReadOnly")||!J.isPrimary())return!1;let $=this.beans.columnStateUpdateStrategy.getValueColumns(i(this.updateParams)).includes(J);return J.isAllowValue()&&(!$||this.isSourceEventFromTarget(Z))}updateItems(J){this.beans.columnStateUpdateStrategy.setValueColumns(i(this.updateParams),J,"toolPanelUi"),wJ(this.beans,this.updateParams)}getExistingItems(){return this.beans.columnStateUpdateStrategy.getValueColumns(i(this.updateParams))}},RM={tag:"div",cls:"ag-pivot-mode-panel",children:[{tag:"ag-toggle-button",ref:"cbPivotMode",cls:"ag-pivot-mode-select"}]},OM=class extends y{constructor(J,Z){super();this.params=J,this.onPivotModeValueChanged=Z,this.cbPivotMode=S}getCurrentPivotMode(){return this.beans.columnStateUpdateStrategy.getPivotMode(i(this.params))}syncFromGrid(){this.cbPivotMode.setValue(this.getCurrentPivotMode())}refreshEditStrategy(){this.syncFromGrid()}postConstruct(){this.setTemplate(RM,[M4]);let J=this.cbPivotMode;J.setValue(this.getCurrentPivotMode());let Z=this.getLocaleTextFunc();J.setLabel(Z("pivotMode","Pivot Mode"));let $=()=>{let Y=!!J.getValue();this.beans.columnStateUpdateStrategy.setPivotMode(i(this.params),Y,"toolPanelUi"),this.onPivotModeValueChanged?.()},X=()=>{J.setValue(this.getCurrentPivotMode())};this.addManagedListeners(J,{fieldValueChanged:$}),this.addManagedEventListeners({newColumnsLoaded:X,columnPivotModeChanged:X})}},SM=class extends M{constructor(){super(...arguments);this.beanName="colToolPanelFactory"}setPanelVisible(J,Z,$){if(J)J.setDisplayed(Z);else if(Z)J=$();return J}createRowGroupPanel(J,Z,$){return this.createPanel(J,Z,new AM(!1,$))}createValuesPanel(J,Z,$){return this.createPanel(J,Z,new MM(!1,$))}createPivotPanel(J,Z,$){return this.createPanel(J,Z,new jM(!1,$))}createPivotModePanel(J,Z,$,X,Y){return this.createPanel(J,Z,new OM($,X),Y)}createPanel(J,Z,$,X){if($=J.createBean($),Z.push(()=>J.destroyBean($)),X)J.prependChild($);else J.appendChild($);return $}},m4=()=>{},fM=class extends M{constructor(){super(...arguments);this.beanName="columnStateUpdateExecutionStrategy"}applyColumnState(J,Z,$){this.getUpdateStrategy(J).applyColumnState(Z,$)}commit(J){this.getUpdateStrategy(J).commit()}hasPendingChanges(J){return this.getUpdateStrategy(J).hasPendingChanges()}moveColumns(J,Z,$,X){this.getUpdateStrategy(J).moveColumns(Z,$,X)}reset(J){this.getUpdateStrategy(J).reset()}setColumnsVisible(J,Z,$,X){this.getUpdateStrategy(J).setColumnsVisible(Z,$,X)}isColumnVisibleInToolPanel(J,Z){return this.getUpdateStrategy(J).isColumnVisibleInToolPanel(Z)}setRowGroupColumns(J,Z,$){this.getUpdateStrategy(J).setRowGroupColumns(Z,$)}getRowGroupColumns(J){return this.getUpdateStrategy(J).getRowGroupColumns()}getPrimaryColumns(J){return this.getUpdateStrategy(J).getPrimaryColumns()}hasDeferredColumnOrder(J){return this.getUpdateStrategy(J).hasDeferredColumnOrder()}setValueColumns(J,Z,$){this.getUpdateStrategy(J).setValueColumns(Z,$)}getValueColumns(J){return this.getUpdateStrategy(J).getValueColumns()}setColumnAggFunc(J,Z,$,X){this.getUpdateStrategy(J).setColumnAggFunc(Z,$,X)}getColumnAggFunc(J,Z){return this.getUpdateStrategy(J).getColumnAggFunc(Z)}setPivotColumns(J,Z,$){this.getUpdateStrategy(J).setPivotColumns(Z,$)}getPivotColumns(J){return this.getUpdateStrategy(J).getPivotColumns()}setPivotMode(J,Z,$){this.getUpdateStrategy(J).setPivotMode(Z,$)}getPivotMode(J){return this.getUpdateStrategy(J).getPivotMode()}isColumnSelectedInPivotModeToolPanel(J,Z){return this.getUpdateStrategy(J).isColumnSelectedInPivotModeToolPanel(Z)}progressSortFromEvent(J,Z,$){this.getUpdateStrategy(J).progressSortFromEvent(Z,$)}getSortDef(J,Z){return this.getUpdateStrategy(J).getSortDef(Z)}getUpdateStrategy(J){return J?this.getDeferredUpdateStrategy():this.getSyncUpdateStrategy()}getSyncUpdateStrategy(){return this.syncUpdateStrategy??(this.syncUpdateStrategy=new PM(this.beans))}getDeferredUpdateStrategy(){return this.deferredUpdateStrategy??(this.deferredUpdateStrategy=new TM(this.beans))}},PM=class{constructor(J){this.beans=J,this.lastPivotColIds=[],this.reset=m4,this.commit=m4,this.hasPendingChanges=()=>!1,this.hasDeferredColumnOrder=()=>!1}applyColumnState(J,Z){if(J.length===0)return;dJ(this.beans,{state:J},Z)}moveColumns(J,Z,$){this.beans.colMoves?.moveColumns(J,Z,$),vM(this.beans)}setColumnsVisible(J,Z,$){let X=J.filter((Y)=>!Y.getColDef().lockVisible);this.beans.colModel.setColsVisible(X,Z,$)}setRowGroupColumns(J,Z){this.beans.rowGroupColsSvc?.setColumns(J,Z)}getRowGroupColumns(){return this.beans.rowGroupColsSvc?.columns??[]}getPrimaryColumns(){return Y$(this.beans)}setValueColumns(J,Z){this.beans.valueColsSvc?.setColumns(J,Z)}getValueColumns(){return this.beans.valueColsSvc?.columns??[]}setColumnAggFunc(J,Z,$){this.beans.valueColsSvc?.setColumnAggFunc?.(J,Z,$)}getColumnAggFunc(J){return J.getAggFunc()}setPivotColumns(J,Z){this.lastPivotColIds=J.map(($)=>$.getColId()),this.beans.pivotColsSvc?.setColumns(J,Z)}getPivotColumns(){return this.beans.pivotColsSvc?.columns??[]}setPivotMode(J,Z){let{colModel:$,gos:X,ctrlsSvc:Y}=this.beans;if(J===$.isPivotMode())return;let Q=this.beans.pivotColsSvc?.columns.map((q)=>q.getColId())??[];if(Q.length>0)this.lastPivotColIds=Q;if(!J){let q=this.beans.colModel.getColDefCols()??[];dJ(this.beans,{state:q.map((H)=>({colId:H.getColId(),pivot:!1,pivotIndex:null}))},Z)}if(X.updateGridOptions({options:{pivotMode:J},source:Z}),J&&this.lastPivotColIds.length>0)this.beans.pivotColsSvc?.setColumns(this.lastPivotColIds,Z);for(let q of Y.getHeaderRowContainerCtrls())q.refresh()}progressSortFromEvent(J,Z){this.beans.sortSvc?.progressSortFromEvent(J,Z)}isColumnVisibleInToolPanel(J){return J.isVisible()}isColumnSelectedInPivotModeToolPanel(J){return J.isAnyFunctionActive()}getPivotMode(){return this.beans.colModel.isPivotMode()}getSortDef(J){return J.getSortDef()}},TM=class{constructor(J){this.beans=J,this.state={},this.sequence=0,this.lastPivotColIds=[]}reset(){this.sequence=0,this.state={}}hasPendingChanges(){let{state:J,beans:Z}=this,{columnState:$,columnOrder:X,rowGroup:Y,aggregation:Q,pivot:q,pivotMode:H,sort:_,aggFuncs:z}=J,U=(W)=>(W??[]).map((G)=>G.getColId());if($)for(let[W,G]of $.patches){let B=Z.colModel.getColDefCol(W);if(!B)continue;if(G.hide!==void 0&&G.hide!==!B.isVisible()||G.rowGroup!==void 0&&!!G.rowGroup!==B.isRowGroupActive()||G.pivot!==void 0&&!!G.pivot!==B.isPivotActive()||G.aggFunc!==void 0&&(G.aggFunc??null)!==(B.getAggFunc()??null))return!0}if(X&&!QJ(X.colIds,c9(Z)))return!0;if(Y&&!QJ(Y.colIds,U(Z.rowGroupColsSvc?.columns)))return!0;if(Q&&!QJ(Q.colIds,U(Z.valueColsSvc?.columns)))return!0;if(q&&!QJ(q.colIds,U(Z.pivotColsSvc?.columns)))return!0;if(H&&H.pivotMode!==Z.colModel.isPivotMode())return!0;if(_){for(let[W,G]of _.sortDefsByColId){let B=Z.colModel.getColDefCol(W);if(!B)continue;if((G?.direction??null)!==(B.getSortDef()?.direction??null))return!0}if(_.baselineCleared){let W=Y$(Z);for(let G of W)if(!_.sortDefsByColId.has(G.getColId())&&G.getSortDef()!==null)return!0}}if(z)for(let[W,G]of z.values){let B=Z.colModel.getColDefCol(W);if(!B)continue;if(G!==B.getAggFunc())return!0}return!1}commit(){let{beans:J,state:Z}=this,$=[];for(let Y of Object.keys(Z)){let Q=Z[Y];if(Q)$.push({type:Y,...Q})}let X=$.sort((Y,Q)=>Y.seq-Q.seq);for(let Y of X)switch(Y.type){case"columnState":{dJ(J,{state:[...Y.patches.values()]},Y.eventType);break}case"columnOrder":{let Q=Y.colIds.map((q)=>J.colModel.getColDefCol(q)).filter((q)=>!!q&&T5(q));if(!J.colModel.isPivotMode())for(let q=0;qT5(W)),U=(z>=0?z:0)+q;if(_[U]!==H)J.colMoves?.moveColumns([H],U,Y.eventType,!0)}mQ(J,Q);break}case"rowGroup":{J.rowGroupColsSvc?.setColumns(Y.colIds,Y.eventType);break}case"aggregation":{J.valueColsSvc?.setColumns(Y.colIds,Y.eventType);break}case"pivot":{this.lastPivotColIds=Y.colIds,J.pivotColsSvc?.setColumns(Y.colIds,Y.eventType);break}case"pivotMode":{let{colModel:Q,ctrlsSvc:q,gos:H,stateSvc:_}=J;if(Y.pivotMode!==Q.isPivotMode()){let z=J.pivotColsSvc?.columns.map((G)=>G.getColId())??[];if(z.length>0)this.lastPivotColIds=z;let U=_?.getState().pivot?.pivotColIds??z,W=Y.pivotMode?this.state.pivot?.colIds??this.lastPivotColIds:U;if(_?.setState({..._.getState(),pivot:{pivotMode:Y.pivotMode,pivotColIds:W}},["pivot"]),!Y.pivotMode){let G=J.colModel.getColDefCols()??[];dJ(J,{state:G.map((B)=>({colId:B.getColId(),pivot:!1,pivotIndex:null}))},Y.eventType)}if(H.updateGridOptions({options:{pivotMode:Y.pivotMode},source:Y.eventType}),Y.pivotMode&&W.length>0)J.pivotColsSvc?.setColumns(W,Y.eventType);for(let G of q.getHeaderRowContainerCtrls())G.refresh()}break}case"sort":{let Q=[],q=0;for(let[H,_]of Y.sortDefsByColId)Q.push({colId:H,sort:_?.direction??null,sortIndex:_?.direction?q++:null,sortType:_?.type??void 0});dJ(J,{state:Q,defaultState:Y.baselineCleared?{sort:null,sortIndex:null,sortType:void 0}:void 0},Y.eventType);break}case"aggFuncs":{for(let[Q,q]of Y.values){let H=J.colModel.getColDefCol(Q);if(!H)continue;J.valueColsSvc?.setColumnAggFunc?.(H,q,Y.eventType)}break}}this.reset()}applyColumnState(J,Z){for(let X of J)p9(this.state,X);let $=$7(this.state);$.seq=iZ(this.sequence),this.sequence=$.seq,$.eventType=Z}moveColumns(J,Z,$){let X=new Set(J.map((_)=>_.getColId())),Q=(this.state.columnOrder?.colIds??c9(this.beans)).filter((_)=>!X.has(_)),q=J.map((_)=>_.getColId()),H=iZ(this.sequence);this.sequence=H,this.state.columnOrder={colIds:[...Q.slice(0,Z),...q,...Q.slice(Z)],eventType:$,seq:H}}setColumnsVisible(J,Z,$){for(let Y of J){if(Y.getColDef().lockVisible)continue;p9(this.state,{colId:Y.getColId(),hide:!Z})}let X=$7(this.state);X.seq=iZ(this.sequence),this.sequence=X.seq,X.eventType=$}setRowGroupColumns(J,Z){i9(this.state,"rowGroup");let $=iZ(this.sequence);this.sequence=$,this.state.rowGroup={colIds:J.map((X)=>X.getColId()),eventType:Z,seq:$}}setValueColumns(J,Z){i9(this.state,"aggFunc");let $=new Set((this.beans.valueColsSvc?.columns??[]).map((Q)=>Q.getColId())),X=c4(this.state);for(let Q of J)if(!$.has(Q.getColId())&&!X.values.has(Q.getColId())){let q=Q.getAggFunc(),H=q!=null?q:this.beans.aggFuncSvc?.getDefaultAggFunc(Q);if(H!=null)X.values.set(Q.getColId(),H)}let Y=iZ(this.sequence);this.sequence=Y,X.seq=Y,X.eventType=Z,this.state.aggregation={colIds:J.map((Q)=>Q.getColId()),eventType:Z,seq:Y}}setColumnAggFunc(J,Z,$){p9(this.state,{colId:J.getColId(),aggFunc:Z});let X=$7(this.state);X.seq=iZ(this.sequence),this.sequence=X.seq,X.eventType=$;let Y=c4(this.state);Y.seq=X.seq,Y.eventType=$,Y.values.set(J.getColId(),Z)}getColumnAggFunc(J){let Z=J.getColId();if(this.state.aggFuncs?.values.has(Z))return this.state.aggFuncs.values.get(Z);return J.getAggFunc()}isColumnVisibleInToolPanel(J){let Z=this.state.columnState?.patches.get(J.getColId());if(Z?.hide!==void 0)return!Z.hide;return J.isVisible()}isColumnSelectedInPivotModeToolPanel(J){let Z=J.getColId(),$=this.state.columnState?.patches.get(Z),X;if($?.rowGroup!==void 0)X=!!$.rowGroup;else if(this.state.rowGroup)X=this.state.rowGroup.colIds.includes(Z);else X=J.isRowGroupActive();let Y;if($?.pivot!==void 0)Y=!!$.pivot;else if(this.state.pivot)Y=this.state.pivot.colIds.includes(Z);else Y=J.isPivotActive();let Q;if($?.aggFunc!==void 0)Q=$.aggFunc!=null;else if(this.state.aggregation)Q=this.state.aggregation.colIds.includes(Z);else Q=J.isValueActive();return X||Y||Q}setPivotColumns(J,Z){i9(this.state,"pivot");let $=iZ(this.sequence);this.sequence=$,this.state.pivot={colIds:J.map((X)=>X.getColId()),eventType:Z,seq:$}}setPivotMode(J,Z){let $=iZ(this.sequence);this.sequence=$,this.state.pivotMode={pivotMode:J,eventType:Z,seq:$}}getRowGroupColumns(){return V5(this.beans,m9(this.state.rowGroup?.colIds,this.beans.rowGroupColsSvc?.columns,this.state.columnState?.patches,(J)=>J.rowGroup==null?void 0:!!J.rowGroup))}getPrimaryColumns(){return V5(this.beans,this.state.columnOrder?.colIds??c9(this.beans))}hasDeferredColumnOrder(){return!!this.state.columnOrder}getValueColumns(){return V5(this.beans,m9(this.state.aggregation?.colIds,this.beans.valueColsSvc?.columns,this.state.columnState?.patches,(J)=>J.aggFunc===void 0?void 0:J.aggFunc!=null))}getPivotColumns(){if(!this.getPivotMode())return[];let J=this.beans.pivotColsSvc?.columns,Z=J?.length?J:V5(this.beans,this.lastPivotColIds);return V5(this.beans,m9(this.state.pivot?.colIds,Z,this.state.columnState?.patches,($)=>$.pivot==null?void 0:!!$.pivot))}getPivotMode(){return this.state.pivotMode?.pivotMode??this.beans.colModel.isPivotMode()}getSortDef(J){let Z=this.state.sort,$=J.getColId(),X=Z?.sortDefsByColId;if(X?.has($))return X.get($)??null;if(Z?.baselineCleared)return null;return J.getSortDef()}progressSortFromEvent(J,Z){let $=this.state.sort??{sortDefsByColId:new Map,baselineCleared:!1,seq:0,eventType:"toolPanelUi"},{sortSvc:X}=this.beans,Y=J.getColId(),Q;if($.sortDefsByColId.has(Y))Q=$.sortDefsByColId.get(Y);else if($.baselineCleared)Q=null;else Q=J.getSortDef();let q=X?.getNextSortDirection(J,Q);if(!q)return;let{gos:H}=this.beans;if(!(((H.get("multiSortKey")==="ctrl"?Z.ctrlKey||Z.metaKey:Z.shiftKey)||H.get("alwaysMultiSort"))&&!H.get("suppressMultiSort")))$.sortDefsByColId.clear(),$.baselineCleared=!0;$.sortDefsByColId.set(Y,q.direction?q:null),$.seq=iZ(this.sequence),this.sequence=$.seq,this.state.sort=$}};function V5(J,Z){if(!Z)return[];return Z.map(($)=>J.colModel.getColDefCol($)).filter(($)=>!!$)}function m9(J,Z,$,X){let Y=[...J??Z?.map((q)=>q.getColId())??[]];if(!$?.size)return Y;let Q=new Set(Y);for(let[q,H]of $){let _=X(H);if(_===void 0)continue;if(_){if(!Q.has(q))Y.push(q),Q.add(q);continue}if(!Q.has(q))continue;Q.delete(q);let z=Y.indexOf(q);if(z>=0)Y.splice(z,1)}return Y}function vM(J){let Z=J.colModel.getCols().filter(($)=>T5($)).map(($)=>J.colModel.getColDefCol($.getColId())).filter(($)=>!!$);mQ(J,Z)}function mQ(J,Z){let $=IM(J);if(!$)return;let X=new Set(Z);$.list=[...Z,...$.list.filter((Y)=>T5(Y)&&!X.has(Y))]}function c9(J){return Y$(J).map((Z)=>Z.getColId())}function Y$(J){return(J.colModel.getColDefCols()??J.colModel.getCols()).filter((Z)=>T5(Z))}function IM(J){let Z=J.colModel.colDefCols,$=Z?.list;if(!Array.isArray($))return;return Z}function T5(J){if(!J.isPrimary())return!1;return!m0(J)&&!H5(J)}function iZ(J){return J+1}function p9(J,Z){let $=$7(J),X=$.patches.get(Z.colId);$.patches.set(Z.colId,X?{...X,...Z}:Z)}function i9(J,Z){let $=J.columnState?.patches;if(!$?.size)return;for(let[X,Y]of $){if(!(Z in Y))continue;let Q={...Y};if(delete Q[Z],Object.keys(Q).length===1){$.delete(X);continue}$.set(X,Q)}}function $7(J){let{columnState:Z}=J;if(!Z)Z={patches:new Map,seq:0,eventType:"toolPanelUi"},J.columnState=Z;return Z}function c4(J){let{aggFuncs:Z}=J;if(!Z)Z={values:new Map,seq:0,eventType:"toolPanelUi"},J.aggFuncs=Z;return Z}var bM=class extends M{constructor(){super(...arguments);this.beanName="columnStateUpdateStrategy"}applyColumnState(J,Z,$){this.delegate("applyColumnState",J,Z,$)}commit(J){this.delegate("commit",J)}hasPendingChanges(J){return this.delegate("hasPendingChanges",J)}moveColumns(J,Z,$,X){this.delegate("moveColumns",J,Z,$,X)}reset(J){this.delegate("reset",J)}setColumnsVisible(J,Z,$,X){this.delegate("setColumnsVisible",J,Z,$,X)}isColumnVisibleInToolPanel(J,Z){return this.delegate("isColumnVisibleInToolPanel",J,Z)}setRowGroupColumns(J,Z,$){this.delegate("setRowGroupColumns",J,Z,$)}getRowGroupColumns(J){return this.delegate("getRowGroupColumns",J)}getPrimaryColumns(J){return this.delegate("getPrimaryColumns",J)}hasDeferredColumnOrder(J){return this.delegate("hasDeferredColumnOrder",J)}setValueColumns(J,Z,$){this.delegate("setValueColumns",J,Z,$)}getValueColumns(J){return this.delegate("getValueColumns",J)}setColumnAggFunc(J,Z,$,X){this.delegate("setColumnAggFunc",J,Z,$,X)}getColumnAggFunc(J,Z){return this.delegate("getColumnAggFunc",J,Z)}setPivotColumns(J,Z,$){this.delegate("setPivotColumns",J,Z,$)}getPivotColumns(J){return this.delegate("getPivotColumns",J)}setPivotMode(J,Z,$){this.delegate("setPivotMode",J,Z,$)}getPivotMode(J){return this.delegate("getPivotMode",J)}isColumnSelectedInPivotModeToolPanel(J,Z){return this.delegate("isColumnSelectedInPivotModeToolPanel",J,Z)}progressSortFromEvent(J,Z,$){this.delegate("progressSortFromEvent",J,Z,$)}getSortDef(J,Z){return this.delegate("getSortDef",J,Z)}getUpdateStrategy(){return this.executionStrategy??(this.executionStrategy=this.createManagedBean(new fM))}delegate(J,...Z){let $=this.getUpdateStrategy();return $[J].bind($)(...Z)}},CM={moduleName:"SharedColumnStateUpdateStrategy",version:$J,beans:[bM],dependsOn:[IJ]},cQ={moduleName:"ColumnsToolPanel",version:$J,beans:[SM],userComponents:{agColumnsToolPanel:BM},icons:{ensureColumnVisible:"column-arrow",columnsToolPanel:"columns",menuAddRowGroup:"group",menuRemoveRowGroup:"group",pivotPanel:"pivot",rowGroupPanel:"group",valuePanel:"aggregation",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate"},dependsOn:[IJ,CM,Z$,F5,L5,d0,$$]},xM=class extends M{constructor(){super(...arguments);this.beanName="chartMenuItemMapper"}getChartItems(J){let Z=this.beans,$=Z.chartSvc,X=J==="pivotChart";if(!$)return null;let Y=this.getLocaleTextFunc.bind(this),Q=X?new yM(Z,$,Y):new NM(Z,$,Y),q=$.isEnterprise(),H=Q.getMenuItem();if(H?.subMenu&&!q){let z=(U)=>({...U,subMenu:U.subMenu?.filter((W)=>!W._enterprise).map((W)=>z(W))});H=z(H)}let _=this.gos.get("chartToolPanelsDef")?.settingsPanel?.chartGroupsDef;if(_)H=this.filterAndOrderChartMenu(H,_,Q.getConfigLookup());return this.cleanInternals(H)}cleanInternals(J){if(!J)return J;let Z=($)=>{delete $?._key,delete $?._enterprise;for(let X of $?.subMenu??[])Z(X);return $};return Z(J)}buildLookup(J){let Z={},$=(X)=>{if(Z[X._key]=X,X.subMenu)for(let Y of X.subMenu)$(Y)};return $(J),Z}filterAndOrderChartMenu(J,Z,$){let X=this.buildLookup(J),Y={...J,subMenu:[]};for(let Q of Object.keys(Z)){let q=Z[Q],H=$[Q];if(H===null)continue;if(H==null){O(173,{group:Q});continue}let _=X[H._key];if(_)if(_.subMenu){let z=q.map((U)=>{let W=H[U];if(W==null){O(174,{group:Q,chartType:U});return}return X[W]}).filter((U)=>U!==void 0);if(z.length>0)_.subMenu=z,Y.subMenu?.push(_)}else Y.subMenu?.push(_)}if(Y.subMenu?.length==0)return null;return Y}},yM=class{constructor(J,Z,$){this.beans=J,this.chartSvc=Z,this.getLocaleTextFunc=$}getMenuItem(){let J=this.getLocaleTextFunc(),Z=($,X,Y,Q,q=!1)=>{return{name:J($,X+"‎"),action:()=>this.chartSvc.createPivotChart({chartType:Y}),_key:Q,_enterprise:q}};return{name:J("pivotChart","Pivot Chart"),_key:"pivotChart",subMenu:[{_key:"pivotColumnChart",name:J("columnChart","Column"),subMenu:[Z("groupedColumn","Grouped","groupedColumn","pivotGroupedColumn"),Z("stackedColumn","Stacked","stackedColumn","pivotStackedColumn"),Z("normalizedColumn","100% Stacked","normalizedColumn","pivotNormalizedColumn")]},{_key:"pivotBarChart",name:J("barChart","Bar"),subMenu:[Z("groupedBar","Grouped","groupedBar","pivotGroupedBar"),Z("stackedBar","Stacked","stackedBar","pivotStackedBar"),Z("normalizedBar","100% Stacked","normalizedBar","pivotNormalizedBar")]},{_key:"pivotPieChart",name:J("pieChart","Pie"),subMenu:[Z("pie","Pie","pie","pivotPie"),Z("donut","Donut","donut","pivotDonut")]},{_key:"pivotLineChart",name:J("lineChart","Line"),subMenu:[Z("lineChart","Line","line","pivotLineChart"),Z("stackedLine","Stacked","stackedLine","pivotStackedLine"),Z("normalizedLine","100% Stacked","normalizedLine","pivotNormalizedLine")]},{_key:"pivotAreaChart",name:J("areaChart","Area"),subMenu:[Z("areaChart","Area","area","pivotArea"),Z("stackedArea","Stacked","stackedArea","pivotStackedArea"),Z("normalizedArea","100% Stacked","normalizedArea","pivotNormalizedArea")]},{_key:"pivotXYChart",name:J("xyChart","X Y (Scatter)"),subMenu:[Z("scatter","Scatter","scatter","pivotScatter"),Z("bubble","Bubble","bubble","pivotBubble")]},{_key:"pivotStatisticalChart",_enterprise:!1,name:J("statisticalChart","Statistical"),subMenu:[Z("histogramChart","Histogram","histogram","pivotHistogram",!1)]},{_key:"pivotHierarchicalChart",_enterprise:!0,name:J("hierarchicalChart","Hierarchical"),subMenu:[Z("treemapChart","Treemap","treemap","pivotTreemap",!0),Z("sunburstChart","Sunburst","sunburst","pivotSunburst",!0)]},{_key:"pivotFunnel",name:J("funnel","Funnel"),subMenu:[Z("funnel","Funnel","funnel","pivotFunnel"),Z("coneFunnel","Cone Funnel","coneFunnel","pivotConeFunnel"),Z("pyramid","Pyramid","pyramid","pivotPyramid")]},{_key:"pivotCombinationChart",name:J("combinationChart","Combination"),subMenu:[Z("columnLineCombo","Column & Line","columnLineCombo","pivotColumnLineCombo"),Z("AreaColumnCombo","Area & Column","areaColumnCombo","pivotAreaColumnCombo")]}],icon:h("chart",this.beans,void 0)}}getConfigLookup(){return{columnGroup:{_key:"pivotColumnChart",column:"pivotGroupedColumn",stackedColumn:"pivotStackedColumn",normalizedColumn:"pivotNormalizedColumn"},barGroup:{_key:"pivotBarChart",bar:"pivotGroupedBar",stackedBar:"pivotStackedBar",normalizedBar:"pivotNormalizedBar"},pieGroup:{_key:"pivotPieChart",pie:"pivotPie",donut:"pivotDonut",doughnut:"pivotDonut"},lineGroup:{_key:"pivotLineChart",line:"pivotLineChart",stackedLine:"pivotStackedLine",normalizedLine:"pivotNormalizedLine"},areaGroup:{_key:"pivotAreaChart",area:"pivotArea",stackedArea:"pivotStackedArea",normalizedArea:"pivotNormalizedArea"},scatterGroup:{_key:"pivotXYChart",bubble:"pivotBubble",scatter:"pivotScatter"},combinationGroup:{_key:"pivotCombinationChart",columnLineCombo:"pivotColumnLineCombo",areaColumnCombo:"pivotAreaColumnCombo",customCombo:null},hierarchicalGroup:{_key:"pivotHierarchicalChart",treemap:"pivotTreemap",sunburst:"pivotSunburst"},statisticalGroup:{_key:"pivotStatisticalChart",histogram:"pivotHistogram",rangeBar:null,rangeArea:null,boxPlot:null},funnelGroup:{_key:"pivotFunnel",funnel:"pivotFunnel",coneFunnel:"pivotConeFunnel",pyramid:"pivotPyramid"},polarGroup:null,specializedGroup:null}}},NM=class{constructor(J,Z,$){this.beans=J,this.chartSvc=Z,this.getLocaleTextFunc=$}getMenuItem(){let J=this.getLocaleTextFunc(),Z=($,X,Y,Q,q=!1)=>{return{name:J($,X),action:()=>this.chartSvc.createChartFromCurrentRange(Y),_key:Q,_enterprise:q}};return{name:J("chartRange","Chart Range"),_key:"chartRange",subMenu:[{name:J("columnChart","Column"),subMenu:[Z("groupedColumn","Grouped","groupedColumn","rangeGroupedColumn"),Z("stackedColumn","Stacked","stackedColumn","rangeStackedColumn"),Z("normalizedColumn","100% Stacked","normalizedColumn","rangeNormalizedColumn")],_key:"rangeColumnChart"},{name:J("barChart","Bar"),subMenu:[Z("groupedBar","Grouped","groupedBar","rangeGroupedBar"),Z("stackedBar","Stacked","stackedBar","rangeStackedBar"),Z("normalizedBar","100% Stacked","normalizedBar","rangeNormalizedBar")],_key:"rangeBarChart"},{name:J("pieChart","Pie"),subMenu:[Z("pie","Pie","pie","rangePie"),Z("donut","Donut","donut","rangeDonut")],_key:"rangePieChart"},{name:J("lineChart","Line"),subMenu:[Z("lineChart","Line","line","rangeLineChart"),Z("stackedLine","Stacked","stackedLine","rangeStackedLine"),Z("normalizedLine","100% Stacked","normalizedLine","rangeNormalizedLine")],_key:"rangeLineChart"},{name:J("areaChart","Area"),subMenu:[Z("areaChart","Area","area","rangeArea"),Z("stackedArea","Stacked","stackedArea","rangeStackedArea"),Z("normalizedArea","100% Stacked","normalizedArea","rangeNormalizedArea")],_key:"rangeAreaChart"},{name:J("xyChart","X Y (Scatter)"),subMenu:[Z("scatter","Scatter","scatter","rangeScatter"),Z("bubble","Bubble","bubble","rangeBubble")],_key:"rangeXYChart"},{name:J("polarChart","Polar"),subMenu:[Z("radarLine","Radar Line","radarLine","rangeRadarLine"),Z("radarArea","Radar Area","radarArea","rangeRadarArea"),Z("nightingale","Nightingale","nightingale","rangeNightingale"),Z("radialColumn","Radial Column","radialColumn","rangeRadialColumn"),Z("radialBar","Radial Bar","radialBar","rangeRadialBar")],_key:"rangePolarChart",_enterprise:!0},{name:J("statisticalChart","Statistical"),subMenu:[Z("boxPlot","Box Plot","boxPlot","rangeBoxPlot",!0),Z("histogramChart","Histogram","histogram","rangeHistogram",!1),Z("rangeBar","Range Bar","rangeBar","rangeRangeBar",!0),Z("rangeArea","Range Area","rangeArea","rangeRangeArea",!0)],_key:"rangeStatisticalChart",_enterprise:!1},{name:J("hierarchicalChart","Hierarchical"),subMenu:[Z("treemap","Treemap","treemap","rangeTreemap"),Z("sunburst","Sunburst","sunburst","rangeSunburst")],_key:"rangeHierarchicalChart",_enterprise:!0},{name:J("specializedChart","Specialized"),subMenu:[Z("heatmap","Heatmap","heatmap","rangeHeatmap"),Z("waterfall","Waterfall","waterfall","rangeWaterfall")],_key:"rangeSpecializedChart",_enterprise:!0},{name:J("funnel","Funnel"),subMenu:[Z("funnel","Funnel","funnel","rangeFunnel"),Z("coneFunnel","Cone Funnel","coneFunnel","rangeConeFunnel"),Z("pyramid","Pyramid","pyramid","rangePyramid")],_key:"rangeFunnel",_enterprise:!0},{name:J("combinationChart","Combination"),subMenu:[Z("columnLineCombo","Column & Line","columnLineCombo","rangeColumnLineCombo"),Z("AreaColumnCombo","Area & Column","areaColumnCombo","rangeAreaColumnCombo")],_key:"rangeCombinationChart"}],icon:h("chart",this.beans,void 0)}}getConfigLookup(){return{columnGroup:{_key:"rangeColumnChart",column:"rangeGroupedColumn",stackedColumn:"rangeStackedColumn",normalizedColumn:"rangeNormalizedColumn"},barGroup:{_key:"rangeBarChart",bar:"rangeGroupedBar",stackedBar:"rangeStackedBar",normalizedBar:"rangeNormalizedBar"},pieGroup:{_key:"rangePieChart",pie:"rangePie",donut:"rangeDonut",doughnut:"rangeDonut"},lineGroup:{_key:"rangeLineChart",line:"rangeLineChart",stackedLine:"rangeStackedLine",normalizedLine:"rangeNormalizedLine"},areaGroup:{_key:"rangeAreaChart",area:"rangeArea",stackedArea:"rangeStackedArea",normalizedArea:"rangeNormalizedArea"},scatterGroup:{_key:"rangeXYChart",bubble:"rangeBubble",scatter:"rangeScatter"},polarGroup:{_key:"rangePolarChart",radarLine:"rangeRadarLine",radarArea:"rangeRadarArea",nightingale:"rangeNightingale",radialColumn:"rangeRadialColumn",radialBar:"rangeRadialBar"},statisticalGroup:{_key:"rangeStatisticalChart",boxPlot:"rangeBoxPlot",histogram:"rangeHistogram",rangeBar:"rangeRangeBar",rangeArea:"rangeRangeArea"},hierarchicalGroup:{_key:"rangeHierarchicalChart",treemap:"rangeTreemap",sunburst:"rangeSunburst"},specializedGroup:{_key:"rangeSpecializedChart",heatmap:"rangeHeatmap",waterfall:"rangeWaterfall"},funnelGroup:{_key:"rangeFunnel",funnel:"rangeFunnel",coneFunnel:"rangeConeFunnel",pyramid:"rangePyramid"},combinationGroup:{_key:"rangeCombinationChart",columnLineCombo:"rangeColumnLineCombo",areaColumnCombo:"rangeAreaColumnCombo",customCombo:null}}}},wM=class extends M{constructor(){super(...arguments);this.beanName="colChooserFactory"}createColumnSelectPanel(J,Z,$,X){let Y=J.createManagedBean(new uQ),Q=X??Z?.getColDef().columnChooserParams??{},{contractColumnSelection:q,suppressColumnExpandAll:H,suppressColumnFilter:_,suppressColumnSelectAll:z,suppressSyncLayoutWithGrid:U,columnLayout:W}=Q;if(Y.init(!!$,x(this.gos,{suppressColumnMove:!1,suppressValues:!1,suppressPivots:!1,suppressRowGroups:!1,suppressPivotMode:!1,contractColumnSelection:!!q,suppressColumnExpandAll:!!H,suppressColumnFilter:!!_,suppressColumnSelectAll:!!z,suppressSyncLayoutWithGrid:!!W||!!U,onStateUpdated:()=>{}}),"columnMenu"),W)Y.setColumnLayout(W);return Y}showColumnChooser({column:J,chooserParams:Z,eventSource:$,headerPosition:X}){this.hideActiveColumnChooser();let Y=this.createColumnSelectPanel(this,J,!0,Z),Q=this.getLocaleTextFunc(),q=this.beans,{visibleCols:H,focusSvc:_,menuUtils:z}=q,U=H.allCols.indexOf(J),W=J?_.focusedHeader??X??null:null;this.activeColumnChooserDialog=this.createBean(new YA({title:Q("chooseColumns","Choose Columns"),component:Y,width:300,height:300,resizable:!0,movable:!0,centered:!0,closable:!0,afterGuiAttached:()=>{OJ(q,Y.getGui())?.focus({preventScroll:!0}),this.dispatchVisibleChangedEvent(!0,J)},closedCallback:(G)=>{let B=this.activeColumnChooser.getGui();if(this.destroyBean(this.activeColumnChooser),this.activeColumnChooser=void 0,this.activeColumnChooserDialog=void 0,this.dispatchVisibleChangedEvent(!1,J),J)z.restoreFocusOnClose({column:J,headerPosition:W,columnIndex:U,eventSource:$},B,G,!0)},postProcessPopupParams:{type:"columnChooser",column:J,eventSource:$}})),this.activeColumnChooser=Y}hideActiveColumnChooser(){this.destroyBean(this.activeColumnChooserDialog)}dispatchVisibleChangedEvent(J,Z){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:J,switchingTab:!1,key:"columnChooser",column:Z??null})}},gM={pinSubMenu:"PinnedColumn",pinLeft:"PinnedColumn",pinRight:"PinnedColumn",clearPinned:"PinnedColumn",pinRowSubMenu:"PinnedRow",pinBottom:"PinnedRow",pinTop:"PinnedRow",unpinRow:"PinnedRow",valueAggSubMenu:"SharedAggregation",autoSizeThis:"ColumnAutoSize",autoSizeAll:"ColumnAutoSize",rowGroup:"SharedRowGrouping",rowUnGroup:"SharedRowGrouping",resetColumns:"CommunityCore",expandAll:["ClientSideRowModelHierarchy","ServerSideRowModel"],contractAll:["ClientSideRowModelHierarchy","ServerSideRowModel"],copy:"Clipboard",copyWithHeaders:"Clipboard",copyWithGroupHeaders:"Clipboard",cut:"Clipboard",paste:"Clipboard",export:["CsvExport","ExcelExport"],csvExport:"CsvExport",excelExport:"ExcelExport",separator:"CommunityCore",pivotChart:"IntegratedCharts",chartRange:"IntegratedCharts",columnFilter:"ColumnFilter",columnChooser:"ColumnMenu",sortAscending:"Sort",sortDescending:"Sort",sortAbsoluteAscending:"Sort",sortAbsoluteDescending:"Sort",sortUnSort:"Sort"};function hM(J,Z){let $=gM[Z];if($)J.assertModuleRegistered($,`menu item '${Z}'`)}var n0="separator";function pQ(J,Z){if(!J)return;for(let $=J.length-2;$>=0;$--){let X=J[$]===Z,Y=J[$+1]===Z;if(X&&Y)J.splice($+1,1)}}var uM={sortAscending:{fallback:"Sort Ascending",getSortDef:()=>({type:"default",direction:"asc"})},sortDescending:{fallback:"Sort Descending",getSortDef:()=>({type:"default",direction:"desc"})},sortAbsoluteAscending:{fallback:"Sort Absolute Ascending",getSortDef:()=>({type:"absolute",direction:"asc"})},sortAbsoluteDescending:{fallback:"Sort Absolute Descending",getSortDef:()=>({type:"absolute",direction:"desc"})},sortUnSort:{fallback:"Clear Sort",getSortDef:(J)=>({type:LZ(J.getSortDef()?.type),direction:null})}},mM=class extends M{constructor(){super(...arguments);this.beanName="menuItemMapper"}mapWithStockItems(J,Z,$,X,Y){if(!J)return[];let Q=[],q=this.getLocaleTextFunc(),{beans:H,gos:_}=this,{pinnedCols:z,colAutosize:U,aggFuncSvc:W,rowGroupColsSvc:G,colNames:B,colModel:K,clipboardSvc:E,expansionSvc:L,focusSvc:F,csvCreator:D,excelCreator:k,menuSvc:j,colChooserFactory:A,sortSvc:R,chartMenuItemMapper:f,valueColsSvc:I,pinnedRowModel:v}=H,b=(m,N,a,s)=>{switch(hM(_,m),m){case"pinSubMenu":return z&&N?{name:q("pinColumn","Pin Column"),icon:h("menuPin",H,null),subMenu:["clearPinned","pinLeft","pinRight"]}:null;case"pinLeft":return z&&N?{name:q("pinLeft","Pin Left"),action:()=>z.setColsPinned([N],"left",s),checked:!!N&&N.isPinnedLeft()}:null;case"pinRight":return z&&N?{name:q("pinRight","Pin Right"),action:()=>z.setColsPinned([N],"right",s),checked:!!N&&N.isPinnedRight()}:null;case"clearPinned":return z&&N?{name:q("noPin","No Pin"),action:()=>z.setColsPinned([N],null,s),checked:!!N&&!N.isPinned()}:null;case"pinRowSubMenu":{let u=_.get("enableRowPinning"),JJ=[],r=$?.rowPinned??$?.pinnedSibling?.rowPinned;if(r)JJ.push("unpinRow");if(u&&u!=="bottom"&&r!="top")JJ.push("pinTop");if(u&&u!=="top"&&r!="bottom")JJ.push("pinBottom");return v?.isManual()?{name:q("pinRow","Pin Row"),icon:h("rowPin",H,N),subMenu:JJ}:null}case"pinTop":return v?.isManual()?{name:q("pinTop","Pin to Top"),icon:h("rowPinTop",H,N),action:({node:u,column:JJ})=>u&&v.pinRow(u,"top",JJ)}:null;case"pinBottom":return v?.isManual()?{name:q("pinBottom","Pin to Bottom"),icon:h("rowPinBottom",H,N),action:({node:u,column:JJ})=>u&&v.pinRow(u,"bottom",JJ)}:null;case"unpinRow":return v?.isManual()?{name:q("unpinRow","Unpin Row"),icon:h("rowUnpin",H,N),action:({node:u,column:JJ})=>u&&v.pinRow(u,null,JJ)}:null;case"valueAggSubMenu":if(W&&I&&(N?.isPrimary()||N?.getColDef().pivotValueColumn))return{name:q("valueAggregation","Value Aggregation"),icon:h("menuValue",H,null),subMenu:cM(N,W,I,q),disabled:_.get("functionsReadOnly")};else return null;case"autoSizeThis":return U?{name:q("autosizeThisColumn","Autosize This Column"),action:()=>N&&U.autoSizeColumn(N,s,_.get("skipHeaderOnAutoSize"))}:null;case"autoSizeAll":return U?{name:q("autosizeAllColumns","Autosize All Columns"),action:()=>U.autoSizeAllColumns({source:s,skipHeader:_.get("skipHeaderOnAutoSize")})}:null;case"rowGroup":return G?{name:S5(q,"groupBy",B.getDisplayNameForColumn(N,"header")),disabled:_.get("functionsReadOnly")||N?.isRowGroupActive()||!N?.getColDef().enableRowGroup,action:()=>G.addColumns([N],s),icon:h("menuAddRowGroup",H,null)}:null;case"rowUnGroup":if(G&&_.isModuleRegistered("SharedRowGrouping")){let u=N?.getColDef().showRowGroup,JJ=_.get("groupLockGroupColumns"),r,SJ,fJ;if(u===!0)r=q("ungroupAll","Un-Group All"),SJ=_.get("functionsReadOnly")||JJ===-1||JJ>=(G.columns.length??0),fJ=()=>G.setColumns(G.columns.slice(0,JJ),s);else if(typeof u==="string"){let VJ=K.getColDefCol(u),M0=VJ!=null?B.getDisplayNameForColumn(VJ,"header"):u;r=S5(q,"ungroupBy",M0),SJ=_.get("functionsReadOnly")||P5(VJ,H),fJ=()=>{G.removeColumns([u],s)}}else r=S5(q,"ungroupBy",B.getDisplayNameForColumn(N,"header")),SJ=_.get("functionsReadOnly")||!N?.isRowGroupActive()||!N?.getColDef().enableRowGroup||P5(N,H),fJ=()=>G.removeColumns([N],s);return{name:r,disabled:SJ,action:fJ,icon:h("menuRemoveRowGroup",H,null)}}else return null;case"resetColumns":return{name:q("resetColumns","Reset Columns"),action:()=>F1(H,s)};case"expandAll":return L?{name:q("expandAll","Expand All Row Groups"),action:()=>L.expandAll(!0)}:null;case"contractAll":return L?{name:q("collapseAll","Collapse All Row Groups"),action:()=>L.expandAll(!1)}:null;case"copy":return E?{name:q("copy","Copy"),shortcut:q("ctrlC","Ctrl+C"),icon:h("clipboardCopy",H,null),action:()=>E.copyToClipboard()}:null;case"copyWithHeaders":return E?{name:q("copyWithHeaders","Copy with Headers"),icon:h("clipboardCopy",H,null),action:()=>E.copyToClipboard({includeHeaders:!0})}:null;case"copyWithGroupHeaders":return E?{name:q("copyWithGroupHeaders","Copy with Group Headers"),icon:h("clipboardCopy",H,null),action:()=>E.copyToClipboard({includeHeaders:!0,includeGroupHeaders:!0})}:null;case"cut":if(E){let u=F.getFocusedCell(),JJ=u?kJ(H,u):null,r=JJ?u?.column.isCellEditable(JJ):!1;return{name:q("cut","Cut"),shortcut:q("ctrlX","Ctrl+X"),icon:h("clipboardCut",H,null),disabled:!r||_.get("suppressCutToClipboard"),action:()=>E.cutToClipboard(void 0,"contextMenu")}}else return null;case"paste":if(E){let u=_.get("suppressClipboardApi")||_.get("suppressClipboardPaste")||!N||!$||!N.isCellEditable($)||N.isSuppressPaste($);return{name:q("paste","Paste"),shortcut:q("ctrlV","Ctrl+V"),icon:h("clipboardPaste",H,null),disabled:u,action:()=>E.pasteFromClipboard()}}else return null;case"export":{let u=[];if(!_.get("suppressCsvExport")&&D)u.push("csvExport");if(!_.get("suppressExcelExport")&&k)u.push("excelExport");return u.length?{name:q("export","Export"),subMenu:u,icon:h("save",H,null)}:null}case"csvExport":return D?{name:q("csvExport","CSV Export"),icon:h("csvExport",H,null),action:()=>D.exportDataAsCsv()}:null;case"excelExport":return k?{name:q("excelExport","Excel Export"),icon:h("excelExport",H,null),action:()=>k.exportDataAsExcel()}:null;case"separator":return m;case"pivotChart":case"chartRange":return f.getChartItems(m);case"columnFilter":return j&&N?{name:q("columnFilter","Column Filter"),icon:h("filter",H,null),action:()=>j.showFilterMenu({column:N,buttonElement:a(),containerType:"columnFilter",positionBy:"button"})}:null;case"columnChooser":{let u=F.focusedHeader;return A?{name:q("columnChooser","Choose Columns"),icon:h("columns",H,null),action:()=>A.showColumnChooser({column:N,eventSource:a(),headerPosition:u})}:null}case"sortUnSort":case"sortAscending":case"sortDescending":case"sortAbsoluteAscending":case"sortAbsoluteDescending":{if(!R||!N)return null;let{fallback:u,getSortDef:JJ}=uM[m];return{name:q(m,u),icon:h(m,H,null),action:()=>R.setSortForColumn(N,JJ(N),!1,s)}}default:return O(176,{key:m}),null}};for(let m of J){let N;if(typeof m==="string")N=b(m,Z,X,Y);else N={...m};if(!N)continue;let a=N,{subMenu:s}=a;if(s&&s instanceof Array)a.subMenu=this.mapWithStockItems(s,Z,$,X,Y);if(N!=null)Q.push(N)}return pQ(Q,n0),Q}};function cM(J,Z,$,X){let Y;if(J.isPrimary())Y=J;else{let q=J.getColDef().pivotValueColumn;Y=T(q)?q:void 0}let Q=[];if(Y){let q=Y.isValueActive(),H=Z.getFuncNames(Y);Q.push({name:X("noAggregation","None"),action:()=>{$.removeColumns([Y],"contextMenu"),$.setColumnAggFunc(Y,void 0,"contextMenu")},checked:!q});for(let _ of H)Q.push({name:X(_,Z.getDefaultFuncLabel(_)),action:()=>{$.setColumnAggFunc(Y,_,"contextMenu"),$.addColumns([Y],"contextMenu")},checked:q&&Y.getAggFunc()===_})}return Q}var pM=class extends M{constructor(){super(...arguments);this.beanName="colMenuFactory"}createMenu(J,Z,$,X){let Y=J.createManagedBean(new wQ(0,{column:$??null,node:null,value:null})),Q=this.beans.menuItemMapper.mapWithStockItems(Z,$??null,null,X,"columnMenu");return Y.addMenuItems(Q),Y}getMenuItems(J=null,Z=null){let $=this.getDefaultMenuOptions(J),X,Y=(J?.getColDef()??Z?.getColGroupDef())?.mainMenuItems;if(Array.isArray(Y))X=Y;else if(typeof Y==="function")X=Y(x(this.gos,{column:J,columnGroup:Z,defaultItems:$}));else{let Q=this.gos.getCallback("getMainMenuItems");if(Q)X=Q({column:J,columnGroup:Z,defaultItems:$});else X=$}return pQ(X,n0),X}getDefaultMenuOptions(J){let Z=[],{beans:$,gos:X}=this,{colChooserFactory:Y,rowGroupColsSvc:Q,colModel:q,expansionSvc:H,sortSvc:_,menuSvc:z,pinnedCols:U,aggFuncSvc:W,colAutosize:G}=$,B=WJ(X),K=()=>{if(!B&&Y)Z.push("columnChooser");Z.push("resetColumns")};if(!J)return K(),Z;let{colDef:E}=J,L=U&&!E.lockPinned,F=Q?.columns.length??0,D=F>0,k=U0(X),j=X.get("treeData"),A=J.isPrimary(),R=!A||W&&J.isAllowValue()&&(D||k||j);if(_&&!B&&J.isSortable()){let{isDefaultSortAllowed:f,isAbsoluteSortAllowed:I,isAbsoluteSort:v,isDefaultSort:b,isAscending:m,isDescending:N,direction:a}=h8(J,$);if(f&&!(m&&b))Z.push("sortAscending");if(f&&!(N&&b))Z.push("sortDescending");if(I&&!(m&&v))Z.push("sortAbsoluteAscending");if(I&&!(N&&v))Z.push("sortAbsoluteDescending");if(a)Z.push("sortUnSort");Z.push(n0)}if(z?.isFilterMenuItemEnabled(J))Z.push("columnFilter"),Z.push(n0);if(L)Z.push("pinSubMenu");if(R)Z.push("valueAggSubMenu");if(L||R)Z.push(n0);if(G){if(!E.suppressAutoSize)Z.push("autoSizeThis");Z.push("autoSizeAll"),Z.push(n0)}if(Q&&X.isModuleRegistered("SharedRowGrouping")){let f=Z.length;if(E.showRowGroup)Z.push("rowUnGroup");else if(J.isAllowRowGroup()&&A)if(J.isRowGroupActive()){if(!P5(J,$))Z.push("rowUnGroup")}else Z.push("rowGroup");if(Z.length>f)Z.push(n0)}if(K(),H&&(o(X)||X.get("ssrmExpandAllAffectsAllRows"))&&(j||F>(q.isPivotMode()?1:0)))Z.push("expandAll"),Z.push("contractAll");return Z}};var D0="filterMenuTab",k0="generalMenuTab",s0="columnsMenuTab",X7=[k0,D0,s0],iM=class extends M{constructor(){super(...arguments);this.beanName="enterpriseMenuFactory"}hideActiveMenu(){this.destroyBean(this.activeMenu)}showMenuAfterMouseEvent(J,Z,$,X,Y){let{column:Q,columnGroup:q}=this.splitColumnOrGroup(J),H=Y?"filterMenuTab":void 0;this.showMenu(Q,q,(_)=>{let z=_.getGui();if(this.beans.popupSvc.positionPopupUnderMouseEvent({type:$,additionalParams:{column:Q},mouseEvent:Z,ePopup:z}),H)_.showTab?.(H);this.dispatchVisibleChangedEvent(!0,!1,Q,q,H)},$,H,void 0,Z.target,X)}splitColumnOrGroup(J){let Z=J&&$Z(J);return{column:Z?J:void 0,columnGroup:Z?void 0:J}}showMenuAfterButtonClick(J,Z,$,X,Y){let Q=-1,q="left";if(this.gos.get("enableRtl"))Q=1,q="right";let H=Y?"filterMenuTab":void 0,_=H?[H]:void 0,z=WJ(this.gos),U=(z?9:4)*Q,W=z?-23:4,{column:G,columnGroup:B}=this.splitColumnOrGroup(J);this.showMenu(G,B,(K)=>{let E=K.getGui();if(this.beans.popupSvc.positionPopupByComponent({type:$,additionalParams:{column:G},eventSource:Z,ePopup:E,alignSide:q,nudgeX:U,nudgeY:W,position:"under",keepWithinBounds:!0}),H)K.showTab?.(H);this.dispatchVisibleChangedEvent(!0,!1,G,B,H)},$,H,_,Z,X)}showMenu(J,Z,$,X,Y,Q,q,H){let _=this.getMenuParams(J,Z,Q,q);if(!_)return;let{menu:z,eMenuGui:U,anchorToElement:W,restoreFocusParams:G}=_,B=[],{menuUtils:K,popupSvc:E}=this.beans;B.push((F)=>{let D=z.getGui();if(this.destroyBean(z),J)Z5(J,!1,"contextMenu"),K.restoreFocusOnClose(G,D,F);H?.()});let L=this.getLocaleTextFunc();if(E.addPopup({modal:!0,eChild:U,closeOnEsc:!0,closedCallback:(F)=>{for(let D of B)D(F);this.dispatchVisibleChangedEvent(!1,!1,J,Z,Y)},afterGuiAttached:(F)=>z.afterGuiAttached(Object.assign({},{container:X},F)),positionCallback:Y?()=>$(z):void 0,ariaLabel:L("ariaLabelColumnMenu","Column Menu")}),!Y)z.showTabBasedOnPreviousSelection?.(),$(z);if(N8(this.gos)){let F=E.setPopupPositionRelatedToElement(U,W);if(F&&J)this.addStopAnchoring(F,J,B)}if(z.addEventListener("tabSelected",(F)=>{this.dispatchVisibleChangedEvent(!1,!0,J),this.lastSelectedTab=F.key,this.dispatchVisibleChangedEvent(!0,!0,J)}),J)Z5(J,!0,"contextMenu");this.activeMenu=z,z.addEventListener("destroyed",()=>{if(this.activeMenu===z)this.activeMenu=null})}addStopAnchoring(J,Z,$){J.then((X)=>{Z.__addEventListener("leftChanged",X),Z.__addEventListener("visibleChanged",X),$.push(()=>{Z.__removeEventListener("leftChanged",X),Z.__removeEventListener("visibleChanged",X)})})}getMenuParams(J,Z,$,X){let{focusSvc:Y,visibleCols:Q,ctrlsSvc:q}=this.beans,H={column:J,headerPosition:Y.focusedHeader,columnIndex:Q.allCols.indexOf(J),eventSource:X},_=this.createMenu(J,Z,H,$,X);return _?{menu:_,eMenuGui:_.getGui(),anchorToElement:X||q.getGridBodyCtrl().eGridBody,restoreFocusParams:H}:void 0}createMenu(J,Z,$,X,Y){if(WJ(this.gos))return this.createBean(new dM(J,$,this.lastSelectedTab,X,Y));else{let Q=this.beans.colMenuFactory.getMenuItems(J,Z);return Q.length?this.createBean(new nM(Q,J,$,Y)):void 0}}dispatchVisibleChangedEvent(J,Z,$,X,Y){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:J,switchingTab:Z,key:this.lastSelectedTab??Y??(WJ(this.gos)?k0:"columnMenu"),column:$??null,columnGroup:X??null})}isMenuEnabled(J){if(!WJ(this.gos))return!0;let Z=!this.beans.filterManager?.isFilterAllowed(J),$=J.getColDef().menuTabs??X7;return(Z&&$.includes(D0)?$.length-1:$.length)>0}showMenuAfterContextMenuEvent(J,Z,$){this.beans.menuUtils.onContextMenu({mouseEvent:Z,touchEvent:$,source:"ui",showMenuCallback:(X)=>{return this.showMenuAfterMouseEvent(J,X,"columnMenu"),!0}})}},dM=class extends M{constructor(J,Z,$,X,Y){super();this.column=J,this.restoreFocusParams=Z,this.initialSelection=$,this.restrictTo=X,this.sourceElement=Y,this.tabFactories={},this.includeChecks={};let{tabFactories:Q,includeChecks:q}=this;Q[k0]=this.createMainPanel.bind(this),Q[D0]=this.createFilterPanel.bind(this),Q[s0]=this.createColumnsPanel.bind(this),q[k0]=()=>!0,q[D0]=()=>J?!!this.beans.filterManager?.isFilterAllowed(J):!1,q[s0]=()=>!0}postConstruct(){let J=this.getTabsToCreate().map(($)=>this.createTab($)),Z=new aj({items:J,cssClass:"ag-menu",onActiveItemClicked:this.onHidePopup.bind(this),onItemClicked:this.onTabItemClicked.bind(this)});this.tabbedLayout=this.createBean(Z),this.mainMenuList?.setParentComponent(Z),this.addDestroyFunc(()=>this.destroyBean(Z))}getTabsToCreate(){if(this.restrictTo)return this.restrictTo;return(this.column?.getColDef().menuTabs??X7).filter((J)=>this.isValidMenuTabItem(J)&&this.isNotSuppressed(J))}isValidMenuTabItem(J){let Z=!0,$=X7;if(this.restrictTo!=null)Z=this.restrictTo.indexOf(J)>-1,$=this.restrictTo;if(Z=Z&&X7.indexOf(J)>-1,!Z)O(175,{menuTabName:J,itemsToConsider:$});return Z}isNotSuppressed(J){return this.includeChecks[J]()}createTab(J){return this.tabFactories[J]()}showTabBasedOnPreviousSelection(){this.showTab(this.initialSelection)}showTab(J){let{tabItemColumns:Z,tabbedLayout:$,tabItemFilter:X,tabItemGeneral:Y}=this;if(Z&&J===s0)$.showItem(Z);else if(X&&J===D0)$.showItem(X);else if(Y&&J===k0)$.showItem(Y);else $.showFirstItem()}onTabItemClicked(J){let Z=null;switch(J.item){case this.tabItemColumns:Z=s0;break;case this.tabItemFilter:Z=D0;break;case this.tabItemGeneral:Z=k0;break}if(Z)this.activateTab(Z)}activateTab(J){let Z={type:"tabSelected",key:J};this.dispatchLocalEvent(Z)}createMainPanel(){let{beans:J,column:Z}=this,$=J.colMenuFactory,X=$.createMenu(this,$.getMenuItems(Z),this.column,()=>this.sourceElement??this.getGui());this.mainMenuList=X,X.addEventListener("closeMenu",this.onHidePopup.bind(this));let Y={title:h("legacyMenu",J,Z),titleLabel:k0.replace("MenuTab",""),bodyPromise:g.resolve(X.getGui()),name:k0};return this.tabItemGeneral=Y,Y}onHidePopup(J){this.beans.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,J)}createFilterPanel(){let J=this.column?this.createBean(new C9(this.column,"COLUMN_MENU")):null;if(this.filterComp=J,!J?.hasFilter())e(119);let Z=(X)=>J?.afterGuiAttached(X),$=()=>J?.afterGuiDetached();return this.tabItemFilter={title:h("filterTab",this.beans,this.column),titleLabel:D0.replace("MenuTab",""),bodyPromise:g.resolve(J?.getGui()),afterAttachedCallback:Z,afterDetachedCallback:$,name:D0},this.tabItemFilter}createColumnsPanel(){let J=XJ({tag:"div",cls:"ag-menu-column-select-wrapper"}),{beans:Z,column:$}=this,Y=Z.colChooserFactory.createColumnSelectPanel(this,$).getGui();Y.classList.add("ag-menu-column-select"),J.appendChild(Y);let Q={title:h("columns",Z,$),titleLabel:s0.replace("MenuTab",""),bodyPromise:g.resolve(J),name:s0};return this.tabItemColumns=Q,Q}afterGuiAttached(J){let{container:Z,hidePopup:$}=J;if(this.tabbedLayout.setAfterAttachedParams({container:Z,hidePopup:$}),$)this.hidePopupFunc=$,this.addDestroyFunc($)}getGui(){return this.tabbedLayout.getGui()}destroy(){super.destroy(),this.destroyBean(this.filterComp)}},nM=class extends y{constructor(J,Z,$,X){super({tag:"div",ref:"eColumnMenu",cls:"ag-menu ag-column-menu",role:"presentation"});this.menuItems=J,this.column=Z,this.restoreFocusParams=$,this.sourceElement=X,this.eColumnMenu=S}postConstruct(){let J=this.beans.colMenuFactory.createMenu(this,this.menuItems,this.column,()=>this.sourceElement??this.getGui());this.mainMenuList=J,J.addEventListener("closeMenu",this.onHidePopup.bind(this)),this.eColumnMenu.appendChild(J.getGui())}onHidePopup(J){this.beans.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,J)}afterGuiAttached({hidePopup:J}){if(J)this.hidePopupFunc=J,this.addDestroyFunc(J);DJ(this.mainMenuList.getGui())}};function sM(J,Z){J.colChooserFactory?.showColumnChooser({chooserParams:Z})}function rM(J){J.colChooserFactory?.hideActiveColumnChooser()}var tM=class extends M{constructor(){super(...arguments);this.beanName="menuUtils"}restoreFocusOnClose(J,Z,$,X){let{eventSource:Y}=J,Q=$ instanceof KeyboardEvent;if(!X&&!Q||!Y)return;let q=n(this.beans);if(!Z.contains(q)&&!h0(this.beans))return;this.focusHeaderCell(J)}closePopupAndRestoreFocusOnSelect(J,Z,$){let X;if($?.keyboardEvent)X=$.keyboardEvent;J(X&&{keyboardEvent:X});let Y=this.beans,Q=Y.focusSvc,q=Q.getFocusedCell();if(h0(Y))if(q){let{rowIndex:H,rowPinned:_,column:z}=q;Q.setFocusedCell({rowIndex:H,column:z,rowPinned:_,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}else this.focusHeaderCell(Z)}onContextMenu(J){let{mouseEvent:Z,touchEvent:$,showMenuCallback:X,source:Y}=J;if(!this.gos.get("allowContextMenuWithControlKey")){if(Z&&(Z.ctrlKey||Z.metaKey))return}if(Z)this.blockMiddleClickScrollsIfNeeded(Z);if(Y==="ui"&&this.gos.get("suppressContextMenu"))return;let Q=Z??$.touches[0];if(X(Q)){let q=Z??$;if(q?.cancelable)q.preventDefault()}}async focusHeaderCell(J){let{column:Z,columnIndex:$,headerPosition:X,eventSource:Y}=J,{visibleCols:Q,headerNavigation:q,focusSvc:H}=this.beans,_=await Q.allCols.some((z)=>z===Z);if(!this.isAlive())return;if(Z?.isAlive()&&_&&Y&&AJ(Y)){let z=x6(Y);if(z)q?.scrollToColumn(Z),z.focus()}else if(X&&$!==-1){let z=Q.allCols,U=z[$]||C(z);if(U)H.focusHeaderPosition({headerPosition:{headerRowIndex:X.headerRowIndex,column:U}})}}blockMiddleClickScrollsIfNeeded(J){if(this.gos.get("suppressMiddleClickScrolls")&&J.which===2)J.preventDefault()}},lM={moduleName:"MenuCore",version:$J,beans:[mM,xM,tM],icons:{chart:"chart",columns:"columns",loadingMenuItems:"loading",menuPin:"pin",menuValue:"aggregation",menuAddRowGroup:"group",menuRemoveRowGroup:"group",clipboardCopy:"copy",clipboardCut:"cut",clipboardPaste:"paste",save:"save",csvExport:"csv",excelExport:"excel",sortAscending:"asc",sortDescending:"desc",sortAbsoluteAscending:"aasc",sortAbsoluteDescending:"adesc",sortUnSort:"none"},dependsOn:[IJ,d0,f9,$$]},iQ={moduleName:"ColumnMenu",version:$J,beans:[iM,pM,wM],icons:{ensureColumnVisible:"column-arrow",legacyMenu:"menu",filterTab:"filter",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate"},apiFunctions:{showColumnChooser:sM,hideColumnChooser:rM},dependsOn:[lM,L5,F5]};var aM=".ag-status-bar{border-top:var(--ag-footer-row-border);display:flex;justify-content:space-between;line-height:1.5;overflow:hidden;padding-left:calc(var(--ag-spacing)*4);padding-right:calc(var(--ag-spacing)*4)}.ag-status-panel,:where(.ag-status-panel.ag-status-panel-aggregations .ag-status-name-value){display:inline-flex}.ag-status-name-value{color:var(--ag-status-bar-label-color);font-weight:var(--ag-status-bar-label-font-weight);margin-left:var(--ag-spacing);margin-right:var(--ag-spacing);padding-bottom:var(--ag-widget-container-vertical-padding);padding-top:var(--ag-widget-container-vertical-padding);white-space:nowrap}.ag-status-name-value-value{color:var(--ag-status-bar-value-color);font-weight:var(--ag-status-bar-value-font-weight)}.ag-status-bar-left{display:inline-flex}.ag-status-bar-center{display:inline-flex;text-align:center}.ag-status-bar-right{display:inline-flex}";function oM(J,Z,$){return J.getCompDetails(Z,eM,void 0,$,!0)}var eM={name:"statusPanel",optionalMethods:["refresh"]},JR={agAggregationComponent:{rowModels:["clientSide","serverSide"],warnArgs:[221]},agFilteredRowCountComponent:{rowModels:["clientSide"],warnArgs:[222]},agSelectedRowCountComponent:{rowModels:["clientSide","serverSide"],warnArgs:[223]},agTotalAndFilteredRowCountComponent:{rowModels:["clientSide"],warnArgs:[224]},agTotalRowCountComponent:{rowModels:["clientSide"],warnArgs:[225]}},ZR={tag:"div",cls:"ag-status-bar",children:[{tag:"div",ref:"eStatusBarLeft",cls:"ag-status-bar-left",role:"status"},{tag:"div",ref:"eStatusBarCenter",cls:"ag-status-bar-center",role:"status"},{tag:"div",ref:"eStatusBarRight",cls:"ag-status-bar-right",role:"status"}]},$R=class extends y{constructor(){super(ZR);this.updateQueued=!1,this.panelsPromise=g.resolve(),this.eStatusBarLeft=S,this.eStatusBarCenter=S,this.eStatusBarRight=S,this.compDestroyFunctions={},this.registerCSS(aM)}wireBeans(J){this.userCompFactory=J.userCompFactory,this.statusBarSvc=J.statusBarSvc}postConstruct(){this.processStatusPanels(new Map),this.addManagedPropertyListeners(["statusBar"],this.handleStatusBarChanged.bind(this)),B0(this.beans,this,this.getGui())}getFocusableContainerName(){return"statusBar"}getValidPanels(){let J=this.gos,Z=J.get("statusBar")?.statusPanels;if(!Z)return Z;return Z.filter(($)=>{let{rowModels:X,warnArgs:Y}=JR[$.statusPanel]??{};if(!X)return!0;if(X.includes(J.get("rowModelType")))return!0;return O(...Y),!1})}processStatusPanels(J){let Z=this.getValidPanels();if(Z){let $=Z.filter((Q)=>Q.align==="left"),X=Z.filter((Q)=>Q.align==="center"),Y=Z.filter((Q)=>!Q.align||Q.align==="right");this.panelsPromise=g.all([this.createAndRenderComponents($,this.eStatusBarLeft,J),this.createAndRenderComponents(X,this.eStatusBarCenter,J),this.createAndRenderComponents(Y,this.eStatusBarRight,J)])}else this.setDisplayed(!1)}handleStatusBarChanged(){if(this.updateQueued)return;this.updateQueued=!0,this.panelsPromise.then(()=>{this.updateStatusBar(),this.updateQueued=!1})}updateStatusBar(){let J=this.getValidPanels(),Z=Array.isArray(J)&&J.length>0;this.setDisplayed(Z);let $=new Map;if(Z)for(let X of J){let Y=X.key??X.statusPanel,Q=this.statusBarSvc.getStatusPanel(Y);if(Q?.refresh){let q=x(this.gos,{...X.statusPanelParams??{},key:Y});if(Q.refresh(q))$.set(Y,Q),delete this.compDestroyFunctions[Y],TJ(Q.getGui())}}if(this.resetStatusBar(),Z)this.processStatusPanels($)}resetStatusBar(){ZJ(this.eStatusBarLeft),ZJ(this.eStatusBarCenter),ZJ(this.eStatusBarRight),this.destroyComponents(),this.statusBarSvc.unregisterAllComponents()}destroy(){this.destroyComponents(),super.destroy()}destroyComponents(){for(let J of Object.values(this.compDestroyFunctions))J();this.compDestroyFunctions={}}createAndRenderComponents(J,Z,$){let X=[];for(let Y of J){let Q=Y.key||Y.statusPanel,q=$.get(Q),H;if(q)H=g.resolve(q);else{let _=oM(this.userCompFactory,Y,x(this.gos,{key:Q}));if(_==null)continue;H=_.newAgStackInstance()}X.push({key:Q,promise:H})}return g.all(X.map((Y)=>Y.promise)).then(()=>{for(let Y of X)Y.promise.then((Q)=>{let q=()=>{this.destroyBean(Q)};if(this.isAlive())this.statusBarSvc.registerStatusPanel(Y.key,Q),Z.appendChild(Q.getGui()),this.compDestroyFunctions[Y.key]=q;else q()})})}},XR={selector:"AG-STATUS-BAR",component:$R},YR={tag:"div",cls:"ag-status-name-value",children:[{tag:"span",ref:"eLabel"},": ",{tag:"span",ref:"eValue",cls:"ag-status-name-value-value"}]},QR=BigInt(Number.MIN_SAFE_INTEGER),qR=BigInt(Number.MAX_SAFE_INTEGER),I5=class extends y{constructor(){super(YR);this.eLabel=S,this.eValue=S}setLabel(J,Z){this.setDisplayed(!1),this.eLabel.textContent=this.getLocaleTextFunc()(J,Z)}setValue(J,Z){let $=null,X;if(typeof J==="bigint"){if(X=J,J>=QR&&J<=qR)$=Number(J)}else $=J;this.eValue.textContent=this.valueFormatter(x(this.gos,{value:$,bigintValue:X,totalRows:Z,key:this.key}))}},HR={selector:"AG-NAME-VALUE",component:I5},dQ=(J)=>{let Z=0;return J.forEachNodeAfterFilter(($)=>{if($.data)Z++}),Z},b5=(J)=>{let Z=0;return J.forEachNode(($)=>{if($.data)Z++}),Z};function _R(J,Z){if(typeof J!=="number")return"";return kZ(Math.round(J*100)/100,Z)}var zR={tag:"div",cls:"ag-status-panel ag-status-panel-aggregations",children:[{tag:"ag-name-value",ref:"avgAggregationComp"},{tag:"ag-name-value",ref:"countAggregationComp"},{tag:"ag-name-value",ref:"minAggregationComp"},{tag:"ag-name-value",ref:"maxAggregationComp"},{tag:"ag-name-value",ref:"sumAggregationComp"}]},UR=class extends y{constructor(){super(zR,[HR]);this.sumAggregationComp=S,this.countAggregationComp=S,this.minAggregationComp=S,this.maxAggregationComp=S,this.avgAggregationComp=S}postConstruct(){this.avgAggregationComp.setLabel("avg","Average"),this.countAggregationComp.setLabel("count","Count"),this.minAggregationComp.setLabel("min","Min"),this.maxAggregationComp.setLabel("max","Max"),this.sumAggregationComp.setLabel("sum","Sum"),this.addManagedEventListeners({cellSelectionChanged:this.onCellSelectionChanged.bind(this),modelUpdated:this.onCellSelectionChanged.bind(this)})}init(J){this.refresh(J)}refresh(J){this.params=J;let Z=J.valueFormatter??((X)=>{let{value:Y,bigintValue:Q}=X;if(Q!=null)return Q.toString();return _R(Y,this.getLocaleTextFunc.bind(this))}),$=["avg","count","min","max","sum"];for(let X of $){let Y=this.getAllowedAggregationValueComponent(X);if(Y)Y.key=X,Y.valueFormatter=Z.bind(this)}return this.onCellSelectionChanged(),!0}setAggregationComponentValue(J,Z,$){let X=this.getAllowedAggregationValueComponent(J),Y=b5(this.beans.rowModel);if(T(X)&&X)X.setValue(Z,Y),X.setDisplayed($);else this.getAggregationValueComponent(J)?.setDisplayed(!1)}getAllowedAggregationValueComponent(J){let{aggFuncs:Z}=this.params;if(!Z||Z.includes(J))return this.getAggregationValueComponent(J);return null}getAggregationValueComponent(J){let Z=`${J}AggregationComp`;return this[Z]}onCellSelectionChanged(){let J=this.beans,{rangeSvc:Z,valueSvc:$}=J,X=Z?.getCellRanges(),Y=0,Q=0n,q=!1,H=!1,_=0,z=0,U=null,W=null,G=null,B=null,K=(v)=>{if(typeof v==="number"){if(Y+=v,U===null||vW)W=v;if(!Number.isInteger(v)||!Number.isSafeInteger(v))H=!0;else{let b=BigInt(v);if(Q+=b,G===null||bB)B=b}}else{if(q=!0,Q+=v,G===null||vB)B=v;let b=Number(v);if(Y+=b,U===null||bW)W=b}z++},E={};if(X?.length&&Z)for(let v=0;v{if(m===null)return;let u=CZ({rowPinned:m.rowPinned,column:s,rowIndex:m.rowIndex});if(E[u])return;E[u]=!0;let JJ=kJ(J,m);if(d(JJ))return;let r=$.getValue(s,JJ,"data");if(d(r)||r==="")return;if(_++,typeof r==="object"&&"value"in r){if(r=r.value,r==="")return}if(typeof r==="string"){let SJ=r.trim();if(SJ==="")return;let fJ=Number(SJ);if(!Number.isFinite(fJ))return;if(Y+fJ>=Number.MAX_SAFE_INTEGER||Y+fJ<=Number.MIN_SAFE_INTEGER||fJ>=Number.MAX_SAFE_INTEGER||fJ<=Number.MIN_SAFE_INTEGER){if(r=_0(SJ),r===null)r=fJ}else r=fJ}if(typeof r==="number"&&!isNaN(r)||typeof r==="bigint")K(r)}),m=LJ(J,m)}}let L=_>1,F=z>1,D=q&&!H,k;if(D)k=Q/BigInt(z);else k=Y/z;let j=F?D?Q:Y:null,A=F?D?G:U:null,R=F?D?B:W:null,f=F?k:null,I=F;this.setAggregationComponentValue("count",_,L),this.setAggregationComponentValue("sum",j,F),this.setAggregationComponentValue("min",A,F),this.setAggregationComponentValue("max",R,F),this.setAggregationComponentValue("avg",f,I)}},WR=class extends I5{postConstruct(){this.setLabel("filteredRows","Filtered"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-filtered-row-count"),this.setDisplayed(!0);let J=this.onDataChanged.bind(this);this.addManagedEventListeners({modelUpdated:J})}onDataChanged(){let{rowModel:J}=this.beans,Z=b5(J),$=dQ(J);this.setValue($,Z),this.setDisplayed(Z!==$)}init(J){this.refresh(J),this.onDataChanged()}updateValueFormatter(J){this.valueFormatter=J??(({value:Z})=>kZ(Z,this.getLocaleTextFunc.bind(this)))}refresh(J){let{key:Z,valueFormatter:$}=J;return this.key=Z,this.updateValueFormatter($),!0}},GR=class extends I5{postConstruct(){this.setLabel("selectedRows","Selected"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-selected-row-count");let J=this.onRowSelectionChanged.bind(this);this.addManagedEventListeners({modelUpdated:J,selectionChanged:J})}onRowSelectionChanged(){let{selectionSvc:J,rowModel:Z}=this.beans,$=J?.getSelectionCount()??0,X=b5(Z);if(this.setValue($,X),$<0){this.setDisplayed(!0);return}this.setDisplayed($>0)}init(J){this.refresh(J),this.onRowSelectionChanged()}updateValueFormatter(J){this.valueFormatter=J??(({value:Z})=>{if(Z==null||Z>=0)return kZ(Z,this.getLocaleTextFunc.bind(this));return this.getLocaleTextFunc()("statusBarLastRowUnknown","?")})}refresh(J){let{key:Z,valueFormatter:$}=J;return this.key=Z,this.updateValueFormatter($),!0}},BR=class extends I5{postConstruct(){this.setLabel("totalAndFilteredRows","Rows"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-total-and-filtered-row-count"),this.setDisplayed(!0),this.addManagedEventListeners({modelUpdated:this.onDataChanged.bind(this)})}onDataChanged(){let{rowModel:J}=this.beans,Z=dQ(J),$=b5(J);this.setValue(Z,$)}init(J){this.refresh(J),this.onDataChanged()}updateValueFormatter(J){this.valueFormatter=J??(({value:Z,totalRows:$})=>{let X=this.getLocaleTextFunc.bind(this),Y=kZ(Z,X),Q=kZ($??Z,X);if(Z===$)return Y;let q=X();return`${Y} ${q("of","of")} ${Q}`})}refresh(J){let{key:Z,valueFormatter:$}=J;return this.key=Z,this.updateValueFormatter($),!0}},KR=class extends I5{postConstruct(){this.setLabel("totalRows","Total Rows"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-total-row-count"),this.setDisplayed(!0),this.addManagedEventListeners({modelUpdated:this.onDataChanged.bind(this)})}onDataChanged(){let J=b5(this.beans.rowModel);this.setValue(J,J)}init(J){this.refresh(J),this.onDataChanged()}updateValueFormatter(J){this.valueFormatter=J??(({value:Z})=>kZ(Z,this.getLocaleTextFunc.bind(this)))}refresh(J){let{key:Z,valueFormatter:$}=J;return this.key=Z,this.updateValueFormatter($),!0}};function ER(J,Z){let $=J.statusBarSvc?.getStatusPanel(Z);return mZ($)}var LR=class extends M{constructor(){super();this.beanName="statusBarSvc",this.comps=new Map}registerStatusPanel(J,Z){this.comps.set(J,Z)}unregisterStatusPanel(J){this.comps.delete(J)}unregisterAllComponents(){this.comps.clear()}getStatusPanel(J){return this.comps.get(J)}destroy(){this.unregisterAllComponents(),super.destroy()}},nQ={moduleName:"StatusBar",version:$J,beans:[LR],userComponents:{agAggregationComponent:UR,agTotalRowCountComponent:KR,agFilteredRowCountComponent:WR,agTotalAndFilteredRowCountComponent:BR,agSelectedRowCountComponent:GR},selectors:[XR],apiFunctions:{getStatusPanel:ER},dependsOn:[IJ,i0]};function sQ(J){if(J.excelCreator?.getFactoryMode()==="MULTI_SHEET")return O(161),!1;return!0}function FR(J,Z){if(sQ(J))return J.excelCreator?.getDataAsExcel(Z);return}function DR(J,Z){if(sQ(J))J.excelCreator?.exportDataAsExcel(Z)}function kR(J,Z){return J.excelCreator?.setFactoryMode("MULTI_SHEET"),J.excelCreator?.getSheetDataForExcel(Z)}function VR(J,Z){return J.excelCreator?.getMultipleSheetsAsExcel(Z)}function jR(J,Z){J.excelCreator?.exportMultipleSheetsAsExcel(Z)}var rQ={moduleName:"ExcelExport",version:$J,beans:[gj],apiFunctions:{getDataAsExcel:FR,exportDataAsExcel:DR,getSheetDataForExcel:kR,getMultipleSheetsAsExcel:VR,exportMultipleSheetsAsExcel:jR},dependsOn:[M9,IJ]};function E7(J){let{filters:Z}=J;return Z&&Z.length>0?Z:[{filter:"agTextColumnFilter"},{filter:"agSetColumnFilter"}]}function U7(J,Z){if(J==null)return;for(let $=J.length-1;$>=0;$--)Z(J[$],$)}function AR(J,Z){if(Z.title!=null)return Z.title;return J instanceof y6?J.getFilterTitle():"Filter"}function W7(J,Z,$,X){let Y=[],Q=J?.filterModels;for(let q=0;qq==null)?null:{filterType:"multi",filterModels:Y}}function dZ(J,Z){return J?.filterModels?.[Z]??null}function G7(J,Z,$,X){let Y=$.filterValueGetter;return Y?J.colFilter.createGetValue(Z,Y):X}var tQ=class extends H9{constructor(){super({tag:"div",cls:"ag-multi-filter ag-menu-list-compact"});this.filterDefs=[],this.guiDestroyFuncs=[],this.filterGuis=[],this.lastActivatedMenuItem=null}postConstruct(){this.initialiseTabGuard({onFocusIn:(J)=>this.onFocusIn(J)})}refreshGui(J){if(J===this.lastOpenedInContainer)return g.resolve();return this.tabGuardFeature.removeAllChildrenExceptTabGuards(),this.destroyChildren(),g.all(this.getFilterWrappers().map((Z,$)=>{if(!Z)return g.resolve(null);let X=this.getFilterFromWrapper(Z),Y=this.getCompFromWrapper(Z),Q=this.filterDefs[$],q=AR(X,Q),H;if(Q.display==="subMenu"&&J!=="toolPanel")H=this.insertFilterMenu(Y,X,q).then((_)=>_.getGui());else if(Q.display==="subMenu"||Q.display==="accordion"){let _=this.insertFilterGroup(X,Y,q);H=g.resolve(_.getGui())}else H=g.resolve(Y.getGui());return H})).then((Z)=>{Z.forEach(($,X)=>{if(!$)return;if(X>0)this.appendChild(XJ({tag:"div",cls:"ag-filter-separator"}));this.appendChild($)}),this.filterGuis=Z,this.lastOpenedInContainer=J})}destroyChildren(){for(let J of this.guiDestroyFuncs)J();this.guiDestroyFuncs.length=0,this.filterGuis.length=0}insertFilterMenu(J,Z,$){let X=J.getGui();zJ(X,"dialog");let Y=this.createBean(new eA),Q={getGui:()=>J.getGui(),afterGuiAttached:(q)=>{if(J.afterGuiAttached?.(q),J!==Z)Z.afterGuiAttached?.(q)}};return Y.init({menuItemDef:{name:$,subMenu:[],subMenuRole:"dialog",cssClasses:["ag-multi-filter-menu-item"],menuItem:SQ,menuItemParams:{cssClassPrefix:"ag-compact-menu-option",isCompact:!0}},level:0,isAnotherSubMenuOpen:()=>!1,childComponent:Q,contextParams:{column:null,node:null,value:null}}).then(()=>{Y.setParentComponent(this),this.guiDestroyFuncs.push(()=>this.destroyBean(Y)),this.addManagedListeners(Y,{menuItemActivated:(H)=>{if(this.lastActivatedMenuItem&&this.lastActivatedMenuItem!==H.menuItem)this.lastActivatedMenuItem.deactivate();this.lastActivatedMenuItem=H.menuItem}});let q=Y.getGui();return Y.addManagedElementListeners(q,{keydown:(H)=>{let{key:_}=H;switch(_){case V.UP:case V.RIGHT:case V.DOWN:case V.LEFT:if(H.preventDefault(),_===V.RIGHT)Y.openSubMenu(!0);break}},focusin:()=>Y.activate(),focusout:()=>{if(!Y.isSubMenuOpen()&&!Y.isSubMenuOpening())Y.deactivate()}}),Y})}insertFilterGroup(J,Z,$){let X=this.createBean(new JA({title:$,cssIdentifier:"multi-filter"}));if(this.guiDestroyFuncs.push(()=>this.destroyBean(X)),X.addItem(Z.getGui()),X.toggleGroupExpand(!1),J.afterGuiAttached)X.addManagedListeners(X,{expanded:()=>J.afterGuiAttached({container:this.lastOpenedInContainer,suppressFocus:!0,hidePopup:this.hidePopup})});return X}afterGuiAttached(J){let Z;if(J)this.hidePopup=J.hidePopup,Z=this.refreshGui(J.container);else this.hidePopup=void 0,Z=g.resolve();let $=J?.suppressFocus;Z.then(()=>{let{filterDefs:X,filterGuis:Y,beans:Q}=this,q=this.getFilterWrappers(),H=!!$;if(X)U7(X,(z,U)=>{let W=U===0,G=z.display&&z.display!=="inline",B=$||!W||G,K={...J??{},suppressFocus:B},E=q[U],L=E?this.getFilterFromWrapper(E):void 0;if(E){let F=this.getCompFromWrapper(E);if(F!==L)F.afterGuiAttached(K)}if(L){if(this.executeFunctionIfExistsOnFilter(L,"afterGuiAttached",K),W&&!B)H=!0}if(!$&&W&&G){let F=Y[U];if(F){if(!DJ(F))F.focus({preventScroll:!0});H=!0}}});let _=n(Q);if(!H&&(h0(Q)||this.getGui().contains(_)))this.forceFocusOutOfContainer(!0)})}afterGuiDetached(){this.executeFunctionIfExists("afterGuiDetached")}onAnyFilterChanged(){this.executeFunctionIfExists("onAnyFilterChanged",(J)=>this.executeOnWrapper(J,"onAnyFilterChanged"))}onNewRowsLoaded(){this.executeFunctionIfExists("onNewRowsLoaded",(J)=>this.executeOnWrapper(J,"onNewRowsLoaded"))}destroy(){this.destroyChildren(),this.hidePopup=void 0,super.destroy()}executeOnWrapper(J,Z){}executeFunctionIfExists(J,Z){U7(this.getFilterWrappers(),($)=>{if($)Z?.($),this.executeFunctionIfExistsOnFilter(this.getFilterFromWrapper($),J)})}executeFunctionIfExistsOnFilter(J,Z,...$){let X=J[Z];if(typeof X==="function")X.apply(J,$)}onFocusIn(J){let Z=this.lastActivatedMenuItem;if(Z!=null&&!Z.getGui().contains(J.target))Z.deactivate(),this.lastActivatedMenuItem=null}},lQ=class extends tQ{constructor(){super(...arguments);this.filterType="multi",this.wrappers=[],this.activeFilterIndices=[],this.afterFiltersReadyFuncs=[]}init(J){this.params=J,this.filterDefs=E7(J);let Z=FJ(this.beans.colFilter.model,J.column.getColId()),{filterChangedCallback:$}=J;this.filterChangedCallback=$;let X=this.filterDefs.map((Y,Q)=>this.createFilter(Y,Q,Z));return new g((Y)=>{g.all(X).then((Q)=>{this.wrappers=Q,this.refreshGui("columnMenu").then(()=>{Y()})})}).then(()=>{for(let Y of this.afterFiltersReadyFuncs)Y();this.afterFiltersReadyFuncs.length=0})}refresh(J){return this.params=J,!0}isFilterActive(){return this.wrappers.some((J)=>{if(!J)return!1;let{filter:Z,handler:$,model:X}=J;if($)return X!=null;return Z.isFilterActive()})}getLastActiveFilterIndex(){let J=this.activeFilterIndices;return J.length>0?J[J.length-1]:null}doesFilterPass(J,Z){return this.wrappers.every(($,X)=>{if(!$||Z!=null&&X===Z)return!0;let{handler:Y,filter:Q,model:q}=$;if(Y)return q==null||Y.doesFilterPass({...J,model:q,handlerParams:$.handlerParams});return!Q.isFilterActive()||Q.doesFilterPass(J)})}getModelFromUi(){return{filterType:this.filterType,filterModels:this.wrappers.map((Z)=>{if(!Z)return null;let $=Z.filter;if(typeof $.getModelFromUi==="function")return $.getModelFromUi();return null})}}getModel(){if(!this.isFilterActive())return null;return{filterType:this.filterType,filterModels:this.wrappers.map((Z)=>{if(!Z)return null;let{filter:$,handler:X,model:Y}=Z;if(X)return Y;return $.isFilterActive()?$.getModel():null})}}setModel(J){let Z=(X,Y)=>{return new g((Q)=>{let q=X.setModel(Y);if(q)q.then(Q);else Q()})},$=[];return this.wrappers.forEach((X,Y)=>{if(!X)return;let Q=dZ(J,Y),{filter:q,filterParams:H,handler:_,handlerParams:z,state:U}=X;if(_){let W={model:Q,state:U?.state};X.state=W,X.model=Q,$.push(s6(()=>g.resolve({filter:q,filterParams:H}),_,z,Q,W,"api").then(()=>{this.updateActiveListForHandler(Y,X.model)}))}else $.push(Z(q,Q).then(()=>{this.updateActiveListForFilter(Y,q)}))}),g.all($).then(()=>{})}applyModel(J="api"){let Z=!1;for(let $ of this.wrappers)if($){let X=$.filter;if(X instanceof y6)Z=X.applyModel(J)||Z}return Z}getChildFilterInstance(J){return this.wrappers[J]?.filter}getNumChildFilters(){return this.wrappers.length}destroy(){for(let J of this.wrappers)this.destroyBean(J?.filter),this.destroyBean(J?.handler);this.wrappers.length=0,super.destroy()}getFilterWrappers(){return this.wrappers}getFilterFromWrapper(J){return J.filter}getCompFromWrapper(J){return J.comp}executeOnWrapper(J,Z){J.handler?.[Z]?.()}createFilter(J,Z,$){let X=this.params.column,Y=null,Q,q=this.beans,H=(B,K)=>{let E=this.wrappers[Z];if(!E)return;let L={model:B,state:E.state?.state};E.state=L,E.model=B,s6(()=>g.resolve({filter:E.filter,filterParams:E.filterParams}),E.handler,E.handlerParams,B,L,"ui").then(()=>{this.onHandlerModelChanged(Z,E.model,K)})},{compDetails:_,handler:z,handlerParams:U,createFilterUi:W}=q.colFilter.createFilterInstance(X,J,"agTextColumnFilter",(B,K)=>{let E={...B,filterChangedCallback:K?()=>{}:(L)=>{this.executeWhenAllFiltersReady(()=>this.onFilterModelChanged(Z,L))},doesRowPassOtherFilter:(L)=>B.doesRowPassOtherFilter(L)&&this.doesFilterPass({node:L,data:L.data},Z),getValue:G7(q,X,J,B.getValue)};if(K)Y=dZ($,Z),Q=this.updateDisplayParams(E,Z,Y,()=>_,()=>z,H);return E});if(!W)return g.resolve(null);let G;if(z){let{doesRowPassOtherFilter:B,getValue:K}=U;G={...U,onModelChange:H,doesRowPassOtherFilter:(E)=>B(E)&&this.doesFilterPass({node:E,data:E.data},Z),getValue:G7(q,X,J,K)},z.init?.({...G,model:Y,source:"init"})}return W().then((B)=>{if(!z)return{filter:B,comp:B};let K=_?.params,E=Q(B);return{filter:B,comp:E,filterParams:K,handler:z,handlerParams:G,model:Y}})}updateDisplayParams(J,Z,$,X,Y,Q){let q=this.params.column,H=new EZ;J.model=$,J.state={model:$},J.onModelChange=Q,J.getHandler=Y;let _=(U,W)=>{U.state=W,H.dispatchEvent({type:"filterStateChanged",column:q,state:W})};J.onStateChange=(U)=>{let W=this.wrappers[Z];if(!W)return;_(W,U),M2(W.filter,W.filterParams,W.model??null,U,"ui")};let z=(U,W,G)=>{let B=this.wrappers[Z];if(!B)return;let K=()=>B?.model??null;L6({action:W,filterParams:B.filterParams,getFilterUi:()=>{let E=g.resolve(B.filter);return{created:!0,filterParams:B.filterParams,compDetails:X(),create:()=>E,promise:E}},getModel:K,getState:()=>B?.state??{model:K()},updateState:(E)=>_(B,E),updateModel:(E)=>B.filterParams?.onModelChange(E,G),processModelToApply:B.handler?.processModelToApply?.bind(B.handler)})};return J.onAction=(U,W,G)=>{z(q,U,W),H.dispatchEvent({type:"filterAction",column:q,action:U,event:G})},(U)=>{let W=X()?.params;return this.createManagedBean(new b9(q,{comp:U,params:W,isHandler:!0},H,z,!1))}}executeWhenAllFiltersReady(J){if((this.wrappers?.length??0)>0)J();else this.afterFiltersReadyFuncs.push(J)}updateActiveListForFilter(J,Z){this.updateActiveList(J,()=>Z?.isFilterActive())}updateActiveListForHandler(J,Z){this.updateActiveList(J,()=>Z!=null)}updateActiveList(J,Z){let $=this.activeFilterIndices;if(YJ(this.activeFilterIndices,J),Z())$.push(J)}onFilterModelChanged(J,Z){this.updateActiveListForFilter(J,this.wrappers[J]?.filter),this.filterChanged(J,Z)}onHandlerModelChanged(J,Z,$){this.updateActiveListForHandler(J,Z),this.filterChanged(J,$)}filterChanged(J,Z){this.filterChangedCallback(Z),this.wrappers.forEach(($,X)=>{if(J===X||!$)return;let{filter:Y,handler:Q}=$;if(Q?.onAnyFilterChanged?.(),typeof Y.onAnyFilterChanged==="function")Y.onAnyFilterChanged()})}getModelAsString(J){if(!J?.filterModels?.length)return"";let Z=this.getLastActiveFilterIndex()??0;return this.wrappers[Z]?.filter?.getModelAsString?.(J.filterModels[Z])??""}},MR=class extends M{constructor(){super(...arguments);this.filterType="multi",this.handlerWrappers=[],this.activeFilterIndices=[],this.filterDefs=[]}init(J){this.params=J;let Z=E7(J.filterParams);this.filterDefs=Z,Z.forEach(($,X)=>{let Y=this.beans.colFilter.createHandler(J.column,$,"agTextColumnFilter");if(this.handlerWrappers.push(Y),!Y){O(278,{colId:J.column.getColId()});return}let{handler:Q,handlerParams:q}=Y;Q.init?.({...this.updateHandlerParams(q,X,!0),model:dZ(J.model,X),source:"init"})}),this.resetActiveList(J.model)}refresh(J){this.params=J;let{model:Z,source:$,filterParams:X}=J,Y=X?.filters;if(this.handlerWrappers.forEach((Q,q)=>{if(Q){let H=this.updateHandlerParams(J,q,!1,Y?.[q].filterParams);Q.handlerParams=H,Q.handler.refresh?.({...H,model:dZ(Z,q),source:$})}}),J.source!=="floating"&&J.source!=="ui")this.resetActiveList(J.model);if(J.additionalEventAttributes?.fromButtons)this.onAnyFilterChanged()}updateHandlerParams(J,Z,$,X){let{onModelChange:Y,doesRowPassOtherFilter:Q,getValue:q}=J,H={...J,onModelChange:(_,z)=>Y(W7(this.params.model,this.handlerWrappers.length,_,Z),z),doesRowPassOtherFilter:(_)=>Q(_)&&this.doesFilterPass({node:_,data:_.data,model:this.params.model,handlerParams:H},Z),getValue:G7(this.beans,J.column,this.filterDefs[Z],q),filterParams:this.updateFilterParams(J,$,X)};return H}updateFilterParams(J,Z,$){let X=J.filterParams;if($?.buttons&&Z)O(292,{colId:J.column.getColId()});let Y=$?{...X,...$}:X;if(!Y.buttons)return Y;if($)return delete Y.buttons,Y;let{buttons:Q,...q}=Y;return q}doesFilterPass(J,Z){let $=J.model?.filterModels;if($==null)return!0;return this.handlerWrappers.every((X,Y)=>{let Q=$[Y];if(Q==null||Z!=null&&Y===Z)return!0;let q=X?.handler;return!q||q.doesFilterPass({...J,model:Q,handlerParams:X.handlerParams})})}resetActiveList(J){this.activeFilterIndices=[];let Z=J?.filterModels;if(Z==null)return;for(let $=0;$0?J[J.length-1]:null}getModelAsString(J,Z){let $=Z==="filterToolPanel",X=()=>$?this.getLocaleTextFunc()("filterSummaryInactive","is (All)"):"";if(!J?.filterModels?.length)return X();let Y=this.getLastActiveFilterIndex()??0;return this.handlerWrappers[Y]?.handler.getModelAsString?.(J.filterModels[Y],Z)??X()}getHandler(J){return this.handlerWrappers[J]?.handler}onAnyFilterChanged(){U7(this.handlerWrappers,(J)=>J?.handler?.onAnyFilterChanged?.())}onNewRowsLoaded(){U7(this.handlerWrappers,(J)=>J?.handler?.onNewRowsLoaded?.())}destroy(){for(let J of this.handlerWrappers)this.destroyBean(J?.handler);this.handlerWrappers.length=0,super.destroy()}},RR=class extends M{constructor(){super(...arguments);this.beanName="multiFilter"}getParamsForDataType(J,Z,$,X){let Y=J?.filters,Q=this.beans;if(!Y)Y=[{filter:T9($.baseDataType)},{filter:"agSetColumnFilter"}];let q=this.getLocaleTextFunc();return Y=Y.map((H)=>{let{filter:_,filterParams:z,filterValueGetter:U}=H;if(typeof _!=="string")return H;let{filterParams:W,filterValueGetter:G}=P9(_,z,U??Z,$,X,Q,q);return{...H,filterParams:W,filterValueGetter:G}}),{filterParams:{...J,filters:Y}}}},aQ=class extends tQ{constructor(){super(...arguments);this.filterType="multi",this.filters=[],this.filterParams=[],this.validity=[]}init(J){this.params=J;let Z=E7(J).map((X)=>{if(X.filterParams?.buttons){O(292,{colId:J.column.getColId()});let Y={...X.filterParams};return delete Y.buttons,{...X,filterParams:Y}}return X});this.filterDefs=Z,this.allState=J.state;let $=this.filterDefs.map((X,Y)=>this.createFilter(X,Y));return new g((X)=>{g.all($).then((Y)=>{this.filters=Y,this.refreshGui("columnMenu").then(()=>{X()})})})}refresh(J){let{model:Z,state:$,source:X}=J;if(X==="colDef")return!1;this.params=J;let Y=this.filterParams;if($===this.allState)return!0;this.allState=$;let Q=$.state;return this.filters.forEach((q,H)=>{let _=dZ(Z,H),z={state:Q?.[H],model:dZ($.model,H)};M2(q,Y[H],_,z,X)}),!0}getLastActiveFilterIndex(){return this.getHandler().getLastActiveFilterIndex?.()??null}getChildFilterInstance(J){return this.filters[J]??void 0}getNumChildFilters(){return this.filters.length}destroy(){for(let J of this.filters)this.destroyBean(J);this.filters.length=0,super.destroy()}getFilterWrappers(){return this.filters}getFilterFromWrapper(J){return J}getCompFromWrapper(J){return J}createFilter(J,Z){let $=this.beans.userCompFactory,X=this.updateParams(J,this.params,Z),Y=p8($,J,X,"agTextColumnFilter");if(!Y)return g.resolve(null);return this.filterParams[Z]=Y.params,Y.newAgStackInstance()}updateParams(J,Z,$){let{doesRowPassOtherFilter:X,model:Y,onModelChange:Q,state:q,onStateChange:H,column:_,source:z,onAction:U,onUiChange:W,getValue:G}=Z,B=dZ(Y,$),K=q?{model:dZ(q.model,$),state:q.state?.[$]}:{model:B},E=()=>{let F=this.getHandler();this.filters.forEach((D,k)=>{if($!==k)F.getHandler(k)?.onAnyFilterChanged?.(),D?.onAnyFilterChanged?.()})},L=this.beans.colFilter;return{...L.createBaseFilterParams(_),...J,doesRowPassOtherFilter:(F)=>X(F)&&this.getHandler().doesFilterPass({node:F,data:F.data,model:this.params.model,handlerParams:L.getHandlerParams(_)},$),model:B,state:K,onModelChange:(F,D)=>{let{filters:k,params:j}=this,A=W7(j.model,k.length,F,$);this.updateActiveList($,F),Q(A,D),E()},onStateChange:(F)=>this.onStateChange(H,$,F),getHandler:()=>this.getHandler().getHandler($),onAction:(F,D,k)=>{if(G5(Z))return;let j=F==="apply"||F==="reset";if(j)this.updateActiveList($,dZ(this.params.state.model,$));if(U(F,D,k),j)E()},onUiChange:W,source:z,getValue:G7(this.beans,_,J,G)}}updateActiveList(J,Z){this.getHandler().updateActiveList?.(J,Z)}getHandler(){return this.params.getHandler()}onStateChange(J,Z,$){let{model:X,state:Y,valid:Q}=$,q=this.validity;q[Z]=Q;let H=this.allState,_=W7(H.model,this.filters.length,X,Z),z=q.every((G)=>G!==!1),U=[...H.state??[]];U[Z]=Y;let W={state:U,model:_,valid:z};this.allState=W,J(W)}getModelAsString(J){return this.getHandler().getModelAsString?.(J)??""}},OR={tag:"div",cls:"ag-multi-floating-filter ag-floating-filter-input"},SR=class extends y{constructor(){super(OR);this.floatingFilters=[],this.compDetailsList=[]}init(J){this.params=J;let{compDetailsList:Z}=this.getCompDetailsList(J);return this.setParams(Z)}setParams(J){let Z=[];return J.forEach(($)=>{let X=$?.newAgStackInstance();if(X!=null)this.compDetailsList.push($),Z.push(X)}),g.all(Z).then(($)=>{$.forEach((X,Y)=>{this.floatingFilters.push(X);let Q=X.getGui();if(this.appendChild(Q),Y>0)w(Q,!1)})})}refresh(J){this.params=J;let{compDetailsList:Z,floatingFilterParamsList:$}=this.getCompDetailsList(J);if(Z.length===this.compDetailsList.length&&Z.every((Y,Q)=>!this.beans.colFilter?.areFilterCompsDifferent(this.compDetailsList[Q],Y))){if($.forEach((Y,Q)=>{this.floatingFilters[Q].refresh?.(Y)}),this.gos.get("enableFilterHandlers")){let Y=J;if(Y.model==null)this.floatingFilters.forEach((Q,q)=>{w(Q.getGui(),q===0)});else{let Q=Y.getHandler()?.getLastActiveFilterIndex?.();this.floatingFilters.forEach((q,H)=>{let _=Q==null?H===0:H===Q;w(q.getGui(),_)})}}}else ZJ(this.getGui()),this.destroyBeans(this.floatingFilters),this.floatingFilters=[],this.compDetailsList=[],this.setParams(Z)}getCompDetailsList(J){let Z=[],$=[],X=J.filterParams,Y=J.currentParentModel,Q=E7(X);return Q.forEach((q,H)=>{let _={...J,parentFilterInstance:(U)=>{this.parentMultiFilterInstance((W)=>{let G=W.getChildFilterInstance(H);if(G==null)return;U(G)})},currentParentModel:()=>Y()?.filterModels?.[H]??null};if(this.gos.get("enableFilterHandlers")){let U=_;U.model=U.model?.filterModels?.[H]??null;let{onModelChange:W,getHandler:G}=U;U.onModelChange=(B,K)=>W(W7(this.params.model,Q.length,B,H),K),U.getHandler=()=>{return G().getHandler(H)}}BJ(_.filterParams,q.filterParams);let z=this.getCompDetails(q,_);if(z)Z.push(z),$.push(_)}),{compDetailsList:Z,floatingFilterParamsList:$}}onParentModelChanged(J,Z){if(Z?.afterFloatingFilter)return;this.parentMultiFilterInstance(($)=>{if(J==null)this.floatingFilters.forEach((X,Y)=>{X.onParentModelChanged(null,Z),w(X.getGui(),Y===0)});else{let X=$.getLastActiveFilterIndex();this.floatingFilters.forEach((Y,Q)=>{let q=J.filterModels.length>Q?J.filterModels[Q]:null;Y.onParentModelChanged(q,Z);let H=X==null?Q===0:Q===X;w(Y.getGui(),H)})}})}destroy(){this.destroyBeans(this.floatingFilters),this.floatingFilters.length=0,super.destroy()}getCompDetails(J,Z){let{colFilter:$,frameworkOverrides:X,userCompFactory:Y}=this.beans,Q=v9(X,J,()=>$.getDefaultFloatingFilter(this.params.column))??"agReadOnlyFloatingFilter";return i8(Y,J,Z,Q)}parentMultiFilterInstance(J){this.params.parentFilterInstance((Z)=>{if(!(Z instanceof lQ||Z instanceof aQ))e(120);J(Z)})}},oQ={moduleName:"MultiFilter",version:$J,userComponents:{agMultiColumnFilter:{getComp:(J)=>J.gos.get("enableFilterHandlers")?{classImp:aQ,params:{useForm:!0}}:lQ},agMultiColumnFloatingFilter:SR},beans:[RR],dynamicBeans:{agMultiColumnFilterHandler:MR},dependsOn:[IJ,B4,$$]},fR=class extends M{constructor(){super(...arguments);this.beanName="aggColNameSvc"}getHeaderName(J,Z){if(this.gos.get("suppressAggFuncInHeader"))return Z;let{valueColsSvc:$,colModel:X,rowGroupColsSvc:Y}=this.beans,Q=J.getColDef().pivotValueColumn,q=T(Q),H=null,_;if(q){let z=$?.columns??[],U=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&z.length===1,W=J.getColDef().pivotTotalColumnIds!==void 0;if(U&&!W)return Z;H=Q?Q.getAggFunc():null,_=!0}else{let z=J.isValueActive(),U=Y?.columns.length!==0,W=X.isPivotMode()||U||this.gos.get("treeData");if(z&&W)H=J.getAggFunc(),_=!0;else _=!1}if(_){let z=typeof H==="string"?H:"func";return`${this.getLocaleTextFunc()(z,z)}(${Z})`}return Z}},PR={sum:"Sum",first:"First",last:"Last",min:"Min",max:"Max",count:"Count",avg:"Average"},TR=class extends M{constructor(){super(...arguments);this.beanName="aggFuncSvc",this.aggFuncsMap={},this.initialised=!1}postConstruct(){this.init()}init(){if(this.initialised)return;this.initialiseWithDefaultAggregations(),this.addAggFuncs(this.gos.get("aggFuncs"))}initialiseWithDefaultAggregations(){let J=this.aggFuncsMap;J.sum=vR,J.first=IR,J.last=bR,J.min=CR,J.max=xR,J.count=NR,J.avg=gR,this.initialised=!0}isAggFuncPossible(J,Z){let X=this.getFuncNames(J).includes(Z),Y=T(this.aggFuncsMap[Z]);return X&&Y}getDefaultFuncLabel(J){return PR[J]??J}getDefaultAggFunc(J){let Z=J.getColDef().defaultAggFunc;if(T(Z)&&this.isAggFuncPossible(J,Z))return Z;if(this.isAggFuncPossible(J,"sum"))return"sum";let $=this.getFuncNames(J);return $?.length?$[0]:null}addAggFuncs(J){if(this.init(),!J)return;for(let Z of Object.keys(J))if(J[Z])this.aggFuncsMap[Z]=J[Z]}getAggFunc(J){return this.init(),this.aggFuncsMap[J]}getFuncNames(J){let Z=J.getColDef().allowedAggFuncs;return Z==null?Object.keys(this.aggFuncsMap).sort():Z}clear(){this.aggFuncsMap={}}};function vR(J){let{values:Z}=J,$=null;for(let X=0;X0?J.values[0]:null}function bR(J){return J.values.length>0?C(J.values):null}function CR(J){let{values:Z}=J,$=null;for(let X=0;XY))$=Y}return $}function xR(J){let{values:Z}=J,$=null;for(let X=0;X0)Y=$/(typeof $==="number"?X:BigInt(X));let Q=J.rowNode?.aggData?.[J.column?.getColId()];if(Q&&Q.count===X&&Q.value===Y)return Q;let q=Object.create(wR);return q.count=X,q.value=Y,q}var hR=class extends M{constructor(){super(...arguments);this.beanName="aggChildrenSvc"}getAggregatedChildren(J,Z,$){if(!J?.group)return[];if(J.rowPinned){if(J=J.pinnedSibling,!J)return[]}let X=this.gos,Y=eQ(J,Z,X);if(!$)return Y;let Q=[];return Jq(Y,Z,X,Q),Q}},eQ=(J,Z,$)=>{let X=Z?.colDef,Y=X?.pivotKeys;if(Y){if(J.leafGroup&&Y.length&&!X.pivotTotalColumnIds)return xQ(J.childrenMapped,Y);return J.childrenAfterFilter??J.childrenAfterGroup??[]}if(TZ($)||$.get("suppressAggFilteredOnly"))return J.childrenAfterGroup??[];return J.childrenAfterFilter??J.childrenAfterGroup??[]},Jq=(J,Z,$,X)=>{for(let Y=0,Q=J.length;Y{N4(R,null,j)})}return}this.hadAgg=!0;let{colModel:Q,aggFuncSvc:q}=$,H=Z.get("alwaysAggregateAtRootLevel")||!!U0(Z)||Q.isPivotMode(),_=!TZ(Z)&&!Z.get("suppressAggFilteredOnly"),z=$.valueSvc,U=$.gridApi,W=$.gridOptions.context,G=Y??[],B=G.length,K=J?.kind==="cells"?J:void 0,E,L=Array(B);for(let j=0;j=0)E=K;L[j]={column:A,colId:A.colId,colDef:A.colDef,aggFunc:Zq(A.getAggFunc(),q,A),colSlot:R}}let F=nR(Q,$.pivotResultCols,q),D=B>0?Array(B):null,k=$.rowModel;MJ(k.rootNode,k.hierarchical,J,(j)=>{if(j.level===-1&&!H){f2(j,null,Q);return}let A;if(X)A=X({nodes:j.childrenAfterFilter});else if(!D)A=null;else if(F)A=dR(j,F,z,U,W);else A=iR(j,L,B,D,E,_,z,U,W);N4(j,A,Q)})}},iR=(J,Z,$,X,Y,Q,q,H,_)=>{let z=(Q?J.childrenAfterFilter:J.childrenAfterGroup)??[],U=z.length,W=J.data,G=Object.create(null),B=Y?Y.getSlot(J):-1,K=B>=0?J.aggData:void 0,E=0;for(let L=0;L<$;++L){let F=Z[L];if(B>=0&&!Y.hasCellBySlot(B,F.colSlot)){if(X[L]=null,K)G[F.colId]=K[F.colId]}else X[L]=Array(U),++E}if(E===0)return G;for(let L=0;L{let Q=Z.length,q=J.leafGroup,H=J.data,_=J.childrenMapped,z=J.childrenAfterFilter??[],U=Object.create(null),W,G;for(let B=0;B{if(typeof J==="function")return J;if(J==null)return null;let X=Z.getAggFunc(J);if(typeof X!=="function")return O(109,{inputValue:J.toString(),allSuggestions:Z.getFuncNames($)}),null;return X},nR=(J,Z,$)=>{if(!J.isPivotActive())return null;let X=Z?.getAggregationOrderedList();if(!X||X.length===0)return null;let Y=X.length,Q=Array(Y),q=0;for(let H=0;H{let Z=J.childrenAfterAggFilter,$=0;if(Z){let Y=Z.length;$=Y;for(let Q=0;Q=0?null:$;J.setAllChildrenCount(X),J.pinnedSibling?.setAllChildrenCount(X)},this.setAllChildrenCountGridGrouping=(J)=>{let Z=J.childrenAfterAggFilter,$=0;for(let X=0,Y=Z.length;X!K.node.group,z=(K)=>K.node.leafGroup,U=TZ(this.gos)||(Q?z:_),W=H?this.setAllChildrenCountTreeData:this.setAllChildrenCountGridGrouping,G=(K,E=!1)=>{if(K.childrenAfterFilter){if(K.childrenAfterAggFilter=K.childrenAfterFilter,E){let L=K.childrenAfterAggFilter;for(let F=0,D=L.length;F{if(K.childrenAfterAggFilter=K.childrenAfterFilter?.filter((E)=>{if(U({node:E})){if(Y.doesRowPassAggregateFilters({rowNode:E}))return G(E,!0),!0}return E.childrenAfterAggFilter?.length})||null,K.hasChildren())W(K);else K.setAllChildrenCount(null),K.pinnedSibling?.setAllChildrenCount(null);if(K.sibling)K.sibling.childrenAfterAggFilter=K.childrenAfterAggFilter};MJ(Z.rootNode,Z.hierarchical,J,q?B:G)}};function f5(J,Z){if(J.sibling)return;let $=xY(J,Z);$.footer=!0,$.setRowTop(null),$.setRowIndex(null),$.oldRowTop=null,$.id="rowGroupFooter_"+J.id,$.sibling=J,J.sibling=$}function rR(J){let Z=J.sibling;if(!Z)return;Z._destroy(!1),J.sibling=void 0,Z.sibling=void 0}var tR=class extends M{constructor(){super(...arguments);this.beanName="footerSvc"}addTotalRows(J,Z,$,X,Y,Q){let q=J;if(Y){let z=X&&U0(this.gos);if(lR(Q,z))f5(Z,this.beans),$(Z.sibling,q++);return q}let H=S6(this.gos);if((X&&H({node:Z}))===Q)f5(Z,this.beans),$(Z.sibling,q++);return q}getTopDisplayIndex(J,Z,$,X){let Y=Z;if(J[0].footer){if(Z===0)return 0;Y-=1}let Q=J[J.length-1],q=Y>=$.length;if(Q.footer&&q)return Q.rowIndex;return X(Y)}doesCellShowTotalPrefix(J,Z){if(!J.footer||!Z?.getColDef().showRowGroup)return!1;if(this.gos.get("treeData"))return!0;if(J.level===-1)return this.beans.showRowGroupCols?.columns[0]===Z;return!!J.rowGroupColumn&&Z?.isRowGroupDisplayed(J.rowGroupColumn.getId())}applyTotalPrefix(J,Z,$,X){let Y=X.getColDef().cellRendererParams?.totalValueGetter;if(Y){let Q=x(this.gos,{column:X,node:$,value:J,formattedValue:Z});if(typeof Y==="function")return Y(Q);if(typeof Y==="string")return this.beans.expressionSvc?.evaluate(Y,Q);O(179)}if($.level===-1)return this.getLocaleTextFunc()("footerTotal","Total")+" ";return this.getTotalValue(Z??J)??""}getTotalValue(J){return this.getLocaleTextFunc()("footerTotal","Total")+" "+(J??"")}};function lR(J,Z){switch(Z){case"top":case"pinnedTop":return J==="top";case"bottom":case"pinnedBottom":return J==="bottom";default:return!1}}var $q=class extends R2{constructor(){super(...arguments);this.beanName="valueColsSvc",this.eventName="columnValueChanged",this.columnProcessors={set:(J,Z,$)=>this.setValueActive(Z,J,$),add:(J,Z,$)=>this.setValueActive(!0,J,$),remove:(J,Z,$)=>this.setValueActive(!1,J,$)},this.columnExtractors={setFlagFunc:(J,Z,$)=>this.setColValueActive(J,Z,$),getIndexFunc:()=>{return},getInitialIndexFunc:()=>{return},getValueFunc:(J)=>{let Z=J.aggFunc;if(Z===null||Z==="")return null;if(Z===void 0)return;return!!Z},getInitialValueFunc:(J)=>{return J.initialAggFunc!=null&&J.initialAggFunc!=""}},this.modifyColumnsNoEventsCallbacks={addCol:(J)=>this.columns.push(J),removeCol:(J)=>YJ(this.columns,J)}}extractCols(J,Z){this.columns=super.extractCols(J,Z);for(let $ of this.columns){let X=$.getColDef();if(X.aggFunc!=null&&X.aggFunc!="")this.setColAggFunc($,X.aggFunc);else if(!$.getAggFunc())this.setColAggFunc($,X.initialAggFunc)}return this.columns}setColumnAggFunc(J,Z,$){if(!J)return;let X=this.colModel.getColDefCol(J);if(!X)return;this.setColAggFunc(X,Z),this.dispatchColumnChangedEvent(this.eventSvc,this.eventName,[X],$)}syncColumnWithState(J,Z,$){let X=$("aggFunc").value1;if(X!==void 0)if(typeof X==="string"){if(this.setColAggFunc(J,X),!J.isValueActive())this.setColValueActive(J,!0,Z),this.modifyColumnsNoEventsCallbacks.addCol(J)}else{if(T(X))O(33);if(J.isValueActive())this.setColValueActive(J,!1,Z),this.modifyColumnsNoEventsCallbacks.removeCol(J)}}setValueActive(J,Z,$){if(J===Z.isValueActive())return;if(this.setColValueActive(Z,J,$),J&&!Z.getAggFunc()&&this.aggFuncSvc){let X=this.aggFuncSvc.getDefaultAggFunc(Z);this.setColAggFunc(Z,X)}}setColAggFunc(J,Z){J.aggFunc=Z,J.dispatchStateUpdatedEvent("aggFunc")}setColValueActive(J,Z,$){if(J.aggregationActive!==Z)J.aggregationActive=Z,J.dispatchColEvent("columnValueChanged",$)}},Xq={moduleName:"SharedAggregation",version:$J,beans:[TR,fR,tR,$q],apiFunctions:{addAggFuncs:uR,clearAggFuncs:mR,setColumnAggFunc:cR},dependsOn:[IJ]},aR={moduleName:"Aggregation",version:$J,beans:[pR,sR,hR],rowModels:["clientSide"],dependsOn:[Xq]},Yq=class extends R2{constructor(){super(...arguments);this.beanName="pivotColsSvc",this.eventName="columnPivotChanged",this.columnProcessors={set:(J,Z,$)=>this.setColPivotActive(J,Z,$),add:(J,Z,$)=>this.setColPivotActive(J,!0,$),remove:(J,Z,$)=>this.setColPivotActive(J,!1,$)},this.columnOrdering={enableProp:"pivot",initialEnableProp:"initialPivot",indexProp:"pivotIndex",initialIndexProp:"initialPivotIndex"},this.columnExtractors={setFlagFunc:(J,Z,$)=>this.setColPivotActive(J,Z,$),getIndexFunc:(J)=>J.pivotIndex,getInitialIndexFunc:(J)=>J.initialPivotIndex,getValueFunc:(J)=>J.pivot,getInitialValueFunc:(J)=>J.initialPivot},this.modifyColumnsNoEventsCallbacks={addCol:(J)=>{if(!this.columns.includes(J))this.columns.push(J)},removeCol:(J)=>YJ(this.columns,J)}}syncColumnWithState(J,Z,$,X){let{value1:Y,value2:Q}=$("pivot","pivotIndex");if(Y!==void 0||Q!==void 0){if(typeof Q==="number"||Y){if(!J.isPivotActive())this.setColPivotActive(J,!0,Z),this.modifyColumnsNoEventsCallbacks.addCol(J);if(X&&typeof Q==="number")X[J.getId()]=Q}else if(J.isPivotActive())this.setColPivotActive(J,!1,Z),this.modifyColumnsNoEventsCallbacks.removeCol(J)}}setColPivotActive(J,Z,$){if(J.pivotActive!==Z){if(J.pivotActive=Z,Z)this.beans.groupHierarchyColSvc?.insertVirtualColumnsForCol(this.columns,J)?.forEach((Y)=>this.setColPivotActive(Y,Z,$));J.dispatchColEvent("columnPivotChanged",$)}J.dispatchStateUpdatedEvent("pivot")}},oR=class extends R2{constructor(){super(...arguments);this.beanName="rowGroupColsSvc",this.eventName="columnRowGroupChanged",this.columnProcessors={set:(J,Z,$)=>this.setActive(Z,J,$),add:(J,Z,$)=>this.setActive(!0,J,$),remove:(J,Z,$)=>this.setActive(!1,J,$)},this.columnOrdering={enableProp:"rowGroup",initialEnableProp:"initialRowGroup",indexProp:"rowGroupIndex",initialIndexProp:"initialRowGroupIndex"},this.columnExtractors={setFlagFunc:(J,Z,$)=>this.setColRowGroupActive(J,Z,$),getIndexFunc:(J)=>J.rowGroupIndex,getInitialIndexFunc:(J)=>J.initialRowGroupIndex,getValueFunc:(J)=>J.rowGroup,getInitialValueFunc:(J)=>J.initialRowGroup},this.modifyColumnsNoEventsCallbacks={addCol:(J)=>{if(!this.columns.includes(J))this.columns.push(J)},removeCol:(J)=>YJ(this.columns,J)}}moveColumn(J,Z,$){if(this.columns.length===0)return;let X=this.columns[J],Y=this.columns.slice(J,Z);this.columns.splice(J,1),this.columns.splice(Z,0,X),this.updateIndexMap(),this.eventSvc.dispatchEvent({type:this.eventName,columns:Y,column:Y.length===1?Y[0]:null,source:$})}syncColumnWithState(J,Z,$,X){let{value1:Y,value2:Q}=$("rowGroup","rowGroupIndex");if(Y!==void 0||Q!==void 0){if(typeof Q==="number"||Y){if(!J.isRowGroupActive())this.setColRowGroupActive(J,!0,Z),this.modifyColumnsNoEventsCallbacks.addCol(J);if(X&&typeof Q==="number")X[J.getId()]=Q}else if(J.isRowGroupActive())this.setColRowGroupActive(J,!1,Z),this.modifyColumnsNoEventsCallbacks.removeCol(J)}}setActive(J,Z,$){if(J===Z.isRowGroupActive())return;this.setColRowGroupActive(Z,J,$);let X=this.beans.groupHierarchyColSvc?.getColumn(Z);if(P6(this.gos,J)&&!X)this.colModel.setColsVisible([Z],!J,$)}setColRowGroupActive(J,Z,$){if(J.rowGroupActive!==Z){if(J.rowGroupActive=Z,Z)this.beans.groupHierarchyColSvc?.insertVirtualColumnsForCol(this.columns,J)?.forEach((Y)=>this.setColRowGroupActive(Y,Z,$));J.dispatchColEvent("columnRowGroupChanged",$)}J.dispatchStateUpdatedEvent("rowGroup")}},eR=class extends M{constructor(){super(...arguments);this.beanName="autoColSvc"}postConstruct(){this.addManagedPropertyListener("autoGroupColumnDef",this.updateColumns.bind(this)),this.setupGroupHideColumnsUntilExpanded()}setupGroupHideColumnsUntilExpanded(){let J=()=>this.updateGroupColumnVisibility();this.addManagedEventListeners({modelUpdated:J}),this.addManagedPropertyListeners(["groupHideColumnsUntilExpanded","groupDisplayType","groupHideOpenParents"],J)}addColumns(J){let{columns:Z}=this;if(Z==null)return;J.list=Z.list.concat(J.list),J.tree=Z.tree.concat(J.tree),z5(J)}createColumns(J,Z,$){let X=this.beans,{colModel:Y,gos:Q,rowGroupColsSvc:q,colGroupSvc:H}=X,_=Y.isPivotMode(),z=f6(Q,_),U=_?Q.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),W=q?.columns,B=!(W&&W.length>0||Q.get("treeData"))||U||z,K=()=>{if(this.columns)XZ(X,this.columns.tree),this.columns=null};if(B){K();return}let E=this.generateAutoCols(W),L=_5(E,this.columns?.list||null),F=J.treeDepth,k=(this.columns?this.columns.treeDepth:-1)==F;if(L&&k){let f=new Map(E.map((I)=>[I.getId(),I]));for(let I of this.columns?.list??[]){let v=f.get(I.getId());if(v)I.setColDef(v.getColDef(),null,$)}return}K();let j=H?.findDepth(J.tree)??0,A=H?.balanceTreeForAutoCols(E,j)??[];this.columns={list:E,tree:A,treeDepth:j,map:{}},Z((f)=>{if(!f)return null;let I=f.filter((v)=>!m0(v));return[...E,...I]})}updateColumns(J){let Z=Q0(J.source);this.columns?.list.forEach(($,X)=>this.updateOneAutoCol($,X,Z))}getColumn(J){return this.columns?.list.find((Z)=>PZ(Z,J))??null}getColumns(){return this.columns?.list??null}generateAutoCols(J=[]){let Z=[],{gos:$}=this,X=$.get("treeData"),Y=q5($);if(X&&Y)O(182),Y=!1;if(Y)J.forEach((Q,q)=>{Z.push(this.createOneAutoCol(Q,q))});else Z.push(this.createOneAutoCol());return Z}isSuppressAutoCol(){let J=this.gos;if(J.get("groupDisplayType")==="custom")return!0;return J.get("treeDataDisplayType")==="custom"}createOneAutoCol(J,Z){let $;if(J)$=`${u0}-${J.getId()}`;else $=u0;let X=this.createAutoColDef($,J,Z);X.colId=$;let Y=new HZ(X,null,$,!0);return this.createBean(Y),Y}updateOneAutoCol(J,Z,$){let X=J.getColDef(),Y=typeof X.showRowGroup=="string"?X.showRowGroup:void 0,Q=this.beans,q=Y!=null?Q.colModel.getColDefCol(Y):void 0,H=J.getId(),_=this.createAutoColDef(H,q??void 0,Z);J.setColDef(_,null,$),dJ(Q,{state:[m8(_,H)]},$)}createAutoColDef(J,Z,$){let X=this.createBaseColDef(Z),Y=this.gos.get("autoGroupColumnDef");if(BJ(X,Y),X=uZ(this.beans,X,J,!0),Y?.groupRowEditable==null)X.groupRowEditable=void 0;if(Y?.groupRowValueSetter==null)X.groupRowValueSetter=void 0;if(!this.gos.get("treeData")){if(d(X.field)&&d(X.valueGetter)&&d(X.filterValueGetter)&&X.filter!=="agGroupColumnFilter")X.filter=!1}if($&&$>0)X.headerCheckboxSelection=!1;let Q=GZ(this.gos),q=X.valueGetter||X.field!=null;if(Q&&!q)X.sortIndex=void 0,X.initialSort=void 0;return X}createBaseColDef(J){let Z=this.gos.get("autoGroupColumnDef"),X={headerName:this.getLocaleTextFunc()("group","Group"),showRowGroup:J?.getColId()??!0};if(!(Z&&(Z.cellRenderer||Z.cellRendererSelector)))X.cellRenderer="agGroupCellRenderer";if(J)X.headerName=this.beans.colNames.getDisplayNameForColumn(J,"header")??void 0,X.headerValueGetter=J.colDef.headerValueGetter;return X}getDeepestExpandedLevel(J,Z){let $=-1;if(!J)return $;for(let X of J){if(!X.group||!X.expanded)continue;if(X.level>$)$=X.level;if($>=Z)return $;let Y=this.getDeepestExpandedLevel(X.childrenAfterGroup,Z);if(Y>$)$=Y;if($>=Z)return $}return $}updateGroupColumnVisibility(){let J=this.columns?.list;if(!J||J.length===0)return;let{gos:Z,visibleCols:$,rowModel:X}=this.beans,Y=y8(Z),Q=!1,q=(_,z)=>{if(z!==_.isVisible())_.setVisible(z,"api"),Q=!0},H=()=>{for(let _ of J)q(_,!0)};if(!Y)H();else if(J.length>1){let _=J.length-2,z=X?.rootNode?.childrenAfterGroup,U=this.getDeepestExpandedLevel(z,_);if(U>=_)H();else for(let W=0;W=W)}if(Q)$.refresh("api")}destroy(){XZ(this.beans,this.columns?.tree),super.destroy()}},o9=null,p4=(J)=>{let Z=o9,$=new Uint32Array(1<<32-Math.clz32(J|63));if(Z)$.set(Z);return o9=$,$},JO=(J,Z,$,X)=>{let Y=Z-X,Q=$-1;if(Y===1){let z=0;while(J[z].level===Q)++z;if(z0){let U=J[z];J.copyWithin(1,0,z),J[0]=U}return J}let q=Array(Y),H=0,_=0;for(let z=0;z{let $=J[0].level+1,X=$,Y=0,Q=$,q=o9;if(!q||$>=q.length)q=p4($);++q[$];for(let W=1;W$){if($=G,$>=q.length)q=p4($)}else if(G=0)return q.fill(0,X,$+1),J;let H=q[X],_=q[$];if(H+_===Z)return q[X]=0,q[$]=0,JO(J,Z,$,_);let z=0;for(let W=$;W>=X;--W){let G=q[W];q[W]=z,z+=G}let U=Array(Z);for(let W=0;W{if(Z===2){if(J[0].level16)return ZO(J,Z);for(let $=1;$=0&&J[Q].level=0)$.set(Z,-1),Z=Z.parent;return}let X=this.rows;do $.set(Z,-1),X.push(Z),Z=Z.parent;while(Z!=null&&!$.has(Z));this.unsorted=!0}addCell(J,Z){if(Z==null){this.addRow(J);return}if(J==null)return;let $=this.slots,X=this.bits,Y=$.get(Z)??this.ensureCol(Z),Q=$.get(J);if(Q===void 0)Q=this.ensureRow(J);else if(Q<0)return;let q=Y<32?X:this.extraBits[(Y>>>5)-1],H=1<<(Y&31),_=q[Q];if((_&H)!==0)return;q[Q]=_|H;let z=J.parent;while(z!=null){let U=$.get(z);if(U<0)break;let W=q[U];if((W&H)!==0)break;q[U]=W|H,z=z.parent}}hasRow(J){return this.slots.has(J)}getSortedRows(){if(!this.unsorted)return this.rows;this.unsorted=!1;let J=Qq(this.rows);return this.rows=J,J}getSlot(J){return this.slots.get(J)??-1}hasCellBySlot(J,Z){if(J<0)return!0;if(Z<32)return Z>=0&&(this.bits[J]&1<>>5)-1][J]&1<<(Z&31))!==0}ensureRow(J){let Z=this.slots,$=this.rows,X=this.bits,Y=this.extraBits,Q=X.push(0),q=Q-1;if(Y!==null)for(let _=0,z=Y.length;_=32){let $=(Z>>>5)-1,X=this.extraBits;if(X===null)X=[],this.extraBits=X;if($>=X.length)X.push(Array(this.bits.length).fill(0))}return Z}},i4=class{constructor(){this.kind="rows",this.rows=[],this.unsorted=!1,this.rowSet=new Set}addRow(J){let Z=J;if(Z==null)return;let $=this.rowSet;if($.has(Z))return;let X=this.rows;do $.add(Z),X.push(Z),Z=Z.parent;while(Z!=null&&!$.has(Z));this.unsorted=!0}addCell(J,Z){this.addRow(J)}hasRow(J){return this.rowSet.has(J)}getSortedRows(){if(!this.unsorted)return this.rows;this.unsorted=!1;let J=Qq(this.rows);return this.rows=J,J}},XO=class extends M{constructor(){super(...arguments);this.beanName="changedPathFactory"}newPath(J){return J?new $O:new i4}ensureRowsPath(J){let Z=J.changedPath;if(!Z&&J.changedRowNodes&&!J.newData){let $=this.beans.rowModel;if($.hierarchical)Z=new i4,J.changedPath=Z,Z.addRow($.rootNode)}return Z}},YO=class extends M{addExpandedCss(J,Z){if(Z.isExpandable())J.push("ag-row-group"),J.push(Z.expanded?"ag-row-group-expanded":"ag-row-group-contracted")}getRowExpandedListeners(J){let{rowNode:Z}=J,$=this.updateExpandedCss.bind(this,J,Z);return{expandedChanged:$,hasChildrenChanged:$}}setExpanded(J,Z,$,X){if(J.expanded===Z)return;J._expanded=Z,J.dispatchRowEvent("expandedChanged");let Y={...l8(J,this.gos,"rowGroupOpened"),expanded:Z,event:$||null};this.dispatchExpandedEvent(Y,X)}defaultExpanded(J){let $=this.beans.gos,X=J.level??0,Y=J.group&&$.get("isGroupOpenByDefault");if(!Y){let q=$.get("groupDefaultExpanded");return q===-1||X{let Q=Y.rowComp;Q.toggleCss("ag-row-group",$),Q.toggleCss("ag-row-group-expanded",$&&X),Q.toggleCss("ag-row-group-contracted",$&&!X),NJ(Y.element,$&&X)})}dispatchStateUpdatedEvent(){this.eventSvc.dispatchEvent({type:"rowExpansionStateChanged"})}},QO=class extends YO{constructor(){super(...arguments);this.beanName="expansionSvc",this.events=null,this.dispatchExpandedDebounced=null}destroy(){super.destroy(),this.events=null,this.dispatchExpandedDebounced=null}setExpansionState(J){let Z=new Set(J.expandedRowGroupIds);this.beans.rowModel.forEachNode(($)=>{let X=$.id;if(!X)return;$._expanded=Z.has(X)}),this.onGroupExpandedOrCollapsed()}getInternalExpansionState(J=!1){let Z=[],$=[];return this.beans.rowModel.forEachNode((X)=>{let Y=X.id;if(!Y)return;if(X.expanded)Z.push(Y);else if(J&&X.isExpandable())$.push(Y)}),{expandedRowGroupIds:Z,collapsedRowGroupIds:$}}getExpansionState(){return this.getInternalExpansionState()}isExpanded(J){if(J.footer)return!!J._expanded;if(!(J.group||J.master)||J.leafGroup&&this.beans.colModel.isPivotMode())return!1;let Z=J._expanded;if(Z===null)Z=this.defaultExpanded(J)??!1,J._expanded=Z;return!!Z}resetExpansion(){let{rowModel:J}=this.beans;J.forEachNode((Z)=>{if(!Z.group&&!Z.master)return;Z._expanded=null}),this.onGroupExpandedOrCollapsed()}expandAll(J){let{gos:Z,rowModel:$,colModel:X,eventSvc:Y}=this.beans,Q=Z.get("treeData"),q=X.isPivotActive(),H=(z)=>{if(!z)return;for(let U of z){let W=()=>{U._expanded=J,H(U.childrenAfterGroup)};if(U.master){W();continue}if(Q){if(T(U.childrenAfterGroup))W();continue}if(q){if(!U.leafGroup)W();continue}if(U.group)W()}},_=$.rootNode;if(_)H(_.childrenAfterGroup);this.onGroupExpandedOrCollapsed(),Y.dispatchEvent({type:"expandOrCollapseAll",source:J?"expandAll":"collapseAll"})}onGroupExpandedOrCollapsed(){this.dispatchStateUpdatedEvent(),this.beans.rowModel.reMapRows()}setDetailsExpansionState(J){let Z=this.getInternalExpansionState(!0),$=Z.collapsedRowGroupIds.length===0;if(Z.expandedRowGroupIds.length===0===$)return;return $?J.expandAll():J.collapseAll()}dispatchExpandedEvent(J,Z){if((this.events??(this.events=[])).push(J),Z){this.dispatchExpandedEvents();return}let $=this.dispatchExpandedDebounced;if(!$){if(!this.isAlive())return;$=this.debounce(()=>this.dispatchExpandedEvents()),this.dispatchExpandedDebounced=$}$()}dispatchExpandedEvents(){let{eventSvc:J,rowRenderer:Z}=this.beans,$=this.events,X=$?.length;if(!X)return;this.events=null;let Y=Array(X);for(let Q=0;Qwindow.setTimeout(J,0);let $=!1;return()=>{if(!Z.active){window.setTimeout(J,0);return}if($)return;$=!0,Z.addDestroyTask(()=>{$=!1,J()})}}};function qO(J){let Z=J.get("groupHideParentOfSingleChild");if(!Z){if(Z=J.get("groupRemoveSingleChildren"),!Z&&J.get("groupRemoveLowestSingleChildren"))Z="leafGroupsOnly"}return{groupHideParentOfSingleChild:Z,isGroupMultiAutoColumn:q5(J),hideOpenParents:J.get("groupHideOpenParents"),grandTotalRow:U0(J),groupTotalRow:S6(J)}}function HO(J,Z,$){return J.groupHideParentOfSingleChild===!0&&$&&Z.childrenAfterGroup.length===1}function _O(J,Z,$){return J.groupHideParentOfSingleChild==="leafGroupsOnly"&&$&&Z.leafGroup&&Z.childrenAfterGroup.length===1}function zO(J,Z,$,X,Y,Q){if(X&&!$)return!1;if(Y||Q)return!1;if(!J.hideOpenParents)return!0;if(Z.master||Z.level===-1)return!0;if(!(X&&Z.leafGroup)&&Z.expanded)return!1;return!0}var UO=class extends M{constructor(){super(...arguments);this.beanName="flattenStage",this.step="map",this.refreshProps=["groupHideParentOfSingleChild","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","groupTotalRow","masterDetail"]}execute(){let{beans:J,gos:Z}=this,$=[],X=J.rowModel.rootNode;if(!X)return $;let Y=J.colModel.isPivotMode(),Q=Y&&X.leafGroup&&X.aggData,q=Q?[X]:X.childrenAfterSort,H=qO(Z);this.recursivelyAddToRowsToDisplay(H,q,$,Y,0);let _=$.length>0,z=H.grandTotalRow;if(!Q&&_&&z)if(f5(X,J),z==="pinnedBottom"||z==="pinnedTop")this.beans.pinnedRowModel?.setGrandTotalPinned(z==="pinnedBottom"?"bottom":"top");else{let W=z==="top";this.addRowNodeToRowsToDisplay(H,X.sibling,$,0,W)}return $}recursivelyAddToRowsToDisplay(J,Z,$,X,Y){if(!Z?.length)return;let Q=this.beans.masterDetailSvc;for(let q=0;qthis.onCsrmCellChange(J),batchEditingStopped:()=>this.flushGroupEdits()})}destroy(){this.stopDragging(!0),super.destroy()}isGroupingDrop(J){if(!J.rowDragManaged||!J.sameGrid)return!1;if(!this.gos.get("refreshAfterGroupEdit"))return!1;return!!this.beans.rowGroupColsSvc?.columns?.length&&!this.beans.colModel.isPivotMode()}initDraggingGroups(J){let Z=new Map,$=(X)=>{let Y=X.childrenAfterGroup;if(Y){if(Z.has(X))return;let Q=Y.slice();Z.set(X,Q);for(let q of Q)$(q)}};for(let X of J.rows)if(X.group)$(X);this.draggingGroups=Z}canSetParent(J){if(!J.sameGrid)return!1;if(this.beans.groupStage?.treeData)return!0;if(J.rowDragManaged&&!this.gos.get("refreshAfterGroupEdit"))return!1;return!!this.beans.rowGroupColsSvc?.columns?.length}canDropRow(J,Z){if(this.beans.groupStage?.treeData)return!GO(J,Z.newParent);let{position:$,target:X,newParent:Y,rootNode:Q}=Z,q=J.parent;if(J.group&&(n4(J,X)||n4(J,Y)))return!1;if($==="inside")return!0;if(Y&&Y!==q)return Y!==Q||q===Q;let H=Y??X?.parent??Q;if(H!==q)return!1;let _=J.group?J.level:q.level??-1,z=-1;if(X)z=X.group?X.level:X.parent?.level??-1;else if(H)z=H.level;if(_>=0&&z>=0&&z!==_)return!1;return!0}fixRowsDrop(J,Z,$,X){let Y=!!this.beans.groupStage?.treeData;if(J.treeData=Y,!(!!this.beans.rowGroupColsSvc?.columns?.length||this.gos.get("pivotMode"))&&!Y)return;if(!this.draggingGroups&&this.isGroupingDrop(J)&&!J.suppressMoveWhenRowDragging)this.initDraggingGroups(J);let q=J.target,H=null,_=!1,z=J.rootNode,U=this.beans.rowModel,W=this.canStartGroup(q,Y);this.updateDropTarget(J,$,W);let G=this.beans.pageBounds?.getLastRow?.()??U.getRowCount()-1;if(Z){if(!q||X>=0.5&&q.rowIndex===G)H=z;else if(J.moved&&q&&this.dropGroupThrottled&&this.shouldDropTargetBeParent(J))H=q;if(!H)H=q?.parent??z}if(!$&&q&&W&&!(q.group&&q.expanded))this.startDropGroupDelay(q);if(H){if(q&&H===q&&H!==z){let B=H.expanded?yY(U,1,q):null;if(B?.parent===H)q=B,X=-0.5;else _=!0}if(q&&!_){let B=q;while(B&&B!==z&&B!==H)q=B,B=B.parent}}J.target=q,J.newParent=H,J.yDelta=X,J.inside=_}clearNewSameParent(J,Z){let $=J.newParent;if($&&(!Z||BO(J.rows,$)))J.newParent=null}updateDropTarget(J,Z,$){let X=$?J.target:null;if(this.dropGroupTarget&&this.dropGroupTarget!==X)this.resetDragGroup();if(!X?.childrenAfterSort?.length)return;if(Z&&this.dropGroupThrottled&&!X.expanded&&X.isExpandable?.())X.setExpanded(!0,void 0,!0);if(this.canDropInTarget(X,J))this.dropGroupThrottled=!0,this.dropGroupTarget=X}canDropInTarget(J,Z){if(J.expanded)return!0;if(!J.group)return!1;if(Z.pointerPos==="inside")return!0;if(Z.treeData)return!1;let $=Z.rows,X=J.level;for(let Y=0,Q=$.length;Y{this.dropGroupTimer=null,this.dropGroupThrottled=!0,this.beans.dragAndDrop?.nudge()},Z)}resetDragGroup(){if(this.dropGroupTimer!==null)window.clearTimeout(this.dropGroupTimer),this.dropGroupTimer=null;this.dropGroupTarget=null,this.dropGroupThrottled=!1}stopDragging(J){if(J)this.draggingGroups=null;this.resetDragGroup()}shouldDropTargetBeParent({target:J,rows:Z,pointerPos:$,treeData:X}){if(!J||$==="none")return!1;if($==="inside")return!0;if(!X&&J.group&&!J.expanded)return!0;if($==="above")return!1;let Y=this.beans.rowModel,q=J.rowIndex+1,H;do H=Y.getRow(q++);while(H?.footer);let _=this.draggingGroups?.get(J)??J.childrenAfterGroup;if(H&&H.parent===J&&_?.length){let z=new Set(Z);for(let U=0,W=_.length;U{if(z.has(D))return;if(z.add(D),G??(G=this.newGroupValues(Q)),this.setRowGroup(D,G))W.add(D)},K=(D)=>{let k=this.draggingGroups?.get(D)??D.childrenAfterGroup,j=k?.length;if(j)for(let A=0;A=0)B(R);else K(R)}};for(let D of J.rows)if(D.group)K(D);else{let k=D.sourceRowIndex>=0&&!D.destroyed?D:this.csrmFirstLeaf(D);if(k)B(k)}let E=$==="inside"?"above":$,L=$==="inside"?this.findFirstLeafForParent(Q,z)??X:X,F=!1;if(z.size&&E!=="none")F=H1(Y._leafs,z,L,E==="above");if(!W.size&&!F)return!1;U.reordered=F;for(let D of z)U.updates.add(D);if(this.csrmRefresh(U),_)_.focusCell();else q.clearFocusedCell();return!0}canStartGroup(J,Z){if(!J||J.level<0||J.footer||J.detail)return!1;if(J.group)return!0;return Z}flushGroupEdits(){let J=this.pendingEditRefresh;if(J)this.pendingEditRefresh=null,this.csrmRefresh(J)}csrmRefresh(J){let Z=this.beans.rowModel;if(!Z.rootNode)return;Z.refreshModel({step:"group",keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame"),changedRowNodes:J})}newGroupValues(J){let Z=this.beans.rowGroupColsSvc?.columns??[],$=Array(Z.length),X=-1,Y=J;while(Y&&Y.level>=0){let Q=Z[Y.level];if(Q){let q=Q.getColId(),H=Y.level;if($[H]=Y.groupData?.[q]??Y.key??void 0,H>X)X=H}Y=Y.parent}return{values:$,columns:Z,maxLevel:X}}setRowGroup(J,{values:Z,columns:$,maxLevel:X}){if(X<0)return!1;let{valueSvc:Y,changeDetectionSvc:Q}=this.beans,q=!1;Q?.beginDeferred();try{for(let H=0;H<$.length;++H){let _=$[H];if(!_||H>X)continue;let z=Z[H],U=Y.getValue(_,J,"data");if(U===z||U==null&&z==null)continue;let W=z,G=Y.parseValue(_,J,z,U);if(G!==void 0)W=G;if(J.setDataValue(_,W,"rowDrag"))q=!0}}finally{Q?.endDeferred()}return q}onCsrmCellChange(J){let{column:Z,node:$,source:X}=J;if(!this.gos.get("refreshAfterGroupEdit"))return;if(X==="rowDrag")return;if(!Z?.isRowGroupActive())return;if($.group||!$.data)return;if(this.beans.editSvc?.isBatchEditing()){let Q=this.pendingEditRefresh;if(!Q)Q=d4(),this.pendingEditRefresh=Q;Q.updates.add($)}else{let Q=d4();Q.updates.add($),this.csrmRefresh(Q)}}csrmFirstLeaf(J){if(!J)return null;let Z=this.draggingGroups,$=Z?.get(J)??J.childrenAfterGroup;while($?.length){let X=$[0];if(X.sourceRowIndex>=0){if(!X.destroyed)return X;return this.firstAliveChildLeaf(X)}$=Z?.get(X)??X.childrenAfterGroup}return p0(J)}firstAliveChildLeaf(J){let Z=this.draggingGroups?.get(J)??J.childrenAfterGroup;if(Z){for(let $ of Z)if($.sourceRowIndex>=0&&!$.destroyed)return $}return null}findFirstLeafForParent(J,Z){if(!J)return null;let $=this.draggingGroups?.get(J)??J?.childrenAfterGroup;if(!$)return null;for(let X=0,Y=$.length;X=0&&!Z.has(Q))return Q;let q=this.findFirstLeafForParent(Q,Z);if(q!==null)return q}return null}},d4=()=>{let J=new G2;return J.reordered=!0,J},n4=(J,Z)=>{if(!J||!Z)return!1;let $=Z;while($){if($===J)return!0;$=$.parent}return!1},GO=(J,Z)=>{if(!Z||J.parent===Z)return!1;let $=Z,X=J.id;while($){if($===J)return!0;if(X!=null&&$.id===X)return!0;$=$.parent}return!1},BO=(J,Z)=>{for(let $=0,X=J.length;$this.strategy?.onShowRowGroupColsSetChanged()})}invalidateGroupCols(){this.columnsInvalidated=!0,this.strategy?.invalidateGroupCols?.()}destroy(){this.strategy=this.destroyBean(this.strategy),super.destroy()}getNonLeaf(J){return this.strategy?.nonLeafsById?.get(J)}getNestedDataGetter(){return this.getStrategy()?.nestedDataGetter}onPropChange(J){let Z=this.gos,$=this.strategy?.nestedDataGetter;if(J.has("treeData"))this.gosTreeData=Z.get("treeData")&&this.hasTreeData,this.columnsInvalidated=!0;return this.strategy?.onPropChange?.(J),this.getNestedDataGetter()!==$}extractData(){let J=this.beans.rowModel.rootNode,Z=this.nested?J?.childrenAfterGroup:J?._leafs;if(!Z)return this.gos.get("rowData")??[];let $=Z.length,X=Array($),Y=0;for(let Q=0;Q<$;++Q){let q=Z[Q].data;if(q!=null)X[Y++]=q}return X.length=Y,X}execute(J){let Z=this.beans,$=Z.rowModel,X=$.rootNode;if(!X)return!1;let Y=this.getStrategy(),Q=!!Y?.nestedDataGetter,q=this.needReset;if(this.nested=Q,q)this.needReset=!1,Z.rowDragSvc?.cancelRowDrag(),J.animate=!1,LO(X,!Q,Z);if(!Y){$.hierarchical=!1;return}return $.hierarchical=!0,Z.changedPathFactory?.ensureRowsPath(J,X),Y.execute(X,J)||q}loadLeafs(J){return J.footer?EO(J):B7(J)}loadGroupData(J){let Z=this.getStrategy();if(Z)return Z.loadGroupData(J);return J._groupData=null,null}clearNonLeafs(){this.strategy?.clearNonLeafs()}getWantedStrategyType(){if(this.isAlive()){if(this.gosTreeData)return"tree";if(this.hasRowGrouping&&(this.beans.rowGroupColsSvc?.columns?.length||this.pivotMode))return"group"}return"none"}getStrategy(){let J=this.strategy,Z=this.beans.colModel.isPivotMode();if(Z!==this.pivotMode)this.pivotMode=Z,this.columnsInvalidated=!0;if(J!==void 0&&!this.columnsInvalidated&&this.isAlive())return J;this.columnsInvalidated=!1;let $=this.getWantedStrategyType();if($===this.strategyType){if(J!==void 0)return J;return this.strategy=null,null}if(J)this.strategy=this.destroyBean(J),this.needReset=!0;if(this.strategyType=$,this.treeData=$==="tree",this.grouping=$==="group",$==="none")return this.strategy=null,null;let X=$==="tree"?"treeGroupStrategy":"groupStrategy";return J=this.beans.registry.createDynamicBean(X,!1)??null,this.strategy=J&&this.createBean(J),J}},EO=(J)=>{let Z=J.sibling;if(!Z)return null;let $=Z._leafs;if($!==void 0)return $;return B7(Z)},B7=(J)=>{let Z=J.childrenAfterGroup,$=Z?.length;if(J._leafs=null,!$)return null;let X,Y=$===1?Z[0]:null;if(Y?.group&&Y.sourceRowIndex<0){if(X=Y._leafs,X===void 0)X=B7(Y)}else if(J.leafGroup)X=Z;else{X=[];for(let Q=0;Q<$;++Q){let q=Z[Q];if(q.sourceRowIndex>=0)X.push(q);if(!q.group)continue;let H=q._leafs;if(H===void 0)H=B7(q);if(H)for(let _=0,z=H.length;_{let{_leafs:X,sibling:Y}=J;if(J.treeNodeFlags=0,J.childrenAfterGroup=X,J.childrenMapped=null,J._groupData=void 0,J.aggData=null,Y)Y.childrenAfterGroup=J.childrenAfterGroup,Y.childrenAfterAggFilter=J.childrenAfterAggFilter,Y.childrenAfterFilter=J.childrenAfterFilter,Y.childrenAfterSort=J.childrenAfterSort,Y.childrenMapped=null,Y._groupData=void 0,Y.aggData=null;for(let Q=0,q=X.length??0;Q{J.key=null,J.treeNodeFlags=0,J.allChildrenCount=null,J.childrenAfterGroup=null,J.childrenAfterAggFilter=null,J.childrenAfterFilter=null,J.childrenAfterSort=null,J.childrenMapped=null,J.level=0,J._groupData=void 0};function r4(J,Z,$){let X=J,Y=X.level-Z.level;if(Y<=0)return!1;if(!$.get("groupHideOpenParents"))return!1;for(let q=0;q{let{rowDragSvc:Z}=this.beans;if(!this.params.rowDrag||!Z)return;let $=Z.createRowDragComp(()=>this.params.value,this.params.node);this.createManagedBean($),this.eGui.insertAdjacentElement("afterbegin",$.getGui())};this.setupExpand(),J(),this.setupCheckbox(),this.addGroupValue(),this.setupIndent()}getCellAriaRole(){let J=this.params.colDef?.cellAriaRole,Z=this.params.column?.getColDef().cellAriaRole;return J||Z||"gridcell"}isEmbeddedRowMismatch(){if(!this.params.fullWidth||!this.gos.get("embedFullWidthRows"))return!1;let{visibleCols:J}=this.beans,Z=this.params.pinned==="left",$=this.params.pinned==="right",X=!Z&&!$;if(this.gos.get("enableRtl")){if(J.isPinningLeft())return!$;return!X}if(J.isPinningLeft())return!Z;return!X}addGroupValue(){let{params:{value:J,valueFormatted:Z}}=this,$=this.getInnerCompDetails();this.comp.setInnerRenderer($,Z??J??null)}setupExpand(){let{colModel:J}=this.beans,{eGridCell:Z,suppressDoubleClickExpand:$}=this.params,X=(_,z)=>{let U=h(_,this.beans,null);if(U)z.appendChild(U),this.addDestroyFunc(()=>U.remove())};X("groupExpanded",this.eExpanded),X("groupContracted",this.eContracted);let Y=this.comp,Q=()=>{if(!this.isExpandable())return;let z=!!this.displayedNode.expanded;Y.setExpandedDisplayed(z),Y.setContractedDisplayed(!z),NJ(Z,z)},q=()=>{let _=this.isExpandable();Y.toggleCss("ag-cell-expandable",_),Y.toggleCss("ag-row-group",_);let z=!_&&J.isPivotMode();Y.toggleCss("ag-pivot-leaf-group",z);let U=!J.isPivotMode()&&(!this.displayedNode.footer||this.displayedNode.level!==-1);Y.toggleCss("ag-row-group-leaf-indent",!_&&U);let W=this.getChildCount(),G=W>0?`(${W})`:"";if(Y.setChildCount(G),!_)Y.setExpandedDisplayed(!1),Y.setContractedDisplayed(!1),RX(Z);else Q()};(()=>{if(!$&&!this.isGroupCellEditable(this.displayedNode))this.addManagedListeners(Z,{dblclick:this.onCellDblClicked.bind(this)});this.addManagedListeners(this.eExpanded,{click:this.onExpandClicked.bind(this)}),this.addManagedListeners(this.eContracted,{click:this.onExpandClicked.bind(this)}),this.addManagedListeners(Z,{keydown:this.onKeyDown.bind(this)}),this.addManagedListeners(this.displayedNode,{allChildrenCountChanged:q,masterChanged:q,groupChanged:q,hasChildrenChanged:q,expandedChanged:Q})})(),q()}getInnerCompDetails(){let{userCompFactory:J,findSvc:Z}=this.beans,$=this.params;if($.fullWidth){let _=this.gos.get("groupRowRendererParams"),z=U5(J,_,$);if(z)return z;if(Z?.isMatch($.node,null))return U5(J,{..._,innerRenderer:"agFindCellRenderer"},$);return}let X=(_)=>_&&_.componentClass==this.compClass,Y=U5(J,$,$);if(Y&&!X(Y))return Y;let{displayedNode:{rowGroupColumn:Q}}=this,q=Q?.colDef,H=Q&&$.column?.isRowGroupDisplayed(Q.getId());if(q&&H){let _=o2(J,q,$);if(_)if(X(_)){if(q?.cellRendererParams?.innerRenderer)return U5(J,q.cellRendererParams,$)}else return _}if(Z?.isMatch($.node,$.column))return o2(J,{...q??$.colDef,cellRenderer:"agFindCellRenderer"},$)}getChildCount(){let{column:J,suppressCount:Z}=this.params;if(Z)return 0;let{allChildrenCount:$,rowGroupColumn:X}=this.displayedNode;if(!(($??0)>0&&(!X||!J||J?.isRowGroupDisplayed(X.getId()))))return 0;if(this.gos.get("showOpenedGroup")&&this.displayedNode!==this.node&&!r4(this.node,this.displayedNode,this.gos))return 0;return $??0}isExpandable(){let{node:J,column:Z,colDef:$}=this.params;if(!this.displayedNode.isExpandable())return!1;if(J.rowPinned)return!1;if(!Z)return!0;if(J.hasChildren()&&$){let{showRowGroup:Q}=$;if(!Q)return!1;if(Q===!0)return!0}if(J===this.displayedNode){if(J.rowGroupColumn){if(Z?.isRowGroupDisplayed(J.rowGroupColumn.getId()))return!0}if(J.master)return $?.showRowGroup===!0||$?.showRowGroup==null;return!1}return r4(this.node,this.displayedNode,this.gos)}setupIndent(){let{suppressPadding:J,node:Z,colDef:$}=this.params;if(J)return;let X=()=>{let Y=Z.uiLevel;if($&&$.showRowGroup!==!0)Y=0;let Q="ag-row-group-indent-"+Y;if(Q===this.indentClass)return;if(this.indentClass)this.comp.toggleCss(this.indentClass,!1);this.indentClass=Q,this.comp.toggleCss(Q,!0),this.eGui.style.setProperty("--ag-indentation-level",String(Y))};this.addManagedListeners(Z,{uiLevelChanged:X.bind(this)}),X()}setupCheckbox(){let{node:J}=this.params;if(!(!J.footer&&!J.rowPinned&&!J.detail))return;this.addManagedPropertyListener("rowSelection",({currentValue:$,previousValue:X})=>{let Y=typeof $==="object"?$:void 0,Q=typeof X==="object"?X:void 0;if(Y?.checkboxLocation!==Q?.checkboxLocation)this.destroyCheckbox(),this.addCheckbox()}),this.addCheckbox()}addCheckbox(){let{selectionSvc:J}=this.beans;if(!J||!hZ(this.gos))return;let{node:Z,column:$}=this.params,X=this.gos.get("rowSelection"),Y=K2(X);if(Y==="selectionColumn")return;if(Y==="autoGroupColumn"){let z=$?.getColDef().showRowGroup!=null,U=!$&&Z.group;if(!(z||U))return}let Q=typeof X==="object"?$0(X):this.params.checkbox;if(!(typeof Q==="function"||Q===!0))return;if(typeof $?.getColDef().showRowGroup==="string"&&!this.isExpandable()){this.comp.setCheckboxSpacing(!0);return}let _=J.createCheckboxSelectionComponent();this.cbComp=_,this.createBean(_),_.init({rowNode:Z,column:$,overrides:{isVisible:Q,callbackParams:this.params,removeHidden:!0}}),this.eCheckbox.appendChild(_.getGui()),this.comp.setCheckboxVisible(!0)}destroyCheckbox(){this.comp.setCheckboxSpacing(!1),this.comp.setCheckboxVisible(!1),this.cbComp?.getGui().remove(),this.cbComp=this.destroyBean(this.cbComp)}isGroupCellEditable(J){let Z=this.params.column;return!!Z&&(!!Z.getColDef().groupRowEditable||this.gos.get("enableGroupEdit"))&&Z.isCellEditable(J)}onExpandClicked(J){if(ZZ(J))return;iJ(J),this.onExpandOrContract(J)}onKeyDown(J){if(J.key!==V.ENTER||this.params.suppressEnterExpand)return;if(this.isGroupCellEditable(this.params.node))return;this.onExpandOrContract(J)}onCellDblClicked(J){if(ZZ(J))return;if(!(M6(this.eExpanded,J)||M6(this.eContracted,J)))this.onExpandOrContract(J)}onExpandOrContract(J){if(!this.isExpandable())return;let Z=this.displayedNode,$=!Z.expanded;if(!$&&Z.sticky)this.beans.ctrlsSvc.getScrollFeature().setVerticalScrollPosition(Z.rowTop-Z.stickyRowTop);Z.setExpanded($,J)}destroy(){super.destroy(),this.destroyCheckbox()}},FO={tag:"span",cls:"ag-cell-wrapper",children:[{tag:"span",ref:"eExpanded",cls:"ag-group-expanded ag-hidden"},{tag:"span",ref:"eContracted",cls:"ag-group-contracted ag-hidden"},{tag:"span",ref:"eCheckbox",cls:"ag-group-checkbox ag-invisible"},{tag:"span",ref:"eValue",cls:"ag-group-value"},{tag:"span",ref:"eChildCount",cls:"ag-group-child-count"}]},t4=class extends y{constructor(){super(FO);this.eExpanded=S,this.eContracted=S,this.eCheckbox=S,this.eValue=S,this.eChildCount=S}init(J){let Z={setInnerRenderer:(Q,q)=>this.setRenderDetails(Q,q),setChildCount:(Q)=>this.eChildCount.textContent=Q,toggleCss:(Q,q)=>this.toggleCss(Q,q),setContractedDisplayed:(Q)=>w(this.eContracted,Q),setExpandedDisplayed:(Q)=>w(this.eExpanded,Q),setCheckboxVisible:(Q)=>this.eCheckbox.classList.toggle("ag-invisible",!Q),setCheckboxSpacing:(Q)=>this.eCheckbox.classList.toggle("ag-group-checkbox-spacing",Q)},$=this.createManagedBean(new qq),X=!J.colDef,Y=this.getGui();if($.init(Z,Y,this.eCheckbox,this.eExpanded,this.eContracted,this.constructor,J),X)zJ(Y,$.getCellAriaRole())}setRenderDetails(J,Z){if(J)J.newAgStackInstance().then(($)=>{if(!$)return;let X=()=>this.destroyBean($);if(this.isAlive())this.eValue.appendChild($.getGui()),this.addDestroyFunc(X);else X()});else this.eValue.innerText=Z}destroy(){this.destroyBean(this.innerCellRenderer),super.destroy()}refresh(){return!1}},DO=".ag-group-checkbox-spacing{width:var(--ag-icon-size)}:where(.ag-ltr) .ag-group-checkbox-spacing{margin-right:var(--ag-cell-widget-spacing)}:where(.ag-rtl) .ag-group-checkbox-spacing{margin-left:var(--ag-cell-widget-spacing)}",kO=class extends M{constructor(){super(...arguments);this.beanName="showRowGroupColValueSvc"}getGroupValue(J,Z,$){if(!Z){if(!J.group)return null;return{displayedNode:J,value:J.groupValue}}let X=this.beans.valueSvc,Y=Z.colDef.showRowGroup;if(!Y)return null;if(J.level===-1&&J.footer)return{displayedNode:J,value:null};if(typeof Y==="string"){if((this.beans.rowGroupColsSvc?.getColumnIndex(Y)??-1)>J.level)return null;let H=this.getDisplayedNode(J,Z,!0);if(H)return{displayedNode:H,value:X.getValue(Z,H,"data",$)}}let Q=X.getValue(Z,J,"data",$);if(Q==null){let q=this.getDisplayedNode(J,Z);if(q)return{displayedNode:q,value:X.getValue(Z,q,"data",$)}}return{displayedNode:J,value:Q}}formatAndPrefixGroupColValue(J,Z,$=!1){let X=this.formatGroupColValue(J,Z,$),{value:Y,displayedNode:Q}=J,q=this.beans.footerSvc;if(q?.doesCellShowTotalPrefix(Q,Z))return q.applyTotalPrefix(Y,X,Q,Z);if(Q.footer&&Q.level===-1)return null;return X}formatGroupColValue(J,Z,$=!1){let X=this.beans.valueSvc,{displayedNode:Y,value:Q}=J,q=Y.rowGroupColumn,H=Y.group&&!Z;if(q&&(H||Z?.isRowGroupDisplayed(q.colId))){if($&&q.colDef.useValueFormatterForExport===!1)return null;let z=X.formatValue(q,Y,Q);if(z==null&&Y.key==="")return this.getLocaleTextFunc()("blanks","(Blanks)");return z}if(!Z||Y.group)return null;if($&&Z.colDef.useValueFormatterForExport===!1)return null;return X.formatValue(Z,Y,Q)}getDisplayedNode(J,Z,$=!1){let X=this.gos,Y=X.get("groupHideOpenParents"),Q=X.get("showOpenedGroup")&&!$;if(!Y&&!Q)return;let q=Z.colDef.showRowGroup;if(q===!0){if(J.group)return;return J.parent??void 0}let H=J;while(H&&H.rowGroupColumn?.getId()!=q){let _=H===H.parent?.getFirstChild();if(!Q&&!_)return;H=H.parent}if(H===J)return;return H??void 0}},VO=class extends M{constructor(){super(...arguments);this.beanName="showRowGroupCols",this.columns=[],this.colsSet=new Set,this.colsMap=new Map}destroy(){super.destroy(),this.columns.length=0,this.colsSet.clear(),this.colsMap.clear()}refresh(){let{colModel:J,rowGroupColsSvc:Z}=this.beans,$=this.columns,X=this.colsSet,Y=this.colsMap;Y.clear();let Q=$.length,q=0,H=!1,_=J.getCols();for(let z=0,U=_.length;z=Q||!X.has(W)),$[q++]=W}if(H||(H=q!==Q),H){$.length=q,X.clear();for(let z=0;z{this.gridBodyCtrl=J.gridBodyCtrl}),this.resetStickyContainers()}setOffsetTop(J){if(this.extraTopHeight===J)return;this.extraTopHeight=J,this.eventSvc.dispatchEvent({type:"stickyTopOffsetChanged",offset:J})}setOffsetBottom(J){if(this.extraBottomHeight===J)return;this.extraBottomHeight=J}resetOffsets(){this.setOffsetBottom(0),this.setOffsetTop(0)}getLastPixelOfGroup(J){return this.isClientSide?MO(J):AO(J)}getFirstPixelOfGroup(J){if(J.footer)return J.sibling.rowTop+J.sibling.rowHeight-1;if(J.hasChildren())return J.rowTop-1;return 0}updateStickyRows(J){let Z=J==="top",$=0;if(!this.canRowsBeSticky())return this.refreshNodesAndContainerHeight(J,new Set,$);let X=new Set,{rowModel:Y,rowRenderer:Q,pinnedRowModel:q,pageBounds:H,rowContainerHeight:_}=this.beans,{pageFirstPixel:z,pageLastPixel:U}=H.getCurrentPagePixelRange(),W=Z?Q.firstVisibleVPixel-this.extraTopHeight:Q.lastVisibleVPixel-this.extraTopHeight,G=_.divStretchOffset??0,B=z+G,K=U+G,E=(k)=>{if(X.add(k),Z){let j=this.getLastPixelOfGroup(k),A=W+$+k.rowHeight;if(jA)k.stickyRowTop=$-(j-A);else k.stickyRowTop=$}$=0,X.forEach((j)=>{let A=j.stickyRowTop+j.rowHeight;if(${if(!k.displayed)return!1;if(k.footer){if(L===!0)return!1;if(L==="grand"&&k.level===-1)return!1;if(L==="group"&&k.level>-1)return!1;let j=k.sibling.rowIndex?k.sibling.rowIndex+1===k.rowIndex:!1;if(J==="bottom"&&j)return!1;if(k.level===-1&&q?.getGrandTotalPinned())return!1;return!X.has(k)}if(k.isExpandable()){if(F===!0)return!1;if(J==="bottom")return!1;return!X.has(k)&&!!k.expanded}return!1};for(let k=0;k<100;k++){let j=W+$;if(!Z)j=W-$;if(Z&&jK)j=K;let A=Y.getRowIndexAtPixel(j),R=Y.getRow(A);if(R==null)break;let I=this.getStickyAncestors(R).find((b)=>(Z?b.rowIndexA)&&D(b));if(I){E(I);continue}if((Z?R.rowTopj)&&D(R)){E(R);continue}break}if(!Z)X.forEach((k)=>{k.stickyRowTop=$-(k.stickyRowTop+k.rowHeight)});return this.refreshNodesAndContainerHeight(J,X,$)}areFooterRowsStickySuppressed(){let J=this.gos.get("suppressStickyTotalRow");if(J===!0)return!0;let Z=J==="group",$=J==="grand";if(Z&&$)return!0;if($)return"grand";if(Z)return"group";return!1}canRowsBeSticky(){let J=V2(this.gos),Z=this.areFooterRowsStickySuppressed(),$=this.gos.get("suppressGroupRowsSticky");return J&&(!Z||!$)}getStickyAncestors(J){let Z=[],$=J.footer?J.sibling:J.parent;while($){if($.sibling)Z.push($.sibling);Z.push($),$=$.parent}return Z.reverse()}checkStickyRows(){let J=this.updateStickyRows("top"),Z=this.updateStickyRows("bottom");return J||Z}destroyStickyCtrls(){this.resetStickyContainers()}resetStickyContainers(){this.refreshNodesAndContainerHeight("top",new Set,0),this.refreshNodesAndContainerHeight("bottom",new Set,0)}refreshStickyNode(J){let Z=new Set;if(this.stickyTopRowCtrls.some(($)=>$.rowNode===J)){for(let $=0;${if(H.has(B))return;B.sticky=!0,_.push(this.createRowCon(B,!1,!1))});let z=!!_.length||q.length!==Y.length;if(X){if(this.topContainerHeight!==$)this.topContainerHeight=$,this.gridBodyCtrl.setStickyTopHeight($),z=!0}else if(this.bottomContainerHeight!==$)this.bottomContainerHeight=$,this.gridBodyCtrl.setStickyBottomHeight($),z=!0;this.destroyRowCtrls(Q,!1);let U=[...q,..._];if(U.sort((B,K)=>K.rowNode.rowIndex-B.rowNode.rowIndex),!X)U.reverse();for(let B of U)B.setRowTop(B.rowNode.stickyRowTop);let W=this.beans.pageBounds,G=0;if(X){for(let B of Z)if(B.rowIndexthis.topContainerHeight)G=this.topContainerHeight;this.setOffsetTop(G)}else{for(let B of Z)if(B.rowIndex>W.getLastRow())G+=B.rowHeight;if(G>this.bottomContainerHeight)G=this.bottomContainerHeight;this.setOffsetBottom(G)}if(!z)return!1;if(X)this.stickyTopRowCtrls=U;else this.stickyBottomRowCtrls=U;return!0}ensureRowHeightsValid(){let J=!1,Z=($)=>{let X=$.rowNode;if(X.rowHeightEstimated){let Y=r2(this.beans,X);X.setRowHeight(Y.height),J=!0}};return this.stickyTopRowCtrls.forEach(Z),this.stickyBottomRowCtrls.forEach(Z),J}};function AO(J){if(J.isExpandable()||J.footer){if(J.master&&J.detailNode)return J.detailNode.rowTop+J.detailNode.rowHeight;if(!J.sibling||Math.abs(J.sibling.rowIndex-J.rowIndex)===1){let $=J.childStore?.getStoreBounds();if(J.footer)$=J.sibling.childStore?.getStoreBounds();return($?.heightPx??0)+($?.topPx??0)}if(J.footer)return J.rowTop+J.rowHeight;return J.sibling.rowTop+J.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}function MO(J){if(J.isExpandable()||J.footer){if(J.footer&&J.rowIndex===0)return Number.MAX_SAFE_INTEGER;if(!J.sibling||Math.abs(J.sibling.rowIndex-J.rowIndex)===1){let X=J.footer?J.sibling:J;while(X.isExpandable()&&X.expanded)if(X.master&&X.detailNode)X=X.detailNode;else if(X.childrenAfterSort){if(X.childrenAfterSort.length===0)break;X=C(X.childrenAfterSort)}return X.rowTop+X.rowHeight}if(J.footer)return J.rowTop+J.rowHeight;return J.sibling.rowTop+J.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}var RO=class extends M{constructor(){super(...arguments);this.beanName="stickyRowSvc"}createStickyRowFeature(J,Z,$){let X=this.gos;if(V2(X)&&o(X)||z0(X))return J.createManagedBean(new jO(Z,$));return}},Hq={moduleName:"GroupCellRenderer",version:$J,userComponents:{agGroupRowRenderer:t4,agGroupCellRenderer:t4},dynamicBeans:{groupCellRendererCtrl:qq},icons:{groupContracted:"tree-closed",groupExpanded:"tree-open"},css:[DO],dependsOn:[IJ]},OO={moduleName:"GroupColumn",version:$J,beans:[eR,VO,kO,oR,Yq,$q],dependsOn:[IJ,Hq]},_q={moduleName:"ChangedPath",version:$J,beans:[XO],dependsOn:[IJ]},L7={moduleName:"ClientSideRowModelHierarchy",version:$J,rowModels:["clientSide"],beans:[KO,UO,QO],dependsOn:[IJ,_q]},zq={moduleName:"StickyRow",version:$J,beans:[RO]},SO={moduleName:"GroupEdit",version:$J,beans:[WO],dependsOn:[IJ,L7]},fO=({valueSvc:J,dataTypeSvc:Z},$,X)=>{let Y=J.getValue($,X,"data"),Q=null;if(Y instanceof Date)Q=Y;else if(typeof Y==="string")Q=(Z?.getDateParserFunction($)??e2)(Y)??null;return Q},E0=(J,Z,$,X)=>(Y)=>{let Q=fO(J,Z,Y.node),q=Y2(Q);if(!q)return null;return X?.(q[$])??q[$]},L0=({colNames:J},Z,$)=>(X)=>{let Y=J.getDisplayNameForColumn(Z,X.location);if(Y)return`${Y} (${$})`;return""},PO=Object.fromEntries(K9.map((J)=>[J,J.toLowerCase()])),TO=(J)=>{let Z=K9[Number.parseInt(J,10)-1]??J,$=PO[Z]??J;return{month:Z,localeKey:$}};function l4(J){return J.groupHierarchy??J.rowGroupingHierarchy}var vO=class extends M{constructor(){super(...arguments);this.beanName="groupHierarchyColSvc",this.columns=null,this.sourceColumnMap=new WeakMap,this.inverseColumnMap=new WeakMap}addColumns(J){let Z=this.columns;if(Z==null)return;J.list=Z.list.filter(($)=>!J.list.some((X)=>X.getColId()===$.getColId())).concat(J.list),J.tree=Z.tree.filter(($)=>!J.tree.some((X)=>X.getId()===$.getId())).concat(J.tree),z5(J)}createColumns(J){let Z=new WeakMap,$=new WeakMap,X=this.createGroupHierarchyColumns(J,Z,$);if(_5(X,this.columns?.list??[]))return;XZ(this.beans,this.columns?.tree),this.columns=null;let{colGroupSvc:Q}=this.beans,q=Q?.findDepth(J.tree)??0,H=Q?.balanceTreeForAutoCols(X,q)??[];this.columns={list:X,tree:H,treeDepth:q,map:{}},this.sourceColumnMap=Z,this.inverseColumnMap=$}updateColumns(J){}getColumn(J){return this.columns?.list.find((Z)=>PZ(Z,J))??null}getColumns(){return this.columns?.list??null}expandColumnInto(J,Z){let $=this.getVirtualColumnsForColumn(Z).concat(Z);for(let X of $)if(!J.some((Y)=>PZ(Y,X)||Y.getColId()===X.getColId()))J.push(X)}compareVirtualColumns(J,Z){let $=this.inverseColumnMap.get(J),X=this.inverseColumnMap.get(Z);if($&&$===X){let Y=this.sourceColumnMap.get($)??[];return Y?.indexOf(J)-Y?.indexOf(Z)}if(this.sourceColumnMap.get(J)?.includes(Z))return 1;if(this.sourceColumnMap.get(Z)?.includes(J))return-1;return null}insertVirtualColumnsForCol(J,Z){let $=this.getVirtualColumnsForColumn(Z);if(!$)return[];let X=J.indexOf(Z);if(X<0)X=J.length-1;return $5(J,$),J.splice(X,0,...$),$}getVirtualColumnsForColumn(J){if(this.isGroupHierarchyColsEnabledForCol(J))return this.sourceColumnMap.get(J)??[];return[]}isGroupHierarchyColsEnabled(J){return J.list.some((Z)=>this.isGroupHierarchyColsEnabledForCol(Z))}isGroupHierarchyColsEnabledForCol(J){let Z=J.getColDef();return!!(l4(Z)&&(Z.rowGroup||Z.enableRowGroup||Z.rowGroupIndex!=null||Z.pivot||Z.enablePivot||Z.pivotIndex!=null))}createGroupHierarchyColDefs(J){let Z=[],$=J.getColDef(),X=l4($);if(!X)return Z;if(!this.isGroupHierarchyColsEnabledForCol(J))return Z;for(let Y of X){let Q=null;if(typeof Y==="string")Q=this.createColDefForPart(Y,J,$);else Q=Y;if(Q)Z.push(Q)}return Z}createGroupHierarchyColumns(J,Z,$){if(!this.isGroupHierarchyColsEnabled(J))return[];let X=[];for(let Y of J.list)for(let Q of this.createGroupHierarchyColDefs(Y)){let q=Q.colId;this.gos.validateColDef(Q,q,!0);let H=new HZ(Q,null,q,!0);this.createBean(H),X.push(H),IO(Z,Y,H),$.set(H,Y)}return X}createColDefForPart(J,Z,$){let{beans:X,gos:Y}=this,Q=`${DY}-${Z.getColId()}-${J}`,q={enableRowGroup:$.enableRowGroup,rowGroup:$.rowGroup,enablePivot:$.enablePivot,hide:!0,editable:!1},H=Y.get("groupHierarchyConfig")??{};if(J in H){let W={...q,...H[J]};return W.colId??(W.colId=Q),uZ(X,W,W.colId,!0)}let _=uZ(X,{colId:Q,...q},Q,!0),z=this.getLocaleTextFunc(),U=(W,G)=>z?.(W,G)??G;switch(J){case"year":return{..._,headerValueGetter:L0(X,Z,U(J,"Year")),valueGetter:E0(X,Z,0)};case"quarter":return{..._,headerValueGetter:L0(X,Z,U(J,"Quarter")),valueGetter:E0(X,Z,1,(W)=>(Math.floor(Number(W)/4)+1).toString())};case"month":return{..._,headerValueGetter:L0(X,Z,U(J,"Month")),valueGetter:E0(X,Z,1)};case"formattedMonth":return{..._,headerValueGetter:L0(X,Z,U("month","Month")),valueGetter:E0(X,Z,1,(W)=>{let G=TO(W);return U(G.localeKey,G.month)})};case"day":return{..._,headerValueGetter:L0(X,Z,U(J,"Day")),valueGetter:E0(X,Z,2)};case"hour":return{..._,headerValueGetter:L0(X,Z,U(J,"Hour")),valueGetter:E0(X,Z,3)};case"minute":return{..._,headerValueGetter:L0(X,Z,U(J,"Minute")),valueGetter:E0(X,Z,4)};case"second":return{..._,headerValueGetter:L0(X,Z,U(J,"Second")),valueGetter:E0(X,Z,5)};default:return null}}};function IO(J,Z,$){let X=J.get(Z);J.set(Z,(X??[]).concat($))}var bO={moduleName:"GroupHierarchy",version:$J,beans:[vO],dependsOn:[_q]};var CO=(J,Z)=>{if(!J){Z.length=0;return}let $=J.length;Z.length=$;for(let X=0;X<$;X++){let Y=J[X],Q=Y.getColDef();Z[X]={col:Y,field:Q.field,type:Q.type,keyCreator:Q.keyCreator,valueGetter:Q.valueGetter}}},xO=(J,Z)=>{let $=J.length;if($!==Z?.length)return!0;for(let X=0;X<$;X++){let Y=J[X],Q=Z[X];if(Y.col!==Q)return!0;let q=Q.getColDef();if(Y.field!==q.field||Y.type!==q.type||Y.valueGetter!==q.valueGetter||Y.keyCreator!==q.keyCreator)return!0}return!1};function yO(J){if(!J)return!1;let Z=J.length;if(Z<2)return!1;let $=!1;for(let X=1;X0){$=!0;break}if(!$)return!1;return J.sort(a4),!0}function a4(J,Z){let $=J.sourceRowIndex,X=Z.sourceRowIndex,Y=$>=0,Q=X>=0,q=Y&&Q,H=!Y&&!Q;if(q)return $-X;if(H)return J.__objectId-Z.__objectId;if(Y)return 1;return-1}var NO=class extends M{constructor(){super(...arguments);this.groupCols=[],this.nonLeafsById=new Map,this.checkGroupCols=!0,this.pivotMode=!1,this.groupEmpty=!1}invalidateGroupCols(){this.checkGroupCols=!0}destroy(){super.destroy(),this.groupCols.length=0,this.nonLeafsById.clear()}clearNonLeafs(){let J=this.nonLeafsById;for(let Z of J.values())Z._destroy(!1);J.clear()}loadGroupData(J){if(!J.group)return J._groupData=null,null;let Z=J.rowGroupColumn,{valueSvc:$,showRowGroupCols:X}=this.beans,Y={};if(J._groupData=Y,!Z)return Y;let Q=p0(J),q=Z.getId();if(!X)return Y;let H=X.columns;for(let _=0,z=H.length;_{let X=$.childrenAfterGroup,Y=X?.length;if(!Y)return;let Q=Array(Y),q=0,H=!1,_;for(let z=0;z1)}}if(Y.size)for(let _ of Y){this.insertOneNode(J,_);let z=_.parent;Z?.addRow(z),Q||(Q=(z?.childrenAfterGroup?.length??0)>1)}if(H.size)o4(H),this.removeEmptyGroups(H,q);if(Q)this.sortChildren(J,Z)}sortChildren(J,Z){MJ(J,!0,void 0,($)=>{if(yO($.childrenAfterGroup))Z?.addRow($)})}orderGroups(J){let Z=this.gos.getCallback("initialGroupOrderComparator");if(!Z)return;let $=this.beans,X=$.gridApi,Y=$.gridOptions.context,Q=(H,_)=>Z({api:X,context:Y,nodeA:H,nodeB:_}),q=(H)=>{let _=H.childrenAfterGroup,z=_?.length;if(!z||H.leafGroup)return;if(z>1)_.sort(Q);for(let U=0,W=z;U=0;--H){let{col:_}=q[H],z=$.getKeyForNode(_,Z);if(z==null||z===""){if(!X)continue;z=""}if(!Y?.parent||Y.key!==z){Q=!0;break}Y=Y.parent}if(Q||(Q=!!Y?.parent),!Q)return!1;return this.removeFromParent(Z),this.insertOneNode(J,Z),Z.setData(Z.data),!0}groupShouldBeRemoved(J){let Z=this.getChildrenMappedKey(J.key,J.rowGroupColumn),$=J.parent?.childrenMapped;if($?!$[Z]:!0)return!1;return!!J.group&&(J.childrenAfterGroup?.length??0)===0}removeEmptyGroups(J,Z){let $=this.beans.selectionSvc,X,Y=Array.from(J),Q=this.nonLeafsById;do{J.clear();for(let q=0;q=H-1,E=this.createGroup($,z,W,B,K,Z);this.addToParent(E,$),$=E}if(!$.group)O(184,{parentGroupData:$.data,childNodeData:Z.data});Z.parent=$,Z.level=$.level+1,$.childrenAfterGroup.push(Z),$.updateHasChildren(),Y7($)}createGroup(J,Z,$,X,Y,Q){let q=Z.col,H=(J.level>=0?J.id+"-":"row-group-")+(q.getColId()+"-"+$),_=this.nonLeafsById,z=_.get(H),U=!0;if(z){if(z.childrenAfterGroup!==null)return z._expanded??(z._expanded=null),z;U=!1,Y7(z)}else z=new G0(this.beans),z.group=!0,z.key=$,z.id=H,z.aggData=null,_.set(H,z);let W=(E)=>{E.childrenAfterGroup=G,E.childrenMapped=B,E.parent=J,E.level=X,E.rowGroupIndex=X,E.leafGroup=Y},G=[],B={};if(W(z),z.field=Z.field??null,z.rowGroupColumn=q,z.groupValue=this.beans.valueSvc.getValue(q,Q,"data"),z._expanded??(z._expanded=null),U)return z.setAllChildrenCount(0),z.updateHasChildren(),z;let K=z.sibling;if(K)W(K);return z.dispatchRowEvent("hasChildrenChanged"),z}getChildrenMappedKey(J,Z){return Z?Z.getId()+"-"+J:J}onShowRowGroupColsSetChanged(){let{rowModel:J,valueSvc:Z}=this.beans;for(let X of this.nonLeafsById.values()){X._groupData=void 0;let Y=X.rowGroupColumn,Q=Y&&p0(X);X.groupValue=Q&&Z.getValue(Y,Q,"data")}let $=J.rootNode?._leafs;if($)for(let X=0,Y=$.length;X{for(let Z of J){let $=Z?.childrenAfterGroup;if(!$)continue;let X=$.length,Y=0;for(let Q=0;Q{while(J._leafs!==void 0){let Z=J.parent;if(!Z)break;J._leafs=void 0,J=Z}};function wO(J,Z){J.rowGroupColsSvc?.setColumns(Z,"api")}function gO(J,Z){J.rowGroupColsSvc?.removeColumns(Z,"api")}function hO(J,Z){J.rowGroupColsSvc?.addColumns(Z,"api")}function uO(J,Z,$){J.rowGroupColsSvc?.moveColumn?.(Z,$,"api")}function mO(J){return J.rowGroupColsSvc?.columns??[]}var Uq={moduleName:"SharedRowGrouping",version:$J,apiFunctions:{setRowGroupColumns:wO,removeRowGroupColumns:gO,addRowGroupColumns:hO,getRowGroupColumns:mO,moveRowGroupColumn:uO},dependsOn:[IJ,Xq,OO,zq,bO]},cO={moduleName:"RowGrouping",version:$J,dynamicBeans:{groupStrategy:NO},rowModels:["clientSide"],dependsOn:[Uq,aR,L7,SO]};function pO(J,Z){J.clipboardSvc?.copyToClipboard(Z)}function iO(J,Z){J.clipboardSvc?.cutToClipboard(Z)}function dO(J,Z){J.clipboardSvc?.copySelectedRowsToClipboard(Z)}function nO(J,Z){J.clipboardSvc?.copySelectedRangeToClipboard(Z)}function sO(J){J.clipboardSvc?.copyRangeDown()}function rO(J){J.clipboardSvc?.pasteFromClipboard()}var e6="paste",d9="dragCopy",n9="clipboard";function tO(J,Z=","){let $=[],X=(Q)=>Q==="\r"||Q===` `,Y=!1;if(J==="")return[[""]];for(let Q=0,q=0,H=0;H{if(!$[Q])$[Q]=[];if(!$[Q][q])$[Q][q]=""};if(W(),z==='"'){if(Y)if(U==='"')$[Q][q]+='"',H++;else Y=!1;else if(_===void 0||_===Z||X(_))Y=!0}if(!Y&&z!=='"'){if(z===Z){q++,W();continue}else if(X(z)){if(q=0,Q++,W(),z==="\r"&&U===` `)H++;continue}}$[Q][q]+=z}return $}var lO=class extends M{constructor(){super(...arguments);this.beanName="clipboardSvc",this.clientSideRowModel=null,this.gridCtrl=null,this.lastPasteOperationTime=0,this.navigatorApiFailed=!1}postConstruct(){let{gos:J,rowModel:Z,ctrlsSvc:$}=this.beans;if(o(J,Z))this.clientSideRowModel=Z;$.whenReady(this,(X)=>{this.gridCtrl=X.gridCtrl})}destroy(){super.destroy(),this.clientSideRowModel=null,this.gridCtrl=null}pasteFromClipboard(){if(!this.gos.get("suppressClipboardApi")&&!this.navigatorApiFailed&&navigator.clipboard?.readText)navigator.clipboard.readText().then(this.processClipboardData.bind(this)).catch((Z)=>{O(40,{e:Z,method:"readText"}),this.navigatorApiFailed=!0,this.pasteFromClipboardLegacy()});else this.pasteFromClipboardLegacy()}pasteFromClipboardLegacy(){let J=!1,Z=($)=>{let X=Date.now();if(X-this.lastPasteOperationTime<50)J=!0,$.preventDefault();this.lastPasteOperationTime=X};this.executeOnTempElement(($)=>{$.addEventListener("paste",Z),$.focus({preventScroll:!0})},($)=>{let X=$.value;if(!J)this.processClipboardData(X);else this.refocusLastFocusedCell();$.removeEventListener("paste",Z)})}refocusLastFocusedCell(){let{focusSvc:J}=this.beans,Z=J.getFocusedCell();if(Z)J.setFocusedCell({rowIndex:Z.rowIndex,column:Z.column,rowPinned:Z.rowPinned,forceBrowserFocus:!0})}getClipboardDelimiter(){let J=this.gos.get("clipboardDelimiter");return T(J)?J:"\t"}processClipboardData(J){if(J==null)return;let Z=tO(J,this.getClipboardDelimiter()),$=this.gos.getCallback("processDataFromClipboard");if($)Z=$({data:Z});if(Z==null)return;if(this.gos.get("suppressLastEmptyLineOnPaste"))this.removeLastLineIfBlank(Z);let{rangeSvc:X,editSvc:Y}=this.beans,Q=(q,H,_,z)=>{if(X?.isMoreThanOneCell()&&!this.hasOnlyOneValueToPaste(Z))this.pasteIntoActiveRange(Z,q,H,z);else this.pasteStartingFromFocusedCell(Z,q,H,_,z);Y?.stopEditing(void 0,{source:e6})};this.doPasteOperation(Q)}doPasteOperation(J){let{eventSvc:$,focusSvc:X,rowRenderer:Y,gos:Q}=this.beans;$.dispatchEvent({type:"pasteStart",source:"clipboard"});let{clientSideRowModel:q}=this,H=q?.rootNode,_=H&&this.beans.changedPathFactory?.newPath(Q.get("aggregateOnlyChangedColumns")),z={},U=[],W=X.getFocusedCell();J(z,U,W,_);let G=U.slice();if(_)q.doAggregate(_),MJ(H,q.hierarchical,_,(B)=>{G.push(B)});Y.refreshCells({rowNodes:G}),this.dispatchFlashCells(z),this.fireRowChanged(U),this.refocusLastFocusedCell(),$.dispatchEvent({type:"pasteEnd",source:"clipboard"})}getPreProcessRangeCallback(J){return(Z)=>{let{rangeSvc:$}=this.beans;if(!$)return;let{rowDiff:X,colDiff:Y}=this.getAdjustedRangeDimensionForPaste(Z,J);if(X!==0)$.extendRangeRowCountBy(Z,X);if(Y!==0)$.extendRangeColumnCountBy(Z,Y)}}getAdjustedRangeDimensionForPaste(J,Z){let $=this.beans.rangeSvc,X=Z.length,Y=$.getRangeRowCount(J),Q=Y>=X&&Y%X===0,q=Z[0].length,H=J.columns.length,_=H>=q&&H%q===0;return{rowDiff:Q?0:X-Y,colDiff:_?0:q-H}}pasteIntoActiveRange(J,Z,$,X){let Y=0,Q=0,q=(H,_,z,U)=>{if(U-Y>=J.length){if(U%J.length!==0)return;Y+=Q,Q=0}let G=J[U-Y];$.push(_);let B=this.gos.getCallback("processCellFromClipboard"),K=z.columns,E=K.findIndex(IZ);if(E!==-1)K.splice(E,1);for(let L=0;L=G.length)D=L%G.length;let k=this.processCell(_,F,G[D],d9,B,!0);_.setDataValue(F,k,e6),X?.addCell(_.parent,F.getId());let{rowIndex:j,rowPinned:A}=H,R=CZ({rowIndex:j,column:F,rowPinned:A});Z[R]=!0}Q++};this.iterateActiveRanges(q,!1,this.getPreProcessRangeCallback(J))}getDisplayedColumnsStartingAt(J){let Z=J,$=[],{visibleCols:X}=this.beans;while(Z&&H5(Z))Z=X.getColAfter(Z);while(Z!=null)$.push(Z),Z=X.getColAfter(Z);return $}pasteStartingFromFocusedCell(J,Z,$,X,Y){if(!X)return;let Q={rowIndex:X.rowIndex,rowPinned:X.rowPinned},q=this.getDisplayedColumnsStartingAt(X.column);if(this.isPasteSingleValueIntoRange(J))this.pasteSingleValueIntoRange(J,$,Z,Y);else this.pasteMultipleValues(J,Q,$,q,Z,n9,Y)}isPasteSingleValueIntoRange(J){let Z=this.beans.rangeSvc;return this.hasOnlyOneValueToPaste(J)&&!!Z&&!Z.isEmpty()}pasteSingleValueIntoRange(J,Z,$,X){let Y=J[0][0],Q=(q,H,_)=>{Z.push(H),_.columns.forEach((z)=>this.updateCellValue(H,z,Y,$,n9,X))};this.iterateActiveRanges(Q)}hasOnlyOneValueToPaste(J){return J.length===1&&J[0].length===1}copyRangeDown(){let{rangeSvc:J,gos:Z,formula:$,valueSvc:X}=this.beans;if(!J||J.isEmpty())return;let Y=[],Q=(q,H,_,z)=>{let U=Z.getCallback("processCellForClipboard"),W=Z.getCallback("processCellFromClipboard"),G=(B,K,E)=>{let{columns:L}=E;if(!Y.length)L.forEach((F)=>{let D=this.processCell(K,F,X.getValue(F,K,"batch"),d9,U,!1,!0);Y.push(D)});else H.push(K),L.forEach((F,D)=>{if(!F.isCellEditable(K)||F.isSuppressPaste(K))return;if(F.isAllowFormula()&&$?.isFormula(Y[D]))Y[D]=$?.updateFormulaByOffset({value:Y[D],rowDelta:1});let j=this.processCell(K,F,Y[D],d9,W,!0);K.setDataValue(F,j,e6),z?.addCell(K.parent,F.getId());let{rowIndex:A,rowPinned:R}=B,f=CZ({rowIndex:A,column:F,rowPinned:R});q[f]=!0})};this.iterateActiveRanges(G,!0)};this.doPasteOperation(Q)}removeLastLineIfBlank(J){let Z=C(J);if(Z&&Z.length===1&&Z[0]===""){if(J.length===1)return;YJ(J,Z)}}fireRowChanged(J){if(this.gos.get("editType")!=="fullRow")return;for(let Z of J)this.eventSvc.dispatchEvent({type:"rowValueChanged",node:Z,data:Z.data,rowIndex:Z.rowIndex,rowPinned:Z.rowPinned})}shouldSkipPasteRow(J,Z,$){if(J.detail||J.footer)return!0;if($&&J.group){for(let X of Z)if(X.isCellEditable(J))return!1;return!0}return!1}pasteMultipleValues(J,Z,$,X,Y,Q,q){let H=Z,_=this.beans,{gos:z}=_,U=this.clientSideRowModel!=null&&!z.get("enableGroupEdit")&&!z.get("treeData"),W=()=>{while(H){let G=kJ(_,H);if(H=LJ(_,{rowPinned:H.rowPinned,rowIndex:H.rowIndex}),G!=null&&!this.shouldSkipPasteRow(G,X,U))return G}return null};for(let G of J){let B=W();if(!B)continue;G.forEach((K,E)=>this.updateCellValue(B,X[E],K,Y,Q,q)),$.push(B)}}updateCellValue(J,Z,$,X,Y,Q){if(!J||!Z?.isCellEditable(J)||Z?.isSuppressPaste(J))return;let q=this.processCell(J,Z,$,Y,this.gos.getCallback("processCellFromClipboard"),!0);J.setDataValue(Z,q,e6);let{rowIndex:H,rowPinned:_}=J,z=CZ({rowIndex:H,column:Z,rowPinned:_});X[z]=!0,Q?.addCell(J.parent,Z.getId())}copyToClipboard(J={}){this.copyOrCutToClipboard(J)}cutToClipboard(J={},Z="api"){if(this.gos.get("suppressCutToClipboard"))return;this.eventSvc.dispatchEvent({type:"cutStart",source:Z}),this.copyOrCutToClipboard(J,!0),this.eventSvc.dispatchEvent({type:"cutEnd",source:Z})}copyOrCutToClipboard(J,Z){let{includeHeaders:$,includeGroupHeaders:X}=J,{gos:Y,focusSvc:Q}=this.beans;if($==null)$=Y.get("copyHeadersToClipboard");if(X==null)X=Y.get("copyGroupHeadersToClipboard");let q={includeHeaders:$,includeGroupHeaders:X},H=Y.get("rowSelection"),_=Y.get("cellSelection"),z=null;if(this.shouldCopyCells(_,H))this.copySelectedRangeToClipboard(q),z=0;else if(this.shouldCopyRows(H))this.copySelectedRowsToClipboard(q),z=1;else if(Q.isAnyCellFocused())this.copyFocusedCellToClipboard(q),z=2;if(Z&&z!==null)this.clearCellsAfterCopy(z)}shouldCopyCells(J,Z){let{rangeSvc:$,selectionSvc:X,gos:Y}=this.beans;if(!$||$.isEmpty())return!1;if(J)return!(typeof Z==="object"&&Z.copySelectedRows&&!X?.isEmpty());else{let Q=Y.get("suppressCopySingleCellRanges");return!(!$.isMoreThanOneCell()&&Q)}}shouldCopyRows(J){let{selectionSvc:Z,gos:$}=this.beans;if(Z?.isEmpty()??!0)return!1;if(J&&typeof J!=="string")return J.copySelectedRows??!1;else return!$.get("suppressCopyRowsToClipboard")}clearCellsAfterCopy(J){let Z=this.beans,{rangeSvc:$,focusSvc:X,eventSvc:Y}=Z;if(Y.dispatchEvent({type:"keyShortcutChangedCellStart"}),J===0)$.clearCellRangeCellValues({cellEventSource:"clipboardSvc"});else if(J===1)this.clearSelectedRows();else{let Q=X.getFocusedCell();if(Q==null)return;let q=kJ(Z,Q);if(q)this.clearCellValue(q,Q.column)}Y.dispatchEvent({type:"keyShortcutChangedCellEnd"})}clearSelectedRows(){let{selectionSvc:J,visibleCols:Z}=this.beans,$=J?.getSelectedNodes()??[],X=Z.allCols;for(let Y of $)for(let Q of X)this.clearCellValue(Y,Q)}clearCellValue(J,Z){if(!Z.isCellEditable(J))return;let $=this.beans.valueSvc.getDeleteValue(Z,J);J.setDataValue(Z,$,"clipboardSvc")}iterateActiveRanges(J,Z,$){let X=this.beans.rangeSvc;if(!X||X.isEmpty())return;let Y=X.getCellRanges(),Q=Z?[Y[0]]:Y;for(let q of Q)this.iterateActiveRange({cellRange:q,rowCallback:J,preProcessRange:$})}iterateActiveRange(J){let{cellRange:Z,preProcessRange:$,rowCallback:X}=J,{beans:Y}=this,{rangeSvc:Q}=Y;if(!Q)return;if($)$(Z);let q=Q.getRangeStartRow(Z),H=Q.getRangeEndRow(Z),_=0,z=!1;while(!z&&q!=null){let U=kJ(Y,q);z=l(q,H),X(q,U,Z,_++),q=LJ(Y,q)}}copySelectedRangeToClipboard(J={}){let Z=this.beans.rangeSvc;if(!Z||Z.isEmpty())return;let $=Z.areAllRangesAbleToMerge(),{data:X,cellsToFlash:Y}=$?this.buildDataFromMergedRanges(Z,J):this.buildDataFromRanges(Z,J);this.copyDataToClipboard(X),this.dispatchFlashCells(Y)}buildDataFromMergedRanges(J,Z){let $=new Set,X=J.getCellRanges(),Y=new Map,Q=[],q={},H=o(this.gos,this.beans.rowModel),_=new Set;if(!H)this.beans.rowModel.forEachNode((G)=>{_.add(G.rowIndex)});for(let G of X){G.columns.forEach((E)=>$.add(E));let{rowPositions:B,cellsToFlash:K}=this.getRangeRowPositionsAndCellsToFlash(J,G);for(let E of B){let L=_.has(E.rowIndex);if(!H&&!L)continue;let F=`${E.rowIndex}-${E.rowPinned||"null"}`;if(!Y.get(F))Y.set(F,!0),Q.push(E)}Object.assign(q,K)}let z=this.beans.visibleCols.allCols,U=Array.from($);return U.sort((G,B)=>{let K=z.indexOf(G),E=z.indexOf(B);return K-E}),{data:this.buildExportParams({columns:U,rowPositions:Q,includeHeaders:Z.includeHeaders,includeGroupHeaders:Z.includeGroupHeaders}),cellsToFlash:q}}buildDataFromRanges(J,Z){let $=J.getCellRanges(),X=[],Y={};for(let Q of $){let{rowPositions:q,cellsToFlash:H}=this.getRangeRowPositionsAndCellsToFlash(J,Q);Object.assign(Y,H),X.push(this.buildExportParams({columns:Q.columns,rowPositions:q,includeHeaders:Z.includeHeaders,includeGroupHeaders:Z.includeGroupHeaders}))}return{data:X.join(` `),cellsToFlash:Y}}getRangeRowPositionsAndCellsToFlash(J,Z){let $=[],X={},Y=J.getRangeStartRow(Z),Q=J.getRangeEndRow(Z),q=Y;while(q){$.push(q);for(let H of Z.columns){let{rowIndex:_,rowPinned:z}=q,U=CZ({rowIndex:_,column:H,rowPinned:z});X[U]=!0}if(l(q,Q))break;q=LJ(this.beans,q)}return{rowPositions:$,cellsToFlash:X}}getCellsToFlashFromRowNodes(J){let Z=this.beans.visibleCols.allCols,$={};for(let X=0;X{let{value:W,valueFormatted:G}=this.beans.valueSvc.getValueForDisplay({column:U,node:z,includeValueFormatted:!0,from:"batch"}),B=G??W??"",K=Q.getCallback("processCellForClipboard");if(!K)return B;return K({column:U,node:z,value:B,type:n9,formatValue:(E)=>this.beans.valueSvc.formatValue(U,z,E)??E,parseValue:(E)=>this.beans.valueSvc.parseValue(U,z,E,W)??E})},_={columnKeys:Z,rowPositions:$,skipColumnHeaders:!X,skipColumnGroupHeaders:!Y,suppressQuotes:!0,columnSeparator:this.getClipboardDelimiter(),onlySelected:!$,valueFrom:"batch",processCellCallback:Q.getCallback("processCellForClipboard"),processRowGroupCallback:H,processHeaderCallback:Q.getCallback("processHeaderForClipboard"),processGroupHeaderCallback:Q.getCallback("processGroupHeaderForClipboard")};return q.getDataAsCsv(_,!0)}dispatchFlashCells(J){window.setTimeout(()=>{this.eventSvc.dispatchEvent({type:"flashCells",cells:J})},0)}processCell(J,Z,$,X,Y,Q,q){let{valueSvc:H,formula:_}=this.beans;if(Y)return Y({column:Z,node:J,value:$,type:X,formatValue:(U)=>H.formatValue(Z,J??null,U)??U,parseValue:(U)=>H.parseValue(Z,J??null,U,H.getValue(Z,J,"edit"))});if(Q&&Z.getColDef().useValueParserForImport!==!1)return H.parseValue(Z,J??null,$,H.getValue(Z,J,"edit"));if(q&&Z.getColDef().useValueFormatterForExport!==!1){if(_?.isFormula($))return $;return H.formatValue(Z,J??null,$)??$}return $}copyDataToClipboard(J){let Z=this.gos.getCallback("sendToClipboard");if(Z){Z({data:J});return}if(!this.gos.get("suppressClipboardApi")&&navigator.clipboard){navigator.clipboard.writeText(J).catch((X)=>{O(40,{e:X,method:"writeText"}),this.copyDataToClipboardLegacy(J)});return}this.copyDataToClipboardLegacy(J)}copyDataToClipboardLegacy(J){this.executeOnTempElement((Z)=>{let $=qJ(this.beans),X=n(this.beans);if(Z.value=J||" ",Z.select(),Z.focus({preventScroll:!0}),!$.execCommand("copy"))O(41);if(X?.focus!=null)X.focus({preventScroll:!0})})}executeOnTempElement(J,Z){if(!this.gridCtrl)return;let $=qJ(this.beans),X=$.createElement("textarea"),Y=X.style;Y.width="1px",Y.height="1px";let Q=$.documentElement;Y.top=Q.scrollTop+"px",Y.left=Q.scrollLeft+"px",Y.position="absolute",Y.opacity="0",this.gridCtrl.getGui().appendChild(X);try{J(X)}catch(H){O(42)}if(Z)window.setTimeout(()=>{Z(X),X.remove()},100);else X.remove()}},Wq={moduleName:"Clipboard",version:$J,beans:[lO],apiFunctions:{copyToClipboard:pO,cutToClipboard:iO,copySelectedRowsToClipboard:dO,copySelectedRangeToClipboard:nO,copySelectedRangeDown:sO,pasteFromClipboard:rO},dependsOn:[IJ,J4,i0,L4]};var Gq=class extends M{constructor(){super(...arguments);this.loadRowDataVersion=0}wireBeans(J){this.environment=J.environment}init(J,Z){if(this.params=Z,this.comp=J,Z.pinned!=null)return;this.setAutoHeightClasses(),this.setupRefreshStrategy(),this.createDetailGrid(),this.loadRowData(),this.addManagedEventListeners({fullWidthRowFocused:this.onFullWidthRowFocused.bind(this)})}onFullWidthRowFocused(J){let Z=this.params,$={rowIndex:Z.node.rowIndex,rowPinned:Z.node.rowPinned},X={rowIndex:J.rowIndex,rowPinned:J.rowPinned};if(!l($,X))return;DJ(this.comp.getGui(),J.fromBelow)}setAutoHeightClasses(){let J=this.gos.get("detailRowAutoHeight"),Z=J?"ag-details-row-auto-height":"ag-details-row-fixed-height",$=J?"ag-details-grid-auto-height":"ag-details-grid-fixed-height",X=this.comp;X.toggleCss(Z,!0),X.toggleDetailGridCss($,!0)}setupRefreshStrategy(){let J=this.params.refreshStrategy;if(J=="everything"||J=="nothing"||J=="rows"){this.refreshStrategy=J;return}if(J!=null)O(170,{providedStrategy:J});this.refreshStrategy="rows"}createDetailGrid(){let{params:J,gos:Z}=this;if(d(J.detailGridOptions)){O(171);return}let $=Z.get("theme"),X=J.detailGridOptions.theme;if(X&&X!==$)O(267);let Y={themeStyleContainer:this.environment.eStyleContainer,...J.detailGridOptions,theme:$};if(Z.get("detailRowAutoHeight"))Y.domLayout="autoHeight";this.comp.setDetailGrid(Y)}registerDetailWithMaster(J){let{params:Z,beans:{selectionSvc:$,findSvc:X,expansionSvc:Y}}=this,Q=Z.node.id,q=Z.api,H={id:Q,api:J},_=Z.node;if(q.isDestroyed())return;q.addDetailGridInfo(Q,H),_.detailGridInfo=H;let z=_.parent;X?.registerDetailGrid(_,J);function U(){if(z)$?.refreshMasterNodeState(z)}function W({source:B}){if(B==="expandAll")return J.expandAll();if(B==="collapseAll")return J.collapseAll()}function G({node:B,source:K}){if(B!==z||K==="masterDetail"||J.isDestroyed())return;$?.setDetailSelectionState(z,Z.detailGridOptions,J)}J.addEventListener("firstDataRendered",()=>{if(J.isDestroyed()||q.isDestroyed())return;$?.setDetailSelectionState(z,Z.detailGridOptions,J),J.addEventListener("selectionChanged",U),q.addEventListener("rowSelected",G);let K=`${"CsrmSsrmSharedApi"}Module`;if(J.isModuleRegistered(K))q.addEventListener("expandOrCollapseAll",W),Y?.setDetailsExpansionState(J)}),this.addManagedListeners(z,{masterChanged:(B)=>{if(!B.node.master)this.onDestroy(H)}}),this.addDestroyFunc(()=>this.onDestroy(H))}onDestroy(J){let{params:Z}=this,$=Z.node,X=Z.api;if($.detailGridInfo!==J)return;if(!X.isDestroyed())X.removeDetailGridInfo($.id);$.detailGridInfo=null}loadRowData(){this.loadRowDataVersion++;let J=this.loadRowDataVersion,Z=this.params;if(Z.detailGridOptions?.rowModelType==="serverSide"){Z.node.detailGridInfo?.api?.refreshServerSide({purge:!0});return}let $=Z.getDetailRowData;if(!$){O(172);return}let X=(Q)=>{if(this.loadRowDataVersion===J)this.comp.setRowData(Q)},Y={node:Z.node,data:Z.node.data,successCallback:X,context:x(this.gos,{}).context};$(Y)}refresh(){switch(this.refreshStrategy){case"nothing":return!0;case"everything":return!1}return this.loadRowData(),!0}},aO=class{constructor(J){this.parentWrapper=J}wrap(J,Z,$,X){return this.parentWrapper.wrap(J,Z,$,X)}},oO={tag:"div",cls:"ag-details-row"},eO={tag:"div",cls:"ag-details-row",role:"gridcell",children:[{tag:"div",ref:"eDetailGrid",cls:"ag-details-grid",role:"presentation"}]},JS=class extends y{constructor(){super(...arguments);this.eDetailGrid=S}wireBeans(J){this.context=J.context}init(J){this.params=J,this.selectAndSetTemplate();let Z={toggleCss:($,X)=>this.toggleCss($,X),toggleDetailGridCss:($,X)=>this.eDetailGrid.classList.toggle($,X),setDetailGrid:($)=>this.setDetailGrid($),setRowData:($)=>this.setRowData($),getGui:()=>this.eDetailGrid};this.ctrl=this.createManagedBean(new Gq),this.ctrl.init(Z,J)}refresh(){return this.ctrl?.refresh()??!1}selectAndSetTemplate(){let J=this.params;if(J.pinned){this.setTemplate(oO);return}let Z=()=>{this.setTemplate(eO)};if(d(J.template))Z();else if(typeof J.template==="string")this.setTemplate(J.template,[]);else if(typeof J.template==="function"){let $=J.template,X=$(J);this.setTemplate(X,[])}else O(168),Z();if(this.eDetailGrid==null)O(169)}setDetailGrid(J){if(!this.eDetailGrid)return;let Z=this.context.getBean("frameworkCompWrapper"),$=new aO(Z),{frameworkOverrides:X}=this.beans,Y=A9(this.eDetailGrid,J,{frameworkOverrides:X,providedBeanInstances:{frameworkCompWrapper:$},modules:nX(this.params.api.getGridId(),J.rowModelType??"clientSide")});this.detailApi=Y,this.ctrl?.registerDetailWithMaster(Y),this.addDestroyFunc(()=>{Y.destroy()})}setRowData(J){this.detailApi?.setGridOption("rowData",J)}};function F7(J,Z){let $=J.masterDetailSvc?.store;return $?Z($):void 0}function ZS(J,Z,$){F7(J,(X)=>{X[Z]=$})}function $S(J,Z){F7(J,($)=>{delete $[Z]})}function XS(J,Z){return F7(J,($)=>$[Z])}function YS(J,Z){F7(J,($)=>{let X=0;Object.values($).forEach((Y)=>{if(Y)Z(Y,X++)})})}var QS=".ag-details-row{width:100%}.ag-details-row-fixed-height{height:100%}.ag-details-grid{width:100%}.ag-details-grid-fixed-height{height:100%}",qS=class extends M{constructor(){super(...arguments);this.beanName="masterDetailSvc",this.store={}}isEnabled(){return this.gos.get("masterDetail")}postConstruct(){let J=this.gos;if(o(J))this.enabled=this.isEnabled();if(z0(J))this.addEventListeners()}addEventListeners(){let J=(X)=>{this.setMaster(X.node,!1,!0)},Z,$=()=>{if(Z){for(let X of Z)X();Z=void 0}if(this.isEnabled())Z=this.addManagedListeners(this.beans.eventSvc,{rowNodeDataChanged:J})};$(),this.gos.addPropertyEventListener("masterDetail",$)}refreshModel(J){if(J.changedProps){let Z=this.isEnabled();if(this.enabled!==Z){this.setMasters(null);return}}if(J.rowDataUpdated)this.setMasters(J.changedRowNodes)}setMaster(J,Z,$){let X=J.master,Y=this.isEnabled(),Q=Y,q=this.gos,H=q.get("isRowMaster"),_=q.get("treeData");if(Y)if(Z||$){if(H){let z=J.data;Q=!!z&&!!H(z)}}else Q=X;if(!_){if(Q&&Z||!Q&&X)J._expanded??(J._expanded=null)}if(Q!==X)J.master=Q,J.dispatchRowEvent("masterChanged")}setMasters(J){if(this.enabled=this.isEnabled(),J){for(let Z of J.updates)this.setMaster(Z,!1,!0);for(let Z of J.adds)this.setMaster(Z,!0,!1)}else{let Z=t8(this.beans)?.rootNode?._leafs;if(Z)for(let $=0,X=Z.length;${let q=Z.clientHeight;if(q!=null&&q>0){let H=()=>{let{rowModel:_}=this.beans,{rowNode:z}=J;if(z.setRowHeight(q),o($,_)||z0($,_))_.onRowHeightChanged()};window.setTimeout(H,0)}},Q=DZ(X,Z,Y);J.addDestroyFunc(Q),Y()}destroy(){this.store={},super.destroy()}},HS={moduleName:"SharedMasterDetail",version:$J,beans:[qS],userComponents:{agDetailCellRenderer:JS},dynamicBeans:{detailCellRendererCtrl:Gq},apiFunctions:{addDetailGridInfo:ZS,removeDetailGridInfo:$S,getDetailGridInfo:XS,forEachDetailGridInfo:YS},dependsOn:[IJ,Hq,zq],css:[QS]},Bq={moduleName:"MasterDetail",version:$J,dependsOn:[HS,L7,E4]},Kq=class extends y{constructor(){super(...arguments);this.changedCalculatedValues=!1,this.dragging=!1,this.shouldDestroyOnEndDragging=!1}postConstruct(){this.beans.dragSvc.addDragSource({dragStartPixels:0,eElement:this.getGui(),onDragging:(J)=>{let Z=!1;if(!this.dragging)Z=!0,this.dragging=!0,D2(this.beans).classList?.add(this.getDraggingCssClass());if(this.updateValuesOnMove(J),Z){this.changedCalculatedValues=!1;return}if(this.beans.rangeSvc.autoScrollService.check(J),this.changedCalculatedValues)this.onDrag(J),this.changedCalculatedValues=!1},onDragStop:(J)=>{this.dragging=!1,this.onDragEnd(J),this.clearDragProperties()},onDragCancel:()=>{this.dragging=!1,this.onDragCancel(),this.clearDragProperties()}}),this.addManagedEventListeners({cellSelectionChanged:this.updateLocalRangeIfNeeded.bind(this)}),this.addManagedElementListeners(this.getGui(),{pointerdown:e4,mousedown:e4})}getLastCellHovered(){return this.lastCellHovered}getDraggingCssClass(){return`ag-dragging-${this.type===0?"fill":"range"}-handle`}updateValuesOnMove(J){let Z=_9(this.gos,J);if(!Z||this.shouldSkipCell(Z)||this.lastCellHovered&&A2(Z,this.lastCellHovered))return;this.lastCellHovered=Z,this.changedCalculatedValues=!0}clearDragProperties(){if(this.clearValues(),this.beans.rangeSvc.autoScrollService.ensureCleared(),D2(this.beans).classList?.remove(this.getDraggingCssClass()),this.shouldDestroyOnEndDragging)this.destroy()}getType(){return this.type}refresh(J,Z){let $=this.cellCtrl,X=this.getGui(),Y=Z??C(this.beans.rangeSvc.getCellRanges()),Q=Y.startRow,q=Y.endRow;if(Q&&q)if(_J(q,Q))this.rangeStartRow=q,this.rangeEndRow=Q;else this.rangeStartRow=Q,this.rangeEndRow=q;if($!==J||!AJ(X)){this.cellCtrl=J;let H=J.comp.getParentOfValue();if(H)H.appendChild(X)}this.cellRange=Y}clearValues(){this.lastCellHovered=void 0}destroy(){if(!this.shouldDestroyOnEndDragging&&this.dragging){w(this.getGui(),!1),this.shouldDestroyOnEndDragging=!0;return}this.shouldDestroyOnEndDragging=!1,super.destroy(),this.getGui()?.remove()}updateLocalRangeIfNeeded(J){if(!this.cellRange)return;let{id:Z,type:$}=this.cellRange;if(!Z||Z!==J.id)return;let X=this.beans.rangeSvc?.getCellRanges().find((Y)=>Y.id===Z&&Y.type===$);if(X&&X!==this.cellRange)this.cellRange=X}},e4=(J)=>{J.stopPropagation()};function _S(J){let Z=J.length,$=0;if(Z<=1)return J;for(let W=0;W1){$=Math.max($,parseInt(B[1],10));continue}if(Math.floor(G)===G)continue;$=Math.max($,G.toString().split(".")[1].length)}let X=0,Y=0,Q=0,q=0,H=0;for(let W=0;Wq?"x":"y";else _=H;if(_!==this.dragAxis)this.dragAxis=_,this.changedCalculatedValues=!0}shouldSkipCell(J){return vJ(J.column)}onDrag(J){if(!this.initialPosition){let $=this.cellCtrl;if(!$)return;this.initialPosition=$.cellPosition}let Z=this.getLastCellHovered();if(Z)this.markPathFrom(this.initialPosition,Z)}onDragEnd(J){if(this.initialXY=null,!this.markedCells.length)return;let Z=this.dragAxis==="x",{cellRange:$,rangeStartRow:X,rangeEndRow:Y,beans:{rangeSvc:Q}}=this,q=$.columns.length,H;if(!this.isUp&&!this.isLeft)H=Q.createCellRangeFromCellRangeParams({rowStartIndex:X.rowIndex,rowStartPinned:X.rowPinned,columnStart:$.columns[0],rowEndIndex:Z?Y.rowIndex:this.lastCellMarked.rowIndex,rowEndPinned:Z?Y.rowPinned:this.lastCellMarked.rowPinned,columnEnd:Z?this.lastCellMarked.column:$.columns[q-1]});else{let _=Z?X:this.lastCellMarked;H=Q.createCellRangeFromCellRangeParams({rowStartIndex:_.rowIndex,rowStartPinned:_.rowPinned,columnStart:Z?this.lastCellMarked.column:$.columns[0],rowEndIndex:Y.rowIndex,rowEndPinned:Y.rowPinned,columnEnd:$.columns[q-1]})}if(H)this.performFill({event:J,initialRange:$,finalRange:H,shouldUpdateRange:!0})}onDragCancel(){if(this.initialXY=null,!this.markedCells.length)return;this.clearMarkedPath()}performFill({event:J,initialRange:Z,finalRange:$,shouldUpdateRange:X}){let{eventSvc:Y,rangeSvc:Q}=this.beans;if(Y.dispatchEvent({type:"fillStart"}),this.handleValueChanged(Z,$,J),X)Q.setCellRanges([$]);Y.dispatchEvent({type:"fillEnd",initialRange:Z,finalRange:$})}getFillHandleDirection(){let J=T6(this.gos)?.direction;if(!J)return"xy";if(J!=="x"&&J!=="y"&&J!=="xy")return O(177),"xy";return J}handleValueChanged(J,Z,$){let{beans:X}=this,{rangeSvc:Y,gos:Q,valueSvc:q}=X,H=Y.getRangeEndRow(J),_=Y.getRangeStartRow(J),z=Y.getRangeEndRow(Z),U=Y.getRangeStartRow(Z),W=this.dragAxis==="y";if(this.isReduce&&!T6(Q)?.suppressClearOnFillReduction){let R=W?J.columns:J.columns.filter((I)=>Z.columns.indexOf(I)<0),f=W?LJ(X,z):U;if(f)this.clearCellsInRange(f,H,R);return}let G=[],B=[],K=[],E=[],L=!0,F=0,D=()=>{G.length=0,B.length=0,K.length=0,E.length=0,F=0},k=(R,f)=>{let I=this.isUp?H:_,v=!1;if(W)L=!0,D();while(!v&&I){let b=kJ(X,I);if(!b)break;if(W&&R)j(G,R,b,()=>!l(I,this.isUp?_:H));else if(f){L=!0,D();for(let m of f)j(G,m,b,()=>m!==(this.isLeft?J.columns[0]:C(J.columns)))}v=l(I,this.isUp?U:z),I=this.isUp?mJ(this.beans,I):LJ(X,I)}},j=(R,f,I,v)=>{let b,m=!1;if(L)b=q.getValue(f,I,"edit"),B.push(b),K.push(q.getValue(f,I,"edit",!0)),E.push(q.getValueForDisplay({column:f,node:I,from:"edit"}).valueFormatted),L=v();else{let{value:N,fromUserFunction:a,sourceCol:s,sourceRowNode:u}=this.processValues({event:$,values:R,initialValues:B,initialNonAggregatedValues:K,initialFormattedValues:E,col:f,rowNode:I,idx:F++});if(b=N,f.isCellEditable(I)){let JJ=q.getValue(f,I,"edit");if(!a){if(s){let r=s.getColDef();if(r.useValueFormatterForExport!==!1&&r.valueFormatter){let SJ=q.getValueForDisplay({column:s,node:u,includeValueFormatted:!0,from:"edit"}).valueFormatted;if(SJ!=null)b=SJ}}if(f.getColDef().useValueParserForImport!==!1)b=q.parseValue(f,I,s?b:c2(b),JJ)}if(!a||JJ!==b)I.setDataValue(f,b,"rangeSvc");else m=!0}}if(!m)R.push({value:b,column:f,rowNode:I})},{changeDetectionSvc:A}=this.beans;A?.beginDeferred();try{if(W)J.columns.forEach((R)=>{k(R)});else{let R=this.isLeft?[...Z.columns].reverse():Z.columns;k(void 0,R)}this.beans.editSvc?.stopEditing(void 0,{source:"fillHandle"})}finally{A?.endDeferred()}}clearCellsInRange(J,Z,$){let X={startRow:J,endRow:Z,columns:$,startColumn:$[0]};this.beans.rangeSvc.clearCellRangeCellValues({cellRanges:[X],restoreSourceInBatch:!0})}processValues(J){let{formula:Z,valueSvc:$}=this.beans,{event:X,values:Y,initialValues:Q,initialNonAggregatedValues:q,initialFormattedValues:H,col:_,rowNode:z,idx:U}=J,W=T6(this.gos)?.setFillValue,G=this.dragAxis==="y",B;if(G)B=this.isUp?"up":"down";else B=this.isLeft?"left":"right";if(W){let L=x(this.gos,{event:X,values:Y.map(({value:D})=>D),initialValues:Q,initialNonAggregatedValues:q,initialFormattedValues:H,currentIndex:U,currentCellValue:$.getValue(_,z,"edit"),direction:B,column:_,rowNode:z}),F=W(L);if(F!==!1)return{value:F,fromUserFunction:!0}}let K=(L)=>typeof L==="number"&&Number.isFinite(L)||typeof L==="string"&&/^[+-]?\d+(?:\.\d+)?$/.test(L.trim()),E=Y.every(({value:L})=>K(L));if(X.altKey||!E){let L=String(C(Y)?.value??"");if(E&&Q.length===1){let R=this.isUp||this.isLeft?-1:1;return{value:parseFloat(L)+1*R,fromUserFunction:!1}}let{value:F,column:D,rowNode:k}=Y[U%Y.length],j,A=D.isAllowFormula()&&Z?.isFormula(L);if(A){let R=B==="up"?-1:B==="down"?1:0,f=B==="left"?-1:B==="right"?1:0;j=Z.updateFormulaByOffset({value:L,rowDelta:R,columnDelta:f})}else j=F;return{value:j,fromUserFunction:!1,sourceCol:A?void 0:D,sourceRowNode:k}}return{value:C(_S(Y.map(({value:L})=>Number(L)))),fromUserFunction:!1}}clearValues(){this.clearMarkedPath(),this.clearCellValues(),this.lastCellMarked=void 0,super.clearValues()}clearMarkedPath(){for(let J of this.markedCells){if(!J.isAlive())continue;let{comp:Z}=J;Z.toggleCss("ag-selection-fill-top",!1),Z.toggleCss("ag-selection-fill-right",!1),Z.toggleCss("ag-selection-fill-bottom",!1),Z.toggleCss("ag-selection-fill-left",!1)}this.markedCells.length=0,this.isUp=!1,this.isLeft=!1,this.isReduce=!1}clearCellValues(){this.cellValues.length=0}markPathFrom(J,Z){if(this.clearMarkedPath(),this.clearCellValues(),this.dragAxis==="y"){if(l(Z,J))return;let $=_J(Z,J),{rangeStartRow:X,rangeEndRow:Y}=this;if($&&(Z.rowPinned==X.rowPinned&&Z.rowIndex>=X.rowIndex||X.rowPinned!=Y.rowPinned&&Z.rowPinned==Y.rowPinned&&Z.rowIndex<=Y.rowIndex))this.reduceVertical(J,Z),this.isReduce=!0;else this.extendVertical(J,Z,$),this.isReduce=!1}else{let $=J.column,X=Z.column;if($===X)return;let Y=this.beans.visibleCols.allCols,Q=Y.indexOf($),q=Y.indexOf(X);if(q<=Q&&q>=Y.indexOf(this.cellRange.columns[0]))this.reduceHorizontal(J,Z),this.isReduce=!0;else this.extendHorizontal(J,Z,q=4),J.toggleCss(ES,Q),R8(X,Y>0?!0:void 0),J.toggleCss(LS,this.isSingleCell()),this.updateRangeBorders(),this.refreshRangeStyleAndHandle()}updateRangeBorders(){let J=this.getRangeBorders(),Z=this.isSingleCell(),$=!Z&&J.top,X=!Z&&J.right,Y=!Z&&J.bottom,Q=!Z&&J.left,q=this.cellComp;q.toggleCss(DS,$),q.toggleCss(kS,X),q.toggleCss(VS,Y),q.toggleCss(jS,Q)}isSingleCell(){let{rangeSvc:J}=this;return this.rangeCount===1&&!!J&&!J.isMoreThanOneCell()}getHasChartRange(){let{rangeSvc:J}=this;if(!this.rangeCount||!J)return!1;let Z=J.getCellRanges();return Z.length>0&&Z.every(($)=>[bZ.DIMENSION,bZ.VALUE].includes($.type))}updateRangeBordersIfRangeCount(){if(this.rangeCount>0)this.updateRangeBorders(),this.refreshRangeStyleAndHandle()}getRangeBorders(){let J=this.beans.gos.get("enableRtl"),Z=!1,$=!1,X=!1,Y=!1,{rangeSvc:Q,beans:{visibleCols:q},cellCtrl:{cellPosition:H}}=this,_=H.column,z=Q.getCellRanges().filter((G)=>Q.isCellInSpecificRange(H,G));if(!z.length)return{top:Z,right:$,bottom:X,left:Y};let U,W;if(J)U=q.getColAfter(_),W=q.getColBefore(_);else U=q.getColBefore(_),W=q.getColAfter(_);if(!U)Y=!0;if(!W)$=!0;for(let G=0;G=0;X--){let Y=$[X],Q=Y.colorClass;if(!Q)continue;if(J.isCellInSpecificRange(this.cellCtrl.cellPosition,Y))return Q}return null}refreshHandleColor(J){let Z=this.selectionHandle?.getGui?.(),$=J?.colorClass??null;if(!Z){this.handleColorClass=null;return}if(this.handleColorClass&&this.handleColorClass!==$)Z.classList.remove(this.handleColorClass);if($)Z.classList.add($);else if(this.handleColorClass)Z.classList.remove(this.handleColorClass);this.handleColorClass=$??null}getRangeForHandle(){let{gos:J,editSvc:Z}=this.beans,$=this.rangeSvc,X=$.getCellRanges(),Y=X.length;if(this.rangeCount<1||Y<1)return null;let Q=Z?.isRangeSelectionEnabledWhileEditing(),q=Q?X:[C(X)];for(let H of q){let{cellPosition:_,column:z}=this.cellCtrl,U=$Q(J)&&!z.isSuppressFillHandle(),W=AS(J),B=!Z?.isEditing(this.cellCtrl,{withOpenEditor:!0})&&(Q||Y===1&&(U||W));if(this.hasChartRange)B=H.type===bZ.VALUE;if(B&&H.endRow!=null&&$.isContiguousRange(H)&&$.isBottomRightCell(H,_))return H}return null}addSelectionHandle(J){let{beans:Z}=this,$=Z.editSvc?.isRangeSelectionEnabledWhileEditing(),X=J.type,Q=!$&&$Q(Z.gos)&&d(X)?0:1;if(this.selectionHandle&&this.selectionHandle.getType()!==Q)this.selectionHandle=Z.context.destroyBean(this.selectionHandle);if(!this.selectionHandle){let q=Z.registry.createDynamicBean(Q===0?"fillHandle":"rangeHandle",!1);if(q)this.selectionHandle=Z.context.createBean(q)}this.selectionHandle?.refresh(this.cellCtrl,J)}destroy(){this.unsetComp()}},RS=class extends M{constructor(J){super();this.eContainer=J}postConstruct(){let{beans:J,gos:Z,eContainer:$}=this,X=J.rangeSvc,Y={eElement:$,onDragStart:X.onDragStart.bind(X),onDragStop:X.onDragStop.bind(X),onDragging:X.onDragging.bind(X)},Q=J.dragSvc,q=Q.addDragSource.bind(Q,Y),H=Q.removeDragSource.bind(Q,Y);if(this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{if(uJ(Z))q();else H()}),this.addDestroyFunc(H),uJ(Z))q()}},OS=class extends M{constructor(J,Z){super();this.column=J,this.eGui=Z}postConstruct(){this.addManagedElementListeners(this.eGui,{click:(J)=>J&&this.onClick(J)})}onClick(J){this.beans.rangeSvc?.handleColumnSelection(this.column,J)}},SS=class extends M{constructor(J,Z){super();this.column=J,this.comp=Z,this.columnMap=new Map,this.isActive=!1,this.resetColumnMap()}postConstruct(){this.addManagedPropertyListener("cellSelection",()=>{this.refreshActive()}),this.refreshActive(),this.setupRangeHeaderHighlight()}resetColumnMap(){this.columnMap.clear();let J;if(this.column.isColumn)J=[this.column];else J=this.column.getDisplayedLeafColumns();for(let Z of J)this.columnMap.set(Z,!1)}refreshActive(){let{gos:J,rangeSvc:Z}=this.beans,$=J.get("cellSelection");this.isActive=!!($&&Z&&typeof $==="object"&&$.enableHeaderHighlight)}setupRangeHeaderHighlight(){let J=this.onRangeSelectionChanged.bind(this);this.addManagedEventListeners({rangeSelectionChanged:J,columnPinned:J,columnMoved:J,columnGroupOpened:J}),J()}onRangeSelectionChanged(){if(!this.isActive)return;this.resetColumnMap();let J=this.beans.rangeSvc.getCellRanges(),Z=!1,$=!0;for(let X of J){if(Z)break;for(let Y of X.columns)if(this.columnMap.has(Y))this.columnMap.set(Y,!0),Z||(Z=!0)}for(let X of Array.from(this.columnMap.values()))if(X===!1){$=!1;break}this.comp.toggleCss("ag-header-range-highlight",Z&&$)}destroy(){super.destroy(),this.comp=null,this.column=null}},fS=class extends M{constructor(){super(...arguments);this.beanName="rangeSvc",this.rangeSelectionExtensions=[],this.cellRanges=[],this.bodyScrollListener=this.onBodyScroll.bind(this),this.dragging=!1,this.intersectionRange=!1,this.columnRangeSelectionCtx={}}wireBeans(J){this.rowModel=J.rowModel,this.dragSvc=J.dragSvc,this.colModel=J.colModel,this.visibleCols=J.visibleCols,this.cellNavigation=J.cellNavigation,this.ctrlsSvc=J.ctrlsSvc}postConstruct(){let J=this.onColumnsChanged.bind(this),Z=()=>this.removeAllCellRanges(),$=this.refreshLastRangeStart.bind(this);this.addManagedEventListeners({newColumnsLoaded:J,columnVisible:J,columnValueChanged:J,columnPivotModeChanged:Z,columnRowGroupChanged:Z,columnPivotChanged:Z,columnGroupOpened:$,columnMoved:$,columnPinned:$}),this.ctrlsSvc.whenReady(this,(X)=>{let Y=X.gridBodyCtrl;this.autoScrollService=new u6({scrollContainer:Y.eBodyViewport,scrollAxis:"xy",getVerticalPosition:()=>Y.scrollFeature.getVScrollPosition().top,setVerticalPosition:(Q)=>Y.scrollFeature.setVerticalScrollPosition(Q),getHorizontalPosition:()=>Y.scrollFeature.getHScrollPosition().left,setHorizontalPosition:(Q)=>Y.scrollFeature.setHorizontalScrollPosition(Q),shouldSkipVerticalScroll:()=>!jJ(this.gos,"normal"),shouldSkipHorizontalScroll:()=>!Y.scrollFeature.isHorizontalScrollShowing()})})}registerRangeSelectionExtension(J){if(this.rangeSelectionExtensions.includes(J))return;this.rangeSelectionExtensions.push(J)}unregisterRangeSelectionExtension(J){YJ(this.rangeSelectionExtensions,J)}shouldSuppressRangeSelection(J){return this.rangeSelectionExtensions.some((Z)=>Z.shouldSuppressRangeSelection?.(J))}shouldSkipColumn(J){return this.rangeSelectionExtensions.some((Z)=>Z.shouldSkipColumn?.(J))}isAllColumnsSelectionCell(J){return this.rangeSelectionExtensions.some((Z)=>Z.isAllColumnsSelectionCell?.(J))}isAllColumnsRange(J,Z){return this.rangeSelectionExtensions.some(($)=>$.isAllColumnsRange?.(J,Z))}updateSelectionModeForCell(J){this.setSelectionMode(this.isAllColumnsSelectionCell(J))}onDragStart(J){let Z=this.gos,$=J.target;if(!uJ(Z)||Q9(Z,$)?.isSuppressMouseEvent(J))return;if(this.shouldSuppressRangeSelection($))return;let{shiftKey:X}=J,Y=this.isMultiRange(J),Q=X&&!!this.cellRanges?.length;if(!Y&&(!Q||T(C(this.cellRanges).type)))this.removeAllCellRanges(!0);let q=this.dragSvc.startTarget;if(q)this.updateValuesOnMove(q);if(!this.lastCellHovered)return;if(this.dragging=!0,this.lastMouseEvent=J,this.intersectionRange=Y&&this.getCellRangeCount(this.lastCellHovered)>1,!Q)this.setNewestRangeStartCell(this.lastCellHovered);if(this.cellRanges.length>0)this.draggingRange=C(this.cellRanges);else{let H={rowIndex:this.lastCellHovered.rowIndex,rowPinned:this.lastCellHovered.rowPinned},_=this.getColumnsFromModel([this.lastCellHovered.column]);if(!_?.length)return;this.draggingRange={startRow:H,endRow:H,columns:_,startColumn:this.newestRangeStartCell.column},this.cellRanges.push(this.draggingRange)}this.ctrlsSvc.getGridBodyCtrl().eBodyViewport.addEventListener("scroll",this.bodyScrollListener,{passive:!0}),this.dispatchChangedEvent(!0,!1,this.draggingRange.id)}onDragging(J){let{dragging:Z,lastCellHovered:$,newestRangeStartCell:X,autoScrollService:Y,cellHasChanged:Q}=this;if(!Z||!J)return;this.updateValuesOnMove(J.target),this.lastMouseEvent=J;let q=(B)=>$&&$.rowPinned===B&&X.rowPinned===B,H=q("top")||q("bottom");if(Y.check(J,H),!Q||!$)return;let _=X?.column,z=$?.column,U=this.calculateColumnsBetween(_,z);if(!U)return;let{rowIndex:W,rowPinned:G}=$;this.draggingRange.endRow={rowIndex:W,rowPinned:G},this.draggingRange.columns=U,this.dispatchChangedEvent(!1,!1,this.draggingRange.id)}onDragStop(){if(!this.dragging)return;let{id:J}=this.draggingRange;if(this.autoScrollService.ensureCleared(),this.ctrlsSvc.getGridBodyCtrl().eBodyViewport.removeEventListener("scroll",this.bodyScrollListener),this.lastMouseEvent=null,this.dragging=!1,this.draggingRange=void 0,this.lastCellHovered=void 0,this.intersectionRange)this.intersectionRange=!1,this.intersectLastRange();this.dispatchChangedEvent(!1,!0,J)}onColumnsChanged(){this.refreshLastRangeStart();let J=this.visibleCols.allCols;for(let $ of this.cellRanges){let X=$.columns;if($.columns=$.columns.filter((Q)=>Q.isVisible()&&J.indexOf(Q)!==-1),!QJ(X,$.columns))this.dispatchChangedEvent(!1,!0,$.id)}let Z=this.cellRanges.length;if(this.cellRanges=this.cellRanges.filter(($)=>$.columns.length>0),Z>this.cellRanges.length)this.dispatchChangedEvent(!1,!0)}refreshLastRangeStart(){let J=C(this.cellRanges);if(!J)return;this.refreshRangeStart(J)}isContiguousRange(J){let Z=J.columns;if(!Z.length)return!1;let $=this.visibleCols.allCols,X=Z.map((Y)=>$.indexOf(Y)).sort((Y,Q)=>Y-Q);return C(X)-X[0]+1===Z.length}getRangeStartRow(J){if(J.startRow&&J.endRow)return _J(J.startRow,J.endRow)?J.startRow:J.endRow;return{rowIndex:0,rowPinned:(this.beans.pinnedRowModel?.getPinnedTopRowCount()??0)>0?"top":null}}getRangeEndRow(J){if(J.startRow&&J.endRow)return _J(J.startRow,J.endRow)?J.endRow:J.startRow;let Z=this.beans.pinnedRowModel?.getPinnedBottomRowCount()??0;if(Z>0)return{rowIndex:Z-1,rowPinned:"bottom"};return{rowIndex:this.rowModel.getRowCount()-1,rowPinned:null}}getRangeRowCount(J){let Z=this.beans,$=this.getRangeStartRow(J),X=this.getRangeEndRow(J),Y=a8(Z,$);return a8(Z,X)-Y+1}handleCellMouseDown(J,Z){let $=J.ctrlKey||J.metaKey;this.handleCellSelectionInput(Z,{target:J.target,shiftKey:J.shiftKey,isRightClick:w8(this.beans,J),isMultiRange:this.isMultiRange(J),isMultiKey:$,preventDefault:()=>J.preventDefault()})}handleCellKeyboardSelect(J,Z){let $=J.ctrlKey||J.metaKey;this.handleCellSelectionInput(Z,{target:J.target,shiftKey:J.shiftKey,isRightClick:!1,isMultiRange:this.isMultiRangeForKeyState($),isMultiKey:$,preventDefault:()=>J.preventDefault()})}handleCellSelectionInput(J,Z){let{target:$,shiftKey:X,isRightClick:Y,isMultiRange:Q,isMultiKey:q,preventDefault:H}=Z;if(this.shouldSuppressRangeSelection($))return;let _=this.isAllColumnsSelectionCell(J);if(_)H();if(X)return this.extendLatestRangeToCell(J);if(_&&Y)return;this.updateSelectionModeForCell(J);let z=this.calculateColumnsBetween(J.column,J.column);if(!z)return;let U=_?this.findContainingRange({columns:z,startRow:J,endRow:J}):void 0;if(_&&!!U&&Q&&q&&U)this.removeRowFromAllColumnsRange(J,U);else this.setRangeToCell(J,Q)}isMultiRange(J){return this.isMultiRangeForKeyState(J.ctrlKey||J.metaKey)}isMultiRangeForKeyState(J){let{editingWithRanges:Z,allowMulti:$}=this.getMultiRangeContext();return Z||($?J:!1)}getMultiRangeContext(){let{gos:J,editSvc:Z}=this.beans,$=!!Z?.isEditing()&&!!Z?.isRangeSelectionEnabledWhileEditing(),X=QY(J)&&!$;return{editingWithRanges:$,suppressMultiRanges:X,allowMulti:!X}}removeRowFromAllColumnsRange(J,Z){let{beans:$,cellRanges:X}=this,Y=E2($),Q=H0($),q=this.getRangeStartRow(Z),H=this.getRangeEndRow(Z);if(!q&&l(Y,J))J7(Z,LJ($,Y),"top");else if(!H&&l(Q,J))J7(Z,mJ($,Q),"bottom");else if(l(q,H))YJ(X,Z);else if(l(q,J))J7(Z,LJ($,J),"top");else if(l(H,J))J7(Z,mJ($,J),"bottom");else{let _=mJ($,J),z=LJ($,J);Z.startRow=q,Z.endRow=_??void 0,X.push({...Z,startRow:z??void 0,endRow:H})}this.dispatchChangedEvent(!0,!0)}setRangeToCell(J,Z=!1){let{gos:$}=this;if(!uJ($))return;this.updateSelectionModeForCell(J);let X=this.calculateColumnsBetween(J.column,J.column);if(!X)return;let{suppressMultiRanges:Y}=this.getMultiRangeContext();if(Y||!Z||d(this.cellRanges))this.removeAllCellRanges(!0);let Q={rowIndex:J.rowIndex,rowPinned:J.rowPinned},q={startRow:Q,endRow:Q,columns:X,startColumn:J.column},H=this.ensureRangeStartColumn(q);if(!H)return;this.cellRanges.push(q),this.setNewestRangeStartCell({...J,column:H}),this.onDragStop(),this.dispatchChangedEvent(!0,!0)}getRangeLastColumn(J){let Z=J.columns[0],$=C(J.columns);return this.newestRangeStartCell?.column===Z?$:Z}extendRangeRowCountBy(J,Z){let{beans:$}=this,{startRow:X,endRow:Y}=J;if(!X||!Y)return;let Q=0,q,H=_J(Y,X);if(H)q=X;else q=Y;let _=Z>0?LJ:mJ,z=Math.abs(Z);while(QZ.indexOf(X)).filter((X)=>X>-1).sort((X,Y)=>X-Y);return{left:Z[$[0]],right:Z[C($)]}}extendLatestRangeInDirection(J){if(this.isEmpty()||!this.newestRangeStartCell)return;let Z=J.key,$=J.ctrlKey||J.metaKey,X=C(this.cellRanges),Y=this.newestRangeStartCell,Q=X.endRow.rowIndex,q=X.endRow.rowPinned,_={column:this.getRangeLastColumn(X),rowIndex:Q,rowPinned:q},z=this.cellNavigation.getNextCellToFocus(Z,_,$);if(!z)return;if(this.shouldSkipColumn(z.column))return;return this.setCellRange({rowStartIndex:Y.rowIndex,rowStartPinned:Y.rowPinned,rowEndIndex:z.rowIndex,rowEndPinned:z.rowPinned,columnStart:Y.column,columnEnd:z.column}),z}setCellRange(J){if(!uJ(this.gos))return;this.removeAllCellRanges(!0),this.addCellRange(J)}setCellRanges(J){if(QJ(this.cellRanges,J))return;if(!this.verifyCellRanges(this.gos))return;this.setSelectionMode(!1),this.removeAllCellRanges(!0);let Z=this.getColumnsFromModel(this.visibleCols.allCols)??[],$=!1;for(let X of J){if(X.columns&&X.startRow){let Y=this.getColumnsFromModel(X.columns);if(!Y||Y.length===0)continue;X.columns=Y;let{startRow:Q}=X;this.setNewestRangeStartCell({rowIndex:Q.rowIndex,rowPinned:Q.rowPinned,column:X.columns[0]})}if(!$&&Z.length>0&&this.isAllColumnsRange(X,Z))$=!0;this.cellRanges.push(X)}this.setSelectionMode($),this.dispatchChangedEvent(!1,!0)}clearCellRangeCellValues(J){let{beans:Z,eventSvc:$}=this,{cellEventSource:X="rangeSvc",dispatchWrapperEvents:Y,wrapperEventSource:Q="deleteKey",restoreSourceInBatch:q}=J,{cellRanges:H}=J;if(Y)$.dispatchEvent({type:"cellSelectionDeleteStart",source:Q}),$.dispatchEvent({type:"rangeDeleteStart",source:Q});if(!H)H=this.cellRanges;let{valueSvc:_,editSvc:z}=Z,U=!!z?.isBatchEditing(),{changeDetectionSvc:W}=Z;W?.beginDeferred();try{this.forEachEditableCellInRanges(H,(G,B)=>{if(q&&U){z?.batchResetToSourceValue({rowNode:G,column:B});return}let K=_.getDeleteValue(B,G);G.setDataValue(B,K,X)})}finally{W?.endDeferred()}if(Y)$.dispatchEvent({type:"cellSelectionDeleteEnd",source:Q}),$.dispatchEvent({type:"rangeDeleteEnd",source:Q})}createCellRangeFromCellRangeParams(J){return this.createPartialCellRangeFromRangeParams(J,!1)}createPartialCellRangeFromRangeParams(J,Z){let{columns:$,columnStart:X,columnEnd:Y,rowStartIndex:Q,rowStartPinned:q,rowEndIndex:H,rowEndPinned:_}=J,z=this.getColumnsFromParams($,X,Y);if(!z||!Z&&z.columns.length===0)return;let{columns:U,startsOnTheRight:W}=z,G=XQ(Q,q),B=XQ(H,_);return{startRow:G,endRow:B,columns:U,startColumn:this.getColumnFromModel(X)??(W?C(U):U[0])}}addCellRange(J){let Z=this.gos;if(!uJ(Z)||!this.verifyCellRanges(Z))return;this.setSelectionMode(!1);let $=this.createCellRangeFromCellRangeParams(J);if($){if($.startRow)this.setNewestRangeStartCell({rowIndex:$.startRow.rowIndex,rowPinned:$.startRow.rowPinned,column:$.startColumn});return this.cellRanges.push($),this.dispatchChangedEvent(!1,!0,$.id),$}}getCellRanges(){return this.cellRanges}isEmpty(){return this.cellRanges.length===0}isMoreThanOneCell(){let J=this.cellRanges.length;if(J===0)return!1;if(J>1)return!0;let Z=this.cellRanges[0],$=this.getRangeStartRow(Z),X=this.getRangeEndRow(Z);return $.rowPinned!==X.rowPinned||$.rowIndex!==X.rowIndex||Z.columns.length!==1}areAllRangesAbleToMerge(){let J=new Map;if(this.cellRanges.length<=1)return!0;for(let X of this.cellRanges)this.forEachRowInRange(X,(Y)=>{let Q=`${Y.rowPinned||"normal"}_${Y.rowIndex}`,q=J.get(Q),H=X.columns.map((_)=>_.getId());if(q){let _=H.filter((z)=>q.indexOf(z)===-1);q.push(..._)}else J.set(Q,H)});let $;for(let X of J.values()){let Y=X.sort().join();if($===void 0){$=Y;continue}if($!==Y)return!1}return!0}removeAllCellRanges(J){if(this.isEmpty())return;if(this.onDragStop(),this.cellRanges.length=0,!J)this.dispatchChangedEvent(!1,!0)}isCellInAnyRange(J){return this.getCellRangeCount(J)>0}isCellInSpecificRange(J,Z){let $=Z.columns?.includes(J.column),X=this.isRowInRange(J,Z);return $&&X}isColumnInAnyRange(J){let{beans:Z}=this,$=E2(Z),X=H0(Z);if(!$||!X)return!1;let Y=J.isColumn?[J]:J.getDisplayedLeafColumns();return this.findContainingRange({columns:Y,startRow:$,endRow:X},!0)!=null}findContainingRange({columns:J,startRow:Z,endRow:$},X=!1){let Y=this.cellRanges;for(let Q=Y.length-1;Q>=0;Q--){let q=Y[Q],H=J.every((z)=>q.columns.includes(z)),_=!1;if(X)_=l(q.startRow,Z)&&l(q.endRow,$);else{let z=Z&&this.isRowInRange(Z,q),U=$&&this.isRowInRange($,q);_=!!z&&!!U}if(H&&_)return q}}isBottomRightCell(J,Z){let $=this.visibleCols.allCols,X=J.columns.map((z)=>$.indexOf(z)).sort((z,U)=>z-U),{startRow:Y,endRow:Q}=J,q=_J(Y,Q)?Q:Y,H=$.indexOf(Z.column)===C(X),_=Z.rowIndex===q.rowIndex&&OZ(Z.rowPinned)===OZ(q.rowPinned);return H&&_}getCellRangeCount(J){return this.cellRanges.filter((Z)=>this.isCellInSpecificRange(J,Z)).length}isRowInRange(J,Z){let $=this.getRangeStartRow(Z),X=this.getRangeEndRow(Z),Y=l(J,$),Q=l(J,X);if(Y||Q)return!0;let q=!_J(J,$),H=_J(J,X);return q&&H}intersectLastRange(J){let{editingWithRanges:Z,suppressMultiRanges:$}=this.getMultiRangeContext();if(Z||$||J&&this.dragging||this.isEmpty())return;let X=C(this.cellRanges),Y=this.getRangeStartRow(X),Q=this.getRangeEndRow(X),q=[];for(let H of this.cellRanges.slice(0,-1)){let _=this.getRangeStartRow(H),z=this.getRangeEndRow(H),U=H.columns,W=U.filter((B)=>X.columns.indexOf(B)===-1);if(W.length===U.length){q.push(H);continue}if(_J(Q,_)||_J(z,Y)){q.push(H);continue}let G=q.length;if(_J(_,Y)){let B={columns:[...U],startColumn:X.startColumn,startRow:{..._},endRow:mJ(this.beans,Y)};q.push(B)}if(W.length>0){let B={columns:W,startColumn:W.includes(X.startColumn)?X.startColumn:W[0],startRow:PS([{...Y},{..._}]),endRow:TS([{...Q},{...z}])};q.push(B)}if(_J(Q,z))q.push({columns:[...U],startColumn:X.startColumn,startRow:LJ(this.beans,Q),endRow:{...z}});if(q.length-G===1)q[q.length-1].id=H.id}if(this.cellRanges=q,J)this.dispatchChangedEvent(!1,!0)}createRangeHighlightFeature(J,Z,$){J.createManagedBean(new SS(Z,$))}setSelectionMode(J){this.selectionMode=J?1:0}refreshRangeStart(J){let{columns:Z}=J,$=this.ensureRangeStartColumn(J);if(!$)return;let X=(_,z)=>{let U=J.columns.filter((W)=>W!==_);if(_)J.startColumn=_,J.columns=z?[_,...U]:[...U,_];else J.columns=U},{left:Y,right:Q}=this.getRangeEdgeColumns(J);if($===Z[0]&&$!==Y){X(Y,!0);return}if($===C(Z)&&$===Q)X(Q,!1)}setNewestRangeStartCell(J){this.newestRangeStartCell=J}getColumnsFromParams(J,Z,$){let X=!J&&!Z&&!$,Y,Q=!1;if(X||J)Y=this.getColumnsFromModel(X?void 0:J);else if(Z&&$){if(Y=this.calculateColumnsBetween(Z,$),Y?.length)Q=Y[0]!==this.getColumnFromModel(Z)}return Y?{columns:Y,startsOnTheRight:Q}:void 0}verifyCellRanges(J){let{suppressMultiRanges:Z}=this.getMultiRangeContext(),$=YY(J)&&Z&&this.cellRanges.length>1;if($)O(93);return!$}forEachRowInRange(J,Z){let $=this.getRangeStartRow(J),X=this.getRangeEndRow(J),Y=$;while(Y){if(Z(Y),l(Y,X))break;Y=LJ(this.beans,Y)}}forEachEditableCellInRanges(J,Z){let{beans:$}=this;for(let X of J)this.forEachRowInRange(X,(Y)=>{let Q=kJ($,Y);if(!Q)return;for(let q=0;q0,z=Z.ctrlKey||Z.metaKey,U=!H||z,W=E2(X),G=H0(X);if(!W||!G)return;if(Z.key===V.ENTER)Z.preventDefault();if(Z.shiftKey){let K=Y.root;if(!K)return;let E=J.isColumn?J:C(J.getLeafColumns()),L=this.findContainingRange({columns:[K],startRow:W,endRow:G},!0);if(!L){YJ(Q,Y.lastCellRange),this.selectColumns(this.calculateColumnsBetween(K,E),W,G);return}this.updateRangeRowBoundary({cellRange:L,boundary:"end",cellPosition:{column:E,...G}});return}if(_&&(q||!z&&!H))this.removeAllCellRanges(!0);let B=(K,E)=>{let L=this.findContainingRange({columns:K,startRow:W,endRow:G},!0);if(L&&U)this.deselectColumnsFromRange(L,K);else{let F=this.selectColumns(K,W,G);if(F)Y.lastCellRange=F}Y.root=E};if(J.isColumn)B([J],J);else{let K=J.getDisplayedLeafColumns();B(K,K[0])}}deselectColumnsFromRange(J,Z){if($5(J.columns,Z),Z.includes(J.startColumn))J.startColumn=J.columns[0];if(J.columns.length===0)YJ(this.cellRanges,J);this.dispatchChangedEvent(!0,!0)}selectColumns(J,Z,$){return this.addCellRange({columns:J,columnStart:J[0],columnEnd:C(J),rowStartIndex:Z.rowIndex,rowStartPinned:Z.rowPinned,rowEndIndex:$.rowIndex,rowEndPinned:$.rowPinned})}};function XQ(J,Z){return J!=null?{rowIndex:J,rowPinned:Z}:void 0}function PS(J){let Z;for(let $ of J)if(Z===void 0||_J(Z,$))Z=$;return Z}function TS(J){let Z;for(let $ of J)if(Z===void 0||_J($,Z))Z=$;return Z}function vS(J,Z){let{startRow:$,endRow:X}=J,Y=_J($,X)?X:$,Q=Z.rowIndex===Y.rowIndex&&Z.rowPinned===Y.rowPinned,q=J.columns[0],H=C(J.columns),_=J.startColumn===q?H:q;return Z.column===_&&Q}function J7(J,Z,$){let X;if($==="top")X=!J.startRow||!J.endRow||_J(J.startRow,J.endRow)?"startRow":"endRow";else X=!J.startRow||!J.endRow||_J(J.startRow,J.endRow)?"endRow":"startRow";J[X]=Z??void 0}var Eq={moduleName:"CellSelection",version:$J,beans:[fS],dynamicBeans:{fillHandle:US,rangeHandle:WS},apiFunctions:{getCellRanges:BS,addCellRange:KS,clearRangeSelection:JQ,clearCellSelection:JQ},dependsOn:[IJ,i0,m6],css:[GS]};function IS(J){return J.colModel.isPivotMode()}function bS(J,Z,$){return J.pivotResultCols?.lookupPivotResultCol(Z,$)??null}function CS(J,Z){J.valueColsSvc?.setColumns(Z,"api")}function xS(J){return J.valueColsSvc?.columns??[]}function yS(J,Z){J.valueColsSvc?.removeColumns(Z,"api")}function NS(J,Z){J.valueColsSvc?.addColumns(Z,"api")}function wS(J,Z){J.pivotColsSvc?.setColumns(Z,"api")}function gS(J,Z){J.pivotColsSvc?.removeColumns(Z,"api")}function hS(J,Z){J.pivotColsSvc?.addColumns(Z,"api")}function uS(J){return J.pivotColsSvc?.columns??[]}function mS(J,Z){J.pivotResultCols?.setPivotResultCols(Z,"api")}function cS(J){let Z=J.pivotResultCols?.getPivotResultCols();return Z?Z.list:null}var YQ="PivotRowTotal_",pS=({headerName:J},{headerName:Z})=>{if(J&&!Z)return 1;else if(!J&&Z)return-1;else if(!J&&!Z)return 0;if(JZ)return 1;else return 0},iS=(J)=>(Z,$)=>J(Z.headerName,$.headerName),dS=class extends M{constructor(){super(...arguments);this.beanName="pivotColDefSvc"}wireBeans(J){this.colModel=J.colModel,this.pivotColsSvc=J.pivotColsSvc,this.valueColsSvc=J.valueColsSvc,this.colNames=J.colNames}postConstruct(){let J=()=>this.gos.get("serverSidePivotResultFieldSeparator")??"_";this.fieldSeparator=J(),this.addManagedPropertyListener("serverSidePivotResultFieldSeparator",()=>{this.fieldSeparator=J()});let Z=()=>this.gos.get("pivotDefaultExpanded");this.pivotDefaultExpanded=Z(),this.addManagedPropertyListener("pivotDefaultExpanded",()=>{this.pivotDefaultExpanded=Z()})}createPivotColumnDefs(J){let Z=this.createPivotColumnsFromUniqueValues(J);function $(Y,Q=[]){return Y.forEach((q)=>{if(q.children!==void 0)$(q.children,Q);else Q.push(q)}),Q}let X=$(Z);return this.addRowGroupTotals(Z,X),this.addExpandablePivotGroups(Z,X),this.addPivotTotalsToGroups(Z,X),Z}createPivotColumnsFromUniqueValues(J){let Z=this.pivotColsSvc?.columns??[],$=Z.length;return this.recursivelyBuildGroup(0,J,[],$,Z)}recursivelyBuildGroup(J,Z,$,X,Y){if(J>=X)return this.buildMeasureCols($);let{pivotComparator:Q}=Y[J].getColDef(),q=Q?iS(Q):pS,H=this.valueColsSvc?.columns;if(H?.length===1&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&J===X-1){let z=[];for(let U of Z.keys()){let W=[...$,U],G=this.createColDef(H[0],U,W);G.columnGroupShow="open",z.push(G)}return z.sort(q),z}let _=[];for(let z of Z.keys()){let U=this.pivotDefaultExpanded===-1||J{let X=this.colNames.getDisplayNameForColumn($,"header"),Y=this.createColDef($,X,J);return Y.columnGroupShow="open",Y})}addExpandablePivotGroups(J,Z){let $=this.gos.get("suppressExpandablePivotGroups");if($||this.gos.get("pivotColumnGroupTotals"))return;let X=(Y,Q,q)=>{if("children"in Y){let{valueColsSvc:z}=this,{columns:U=[]}=z??{},W=new Map;Y.children.forEach((K)=>{X(K,Q,W)});let G=!Y.children.some((K)=>K.children),B=G&&U.length===1&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn");for(let K of U){let E=this.colNames.getDisplayNameForColumn(K,"header"),L=this.createColDef(K,E,Y.pivotKeys);if(L.pivotTotalColumnIds=W.get(K.getColId()),L.columnGroupShow=!$?"closed":"open",L.aggFunc=K.getAggFunc(),!G||B)Y.children.push(L),Q.push(L)}this.merge(q,W);return}if(!Y.pivotValueColumn)return;let H=Y.pivotValueColumn.getColId();if(q.has(H))q.get(H).push(Y.colId);else q.set(H,[Y.colId])};J.forEach((Y)=>{X(Y,Z,new Map)})}addPivotTotalsToGroups(J,Z){if(!this.gos.get("pivotColumnGroupTotals"))return;let $=this.gos.get("pivotColumnGroupTotals")==="after",X=this.valueColsSvc?.columns,Y=X?.map((Q)=>Q.getAggFunc());if(!Y||Y.length<1||!this.sameAggFuncs(Y))return;if(X){let Q=X[0];J.forEach((q)=>{this.recursivelyAddPivotTotal(q,Z,Q,$)})}}recursivelyAddPivotTotal(J,Z,$,X){let Y=J;if(!Y.children){let q=J;return q.colId?[q.colId]:null}let Q=[];if(Y.children.forEach((q)=>{let H=this.recursivelyAddPivotTotal(q,Z,$,X);if(H)Q=Q.concat(H)}),Y.children.length>1){let H=this.getLocaleTextFunc()("pivotColumnGroupTotals","Total"),_=this.createColDef($,H,J.pivotKeys,!0);_.pivotTotalColumnIds=Q,_.aggFunc=$.getAggFunc(),_.columnGroupShow=this.gos.get("suppressExpandablePivotGroups")?"open":void 0;let z=J.children;if(X)z.push(_);else z.unshift(_);Z.push(_)}return Q}addRowGroupTotals(J,Z){if(!this.gos.get("pivotRowTotals"))return;let $=this.gos.get("pivotRowTotals")==="after",Y=(this.valueColsSvc?.columns??[]).slice();if(!$)Y.reverse();let Q=Y.length>1||!this.gos.get("removePivotHeaderRowWhenSingleValueColumn");for(let q=0;qQ.data?.[Q.colDef.field],Y.pivotKeys=$,Y.pivotValueColumn=J,Y.filter===!0)Y.filter="agNumberColumnFilter";return Y}sameAggFuncs(J){if(J.length==1)return!0;for(let Z=1;Z{let Q=[...J.has(X)?J.get(X):[],...$];J.set(X,Q)})}generateColumnGroupId(J){return`pivotGroup_${(this.pivotColsSvc?.columns??[]).map(($)=>$.getColId()).join("-")}_${J.join("-")}`}generateColumnId(J,Z){return`pivot_${(this.pivotColsSvc?.columns??[]).map((X)=>X.getColId()).join("-")}_${J.join("-")}_${Z}`}createColDefsFromFields(J){let Z=new Map;for(let Y=0;Y{let _=[];for(let[W,G]of q){let B=$(`${Y}${this.fieldSeparator}${W}`,W,G,H+1);_.push(B)}if(_.length===0){let W=this.colModel.getColDefCol(Q);if(W){let B=this.colNames.getDisplayNameForColumn(W,"header")??Q,K=this.createColDef(W,B,void 0,!1);return K.colId=Y,K.aggFunc=W.getAggFunc(),K.valueGetter=(E)=>E.data?.[Y],K}return{colId:Y,headerName:Q,valueGetter:(B)=>B.data?.[Y]}}if(this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&_.length===1&&"colId"in _[0])return _[0].headerName=Q,_[0];return{openByDefault:this.pivotDefaultExpanded===-1||H{Y.forEach((Q)=>{if(T(Q.children)){let H=Q;if($)$(H);X(H.children)}else{let H=Q;if(Z)Z(H)}})};if(J)X(J)}},QQ="Exceeded maximum allowed pivot column count.",Q7=(J)=>{let Z={};return J.forEach(($,X)=>Z[X]=$ instanceof Map?Q7($):$),Z},sS=class extends M{constructor(){super(...arguments);this.beanName="pivotStage",this.step="pivot",this.refreshProps=["removePivotHeaderRowWhenSingleValueColumn","pivotRowTotals","pivotColumnGroupTotals","suppressExpandablePivotGroups"],this.uniqueValues=new Map,this.lastTimeFailed=!1,this.maxUniqueValues=-1,this.currentUniqueCount=0}wireBeans(J){this.valueSvc=J.valueSvc,this.colModel=J.colModel,this.pivotResultCols=J.pivotResultCols,this.rowGroupColsSvc=J.rowGroupColsSvc,this.valueColsSvc=J.valueColsSvc,this.pivotColsSvc=J.pivotColsSvc,this.pivotColDefSvc=J.pivotColDefSvc}execute(J){if(this.colModel.isPivotActive())return this.executePivotOn(J);else return this.executePivotOff()}executePivotOff(){if(this.aggregationColumnsHashLastTime=null,this.uniqueValues=new Map,this.pivotResultCols.isPivotResultColsPresent())return this.pivotResultCols.setPivotResultCols(null,"rowModelUpdated"),!0;return!1}executePivotOn(J){let Z=this.valueColsSvc?.columns.length??1,$=this.gos.get("pivotMaxGeneratedColumns");this.maxUniqueValues=$===-1?-1:$/Z;let X;try{X=this.bucketUpRowNodes(J)}catch(F){if(F.message===QQ)return this.pivotResultCols.setPivotResultCols([],"rowModelUpdated"),this.eventSvc.dispatchEvent({type:"pivotMaxColumnsExceeded",message:F.message}),this.lastTimeFailed=!0,!1;throw F}let Y=this.setUniqueValues(X),Q=this.valueColsSvc?.columns??[],q=Q.map((F)=>`${F.getId()}-${F.getColDef().headerName}`).join("#"),H=Q.map((F)=>F.getAggFunc().toString()).join("#"),_=this.aggregationColumnsHashLastTime!==q,z=this.aggregationFuncsHashLastTime!==H;this.aggregationColumnsHashLastTime=q,this.aggregationFuncsHashLastTime=H;let U=(this.rowGroupColsSvc?.columns??[]).map((F)=>F.getId()).join("#"),W=U!==this.groupColumnsHashLastTime;this.groupColumnsHashLastTime=U;let G=this.gos.get("pivotRowTotals"),B=this.gos.get("pivotColumnGroupTotals"),K=this.gos.get("suppressExpandablePivotGroups"),E=this.gos.get("removePivotHeaderRowWhenSingleValueColumn"),L=G!==this.pivotRowTotalsLastTime||B!==this.pivotColumnGroupTotalsLastTime||K!==this.suppressExpandablePivotGroupsLastTime||E!==this.removePivotHeaderRowWhenSingleValueColumnLastTime;if(this.pivotRowTotalsLastTime=G,this.pivotColumnGroupTotalsLastTime=B,this.suppressExpandablePivotGroupsLastTime=K,this.removePivotHeaderRowWhenSingleValueColumnLastTime=E,this.lastTimeFailed||Y||_||W||z||L){let F=this.pivotColDefSvc.createPivotColumnDefs(this.uniqueValues);return this.pivotResultCols.setPivotResultCols(F,"rowModelUpdated"),this.lastTimeFailed=!1,!0}return this.lastTimeFailed=!1,!1}setUniqueValues(J){if(!F6(Q7(this.uniqueValues),Q7(J)))return this.uniqueValues=J,!0;return!1}bucketUpRowNodes(J){this.currentUniqueCount=0;let Z=new Map;MJ(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,J,(X)=>{if(X.leafGroup)X.childrenMapped=null});let $=(X)=>{if(X.leafGroup)this.bucketRowNode(X,Z);else{let Y=X.childrenAfterFilter;if(Y)for(let Q=0,q=Y.length;Qthis.maxUniqueValues;if(q&&G)throw Error(QQ)}if(!Y.has(W))Y.set(W,[]);Y.get(W).push(U)}if($===Z.length-1)return Y;let H=new Map;for(let _ of Y.keys())H.set(_,this.bucketChildren(Y.get(_),Z,$+1,X.get(_)));return H}},rS={moduleName:"SharedPivot",version:$J,beans:[nS,dS,Yq],apiFunctions:{isPivotMode:IS,getPivotResultColumn:bS,setValueColumns:CS,getValueColumns:xS,removeValueColumns:yS,addValueColumns:NS,setPivotColumns:wS,removePivotColumns:gS,addPivotColumns:hS,getPivotColumns:uS,setPivotResultColumns:mS,getPivotResultColumns:cS},dependsOn:[Uq,W9]},Lq={moduleName:"Pivot",version:$J,rowModels:["clientSide"],beans:[sS],dependsOn:[rS,cO,L7]};var RC=String.fromCodePoint(31,41150,8291);var Fq=[{symbol:"%",fixity:"postfix",precedence:100},{symbol:"-",fixity:"prefix",precedence:90},{symbol:"+",fixity:"prefix",precedence:90},{symbol:"^",fixity:"infix",precedence:80,associativity:"right"},{symbol:"*",fixity:"infix",precedence:70,associativity:"left",isAssociative:!0},{symbol:"/",fixity:"infix",precedence:70,associativity:"left"},{symbol:"+",fixity:"infix",precedence:60,associativity:"left",isAssociative:!0},{symbol:"-",fixity:"infix",precedence:60,associativity:"left"},{symbol:"&",fixity:"infix",precedence:55,associativity:"left",isAssociative:!0},{symbol:"=",fixity:"infix",precedence:50,associativity:"left"},{symbol:"<>",fixity:"infix",precedence:50,associativity:"left"},{symbol:">=",fixity:"infix",precedence:50,associativity:"left"},{symbol:"<=",fixity:"infix",precedence:50,associativity:"left"},{symbol:">",fixity:"infix",precedence:50,associativity:"left"},{symbol:"<",fixity:"infix",precedence:50,associativity:"left"}],qQ=new Map;for(let J of Fq){let Z=qQ.get(J.symbol)??[];Z.push(J),qQ.set(J.symbol,Z)}var OC=[...new Set(Fq.map((J)=>J.symbol))].sort((J,Z)=>Z.length-J.length);var SC=Symbol("WrappedFunctionMarker");var tS={column:"bar",groupedColumn:"bar",stackedColumn:"bar",normalizedColumn:"bar",bar:"bar",groupedBar:"bar",stackedBar:"bar",normalizedBar:"bar",line:"line",stackedLine:"line",normalizedLine:"line",scatter:"scatter",bubble:"bubble",pie:"pie",donut:"donut",doughnut:"donut",area:"area",stackedArea:"area",normalizedArea:"area",histogram:"histogram",radarLine:"radar-line",radarArea:"radar-area",nightingale:"nightingale",radialColumn:"radial-column",radialBar:"radial-bar",sunburst:"sunburst",rangeBar:"range-bar",rangeArea:"range-area",boxPlot:"box-plot",treemap:"treemap",heatmap:"heatmap",waterfall:"waterfall",funnel:"funnel",coneFunnel:"cone-funnel",pyramid:"pyramid"},lS=new Set(["columnLineCombo","areaColumnCombo","customCombo"]);function aS(J){return lS.has(J)}function oS(J){return J==="doughnut"?"donut":J}function eS(J){return tS[J]}var Jf=["number","category","grouped-category","log","time"];var fC=Jf.reduce((J,Z)=>({...J,[Z]:{title:{_enabledFromTheme:!0}}}),{});var D7=(J)=>{return(Z)=>{if(Z==null)return!0;return J(Z)}};var Zf=["doughnut"];function $f(J){return!!eS(J)||aS(J)}function Xf(J){return Zf.includes(J)}var TC=D7((J)=>{if($f(J))return!0;if(Xf(J)){let Z=oS(J);return Z0(`The chart type '${J}' has been deprecated. Please use '${Z}' instead.`),Z}return!1}),vC=D7((J)=>{return typeof J==="object"}),IC=D7((J)=>{return typeof J==="object"}),bC=D7((J)=>{return typeof J==="string"||typeof J==="function"});function Dq(J){return J.map((Z,$,X)=>Z.map((Y,Q)=>X.slice(0,$+1).reduce((q,H)=>q+H[Q],0)))}function kq(J){let Z=J.map(($,X)=>J.reduce((Y,Q)=>Math.max(Y,Q[X]),0));return J.map(($)=>$.map((X,Y)=>X/Z[Y]*19))}var Vq=[[1,3,5],[2,6,4],[5,3,1]];var Yf=Dq(Vq);var CC=kq(Yf);var Qf=Vq;var qf=Dq(Qf);var xC=kq(qf);var Hf=["number","category","time","grouped-category"],_f=["angle-category","angle-number","radius-category","radius-number"],yC=[...Hf,..._f];sX.registerModules([A4,e1,j4,K4,V4,_4,a1,oQ,Eq,Lq,Bq,Z$,cQ,iQ,nQ,rQ,Wq]);export{x1 as themeQuartz,ZB as iconSetQuartzLight,A9 as createGrid,sX as ModuleRegistry}; \ No newline at end of file diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..377f1df --- /dev/null +++ b/index.d.ts @@ -0,0 +1,48 @@ +declare module 'sigpro-grid' { + import { GridApi, GridOptions, ICellRendererParams, IDetailCellRendererParams, ColDef } from 'ag-grid-community'; + + export type RowData = Record; + + export interface GridEvents { + onFilterChanged?: (params: any) => void; + onModelUpdated?: (params: any) => void; + onGridSizeChanged?: (params: any) => void; + onFirstDataRendered?: (params: any) => void; + onRowValueChanged?: (params: any) => void; + onSelectionChanged?: (params: any) => void; + onCellClicked?: (params: any) => void; + onCellDoubleClicked?: (params: any) => void; + onCellValueChanged?: (params: any) => void; + onRowClicked?: (params: any) => void; + onSortChanged?: (params: any) => void; + onContextMenu?: (params: any) => void; + onColumnResized?: (params: any) => void; + onColumnMoved?: (params: any) => void; + onRowDataUpdated?: (params: any) => void; + onCellEditingStarted?: (params: any) => void; + onCellEditingStopped?: (params: any) => void; + onPaginationChanged?: (params: any) => void; + onBodyScroll?: (params: any) => void; + onGridReady?: (params: { api: GridApi; columnApi: any }) => void; + } + + export interface GridProps extends Partial { + data?: RowData[] | (() => RowData[]); + options?: GridOptions | (() => GridOptions); + api?: { current: GridApi | null }; + class?: string; + style?: string; + lang?: string; + } + + export const Grid: (props: GridProps) => HTMLElement; + export function createGridApiRef(): { current: GridApi | null }; + + export type { + GridApi, + GridOptions, + ICellRendererParams, + IDetailCellRendererParams, + ColDef + } from 'ag-grid-community'; +} \ No newline at end of file diff --git a/main.js b/main.js index e3df29c..a96914f 100644 --- a/main.js +++ b/main.js @@ -23,7 +23,7 @@ import { StatusBarModule, ExcelExportModule, ClipboardModule, -} from "ag-grid-enterprise"; +} from "ag-grid-enterprise_mod"; ModuleRegistry.registerModules([ ValidationModule, diff --git a/package.json b/package.json index 6dbd625..e4dc4d6 100644 --- a/package.json +++ b/package.json @@ -4,16 +4,14 @@ "type": "module", "main": "./grid/index.js", "module": "./grid/index.js", + "types": "./index.d.ts", "files": [ "grid" ], "scripts": { - "build": "vite build" - }, - "devDependencies": { - "vite": "^8.0.0", - "terser": "^5.46.1" + "build": "bun build main.js --outfile grid/grid.js --minify --format esm --target node && node -e \"require('fs').writeFileSync('grid/grid.js', require('fs').readFileSync('grid/grid.js', 'utf8').replace(/\\n/g,' '))\"" }, + "devDependencies": {}, "dependencies": { "ag-grid-community": "^35.2.0", "ag-grid-enterprise": "^35.2.0" diff --git a/vite.config.js b/vite.config.js deleted file mode 100644 index 28cc8ce..0000000 --- a/vite.config.js +++ /dev/null @@ -1,30 +0,0 @@ -import { defineConfig } from 'vite'; -import { resolve } from 'path'; - -export default defineConfig({ - build: { - outDir: 'grid', - lib: { - entry: resolve(__dirname, 'main.js'), - name: 'AgGrid', - fileName: () => `grid.js`, - formats: ['es'] - }, - minify: 'terser', - terserOptions: { - compress: { - drop_console: true, - drop_debugger: true, - pure_funcs: ['console.info', 'console.debug'], - passes: 2, - }, - format: { - comments: false, - }, - mangle: { - toplevel: true, - } - }, - emptyOutDir: true - } -});