From 0648ef352f0e36fdd81604ca5445fb70409f3441 Mon Sep 17 00:00:00 2001 From: Max Patiiuk Date: Mon, 7 Oct 2024 20:51:32 -0700 Subject: [PATCH] refactor: update code per codemod changes Update the codemod to fix detected bugs and to automatically apply the required changes to have tests pass. All the changes in this commit are automated in the codemod. --- package-lock.json | 4677 ++++++++--------- packages/calcite-components/package.json | 11 +- .../accordion-item/accordion-item.tsx | 2 +- .../src/components/action-bar/action-bar.tsx | 2 +- .../components/action-group/action-group.tsx | 2 +- .../components/action-menu/action-menu.tsx | 11 +- .../src/components/action-pad/action-pad.tsx | 2 +- .../src/components/alert/alert.tsx | 14 +- .../block-section/block-section.tsx | 2 +- .../src/components/block/block.tsx | 12 +- .../src/components/button/button.e2e.ts | 2 +- .../src/components/button/button.tsx | 9 +- .../src/components/card-group/card-group.tsx | 2 +- .../src/components/card/card.tsx | 2 +- .../src/components/carousel/carousel.tsx | 12 +- .../src/components/checkbox/checkbox.tsx | 2 +- .../src/components/chip-group/chip-group.tsx | 2 +- .../src/components/chip/chip.tsx | 8 +- .../color-picker-hex-input.tsx | 2 +- .../color-picker/color-picker.e2e.ts | 32 +- .../components/color-picker/color-picker.tsx | 30 +- .../combobox-item/combobox-item.tsx | 27 +- .../src/components/combobox/combobox.tsx | 52 +- .../date-picker-day/date-picker-day.tsx | 4 +- .../date-picker-month-header.tsx | 4 +- .../date-picker-month/date-picker-month.tsx | 2 +- .../components/date-picker/date-picker.e2e.ts | 15 +- .../components/date-picker/date-picker.tsx | 12 +- .../src/components/dialog/dialog.tsx | 34 +- .../dropdown-item/dropdown-item.tsx | 4 +- .../src/components/dropdown/dropdown.tsx | 11 +- .../src/components/filter/filter.tsx | 21 +- .../src/components/flow-item/flow-item.tsx | 10 +- .../components/functional/Heading.spec.tsx | 68 +- .../src/components/handle/handle.tsx | 7 +- .../inline-editable/inline-editable.tsx | 29 +- .../input-date-picker.e2e.ts | 18 +- .../input-date-picker/input-date-picker.tsx | 42 +- .../components/input-number/input-number.tsx | 72 +- .../src/components/input-text/input-text.tsx | 29 +- .../input-time-picker/input-time-picker.tsx | 114 +- .../input-time-zone/input-time-zone.tsx | 52 +- .../src/components/input/input.tsx | 76 +- .../list-item-group/list-item-group.tsx | 2 +- .../src/components/list-item/list-item.tsx | 20 +- .../src/components/list/list.tsx | 10 +- .../src/components/loader/loader.tsx | 4 +- .../src/components/menu-item/menu-item.tsx | 8 +- .../src/components/menu/menu.tsx | 6 +- .../src/components/meter/meter.tsx | 4 +- .../src/components/modal/modal.tsx | 27 +- .../navigation-logo/navigation-logo.tsx | 2 +- .../navigation-user/navigation-user.e2e.ts | 2 +- .../components/navigation/navigation.e2e.ts | 2 +- .../src/components/navigation/navigation.tsx | 2 +- .../src/components/notice/notice.tsx | 8 +- .../components/option-group/option-group.tsx | 2 +- .../src/components/option/option.tsx | 2 +- .../src/components/pagination/pagination.tsx | 6 +- .../src/components/panel/panel.tsx | 8 +- .../pick-list-group/pick-list-group.tsx | 2 +- .../pick-list-item/pick-list-item.e2e.ts | 2 +- .../pick-list-item/pick-list-item.tsx | 4 +- .../src/components/pick-list/pick-list.tsx | 4 +- .../src/components/popover/popover.tsx | 12 +- .../radio-button-group/radio-button-group.tsx | 3 +- .../components/radio-button/radio-button.tsx | 11 +- .../src/components/rating/rating.e2e.ts | 2 +- .../src/components/rating/rating.tsx | 44 +- .../segmented-control-item.tsx | 2 +- .../segmented-control/segmented-control.tsx | 2 +- .../src/components/select/select.tsx | 4 +- .../src/components/sheet/sheet.tsx | 27 +- .../shell-center-row/shell-center-row.tsx | 10 + .../components/shell-panel/shell-panel.e2e.ts | 2 +- .../components/shell-panel/shell-panel.tsx | 4 +- .../src/components/slider/slider.tsx | 8 +- .../sortable-list/sortable-list.tsx | 2 +- .../components/split-button/split-button.tsx | 4 +- .../components/stepper-item/stepper-item.tsx | 6 +- .../src/components/stepper/stepper.tsx | 4 +- .../src/components/switch/switch.tsx | 2 +- .../src/components/tab-nav/tab-nav.tsx | 2 +- .../src/components/tab-title/tab-title.tsx | 14 +- .../src/components/table-row/table-row.tsx | 2 +- .../src/components/table/table.tsx | 6 +- .../src/components/text-area/text-area.tsx | 9 +- .../src/components/tile-group/tile-group.tsx | 6 +- .../components/tile-select/tile-select.tsx | 2 +- .../src/components/tile/tile.tsx | 2 +- .../components/time-picker/time-picker.e2e.ts | 8 +- .../components/time-picker/time-picker.tsx | 20 +- .../components/tip-manager/tip-manager.tsx | 12 +- .../src/components/tip/tip.tsx | 4 +- .../src/components/tooltip/tooltip.tsx | 10 +- .../src/components/tree-item/tree-item.tsx | 47 +- .../src/components/tree/tree.tsx | 2 +- .../value-list-item/value-list-item.tsx | 2 +- .../components/value-list/value-list.e2e.ts | 4 +- .../src/components/value-list/value-list.tsx | 2 +- .../src/demos/_assets/head.ts | 4 - .../src/tests/commonTests/defaults.ts | 2 +- .../src/tests/commonTests/reflects.ts | 2 +- .../src/tests/commonTests/themed.ts | 7 +- .../src/tests/setupTests.ts | 15 +- .../src/utils/config.spec.ts | 11 +- .../src/utils/floating-ui.spec.ts | 4 +- .../calcite-components/src/utils/form.tsx | 2 +- packages/calcite-components/vite.config.ts | 4 +- 109 files changed, 2991 insertions(+), 3031 deletions(-) diff --git a/package-lock.json b/package-lock.json index 389ee23378c..cf55e7eb2e9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -514,1550 +514,1122 @@ "ajv": ">=8" } }, - "node_modules/@arcgis/components-controllers": { - "version": "4.32.0-next.1", - "resolved": "https://registry.npmjs.org/@arcgis/components-controllers/-/components-controllers-4.32.0-next.1.tgz", - "integrity": "sha512-igW+zNC+hptxn8wy4UAE4wAXyfiHqkBpAc5T8HUNrXtbaybNFi38GOpgIHeUvy3na/bY56KDeNCTs9ibTtzlMg==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@arcgis/components-utils": "4.32.0-next.1", - "tslib": "^2.7.0" - }, - "peerDependencies": { - "@arcgis/core": ">=4.31.0-next <4.32", - "@arcgis/core-adapter": ">=4.31.0-next" - }, - "peerDependenciesMeta": { - "@arcgis/core": { - "optional": true - }, - "@arcgis/core-adapter": { - "optional": true - } - } - }, - "node_modules/@arcgis/components-controllers/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, - "node_modules/@arcgis/components-utils": { - "version": "4.32.0-next.1", - "resolved": "https://registry.npmjs.org/@arcgis/components-utils/-/components-utils-4.32.0-next.1.tgz", - "integrity": "sha512-CcPAsK1tEb6zPo3O/5bfDNqIxPeB+HQ21ptrn+vn2J9U8u8NkRdSyRfP2wlr3iz7b4Fc4LIQI0d6mcTLH+899A==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "tslib": "^2.7.0" - } - }, - "node_modules/@arcgis/components-utils/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, - "node_modules/@arcgis/lumina": { - "version": "4.32.0-next.1", - "resolved": "https://registry.npmjs.org/@arcgis/lumina/-/lumina-4.32.0-next.1.tgz", - "integrity": "sha512-EKmTWw0eiI+JV4ZyDWZsHDX6c0ADbHozDocyGX31bjH8Ga7HDFMpwbJAf1UyNgM6rDj2h1Nm67KT73TrLynkpA==", - "license": "SEE LICENSE IN LICENSE.md", + "node_modules/@asamuzakjp/dom-selector": { + "version": "2.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "@arcgis/components-controllers": "4.32.0-next.1", - "@arcgis/components-utils": "4.32.0-next.1", - "@lit-labs/ssr": "^3.2.2", - "@lit-labs/ssr-client": "^1.1.7", - "csstype": "^3.1.3", - "lit": "^3.1.2", - "tslib": "^2.7.0" + "bidi-js": "^1.0.3", + "css-tree": "^2.3.1", + "is-potential-custom-element-name": "^1.0.1" } }, - "node_modules/@arcgis/lumina-compiler": { - "version": "4.32.0-next.1", - "resolved": "https://registry.npmjs.org/@arcgis/lumina-compiler/-/lumina-compiler-4.32.0-next.1.tgz", - "integrity": "sha512-NY8lsDMa3v123A3n3cnGW/ui2ecyVGB+iaL1BRkWpeBvuLEAEGJwempOSg3x0WUASyn41hCNSm2hso6dGpCxyg==", + "node_modules/@babel/code-frame": { + "version": "7.24.7", "dev": true, - "license": "SEE LICENSE IN LICENSE.md", + "license": "MIT", "dependencies": { - "@arcgis/components-utils": "4.32.0-next.1", - "@custom-elements-manifest/analyzer": "^0.10.3", - "custom-elements-manifest": "^2.1.0", - "esbuild": "^0.24.0", - "js-beautify": "^1.15.1", - "mime-types": "^2.1.35", - "rollup": "^4.22.5", - "rollup-plugin-node-externals": "^7.1.3", - "sass-embedded": "^1.79.3", - "tslib": "^2.7.0", - "typescript": "~5.4.0", - "vite": "^5.4.8", - "vite-plugin-dts": "^4.2.2", - "vitest": "^2.1.1", - "vitest-fail-on-console": "^0.7.1" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, - "peerDependencies": { - "@arcgis/components-controllers": "4.32.0-next.1", - "@arcgis/lumina": "4.32.0-next.1" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/aix-ppc64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", - "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", - "cpu": [ - "ppc64" - ], + "node_modules/@babel/compat-data": { + "version": "7.24.4", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "aix" - ], "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/android-arm": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", - "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", - "cpu": [ - "arm" - ], + "node_modules/@babel/core": { + "version": "7.24.5", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.24.5", + "@babel/helpers": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/android-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", - "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/android-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", - "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", - "cpu": [ - "x64" - ], + "node_modules/@babel/generator": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/darwin-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", - "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "@babel/types": "^7.24.7" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/darwin-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", - "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", - "cpu": [ - "x64" - ], + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "@babel/types": "^7.22.15" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", - "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/freebsd-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", - "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", - "cpu": [ - "x64" - ], + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/linux-arm": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", - "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", - "cpu": [ - "arm" - ], + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", + "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.0", + "semver": "^6.3.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/linux-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", - "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/linux-ia32": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", - "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", - "cpu": [ - "ia32" - ], + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/linux-loong64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", - "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", - "cpu": [ - "loong64" - ], + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/linux-mips64el": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", - "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", - "cpu": [ - "mips64el" - ], + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/linux-ppc64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", - "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", - "cpu": [ - "ppc64" - ], + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/types": "^7.24.7" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/linux-riscv64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", - "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", - "cpu": [ - "riscv64" - ], + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/linux-s390x": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", - "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", - "cpu": [ - "s390x" - ], + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/types": "^7.24.7" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/linux-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", - "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", - "cpu": [ - "x64" - ], + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/netbsd-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", - "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", - "cpu": [ - "x64" - ], + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", - "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/openbsd-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", - "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", - "cpu": [ - "x64" - ], + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "@babel/types": "^7.24.7" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/sunos-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", - "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", - "cpu": [ - "x64" - ], + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/win32-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", - "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/win32-ia32": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", - "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", - "cpu": [ - "ia32" - ], + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@esbuild/win32-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", - "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", - "cpu": [ - "x64" - ], + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", - "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", - "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", - "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", - "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", - "cpu": [ - "x64" - ], + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", - "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", - "cpu": [ - "arm" - ], + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", - "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", - "cpu": [ - "arm" - ], + "node_modules/@babel/helper-validator-option": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", - "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helper-wrap-function": { + "version": "7.24.5", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/helper-function-name": "^7.23.0", + "@babel/template": "^7.24.0", + "@babel/types": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", - "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helpers": { + "version": "7.24.5", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", - "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", - "cpu": [ - "ppc64" - ], + "node_modules/@babel/highlight": { + "version": "7.24.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", - "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", - "cpu": [ - "riscv64" - ], + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", - "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", - "cpu": [ - "s390x" - ], + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.5", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", - "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", - "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", - "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", - "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", - "cpu": [ - "ia32" - ], + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", - "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@arcgis/lumina-compiler/node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@vitest/expect": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.2.tgz", - "integrity": "sha512-FEgtlN8mIUSEAAnlvn7mP8vzaWhEaAEvhSXCqrsijM7K6QqjB11qoRZYEd4AKSCDz8p0/+yH5LzhZ47qt+EyPg==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.2", - "@vitest/utils": "2.1.2", - "chai": "^5.1.1", - "tinyrainbow": "^1.2.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "funding": { - "url": "https://opencollective.com/vitest" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@vitest/spy": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.2.tgz", - "integrity": "sha512-GSUi5zoy+abNRJwmFhBDC0yRuVUn8WMlQscvnbbXdKLXX9dE59YbfwXxuJ/mth6eeqIzofU8BB5XDo/Ns/qK2A==", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", "dev": true, "license": "MIT", "dependencies": { - "tinyspy": "^3.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "funding": { - "url": "https://opencollective.com/vitest" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/@vitest/utils": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.2.tgz", - "integrity": "sha512-zMO2KdYy6mx56btx9JvAqAZ6EyS3g49krMPPrgOp1yxGZiA93HumGk+bZ5jIZtOg5/VBYl5eBmGRQHqq4FG6uQ==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.2", - "loupe": "^3.1.1", - "tinyrainbow": "^1.2.0" + "@babel/helper-plugin-utils": "^7.12.13" }, - "funding": { - "url": "https://opencollective.com/vitest" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/chai": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", - "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", "dev": true, "license": "MIT", "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=12" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", "dev": true, "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", + "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, "engines": { - "node": ">= 16" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.1", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, "engines": { - "node": ">=6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/esbuild": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", - "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.1", "dev": true, - "hasInstallScript": true, "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { - "node": ">=18" + "node": ">=6.9.0" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.0", - "@esbuild/android-arm": "0.24.0", - "@esbuild/android-arm64": "0.24.0", - "@esbuild/android-x64": "0.24.0", - "@esbuild/darwin-arm64": "0.24.0", - "@esbuild/darwin-x64": "0.24.0", - "@esbuild/freebsd-arm64": "0.24.0", - "@esbuild/freebsd-x64": "0.24.0", - "@esbuild/linux-arm": "0.24.0", - "@esbuild/linux-arm64": "0.24.0", - "@esbuild/linux-ia32": "0.24.0", - "@esbuild/linux-loong64": "0.24.0", - "@esbuild/linux-mips64el": "0.24.0", - "@esbuild/linux-ppc64": "0.24.0", - "@esbuild/linux-riscv64": "0.24.0", - "@esbuild/linux-s390x": "0.24.0", - "@esbuild/linux-x64": "0.24.0", - "@esbuild/netbsd-x64": "0.24.0", - "@esbuild/openbsd-arm64": "0.24.0", - "@esbuild/openbsd-x64": "0.24.0", - "@esbuild/sunos-x64": "0.24.0", - "@esbuild/win32-arm64": "0.24.0", - "@esbuild/win32-ia32": "0.24.0", - "@esbuild/win32-x64": "0.24.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/loupe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", - "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", "dev": true, "license": "MIT", "dependencies": { - "get-func-name": "^2.0.1" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/magic-string": { - "version": "0.30.11", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", - "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/@arcgis/lumina-compiler/node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/rollup": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", - "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": ">=6.9.0" }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.24.0", - "@rollup/rollup-android-arm64": "4.24.0", - "@rollup/rollup-darwin-arm64": "4.24.0", - "@rollup/rollup-darwin-x64": "4.24.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", - "@rollup/rollup-linux-arm-musleabihf": "4.24.0", - "@rollup/rollup-linux-arm64-gnu": "4.24.0", - "@rollup/rollup-linux-arm64-musl": "4.24.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", - "@rollup/rollup-linux-riscv64-gnu": "4.24.0", - "@rollup/rollup-linux-s390x-gnu": "4.24.0", - "@rollup/rollup-linux-x64-gnu": "4.24.0", - "@rollup/rollup-linux-x64-musl": "4.24.0", - "@rollup/rollup-win32-arm64-msvc": "4.24.0", - "@rollup/rollup-win32-ia32-msvc": "4.24.0", - "@rollup/rollup-win32-x64-msvc": "4.24.0", - "fsevents": "~2.3.2" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", "dev": true, "license": "MIT", - "engines": { - "node": ">=14.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@arcgis/lumina-compiler/node_modules/vitest": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.2.tgz", - "integrity": "sha512-veNjLizOMkRrJ6xxb+pvxN6/QAWg95mzcRjtmkepXdN87FNfxAss9RKe2far/G9cQpipfgP2taqg0KiWsquj8A==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "2.1.2", - "@vitest/mocker": "2.1.2", - "@vitest/pretty-format": "^2.1.2", - "@vitest/runner": "2.1.2", - "@vitest/snapshot": "2.1.2", - "@vitest/spy": "2.1.2", - "@vitest/utils": "2.1.2", - "chai": "^5.1.1", - "debug": "^4.3.6", - "magic-string": "^0.30.11", - "pathe": "^1.1.2", - "std-env": "^3.7.0", - "tinybench": "^2.9.0", - "tinyexec": "^0.3.0", - "tinypool": "^1.0.0", - "tinyrainbow": "^1.2.0", - "vite": "^5.0.0", - "vite-node": "2.1.2", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.1.2", - "@vitest/ui": "2.1.2", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/vitest-fail-on-console": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/vitest-fail-on-console/-/vitest-fail-on-console-0.7.1.tgz", - "integrity": "sha512-/PjuonFu7CwUVrKaiQPIGXOtiEv2/Gz3o8MbLmovX9TGDxoRCctRC8CA9zJMRUd6AvwGu/V5a3znObTmlPNTgw==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", "dev": true, "license": "MIT", "dependencies": { - "chalk": "5.3.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { - "vite": ">=4.5.2", - "vitest": ">=0.26.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina-compiler/node_modules/vitest/node_modules/@vitest/mocker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.2.tgz", - "integrity": "sha512-ExElkCGMS13JAJy+812fw1aCv2QO/LBK6CyO4WOPAzLTmve50gydOlWhgdBJPx2ztbADUq3JVI0C5U+bShaeEA==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "^2.1.0-beta.1", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.11" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { - "@vitest/spy": "2.1.2", - "msw": "^2.3.5", - "vite": "^5.0.0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@arcgis/lumina/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, - "node_modules/@asamuzakjp/dom-selector": { - "version": "2.0.2", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", "dev": true, "license": "MIT", "dependencies": { - "bidi-js": "^1.0.3", - "css-tree": "^2.3.1", - "is-potential-custom-element-name": "^1.0.1" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/code-frame": { - "version": "7.24.7", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", "dev": true, "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.7", - "picocolors": "^1.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/compat-data": { - "version": "7.24.4", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/core": { - "version": "7.24.5", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.24.5", - "@babel/helpers": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/generator": { + "node_modules/@babel/plugin-syntax-typescript": { "version": "7.24.7", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", - "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.0", - "semver": "^6.3.1" + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", - "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.1", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.24.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" + "@babel/helper-plugin-utils": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.4", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.24.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.5", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-split-export-declaration": "^7.24.5", + "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", - "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", - "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz", + "integrity": "sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-flow": "^7.24.7" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.24.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.24.5", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-function-name": "^7.23.0", - "@babel/template": "^7.24.0", - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", - "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.25.6" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", - "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.1", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "node_modules/@babel/plugin-transform-literals": { "version": "7.24.1", "dev": true, "license": "MIT", @@ -2068,90 +1640,45 @@ "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "node_modules/@babel/plugin-transform-logical-assignment-operators": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.24.1" + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.13.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -2160,36 +1687,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-flow": { + "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", - "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -2198,12 +1703,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { + "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -2212,11 +1720,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { + "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { @@ -2226,114 +1735,27 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -2342,12 +1764,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -2356,12 +1779,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -2370,27 +1794,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.1", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -2399,15 +1811,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.3", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-replace-supers": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -2416,14 +1826,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { + "node_modules/@babel/plugin-transform-optional-catch-binding": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.24.1", "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -2432,12 +1841,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.1", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -2446,7 +1857,7 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { + "node_modules/@babel/plugin-transform-parameters": { "version": "7.24.5", "dev": true, "license": "MIT", @@ -2460,7 +1871,7 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-properties": { + "node_modules/@babel/plugin-transform-private-methods": { "version": "7.24.1", "dev": true, "license": "MIT", @@ -2475,35 +1886,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.4", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { + "node_modules/@babel/plugin-transform-private-property-in-object": { "version": "7.24.5", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", + "@babel/helper-create-class-features-plugin": "^7.24.5", "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.24.5", - "globals": "^11.1.0" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -2512,13 +1903,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { + "node_modules/@babel/plugin-transform-property-literals": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/template": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -2527,12 +1917,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.5", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.24.0", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -2541,12 +1932,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { + "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { @@ -2556,12 +1946,18 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.1", + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", + "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -2570,29 +1966,21 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", - "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/plugin-transform-dynamic-import": { + "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -2601,13 +1989,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { + "node_modules/@babel/plugin-transform-spread": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2616,13 +2004,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-export-namespace-from": { + "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -2631,15 +2018,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz", - "integrity": "sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/plugin-syntax-flow": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -2648,13 +2032,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.1", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -2663,14 +2046,18 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.1", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -2679,13 +2066,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-json-strings": { + "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -2694,11 +2080,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-literals": { + "node_modules/@babel/plugin-transform-unicode-property-regex": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { @@ -2708,13 +2095,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -2723,471 +2110,19 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { + "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "7.24.1", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", - "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", - "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-syntax-typescript": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0" } }, "node_modules/@babel/preset-env": { @@ -8390,6 +7325,13 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@polka/url": { + "version": "1.0.0-next.28", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", + "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "dev": true, + "license": "MIT" + }, "node_modules/@prettier/sync": { "version": "0.5.2", "dev": true, @@ -10002,6 +8944,96 @@ "storybook": "^8.2.9" } }, + "node_modules/@storybook/test/node_modules/@vitest/expect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@storybook/test/node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/@storybook/test/node_modules/chai": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@storybook/test/node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@storybook/test/node_modules/deep-eql": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@storybook/test/node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/@storybook/test/node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/@storybook/theming": { "version": "8.2.9", "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.2.9.tgz", @@ -11282,20 +10314,69 @@ } }, "node_modules/@vitest/expect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", - "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.2.tgz", + "integrity": "sha512-FEgtlN8mIUSEAAnlvn7mP8vzaWhEaAEvhSXCqrsijM7K6QqjB11qoRZYEd4AKSCDz8p0/+yH5LzhZ47qt+EyPg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "1.6.0", - "@vitest/utils": "1.6.0", - "chai": "^4.3.10" + "@vitest/spy": "2.1.2", + "@vitest/utils": "2.1.2", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/expect/node_modules/@vitest/spy": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.2.tgz", + "integrity": "sha512-GSUi5zoy+abNRJwmFhBDC0yRuVUn8WMlQscvnbbXdKLXX9dE59YbfwXxuJ/mth6eeqIzofU8BB5XDo/Ns/qK2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/expect/node_modules/@vitest/utils": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.2.tgz", + "integrity": "sha512-zMO2KdYy6mx56btx9JvAqAZ6EyS3g49krMPPrgOp1yxGZiA93HumGk+bZ5jIZtOg5/VBYl5eBmGRQHqq4FG6uQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.2", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, + "node_modules/@vitest/expect/node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/@vitest/expect/node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@vitest/pretty-format": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.2.tgz", @@ -12352,13 +11433,13 @@ } }, "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/ast-types": { @@ -13496,32 +12577,30 @@ } }, "node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, "license": "MIT", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/chai/node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "node_modules/chai/node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "get-func-name": "^2.0.1" } }, "node_modules/chalk": { @@ -13605,16 +12684,13 @@ "license": "MIT" }, "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.2" - }, "engines": { - "node": "*" + "node": ">= 16" } }, "node_modules/cheerio": { @@ -15971,14 +15047,11 @@ } }, "node_modules/deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, "license": "MIT", - "dependencies": { - "type-detect": "^4.0.0" - }, "engines": { "node": ">=6" } @@ -18244,6 +17317,13 @@ "node": "^12.20 || >= 14.13" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -29082,13 +28162,13 @@ "license": "MIT" }, "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">= 14.16" } }, "node_modules/peek-readable": { @@ -32408,6 +31488,21 @@ "version": "0.3.2", "license": "MIT" }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "dev": true, @@ -34775,6 +33870,48 @@ "dev": true, "license": "MIT" }, + "node_modules/tinyglobby": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.9.tgz", + "integrity": "sha512-8or1+BGEdk1Zkkw2ii16qSS7uVrQJPre5A9o/XkWPATkk23FZh/15BKFxPnlTy6vkljZxLqYCzzBMj30ZrSvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.0.tgz", + "integrity": "sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tinypool": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", @@ -34863,6 +34000,16 @@ "url": "https://github.com/sponsors/Borewit" } }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/tough-cookie": { "version": "4.1.4", "dev": true, @@ -38173,9 +37320,9 @@ "version": "2.14.0-next.3", "license": "SEE LICENSE.md", "dependencies": { - "@arcgis/components-controllers": "4.32.0-next.1", - "@arcgis/components-utils": "4.32.0-next.1", - "@arcgis/lumina": "4.32.0-next.1", + "@arcgis/components-controllers": "4.32.0-next.3", + "@arcgis/components-utils": "4.32.0-next.3", + "@arcgis/lumina": "4.32.0-next.3", "@esri/calcite-ui-icons": "3.33.0-next.0", "@floating-ui/dom": "1.6.11", "@types/color": "3.0.6", @@ -38191,15 +37338,16 @@ "type-fest": "4.18.2" }, "devDependencies": { - "@arcgis/lumina-compiler": "4.32.0-next.1", + "@arcgis/lumina-compiler": "4.32.0-next.3", "@esri/calcite-design-tokens": "2.2.1-next.4", "@esri/eslint-plugin-calcite-components": "1.2.2-next.0", "@stencil-community/eslint-plugin": "0.8.0", "@vitest/coverage-v8": "^2.1.2", + "@vitest/ui": "2.1.2", "happy-dom": "^14.12.3", "puppeteer": "23.4.1", "vite": "^5.4.8", - "vitest": "2.1.2" + "vitest": "^2.1.2" } }, "packages/calcite-components-angular": { @@ -41689,77 +40837,786 @@ "escalade": "^3.1.2", "picocolors": "^1.0.1" }, - "bin": { - "update-browserslist-db": "cli.js" + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "packages/calcite-components-angular/node_modules/vite": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.0.tgz", + "integrity": "sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.40", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "packages/calcite-components-angular/node_modules/vite/node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "packages/calcite-components-angular/node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "packages/calcite-components-angular/node_modules/webpack-dev-middleware": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", + "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^4.6.0", + "mime-types": "^2.1.31", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "packages/calcite-components-angular/node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "packages/calcite-components-angular/node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "packages/calcite-components-angular/node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "packages/calcite-components-angular/node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "packages/calcite-components-angular/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "packages/calcite-components-angular/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "packages/calcite-components-angular/projects/component-library": { + "name": "@esri/calcite-components-angular", + "version": "2.14.0-next.3", + "license": "SEE LICENSE.md", + "dependencies": { + "@esri/calcite-components": "2.14.0-next.3", + "tslib": "2.6.3" }, "peerDependencies": { - "browserslist": ">= 4.21.0" + "@angular/common": ">=16.0.0", + "@angular/core": ">=16.0.0" } }, - "packages/calcite-components-angular/node_modules/vite": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.0.tgz", - "integrity": "sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==", - "dev": true, - "license": "MIT", + "packages/calcite-components-react": { + "name": "@esri/calcite-components-react", + "version": "2.14.0-next.3", + "license": "SEE LICENSE.md", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.40", - "rollup": "^4.13.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" + "@esri/calcite-components": "2.14.0-next.3" }, - "optionalDependencies": { - "fsevents": "~2.3.3" + "peerDependencies": { + "react": ">=16.7", + "react-dom": ">=16.7" + } + }, + "packages/calcite-components/node_modules/@arcgis/components-controllers": { + "version": "4.32.0-next.2", + "resolved": "https://registry.npmjs.org/@arcgis/components-controllers/-/components-controllers-4.32.0-next.2.tgz", + "integrity": "sha512-6l4ALTdIiI0mtKp/2wmGUhWI1rlGEfbigdFQD/f8nNs6ow0GEPA49pNbuNmAOkUhAtb3xUUAmdvCD4Gi2cfa3A==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@arcgis/components-utils": "4.32.0-next.2", + "tslib": "^2.7.0" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "@arcgis/core": ">=4.31.0-next <4.32", + "@arcgis/core-adapter": ">=4.31.0-next" }, "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { + "@arcgis/core": { "optional": true }, - "terser": { + "@arcgis/core-adapter": { "optional": true } } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "packages/calcite-components/node_modules/@arcgis/components-utils": { + "version": "4.32.0-next.2", + "resolved": "https://registry.npmjs.org/@arcgis/components-utils/-/components-utils-4.32.0-next.2.tgz", + "integrity": "sha512-OPdCEypGe2WZEtbmM+4VXr/Wh6u7EyEJBFXC3XsHidJRU9hDSZ2B2m/3W/IIHAAA6D2FotJ5BYJrVVwCBH4URg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "tslib": "^2.7.0" + } + }, + "packages/calcite-components/node_modules/@arcgis/lumina": { + "version": "4.32.0-next.2", + "resolved": "https://registry.npmjs.org/@arcgis/lumina/-/lumina-4.32.0-next.2.tgz", + "integrity": "sha512-0thYRlbqJD9T4RNaO8+6MFmDtK/3BtY7+h2q6kbgfd1v+uaRz+60aHHp+jkTSQ2Xm/d7dpY3GEqQfCw/KUuyag==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@arcgis/components-controllers": "4.32.0-next.2", + "@arcgis/components-utils": "4.32.0-next.2", + "@lit-labs/ssr": "^3.2.2", + "@lit-labs/ssr-client": "^1.1.7", + "csstype": "^3.1.3", + "lit": "^3.2.0", + "tslib": "^2.7.0" + } + }, + "packages/calcite-components/node_modules/@arcgis/lumina-compiler": { + "version": "4.32.0-next.2", + "resolved": "https://registry.npmjs.org/@arcgis/lumina-compiler/-/lumina-compiler-4.32.0-next.2.tgz", + "integrity": "sha512-MDwoBkq7xDyZGaWDArD4R/kSia52DpgnGSX1jzO9eNso1krUBZ77u2a8pEjKffndJvJ/dGD7zcivMFL6lEOIwA==", + "dev": true, + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@arcgis/components-utils": "4.32.0-next.2", + "@custom-elements-manifest/analyzer": "^0.10.3", + "custom-elements-manifest": "^2.1.0", + "esbuild": "^0.24.0", + "js-beautify": "^1.15.1", + "mime-types": "^2.1.35", + "rollup": "^4.24.0", + "rollup-plugin-node-externals": "^7.1.3", + "sass-embedded": "^1.79.3", + "tslib": "^2.7.0", + "typescript": "~5.4.0", + "vite": "^5.4.8", + "vite-plugin-dts": "^4.2.3", + "vitest": "^2.1.2", + "vitest-fail-on-console": "^0.7.1" + }, + "peerDependencies": { + "@arcgis/components-controllers": "4.32.0-next.2", + "@arcgis/lumina": "4.32.0-next.2" + } + }, + "packages/calcite-components/node_modules/@esbuild/aix-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", "cpu": [ "ppc64" ], @@ -41770,13 +41627,13 @@ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "packages/calcite-components/node_modules/@esbuild/android-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", "cpu": [ "arm" ], @@ -41787,13 +41644,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "packages/calcite-components/node_modules/@esbuild/android-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", "cpu": [ "arm64" ], @@ -41804,13 +41661,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "packages/calcite-components/node_modules/@esbuild/android-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", "cpu": [ "x64" ], @@ -41821,13 +41678,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "packages/calcite-components/node_modules/@esbuild/darwin-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", "cpu": [ "arm64" ], @@ -41838,13 +41695,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "packages/calcite-components/node_modules/@esbuild/darwin-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", "cpu": [ "x64" ], @@ -41855,13 +41712,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "packages/calcite-components/node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", "cpu": [ "arm64" ], @@ -41872,13 +41729,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "packages/calcite-components/node_modules/@esbuild/freebsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", "cpu": [ "x64" ], @@ -41889,13 +41746,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "packages/calcite-components/node_modules/@esbuild/linux-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", "cpu": [ "arm" ], @@ -41906,13 +41763,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "packages/calcite-components/node_modules/@esbuild/linux-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", "cpu": [ "arm64" ], @@ -41923,13 +41780,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "packages/calcite-components/node_modules/@esbuild/linux-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", "cpu": [ "ia32" ], @@ -41940,13 +41797,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "packages/calcite-components/node_modules/@esbuild/linux-loong64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", "cpu": [ "loong64" ], @@ -41957,13 +41814,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "packages/calcite-components/node_modules/@esbuild/linux-mips64el": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", "cpu": [ "mips64el" ], @@ -41974,13 +41831,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "packages/calcite-components/node_modules/@esbuild/linux-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", "cpu": [ "ppc64" ], @@ -41991,13 +41848,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "packages/calcite-components/node_modules/@esbuild/linux-riscv64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", "cpu": [ "riscv64" ], @@ -42008,13 +41865,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "packages/calcite-components/node_modules/@esbuild/linux-s390x": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", "cpu": [ "s390x" ], @@ -42023,49 +41880,314 @@ "optional": true, "os": [ "linux" - ], - "engines": { - "node": ">=12" - } + ], + "engines": { + "node": ">=18" + } + }, + "packages/calcite-components/node_modules/@esbuild/linux-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "packages/calcite-components/node_modules/@esbuild/netbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "packages/calcite-components/node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "packages/calcite-components/node_modules/@esbuild/openbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "packages/calcite-components/node_modules/@esbuild/sunos-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "packages/calcite-components/node_modules/@esbuild/win32-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "packages/calcite-components/node_modules/@esbuild/win32-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "packages/calcite-components/node_modules/@esbuild/win32-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "packages/calcite-components/node_modules/@floating-ui/dom": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.7.tgz", + "integrity": "sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.4" + } + }, + "packages/calcite-components/node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", + "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "packages/calcite-components/node_modules/@rollup/rollup-android-arm64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", + "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "packages/calcite-components/node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", + "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "packages/calcite-components/node_modules/@rollup/rollup-darwin-x64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", + "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "packages/calcite-components/node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", + "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "packages/calcite-components/node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", + "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "packages/calcite-components/node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", + "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "packages/calcite-components/node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", + "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "packages/calcite-components/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", + "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "packages/calcite-components/node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", + "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", "cpu": [ - "x64" + "riscv64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ], - "engines": { - "node": ">=12" - } + ] }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "packages/calcite-components/node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", + "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", "cpu": [ - "x64" + "s390x" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } + "linux" + ] }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "packages/calcite-components/node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", + "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", "cpu": [ "x64" ], @@ -42073,16 +42195,13 @@ "license": "MIT", "optional": true, "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } + "linux" + ] }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "packages/calcite-components/node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", + "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", "cpu": [ "x64" ], @@ -42090,16 +42209,13 @@ "license": "MIT", "optional": true, "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } + "linux" + ] }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "packages/calcite-components/node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", + "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", "cpu": [ "arm64" ], @@ -42108,15 +42224,12 @@ "optional": true, "os": [ "win32" - ], - "engines": { - "node": ">=12" - } + ] }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "packages/calcite-components/node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", + "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", "cpu": [ "ia32" ], @@ -42125,15 +42238,12 @@ "optional": true, "os": [ "win32" - ], - "engines": { - "node": ">=12" - } + ] }, - "packages/calcite-components-angular/node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "packages/calcite-components/node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", + "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", "cpu": [ "x64" ], @@ -42142,263 +42252,7 @@ "optional": true, "os": [ "win32" - ], - "engines": { - "node": ">=12" - } - }, - "packages/calcite-components-angular/node_modules/vite/node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "packages/calcite-components-angular/node_modules/vite/node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "packages/calcite-components-angular/node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "packages/calcite-components-angular/node_modules/webpack-dev-middleware": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", - "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^4.6.0", - "mime-types": "^2.1.31", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } - } - }, - "packages/calcite-components-angular/node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "packages/calcite-components-angular/node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "packages/calcite-components-angular/node_modules/webpack/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "packages/calcite-components-angular/node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "packages/calcite-components-angular/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "packages/calcite-components-angular/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "packages/calcite-components-angular/projects/component-library": { - "name": "@esri/calcite-components-angular", - "version": "2.14.0-next.3", - "license": "SEE LICENSE.md", - "dependencies": { - "@esri/calcite-components": "2.14.0-next.3", - "tslib": "2.6.3" - }, - "peerDependencies": { - "@angular/common": ">=16.0.0", - "@angular/core": ">=16.0.0" - } - }, - "packages/calcite-components-react": { - "name": "@esri/calcite-components-react", - "version": "2.14.0-next.3", - "license": "SEE LICENSE.md", - "dependencies": { - "@esri/calcite-components": "2.14.0-next.3" - }, - "peerDependencies": { - "react": ">=16.7", - "react-dom": ">=16.7" - } - }, - "packages/calcite-components/node_modules/@floating-ui/dom": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.7.tgz", - "integrity": "sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==", - "dependencies": { - "@floating-ui/core": "^1.6.0", - "@floating-ui/utils": "^0.2.4" - } + ] }, "packages/calcite-components/node_modules/@stencil-community/eslint-plugin": { "version": "0.8.0", @@ -42460,6 +42314,13 @@ } } }, + "packages/calcite-components/node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, "packages/calcite-components/node_modules/@types/sortablejs": { "version": "1.15.8", "resolved": "https://registry.npmjs.org/@types/sortablejs/-/sortablejs-1.15.8.tgz", @@ -42689,22 +42550,6 @@ } } }, - "packages/calcite-components/node_modules/@vitest/expect": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.2.tgz", - "integrity": "sha512-FEgtlN8mIUSEAAnlvn7mP8vzaWhEaAEvhSXCqrsijM7K6QqjB11qoRZYEd4AKSCDz8p0/+yH5LzhZ47qt+EyPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "2.1.2", - "@vitest/utils": "2.1.2", - "chai": "^5.1.1", - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, "packages/calcite-components/node_modules/@vitest/mocker": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.2.tgz", @@ -42746,56 +42591,54 @@ "url": "https://opencollective.com/vitest" } }, - "packages/calcite-components/node_modules/@vitest/utils": { + "packages/calcite-components/node_modules/@vitest/ui": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.2.tgz", - "integrity": "sha512-zMO2KdYy6mx56btx9JvAqAZ6EyS3g49krMPPrgOp1yxGZiA93HumGk+bZ5jIZtOg5/VBYl5eBmGRQHqq4FG6uQ==", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-2.1.2.tgz", + "integrity": "sha512-92gcNzkDnmxOxyHzQrQYRsoV9Q0Aay0r4QMLnV+B+lbqlUWa8nDg9ivyLV5mMVTtGirHsYUGGh/zbIA55gBZqA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.2", - "loupe": "^3.1.1", + "@vitest/utils": "2.1.2", + "fflate": "^0.8.2", + "flatted": "^3.3.1", + "pathe": "^1.1.2", + "sirv": "^2.0.4", + "tinyglobby": "^0.2.6", "tinyrainbow": "^1.2.0" }, "funding": { "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "2.1.2" } }, - "packages/calcite-components/node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "packages/calcite-components/node_modules/chai": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", - "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", + "packages/calcite-components/node_modules/@vitest/utils": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.2.tgz", + "integrity": "sha512-zMO2KdYy6mx56btx9JvAqAZ6EyS3g49krMPPrgOp1yxGZiA93HumGk+bZ5jIZtOg5/VBYl5eBmGRQHqq4FG6uQ==", "dev": true, "license": "MIT", "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" + "@vitest/pretty-format": "2.1.2", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=12" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "packages/calcite-components/node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "packages/calcite-components/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "license": "MIT", "engines": { - "node": ">= 16" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "packages/calcite-components/node_modules/composed-offset-position": { @@ -42811,14 +42654,44 @@ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.12.tgz", "integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==" }, - "packages/calcite-components/node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "packages/calcite-components/node_modules/esbuild": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", "dev": true, + "hasInstallScript": true, "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">=6" + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" } }, "packages/calcite-components/node_modules/globby": { @@ -42943,14 +42816,40 @@ "url": "https://github.com/sponsors/isaacs" } }, - "packages/calcite-components/node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "packages/calcite-components/node_modules/rollup": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", + "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", "dev": true, "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, "engines": { - "node": ">= 14.16" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.24.0", + "@rollup/rollup-android-arm64": "4.24.0", + "@rollup/rollup-darwin-arm64": "4.24.0", + "@rollup/rollup-darwin-x64": "4.24.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", + "@rollup/rollup-linux-arm-musleabihf": "4.24.0", + "@rollup/rollup-linux-arm64-gnu": "4.24.0", + "@rollup/rollup-linux-arm64-musl": "4.24.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", + "@rollup/rollup-linux-riscv64-gnu": "4.24.0", + "@rollup/rollup-linux-s390x-gnu": "4.24.0", + "@rollup/rollup-linux-x64-gnu": "4.24.0", + "@rollup/rollup-linux-x64-musl": "4.24.0", + "@rollup/rollup-win32-arm64-msvc": "4.24.0", + "@rollup/rollup-win32-ia32-msvc": "4.24.0", + "@rollup/rollup-win32-x64-msvc": "4.24.0", + "fsevents": "~2.3.2" } }, "packages/calcite-components/node_modules/slash": { @@ -43018,6 +42917,12 @@ "node": ">=14.0.0" } }, + "packages/calcite-components/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, "packages/calcite-components/node_modules/type-fest": { "version": "4.18.2", "license": "(MIT OR CC0-1.0)", @@ -43093,6 +42998,20 @@ } } }, + "packages/calcite-components/node_modules/vitest-fail-on-console": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/vitest-fail-on-console/-/vitest-fail-on-console-0.7.1.tgz", + "integrity": "sha512-/PjuonFu7CwUVrKaiQPIGXOtiEv2/Gz3o8MbLmovX9TGDxoRCctRC8CA9zJMRUd6AvwGu/V5a3znObTmlPNTgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "5.3.0" + }, + "peerDependencies": { + "vite": ">=4.5.2", + "vitest": ">=0.26.2" + } + }, "packages/calcite-components/node_modules/ws": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", diff --git a/packages/calcite-components/package.json b/packages/calcite-components/package.json index d36e6f49f31..68fbeed5a94 100644 --- a/packages/calcite-components/package.json +++ b/packages/calcite-components/package.json @@ -55,9 +55,9 @@ "directory": "packages/calcite-components" }, "dependencies": { - "@arcgis/components-controllers": "4.32.0-next.1", - "@arcgis/components-utils": "4.32.0-next.1", - "@arcgis/lumina": "4.32.0-next.1", + "@arcgis/components-controllers": "4.32.0-next.7", + "@arcgis/components-utils": "4.32.0-next.7", + "@arcgis/lumina": "4.32.0-next.7", "@esri/calcite-ui-icons": "3.33.0-next.0", "@floating-ui/dom": "1.6.11", "@types/color": "3.0.6", @@ -73,15 +73,16 @@ "type-fest": "4.18.2" }, "devDependencies": { - "@arcgis/lumina-compiler": "4.32.0-next.1", + "@arcgis/lumina-compiler": "4.32.0-next.7", "@esri/calcite-design-tokens": "2.2.1-next.4", "@esri/eslint-plugin-calcite-components": "1.2.2-next.0", "@stencil-community/eslint-plugin": "0.8.0", "@vitest/coverage-v8": "^2.1.2", + "@vitest/ui": "2.1.2", "happy-dom": "^14.12.3", "puppeteer": "23.4.1", "vite": "^5.4.8", - "vitest": "2.1.2" + "vitest": "^2.1.2" }, "license": "SEE LICENSE.md", "volta": { diff --git a/packages/calcite-components/src/components/accordion-item/accordion-item.tsx b/packages/calcite-components/src/components/accordion-item/accordion-item.tsx index d6a4d1a7edc..70b9869ede5 100644 --- a/packages/calcite-components/src/components/accordion-item/accordion-item.tsx +++ b/packages/calcite-components/src/components/accordion-item/accordion-item.tsx @@ -115,7 +115,7 @@ export class AccordionItem extends LitElement implements LoadableComponent { // #region Events /** @notPublic */ - calciteInternalAccordionItemClose = createEvent({ cancelable: false }); + calciteInternalAccordionItemClose = createEvent({ cancelable: false }); /** @notPublic */ calciteInternalAccordionItemSelect = createEvent({ cancelable: false }); diff --git a/packages/calcite-components/src/components/action-bar/action-bar.tsx b/packages/calcite-components/src/components/action-bar/action-bar.tsx index ce39e6f0391..9af17244bbe 100755 --- a/packages/calcite-components/src/components/action-bar/action-bar.tsx +++ b/packages/calcite-components/src/components/action-bar/action-bar.tsx @@ -200,7 +200,7 @@ export class ActionBar extends LitElement implements LoadableComponent { // #region Events /** Fires when the `expanded` property is toggled. */ - calciteActionBarToggle = createEvent({ cancelable: false }); + calciteActionBarToggle = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/action-group/action-group.tsx b/packages/calcite-components/src/components/action-group/action-group.tsx index 857b01a2434..8aec346cb38 100755 --- a/packages/calcite-components/src/components/action-group/action-group.tsx +++ b/packages/calcite-components/src/components/action-group/action-group.tsx @@ -46,7 +46,7 @@ export class ActionGroup extends LitElement implements LoadableComponent { // #region Public Properties /** Indicates number of columns. */ - @property({ reflect: true }) columns: Columns; + @property({ type: Number, reflect: true }) columns: Columns; /** When `true`, the component is expanded. */ @property({ reflect: true }) expanded = false; diff --git a/packages/calcite-components/src/components/action-menu/action-menu.tsx b/packages/calcite-components/src/components/action-menu/action-menu.tsx index 41def4974eb..f8ae0e18b87 100755 --- a/packages/calcite-components/src/components/action-menu/action-menu.tsx +++ b/packages/calcite-components/src/components/action-menu/action-menu.tsx @@ -96,7 +96,7 @@ export class ActionMenu extends LitElement implements LoadableComponent { private menuId = `${this.guid}-menu`; - _open = false; + private _open = false; private slottedMenuButtonEl: Action["el"]; @@ -162,8 +162,11 @@ export class ActionMenu extends LitElement implements LoadableComponent { } set open(open: boolean) { - this._open = open; - this.openHandler(open); + const oldOpen = this._open; + if (open !== oldOpen) { + this._open = open; + this.openHandler(open); + } } /** @@ -197,7 +200,7 @@ export class ActionMenu extends LitElement implements LoadableComponent { // #region Events /** Fires when the `open` property is toggled. */ - calciteActionMenuOpen = createEvent({ cancelable: false }); + calciteActionMenuOpen = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/action-pad/action-pad.tsx b/packages/calcite-components/src/components/action-pad/action-pad.tsx index 6cceb22bb36..aeb72e33d40 100755 --- a/packages/calcite-components/src/components/action-pad/action-pad.tsx +++ b/packages/calcite-components/src/components/action-pad/action-pad.tsx @@ -116,7 +116,7 @@ export class ActionPad extends LitElement implements LoadableComponent { // #region Events /** Fires when the `expanded` property is toggled. */ - calciteActionPadToggle = createEvent({ cancelable: false }); + calciteActionPadToggle = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/alert/alert.tsx b/packages/calcite-components/src/components/alert/alert.tsx index d5b010e5f9e..69189d4b0fd 100644 --- a/packages/calcite-components/src/components/alert/alert.tsx +++ b/packages/calcite-components/src/components/alert/alert.tsx @@ -194,16 +194,16 @@ export class Alert extends LitElement implements OpenCloseComponent, LoadableCom // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calciteAlertBeforeClose = createEvent({ cancelable: false }); + calciteAlertBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteAlertBeforeOpen = createEvent({ cancelable: false }); + calciteAlertBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calciteAlertClose = createEvent({ cancelable: false }); + calciteAlertClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteAlertOpen = createEvent({ cancelable: false }); + calciteAlertOpen = createEvent({ cancelable: false }); // #endregion @@ -217,7 +217,7 @@ export class Alert extends LitElement implements OpenCloseComponent, LoadableCom } this.numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, signDisplay: "always", }; @@ -333,7 +333,7 @@ export class Alert extends LitElement implements OpenCloseComponent, LoadableCom private effectiveLocaleChange(): void { this.numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, signDisplay: "always", }; @@ -341,7 +341,7 @@ export class Alert extends LitElement implements OpenCloseComponent, LoadableCom private numberingSystemChange(): void { this.numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, signDisplay: "always", }; diff --git a/packages/calcite-components/src/components/block-section/block-section.tsx b/packages/calcite-components/src/components/block-section/block-section.tsx index 181c440e04c..844a9590890 100644 --- a/packages/calcite-components/src/components/block-section/block-section.tsx +++ b/packages/calcite-components/src/components/block-section/block-section.tsx @@ -91,7 +91,7 @@ export class BlockSection extends LitElement implements LoadableComponent { // #region Events /** Fires when the header has been clicked. */ - calciteBlockSectionToggle = createEvent({ cancelable: false }); + calciteBlockSectionToggle = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/block/block.tsx b/packages/calcite-components/src/components/block/block.tsx index b69e32b2e8a..34ba5b8da7e 100644 --- a/packages/calcite-components/src/components/block/block.tsx +++ b/packages/calcite-components/src/components/block/block.tsx @@ -98,7 +98,7 @@ export class Block @property() heading: string; /** Specifies the heading level of the component's `heading` for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ type: Number, reflect: true }) headingLevel: HeadingLevel; /** Specifies an icon to display at the end of the component. */ @property({ reflect: true }) iconEnd: IconNameOrString; @@ -166,23 +166,23 @@ export class Block // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calciteBlockBeforeClose = createEvent({ cancelable: false }); + calciteBlockBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteBlockBeforeOpen = createEvent({ cancelable: false }); + calciteBlockBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calciteBlockClose = createEvent({ cancelable: false }); + calciteBlockClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteBlockOpen = createEvent({ cancelable: false }); + calciteBlockOpen = createEvent({ cancelable: false }); /** * Fires when the component's header is clicked. * * @deprecated Use `openClose` events such as `calciteBlockOpen`, `calciteBlockClose`, `calciteBlockBeforeOpen`, and `calciteBlockBeforeClose` instead. */ - calciteBlockToggle = createEvent({ cancelable: false }); + calciteBlockToggle = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/button/button.e2e.ts b/packages/calcite-components/src/components/button/button.e2e.ts index 5743901c2af..2a9ecf6f62e 100644 --- a/packages/calcite-components/src/components/button/button.e2e.ts +++ b/packages/calcite-components/src/components/button/button.e2e.ts @@ -117,7 +117,7 @@ describe("calcite-button", () => { expect(elementAsButton).toBeNull(); expect(elementAsLink).not.toBeNull(); - expect(await elementAsLink.getProperty("disabled")).toBe(undefined); + expect(await elementAsLink.getProperty("disabled")).toBe(null); }); it("renders as a button with default props", async () => { diff --git a/packages/calcite-components/src/components/button/button.tsx b/packages/calcite-components/src/components/button/button.tsx index 9976f936a29..f5c46b903a0 100644 --- a/packages/calcite-components/src/components/button/button.tsx +++ b/packages/calcite-components/src/components/button/button.tsx @@ -29,7 +29,6 @@ import { getIconScale } from "../../utils/component"; import { Appearance, FlipContext, Kind, Scale, Width } from "../interfaces"; import { IconNameOrString } from "../icon/interfaces"; import { isBrowser } from "../../utils/browser"; -import { toAriaBoolean } from "../../utils/dom"; import { useT9n } from "../../controllers/useT9n"; import type { Label } from "../label/label"; import T9nStrings from "./assets/t9n/button.t9n.en.json"; @@ -341,14 +340,14 @@ export class Button return ( ({ cancelable: false }); + calciteCardGroupSelect = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/card/card.tsx b/packages/calcite-components/src/components/card/card.tsx index ba37115482a..9eeb27df28c 100644 --- a/packages/calcite-components/src/components/card/card.tsx +++ b/packages/calcite-components/src/components/card/card.tsx @@ -145,7 +145,7 @@ export class Card extends LitElement implements InteractiveComponent, LoadableCo // #region Events /** Fires when the deprecated `selectable` is true, or `selectionMode` set on parent `calcite-card-group` is not `none` and the component is selected. */ - calciteCardSelect = createEvent({ cancelable: false }); + calciteCardSelect = createEvent({ cancelable: false }); /** @notPublic */ calciteInternalCardKeyEvent = createEvent({ cancelable: false }); diff --git a/packages/calcite-components/src/components/carousel/carousel.tsx b/packages/calcite-components/src/components/carousel/carousel.tsx index 2764c4aa33e..4357c8005ed 100644 --- a/packages/calcite-components/src/components/carousel/carousel.tsx +++ b/packages/calcite-components/src/components/carousel/carousel.tsx @@ -122,7 +122,7 @@ export class Carousel extends LitElement implements InteractiveComponent, Loadab @property({ reflect: true }) autoplay: AutoplayType = false; /** When `autoplay` is `true`, specifies in milliseconds the length of time to display each Carousel Item. */ - @property({ reflect: true }) autoplayDuration = DURATION; + @property({ type: Number, reflect: true }) autoplayDuration = DURATION; /** Specifies if the component's controls are positioned absolutely on top of slotted Carousel Items. */ @property({ reflect: true }) controlOverlay = false; @@ -201,19 +201,19 @@ export class Carousel extends LitElement implements InteractiveComponent, Loadab // #region Events /** Fires when the selected `calcite-carousel-item` changes. */ - calciteCarouselChange = createEvent({ cancelable: false }); + calciteCarouselChange = createEvent({ cancelable: false }); /** Fires when the carousel autoplay state pauses due to a user hovering over the component or focusing on the component or slotted content */ - calciteCarouselPause = createEvent({ cancelable: false }); + calciteCarouselPause = createEvent({ cancelable: false }); /** Fires when the carousel autoplay is invoked by the user. */ - calciteCarouselPlay = createEvent({ cancelable: false }); + calciteCarouselPlay = createEvent({ cancelable: false }); /** Fires when the carousel autoplay state resumes due to a user no longer hovering over the component or focusing on the component or slotted content */ - calciteCarouselResume = createEvent({ cancelable: false }); + calciteCarouselResume = createEvent({ cancelable: false }); /** Fires when the carousel autoplay state is stopped by a user. */ - calciteCarouselStop = createEvent({ cancelable: false }); + calciteCarouselStop = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/checkbox/checkbox.tsx b/packages/calcite-components/src/components/checkbox/checkbox.tsx index d41ac611922..bfabffee693 100644 --- a/packages/calcite-components/src/components/checkbox/checkbox.tsx +++ b/packages/calcite-components/src/components/checkbox/checkbox.tsx @@ -164,7 +164,7 @@ export class Checkbox // #region Events /** Fires when the component's `checked` status changes. */ - calciteCheckboxChange = createEvent({ cancelable: false }); + calciteCheckboxChange = createEvent({ cancelable: false }); /** * Fires when the component is blurred. diff --git a/packages/calcite-components/src/components/chip-group/chip-group.tsx b/packages/calcite-components/src/components/chip-group/chip-group.tsx index 80ae00ef8fe..ac4c671d262 100644 --- a/packages/calcite-components/src/components/chip-group/chip-group.tsx +++ b/packages/calcite-components/src/components/chip-group/chip-group.tsx @@ -95,7 +95,7 @@ export class ChipGroup extends LitElement implements InteractiveComponent { // #region Events /** Fires when the component's selection changes. */ - calciteChipGroupSelect = createEvent({ cancelable: false }); + calciteChipGroupSelect = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/chip/chip.tsx b/packages/calcite-components/src/components/chip/chip.tsx index a7268a49c2a..c6b5efbbcc7 100644 --- a/packages/calcite-components/src/components/chip/chip.tsx +++ b/packages/calcite-components/src/components/chip/chip.tsx @@ -156,19 +156,19 @@ export class Chip extends LitElement implements InteractiveComponent, LoadableCo // #region Events /** Fires when the component's close button is selected. */ - calciteChipClose = createEvent({ cancelable: false }); + calciteChipClose = createEvent({ cancelable: false }); /** Fires when the selected state of the component changes. */ - calciteChipSelect = createEvent({ cancelable: false }); + calciteChipSelect = createEvent({ cancelable: false }); /** @notPublic */ calciteInternalChipKeyEvent = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalChipSelect = createEvent({ cancelable: false }); + calciteInternalChipSelect = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalSyncSelectedChips = createEvent({ cancelable: false }); + calciteInternalSyncSelectedChips = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/color-picker-hex-input/color-picker-hex-input.tsx b/packages/calcite-components/src/components/color-picker-hex-input/color-picker-hex-input.tsx index 716ecec612e..2cc0fbde6bd 100644 --- a/packages/calcite-components/src/components/color-picker-hex-input/color-picker-hex-input.tsx +++ b/packages/calcite-components/src/components/color-picker-hex-input/color-picker-hex-input.tsx @@ -117,7 +117,7 @@ export class ColorPickerHexInput extends LitElement implements LoadableComponent // #region Events /** Emitted when the hex value changes. */ - calciteColorPickerHexInputChange = createEvent({ cancelable: false }); + calciteColorPickerHexInputChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/color-picker/color-picker.e2e.ts b/packages/calcite-components/src/components/color-picker/color-picker.e2e.ts index 2c4e103ada7..457ddaa01fd 100644 --- a/packages/calcite-components/src/components/color-picker/color-picker.e2e.ts +++ b/packages/calcite-components/src/components/color-picker/color-picker.e2e.ts @@ -862,7 +862,7 @@ describe("calcite-color-picker", () => { it("ignores unsupported value types", () => assertUnsupportedValue(page, "unsupported-color-format")); - it("ignores null when not allowed", () => assertUnsupportedValue(page, null)); + it("ignores null when not allowed", () => assertUnsupportedValue(page, undefined)); }); describe("normalizes shorthand CSS hex", () => { @@ -912,18 +912,16 @@ describe("calcite-color-picker", () => { }); it("value as property", async () => { - // initialize page with calcite-color-picker to make it available in the evaluate callback below const page = await newE2EPage({ - html: "", + html: "", }); - await page.setContent(""); await page.evaluate(async (color) => { const picker = document.createElement("calcite-color-picker"); picker.value = color; document.body.append(picker); - await new Promise((resolve) => requestAnimationFrame(() => resolve())); + await picker.componentOnReady(); }, initialColor); expect(await getInternalColorAsHex(page)).toBe(initialColor); @@ -1338,7 +1336,7 @@ describe("calcite-color-picker", () => { await clearAndEnterHexOrChannelValue(page, hexInput, ""); - expect(await picker.getProperty("value")).toBe(null); + expect(await picker.getProperty("value")).toBe(undefined); }); it("clears color via RGB channel inputs", async () => { @@ -1357,7 +1355,7 @@ describe("calcite-color-picker", () => { expect(await gInput.getProperty("value")).toBe(""); expect(await bInput.getProperty("value")).toBe(""); - expect(await picker.getProperty("value")).toBeNull(); + expect(await picker.getProperty("value")).toBeUndefined(); }); it("clears color via HSV channel inputs", async () => { @@ -1377,7 +1375,7 @@ describe("calcite-color-picker", () => { expect(await sInput.getProperty("value")).toBe(""); expect(await vInput.getProperty("value")).toBe(""); - expect(await picker.getProperty("value")).toBeNull(); + expect(await picker.getProperty("value")).toBeUndefined(); }); }); }); @@ -1928,7 +1926,7 @@ describe("calcite-color-picker", () => { const hexInput = await page.find(`calcite-color-picker >>> calcite-color-picker-hex-input`); await clearAndEnterHexOrChannelValue(page, hexInput, ""); - expect(await picker.getProperty("value")).toBe(null); + expect(await picker.getProperty("value")).toBe(undefined); }); it("clears color via RGB channel inputs", async () => { @@ -1952,7 +1950,7 @@ describe("calcite-color-picker", () => { expect(await bInput.getProperty("value")).toBe(""); expect(await rgbAInput.getProperty("value")).toBe(""); - expect(await picker.getProperty("value")).toBeNull(); + expect(await picker.getProperty("value")).toBeUndefined(); }); it("clears color via HSV channel inputs", async () => { @@ -1977,7 +1975,7 @@ describe("calcite-color-picker", () => { expect(await vInput.getProperty("value")).toBe(""); expect(await hsvAInput.getProperty("value")).toBe(""); - expect(await picker.getProperty("value")).toBeNull(); + expect(await picker.getProperty("value")).toBeUndefined(); }); }); }); @@ -2211,16 +2209,16 @@ describe("calcite-color-picker", () => { const color = await page.find("calcite-color-picker"); - expect(await color.getProperty("value")).not.toBe(null); - expect(await color.getProperty("color")).not.toBe(null); + expect(await color.getProperty("value")).not.toBe(undefined); + expect(await color.getProperty("color")).not.toBe(undefined); - color.setProperty("value", null); + color.setProperty("value", undefined); await page.waitForChanges(); - expect(await color.getProperty("value")).toBe(null); - expect(await color.getProperty("color")).toBe(null); + expect(await color.getProperty("value")).toBe(undefined); + expect(await color.getProperty("color")).toBe(undefined); - expect(() => assertUnsupportedValueMessage(null, "auto")).toThrow(); + expect(() => assertUnsupportedValueMessage(undefined, "auto")).toThrow(); }); it("allows hiding sections", async () => { diff --git a/packages/calcite-components/src/components/color-picker/color-picker.tsx b/packages/calcite-components/src/components/color-picker/color-picker.tsx index 0d96663018e..fc75feaf339 100644 --- a/packages/calcite-components/src/components/color-picker/color-picker.tsx +++ b/packages/calcite-components/src/components/color-picker/color-picker.tsx @@ -102,7 +102,7 @@ export class ColorPicker extends LitElement implements InteractiveComponent, Loa private checkerPattern: HTMLCanvasElement; - _color: InternalColor | null = DEFAULT_COLOR; + private _color: InternalColor | null = DEFAULT_COLOR; private colorFieldRenderingContext: CanvasRenderingContext2D; @@ -213,7 +213,9 @@ export class ColorPicker extends LitElement implements InteractiveComponent, Loa private upOrDownArrowKeyTracker: "down" | "up" | null = null; - _value: ColorValue | null; + private _value: ColorValue | null; + + private _valueWasSet = false; // #endregion @@ -274,9 +276,9 @@ export class ColorPicker extends LitElement implements InteractiveComponent, Loa } set color(color: InternalColor | null) { - const currentColor = color; + const oldColor = this._color; this._color = color; - this.handleColorChange(color, currentColor); + this.handleColorChange(color, oldColor); } /** When `true`, interaction is prevented and the component is displayed with lower opacity. */ @@ -356,9 +358,10 @@ export class ColorPicker extends LitElement implements InteractiveComponent, Loa } set value(value: ColorValue | null) { - const currentValue = value; + const oldValue = this._value; this._value = value; - this.handleValueChange(value, currentValue); + this.handleValueChange(value, oldValue); + this._valueWasSet = true; } // #endregion @@ -378,14 +381,14 @@ export class ColorPicker extends LitElement implements InteractiveComponent, Loa // #region Events /** Fires when the color value has changed. */ - calciteColorPickerChange = createEvent({ cancelable: false }); + calciteColorPickerChange = createEvent({ cancelable: false }); /** * Fires as the color value changes. * * Similar to the `calciteColorPickerChange` event with the exception of dragging. When dragging the color field or hue slider thumb, this event fires as the thumb is moved. */ - calciteColorPickerInput = createEvent({ cancelable: false }); + calciteColorPickerInput = createEvent({ cancelable: false }); // #endregion @@ -397,11 +400,12 @@ export class ColorPicker extends LitElement implements InteractiveComponent, Loa this.listen("keyup", this.handleChannelKeyUpOrDown, { capture: true }); } - override connectedCallback(): void { - this._value ??= normalizeHex(hexify(DEFAULT_COLOR, this.alphaChannel)); - } + override connectedCallback(): void {} async load(): Promise { + if (!this._valueWasSet) { + this._value ??= normalizeHex(hexify(DEFAULT_COLOR, this.alphaChannel)); + } setUpLoadableComponent(this); this.handleAllowEmptyOrClearableChange(); @@ -1474,7 +1478,7 @@ export class ColorPicker extends LitElement implements InteractiveComponent, Loa const opacityLeft = opacityScopeLeft ?? (sliderWidth * alphaToOpacity(DEFAULT_COLOR.alpha())) / OPACITY_LIMITS.max; - const noColor = color === null; + const noColor = color === undefined; const vertical = scopeOrientation === "vertical"; const noHex = hexDisabled || hideHex; const noChannels = channelsDisabled || hideChannels; @@ -1732,7 +1736,7 @@ export class ColorPicker extends LitElement implements InteractiveComponent, Loa dir={direction} key={index} label={ariaLabel} - lang={this.messages._t9nLocale} + lang={this.messages._lang} numberButtonType="none" numberingSystem={this.numberingSystem} onKeyDown={this.handleKeyDown} diff --git a/packages/calcite-components/src/components/combobox-item/combobox-item.tsx b/packages/calcite-components/src/components/combobox-item/combobox-item.tsx index daf86511e90..0c9d6d7af88 100644 --- a/packages/calcite-components/src/components/combobox-item/combobox-item.tsx +++ b/packages/calcite-components/src/components/combobox-item/combobox-item.tsx @@ -32,6 +32,12 @@ export class ComboboxItem extends LitElement implements InteractiveComponent { // #endregion + // #region Private Properties + + private _selected = false; + + // #endregion + // #region State Properties @state() hasContent = false; @@ -88,7 +94,18 @@ export class ComboboxItem extends LitElement implements InteractiveComponent { @property() scale: Scale = "m"; /** When `true`, the component is selected. */ - @property({ reflect: true }) selected = false; + @property({ reflect: true }) + get selected(): boolean { + return this._selected; + } + + set selected(selected: boolean) { + const oldSelected = this._selected; + if (selected !== oldSelected) { + this._selected = selected; + this.selectedWatchHandler(); + } + } /** * Specifies the selection mode of the component, where: @@ -142,14 +159,14 @@ export class ComboboxItem extends LitElement implements InteractiveComponent { // #region Events /** Fires whenever the component is selected or unselected. */ - calciteComboboxItemChange = createEvent({ cancelable: false }); + calciteComboboxItemChange = createEvent({ cancelable: false }); /** * Fires whenever a property the parent combobox needs to know about is changed. * * @notPublic */ - calciteInternalComboboxItemChange = createEvent({ cancelable: false }); + calciteInternalComboboxItemChange = createEvent({ cancelable: false }); // #endregion @@ -175,10 +192,6 @@ export class ComboboxItem extends LitElement implements InteractiveComponent { ) { this.handleComboboxItemPropsChange(); } - - if (changes.has("selected") && (this.hasUpdated || this.selected !== false)) { - this.selectedWatchHandler(); - } } override updated(): void { diff --git a/packages/calcite-components/src/components/combobox/combobox.tsx b/packages/calcite-components/src/components/combobox/combobox.tsx index b4557d841db..efdae506dd1 100644 --- a/packages/calcite-components/src/components/combobox/combobox.tsx +++ b/packages/calcite-components/src/components/combobox/combobox.tsx @@ -180,6 +180,8 @@ export class Combobox }, DEBOUNCE.filter); })(); + private _filterText = ""; + private filterTextMatchPattern: RegExp; private filteredFlipPlacements: FlipPlacement[]; @@ -260,6 +262,8 @@ export class Combobox transitionEl: HTMLDivElement; + private _value: string | string[] = null; + // #endregion // #region State Properties @@ -296,7 +300,18 @@ export class Combobox @property({ reflect: true }) disabled = false; /** Text for the component's filter input field. */ - @property({ reflect: true }) filterText = ""; + @property({ reflect: true }) + get filterText(): string { + return this._filterText; + } + + set filterText(filterText: string) { + const oldFilterText = this._filterText; + if (filterText !== oldFilterText) { + this._filterText = filterText; + this.filterTextChange(filterText); + } + } /** * Specifies the component's filtered items. @@ -444,7 +459,18 @@ export class Combobox }; /** The component's value(s) from the selected `calcite-combobox-item`(s). */ - @property() value: string | string[] = null; + @property() + get value(): string | string[] { + return this._value; + } + + set value(value: string | string[]) { + const oldValue = this._value; + if (value !== oldValue) { + this._value = value; + this.valueHandler(value); + } + } // #endregion @@ -489,25 +515,25 @@ export class Combobox // #region Events /** Fires when the component is requested to be closed, and before the closing transition begins. */ - calciteComboboxBeforeClose = createEvent({ cancelable: false }); + calciteComboboxBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteComboboxBeforeOpen = createEvent({ cancelable: false }); + calciteComboboxBeforeOpen = createEvent({ cancelable: false }); /** Fires when the selected item(s) changes. */ - calciteComboboxChange = createEvent({ cancelable: false }); + calciteComboboxChange = createEvent({ cancelable: false }); /** Fires when a selected item in the component is closed via its `calcite-chip`. */ - calciteComboboxChipClose = createEvent({ cancelable: false }); + calciteComboboxChipClose = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calciteComboboxClose = createEvent({ cancelable: false }); + calciteComboboxClose = createEvent({ cancelable: false }); /** Fires when text is added to filter the options list. */ - calciteComboboxFilterChange = createEvent({ cancelable: false }); + calciteComboboxFilterChange = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteComboboxOpen = createEvent({ cancelable: false }); + calciteComboboxOpen = createEvent({ cancelable: false }); // #endregion @@ -557,10 +583,6 @@ export class Combobox To account for this semantics change, the checks for (this.hasUpdated || value != defaultValue) was added in this method Please refactor your code to reduce the need for this check. Docs: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-lumina-transition-from-stencil--docs#watching-for-property-changes */ - if (changes.has("filterText") && (this.hasUpdated || this.filterText !== "")) { - this.filterTextChange(this.filterText); - } - if (changes.has("open") && (this.hasUpdated || this.open !== false)) { this.openHandler(); } @@ -587,10 +609,6 @@ export class Combobox this.handlePropsChange(); } - if (changes.has("value") && (this.hasUpdated || this.value !== null)) { - this.valueHandler(this.value); - } - if (changes.has("flipPlacements")) { this.flipPlacementsHandler(); } diff --git a/packages/calcite-components/src/components/date-picker-day/date-picker-day.tsx b/packages/calcite-components/src/components/date-picker-day/date-picker-day.tsx index ba3243ba4e5..6add1dbca3b 100644 --- a/packages/calcite-components/src/components/date-picker-day/date-picker-day.tsx +++ b/packages/calcite-components/src/components/date-picker-day/date-picker-day.tsx @@ -119,14 +119,14 @@ export class DatePickerDay extends LitElement implements InteractiveComponent, L // #region Events /** Fires when user selects day. */ - calciteDaySelect = createEvent({ cancelable: false }); + calciteDaySelect = createEvent({ cancelable: false }); /** * Fires when user hovers over a day. * * @notPublic */ - calciteInternalDayHover = createEvent({ cancelable: false }); + calciteInternalDayHover = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/date-picker-month-header/date-picker-month-header.tsx b/packages/calcite-components/src/components/date-picker-month-header/date-picker-month-header.tsx index 7b067bc0ef1..cf1538d6b02 100644 --- a/packages/calcite-components/src/components/date-picker-month-header/date-picker-month-header.tsx +++ b/packages/calcite-components/src/components/date-picker-month-header/date-picker-month-header.tsx @@ -30,6 +30,8 @@ declare global { export class DatePickerMonthHeader extends LitElement { // #region Static Members + static override shadowRootOptions = { mode: "open" as const, delegatesFocus: true }; + static override styles = styles; // #endregion @@ -56,7 +58,7 @@ export class DatePickerMonthHeader extends LitElement { @property() activeDate: Date; /** Specifies the number at which section headings should start. */ - @property() headingLevel: HeadingLevel; + @property({ type: Number }) headingLevel: HeadingLevel; /** CLDR locale data for translated calendar info. */ @property() localeData: DateLocaleData; diff --git a/packages/calcite-components/src/components/date-picker-month/date-picker-month.tsx b/packages/calcite-components/src/components/date-picker-month/date-picker-month.tsx index 4e5cc63f1f3..7254a2dbbd1 100644 --- a/packages/calcite-components/src/components/date-picker-month/date-picker-month.tsx +++ b/packages/calcite-components/src/components/date-picker-month/date-picker-month.tsx @@ -95,7 +95,7 @@ export class DatePickerMonth extends LitElement { calciteInternalDatePickerHover = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalDatePickerMouseOut = createEvent({ cancelable: false }); + calciteInternalDatePickerMouseOut = createEvent({ cancelable: false }); /** * Fires when user selects the date. diff --git a/packages/calcite-components/src/components/date-picker/date-picker.e2e.ts b/packages/calcite-components/src/components/date-picker/date-picker.e2e.ts index 8da5b6ff03d..6530b0acc7c 100644 --- a/packages/calcite-components/src/components/date-picker/date-picker.e2e.ts +++ b/packages/calcite-components/src/components/date-picker/date-picker.e2e.ts @@ -326,12 +326,12 @@ describe("calcite-date-picker", () => { const element = await page.find("calcite-date-picker"); - element.setProperty("min", null); - element.setProperty("max", null); + element.setProperty("min", undefined); + element.setProperty("max", undefined); await page.waitForChanges(); - expect(await element.getProperty("minAsDate")).toBe(null); - expect(await element.getProperty("maxAsDate")).toBe(null); + expect(await element.getProperty("minAsDate")).toBe(undefined); + expect(await element.getProperty("maxAsDate")).toBe(undefined); const dateBeyondMax = "2022-11-26"; await setActiveDate(page, dateBeyondMax); @@ -348,11 +348,14 @@ describe("calcite-date-picker", () => { const date = await page.find(`calcite-date-picker >>> calcite-date-picker-month-header`); expect(await date.getProperty("messages")).toEqual({ + _lang: "en", + _loading: false, + _t9nLocale: "en", + monthMenu: "Month menu", nextMonth: "Next month", prevMonth: "Previous month", - monthMenu: "Month menu", - yearMenu: "Year menu", year: "Year", + yearMenu: "Year menu", }); }); diff --git a/packages/calcite-components/src/components/date-picker/date-picker.tsx b/packages/calcite-components/src/components/date-picker/date-picker.tsx index be649db8243..fa17ff095ff 100644 --- a/packages/calcite-components/src/components/date-picker/date-picker.tsx +++ b/packages/calcite-components/src/components/date-picker/date-picker.tsx @@ -83,7 +83,7 @@ export class DatePicker extends LitElement implements LoadableComponent { @property({ reflect: true }) activeRange: "start" | "end"; /** Specifies the heading level of the component's `heading` for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ type: Number, reflect: true }) headingLevel: HeadingLevel; /** Specifies the latest allowed date (`"yyyy-mm-dd"`). */ @property({ reflect: true }) max: string; @@ -155,10 +155,10 @@ export class DatePicker extends LitElement implements LoadableComponent { // #region Events /** Fires when a user changes the component's date. For `range` events, use `calciteDatePickerRangeChange`. */ - calciteDatePickerChange = createEvent({ cancelable: false }); + calciteDatePickerChange = createEvent({ cancelable: false }); /** Fires when a user changes the component's date `range`. For components without `range` use `calciteDatePickerChange`. */ - calciteDatePickerRangeChange = createEvent({ cancelable: false }); + calciteDatePickerRangeChange = createEvent({ cancelable: false }); // #endregion @@ -280,12 +280,12 @@ export class DatePicker extends LitElement implements LoadableComponent { numberStringFormatter.numberFormatOptions = { numberingSystem: this.numberingSystem, - locale: this.messages._t9nLocale, + locale: this.messages._lang, useGrouping: false, }; - this.localeData = await getLocaleData(this.messages._t9nLocale); - this.dateTimeFormat = getDateTimeFormat(this.messages._t9nLocale, DATE_PICKER_FORMAT_OPTIONS); + this.localeData = await getLocaleData(this.messages._lang); + this.dateTimeFormat = getDateTimeFormat(this.messages._lang, DATE_PICKER_FORMAT_OPTIONS); } private monthHeaderSelectChange(event: CustomEvent): void { diff --git a/packages/calcite-components/src/components/dialog/dialog.tsx b/packages/calcite-components/src/components/dialog/dialog.tsx index b089142e0ea..48253c5683c 100644 --- a/packages/calcite-components/src/components/dialog/dialog.tsx +++ b/packages/calcite-components/src/components/dialog/dialog.tsx @@ -88,6 +88,8 @@ export class Dialog this.handleMutationObserver(), ); + private _open = false; + private openEnd = (): void => { this.setFocus(); this.el.removeEventListener( @@ -155,7 +157,7 @@ export class Dialog @property() heading: string; /** Specifies the heading level of the component's `heading` for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ type: Number, reflect: true }) headingLevel: HeadingLevel; /** Specifies the kind of the component, which will style the top border. */ @property({ reflect: true }) kind: Extract< @@ -186,7 +188,18 @@ export class Dialog @property({ reflect: true }) modal = false; /** When `true`, displays and positions the component. */ - @property({ reflect: true }) open = false; + @property({ reflect: true }) + get open(): boolean { + return this._open; + } + + set open(open: boolean) { + const oldOpen = this._open; + if (open !== oldOpen) { + this._open = open; + this.toggleDialog(open); + } + } /** When `true`, disables the closing of the component when clicked outside. */ @property({ reflect: true }) outsideCloseDisabled = false; @@ -255,19 +268,19 @@ export class Dialog // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calciteDialogBeforeClose = createEvent({ cancelable: false }); + calciteDialogBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteDialogBeforeOpen = createEvent({ cancelable: false }); + calciteDialogBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calciteDialogClose = createEvent({ cancelable: false }); + calciteDialogClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteDialogOpen = createEvent({ cancelable: false }); + calciteDialogOpen = createEvent({ cancelable: false }); /** Fires when the content is scrolled. */ - calciteDialogScroll = createEvent({ cancelable: false }); + calciteDialogScroll = createEvent({ cancelable: false }); // #endregion @@ -316,18 +329,13 @@ export class Dialog } if ( - (changes.has("messages") && - (this.hasUpdated || this.messages !== useT9n())) || + changes.has("messages") || (changes.has("dragEnabled") && (this.hasUpdated || this.dragEnabled !== false)) || (changes.has("resizable") && (this.hasUpdated || this.resizable !== false)) ) { this.updateAssistiveText(); } - if (changes.has("open") && (this.hasUpdated || this.open !== false)) { - this.toggleDialog(this.open); - } - if (changes.has("opened") && (this.hasUpdated || this.opened !== false)) { this.handleOpenedChange(this.opened); } diff --git a/packages/calcite-components/src/components/dropdown-item/dropdown-item.tsx b/packages/calcite-components/src/components/dropdown-item/dropdown-item.tsx index d68066817c3..b5088d6fe86 100644 --- a/packages/calcite-components/src/components/dropdown-item/dropdown-item.tsx +++ b/packages/calcite-components/src/components/dropdown-item/dropdown-item.tsx @@ -126,10 +126,10 @@ export class DropdownItem extends LitElement implements InteractiveComponent, Lo // #region Events /** Fires when the component is selected. */ - calciteDropdownItemSelect = createEvent({ cancelable: false }); + calciteDropdownItemSelect = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalDropdownCloseRequest = createEvent({ cancelable: false }); + calciteInternalDropdownCloseRequest = createEvent({ cancelable: false }); /** @notPublic */ calciteInternalDropdownItemKeyEvent = createEvent({ cancelable: false }); diff --git a/packages/calcite-components/src/components/dropdown/dropdown.tsx b/packages/calcite-components/src/components/dropdown/dropdown.tsx index a525f261da7..35327d7dda4 100644 --- a/packages/calcite-components/src/components/dropdown/dropdown.tsx +++ b/packages/calcite-components/src/components/dropdown/dropdown.tsx @@ -194,19 +194,19 @@ export class Dropdown // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calciteDropdownBeforeClose = createEvent({ cancelable: false }); + calciteDropdownBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteDropdownBeforeOpen = createEvent({ cancelable: false }); + calciteDropdownBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calciteDropdownClose = createEvent({ cancelable: false }); + calciteDropdownClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteDropdownOpen = createEvent({ cancelable: false }); + calciteDropdownOpen = createEvent({ cancelable: false }); /** Fires when a `calcite-dropdown-item`'s selection changes. */ - calciteDropdownSelect = createEvent({ cancelable: false }); + calciteDropdownSelect = createEvent({ cancelable: false }); // #endregion @@ -285,6 +285,7 @@ export class Dropdown } loaded(): void { + this.updateSelectedItems(); setComponentLoaded(this); connectFloatingUI(this, this.referenceEl, this.floatingEl); } diff --git a/packages/calcite-components/src/components/filter/filter.tsx b/packages/calcite-components/src/components/filter/filter.tsx index 362bb75e1e5..64199984c4b 100644 --- a/packages/calcite-components/src/components/filter/filter.tsx +++ b/packages/calcite-components/src/components/filter/filter.tsx @@ -47,6 +47,8 @@ export class Filter extends LitElement implements InteractiveComponent, Loadable private textInput = createRef(); + private _value = ""; + // #endregion // #region Public Properties @@ -93,7 +95,18 @@ export class Filter extends LitElement implements InteractiveComponent, Loadable @property({ reflect: true }) scale: Scale = "m"; /** The component's value. */ - @property() value = ""; + @property() + get value(): string { + return this._value; + } + + set value(value: string) { + const oldValue = this._value; + if (value !== oldValue) { + this._value = value; + this.valueHandler(value); + } + } // #endregion @@ -128,7 +141,7 @@ export class Filter extends LitElement implements InteractiveComponent, Loadable // #region Events /** Fires when the filter text changes. */ - calciteFilterChange = createEvent({ cancelable: false }); + calciteFilterChange = createEvent({ cancelable: false }); // #endregion @@ -158,10 +171,6 @@ export class Filter extends LitElement implements InteractiveComponent, Loadable if (changes.has("filterProps")) { this.filterPropsHandler(); } - - if (changes.has("value") && (this.hasUpdated || this.value !== "")) { - this.valueHandler(this.value); - } } override updated(): void { diff --git a/packages/calcite-components/src/components/flow-item/flow-item.tsx b/packages/calcite-components/src/components/flow-item/flow-item.tsx index 844124c84ca..6cedc07c92a 100644 --- a/packages/calcite-components/src/components/flow-item/flow-item.tsx +++ b/packages/calcite-components/src/components/flow-item/flow-item.tsx @@ -97,7 +97,7 @@ export class FlowItem extends LitElement implements InteractiveComponent, Loadab @property() heading: string; /** Specifies the heading level of the component's `heading` for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ type: Number, reflect: true }) headingLevel: HeadingLevel; /** When `true`, a busy indicator is displayed. */ @property({ reflect: true }) loading = false; @@ -181,16 +181,16 @@ export class FlowItem extends LitElement implements InteractiveComponent, Loadab // #region Events /** Fires when the back button is clicked. */ - calciteFlowItemBack = createEvent(); + calciteFlowItemBack = createEvent(); /** Fires when the close button is clicked. */ - calciteFlowItemClose = createEvent({ cancelable: false }); + calciteFlowItemClose = createEvent({ cancelable: false }); /** Fires when the content is scrolled. */ - calciteFlowItemScroll = createEvent({ cancelable: false }); + calciteFlowItemScroll = createEvent({ cancelable: false }); /** Fires when the collapse button is clicked. */ - calciteFlowItemToggle = createEvent({ cancelable: false }); + calciteFlowItemToggle = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/functional/Heading.spec.tsx b/packages/calcite-components/src/components/functional/Heading.spec.tsx index 67deb92b578..4da8c9dd0ab 100644 --- a/packages/calcite-components/src/components/functional/Heading.spec.tsx +++ b/packages/calcite-components/src/components/functional/Heading.spec.tsx @@ -1,4 +1,4 @@ -import { h, JsxNode } from "@arcgis/lumina"; +import { h } from "@arcgis/lumina"; import { describe, expect, it } from "vitest"; import { constrainHeadingLevel, Heading } from "./Heading"; @@ -12,56 +12,38 @@ describe("constrainHeadingLevel", () => { expect(constrainHeadingLevel(3.14)).toEqual(4); }); }); - -/** - * simple VNode assertion util to help get rid of newSpecPage usage - * - * @param vnode - * @param expected - * @param expected.tag - * @param expected.attrs - * @param expected.children - */ -function assertVNode( - vnode: JsxNode, - expected: { - tag: string; - attrs: Record; - children: (JsxNode | string)[]; - }, -) { - expect(vnode).toEqual( - expect.objectContaining({ - $tag$: expected.tag, - $attrs$: expect.objectContaining(expected.attrs), - $children$: expected.children.map((child) => - typeof child === "string" - ? expect.objectContaining({ $text$: child }) - : expect.objectContaining(child), - ), - }), - ); -} - describe("Heading", () => { it("should render", async () => { - assertVNode( + expect( My Heading , - { - tag: "h1", - attrs: { class: "test" }, - children: ["My Heading"], - }, + ).toEqual( + expect.objectContaining({ + values: [ + undefined, + { + _$litType$: 1, + strings: expect.arrayContaining(["

", "

"]), + values: ["test", "My Heading"], + }, + ], + }), ); }); it("should render a div", async () => { - assertVNode(My Heading, { - tag: "div", - attrs: { class: "test" }, - children: ["My Heading"], - }); + expect(My Heading).toEqual( + expect.objectContaining({ + values: [ + undefined, + { + _$litType$: 1, + strings: expect.arrayContaining(["
", "
"]), + values: ["test", "My Heading"], + }, + ], + }), + ); }); }); diff --git a/packages/calcite-components/src/components/handle/handle.tsx b/packages/calcite-components/src/components/handle/handle.tsx index 7a4c0b2f88f..d56b95c9064 100644 --- a/packages/calcite-components/src/components/handle/handle.tsx +++ b/packages/calcite-components/src/components/handle/handle.tsx @@ -70,7 +70,7 @@ export class Handle extends LitElement implements LoadableComponent, Interactive */ /** TODO: [MIGRATION] This component has been updated to use the useT9n() controller. Documentation: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-t9n-for-components--docs */ // eslint-disable-next-line @stencil-community/strict-mutable -- updated by t9n module - @property() messages = useT9n(); + @property() messages = useT9n({ blocking: true }); /** When `true`, the component is selected. */ @property({ reflect: true }) selected = false; @@ -104,7 +104,7 @@ export class Handle extends LitElement implements LoadableComponent, Interactive // #region Events /** Fires whenever the component is selected or unselected. */ - calciteHandleChange = createEvent({ cancelable: false }); + calciteHandleChange = createEvent({ cancelable: false }); /** Fires when the handle is selected and the up or down arrow key is pressed. */ calciteHandleNudge = createEvent({ cancelable: false }); @@ -137,8 +137,7 @@ export class Handle extends LitElement implements LoadableComponent, Interactive Please refactor your code to reduce the need for this check. Docs: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-lumina-transition-from-stencil--docs#watching-for-property-changes */ if ( - (changes.has("messages") && - (this.hasUpdated || this.messages !== useT9n())) || + changes.has("messages") || changes.has("label") || (changes.has("selected") && (this.hasUpdated || this.selected !== false)) || changes.has("setPosition") || diff --git a/packages/calcite-components/src/components/inline-editable/inline-editable.tsx b/packages/calcite-components/src/components/inline-editable/inline-editable.tsx index 191d201fe61..a72c45b1812 100644 --- a/packages/calcite-components/src/components/inline-editable/inline-editable.tsx +++ b/packages/calcite-components/src/components/inline-editable/inline-editable.tsx @@ -48,6 +48,8 @@ export class InlineEditable private confirmEditingButton = createRef(); + private _editingEnabled = false; + private enableEditingButton = createRef(); private inputElement: Input["el"]; @@ -76,7 +78,18 @@ export class InlineEditable @property({ reflect: true }) disabled = false; /** When `true`, inline editing is enabled on the component. */ - @property({ reflect: true }) editingEnabled = false; + @property({ reflect: true }) + get editingEnabled(): boolean { + return this._editingEnabled; + } + + set editingEnabled(editingEnabled: boolean) { + const oldEditingEnabled = this._editingEnabled; + if (editingEnabled !== oldEditingEnabled) { + this._editingEnabled = editingEnabled; + this.editingEnabledWatcher(editingEnabled, oldEditingEnabled); + } + } /** When `true`, a busy indicator is displayed. */ @property({ reflect: true }) loading = false; @@ -106,7 +119,7 @@ export class InlineEditable async setFocus(): Promise { await componentFocusable(this); - this.el?.focus(); + this.inputElement?.setFocus(); } // #endregion @@ -114,13 +127,13 @@ export class InlineEditable // #region Events /** Emits when the component's "cancel editing" button is pressed. */ - calciteInlineEditableEditCancel = createEvent({ cancelable: false }); + calciteInlineEditableEditCancel = createEvent({ cancelable: false }); /** Emits when the component's "confirm edits" button is pressed. */ - calciteInlineEditableEditConfirm = createEvent({ cancelable: false }); + calciteInlineEditableEditConfirm = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalInlineEditableEnableEditingChange = createEvent({ cancelable: false }); + calciteInternalInlineEditableEnableEditingChange = createEvent({ cancelable: false }); // #endregion @@ -152,10 +165,6 @@ export class InlineEditable if (changes.has("disabled") && (this.hasUpdated || this.disabled !== false)) { this.disabledWatcher(this.disabled); } - - if (changes.has("editingEnabled") && (this.hasUpdated || this.editingEnabled !== false)) { - this.editingEnabledWatcher(this.editingEnabled, changes.get("editingEnabled")); - } } override updated(): void { @@ -180,7 +189,7 @@ export class InlineEditable } } - private editingEnabledWatcher(newValue: boolean, oldValue?: boolean): void { + private editingEnabledWatcher(newValue: boolean, oldValue: boolean): void { if (this.inputElement) { this.inputElement.editingEnabled = newValue; } diff --git a/packages/calcite-components/src/components/input-date-picker/input-date-picker.e2e.ts b/packages/calcite-components/src/components/input-date-picker/input-date-picker.e2e.ts index 8d6c019254c..35f3ceb2e70 100644 --- a/packages/calcite-components/src/components/input-date-picker/input-date-picker.e2e.ts +++ b/packages/calcite-components/src/components/input-date-picker/input-date-picker.e2e.ts @@ -233,7 +233,8 @@ describe("calcite-input-date-picker", () => { const input = await page.find("calcite-input-date-picker"); const changeEvent = await page.spyOnEvent("calciteInputDatePickerChange"); - await input.click(); + const toggleIcon = await input.find(`>>> .${CSS.toggleIcon}`); + await toggleIcon.click(); await page.waitForChanges(); await page.waitForTimeout(animationDurationInMs); @@ -691,8 +692,8 @@ describe("calcite-input-date-picker", () => { const day = "19"; /* eslint-disable import/no-dynamic-require -- allowing dynamic asset path for maintainability */ - const langTranslations = await import(`../date-picker/assets/date-picker/nls/${lang}.json`); - const newLangTranslations = await import(`../date-picker/assets/date-picker/nls/${newLang}.json`); + const langTranslations = await import(`../date-picker/assets/nls/${lang}.json`); + const newLangTranslations = await import(`../date-picker/assets/nls/${newLang}.json`); /* eslint-enable import/no-dynamic-require */ const page = await newE2EPage(); @@ -887,12 +888,12 @@ describe("calcite-input-date-picker", () => { const element = await page.find("calcite-input-date-picker"); - element.setProperty("min", null); - element.setProperty("max", null); + element.setProperty("min", undefined); + element.setProperty("max", undefined); await page.waitForChanges(); - expect(await element.getProperty("minAsDate")).toBe(null); - expect(await element.getProperty("maxAsDate")).toBe(null); + expect(await element.getProperty("minAsDate")).toBe(undefined); + expect(await element.getProperty("maxAsDate")).toBe(undefined); }); describe("owns a floating-ui", () => { @@ -1275,7 +1276,8 @@ describe("calcite-input-date-picker", () => { const element = await page.find("calcite-input-date-picker"); const changeEvent = await page.spyOnEvent("calciteInputDatePickerChange"); - await element.click(); + const toggleIcon = await element.find(`>>> .${CSS.toggleIcon}`); + await toggleIcon.click(); await page.waitForChanges(); await page.keyboard.type("1/1/20"); await page.keyboard.press("Enter"); diff --git a/packages/calcite-components/src/components/input-date-picker/input-date-picker.tsx b/packages/calcite-components/src/components/input-date-picker/input-date-picker.tsx index a5c7640b9c3..ad71d12dcd7 100644 --- a/packages/calcite-components/src/components/input-date-picker/input-date-picker.tsx +++ b/packages/calcite-components/src/components/input-date-picker/input-date-picker.tsx @@ -155,6 +155,8 @@ export class InputDatePicker private userChangedValue = false; + private _value: string | string[] = ""; + private valueAsDateChangedExternally = false; // #endregion @@ -188,7 +190,7 @@ export class InputDatePicker @property({ reflect: true }) form: string; /** Specifies the heading level of the component's `heading` for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ type: Number, reflect: true }) headingLevel: HeadingLevel; /** Defines the layout of the component. */ @property({ reflect: true }) layout: "horizontal" | "vertical" = "horizontal"; @@ -303,7 +305,18 @@ export class InputDatePicker }; /** Selected date as a string in ISO format (`"yyyy-mm-dd"`). */ - @property() value: string | string[] = ""; + @property() + get value(): string | string[] { + return this._value; + } + + set value(value: string | string[]) { + const oldValue = this._value; + if (value !== oldValue) { + this._value = value; + this.valueWatcher(value); + } + } /** The component's value as a full date object. */ @property() valueAsDate: Date | Date[]; @@ -348,19 +361,19 @@ export class InputDatePicker // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calciteInputDatePickerBeforeClose = createEvent({ cancelable: false }); + calciteInputDatePickerBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteInputDatePickerBeforeOpen = createEvent({ cancelable: false }); + calciteInputDatePickerBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component's `value` changes. */ - calciteInputDatePickerChange = createEvent({ cancelable: false }); + calciteInputDatePickerChange = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calciteInputDatePickerClose = createEvent({ cancelable: false }); + calciteInputDatePickerClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteInputDatePickerOpen = createEvent({ cancelable: false }); + calciteInputDatePickerOpen = createEvent({ cancelable: false }); // #endregion @@ -371,6 +384,7 @@ export class InputDatePicker this.listen("calciteDaySelect", this.calciteDaySelectHandler); this.listen("blur", this.blurHandler); this.listen("keydown", this.keyDownHandler); + this.handleDateTimeFormatChange(); } override connectedCallback(): void { @@ -412,7 +426,7 @@ export class InputDatePicker numberStringFormatter.numberFormatOptions = { numberingSystem: this.numberingSystem, - locale: this.messages._t9nLocale, + locale: this.messages._lang, useGrouping: false, }; @@ -453,10 +467,6 @@ export class InputDatePicker this.handleDisabledAndReadOnlyChange(this.readOnly); } - if (changes.has("value") && (this.hasUpdated || this.value !== "")) { - this.valueWatcher(this.value); - } - if (changes.has("valueAsDate")) { this.valueAsDateWatcher(this.valueAsDate); } @@ -642,7 +652,7 @@ export class InputDatePicker }; this.dateTimeFormat = new Intl.DateTimeFormat( - getDateFormatSupportedLocale(this.messages._t9nLocale), + getDateFormatSupportedLocale(this.messages._lang), formattingOptions, ); } @@ -853,10 +863,10 @@ export class InputDatePicker } numberStringFormatter.numberFormatOptions = { numberingSystem: this.numberingSystem, - locale: this.messages._t9nLocale, + locale: this.messages._lang, useGrouping: false, }; - this.localeData = await getLocaleData(this.messages._t9nLocale); + this.localeData = await getLocaleData(this.messages._lang); this.localizeInputValues(); } @@ -1064,7 +1074,7 @@ export class InputDatePicker override render(): JsxNode { const { disabled, - messages: { _t9nLocale: effectiveLocale }, + messages: { _lang: effectiveLocale }, messages, numberingSystem, readOnly, diff --git a/packages/calcite-components/src/components/input-number/input-number.tsx b/packages/calcite-components/src/components/input-number/input-number.tsx index da1674eb82f..d3a720d3254 100644 --- a/packages/calcite-components/src/components/input-number/input-number.tsx +++ b/packages/calcite-components/src/components/input-number/input-number.tsx @@ -142,6 +142,8 @@ export class InputNumber private userChangedValue = false; + private _value = ""; + // #endregion // #region State Properties @@ -373,7 +375,24 @@ export class InputNumber }; /** The component's value. */ - @property() value = ""; + @property() + get value(): string { + return this._value; + } + + set value(value: string) { + const oldValue = this._value; + if (value !== oldValue) { + this._value = value; + this.valueWatcher(value, oldValue); + if (value && this._value === "") { + this.setNumberValue({ + origin: "reset", + value: oldValue, + }); + } + } + } // #endregion @@ -398,16 +417,16 @@ export class InputNumber // #region Events /** Fires each time a new value is typed and committed. */ - calciteInputNumberChange = createEvent({ cancelable: false }); + calciteInputNumberChange = createEvent({ cancelable: false }); /** Fires each time a new value is typed. */ - calciteInputNumberInput = createEvent(); + calciteInputNumberInput = createEvent(); /** @notPublic */ - calciteInternalInputNumberBlur = createEvent({ cancelable: false }); + calciteInternalInputNumberBlur = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalInputNumberFocus = createEvent({ cancelable: false }); + calciteInternalInputNumberFocus = createEvent({ cancelable: false }); // #endregion @@ -453,41 +472,12 @@ export class InputNumber } } - /** - * TODO: [MIGRATION] consider whether in this case migrating to `hasChanged()` parameter on `@property()` decorator would be better than using shouldUpdate - * https://lit.dev/docs/components/properties/#haschanged - * Otherwise, you should simplify the code inserted by the codemod a bit (merge shouldUpdate and _shouldUpdate into one method) - * - * @param changes - */ - override shouldUpdate(changes: Map): boolean { - return [...changes.entries()].some(([property, oldValue]) => - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - this._shouldUpdate((this as any)[property], oldValue, property), - ); - } - - _shouldUpdate(newValue: string, oldValue: string, property: string): boolean { - if (property === "value" && newValue && !isValidNumber(newValue)) { - this.setNumberValue({ - origin: "reset", - value: oldValue, - }); - return false; - } - return true; - } - /** * TODO: [MIGRATION] Consider inlining some of the watch functions called inside of this method to reduce boilerplate code * * @param changes */ override willUpdate(changes: PropertyValues): void { - /* TODO: [MIGRATION] First time Lit calls willUpdate(), changes will include not just properties provided by the user, but also any default values your component set. - To account for this semantics change, the checks for (this.hasUpdated || value != defaultValue) was added in this method - Please refactor your code to reduce the need for this check. - Docs: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-lumina-transition-from-stencil--docs#watching-for-property-changes */ if (changes.has("autofocus")) { this.handleGlobalAttributesChanged(); } @@ -500,16 +490,12 @@ export class InputNumber this.minWatcher(); } - if (changes.has("value") && (this.hasUpdated || this.value !== "")) { - this.valueWatcher(this.value, changes.get("value")); - } - if (changes.has("icon")) { this.updateRequestedIcon(); } if (changes.has("messages")) { - this.effectiveLocaleWatcher(this.messages._t9nLocale); + this.effectiveLocaleWatcher(this.messages._lang); } } @@ -550,7 +536,7 @@ export class InputNumber this.minString = this.min?.toString() || null; } - private valueWatcher(newValue: string, previousValue?: string): void { + private valueWatcher(newValue: string, previousValue: string): void { if (!this.userChangedValue) { if (newValue === "Infinity" || newValue === "-Infinity") { this.displayedValue = newValue; @@ -702,7 +688,7 @@ export class InputNumber const value = (nativeEvent.target as HTMLInputElement).value; numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, }; @@ -774,7 +760,7 @@ export class InputNumber } numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, }; @@ -899,7 +885,7 @@ export class InputNumber value: string; }): void { numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, }; diff --git a/packages/calcite-components/src/components/input-text/input-text.tsx b/packages/calcite-components/src/components/input-text/input-text.tsx index 674712bd6e7..e9bc19a770d 100644 --- a/packages/calcite-components/src/components/input-text/input-text.tsx +++ b/packages/calcite-components/src/components/input-text/input-text.tsx @@ -122,6 +122,8 @@ export class InputText private userChangedValue = false; + private _value = ""; + // #endregion // #region State Properties @@ -317,7 +319,18 @@ export class InputText }; /** The component's value. */ - @property() value = ""; + @property() + get value(): string { + return this._value; + } + + set value(value: string) { + const oldValue = this._value; + if (value !== oldValue) { + this._value = value; + this.valueWatcher(value, oldValue); + } + } // #endregion @@ -342,10 +355,10 @@ export class InputText // #region Events /** Fires each time a new value is typed and committed. */ - calciteInputTextChange = createEvent(); + calciteInputTextChange = createEvent(); /** Fires each time a new value is typed. */ - calciteInputTextInput = createEvent(); + calciteInputTextInput = createEvent(); /** @notPublic */ calciteInternalInputTextBlur = createEvent<{ element: HTMLInputElement; value: string }>(); @@ -393,18 +406,10 @@ export class InputText * @param changes */ override willUpdate(changes: PropertyValues): void { - /* TODO: [MIGRATION] First time Lit calls willUpdate(), changes will include not just properties provided by the user, but also any default values your component set. - To account for this semantics change, the checks for (this.hasUpdated || value != defaultValue) was added in this method - Please refactor your code to reduce the need for this check. - Docs: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-lumina-transition-from-stencil--docs#watching-for-property-changes */ if (changes.has("autofocus")) { this.handleGlobalAttributesChanged(); } - if (changes.has("value") && (this.hasUpdated || this.value !== "")) { - this.valueWatcher(this.value, changes.get("value")); - } - if (changes.has("icon")) { this.updateRequestedIcon(); } @@ -435,7 +440,7 @@ export class InputText this.requestUpdate(); } - private valueWatcher(newValue: string, previousValue?: string): void { + private valueWatcher(newValue: string, previousValue: string): void { if (!this.userChangedValue) { this.setValue({ origin: "direct", diff --git a/packages/calcite-components/src/components/input-time-picker/input-time-picker.tsx b/packages/calcite-components/src/components/input-time-picker/input-time-picker.tsx index 41d2b5a50e3..242a5536bb3 100644 --- a/packages/calcite-components/src/components/input-time-picker/input-time-picker.tsx +++ b/packages/calcite-components/src/components/input-time-picker/input-time-picker.tsx @@ -1,4 +1,3 @@ -import { FocusTrap } from "focus-trap"; import dayjs from "dayjs/esm"; import customParseFormat from "dayjs/esm/plugin/customParseFormat"; import localeData from "dayjs/esm/plugin/localeData"; @@ -39,12 +38,6 @@ import { setUpLoadableComponent, } from "../../utils/loadable"; import { NumberingSystem, numberStringFormatter, SupportedLocale } from "../../utils/locale"; -import { - activateFocusTrap, - connectFocusTrap, - deactivateFocusTrap, - FocusTrapComponent, -} from "../../utils/focusTrapComponent"; import { formatTimePart, formatTimeString, @@ -148,7 +141,6 @@ export class InputTimePicker extends LitElement implements FloatingUIComponent, - FocusTrapComponent, FormComponent, InteractiveComponent, LabelableComponent, @@ -168,10 +160,6 @@ export class InputTimePicker defaultValue: InputTimePicker["value"]; - private focusOnOpen = false; - - focusTrap: FocusTrap; - formEl: HTMLFormElement; labelEl: Label["el"]; @@ -183,6 +171,8 @@ export class InputTimePicker /** whether the value of the input was changed as a result of user typing or not */ private userChangedValue = false; + private _value = null; + // #endregion // #region State Properties @@ -304,7 +294,18 @@ export class InputTimePicker }; /** The time value in ISO (24-hour) format. */ - @property() value: string = null; + @property() + get value(): string { + return this._value; + } + + set value(value: string) { + const oldValue = this._value; + if (value !== oldValue) { + this._value = value; + this.valueWatcher(value); + } + } // #endregion @@ -332,19 +333,19 @@ export class InputTimePicker // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calciteInputTimePickerBeforeClose = createEvent({ cancelable: false }); + calciteInputTimePickerBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteInputTimePickerBeforeOpen = createEvent({ cancelable: false }); + calciteInputTimePickerBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component's `value` is changes. */ - calciteInputTimePickerChange = createEvent(); + calciteInputTimePickerChange = createEvent(); /** Fires when the component is closed and animation is complete. */ - calciteInputTimePickerClose = createEvent({ cancelable: false }); + calciteInputTimePickerClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteInputTimePickerOpen = createEvent({ cancelable: false }); + calciteInputTimePickerOpen = createEvent({ cancelable: false }); // #endregion @@ -386,10 +387,6 @@ export class InputTimePicker this.openHandler(); } - if (changes.has("focusTrapDisabled") && (this.hasUpdated || this.focusTrapDisabled !== false)) { - this.handleFocusTrapDisabled(this.focusTrapDisabled); - } - if (changes.has("disabled") && (this.hasUpdated || this.disabled !== false)) { this.handleDisabledAndReadOnlyChange(this.disabled); } @@ -406,12 +403,8 @@ export class InputTimePicker this.stepWatcher(this.step, changes.get("step")); } - if (changes.has("value") && (this.hasUpdated || this.value !== null)) { - this.valueWatcher(this.value); - } - if (changes.has("messages")) { - this.effectiveLocaleWatcher(this.messages._t9nLocale); + this.effectiveLocaleWatcher(this.messages._lang); } } @@ -425,7 +418,7 @@ export class InputTimePicker this.setInputValue( localizeTimeString({ value: this.value, - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, includeSeconds: this.shouldIncludeSeconds(), fractionalSecondDigits: decimalPlaces(this.step) as FractionalSecondDigits, @@ -437,7 +430,6 @@ export class InputTimePicker override disconnectedCallback(): void { disconnectLabel(this); disconnectForm(this); - deactivateFocusTrap(this); } // #endregion @@ -454,14 +446,6 @@ export class InputTimePicker this.popoverEl.open = this.open; } - private handleFocusTrapDisabled(focusTrapDisabled: boolean): void { - if (!this.open) { - return; - } - - focusTrapDisabled ? deactivateFocusTrap(this) : activateFocusTrap(this); - } - private handleDisabledAndReadOnlyChange(value: boolean): void { if (!value) { this.open = false; @@ -472,7 +456,7 @@ export class InputTimePicker this.setInputValue( localizeTimeString({ value: this.value, - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem, includeSeconds: this.shouldIncludeSeconds(), fractionalSecondDigits: decimalPlaces(this.step) as FractionalSecondDigits, @@ -525,7 +509,7 @@ export class InputTimePicker const localizedTimeString = localizeTimeString({ value: this.value, - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, includeSeconds: this.shouldIncludeSeconds(), fractionalSecondDigits: decimalPlaces(this.step) as FractionalSecondDigits, @@ -546,7 +530,7 @@ export class InputTimePicker private calciteInternalInputInputHandler(event: CustomEvent): void { const { - messages: { _t9nLocale: locale }, + messages: { _lang: locale }, numberingSystem, } = this; @@ -582,7 +566,7 @@ export class InputTimePicker this.setInputValue( localizeTimeString({ value, - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, includeSeconds, fractionalSecondDigits: decimalPlaces(this.step) as FractionalSecondDigits, @@ -598,15 +582,6 @@ export class InputTimePicker private popoverOpenHandler(event: CustomEvent): void { event.stopPropagation(); this.calciteInputTimePickerOpen.emit(); - - activateFocusTrap(this, { - onActivate: () => { - if (this.focusOnOpen) { - this.calciteTimePickerEl.setFocus(); - this.focusOnOpen = false; - } - }, - }); } private popoverBeforeCloseHandler(event: CustomEvent): void { @@ -617,13 +592,6 @@ export class InputTimePicker private popoverCloseHandler(event: CustomEvent): void { event.stopPropagation(); this.calciteInputTimePickerClose.emit(); - - deactivateFocusTrap(this, { - onDeactivate: () => { - this.calciteInputEl.setFocus(); - this.focusOnOpen = false; - }, - }); this.open = false; } @@ -633,7 +601,7 @@ export class InputTimePicker private delocalizeTimeString(value: string): string { // we need to set the corresponding locale before parsing, otherwise it defaults to English (possible dayjs bug) - dayjs.locale(this.messages._t9nLocale.toLowerCase()); + dayjs.locale(this.messages._lang.toLowerCase()); const nonFractionalSecondParts = this.delocalizeTimeStringToParts(value); @@ -697,7 +665,7 @@ export class InputTimePicker } dayjs.updateLocale( - this.getSupportedDayjsLocale(getSupportedLocale(this.messages._t9nLocale)), + this.getSupportedDayjsLocale(getSupportedLocale(this.messages._lang)), this.localeConfig as Record, ); @@ -761,7 +729,7 @@ export class InputTimePicker const localizedTimeString = localizeTimeString({ value: this.value, - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, includeSeconds: this.shouldIncludeSeconds(), fractionalSecondDigits: decimalPlaces(this.step) as FractionalSecondDigits, @@ -773,12 +741,7 @@ export class InputTimePicker } } else if (key === "ArrowDown") { this.open = true; - this.focusOnOpen = true; event.preventDefault(); - } else if (key === "Escape" && this.open) { - this.open = false; - event.preventDefault(); - this.calciteInputEl.setFocus(); } } @@ -794,7 +757,7 @@ export class InputTimePicker } private async loadDateTimeLocaleData(): Promise { - let supportedLocale = getSupportedLocale(this.messages._t9nLocale).toLowerCase(); + let supportedLocale = getSupportedLocale(this.messages._lang).toLowerCase(); supportedLocale = this.getSupportedDayjsLocale(supportedLocale); @@ -905,13 +868,6 @@ export class InputTimePicker private setCalciteTimePickerEl(el: TimePicker["el"]): void { this.calciteTimePickerEl = el; - connectFocusTrap(this, { - focusTrapEl: el, - focusTrapOptions: { - initialFocus: false, - setReturnFocus: false, - }, - }); } private setInputValue(newInputValue: string): void { @@ -946,7 +902,7 @@ export class InputTimePicker this.setInputValue( localizeTimeString({ value: oldValue, - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, includeSeconds: this.shouldIncludeSeconds(), fractionalSecondDigits: decimalPlaces(this.step) as FractionalSecondDigits, @@ -969,7 +925,7 @@ export class InputTimePicker ? localizeTimeString({ value: this.value, includeSeconds, - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, fractionalSecondDigits: decimalPlaces(this.step) as FractionalSecondDigits, }) @@ -1002,7 +958,7 @@ export class InputTimePicker disabled={disabled} icon="clock" label={getLabelText(this)} - lang={this.messages._t9nLocale} + lang={this.messages._lang} oncalciteInputTextInput={this.calciteInternalInputInputHandler} oncalciteInternalInputTextFocus={this.calciteInternalInputFocusHandler} readOnly={readOnly} @@ -1016,9 +972,9 @@ export class InputTimePicker ({ cancelable: false }); + calciteInputTimeZoneBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteInputTimeZoneBeforeOpen = createEvent({ cancelable: false }); + calciteInputTimeZoneBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component's `value` changes. */ - calciteInputTimeZoneChange = createEvent({ cancelable: false }); + calciteInputTimeZoneChange = createEvent({ cancelable: false }); /** Fires after the component is closed and animation is complete. */ - calciteInputTimeZoneClose = createEvent({ cancelable: false }); + calciteInputTimeZoneClose = createEvent({ cancelable: false }); /** Fires after the component is opened and animation is complete. */ - calciteInputTimeZoneOpen = createEvent({ cancelable: false }); + calciteInputTimeZoneOpen = createEvent({ cancelable: false }); // #endregion @@ -288,8 +301,7 @@ export class InputTimeZone Please refactor your code to reduce the need for this check. Docs: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-lumina-transition-from-stencil--docs#watching-for-property-changes */ if ( - (changes.has("messages") && - (this.hasUpdated || this.messages !== useT9n({ blocking: true }))) || + changes.has("messages") || (changes.has("mode") && (this.hasUpdated || this.mode !== "offset")) || changes.has("referenceDate") ) { @@ -299,10 +311,6 @@ export class InputTimeZone if (changes.has("open") && (this.hasUpdated || this.open !== false)) { this.openChanged(); } - - if (changes.has("value")) { - this.handleValueChange(this.value, changes.get("value")); - } } override updated(): void { @@ -335,20 +343,22 @@ export class InputTimeZone private openChanged(): void { // we set the property instead of the attribute to ensure open/close events are emitted properly - this.comboboxEl.open = this.open; + if (this.comboboxEl) { + this.comboboxEl.open = this.open; + } } - private handleValueChange(value: string, oldValue?: string): void { + private handleValueChange(value: string, oldValue: string): void { value = this.normalizeValue(value); if (!value) { if (this.clearable) { - this.value = value; + this._value = value; this.selectedTimeZoneItem = null; return; } - this.value = oldValue; + this._value = oldValue; this.selectedTimeZoneItem = this.findTimeZoneItem(oldValue); return; } @@ -356,7 +366,7 @@ export class InputTimeZone const timeZoneItem = this.findTimeZoneItem(value); if (!timeZoneItem) { - this.value = oldValue; + this._value = oldValue; return; } @@ -464,12 +474,12 @@ export class InputTimeZone } private async createTimeZoneItems(): Promise { - if (!this.messages._t9nLocale || !this.messages) { + if (!this.messages._lang || !this.messages) { return []; } return createTimeZoneItems( - this.messages._t9nLocale, + this.messages._lang, this.messages, this.mode, this.referenceDate instanceof Date @@ -480,7 +490,7 @@ export class InputTimeZone } private normalizeValue(value: string | null): string { - value = value === null ? "" : value; + value = value === undefined ? "" : value; return value ? this.normalizer(value) : value; } @@ -496,7 +506,7 @@ export class InputTimeZone clearDisabled={!this.clearable} disabled={this.disabled} label={this.messages.chooseTimeZone} - lang={this.messages._t9nLocale} + lang={this.messages._lang} maxItems={this.maxItems} oncalciteComboboxBeforeClose={this.onComboboxBeforeClose} oncalciteComboboxBeforeOpen={this.onComboboxBeforeOpen} diff --git a/packages/calcite-components/src/components/input/input.tsx b/packages/calcite-components/src/components/input/input.tsx index 59a9a9ec1d2..486e51bd89f 100644 --- a/packages/calcite-components/src/components/input/input.tsx +++ b/packages/calcite-components/src/components/input/input.tsx @@ -11,15 +11,9 @@ import { JsxNode, LuminaJsx, stringOrBoolean, - live, } from "@arcgis/lumina"; import { useWatchAttributes } from "@arcgis/components-controllers"; -import { - getElementDir, - isPrimaryPointerButton, - setRequestedIcon, - toAriaBoolean, -} from "../../utils/dom"; +import { getElementDir, isPrimaryPointerButton, setRequestedIcon } from "../../utils/dom"; import { Scale, Status, Alignment } from "../interfaces"; import { connectForm, @@ -83,6 +77,8 @@ export class Input { // #region Static Members + static override shadowRootOptions = { mode: "open" as const, delegatesFocus: true }; + static override styles = styles; // #endregion @@ -155,7 +151,7 @@ export class Input private userChangedValue = false; - _value = ""; + private _value = ""; // #endregion @@ -441,10 +437,16 @@ export class Input } set value(value: string) { - const currentValue = value; - if (value !== currentValue) { + const oldValue = this._value; + if (value !== oldValue) { this._value = value; - this.valueWatcher(value, currentValue); + this.valueWatcher(value, oldValue); + if (value && this._value === "") { + this.setValue({ + origin: "reset", + value: oldValue, + }); + } } } @@ -479,16 +481,16 @@ export class Input // #region Events /** Fires each time a new `value` is typed and committed. */ - calciteInputChange = createEvent({ cancelable: false }); + calciteInputChange = createEvent({ cancelable: false }); /** Fires each time a new `value` is typed. */ - calciteInputInput = createEvent(); + calciteInputInput = createEvent(); /** @notPublic */ - calciteInternalInputBlur = createEvent({ cancelable: false }); + calciteInternalInputBlur = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalInputFocus = createEvent({ cancelable: false }); + calciteInternalInputFocus = createEvent({ cancelable: false }); // #endregion @@ -536,28 +538,6 @@ export class Input } } - /** - * TODO: [MIGRATION] consider whether in this case migrating to `hasChanged()` parameter on `@property()` decorator would be better than using shouldUpdate - * https://lit.dev/docs/components/properties/#haschanged - * Otherwise, you should simplify the code inserted by the codemod a bit (merge shouldUpdate and _shouldUpdate into one method) - * - * @param changes - */ - override shouldUpdate(changes: Map): boolean { - if ( - changes.has("value") && - this.type === "number" && - this.value && - !isValidNumber(this.value) - ) { - this.setValue({ - origin: "reset", - value: changes.get("value"), - }); - } - return true; - } - /** * TODO: [MIGRATION] Consider inlining some of the watch functions called inside of this method to reduce boilerplate code * @@ -792,7 +772,7 @@ export class Input const value = (nativeEvent.target as HTMLInputElement).value; numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, }; @@ -860,7 +840,7 @@ export class Input return; } numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, }; @@ -949,13 +929,11 @@ export class Input } private setInputValue(newInputValue: string): void { - if (this.type === "text" && !this.childEl) { - return; - } - if (this.type === "number" && !this.childNumberEl) { - return; + if (this.type === "number" && this.childNumberEl) { + this.childNumberEl.value = newInputValue; + } else if (this.childEl) { + this.childEl.value = newInputValue; } - this[`child${this.type === "number" ? "Number" : ""}El`].value = newInputValue; } private setPreviousEmittedValue(value: string): void { @@ -988,7 +966,7 @@ export class Input if (this.type === "number") { numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, signDisplay: "never", @@ -1176,7 +1154,7 @@ export class Input readOnly={this.readOnly} ref={this.setChildNumberElRef} type="text" - value={live(this.displayedValue)} + value={this.displayedValue} /> ) : null; const DynamicHtmlTag = @@ -1190,8 +1168,8 @@ export class Input ({ cancelable: false }); + calciteInternalListItemGroupDefaultSlotChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/list-item/list-item.tsx b/packages/calcite-components/src/components/list-item/list-item.tsx index 6b0cc0e550e..71d9f8c4051 100644 --- a/packages/calcite-components/src/components/list-item/list-item.tsx +++ b/packages/calcite-components/src/components/list-item/list-item.tsx @@ -240,25 +240,25 @@ export class ListItem * * @notPublic */ - calciteInternalFocusPreviousItem = createEvent({ cancelable: false }); + calciteInternalFocusPreviousItem = createEvent({ cancelable: false }); /** * * @notPublic */ - calciteInternalListItemActive = createEvent({ cancelable: false }); + calciteInternalListItemActive = createEvent({ cancelable: false }); /** * * @notPublic */ - calciteInternalListItemChange = createEvent({ cancelable: false }); + calciteInternalListItemChange = createEvent({ cancelable: false }); /** * * @notPublic */ - calciteInternalListItemSelect = createEvent({ cancelable: false }); + calciteInternalListItemSelect = createEvent({ cancelable: false }); /** * @@ -272,19 +272,19 @@ export class ListItem * * @notPublic */ - calciteInternalListItemToggle = createEvent({ cancelable: false }); + calciteInternalListItemToggle = createEvent({ cancelable: false }); /** Fires when the close button is clicked. */ - calciteListItemClose = createEvent({ cancelable: false }); + calciteListItemClose = createEvent({ cancelable: false }); /** Fires when the drag handle is selected. */ - calciteListItemDragHandleChange = createEvent({ cancelable: false }); + calciteListItemDragHandleChange = createEvent({ cancelable: false }); /** Fires when the component is selected. */ - calciteListItemSelect = createEvent({ cancelable: false }); + calciteListItemSelect = createEvent({ cancelable: false }); /** Fires when the open button is clicked. */ - calciteListItemToggle = createEvent({ cancelable: false }); + calciteListItemToggle = createEvent({ cancelable: false }); // #endregion @@ -352,8 +352,6 @@ export class ListItem setComponentLoaded(this); } - override disconnectedCallback(): void {} - // #endregion // #region Private Methods diff --git a/packages/calcite-components/src/components/list/list.tsx b/packages/calcite-components/src/components/list/list.tsx index 25592fdfe40..9f1e945e30d 100755 --- a/packages/calcite-components/src/components/list/list.tsx +++ b/packages/calcite-components/src/components/list/list.tsx @@ -210,7 +210,7 @@ export class List */ /** TODO: [MIGRATION] This component has been updated to use the useT9n() controller. Documentation: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-t9n-for-components--docs */ // eslint-disable-next-line @stencil-community/strict-mutable -- updated by t9n module - @property() messages = useT9n(); + @property() messages = useT9n({ blocking: true }); /** Specifies the Unicode numeral system used by the component for localization. */ @property() numberingSystem: NumberingSystem; @@ -273,10 +273,10 @@ export class List // #region Events /** Fires when the default slot has changes in order to notify parent lists. */ - calciteInternalListDefaultSlotChange = createEvent({ cancelable: false }); + calciteInternalListDefaultSlotChange = createEvent({ cancelable: false }); /** Fires when the component's selected items have changed. */ - calciteListChange = createEvent({ cancelable: false }); + calciteListChange = createEvent({ cancelable: false }); /** Fires when the component's dragging has ended. */ calciteListDragEnd = createEvent({ cancelable: false }); @@ -285,7 +285,7 @@ export class List calciteListDragStart = createEvent({ cancelable: false }); /** Fires when the component's filter has changed. */ - calciteListFilter = createEvent({ cancelable: false }); + calciteListFilter = createEvent({ cancelable: false }); /** Fires when the component's item order changes. */ calciteListOrderChange = createEvent({ cancelable: false }); @@ -933,7 +933,7 @@ export class List messages, filteredItems, parentListEl, - messages: { _t9nLocale: effectiveLocale }, + messages: { _lang: effectiveLocale }, numberingSystem, filterEnabled, filterText, diff --git a/packages/calcite-components/src/components/loader/loader.tsx b/packages/calcite-components/src/components/loader/loader.tsx index 08cc33486da..8d6a9116616 100644 --- a/packages/calcite-components/src/components/loader/loader.tsx +++ b/packages/calcite-components/src/components/loader/loader.tsx @@ -146,12 +146,12 @@ export class Loader extends LitElement { private updateFormatter(): void { if ( this.type !== "determinate-value" || - this.formatter?.resolvedOptions().locale === this.messages._t9nLocale + this.formatter?.resolvedOptions().locale === this.messages._lang ) { return; } - this.formatter = new Intl.NumberFormat(this.messages._t9nLocale, { + this.formatter = new Intl.NumberFormat(this.messages._lang, { style: "percent", }); } diff --git a/packages/calcite-components/src/components/menu-item/menu-item.tsx b/packages/calcite-components/src/components/menu-item/menu-item.tsx index 7805d8509bf..3de0ed8729d 100644 --- a/packages/calcite-components/src/components/menu-item/menu-item.tsx +++ b/packages/calcite-components/src/components/menu-item/menu-item.tsx @@ -38,6 +38,8 @@ type Layout = "horizontal" | "vertical"; export class CalciteMenuItem extends LitElement implements LoadableComponent { // #region Static Members + static override shadowRootOptions = { mode: "open" as const, delegatesFocus: true }; + static override styles = styles; // #endregion @@ -150,7 +152,7 @@ export class CalciteMenuItem extends LitElement implements LoadableComponent { calciteInternalMenuItemKeyEvent = createEvent(); /** Emits when the component is selected. */ - calciteMenuItemSelect = createEvent(); + calciteMenuItemSelect = createEvent(); // #endregion @@ -164,8 +166,6 @@ export class CalciteMenuItem extends LitElement implements LoadableComponent { this.listen("focus", this.focusHandler); } - override connectedCallback(): void {} - async load(): Promise { setUpLoadableComponent(this); } @@ -174,8 +174,6 @@ export class CalciteMenuItem extends LitElement implements LoadableComponent { setComponentLoaded(this); } - override disconnectedCallback(): void {} - // #endregion // #region Private Methods diff --git a/packages/calcite-components/src/components/menu/menu.tsx b/packages/calcite-components/src/components/menu/menu.tsx index dac7ce0e8f2..38027410b9d 100644 --- a/packages/calcite-components/src/components/menu/menu.tsx +++ b/packages/calcite-components/src/components/menu/menu.tsx @@ -77,7 +77,7 @@ export class CalciteMenu extends LitElement implements LoadableComponent { @method() async setFocus(): Promise { await componentFocusable(this); - this.el.focus(); + this.menuItems[0]?.focus(); } // #endregion @@ -89,8 +89,6 @@ export class CalciteMenu extends LitElement implements LoadableComponent { this.listen("calciteInternalMenuItemKeyEvent", this.calciteInternalNavMenuItemKeyEvent); } - override connectedCallback(): void {} - async load(): Promise { setUpLoadableComponent(this); } @@ -114,8 +112,6 @@ export class CalciteMenu extends LitElement implements LoadableComponent { setComponentLoaded(this); } - override disconnectedCallback(): void {} - // #endregion // #region Private Methods diff --git a/packages/calcite-components/src/components/meter/meter.tsx b/packages/calcite-components/src/components/meter/meter.tsx index d9c33dffe6b..8f6c19933af 100644 --- a/packages/calcite-components/src/components/meter/meter.tsx +++ b/packages/calcite-components/src/components/meter/meter.tsx @@ -279,7 +279,7 @@ export class Meter extends LitElement implements FormComponent, LoadableComponen private formatLabel(value: number, labelType: MeterLabelType): string { if (labelType === "percent") { if (!this.percentFormatting) { - const locale = getSupportedLocale(this.messages._t9nLocale); + const locale = getSupportedLocale(this.messages._lang); const formatter = new Intl.NumberFormat(locale, { useGrouping: this.groupSeparator, style: "percent", @@ -289,7 +289,7 @@ export class Meter extends LitElement implements FormComponent, LoadableComponen return this.percentFormatting.formatter.format(value); } else { numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, }; diff --git a/packages/calcite-components/src/components/modal/modal.tsx b/packages/calcite-components/src/components/modal/modal.tsx index 40028385c8d..a881f222aae 100644 --- a/packages/calcite-components/src/components/modal/modal.tsx +++ b/packages/calcite-components/src/components/modal/modal.tsx @@ -95,6 +95,8 @@ export class Modal this.updateFocusTrapElements(), ); + private _open = false; + private openEnd = (): void => { this.setFocus(); this.el.removeEventListener( @@ -183,7 +185,18 @@ export class Modal @property() messages = useT9n(); /** When `true`, displays and positions the component. */ - @property({ reflect: true }) open = false; + @property({ reflect: true }) + get open(): boolean { + return this._open; + } + + set open(open: boolean) { + const oldOpen = this._open; + if (open !== oldOpen) { + this._open = open; + this.toggleModal(open); + } + } /** * We use an internal property to handle styles for when a modal is actually opened, not just when the open attribute is applied. This is a property because we need to apply styles to the host element and to keep the styles present while beforeClose is. @@ -241,16 +254,16 @@ export class Modal // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calciteModalBeforeClose = createEvent({ cancelable: false }); + calciteModalBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteModalBeforeOpen = createEvent({ cancelable: false }); + calciteModalBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calciteModalClose = createEvent({ cancelable: false }); + calciteModalClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteModalOpen = createEvent({ cancelable: false }); + calciteModalOpen = createEvent({ cancelable: false }); // #endregion @@ -298,10 +311,6 @@ export class Modal this.handleHasFooterChange(); } - if (changes.has("open") && (this.hasUpdated || this.open !== false)) { - this.toggleModal(this.open); - } - if (changes.has("opened") && (this.hasUpdated || this.opened !== false)) { this.handleOpenedChange(this.opened); } diff --git a/packages/calcite-components/src/components/navigation-logo/navigation-logo.tsx b/packages/calcite-components/src/components/navigation-logo/navigation-logo.tsx index 16dbfbac30b..00375ea2919 100644 --- a/packages/calcite-components/src/components/navigation-logo/navigation-logo.tsx +++ b/packages/calcite-components/src/components/navigation-logo/navigation-logo.tsx @@ -37,7 +37,7 @@ export class CalciteNavigationLogo extends LitElement implements LoadableCompone @property() heading: string; /** Specifies the heading level of the component's heading for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ type: Number, reflect: true }) headingLevel: HeadingLevel; /** Specifies the URL destination of the component, which can be set as an absolute or relative path. */ @property({ reflect: true }) href: string; diff --git a/packages/calcite-components/src/components/navigation-user/navigation-user.e2e.ts b/packages/calcite-components/src/components/navigation-user/navigation-user.e2e.ts index a59045796e0..0d01a791a01 100644 --- a/packages/calcite-components/src/components/navigation-user/navigation-user.e2e.ts +++ b/packages/calcite-components/src/components/navigation-user/navigation-user.e2e.ts @@ -23,7 +23,7 @@ describe("calcite-navigation-user", () => { }, { propertyName: "textDisabled", - value: "", + value: true, }, ]); }); diff --git a/packages/calcite-components/src/components/navigation/navigation.e2e.ts b/packages/calcite-components/src/components/navigation/navigation.e2e.ts index cec9571c890..600c2230868 100755 --- a/packages/calcite-components/src/components/navigation/navigation.e2e.ts +++ b/packages/calcite-components/src/components/navigation/navigation.e2e.ts @@ -16,7 +16,7 @@ describe("calcite-navigation", () => { reflects("calcite-navigation", [ { propertyName: "navigationAction", - value: "", + value: true, }, ]); }); diff --git a/packages/calcite-components/src/components/navigation/navigation.tsx b/packages/calcite-components/src/components/navigation/navigation.tsx index e4a08e5c60c..91904a5ca86 100644 --- a/packages/calcite-components/src/components/navigation/navigation.tsx +++ b/packages/calcite-components/src/components/navigation/navigation.tsx @@ -96,7 +96,7 @@ export class CalciteNavigation extends LitElement implements LoadableComponent { // #region Events /** When `navigationAction` is `true`, emits when the displayed action selection changes. */ - calciteNavigationActionSelect = createEvent({ cancelable: false }); + calciteNavigationActionSelect = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/notice/notice.tsx b/packages/calcite-components/src/components/notice/notice.tsx index 73c29bd2531..1141bb860ec 100644 --- a/packages/calcite-components/src/components/notice/notice.tsx +++ b/packages/calcite-components/src/components/notice/notice.tsx @@ -137,16 +137,16 @@ export class Notice extends LitElement implements LoadableComponent, OpenCloseCo // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calciteNoticeBeforeClose = createEvent({ cancelable: false }); + calciteNoticeBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteNoticeBeforeOpen = createEvent({ cancelable: false }); + calciteNoticeBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calciteNoticeClose = createEvent({ cancelable: false }); + calciteNoticeClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteNoticeOpen = createEvent({ cancelable: false }); + calciteNoticeOpen = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/option-group/option-group.tsx b/packages/calcite-components/src/components/option-group/option-group.tsx index 51c81d06854..2556fd13b0c 100644 --- a/packages/calcite-components/src/components/option-group/option-group.tsx +++ b/packages/calcite-components/src/components/option-group/option-group.tsx @@ -38,7 +38,7 @@ export class OptionGroup extends LitElement { /** @notPublic */ - private calciteInternalOptionGroupChange = createEvent({ cancelable: false }); + private calciteInternalOptionGroupChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/option/option.tsx b/packages/calcite-components/src/components/option/option.tsx index 89c317a2669..defb23aec68 100644 --- a/packages/calcite-components/src/components/option/option.tsx +++ b/packages/calcite-components/src/components/option/option.tsx @@ -55,7 +55,7 @@ export class Option extends LitElement { /** @notPublic */ - private calciteInternalOptionChange = createEvent({ cancelable: false }); + private calciteInternalOptionChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/pagination/pagination.tsx b/packages/calcite-components/src/components/pagination/pagination.tsx index 6418bd7450b..ad2a0ff7b67 100644 --- a/packages/calcite-components/src/components/pagination/pagination.tsx +++ b/packages/calcite-components/src/components/pagination/pagination.tsx @@ -158,7 +158,7 @@ export class Pagination extends LitElement implements LoadableComponent { // #region Events /** Emits when the selected page changes. */ - calcitePaginationChange = createEvent({ cancelable: false }); + calcitePaginationChange = createEvent({ cancelable: false }); // #endregion @@ -234,7 +234,7 @@ export class Pagination extends LitElement implements LoadableComponent { private effectiveLocaleChange(): void { numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, }; @@ -410,7 +410,7 @@ export class Pagination extends LitElement implements LoadableComponent { const page = Math.floor(start / pageSize) + (pageSize === 1 ? 0 : 1); numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, }; diff --git a/packages/calcite-components/src/components/panel/panel.tsx b/packages/calcite-components/src/components/panel/panel.tsx index cc5576f96d5..87311abe949 100644 --- a/packages/calcite-components/src/components/panel/panel.tsx +++ b/packages/calcite-components/src/components/panel/panel.tsx @@ -139,7 +139,7 @@ export class Panel extends LitElement implements InteractiveComponent, LoadableC @property() heading: string; /** Specifies the heading level of the component's `heading` for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ type: Number, reflect: true }) headingLevel: HeadingLevel; /** When `true`, a busy indicator is displayed. */ @property({ reflect: true }) loading = false; @@ -211,13 +211,13 @@ export class Panel extends LitElement implements InteractiveComponent, LoadableC // #region Events /** Fires when the close button is clicked. */ - calcitePanelClose = createEvent({ cancelable: false }); + calcitePanelClose = createEvent({ cancelable: false }); /** Fires when the content is scrolled. */ - calcitePanelScroll = createEvent({ cancelable: false }); + calcitePanelScroll = createEvent({ cancelable: false }); /** Fires when the collapse button is clicked. */ - calcitePanelToggle = createEvent({ cancelable: false }); + calcitePanelToggle = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/pick-list-group/pick-list-group.tsx b/packages/calcite-components/src/components/pick-list-group/pick-list-group.tsx index 42d5dc3ed2b..f36a6215525 100644 --- a/packages/calcite-components/src/components/pick-list-group/pick-list-group.tsx +++ b/packages/calcite-components/src/components/pick-list-group/pick-list-group.tsx @@ -39,7 +39,7 @@ export class PickListGroup extends LitElement implements ConditionalSlotComponen @property({ reflect: true }) groupTitle: string; /** Specifies the heading level of the component's `heading` for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ type: Number, reflect: true }) headingLevel: HeadingLevel; // #endregion diff --git a/packages/calcite-components/src/components/pick-list-item/pick-list-item.e2e.ts b/packages/calcite-components/src/components/pick-list-item/pick-list-item.e2e.ts index ed57194edca..05a30778809 100644 --- a/packages/calcite-components/src/components/pick-list-item/pick-list-item.e2e.ts +++ b/packages/calcite-components/src/components/pick-list-item/pick-list-item.e2e.ts @@ -10,7 +10,7 @@ describe("calcite-pick-list-item", () => { }); describe("honors hidden attribute", () => { - hidden("calcite-list-item"); + hidden("calcite-pick-list-item"); }); // eslint-disable-next-line jest/no-disabled-tests diff --git a/packages/calcite-components/src/components/pick-list-item/pick-list-item.tsx b/packages/calcite-components/src/components/pick-list-item/pick-list-item.tsx index a249865ce77..3ddce6eb5ff 100644 --- a/packages/calcite-components/src/components/pick-list-item/pick-list-item.tsx +++ b/packages/calcite-components/src/components/pick-list-item/pick-list-item.tsx @@ -156,7 +156,7 @@ export class PickListItem * * @notPublic */ - calciteInternalListItemPropsChange = createEvent({ cancelable: false }); + calciteInternalListItemPropsChange = createEvent({ cancelable: false }); /** * Emits when the component's value property is modified. @@ -177,7 +177,7 @@ export class PickListItem }>({ cancelable: false }); /** Fires when the remove button is pressed. */ - calciteListItemRemove = createEvent(); + calciteListItemRemove = createEvent(); // #endregion diff --git a/packages/calcite-components/src/components/pick-list/pick-list.tsx b/packages/calcite-components/src/components/pick-list/pick-list.tsx index ccc9c6427c0..f5fdf22b4d7 100644 --- a/packages/calcite-components/src/components/pick-list/pick-list.tsx +++ b/packages/calcite-components/src/components/pick-list/pick-list.tsx @@ -139,7 +139,7 @@ export class PickList>({ cancelable: false }); /** Emits when a filter has changed. */ - calciteListFilter = createEvent({ cancelable: false }); + calciteListFilter = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/popover/popover.tsx b/packages/calcite-components/src/components/popover/popover.tsx index 18e9a828c22..286f1a73cd0 100644 --- a/packages/calcite-components/src/components/popover/popover.tsx +++ b/packages/calcite-components/src/components/popover/popover.tsx @@ -125,7 +125,7 @@ export class Popover @property() heading: string; /** Specifies the heading level of the component's `heading` for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ type: Number, reflect: true }) headingLevel: HeadingLevel; /** * Accessible name for the component. @@ -154,7 +154,7 @@ export class Popover * * @default 6 */ - @property({ reflect: true }) offsetDistance = defaultOffsetDistance; + @property({ type: Number, reflect: true }) offsetDistance = defaultOffsetDistance; /** Offsets the position of the component along the `referenceElement`. */ @property({ reflect: true }) offsetSkidding = 0; @@ -255,16 +255,16 @@ export class Popover // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calcitePopoverBeforeClose = createEvent({ cancelable: false }); + calcitePopoverBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calcitePopoverBeforeOpen = createEvent({ cancelable: false }); + calcitePopoverBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calcitePopoverClose = createEvent({ cancelable: false }); + calcitePopoverClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calcitePopoverOpen = createEvent({ cancelable: false }); + calcitePopoverOpen = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/radio-button-group/radio-button-group.tsx b/packages/calcite-components/src/components/radio-button-group/radio-button-group.tsx index bd330d6b2d8..7a2d93e3b4f 100644 --- a/packages/calcite-components/src/components/radio-button-group/radio-button-group.tsx +++ b/packages/calcite-components/src/components/radio-button-group/radio-button-group.tsx @@ -120,7 +120,7 @@ export class RadioButtonGroup extends LitElement implements LoadableComponent { // #region Events /** Fires when the component has changed. */ - calciteRadioButtonGroupChange = createEvent({ cancelable: false }); + calciteRadioButtonGroupChange = createEvent({ cancelable: false }); // #endregion @@ -164,6 +164,7 @@ export class RadioButtonGroup extends LitElement implements LoadableComponent { } loaded(): void { + this.passPropsToRadioButtons(); setComponentLoaded(this); } diff --git a/packages/calcite-components/src/components/radio-button/radio-button.tsx b/packages/calcite-components/src/components/radio-button/radio-button.tsx index 95e07da3352..8402c248168 100644 --- a/packages/calcite-components/src/components/radio-button/radio-button.tsx +++ b/packages/calcite-components/src/components/radio-button/radio-button.tsx @@ -160,7 +160,7 @@ export class RadioButton * * @notPublic */ - calciteInternalRadioButtonBlur = createEvent({ cancelable: false }); + calciteInternalRadioButtonBlur = createEvent({ cancelable: false }); /** * Fires when the checked property changes. This is an internal event used for styling purposes only. @@ -168,14 +168,14 @@ export class RadioButton * * @notPublic */ - calciteInternalRadioButtonCheckedChange = createEvent({ cancelable: false }); + calciteInternalRadioButtonCheckedChange = createEvent({ cancelable: false }); /** * Fires when the radio button is focused. * * @notPublic */ - calciteInternalRadioButtonFocus = createEvent({ cancelable: false }); + calciteInternalRadioButtonFocus = createEvent({ cancelable: false }); /** * Fires only when the radio button is checked. This behavior is identical to the native HTML input element. @@ -183,7 +183,7 @@ export class RadioButton * directly on the element, but instead either attach it to a node that contains all of the radio buttons in the group * or use the `calciteRadioButtonGroupChange` event if using this with `calcite-radio-button-group`. */ - calciteRadioButtonChange = createEvent({ cancelable: false }); + calciteRadioButtonChange = createEvent({ cancelable: false }); // #endregion @@ -206,6 +206,7 @@ export class RadioButton connectLabel(this); connectForm(this); this.updateTabIndexOfOtherRadioButtonsInGroup(); + super.connectedCallback(); } load(): void { @@ -396,7 +397,7 @@ export class RadioButton (radioButton) => radioButton.guid !== this.guid && !radioButton.disabled, ); otherFocusableRadioButtons.forEach((radioButton) => { - radioButton.manager.component.requestUpdate(); + radioButton.manager?.component.requestUpdate(); }); } diff --git a/packages/calcite-components/src/components/rating/rating.e2e.ts b/packages/calcite-components/src/components/rating/rating.e2e.ts index f27e9deef9f..3ba69e28c8a 100644 --- a/packages/calcite-components/src/components/rating/rating.e2e.ts +++ b/packages/calcite-components/src/components/rating/rating.e2e.ts @@ -400,7 +400,7 @@ describe("calcite-rating", () => { expect(labels[4]).not.toHaveClass("partial"); }); - it("should update the ui of the rating when a hover event triggers on a rating label", async () => { + it("should update the UI of the rating when a hover event triggers on a rating label", async () => { const page = await newE2EPage(); await page.setContent(""); const element = await page.find("calcite-rating"); diff --git a/packages/calcite-components/src/components/rating/rating.tsx b/packages/calcite-components/src/components/rating/rating.tsx index 520c3265de0..f0cb8b9f7a8 100644 --- a/packages/calcite-components/src/components/rating/rating.tsx +++ b/packages/calcite-components/src/components/rating/rating.tsx @@ -1,4 +1,3 @@ -import { PropertyValues } from "lit"; import { LitElement, property, createEvent, h, method, state, JsxNode } from "@arcgis/lumina"; import { connectForm, disconnectForm, FormComponent, HiddenFormInputSlot } from "../../utils/form"; import { guid } from "../../utils/guid"; @@ -59,6 +58,8 @@ export class Rating private starsMap: Star[]; + private _value = 0; + // #endregion // #region State Properties @@ -96,7 +97,7 @@ export class Rating */ /** TODO: [MIGRATION] This component has been updated to use the useT9n() controller. Documentation: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-t9n-for-components--docs */ // eslint-disable-next-line @stencil-community/strict-mutable -- updated by t9n module - @property() messages = useT9n(); + @property() messages = useT9n({ blocking: true }); /** * Specifies the name of the component. @@ -122,7 +123,20 @@ export class Rating @property({ reflect: true }) showChip = false; /** The component's value. */ - @property({ reflect: true }) value = 0; + @property({ reflect: true }) + get value(): number { + return this._value; + } + + set value(value: number) { + const oldValue = this._value; + if (value !== oldValue) { + this._value = value; + if (this.hasUpdated) { + this.handleValueUpdate(value); + } + } + } // #endregion @@ -140,7 +154,7 @@ export class Rating // #region Events /** Fires when the component's value changes. */ - calciteRatingChange = createEvent({ cancelable: false }); + calciteRatingChange = createEvent({ cancelable: false }); // #endregion @@ -160,22 +174,10 @@ export class Rating async load(): Promise { setUpLoadableComponent(this); + this.requestUpdate("value"); } - /** - * TODO: [MIGRATION] Consider inlining some of the watch functions called inside of this method to reduce boilerplate code - * - * @param changes - */ - override willUpdate(changes: PropertyValues): void { - /* TODO: [MIGRATION] First time Lit calls willUpdate(), changes will include not just properties provided by the user, but also any default values your component set. - To account for this semantics change, the checks for (this.hasUpdated || value != defaultValue) was added in this method - Please refactor your code to reduce the need for this check. - Docs: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-lumina-transition-from-stencil--docs#watching-for-property-changes */ - if (changes.has("value") && (this.hasUpdated || this.value !== 0)) { - this.handleValueUpdate(this.value); - } - + override willUpdate(): void { this.starsMap = Array.from({ length: this.max }, (_, i) => { const value = i + 1; const average = !this.hoverValue && this.average && !this.value && value <= this.average; @@ -205,6 +207,7 @@ export class Rating } loaded(): void { + this.labelElements = this.renderRoot.querySelectorAll("label"); setComponentLoaded(this); } @@ -322,10 +325,6 @@ export class Rating return 0; } - private setLabelEl(el: HTMLLabelElement): void { - this.labelElements.push(el); - } - private getValueFromLabelEvent(event: FocusEvent | PointerEvent | KeyboardEvent): number { const target = event.currentTarget as HTMLLabelElement; return Number(target.getAttribute("data-value")); @@ -367,7 +366,6 @@ export class Rating onKeyDown={this.handleLabelKeyDown} onPointerDown={this.handleLabelPointerDown} onPointerOver={this.handleLabelPointerOver} - ref={this.setLabelEl} tabIndex={tabIndex} > ({ cancelable: false }); + calciteInternalSegmentedControlItemChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/segmented-control/segmented-control.tsx b/packages/calcite-components/src/components/segmented-control/segmented-control.tsx index e8f358a0a1a..6dcd19d26e7 100644 --- a/packages/calcite-components/src/components/segmented-control/segmented-control.tsx +++ b/packages/calcite-components/src/components/segmented-control/segmented-control.tsx @@ -164,7 +164,7 @@ export class SegmentedControl // #region Events /** Fires when the `calcite-segmented-control-item` selection changes. */ - calciteSegmentedControlChange = createEvent({ cancelable: false }); + calciteSegmentedControlChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/select/select.tsx b/packages/calcite-components/src/components/select/select.tsx index a022a75051a..df8fd97ceef 100644 --- a/packages/calcite-components/src/components/select/select.tsx +++ b/packages/calcite-components/src/components/select/select.tsx @@ -64,6 +64,8 @@ export class Select { // #region Static Members + static override shadowRootOptions = { mode: "open" as const, delegatesFocus: true }; + static override styles = styles; // #endregion @@ -180,7 +182,7 @@ export class Select // #region Events /** Fires when the `selectedOption` changes. */ - calciteSelectChange = createEvent({ cancelable: false }); + calciteSelectChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/sheet/sheet.tsx b/packages/calcite-components/src/components/sheet/sheet.tsx index af00de89eb7..fd0e197e50d 100644 --- a/packages/calcite-components/src/components/sheet/sheet.tsx +++ b/packages/calcite-components/src/components/sheet/sheet.tsx @@ -61,6 +61,8 @@ export class Sheet this.handleMutationObserver(), ); + private _open = false; + private openEnd = (): void => { this.setFocus(); this.el.removeEventListener( @@ -117,7 +119,18 @@ export class Sheet @property() label: string; /** When `true`, displays and positions the component. */ - @property({ reflect: true }) open = false; + @property({ reflect: true }) + get open(): boolean { + return this._open; + } + + set open(open: boolean) { + const oldOpen = this._open; + if (open !== oldOpen) { + this._open = open; + this.toggleSheet(open); + } + } /** * We use an internal property to handle styles for when a modal is actually opened, not just when the open attribute is applied. This is a property because we need to apply styles to the host element and to keep the styles present while beforeClose is . @@ -157,16 +170,16 @@ export class Sheet // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calciteSheetBeforeClose = createEvent({ cancelable: false }); + calciteSheetBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteSheetBeforeOpen = createEvent({ cancelable: false }); + calciteSheetBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calciteSheetClose = createEvent({ cancelable: false }); + calciteSheetClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteSheetOpen = createEvent({ cancelable: false }); + calciteSheetOpen = createEvent({ cancelable: false }); // #endregion @@ -204,10 +217,6 @@ export class Sheet this.handleFocusTrapDisabled(this.focusTrapDisabled); } - if (changes.has("open") && (this.hasUpdated || this.open !== false)) { - this.toggleSheet(this.open); - } - if (changes.has("opened") && (this.hasUpdated || this.opened !== false)) { this.handleOpenedChange(); } diff --git a/packages/calcite-components/src/components/shell-center-row/shell-center-row.tsx b/packages/calcite-components/src/components/shell-center-row/shell-center-row.tsx index dabdd45ec50..e63f14b6899 100644 --- a/packages/calcite-components/src/components/shell-center-row/shell-center-row.tsx +++ b/packages/calcite-components/src/components/shell-center-row/shell-center-row.tsx @@ -41,6 +41,16 @@ export class ShellCenterRow extends LitElement { // #endregion + // #region Lifecycle + + loaded(): void { + if (this.actionBar?.position === "end") { + this.requestUpdate(); + } + } + + // #endregion + // #region Private Methods private handleActionBarSlotChange(event: Event): void { diff --git a/packages/calcite-components/src/components/shell-panel/shell-panel.e2e.ts b/packages/calcite-components/src/components/shell-panel/shell-panel.e2e.ts index 122797f1941..709023d8a6f 100644 --- a/packages/calcite-components/src/components/shell-panel/shell-panel.e2e.ts +++ b/packages/calcite-components/src/components/shell-panel/shell-panel.e2e.ts @@ -120,7 +120,7 @@ describe("calcite-shell-panel", () => { "calcite-shell-panel", (panel: ShellPanel["el"], containerClass: string, contentClass: string) => { const container = panel.shadowRoot.querySelector(containerClass); - return container.firstElementChild.className == contentClass; + return container.firstElementChild.classList.contains(contentClass); }, `.${CSS.container}`, CSS.content, diff --git a/packages/calcite-components/src/components/shell-panel/shell-panel.tsx b/packages/calcite-components/src/components/shell-panel/shell-panel.tsx index b936c4f6227..9aaef7cb626 100755 --- a/packages/calcite-components/src/components/shell-panel/shell-panel.tsx +++ b/packages/calcite-components/src/components/shell-panel/shell-panel.tsx @@ -220,10 +220,10 @@ export class ShellPanel extends LitElement { // #region Events /** @notPublic */ - calciteInternalShellPanelResizeEnd = createEvent({ cancelable: false }); + calciteInternalShellPanelResizeEnd = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalShellPanelResizeStart = createEvent({ cancelable: false }); + calciteInternalShellPanelResizeStart = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/slider/slider.tsx b/packages/calcite-components/src/components/slider/slider.tsx index dc301d9a518..dc3442ee225 100644 --- a/packages/calcite-components/src/components/slider/slider.tsx +++ b/packages/calcite-components/src/components/slider/slider.tsx @@ -131,7 +131,7 @@ export class Slider */ private formatValue = (value: number): string => { numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, }; @@ -283,7 +283,7 @@ export class Slider @property({ reflect: true }) ticks: number; /** The component's value. */ - @property({ reflect: true }) value: null | number | number[] = 0; + @property({ type: Number, reflect: true }) value: null | number | number[] = 0; // #endregion @@ -308,7 +308,7 @@ export class Slider * Note: To constantly listen to the drag event, * use `calciteSliderInput` instead. */ - calciteSliderChange = createEvent({ cancelable: false }); + calciteSliderChange = createEvent({ cancelable: false }); /** * Fires on all updates to the component. @@ -317,7 +317,7 @@ export class Slider * expensive operations consider using a debounce or throttle to avoid * locking up the main thread. */ - calciteSliderInput = createEvent({ cancelable: false }); + calciteSliderInput = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/sortable-list/sortable-list.tsx b/packages/calcite-components/src/components/sortable-list/sortable-list.tsx index 813920d25ff..6f90f3435df 100644 --- a/packages/calcite-components/src/components/sortable-list/sortable-list.tsx +++ b/packages/calcite-components/src/components/sortable-list/sortable-list.tsx @@ -82,7 +82,7 @@ export class SortableList extends LitElement implements InteractiveComponent, So // #region Events /** Emitted when the order of the list has changed. */ - calciteListOrderChange = createEvent({ cancelable: false }); + calciteListOrderChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/split-button/split-button.tsx b/packages/calcite-components/src/components/split-button/split-button.tsx index d555d82d18d..b20082bfa8d 100644 --- a/packages/calcite-components/src/components/split-button/split-button.tsx +++ b/packages/calcite-components/src/components/split-button/split-button.tsx @@ -135,10 +135,10 @@ export class SplitButton extends LitElement implements InteractiveComponent, Loa // #region Events /** Fires when the primary button is clicked. */ - calciteSplitButtonPrimaryClick = createEvent({ cancelable: false }); + calciteSplitButtonPrimaryClick = createEvent({ cancelable: false }); /** Fires when the dropdown menu is clicked. */ - calciteSplitButtonSecondaryClick = createEvent({ cancelable: false }); + calciteSplitButtonSecondaryClick = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/stepper-item/stepper-item.tsx b/packages/calcite-components/src/components/stepper-item/stepper-item.tsx index eb20510cc5e..e9821defd7b 100644 --- a/packages/calcite-components/src/components/stepper-item/stepper-item.tsx +++ b/packages/calcite-components/src/components/stepper-item/stepper-item.tsx @@ -159,7 +159,7 @@ export class StepperItem extends LitElement implements InteractiveComponent, Loa calciteInternalStepperItemSelect = createEvent({ cancelable: false }); /** Fires when the active `calcite-stepper-item` changes. */ - calciteStepperItemSelect = createEvent({ cancelable: false }); + calciteStepperItemSelect = createEvent({ cancelable: false }); // #endregion @@ -208,7 +208,7 @@ export class StepperItem extends LitElement implements InteractiveComponent, Loa } if (changes.has("messages")) { - this.effectiveLocaleWatcher(this.messages._t9nLocale); + this.effectiveLocaleWatcher(this.messages._lang); } } @@ -383,7 +383,7 @@ export class StepperItem extends LitElement implements InteractiveComponent, Loa private renderNumbers(): string { numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: false, }; diff --git a/packages/calcite-components/src/components/stepper/stepper.tsx b/packages/calcite-components/src/components/stepper/stepper.tsx index 076f4c1a0c8..5906ca306bc 100644 --- a/packages/calcite-components/src/components/stepper/stepper.tsx +++ b/packages/calcite-components/src/components/stepper/stepper.tsx @@ -174,14 +174,14 @@ export class Stepper extends LitElement { }); /** Fires when the active `calcite-stepper-item` changes. */ - calciteStepperChange = createEvent({ cancelable: false }); + calciteStepperChange = createEvent({ cancelable: false }); /** * Fires when the active `calcite-stepper-item` changes. * * @deprecated use `calciteStepperChange` instead or `calciteStepperItemChange` on items instead. */ - calciteStepperItemChange = createEvent({ cancelable: false }); + calciteStepperItemChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/switch/switch.tsx b/packages/calcite-components/src/components/switch/switch.tsx index 1c2a4d60512..7959c443561 100644 --- a/packages/calcite-components/src/components/switch/switch.tsx +++ b/packages/calcite-components/src/components/switch/switch.tsx @@ -102,7 +102,7 @@ export class Switch // #region Events /** Fires when the `checked` value has changed. */ - calciteSwitchChange = createEvent({ cancelable: false }); + calciteSwitchChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/tab-nav/tab-nav.tsx b/packages/calcite-components/src/components/tab-nav/tab-nav.tsx index ca0893fb348..271ea3a28c9 100644 --- a/packages/calcite-components/src/components/tab-nav/tab-nav.tsx +++ b/packages/calcite-components/src/components/tab-nav/tab-nav.tsx @@ -142,7 +142,7 @@ export class TabNav extends LitElement { calciteInternalTabNavSlotChange = createEvent(); /** Emits when the selected `calcite-tab` changes. */ - calciteTabChange = createEvent({ cancelable: false }); + calciteTabChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/tab-title/tab-title.tsx b/packages/calcite-components/src/components/tab-title/tab-title.tsx index a22b3d5410b..76a4d1a01da 100644 --- a/packages/calcite-components/src/components/tab-title/tab-title.tsx +++ b/packages/calcite-components/src/components/tab-title/tab-title.tsx @@ -196,7 +196,7 @@ export class TabTitle extends LitElement implements InteractiveComponent { // #region Events /** @notPublic */ - calciteInternalTabIconChanged = createEvent({ cancelable: false }); + calciteInternalTabIconChanged = createEvent({ cancelable: false }); /** @notPublic */ calciteInternalTabTitleRegister = createEvent({ cancelable: false }); @@ -218,22 +218,22 @@ export class TabTitle extends LitElement implements InteractiveComponent { calciteInternalTabsClose = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalTabsFocusFirst = createEvent({ cancelable: false }); + calciteInternalTabsFocusFirst = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalTabsFocusLast = createEvent({ cancelable: false }); + calciteInternalTabsFocusLast = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalTabsFocusNext = createEvent({ cancelable: false }); + calciteInternalTabsFocusNext = createEvent({ cancelable: false }); /** @notPublic */ - calciteInternalTabsFocusPrevious = createEvent({ cancelable: false }); + calciteInternalTabsFocusPrevious = createEvent({ cancelable: false }); /** Fires when a `calcite-tab` is selected. */ - calciteTabsActivate = createEvent({ cancelable: false }); + calciteTabsActivate = createEvent({ cancelable: false }); /** Fires when a `calcite-tab` is closed. */ - calciteTabsClose = createEvent({ cancelable: false }); + calciteTabsClose = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/table-row/table-row.tsx b/packages/calcite-components/src/components/table-row/table-row.tsx index 7d0de199d85..ec99234bd3f 100644 --- a/packages/calcite-components/src/components/table-row/table-row.tsx +++ b/packages/calcite-components/src/components/table-row/table-row.tsx @@ -103,7 +103,7 @@ export class TableRow extends LitElement implements InteractiveComponent { calciteInternalTableRowFocusRequest = createEvent({ cancelable: false }); /** Fires when the selected state of the component changes. */ - calciteTableRowSelect = createEvent({ cancelable: false }); + calciteTableRowSelect = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/table/table.tsx b/packages/calcite-components/src/components/table/table.tsx index db7145d94af..66bf6a1f129 100644 --- a/packages/calcite-components/src/components/table/table.tsx +++ b/packages/calcite-components/src/components/table/table.tsx @@ -166,10 +166,10 @@ export class Table extends LitElement implements LoadableComponent { calciteInternalTableRowFocusChange = createEvent({ cancelable: false }); /** Emits when the component's page selection changes. */ - calciteTablePageChange = createEvent({ cancelable: false }); + calciteTablePageChange = createEvent({ cancelable: false }); /** Emits when the component's selected rows change. */ - calciteTableSelect = createEvent({ cancelable: false }); + calciteTableSelect = createEvent({ cancelable: false }); // #endregion @@ -394,7 +394,7 @@ export class Table extends LitElement implements LoadableComponent { private localizeNumber(value: number | string): string { numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, useGrouping: this.groupSeparator, }; diff --git a/packages/calcite-components/src/components/text-area/text-area.tsx b/packages/calcite-components/src/components/text-area/text-area.tsx index 027cfaf2ec2..376629ed933 100644 --- a/packages/calcite-components/src/components/text-area/text-area.tsx +++ b/packages/calcite-components/src/components/text-area/text-area.tsx @@ -298,10 +298,10 @@ export class TextArea // #region Events /** Fires each time a new `value` is typed and committed. */ - calciteTextAreaChange = createEvent(); + calciteTextAreaChange = createEvent(); /** Fires each time a new `value` is typed. */ - calciteTextAreaInput = createEvent(); + calciteTextAreaInput = createEvent(); // #endregion @@ -371,7 +371,7 @@ export class TextArea } numberStringFormatter.numberFormatOptions = { - locale: this.messages._t9nLocale, + locale: this.messages._lang, numberingSystem: this.numberingSystem, signDisplay: "never", useGrouping: this.groupSeparator, @@ -392,6 +392,9 @@ export class TextArea } private setTextAreaEl(el: HTMLTextAreaElement): void { + if (!el) { + return; + } this.textAreaEl = el; this.resizeObserver.observe(el); } diff --git a/packages/calcite-components/src/components/tile-group/tile-group.tsx b/packages/calcite-components/src/components/tile-group/tile-group.tsx index 6731e94a918..269a4b9a16a 100644 --- a/packages/calcite-components/src/components/tile-group/tile-group.tsx +++ b/packages/calcite-components/src/components/tile-group/tile-group.tsx @@ -100,7 +100,7 @@ export class TileGroup // #region Events /** Fires when the component's selection changes. */ - calciteTileGroupSelect = createEvent({ cancelable: false }); + calciteTileGroupSelect = createEvent({ cancelable: false }); // #endregion @@ -144,6 +144,10 @@ export class TileGroup updateHostInteraction(this); } + loaded(): void { + this.updateSelectedItems(); + } + override disconnectedCallback(): void { this.mutationObserver?.disconnect(); } diff --git a/packages/calcite-components/src/components/tile-select/tile-select.tsx b/packages/calcite-components/src/components/tile-select/tile-select.tsx index 6a6b35c02bf..70d00f25173 100644 --- a/packages/calcite-components/src/components/tile-select/tile-select.tsx +++ b/packages/calcite-components/src/components/tile-select/tile-select.tsx @@ -126,7 +126,7 @@ export class TileSelect extends LitElement implements InteractiveComponent, Load * * For radios it only emits when checked. */ - calciteTileSelectChange = createEvent({ cancelable: false }); + calciteTileSelectChange = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/tile/tile.tsx b/packages/calcite-components/src/components/tile/tile.tsx index 0e91bd80e26..fd136dcd3fb 100644 --- a/packages/calcite-components/src/components/tile/tile.tsx +++ b/packages/calcite-components/src/components/tile/tile.tsx @@ -168,7 +168,7 @@ export class Tile extends LitElement implements InteractiveComponent, Selectable calciteInternalTileKeyEvent = createEvent({ cancelable: false }); /** Fires when the selected state of the component changes. */ - calciteTileSelect = createEvent(); + calciteTileSelect = createEvent(); // #endregion diff --git a/packages/calcite-components/src/components/time-picker/time-picker.e2e.ts b/packages/calcite-components/src/components/time-picker/time-picker.e2e.ts index 17ffbc6b206..d5b5008f99d 100644 --- a/packages/calcite-components/src/components/time-picker/time-picker.e2e.ts +++ b/packages/calcite-components/src/components/time-picker/time-picker.e2e.ts @@ -843,7 +843,7 @@ describe("calcite-time-picker", () => { await page.keyboard.press("Delete"); await page.waitForChanges(); - expect(await timePicker.getProperty("value")).toBeNull(); + expect(await timePicker.getProperty("value")).toBeUndefined(); expect(hour.textContent).toBe("--"); expect(minute.textContent).toBe("--"); expect(second.textContent).toBe("--"); @@ -1215,7 +1215,7 @@ describe("calcite-time-picker", () => { await page.mouse.click(buttonUpLocationX, buttonUpLocationY); await page.waitForChanges(); const fractionalSecondEl = await page.find(`calcite-time-picker >>> .input.fractionalSecond`); - expect(fractionalSecondEl.innerHTML).toEqual("0"); + expect(fractionalSecondEl.textContent).toEqual("0"); }); it("upward nudge of empty fractional second sets to 00 for step=0.01", async () => { @@ -1229,7 +1229,7 @@ describe("calcite-time-picker", () => { await page.mouse.click(buttonUpLocationX, buttonUpLocationY); await page.waitForChanges(); const fractionalSecondEl = await page.find(`calcite-time-picker >>> .input.fractionalSecond`); - expect(fractionalSecondEl.innerHTML).toEqual("00"); + expect(fractionalSecondEl.textContent).toEqual("00"); }); it("upward nudge of empty fractional second sets to 000 for step=0.001", async () => { @@ -1243,7 +1243,7 @@ describe("calcite-time-picker", () => { await page.mouse.click(buttonUpLocationX, buttonUpLocationY); await page.waitForChanges(); const fractionalSecondEl = await page.find(`calcite-time-picker >>> .input.fractionalSecond`); - expect(fractionalSecondEl.innerHTML).toEqual("000"); + expect(fractionalSecondEl.textContent).toEqual("000"); }); }); }); diff --git a/packages/calcite-components/src/components/time-picker/time-picker.tsx b/packages/calcite-components/src/components/time-picker/time-picker.tsx index ae993cfb09c..7d7d3f2325a 100644 --- a/packages/calcite-components/src/components/time-picker/time-picker.tsx +++ b/packages/calcite-components/src/components/time-picker/time-picker.tsx @@ -155,7 +155,7 @@ export class TimePicker extends LitElement implements LoadableComponent { // #region Events /** @notPublic */ - calciteInternalTimePickerChange = createEvent({ cancelable: false }); + calciteInternalTimePickerChange = createEvent({ cancelable: false }); // #endregion @@ -708,7 +708,7 @@ export class TimePicker extends LitElement implements LoadableComponent { if (isValidTime(value)) { const { hour, minute, second, fractionalSecond } = parseTimeString(value); const { - messages: { _t9nLocale: locale }, + messages: { _lang: locale }, numberingSystem, } = this; const { @@ -744,25 +744,25 @@ export class TimePicker extends LitElement implements LoadableComponent { this.localizedHour = null; this.localizedHourSuffix = getLocalizedTimePartSuffix( "hour", - this.messages._t9nLocale, + this.messages._lang, this.numberingSystem, ); this.localizedMeridiem = null; this.localizedMinute = null; this.localizedMinuteSuffix = getLocalizedTimePartSuffix( "minute", - this.messages._t9nLocale, + this.messages._lang, this.numberingSystem, ); this.localizedSecond = null; this.localizedDecimalSeparator = getLocalizedDecimalSeparator( - this.messages._t9nLocale, + this.messages._lang, this.numberingSystem, ); this.localizedFractionalSecond = null; this.localizedSecondSuffix = getLocalizedTimePartSuffix( "second", - this.messages._t9nLocale, + this.messages._lang, this.numberingSystem, ); this.meridiem = null; @@ -777,7 +777,7 @@ export class TimePicker extends LitElement implements LoadableComponent { value: number | string | Meridiem, ): void { const { - messages: { _t9nLocale: locale }, + messages: { _lang: locale }, numberingSystem, } = this; if (key === "meridiem") { @@ -858,12 +858,12 @@ export class TimePicker extends LitElement implements LoadableComponent { } private updateLocale() { - this.hourCycle = getLocaleHourCycle(this.messages._t9nLocale, this.numberingSystem); + this.hourCycle = getLocaleHourCycle(this.messages._lang, this.numberingSystem); this.localizedDecimalSeparator = getLocalizedDecimalSeparator( - this.messages._t9nLocale, + this.messages._lang, this.numberingSystem, ); - this.meridiemOrder = getMeridiemOrder(this.messages._t9nLocale); + this.meridiemOrder = getMeridiemOrder(this.messages._lang); this.setValue(this.sanitizeValue(this.value)); } diff --git a/packages/calcite-components/src/components/tip-manager/tip-manager.tsx b/packages/calcite-components/src/components/tip-manager/tip-manager.tsx index 95e83c6b88a..5656e6d62d3 100644 --- a/packages/calcite-components/src/components/tip-manager/tip-manager.tsx +++ b/packages/calcite-components/src/components/tip-manager/tip-manager.tsx @@ -61,7 +61,7 @@ export class TipManager extends LitElement { @property({ reflect: true }) closed = false; /** Specifies the heading level of the component's `heading` for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ reflect: true, type: Number }) headingLevel: HeadingLevel; /** Use this property to override individual strings used by the component. */ // eslint-disable-next-line @stencil-community/strict-mutable -- updated by t9n module @@ -101,7 +101,7 @@ export class TipManager extends LitElement { // #region Events /** Emits when the component has been closed. */ - calciteTipManagerClose = createEvent({ cancelable: false }); + calciteTipManagerClose = createEvent({ cancelable: false }); // #endregion @@ -112,10 +112,6 @@ export class TipManager extends LitElement { this.mutationObserver?.observe(this.el, { childList: true, subtree: true }); } - async load(): Promise { - this.updateGroupTitle(); - } - /** * TODO: [MIGRATION] Consider inlining some of the watch functions called inside of this method to reduce boilerplate code * @@ -139,6 +135,10 @@ export class TipManager extends LitElement { } } + loaded(): void { + this.updateGroupTitle(); + } + override disconnectedCallback(): void { this.mutationObserver?.disconnect(); } diff --git a/packages/calcite-components/src/components/tip/tip.tsx b/packages/calcite-components/src/components/tip/tip.tsx index 5ef4c4d1347..1a2763143dc 100644 --- a/packages/calcite-components/src/components/tip/tip.tsx +++ b/packages/calcite-components/src/components/tip/tip.tsx @@ -49,7 +49,7 @@ export class Tip extends LitElement { @property() heading: string; /** Specifies the heading level of the component's `heading` for proper document structure, without affecting visual styling. */ - @property({ reflect: true }) headingLevel: HeadingLevel; + @property({ type: Number, reflect: true }) headingLevel: HeadingLevel; /** Use this property to override individual strings used by the component. */ // eslint-disable-next-line @stencil-community/strict-mutable -- updated by t9n module @@ -76,7 +76,7 @@ export class Tip extends LitElement { // #region Events /** Emits when the component has been closed. */ - calciteTipDismiss = createEvent({ cancelable: false }); + calciteTipDismiss = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/tooltip/tooltip.tsx b/packages/calcite-components/src/components/tooltip/tooltip.tsx index 2c2fd95765a..31b810917d6 100644 --- a/packages/calcite-components/src/components/tooltip/tooltip.tsx +++ b/packages/calcite-components/src/components/tooltip/tooltip.tsx @@ -83,7 +83,7 @@ export class Tooltip extends LitElement implements FloatingUIComponent, OpenClos * * @default 6 */ - @property({ reflect: true }) offsetDistance = defaultOffsetDistance; + @property({ type: Number, reflect: true }) offsetDistance = defaultOffsetDistance; /** Offset the position of the component along the `referenceElement`. */ @property({ reflect: true }) offsetSkidding = 0; @@ -154,16 +154,16 @@ export class Tooltip extends LitElement implements FloatingUIComponent, OpenClos // #region Events /** Fires when the component is requested to be closed and before the closing transition begins. */ - calciteTooltipBeforeClose = createEvent({ cancelable: false }); + calciteTooltipBeforeClose = createEvent({ cancelable: false }); /** Fires when the component is added to the DOM but not rendered, and before the opening transition begins. */ - calciteTooltipBeforeOpen = createEvent({ cancelable: false }); + calciteTooltipBeforeOpen = createEvent({ cancelable: false }); /** Fires when the component is closed and animation is complete. */ - calciteTooltipClose = createEvent({ cancelable: false }); + calciteTooltipClose = createEvent({ cancelable: false }); /** Fires when the component is open and animation is complete. */ - calciteTooltipOpen = createEvent({ cancelable: false }); + calciteTooltipOpen = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/tree-item/tree-item.tsx b/packages/calcite-components/src/components/tree-item/tree-item.tsx index 7e4a33af9d5..c325eac9f45 100644 --- a/packages/calcite-components/src/components/tree-item/tree-item.tsx +++ b/packages/calcite-components/src/components/tree-item/tree-item.tsx @@ -145,6 +145,7 @@ export class TreeItem extends LitElement implements InteractiveComponent { * @param changes */ override willUpdate(changes: PropertyValues): void { + this.preWillUpdate(); /* TODO: [MIGRATION] First time Lit calls willUpdate(), changes will include not just properties provided by the user, but also any default values your component set. To account for this semantics change, the checks for (this.hasUpdated || value != defaultValue) was added in this method Please refactor your code to reduce the need for this check. @@ -160,29 +161,6 @@ export class TreeItem extends LitElement implements InteractiveComponent { if (changes.has("selectionMode")) { this.getSelectionMode(); } - - this.hasChildren = !!this.el.querySelector("calcite-tree"); - this.depth = 0; - let parentTree = this.el.closest("calcite-tree"); - - if (!parentTree) { - return; - } - - this.selectionMode = parentTree.selectionMode; - this.scale = parentTree.scale || "m"; - this.lines = parentTree.lines; - - let nextParentTree; - while (parentTree) { - nextParentTree = parentTree.parentElement?.closest("calcite-tree"); - if (nextParentTree === parentTree) { - break; - } else { - parentTree = nextParentTree; - this.depth = this.depth + 1; - } - } } override updated(): void { @@ -349,6 +327,29 @@ export class TreeItem extends LitElement implements InteractiveComponent { this.hasEndActions = slotChangeHasAssignedElement(event); } + preWillUpdate(): void { + this.hasChildren = !!this.el.querySelector("calcite-tree"); + this.depth = 0; + let parentTree = this.el.closest("calcite-tree"); + if (!parentTree) { + return; + } + + this.selectionMode = parentTree.selectionMode; + this.scale = parentTree.scale || "m"; + this.lines = parentTree.lines; + let nextParentTree; + while (parentTree) { + nextParentTree = parentTree.parentElement?.closest("calcite-tree"); + if (nextParentTree === parentTree) { + break; + } else { + parentTree = nextParentTree; + this.depth = this.depth + 1; + } + } + } + // #endregion // #region Rendering diff --git a/packages/calcite-components/src/components/tree/tree.tsx b/packages/calcite-components/src/components/tree/tree.tsx index 21423018b7d..ef39db8ef87 100644 --- a/packages/calcite-components/src/components/tree/tree.tsx +++ b/packages/calcite-components/src/components/tree/tree.tsx @@ -79,7 +79,7 @@ export class Tree extends LitElement { // #region Events /** Fires when the user selects/deselects `calcite-tree-items`. */ - calciteTreeSelect = createEvent({ cancelable: false }); + calciteTreeSelect = createEvent({ cancelable: false }); // #endregion diff --git a/packages/calcite-components/src/components/value-list-item/value-list-item.tsx b/packages/calcite-components/src/components/value-list-item/value-list-item.tsx index 701582c4de1..81a6cbd2c72 100644 --- a/packages/calcite-components/src/components/value-list-item/value-list-item.tsx +++ b/packages/calcite-components/src/components/value-list-item/value-list-item.tsx @@ -162,7 +162,7 @@ export class ValueListItem /** Fires when the remove button is pressed. */ // wrapped pick-list-item emits this - calciteListItemRemove = createEvent(); + calciteListItemRemove = createEvent(); /** @notPublic */ calciteValueListItemDragHandleBlur = createEvent({ cancelable: false }); diff --git a/packages/calcite-components/src/components/value-list/value-list.e2e.ts b/packages/calcite-components/src/components/value-list/value-list.e2e.ts index b37fa66a915..cc9eb6ab5b0 100644 --- a/packages/calcite-components/src/components/value-list/value-list.e2e.ts +++ b/packages/calcite-components/src/components/value-list/value-list.e2e.ts @@ -78,7 +78,7 @@ describe("calcite-value-list", () => { const icon = await item.getProperty("icon"); expect(icon).toBe(ICON_TYPES.grip); }); - it("should be null when drag and drop is disabled", async () => { + it("should be undefined when drag and drop is disabled", async () => { const page = await newE2EPage({ html: ` @@ -87,7 +87,7 @@ describe("calcite-value-list", () => { const item = await page.find("calcite-value-list-item"); const icon = await item.getProperty("icon"); - expect(icon).toBeNull(); + expect(icon).toBeUndefined(); }); }); diff --git a/packages/calcite-components/src/components/value-list/value-list.tsx b/packages/calcite-components/src/components/value-list/value-list.tsx index b99389a0d0a..a231a3252c0 100644 --- a/packages/calcite-components/src/components/value-list/value-list.tsx +++ b/packages/calcite-components/src/components/value-list/value-list.tsx @@ -231,7 +231,7 @@ export class ValueList>({ cancelable: false }); /** Emits when a filter has changed. */ - calciteListFilter = createEvent({ cancelable: false }); + calciteListFilter = createEvent({ cancelable: false }); /** Emits when the order of the list has changed. */ calciteListOrderChange = createEvent({ cancelable: false }); diff --git a/packages/calcite-components/src/demos/_assets/head.ts b/packages/calcite-components/src/demos/_assets/head.ts index 410f6706088..739f8cc0638 100644 --- a/packages/calcite-components/src/demos/_assets/head.ts +++ b/packages/calcite-components/src/demos/_assets/head.ts @@ -10,10 +10,6 @@ } const SCRIPTS: Script[] = [ - { - src: "build/calcite.esm.ts", - type: "module", - }, { src: "/src/demos/_assets/demo-dom-swapper.ts", }, diff --git a/packages/calcite-components/src/tests/commonTests/defaults.ts b/packages/calcite-components/src/tests/commonTests/defaults.ts index 1689ead0e98..d080fce8031 100644 --- a/packages/calcite-components/src/tests/commonTests/defaults.ts +++ b/packages/calcite-components/src/tests/commonTests/defaults.ts @@ -37,7 +37,7 @@ export function defaults( }[], ): void { it.each(propsToTest.map(({ propertyName, defaultValue }) => [propertyName, defaultValue]))( - "%p", + "%s", async (propertyName, defaultValue) => { const { page, tag } = await getTagAndPage(componentTestSetup); const element = await page.find(tag); diff --git a/packages/calcite-components/src/tests/commonTests/reflects.ts b/packages/calcite-components/src/tests/commonTests/reflects.ts index 76a7c01848e..a51729a7ed6 100644 --- a/packages/calcite-components/src/tests/commonTests/reflects.ts +++ b/packages/calcite-components/src/tests/commonTests/reflects.ts @@ -39,7 +39,7 @@ export function reflects( ): void { const cases = propsToTest.map(({ propertyName, value }) => [propertyName, value]); - it.each(cases)("%p", async (propertyName, value) => { + it.each(cases)("%s", async (propertyName, value) => { const { page, tag: componentTag } = await getTagAndPage(componentTestSetup); await skipAnimations(page); const element = await page.find(componentTag); diff --git a/packages/calcite-components/src/tests/commonTests/themed.ts b/packages/calcite-components/src/tests/commonTests/themed.ts index 019277b9980..14ddf2fd6b6 100644 --- a/packages/calcite-components/src/tests/commonTests/themed.ts +++ b/packages/calcite-components/src/tests/commonTests/themed.ts @@ -1,5 +1,4 @@ import { toHaveNoViolations } from "jest-axe"; -import { ElementHandle } from "puppeteer"; import type { RequireExactlyOne } from "type-fest"; import { E2EPage, E2EElement } from "@arcgis/lumina-compiler/puppeteerTesting"; import { expect, it } from "vitest"; @@ -237,11 +236,7 @@ async function getComputedStylePropertyValue( property: string, pseudoElement?: string, ): Promise { - type E2EElementInternal = E2EElement & { - _elmHandle: ElementHandle; - }; - - return await (element as E2EElementInternal)._elmHandle.evaluate( + return await element.handle.evaluate( (el, targetProp, pseudoElement): string => window.getComputedStyle(el, pseudoElement).getPropertyValue(targetProp), property, pseudoElement, diff --git a/packages/calcite-components/src/tests/setupTests.ts b/packages/calcite-components/src/tests/setupTests.ts index b88df3e6780..08928e37d88 100644 --- a/packages/calcite-components/src/tests/setupTests.ts +++ b/packages/calcite-components/src/tests/setupTests.ts @@ -9,8 +9,21 @@ import { vi, beforeEach, afterEach } from "vitest"; const originalConsoleWarn = console.warn; +const reported = new Set(); + beforeEach(() => { - console.warn = vi.fn((...rest) => console.log("WARN:", ...rest)); + console.warn = vi.fn((...args) => { + /** + * Only log once if component is triggering re-render in updated() + */ + if (typeof args[0] === "string" && args[0].includes("scheduled an update (generally because a property was set)")) { + if (reported.has(args[0])) { + return; + } + reported.add(args[0]); + } + originalConsoleWarn(...args); + }); }); afterEach(() => { diff --git a/packages/calcite-components/src/utils/config.spec.ts b/packages/calcite-components/src/utils/config.spec.ts index 3d2250b94f5..c182276af93 100644 --- a/packages/calcite-components/src/utils/config.spec.ts +++ b/packages/calcite-components/src/utils/config.spec.ts @@ -1,4 +1,4 @@ -import { describe, expect, it, beforeEach, vi } from "vitest"; +import { describe, expect, it, afterEach, beforeEach, vi } from "vitest"; describe("config", () => { let config: typeof import("./config"); @@ -53,6 +53,15 @@ describe("config", () => { expect(globalThis.calciteConfig.version).toBe(testVersion); }); + const originalConsoleInfo = console.warn; + + beforeEach(() => { + console.info = vi.fn(); + }); + + afterEach(() => { + console.info = originalConsoleInfo; + }); it("logs info with registered version", async () => { expect(console.info).not.toHaveBeenCalled(); config = await loadConfig(); diff --git a/packages/calcite-components/src/utils/floating-ui.spec.ts b/packages/calcite-components/src/utils/floating-ui.spec.ts index 264d514c4ba..fc89be93686 100644 --- a/packages/calcite-components/src/utils/floating-ui.spec.ts +++ b/packages/calcite-components/src/utils/floating-ui.spec.ts @@ -87,8 +87,8 @@ describe("repositioning", () => { function assertOpenPositioning(floatingEl: HTMLElement): void { expect(floatingEl.style.transform).not.toBe(""); - expect(floatingEl.style.top).toBe("0"); - expect(floatingEl.style.left).toBe("0"); + expect(floatingEl.style.top).toBe("0px"); + expect(floatingEl.style.left).toBe("0px"); } it("repositions only for open components", async () => { diff --git a/packages/calcite-components/src/utils/form.tsx b/packages/calcite-components/src/utils/form.tsx index ec76497fe48..ef094022f9a 100644 --- a/packages/calcite-components/src/utils/form.tsx +++ b/packages/calcite-components/src/utils/form.tsx @@ -281,7 +281,7 @@ function invalidHandler(event: Event) { formComponent.status = "idle"; } - if ("validationIcon" in formComponent && !formComponent.validationIcon) { + if ("validationIcon" in formComponent) { formComponent.validationIcon = false; } diff --git a/packages/calcite-components/vite.config.ts b/packages/calcite-components/vite.config.ts index a8161189c83..ca33079ee6e 100644 --- a/packages/calcite-components/vite.config.ts +++ b/packages/calcite-components/vite.config.ts @@ -30,7 +30,8 @@ export default defineConfig({ enabled: true, waitForChangesDelay: 100, launchOptions: { - devtools: process.env.PUPPETEER_DEBUG === "true", + devtools: process.env.DEVTOOLS === "true", + headless: process.env.HEADLESS === "false" ? false : undefined, }, }, }), @@ -62,6 +63,7 @@ export default defineConfig({ }, test: { setupFiles: ["src/tests/setupTests.ts"], + include: ["**/*.{e2e,spec}.?(c|m)[jt]s?(x)"], }, /* * While useLumina() pre-configures everything for you, you can still