diff --git a/package-lock.json b/package-lock.json index 3c48025c..b44d56cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6612,6 +6612,10 @@ "@testing-library/dom": "9.3.1" } }, + "node_modules/@mongodb-js/aggregation-stage-icons": { + "resolved": "packages/aggregation-stage-icons", + "link": true + }, "node_modules/@mongodb-js/compass-components": { "version": "1.21.3", "resolved": "https://registry.npmjs.org/@mongodb-js/compass-components/-/compass-components-1.21.3.tgz", @@ -28302,6 +28306,49 @@ "url": "https://github.com/sponsors/colinhacks" } }, + "packages/aggregation-stage-icons": { + "name": "@mongodb-js/aggregation-stage-icons", + "version": "0.1.0", + "license": "Apache-2.0", + "devDependencies": { + "@mongodb-js/eslint-config-devtools": "^0.11.7", + "@mongodb-js/mocha-config-devtools": "^1.1.2", + "@mongodb-js/mongodb-constants": "^0.25.0", + "@mongodb-js/prettier-config-devtools": "^1.0.3", + "@mongodb-js/tsconfig-devtools": "^1.1.2", + "@types/chai": "^4.2.21", + "@types/mocha": "^9.1.1", + "@types/node": "^22.15.30", + "@types/react": "^17.0.53", + "@types/react-dom": "^17.0.19", + "@types/sinon-chai": "^4.0.0", + "chai": "^4.5.0", + "depcheck": "^1.4.7", + "eslint": "^7.25.0 || ^8.0.0", + "gen-esm-wrapper": "^1.1.3", + "mocha": "^8.4.0", + "nyc": "^15.1.0", + "prettier": "^3.8.1", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "sinon": "^9.2.3", + "typescript": "^5.9.3" + }, + "peerDependencies": { + "react": "^17.0.2 || ^18 || ^19" + } + }, + "packages/aggregation-stage-icons/node_modules/@types/sinon-chai": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-4.0.0.tgz", + "integrity": "sha512-Uar+qk3TmeFsUWCwtqRNqNUE7vf34+MCJiQJR5M2rd4nCbhtE8RgTiHwN/mVwbfCjhmO6DiOel/MgzHkRMJJFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "*", + "@types/sinon": "*" + } + }, "packages/device-id": { "name": "@mongodb-js/device-id", "version": "0.4.11", @@ -35605,6 +35652,45 @@ "@testing-library/dom": "9.3.1" } }, + "@mongodb-js/aggregation-stage-icons": { + "version": "file:packages/aggregation-stage-icons", + "requires": { + "@mongodb-js/eslint-config-devtools": "^0.11.7", + "@mongodb-js/mocha-config-devtools": "^1.1.2", + "@mongodb-js/mongodb-constants": "^0.25.0", + "@mongodb-js/prettier-config-devtools": "^1.0.3", + "@mongodb-js/tsconfig-devtools": "^1.1.2", + "@types/chai": "^4.2.21", + "@types/mocha": "^9.1.1", + "@types/node": "^22.15.30", + "@types/react": "^17.0.53", + "@types/react-dom": "^17.0.19", + "@types/sinon-chai": "^4.0.0", + "chai": "^4.5.0", + "depcheck": "^1.4.7", + "eslint": "^7.25.0 || ^8.0.0", + "gen-esm-wrapper": "^1.1.3", + "mocha": "^8.4.0", + "nyc": "^15.1.0", + "prettier": "^3.8.1", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "sinon": "^9.2.3", + "typescript": "^5.9.3" + }, + "dependencies": { + "@types/sinon-chai": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-4.0.0.tgz", + "integrity": "sha512-Uar+qk3TmeFsUWCwtqRNqNUE7vf34+MCJiQJR5M2rd4nCbhtE8RgTiHwN/mVwbfCjhmO6DiOel/MgzHkRMJJFg==", + "dev": true, + "requires": { + "@types/chai": "*", + "@types/sinon": "*" + } + } + } + }, "@mongodb-js/compass-components": { "version": "1.21.3", "resolved": "https://registry.npmjs.org/@mongodb-js/compass-components/-/compass-components-1.21.3.tgz", diff --git a/packages/aggregation-stage-icons/.depcheckrc b/packages/aggregation-stage-icons/.depcheckrc new file mode 100644 index 00000000..3ee43e27 --- /dev/null +++ b/packages/aggregation-stage-icons/.depcheckrc @@ -0,0 +1,11 @@ +ignores: + - '@mongodb-js/prettier-config-devtools' + - '@mongodb-js/tsconfig-devtools' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - '@types/chai' + - '@types/sinon-chai' + - 'sinon' +ignore-patterns: + - 'dist' diff --git a/packages/aggregation-stage-icons/.eslintignore b/packages/aggregation-stage-icons/.eslintignore new file mode 100644 index 00000000..85a8a75e --- /dev/null +++ b/packages/aggregation-stage-icons/.eslintignore @@ -0,0 +1,2 @@ +.nyc-output +dist diff --git a/packages/aggregation-stage-icons/.eslintrc.js b/packages/aggregation-stage-icons/.eslintrc.js new file mode 100644 index 00000000..83296d73 --- /dev/null +++ b/packages/aggregation-stage-icons/.eslintrc.js @@ -0,0 +1,8 @@ +module.exports = { + root: true, + extends: ['@mongodb-js/eslint-config-devtools'], + parserOptions: { + tsconfigRootDir: __dirname, + project: ['./tsconfig-lint.json'], + }, +}; diff --git a/packages/aggregation-stage-icons/.mocharc.js b/packages/aggregation-stage-icons/.mocharc.js new file mode 100644 index 00000000..64afeb1f --- /dev/null +++ b/packages/aggregation-stage-icons/.mocharc.js @@ -0,0 +1 @@ +module.exports = require('@mongodb-js/mocha-config-devtools'); diff --git a/packages/aggregation-stage-icons/.prettierignore b/packages/aggregation-stage-icons/.prettierignore new file mode 100644 index 00000000..4d28df66 --- /dev/null +++ b/packages/aggregation-stage-icons/.prettierignore @@ -0,0 +1,3 @@ +.nyc_output +dist +coverage diff --git a/packages/aggregation-stage-icons/.prettierrc.json b/packages/aggregation-stage-icons/.prettierrc.json new file mode 100644 index 00000000..dfae21d0 --- /dev/null +++ b/packages/aggregation-stage-icons/.prettierrc.json @@ -0,0 +1 @@ +"@mongodb-js/prettier-config-devtools" diff --git a/packages/aggregation-stage-icons/LICENSE b/packages/aggregation-stage-icons/LICENSE new file mode 100644 index 00000000..5e0fd33c --- /dev/null +++ b/packages/aggregation-stage-icons/LICENSE @@ -0,0 +1,201 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +"control" means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions: + +(a) You must give any other recipients of the Work or +Derivative Works a copy of this License; and + +(b) You must cause any modified files to carry prominent notices +stating that You changed the files; and + +(c) You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. + +You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "{}" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + +Copyright {yyyy} {name of copyright owner} + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/packages/aggregation-stage-icons/README.md b/packages/aggregation-stage-icons/README.md new file mode 100644 index 00000000..1c66c546 --- /dev/null +++ b/packages/aggregation-stage-icons/README.md @@ -0,0 +1,32 @@ +# @mongodb-js/aggregation-stage-icons + +Icon set for MongoDB aggregation pipeline stages. + +## Usage + +### React component + +```tsx +import { StageIcon } from '@mongodb-js/aggregation-stage-icons'; + + + +``` + +### SVG paths + +`stageIconPaths` maps each stage name to its SVG path (d): + +```ts +import { + stageIconPaths, + aggregationStageNames, +} from '@mongodb-js/aggregation-stage-icons'; + +stageIcons['$match']; // 'M18.5 6.25C18.791 6.25...' +aggregationStageNames; // ['$addFields', '$bucket', ...] +``` + +## Adding or updating icons + +Drop the `.svg` file into [`src/icons/`](./src/icons) named after its stage (e.g. `$match.svg`), then run `npm run extract-icon-paths` to regenerate the typed icon data. diff --git a/packages/aggregation-stage-icons/package.json b/packages/aggregation-stage-icons/package.json new file mode 100644 index 00000000..64c321b8 --- /dev/null +++ b/packages/aggregation-stage-icons/package.json @@ -0,0 +1,83 @@ +{ + "name": "@mongodb-js/aggregation-stage-icons", + "description": "MongoDB aggregation stage icon set", + "author": { + "name": "MongoDB Inc", + "email": "compass@mongodb.com" + }, + "publishConfig": { + "access": "public" + }, + "bugs": { + "url": "https://jira.mongodb.org/projects/COMPASS/issues", + "email": "compass@mongodb.com" + }, + "homepage": "https://github.com/mongodb-js/devtools-shared", + "version": "0.1.0", + "repository": { + "type": "git", + "url": "https://github.com/mongodb-js/devtools-shared.git" + }, + "files": [ + "dist" + ], + "license": "Apache-2.0", + "main": "dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + "require": { + "default": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "import": { + "default": "./dist/.esm-wrapper.mjs", + "types": "./dist/index.d.ts" + } + }, + "scripts": { + "bootstrap": "npm run compile", + "prepublishOnly": "npm run compile", + "extract-icon-paths": "ts-node scripts/extract-icon-paths.ts", + "extract-icon-paths:check": "ts-node scripts/extract-icon-paths.ts --check", + "compile": "npm run extract-icon-paths && tsc -p tsconfig.json && gen-esm-wrapper . ./dist/.esm-wrapper.mjs", + "typecheck": "tsc --noEmit", + "eslint": "eslint", + "prettier": "prettier", + "lint": "npm run eslint . && npm run prettier -- --check .", + "depcheck": "depcheck", + "check": "npm run extract-icon-paths:check && npm run typecheck && npm run lint && npm run depcheck", + "check-ci": "npm run check", + "test": "mocha", + "test-cov": "nyc -x \"**/*.spec.*\" --reporter=lcov --reporter=text --reporter=html npm run test", + "test-watch": "npm run test -- --watch", + "test-ci": "npm run test-cov", + "reformat": "npm run prettier -- --write ." + }, + "peerDependencies": { + "react": "^17.0.2 || ^18 || ^19" + }, + "devDependencies": { + "@mongodb-js/eslint-config-devtools": "^0.11.7", + "@mongodb-js/mocha-config-devtools": "^1.1.2", + "@mongodb-js/mongodb-constants": "^0.25.0", + "@mongodb-js/prettier-config-devtools": "^1.0.3", + "@mongodb-js/tsconfig-devtools": "^1.1.2", + "@types/chai": "^4.2.21", + "@types/mocha": "^9.1.1", + "@types/node": "^22.15.30", + "@types/react": "^17.0.53", + "@types/react-dom": "^17.0.19", + "@types/sinon-chai": "^4.0.0", + "chai": "^4.5.0", + "depcheck": "^1.4.7", + "eslint": "^7.25.0 || ^8.0.0", + "gen-esm-wrapper": "^1.1.3", + "mocha": "^8.4.0", + "nyc": "^15.1.0", + "prettier": "^3.8.1", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "sinon": "^9.2.3", + "typescript": "^5.9.3" + } +} diff --git a/packages/aggregation-stage-icons/scripts/extract-icon-paths.ts b/packages/aggregation-stage-icons/scripts/extract-icon-paths.ts new file mode 100644 index 00000000..3598d906 --- /dev/null +++ b/packages/aggregation-stage-icons/scripts/extract-icon-paths.ts @@ -0,0 +1,64 @@ +import { readFileSync, readdirSync, writeFileSync } from 'fs'; +import { join } from 'path'; +import { format, resolveConfig } from 'prettier'; +import { STAGE_OPERATOR_NAMES } from '@mongodb-js/mongodb-constants'; + +const iconsDir = join(__dirname, '..', 'src', 'icons'); +const outFile = join(__dirname, '..', 'src', 'stage-icon-data.ts'); + +const knownStages = new Set(STAGE_OPERATOR_NAMES); + +function buildSource(): string { + const entries = readdirSync(iconsDir) + .filter((file) => file.endsWith('.svg')) + .sort((a, b) => a.localeCompare(b)) + .map((file) => { + const svg = readFileSync(join(iconsDir, file), 'utf8'); + const paths = [...svg.matchAll(/]*\bd="([^"]+)"/g)]; + if (paths.length !== 1) { + throw new Error( + `Expected exactly one in ${file}, found ${paths.length}`, + ); + } + const name = file.slice(0, -'.svg'.length); + if (!knownStages.has(name)) { + throw new Error( + `${file} does not correspond to a known aggregation stage. ` + + `Its name must match one of the stage operators in @mongodb-js/mongodb-constants.`, + ); + } + return ` ${JSON.stringify(name)}: ${JSON.stringify(paths[0][1])},`; + }); + + return ( + `// Generated by scripts/extract-icon-paths.ts. Do not edit by hand.\n\n` + + `export const stageIconPaths = {\n${entries.join('\n')}\n} as const;\n` + ); +} + +async function main(): Promise { + const check = process.argv.includes('--check'); + + const config = await resolveConfig(outFile); + const formatted = await format(buildSource(), { + ...config, + parser: 'typescript', + }); + + if (check) { + if (readFileSync(outFile, 'utf8') !== formatted) { + throw new Error( + `${outFile} is out of date. Run \`npm run extract-icon-paths\` and commit the result.`, + ); + } + return; + } + + writeFileSync(outFile, formatted); +} + +main().catch((error) => { + // eslint-disable-next-line no-console + console.error(error instanceof Error ? error.message : error); + process.exit(1); +}); diff --git a/packages/aggregation-stage-icons/src/icons/$addFields.svg b/packages/aggregation-stage-icons/src/icons/$addFields.svg new file mode 100644 index 00000000..2ce39ff4 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$addFields.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$bucket.svg b/packages/aggregation-stage-icons/src/icons/$bucket.svg new file mode 100644 index 00000000..f0e945de --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$bucket.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$bucketAuto.svg b/packages/aggregation-stage-icons/src/icons/$bucketAuto.svg new file mode 100644 index 00000000..a5bd5692 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$bucketAuto.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$collStats.svg b/packages/aggregation-stage-icons/src/icons/$collStats.svg new file mode 100644 index 00000000..ff26c2d0 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$collStats.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$count.svg b/packages/aggregation-stage-icons/src/icons/$count.svg new file mode 100644 index 00000000..efea0f90 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$count.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$densify.svg b/packages/aggregation-stage-icons/src/icons/$densify.svg new file mode 100644 index 00000000..4f998722 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$densify.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$facet.svg b/packages/aggregation-stage-icons/src/icons/$facet.svg new file mode 100644 index 00000000..221a60c5 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$facet.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$fill.svg b/packages/aggregation-stage-icons/src/icons/$fill.svg new file mode 100644 index 00000000..f64e071c --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$fill.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$geoNear.svg b/packages/aggregation-stage-icons/src/icons/$geoNear.svg new file mode 100644 index 00000000..5bb69e6d --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$geoNear.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$graphLookup.svg b/packages/aggregation-stage-icons/src/icons/$graphLookup.svg new file mode 100644 index 00000000..1cc9f069 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$graphLookup.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$group.svg b/packages/aggregation-stage-icons/src/icons/$group.svg new file mode 100644 index 00000000..ad5f29ed --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$group.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$indexStats.svg b/packages/aggregation-stage-icons/src/icons/$indexStats.svg new file mode 100644 index 00000000..2f525ad8 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$indexStats.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$limit.svg b/packages/aggregation-stage-icons/src/icons/$limit.svg new file mode 100644 index 00000000..9bcd0723 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$limit.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$lookup.svg b/packages/aggregation-stage-icons/src/icons/$lookup.svg new file mode 100644 index 00000000..4deac431 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$lookup.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$match.svg b/packages/aggregation-stage-icons/src/icons/$match.svg new file mode 100644 index 00000000..7b85e82c --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$match.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$merge.svg b/packages/aggregation-stage-icons/src/icons/$merge.svg new file mode 100644 index 00000000..f8d92811 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$merge.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$out.svg b/packages/aggregation-stage-icons/src/icons/$out.svg new file mode 100644 index 00000000..e32d5f19 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$out.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$project.svg b/packages/aggregation-stage-icons/src/icons/$project.svg new file mode 100644 index 00000000..dbd83b8e --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$project.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$rankFusion.svg b/packages/aggregation-stage-icons/src/icons/$rankFusion.svg new file mode 100644 index 00000000..9dcc3f7c --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$rankFusion.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$redact.svg b/packages/aggregation-stage-icons/src/icons/$redact.svg new file mode 100644 index 00000000..32c8c0be --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$redact.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$replaceRoot.svg b/packages/aggregation-stage-icons/src/icons/$replaceRoot.svg new file mode 100644 index 00000000..6c441eb9 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$replaceRoot.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$replaceWith.svg b/packages/aggregation-stage-icons/src/icons/$replaceWith.svg new file mode 100644 index 00000000..11d16edb --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$replaceWith.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$sample.svg b/packages/aggregation-stage-icons/src/icons/$sample.svg new file mode 100644 index 00000000..4865fc0a --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$sample.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$search.svg b/packages/aggregation-stage-icons/src/icons/$search.svg new file mode 100644 index 00000000..3d80617d --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$search.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$searchMeta.svg b/packages/aggregation-stage-icons/src/icons/$searchMeta.svg new file mode 100644 index 00000000..2a97f7e2 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$searchMeta.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$set.svg b/packages/aggregation-stage-icons/src/icons/$set.svg new file mode 100644 index 00000000..dd22a95c --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$set.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$setWindowFields.svg b/packages/aggregation-stage-icons/src/icons/$setWindowFields.svg new file mode 100644 index 00000000..3c97261d --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$setWindowFields.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$skip.svg b/packages/aggregation-stage-icons/src/icons/$skip.svg new file mode 100644 index 00000000..8fd1f14a --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$skip.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$sort.svg b/packages/aggregation-stage-icons/src/icons/$sort.svg new file mode 100644 index 00000000..122e0a77 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$sort.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$sortByCount.svg b/packages/aggregation-stage-icons/src/icons/$sortByCount.svg new file mode 100644 index 00000000..869ca1f9 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$sortByCount.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$unionWith.svg b/packages/aggregation-stage-icons/src/icons/$unionWith.svg new file mode 100644 index 00000000..abf83fbc --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$unionWith.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$unset.svg b/packages/aggregation-stage-icons/src/icons/$unset.svg new file mode 100644 index 00000000..c9969b64 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$unset.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$unwind.svg b/packages/aggregation-stage-icons/src/icons/$unwind.svg new file mode 100644 index 00000000..6f4f247a --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$unwind.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/icons/$vectorSearch.svg b/packages/aggregation-stage-icons/src/icons/$vectorSearch.svg new file mode 100644 index 00000000..f4702328 --- /dev/null +++ b/packages/aggregation-stage-icons/src/icons/$vectorSearch.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/aggregation-stage-icons/src/index.spec.tsx b/packages/aggregation-stage-icons/src/index.spec.tsx new file mode 100644 index 00000000..e0cd5c03 --- /dev/null +++ b/packages/aggregation-stage-icons/src/index.spec.tsx @@ -0,0 +1,46 @@ +import React from 'react'; +import { renderToStaticMarkup } from 'react-dom/server'; +import { expect } from 'chai'; +import { StageIcon, stageIcons, aggregationStageNames } from './'; + +describe('aggregation-stage-icons', function () { + it('exposes a well-formed svg string for every stage', function () { + expect(aggregationStageNames).to.include('$match'); + for (const name of aggregationStageNames) { + expect(stageIcons[name]).to.match(/^$/); + expect(stageIcons[name]).to.include('fill="currentColor"'); + } + }); + + it('excludes export artifacts and normalizes names', function () { + expect(aggregationStageNames).to.include('$searchMeta'); + expect(aggregationStageNames).to.not.include('$sort-1'); + expect(aggregationStageNames).to.not.include('$searchMeta 3'); + }); + + it('renders a StageIcon defaulting to size 16 and currentColor', function () { + const html = renderToStaticMarkup(); + expect(html).to.include(', + ); + expect(html).to.include('width="24"'); + expect(html).to.include('height="24"'); + expect(html).to.include('fill="red"'); + }); + + it('forwards other props to the underlying svg element', function () { + const html = renderToStaticMarkup( + , + ); + expect(html).to.include('class="my-icon"'); + expect(html).to.include('aria-label="group stage"'); + }); +}); diff --git a/packages/aggregation-stage-icons/src/index.tsx b/packages/aggregation-stage-icons/src/index.tsx new file mode 100644 index 00000000..9eb199f9 --- /dev/null +++ b/packages/aggregation-stage-icons/src/index.tsx @@ -0,0 +1,48 @@ +import React from 'react'; +import { stageIconPaths } from './stage-icon-data'; + +export type AggregationStageName = keyof typeof stageIconPaths; + +export const aggregationStageNames = Object.keys( + stageIconPaths, +) as AggregationStageName[]; + +const VIEW_BOX = '0 0 24 24'; + +export const stageIcons = Object.fromEntries( + Object.entries(stageIconPaths).map(([name, path]) => [ + name, + ``, + ]), +) as Record; + +export type StageIconProps = Omit< + React.SVGProps, + 'children' | 'dangerouslySetInnerHTML' | 'width' | 'height' | 'fill' | 'color' +> & { + stage: AggregationStageName; + /** Width and height of the icon, in pixels. Defaults to 16. */ + size?: number | string; + /** Fill color of the icon. Defaults to `currentColor`. */ + color?: string; +}; + +export const StageIcon = ({ + stage, + size = 16, + color = 'currentColor', + ...props +}: StageIconProps): React.ReactElement => ( + + + +); + +export { stageIconPaths }; diff --git a/packages/aggregation-stage-icons/src/stage-icon-data.ts b/packages/aggregation-stage-icons/src/stage-icon-data.ts new file mode 100644 index 00000000..2d1f2240 --- /dev/null +++ b/packages/aggregation-stage-icons/src/stage-icon-data.ts @@ -0,0 +1,70 @@ +// Generated by scripts/extract-icon-paths.ts. Do not edit by hand. + +export const stageIconPaths = { + $addFields: + 'M16 14.25C16.4142 14.25 16.75 14.5858 16.75 15V16.25H18C18.4142 16.25 18.75 16.5858 18.75 17C18.75 17.4142 18.4142 17.75 18 17.75H16.75V19C16.75 19.4142 16.4142 19.75 16 19.75C15.5858 19.75 15.25 19.4142 15.25 19V17.75H14C13.5858 17.75 13.25 17.4142 13.25 17C13.25 16.5858 13.5858 16.25 14 16.25H15.25V15C15.25 14.5858 15.5858 14.25 16 14.25ZM11 15.25C11.4142 15.25 11.75 15.5858 11.75 16C11.75 16.4142 11.4142 16.75 11 16.75H6C5.58579 16.75 5.25 16.4142 5.25 16C5.25 15.5858 5.58579 15.25 6 15.25H11ZM18 11.25C18.4142 11.25 18.75 11.5858 18.75 12C18.75 12.4142 18.4142 12.75 18 12.75H6C5.58579 12.75 5.25 12.4142 5.25 12C5.25 11.5858 5.58579 11.25 6 11.25H18ZM18 7.25C18.4142 7.25 18.75 7.58579 18.75 8C18.75 8.41421 18.4142 8.75 18 8.75H6C5.58579 8.75 5.25 8.41421 5.25 8C5.25 7.58579 5.58579 7.25 6 7.25H18Z', + $bucket: + 'M11.9997 5.25C12.9942 5.25 13.9478 5.64545 14.6511 6.34863C15.3544 7.05189 15.7497 8.00544 15.7497 9V9.25H16.9997C17.2166 9.25 17.4227 9.3443 17.5652 9.50781C17.7075 9.67139 17.7727 9.8887 17.7429 10.1035L16.7429 17.2959C16.7134 17.7271 16.4912 18.099 16.1755 18.3516C15.841 18.6191 15.4163 18.75 14.9997 18.75H8.99973C8.58317 18.7499 8.15843 18.6191 7.82394 18.3516C7.50834 18.099 7.28505 17.727 7.25558 17.2959L6.25656 10.1035C6.22675 9.88877 6.29199 9.67137 6.4343 9.50781C6.57668 9.34429 6.78291 9.25007 6.99973 9.25H8.24973V9C8.24973 8.0055 8.64518 7.05188 9.34836 6.34863C10.0516 5.64543 11.0053 5.25007 11.9997 5.25ZM8.74289 17.0967C8.74607 17.1196 8.74574 17.1429 8.7468 17.166C8.74989 17.1694 8.75458 17.1742 8.76144 17.1797C8.80194 17.2121 8.88607 17.2499 8.99973 17.25H14.9997C15.1134 17.25 15.1974 17.2121 15.238 17.1797C15.2445 17.1745 15.2486 17.1694 15.2517 17.166C15.2527 17.1429 15.2534 17.1196 15.2566 17.0967L16.1384 10.75H7.86105L8.74289 17.0967ZM11.9997 6.75C11.4031 6.75007 10.8308 6.98728 10.4089 7.40918C9.98703 7.83112 9.74973 8.40332 9.74973 9V9.25H14.2497V9C14.2497 8.40326 14.0125 7.83114 13.5905 7.40918C13.1686 6.9873 12.5964 6.75 11.9997 6.75Z', + $bucketAuto: + 'M10.9997 6.25C11.9942 6.25 12.9478 6.64545 13.6511 7.34863C14.3544 8.05189 14.7497 9.00544 14.7497 10V10.25H15.9997C16.2166 10.25 16.4227 10.3443 16.5652 10.5078C16.7075 10.6714 16.7727 10.8887 16.7429 11.1035L15.7429 18.2959C15.7134 18.7271 15.4912 19.099 15.1755 19.3516C14.841 19.6191 14.4163 19.75 13.9997 19.75H7.99973C7.58317 19.7499 7.15843 19.6191 6.82394 19.3516C6.50834 19.099 6.28505 18.727 6.25558 18.2959L5.25656 11.1035C5.22675 10.8888 5.29199 10.6714 5.4343 10.5078C5.57668 10.3443 5.78291 10.2501 5.99973 10.25H7.24973V10C7.24973 9.0055 7.64518 8.05188 8.34836 7.34863C9.05156 6.64543 10.0053 6.25007 10.9997 6.25ZM7.74289 18.0967C7.74607 18.1196 7.74574 18.1429 7.7468 18.166C7.74989 18.1694 7.75458 18.1742 7.76144 18.1797C7.80194 18.2121 7.88607 18.2499 7.99973 18.25H13.9997C14.1134 18.25 14.1974 18.2121 14.238 18.1797C14.2445 18.1745 14.2486 18.1694 14.2517 18.166C14.2527 18.1429 14.2534 18.1196 14.2566 18.0967L15.1384 11.75H6.86105L7.74289 18.0967ZM10.9997 7.75C10.4031 7.75007 9.8308 7.98728 9.40891 8.40918C8.98703 8.83112 8.74973 9.40332 8.74973 10V10.25H13.2497V10C13.2497 9.40326 13.0125 8.83114 12.5905 8.40918C12.1686 7.9873 11.5964 7.75 10.9997 7.75ZM17.4997 5.25C17.9139 5.25 18.2497 5.58579 18.2497 6V6.75H18.9997C19.4139 6.75 19.7497 7.08579 19.7497 7.5C19.7497 7.91421 19.4139 8.25 18.9997 8.25H18.2497V9C18.2497 9.41421 17.9139 9.75 17.4997 9.75C17.0856 9.74986 16.7497 9.41413 16.7497 9V8.25H15.9997C15.5856 8.24986 15.2497 7.91413 15.2497 7.5C15.2497 7.08587 15.5856 6.75014 15.9997 6.75H16.7497V6C16.7497 5.58587 17.0856 5.25014 17.4997 5.25Z', + $collStats: + 'M8.2666 5.25C8.52652 5.25 8.78342 5.30951 9.0166 5.4248C9.19144 5.51126 9.34975 5.62743 9.48438 5.76758L9.61133 5.91602L9.63477 5.9502L10.0967 6.63477H18.0664C18.5102 6.63477 18.9376 6.80924 19.2539 7.12207C19.5704 7.43515 19.75 7.86128 19.75 8.30762V17.0771C19.7499 17.5235 19.5704 17.9496 19.2539 18.2627C18.9376 18.5755 18.5102 18.75 18.0664 18.75H5.93359C5.4898 18.75 5.0624 18.5755 4.74609 18.2627C4.42958 17.9496 4.25006 17.5235 4.25 17.0771V6.92285C4.25006 6.47653 4.42958 6.05036 4.74609 5.7373C5.0624 5.42447 5.4898 5.25 5.93359 5.25H8.2666ZM5.93359 6.75C5.88231 6.75 5.83454 6.77032 5.80078 6.80371C5.76738 6.83676 5.75006 6.87973 5.75 6.92285V17.0771C5.75006 17.1203 5.76738 17.1632 5.80078 17.1963C5.83454 17.2297 5.88231 17.25 5.93359 17.25H18.0664C18.1177 17.25 18.1655 17.2297 18.1992 17.1963C18.2326 17.1632 18.2499 17.1203 18.25 17.0771V8.30762C18.25 8.26448 18.2326 8.22156 18.1992 8.18848C18.1655 8.15509 18.1177 8.13477 18.0664 8.13477H9.94629C9.75892 8.13471 9.57357 8.09103 9.40527 8.00781C9.23699 7.92453 9.08955 7.80359 8.97559 7.65332C8.96717 7.64222 8.95896 7.63069 8.95117 7.61914L8.41113 6.81738C8.39531 6.79813 8.37535 6.7813 8.35156 6.76953C8.3256 6.75672 8.29639 6.75 8.2666 6.75H5.93359ZM9 12.25C9.41421 12.25 9.75 12.5858 9.75 13V15.5C9.75 15.9142 9.41421 16.25 9 16.25C8.58579 16.25 8.25 15.9142 8.25 15.5V13C8.25 12.5858 8.58579 12.25 9 12.25ZM12 10.25C12.4142 10.25 12.75 10.5858 12.75 11V15.5C12.75 15.9142 12.4142 16.25 12 16.25C11.5858 16.25 11.25 15.9142 11.25 15.5V11C11.25 10.5858 11.5858 10.25 12 10.25ZM15 11.25C15.4142 11.25 15.75 11.5858 15.75 12V15.5C15.75 15.9142 15.4142 16.25 15 16.25C14.5858 16.25 14.25 15.9142 14.25 15.5V12C14.25 11.5858 14.5858 11.25 15 11.25Z', + $count: + 'M14.5625 5.25323C14.9752 5.28776 15.2815 5.65011 15.2471 6.06281L14.9814 9.25031H18.5C18.9142 9.25031 19.25 9.58609 19.25 10.0003C19.2498 10.4144 18.9141 10.7503 18.5 10.7503H14.8564L14.6484 13.2503H18C18.4142 13.2503 18.75 13.5861 18.75 14.0003C18.7498 14.4144 18.4141 14.7503 18 14.7503H14.5234L14.2471 18.0628C14.2124 18.4753 13.8501 18.7818 13.4375 18.7474C13.0249 18.7129 12.7187 18.3504 12.7529 17.9378L13.0186 14.7503H10.5234L10.2471 18.0628C10.2124 18.4753 9.8501 18.7818 9.4375 18.7474C9.02493 18.7129 8.7187 18.3504 8.75293 17.9378L9.01855 14.7503H6C5.58589 14.7503 5.25016 14.4144 5.25 14.0003C5.25 13.5861 5.58579 13.2503 6 13.2503H9.14355L9.35156 10.7503H6.5C6.08589 10.7503 5.75016 10.4144 5.75 10.0003C5.75 9.58609 6.08579 9.25031 6.5 9.25031H9.47656L9.75293 5.93781C9.78745 5.52514 10.1498 5.21884 10.5625 5.25323C10.9752 5.28776 11.2815 5.65011 11.2471 6.06281L10.9814 9.25031H13.4766L13.7529 5.93781C13.7875 5.52514 14.1498 5.21884 14.5625 5.25323ZM10.6484 13.2503H13.1436L13.3516 10.7503H10.8564L10.6484 13.2503Z', + $densify: + 'M18 16.25C18.4142 16.25 18.75 16.5858 18.75 17C18.75 17.4142 18.4142 17.75 18 17.75H6C5.58579 17.75 5.25 17.4142 5.25 17C5.25 16.5858 5.58579 16.25 6 16.25H18ZM6.7373 11.25C7.15131 11.2502 7.4873 11.5859 7.4873 12C7.4873 12.4141 7.15131 12.7498 6.7373 12.75H6C5.58579 12.75 5.25 12.4142 5.25 12C5.25 11.5858 5.58579 11.25 6 11.25H6.7373ZM10.7373 11.25C11.1513 11.2502 11.4873 11.5859 11.4873 12C11.4873 12.4141 11.1513 12.7498 10.7373 12.75H9.2627C8.84869 12.7498 8.5127 12.4141 8.5127 12C8.5127 11.5859 8.84869 11.2502 9.2627 11.25H10.7373ZM14.7373 11.25C15.1513 11.2502 15.4873 11.5859 15.4873 12C15.4873 12.4141 15.1513 12.7498 14.7373 12.75H13.2627C12.8487 12.7498 12.5127 12.4141 12.5127 12C12.5127 11.5859 12.8487 11.2502 13.2627 11.25H14.7373ZM18 11.25C18.4142 11.25 18.75 11.5858 18.75 12C18.75 12.4142 18.4142 12.75 18 12.75H17.2627C16.8487 12.7498 16.5127 12.4141 16.5127 12C16.5127 11.5859 16.8487 11.2502 17.2627 11.25H18ZM18 6.25C18.4142 6.25 18.75 6.58579 18.75 7C18.75 7.41421 18.4142 7.75 18 7.75H6C5.58579 7.75 5.25 7.41421 5.25 7C5.25 6.58579 5.58579 6.25 6 6.25H18Z', + $facet: + 'M14.9141 15.5309C15.1728 15.2077 15.6454 15.1552 15.9688 15.4138L17.4688 16.614C17.6465 16.7562 17.7499 16.9722 17.75 17.1999C17.7499 17.4276 17.6465 17.6435 17.4688 17.7858L15.9688 18.985C15.6453 19.2438 15.1728 19.1913 14.9141 18.8679C14.6957 18.5944 14.7016 18.2169 14.9033 17.9499H7C6.58579 17.9499 6.25 17.6141 6.25 17.1999C6.25006 16.7857 6.58582 16.4499 7 16.4499H14.9033C14.7016 16.1826 14.6953 15.8044 14.9141 15.5309ZM14.9141 10.5309C15.1728 10.2077 15.6454 10.1552 15.9688 10.4138L17.4688 11.614C17.6465 11.7562 17.7499 11.9722 17.75 12.1999C17.7499 12.4276 17.6465 12.6435 17.4688 12.7858L15.9688 13.985C15.6453 14.2438 15.1728 14.1913 14.9141 13.8679C14.6957 13.5944 14.7016 13.2169 14.9033 12.9499H7C6.58579 12.9499 6.25 12.6141 6.25 12.1999C6.25006 11.7857 6.58582 11.4499 7 11.4499H14.9033C14.7016 11.1826 14.6953 10.8044 14.9141 10.5309ZM14.9141 5.53094C15.1728 5.2077 15.6454 5.15516 15.9688 5.41376L17.4688 6.61395C17.6465 6.75622 17.7499 6.97219 17.75 7.19989C17.7499 7.42759 17.6465 7.64354 17.4688 7.78583L15.9688 8.98505C15.6453 9.2438 15.1728 9.19131 14.9141 8.86786C14.6957 8.59443 14.7016 8.21691 14.9033 7.94989H7C6.58579 7.94989 6.25 7.6141 6.25 7.19989C6.25006 6.78573 6.58582 6.44989 7 6.44989H14.9033C14.7016 6.1826 14.6953 5.80436 14.9141 5.53094Z', + $fill: + 'M17 5.25C17.9665 5.25 18.75 6.0335 18.75 7V17C18.75 17.9665 17.9665 18.75 17 18.75H7C6.0335 18.75 5.25 17.9665 5.25 17V7C5.25 6.0335 6.0335 5.25 7 5.25H17ZM6.75 16.3105V17C6.75 17.1381 6.86193 17.25 7 17.25H7.68945L17.25 7.68945V7C17.25 6.86193 17.1381 6.75 17 6.75H16.3105L6.75 16.3105ZM13.8105 17.25H17C17.1381 17.25 17.25 17.1381 17.25 17V13.8105L13.8105 17.25ZM9.81055 17.25H11.6895L17.25 11.6895V9.81055L9.81055 17.25ZM6.75 12.3105V14.1895L14.1895 6.75H12.3105L6.75 12.3105ZM7 6.75C6.86193 6.75 6.75 6.86193 6.75 7V10.1895L10.1895 6.75H7Z', + $geoNear: + 'M12 4.25C13.525 4.25 14.9871 4.85624 16.0654 5.93457C17.1438 7.0129 17.75 8.47501 17.75 10C17.75 11.0426 17.3811 12.1024 16.8857 13.0684C16.3862 14.0424 15.7294 14.9769 15.0859 15.7812C14.4407 16.5878 13.7976 17.2794 13.3164 17.7686C13.0754 18.0136 12.8735 18.2088 12.7314 18.3438C12.6604 18.4112 12.6035 18.4639 12.5645 18.5C12.5452 18.5178 12.5301 18.5314 12.5195 18.541C12.5142 18.5459 12.5098 18.55 12.5068 18.5527C12.5056 18.5539 12.5047 18.5549 12.5039 18.5557L12.502 18.5566V18.5576C12.2523 18.7823 11.8892 18.8102 11.6113 18.6416L11.498 18.5576L11.4932 18.5527C11.4902 18.55 11.4858 18.5459 11.4805 18.541C11.4699 18.5314 11.4548 18.5178 11.4355 18.5C11.3965 18.4639 11.3396 18.4112 11.2686 18.3438C11.1265 18.2088 10.9246 18.0136 10.6836 17.7686C10.2024 17.2794 9.55933 16.5878 8.91406 15.7812C8.27062 14.9769 7.61379 14.0424 7.11426 13.0684C6.61894 12.1024 6.25 11.0426 6.25 10C6.25 8.47501 6.85624 7.0129 7.93457 5.93457C9.0129 4.85624 10.475 4.25 12 4.25ZM12 5.75C10.8728 5.75 9.79215 6.19809 8.99512 6.99512C8.19809 7.79215 7.75 8.87283 7.75 10C7.75 10.7073 8.00611 11.5226 8.44824 12.3848C8.8862 13.2387 9.47943 14.0856 10.0859 14.8438C10.6907 15.5997 11.2976 16.2519 11.7539 16.7158C11.8412 16.8046 11.9251 16.884 12 16.958C12.0749 16.884 12.1588 16.8046 12.2461 16.7158C12.7024 16.2519 13.3093 15.5997 13.9141 14.8438C14.5206 14.0856 15.1138 13.2387 15.5518 12.3848C15.9939 11.5226 16.25 10.7073 16.25 10C16.25 8.87283 15.8019 7.79215 15.0049 6.99512C14.2079 6.19809 13.1272 5.75 12 5.75ZM12 7.5C13.3807 7.5 14.5 8.61929 14.5 10C14.5 11.3807 13.3807 12.5 12 12.5C10.6193 12.5 9.5 11.3807 9.5 10C9.5 8.61929 10.6193 7.5 12 7.5ZM12 9C11.4477 9 11 9.44772 11 10C11 10.5523 11.4477 11 12 11C12.5523 11 13 10.5523 13 10C13 9.44772 12.5523 9 12 9Z', + $graphLookup: + 'M11.9004 4.25C13.0876 4.25021 14.0498 5.21311 14.0498 6.40039C14.0497 6.79974 13.9378 7.17182 13.748 7.49219L15.6387 9.89062C15.8756 9.80074 16.132 9.75 16.4004 9.75C17.5876 9.75021 18.5498 10.7131 18.5498 11.9004C18.5496 13.0875 17.5875 14.0496 16.4004 14.0498C15.2131 14.0498 14.2502 13.0876 14.25 11.9004C14.25 11.5309 14.3426 11.1827 14.5068 10.8789L12.583 8.43652C12.3683 8.50848 12.1393 8.54976 11.9004 8.5498C11.6612 8.5498 11.4318 8.50862 11.2168 8.43652L9.29102 10.8789C9.4555 11.1829 9.5498 11.5305 9.5498 11.9004C9.54964 12.8233 8.96706 13.6075 8.15039 13.9121V15.3867C8.96736 15.6915 9.5498 16.4772 9.5498 17.4004C9.54959 18.5875 8.58749 19.5496 7.40039 19.5498C6.21311 19.5498 5.25021 18.5876 5.25 17.4004C5.25 16.477 5.83305 15.6914 6.65039 15.3867V13.9121C5.83335 13.6076 5.25016 12.8235 5.25 11.9004C5.25 10.713 6.21298 9.75 7.40039 9.75C7.66849 9.75005 7.92447 9.80089 8.16113 9.89062L10.0508 7.49219C9.86115 7.17193 9.75007 6.79953 9.75 6.40039C9.75 5.21298 10.713 4.25 11.9004 4.25ZM7.40039 16.75C7.04141 16.75 6.75 17.0414 6.75 17.4004C6.75021 17.7592 7.04154 18.0498 7.40039 18.0498C7.75907 18.0496 8.04959 17.7591 8.0498 17.4004C8.0498 17.0415 7.7592 16.7502 7.40039 16.75ZM7.40039 11.25C7.04141 11.25 6.75 11.5414 6.75 11.9004C6.75021 12.2592 7.04154 12.5498 7.40039 12.5498C7.75907 12.5496 8.04959 12.2591 8.0498 11.9004C8.0498 11.5415 7.7592 11.2502 7.40039 11.25ZM16.4004 11.25C16.0414 11.25 15.75 11.5414 15.75 11.9004C15.7502 12.2592 16.0415 12.5498 16.4004 12.5498C16.7591 12.5496 17.0496 12.2591 17.0498 11.9004C17.0498 11.5415 16.7592 11.2502 16.4004 11.25ZM11.9004 5.75C11.5414 5.75 11.25 6.04141 11.25 6.40039C11.2502 6.7592 11.5415 7.0498 11.9004 7.0498C12.2591 7.04959 12.5496 6.75907 12.5498 6.40039C12.5498 6.04154 12.2592 5.75021 11.9004 5.75Z', + $group: + 'M17.5 4.25C18.7426 4.25 19.75 5.25736 19.75 6.5C19.75 7.74264 18.7426 8.75 17.5 8.75C17.1527 8.75 16.8249 8.66884 16.5312 8.52832L16.5303 8.53027L14.5303 10.5303C14.4867 10.5739 14.4372 10.608 14.3867 10.6387C14.6163 11.0404 14.75 11.5042 14.75 12C14.75 12.4955 14.6161 12.9588 14.3867 13.3604C14.4374 13.391 14.4865 13.426 14.5303 13.4697L16.5312 15.4707C16.8248 15.3303 17.1528 15.25 17.5 15.25C18.7426 15.25 19.75 16.2574 19.75 17.5C19.75 18.7426 18.7426 19.75 17.5 19.75C16.2574 19.75 15.25 18.7426 15.25 17.5C15.25 17.1528 15.3303 16.8248 15.4707 16.5312L13.4697 14.5303C13.426 14.4865 13.391 14.4374 13.3604 14.3867C12.9588 14.6161 12.4955 14.75 12 14.75C11.5042 14.75 11.0404 14.6163 10.6387 14.3867C10.608 14.4372 10.5739 14.4867 10.5303 14.5303L8.53027 16.5303L8.52832 16.5312C8.66884 16.8249 8.75 17.1527 8.75 17.5C8.75 18.7426 7.74264 19.75 6.5 19.75C5.25736 19.75 4.25 18.7426 4.25 17.5C4.25 16.2574 5.25736 15.25 6.5 15.25C6.84684 15.25 7.17438 15.3305 7.46777 15.4707L7.46973 15.4697L9.46973 13.4697C9.51326 13.4262 9.56193 13.3909 9.6123 13.3604C9.3831 12.9589 9.25 12.4954 9.25 12C9.25 11.5043 9.38284 11.0403 9.6123 10.6387C9.56209 10.6081 9.51314 10.5737 9.46973 10.5303L7.46777 8.52832C7.17428 8.66861 6.84699 8.75 6.5 8.75C5.25736 8.75 4.25 7.74264 4.25 6.5C4.25 5.25736 5.25736 4.25 6.5 4.25C7.74264 4.25 8.75 5.25736 8.75 6.5C8.75 6.84699 8.66861 7.17428 8.52832 7.46777L10.5303 9.46973C10.5737 9.51314 10.6081 9.56209 10.6387 9.6123C11.0403 9.38284 11.5043 9.25 12 9.25C12.4954 9.25 12.9589 9.3831 13.3604 9.6123C13.3909 9.56193 13.4262 9.51326 13.4697 9.46973L15.4697 7.46973L15.4707 7.46777C15.3305 7.17438 15.25 6.84684 15.25 6.5C15.25 5.25736 16.2574 4.25 17.5 4.25ZM6.5 16.75C6.08579 16.75 5.75 17.0858 5.75 17.5C5.75 17.9142 6.08579 18.25 6.5 18.25C6.91421 18.25 7.25 17.9142 7.25 17.5C7.25 17.0858 6.91421 16.75 6.5 16.75ZM17.5 16.75C17.0858 16.75 16.75 17.0858 16.75 17.5C16.75 17.9142 17.0858 18.25 17.5 18.25C17.9142 18.25 18.25 17.9142 18.25 17.5C18.25 17.0858 17.9142 16.75 17.5 16.75ZM12 10.75C11.3096 10.75 10.75 11.3096 10.75 12C10.75 12.6904 11.3096 13.25 12 13.25C12.6904 13.25 13.25 12.6904 13.25 12C13.25 11.3096 12.6904 10.75 12 10.75ZM6.5 5.75C6.08579 5.75 5.75 6.08579 5.75 6.5C5.75 6.91421 6.08579 7.25 6.5 7.25C6.91421 7.25 7.25 6.91421 7.25 6.5C7.25 6.08579 6.91421 5.75 6.5 5.75ZM17.5 5.75C17.0858 5.75 16.75 6.08579 16.75 6.5C16.75 6.91421 17.0858 7.25 17.5 7.25C17.9142 7.25 18.25 6.91421 18.25 6.5C18.25 6.08579 17.9142 5.75 17.5 5.75Z', + $indexStats: + 'M13.9072 5.25586C13.9376 5.25211 13.9686 5.25 14 5.25C14.3438 5.25 14.6302 5.48232 14.7188 5.79785L17.5166 8.45605C17.5201 8.45939 17.5229 8.4634 17.5264 8.4668C17.5292 8.46955 17.5314 8.47279 17.5342 8.47559C17.5998 8.5425 17.6531 8.61935 17.6895 8.7041C17.691 8.7076 17.6919 8.71132 17.6934 8.71484C17.7302 8.80447 17.75 8.90115 17.75 9V18.5C17.75 18.8443 17.6056 19.1664 17.3623 19.3975C17.1204 19.6272 16.8 19.75 16.4736 19.75H7.52637C7.19999 19.75 6.87964 19.6272 6.6377 19.3975C6.39443 19.1664 6.25 18.8443 6.25 18.5V6.5C6.25 6.1557 6.39443 5.83364 6.6377 5.60254L6.73145 5.52148C6.95936 5.34387 7.24064 5.25 7.52637 5.25H13.8418C13.8638 5.25 13.8855 5.25395 13.9072 5.25586ZM7.75 18.25H16.25V9.75H14C13.5858 9.75 13.25 9.41421 13.25 9V6.75H7.75V18.25ZM9.5 12.75C9.91421 12.75 10.25 13.0858 10.25 13.5V16.5C10.25 16.9142 9.91421 17.25 9.5 17.25C9.08579 17.25 8.75 16.9142 8.75 16.5V13.5C8.75 13.0858 9.08579 12.75 9.5 12.75ZM12 11.25C12.4142 11.25 12.75 11.5858 12.75 12V16.5C12.75 16.9142 12.4142 17.25 12 17.25C11.5858 17.25 11.25 16.9142 11.25 16.5V12C11.25 11.5858 11.5858 11.25 12 11.25ZM14.5 13.25C14.9142 13.25 15.25 13.5858 15.25 14V16.5C15.25 16.9142 14.9142 17.25 14.5 17.25C14.0858 17.25 13.75 16.9142 13.75 16.5V14C13.75 13.5858 14.0858 13.25 14.5 13.25ZM14.75 8.25H15.1221L14.75 7.89648V8.25Z', + $limit: + 'M6.5 5.25C6.91421 5.25 7.25 5.58579 7.25 6C7.25 6.41421 6.91421 6.75 6.5 6.75H5.75V17.25H6.5C6.91421 17.25 7.25 17.5858 7.25 18C7.25 18.4142 6.91421 18.75 6.5 18.75H5C4.58579 18.75 4.25 18.4142 4.25 18V6C4.25 5.58579 4.58579 5.25 5 5.25H6.5ZM19 5.25C19.4142 5.25 19.75 5.58579 19.75 6V18C19.75 18.4142 19.4142 18.75 19 18.75H17.5C17.0858 18.75 16.75 18.4142 16.75 18C16.75 17.5858 17.0858 17.25 17.5 17.25H18.25V6.75H17.5C17.0858 6.75 16.75 6.41421 16.75 6C16.75 5.58579 17.0858 5.25 17.5 5.25H19ZM15 14.25C15.4142 14.25 15.75 14.5858 15.75 15C15.75 15.4142 15.4142 15.75 15 15.75H9C8.58579 15.75 8.25 15.4142 8.25 15C8.25 14.5858 8.58579 14.25 9 14.25H15ZM15 11.25C15.4142 11.25 15.75 11.5858 15.75 12C15.75 12.4142 15.4142 12.75 15 12.75H9C8.58579 12.75 8.25 12.4142 8.25 12C8.25 11.5858 8.58579 11.25 9 11.25H15ZM15 8.25C15.4142 8.25 15.75 8.58579 15.75 9C15.75 9.41421 15.4142 9.75 15 9.75H9C8.58579 9.75 8.25 9.41421 8.25 9C8.25 8.58579 8.58579 8.25 9 8.25H15Z', + $lookup: + 'M15.5 13.25C15.6989 13.25 15.8896 13.3291 16.0303 13.4697L16.5107 13.9502H18.5C18.7901 13.9502 19.0696 14.0511 19.292 14.2334L19.3838 14.3164L19.4668 14.4082C19.649 14.6306 19.75 14.9102 19.75 15.2002V18.5C19.75 18.8315 19.6182 19.1494 19.3838 19.3838C19.1494 19.6182 18.8315 19.75 18.5 19.75H14.5C14.1685 19.75 13.8506 19.6182 13.6162 19.3838C13.3818 19.1494 13.25 18.8315 13.25 18.5V14C13.25 13.5858 13.5858 13.25 14 13.25H15.5ZM14.75 18.25H18.25V15.4502H16.2002C16.0014 15.4502 15.8106 15.371 15.6699 15.2305L15.1895 14.75H14.75V18.25ZM7 11.5C7.41421 11.5 7.75 11.8358 7.75 12.25V14C7.75 14.1989 7.82907 14.3896 7.96973 14.5303C8.11038 14.6709 8.30109 14.75 8.5 14.75H9.72266L9.51172 14.5693C9.19739 14.2997 9.16116 13.8262 9.43066 13.5117C9.70025 13.1974 10.1738 13.1612 10.4883 13.4307L12.2383 14.9307C12.4044 15.0731 12.5 15.2811 12.5 15.5C12.5 15.7189 12.4044 15.9269 12.2383 16.0693L10.4883 17.5693C10.1738 17.8388 9.70025 17.8026 9.43066 17.4883C9.16116 17.1738 9.19739 16.7003 9.51172 16.4307L9.72266 16.25H8.5C7.90326 16.25 7.33114 16.0128 6.90918 15.5908C6.48722 15.1689 6.25 14.5967 6.25 14V12.25C6.25 11.8358 6.58579 11.5 7 11.5ZM6.5 4.25C6.69891 4.25 6.88962 4.32907 7.03027 4.46973L7.51074 4.9502H9.5C9.79009 4.9502 10.0696 5.05113 10.292 5.2334L10.3838 5.31641L10.4668 5.4082C10.649 5.63061 10.75 5.91019 10.75 6.2002V9.5C10.75 9.83152 10.6182 10.1494 10.3838 10.3838C10.1494 10.6182 9.83152 10.75 9.5 10.75H5.5C5.16848 10.75 4.85063 10.6182 4.61621 10.3838C4.38179 10.1494 4.25 9.83152 4.25 9.5V5C4.25 4.58579 4.58579 4.25 5 4.25H6.5ZM5.75 9.25H9.25V6.4502H7.2002C7.00137 6.4502 6.81056 6.371 6.66992 6.23047L6.18945 5.75H5.75V9.25Z', + $match: + 'M18.5 6.25C18.791 6.25 19.0562 6.41811 19.1797 6.68164C19.303 6.94523 19.2625 7.25695 19.0761 7.48047L14.7002 12.7256V19C14.7002 19.2661 14.5587 19.5119 14.3291 19.6465C14.0995 19.7811 13.8162 19.7842 13.584 19.6543L9.68357 17.4727C9.44673 17.3401 9.29985 17.0898 9.29978 16.8184V12.7256L4.92381 7.48047C4.73742 7.25695 4.69691 6.94523 4.82029 6.68164C4.94372 6.41811 5.20896 6.25 5.49998 6.25H18.5ZM10.626 11.9746C10.7382 12.1093 10.7997 12.2788 10.7998 12.4541V16.3779L13.2002 17.7207V12.4541C13.2003 12.2788 13.2618 12.1093 13.374 11.9746L16.8974 7.75H7.10252L10.626 11.9746Z', + $merge: + 'M16.4698 6.46979C16.7627 6.1769 17.2374 6.1769 17.5303 6.46979C17.8232 6.76268 17.8232 7.23746 17.5303 7.53033C17.0011 8.05956 16.4123 8.54956 15.8506 9.00983C15.2789 9.47831 14.7399 9.91207 14.2628 10.3594C13.2961 11.2657 12.7501 12.077 12.7501 13.0001V17.5001C12.75 17.9142 12.4142 18.25 12.0001 18.2501C11.5859 18.2501 11.2501 17.9142 11.2501 17.5001V13.0001C11.2501 12.077 10.704 11.2657 9.73737 10.3594C9.2602 9.91209 8.72116 9.47829 8.14948 9.00983C7.58781 8.54957 6.999 8.05954 6.46979 7.53033C6.17689 7.23744 6.17689 6.76268 6.46979 6.46979C6.76268 6.17689 7.23744 6.17689 7.53033 6.46979C8.00105 6.9405 8.5374 7.38812 9.10065 7.84967C9.65388 8.30301 10.24 8.77561 10.7628 9.26569C11.2149 9.68953 11.6516 10.1556 12.0001 10.6778C12.3485 10.1556 12.7853 9.68953 13.2374 9.26569C13.7601 8.77559 14.3462 8.30302 14.8995 7.84967C15.4627 7.3881 15.9991 6.94051 16.4698 6.46979Z', + $out: 'M17 14.25C17.4142 14.25 17.75 14.5858 17.75 15V17C17.75 17.3315 17.6182 17.6494 17.3838 17.8838C17.1494 18.1182 16.8315 18.25 16.5 18.25H8.5C8.16848 18.25 7.85063 18.1182 7.61621 17.8838C7.38179 17.6494 7.25 17.3315 7.25 17V15C7.25 14.5858 7.58579 14.25 8 14.25C8.41421 14.25 8.75 14.5858 8.75 15V16.75H16.25V15C16.25 14.5858 16.5858 14.25 17 14.25ZM12.5254 6.25098C12.5319 6.2512 12.5384 6.25156 12.5449 6.25195C12.5839 6.25426 12.622 6.25954 12.6592 6.26758C12.6925 6.2748 12.7246 6.28607 12.7568 6.29785C12.7693 6.30242 12.7828 6.30437 12.7949 6.30957C12.814 6.31772 12.8311 6.33004 12.8496 6.33984C12.9159 6.37502 12.9777 6.41713 13.0303 6.46973L16.0303 9.46973C16.3232 9.76262 16.3232 10.2374 16.0303 10.5303C15.7374 10.8232 15.2626 10.8232 14.9697 10.5303L13.25 8.81055V14.5C13.25 14.9142 12.9142 15.25 12.5 15.25C12.0858 15.25 11.75 14.9142 11.75 14.5V8.81055L10.0303 10.5303C9.73738 10.8232 9.26262 10.8232 8.96973 10.5303C8.67683 10.2374 8.67684 9.76262 8.96973 9.46973L11.9697 6.46973L12.0264 6.41797C12.0366 6.40965 12.0481 6.40321 12.0586 6.39551C12.0741 6.38414 12.09 6.37345 12.1064 6.36328C12.1303 6.34849 12.1546 6.3351 12.1797 6.32324C12.1979 6.31462 12.2164 6.30697 12.2354 6.2998C12.2629 6.28942 12.2909 6.28144 12.3193 6.27441C12.3394 6.26944 12.3592 6.26309 12.3799 6.25977C12.3909 6.25799 12.402 6.25616 12.4131 6.25488C12.4416 6.25159 12.4706 6.25 12.5 6.25C12.5085 6.25 12.517 6.2507 12.5254 6.25098Z', + $project: + 'M5 16.25C5.41421 16.25 5.75 16.5858 5.75 17V18.25H7C7.41421 18.25 7.75 18.5858 7.75 19C7.75 19.4142 7.41421 19.75 7 19.75H5C4.58579 19.75 4.25 19.4142 4.25 19V17C4.25 16.5858 4.58579 16.25 5 16.25ZM19 16.25C19.4142 16.25 19.75 16.5858 19.75 17V19C19.75 19.4142 19.4142 19.75 19 19.75H17C16.5858 19.75 16.25 19.4142 16.25 19C16.25 18.5858 16.5858 18.25 17 18.25H18.25V17C18.25 16.5858 18.5858 16.25 19 16.25ZM13 14.25C13.4142 14.25 13.75 14.5858 13.75 15C13.75 15.4142 13.4142 15.75 13 15.75H8.75C8.33579 15.75 8 15.4142 8 15C8 14.5858 8.33579 14.25 8.75 14.25H13ZM9.05273 11.25C9.4669 11.2501 9.80273 11.5858 9.80273 12C9.80273 12.4142 9.4669 12.7499 9.05273 12.75H8.5C8.08579 12.75 7.75 12.4142 7.75 12C7.75 11.5858 8.08579 11.25 8.5 11.25H9.05273ZM12.4629 11.25C12.8771 11.2501 13.2129 11.5858 13.2129 12C13.2129 12.4142 12.8771 12.7499 12.4629 12.75H11.6221C11.2081 12.7497 10.8721 12.4141 10.8721 12C10.8721 11.5859 11.2081 11.2503 11.6221 11.25H12.4629ZM15.5 11.25C15.9142 11.25 16.25 11.5858 16.25 12C16.25 12.4142 15.9142 12.75 15.5 12.75H14.9473C14.5331 12.7499 14.1973 12.4142 14.1973 12C14.1973 11.5858 14.5331 11.2501 14.9473 11.25H15.5ZM15.25 8.25C15.6642 8.25 16 8.58579 16 9C16 9.41421 15.6642 9.75 15.25 9.75H8.75C8.33579 9.75 8 9.41421 8 9C8 8.58579 8.33579 8.25 8.75 8.25H15.25ZM7 4.25C7.41421 4.25 7.75 4.58579 7.75 5C7.75 5.41421 7.41421 5.75 7 5.75H5.75V7C5.75 7.41421 5.41421 7.75 5 7.75C4.58579 7.75 4.25 7.41421 4.25 7V5C4.25 4.58579 4.58579 4.25 5 4.25H7ZM19 4.25C19.4142 4.25 19.75 4.58579 19.75 5V7C19.75 7.41421 19.4142 7.75 19 7.75C18.5858 7.75 18.25 7.41421 18.25 7V5.75H17C16.5858 5.75 16.25 5.41421 16.25 5C16.25 4.58579 16.5858 4.25 17 4.25H19Z', + $rankFusion: + 'M7.96973 13.4698C8.26262 13.1769 8.73738 13.1769 9.03027 13.4698L10.5303 14.9698C10.5787 15.0182 10.616 15.0733 10.6484 15.1299C10.664 15.1571 10.6803 15.1838 10.6924 15.213C10.7131 15.263 10.7279 15.3147 10.7373 15.3672C10.745 15.4104 10.75 15.4547 10.75 15.5001C10.75 15.5448 10.7448 15.5884 10.7373 15.6309C10.7279 15.6839 10.7132 15.7359 10.6924 15.7862C10.6715 15.8366 10.6451 15.8837 10.6143 15.9278C10.5893 15.9635 10.5621 15.9985 10.5303 16.0303L9.03027 17.5303C8.73739 17.8232 8.26261 17.8232 7.96973 17.5303C7.67684 17.2375 7.67686 16.7627 7.96973 16.4698L8.18945 16.2501H5C4.58581 16.2501 4.25003 15.9142 4.25 15.5001C4.25 15.0858 4.58579 14.7501 5 14.7501H8.18945L7.96973 14.5303C7.67684 14.2375 7.67686 13.7627 7.96973 13.4698ZM18 15.2501C18.4142 15.2501 18.75 15.5858 18.75 16.0001C18.75 16.4142 18.4142 16.7501 18 16.7501H12.5C12.0858 16.7501 11.75 16.4142 11.75 16.0001C11.75 15.5858 12.0858 15.2501 12.5 15.2501H18ZM18 11.2501C18.4142 11.2501 18.75 11.5858 18.75 12.0001C18.75 12.4142 18.4142 12.7501 18 12.7501H12.5C12.0858 12.7501 11.75 12.4142 11.75 12.0001C11.75 11.5858 12.0858 11.2501 12.5 11.2501H18ZM7.96973 6.46979C8.26262 6.17689 8.73738 6.17689 9.03027 6.46979L10.5303 7.96979C10.5787 8.01818 10.616 8.07326 10.6484 8.12994C10.664 8.15709 10.6803 8.18381 10.6924 8.21295C10.7131 8.26295 10.7279 8.31465 10.7373 8.36725C10.745 8.41039 10.75 8.4547 10.75 8.50006C10.75 8.54478 10.7448 8.58836 10.7373 8.63092C10.7279 8.68387 10.7132 8.73586 10.6924 8.78619C10.6715 8.83656 10.6451 8.88366 10.6143 8.9278C10.5893 8.96351 10.5621 8.99846 10.5303 9.03033L9.03027 10.5303C8.73739 10.8232 8.26261 10.8232 7.96973 10.5303C7.67684 10.2375 7.67686 9.76268 7.96973 9.46979L8.18945 9.25006H5C4.58581 9.25006 4.25003 8.91425 4.25 8.50006C4.25 8.08585 4.58579 7.75006 5 7.75006H8.18945L7.96973 7.53033C7.67684 7.23745 7.67686 6.76268 7.96973 6.46979ZM18 7.25006C18.4142 7.25006 18.75 7.58585 18.75 8.00006C18.75 8.41425 18.4142 8.75006 18 8.75006H12.5C12.0858 8.75006 11.75 8.41425 11.75 8.00006C11.75 7.58585 12.0858 7.25006 12.5 7.25006H18Z', + $redact: + 'M19 16.25C19.4142 16.25 19.75 16.5858 19.75 17C19.75 17.4142 19.4142 17.75 19 17.75H5C4.58579 17.75 4.25 17.4142 4.25 17C4.25 16.5858 4.58579 16.25 5 16.25H19ZM13.5996 10C13.8205 10 14 10.1795 14 10.4004V13.5996C14 13.8205 13.8205 14 13.5996 14H10.4004C10.1795 14 10 13.8205 10 13.5996V10.4004C10 10.1795 10.1795 10 10.4004 10H13.5996ZM8 11.25C8.41421 11.25 8.75 11.5858 8.75 12C8.75 12.4142 8.41421 12.75 8 12.75H5C4.58579 12.75 4.25 12.4142 4.25 12C4.25 11.5858 4.58579 11.25 5 11.25H8ZM19 11.25C19.4142 11.25 19.75 11.5858 19.75 12C19.75 12.4142 19.4142 12.75 19 12.75H16C15.5858 12.75 15.25 12.4142 15.25 12C15.25 11.5858 15.5858 11.25 16 11.25H19ZM7.59961 5C7.82052 5 8 5.17948 8 5.40039V8.59961C8 8.82052 7.82052 9 7.59961 9H4.40039C4.17948 9 4 8.82052 4 8.59961V5.40039C4 5.17948 4.17948 5 4.40039 5H7.59961ZM19 6.25C19.4142 6.25 19.75 6.58579 19.75 7C19.75 7.41421 19.4142 7.75 19 7.75H10C9.58579 7.75 9.25 7.41421 9.25 7C9.25 6.58579 9.58579 6.25 10 6.25H19Z', + $replaceRoot: + 'M18.5 12.25C19.1904 12.25 19.75 12.8096 19.75 13.5V17.5C19.75 18.1904 19.1904 18.75 18.5 18.75H14.5C13.8096 18.75 13.25 18.1904 13.25 17.5V13.5C13.25 12.8096 13.8096 12.25 14.5 12.25H18.5ZM9.46973 13.4697C9.76262 13.1768 10.2374 13.1768 10.5303 13.4697L12.0303 14.9697C12.0787 15.0181 12.116 15.0732 12.1484 15.1299C12.164 15.157 12.1803 15.1838 12.1924 15.2129C12.2131 15.2629 12.2279 15.3146 12.2373 15.3672C12.245 15.4103 12.25 15.4546 12.25 15.5C12.25 15.545 12.2449 15.589 12.2373 15.6318C12.2279 15.6845 12.213 15.7361 12.1924 15.7861C12.1803 15.8153 12.1639 15.842 12.1484 15.8691C12.116 15.9261 12.0789 15.9817 12.0303 16.0303L10.5303 17.5303C10.2374 17.8232 9.76262 17.8232 9.46973 17.5303C9.17684 17.2374 9.17683 16.7626 9.46973 16.4697L9.68945 16.25H7C6.58579 16.25 6.25 15.9142 6.25 15.5C6.25 15.0858 6.58579 14.75 7 14.75H9.68945L9.46973 14.5303C9.17684 14.2374 9.17683 13.7626 9.46973 13.4697ZM14.75 17.25H18.25V13.75H14.75V17.25ZM9.5 5.25C10.1904 5.25 10.75 5.80964 10.75 6.5V10.5C10.75 11.1904 10.1904 11.75 9.5 11.75H5.5C4.80964 11.75 4.25 11.1904 4.25 10.5V6.5C4.25 5.80964 4.80964 5.25 5.5 5.25H9.5ZM13.9697 6.46973C14.2626 6.17683 14.7374 6.17684 15.0303 6.46973C15.3232 6.76262 15.3232 7.23738 15.0303 7.53027L14.8105 7.75H17.5C17.9142 7.75 18.25 8.08579 18.25 8.5C18.25 8.91421 17.9142 9.25 17.5 9.25H14.8105L15.0303 9.46973C15.3232 9.76262 15.3232 10.2374 15.0303 10.5303C14.7374 10.8232 14.2626 10.8232 13.9697 10.5303L12.4697 9.03027C12.421 8.98155 12.3831 8.92625 12.3506 8.86914C12.3351 8.84198 12.3187 8.81527 12.3066 8.78613C12.286 8.73615 12.2711 8.6844 12.2617 8.63184C12.2541 8.58903 12.25 8.54499 12.25 8.5C12.25 8.45468 12.254 8.41029 12.2617 8.36719C12.2708 8.31636 12.285 8.26621 12.3047 8.21777L12.3086 8.20801C12.3202 8.18061 12.336 8.1555 12.3506 8.12988C12.383 8.07305 12.4212 8.01824 12.4697 7.96973L13.9697 6.46973ZM5.75 10.25H9.25V6.75H5.75V10.25Z', + $replaceWith: + 'M17.5 8.25C18.1904 8.25 18.75 8.80964 18.75 9.5V13.5C18.75 14.1904 18.1904 14.75 17.5 14.75H13.5C12.8096 14.75 12.25 14.1904 12.25 13.5V9.5C12.25 8.80964 12.8096 8.25 13.5 8.25H17.5ZM7.96973 9.46973C8.26262 9.17683 8.73738 9.17684 9.03027 9.46973L10.5303 10.9697C10.8232 11.2626 10.8232 11.7374 10.5303 12.0303L9.03027 13.5303C8.73738 13.8232 8.26262 13.8232 7.96973 13.5303C7.67684 13.2374 7.67683 12.7626 7.96973 12.4697L8.18945 12.25H5C4.58579 12.25 4.25 11.9142 4.25 11.5C4.25 11.0858 4.58579 10.75 5 10.75H8.18945L7.96973 10.5303C7.67684 10.2374 7.67683 9.76262 7.96973 9.46973ZM13.75 13.25H17.25V9.75H13.75V13.25Z', + $sample: + 'M17.25 4.25C18.6307 4.25 19.75 5.36929 19.75 6.75V17.25C19.75 18.6307 18.6307 19.75 17.25 19.75H6.75C5.36929 19.75 4.25 18.6307 4.25 17.25V6.75C4.25 5.36929 5.36929 4.25 6.75 4.25H17.25ZM6.75 5.75C6.19772 5.75 5.75 6.19772 5.75 6.75V17.25C5.75 17.8023 6.19772 18.25 6.75 18.25H17.25C17.8023 18.25 18.25 17.8023 18.25 17.25V6.75C18.25 6.19772 17.8023 5.75 17.25 5.75H6.75ZM10.25 14C10.9404 14 11.5 14.5596 11.5 15.25C11.5 15.9404 10.9404 16.5 10.25 16.5C9.55964 16.5 9 15.9404 9 15.25C9 14.5596 9.55964 14 10.25 14ZM15.25 11C15.9404 11 16.5 11.5596 16.5 12.25C16.5 12.9404 15.9404 13.5 15.25 13.5C14.5596 13.5 14 12.9404 14 12.25C14 11.5596 14.5596 11 15.25 11ZM9.25 8C9.94036 8 10.5 8.55964 10.5 9.25C10.5 9.94036 9.94036 10.5 9.25 10.5C8.55964 10.5 8 9.94036 8 9.25C8 8.55964 8.55964 8 9.25 8Z', + $search: + 'M10 4.25C13.1756 4.25 15.75 6.82436 15.75 10C15.75 11.3173 15.3047 12.5295 14.5596 13.499L19.0303 17.9697C19.3232 18.2626 19.3232 18.7374 19.0303 19.0303C18.7374 19.3232 18.2626 19.3232 17.9697 19.0303L13.499 14.5596C12.5295 15.3047 11.3173 15.75 10 15.75C6.82436 15.75 4.25 13.1756 4.25 10C4.25 6.82436 6.82436 4.25 10 4.25ZM10 5.75C7.65279 5.75 5.75 7.65279 5.75 10C5.75 12.3472 7.65279 14.25 10 14.25C11.0876 14.25 12.0784 13.8399 12.8301 13.168C12.8654 13.0968 12.9105 13.029 12.9697 12.9697C13.029 12.9105 13.0968 12.8654 13.168 12.8301C13.8399 12.0784 14.25 11.0876 14.25 10C14.25 7.65279 12.3472 5.75 10 5.75Z', + $searchMeta: + 'M10 4.25C13.1756 4.25 15.75 6.82436 15.75 10C15.75 11.3173 15.3047 12.5295 14.5596 13.499L19.0303 17.9697C19.3232 18.2626 19.3232 18.7374 19.0303 19.0303C18.7374 19.3232 18.2626 19.3232 17.9697 19.0303L13.499 14.5596C12.5295 15.3047 11.3173 15.75 10 15.75C6.82436 15.75 4.25 13.1756 4.25 10C4.25 6.82436 6.82436 4.25 10 4.25ZM10 5.75C7.65279 5.75 5.75 7.65279 5.75 10C5.75 12.3472 7.65279 14.25 10 14.25C11.0876 14.25 12.0784 13.8399 12.8301 13.168C12.8654 13.0968 12.9105 13.029 12.9697 12.9697C13.029 12.9105 13.0968 12.8654 13.168 12.8301C13.8399 12.0784 14.25 11.0876 14.25 10C14.25 7.65279 12.3472 5.75 10 5.75ZM8 9.25C8.41421 9.25 8.75 9.58579 8.75 10V12C8.75 12.4142 8.41421 12.75 8 12.75C7.58579 12.75 7.25 12.4142 7.25 12V10C7.25 9.58579 7.58579 9.25 8 9.25ZM10 6.75C10.4142 6.75 10.75 7.08579 10.75 7.5V12C10.75 12.4142 10.4142 12.75 10 12.75C9.58579 12.75 9.25 12.4142 9.25 12V7.5C9.25 7.08579 9.58579 6.75 10 6.75ZM12 8.25C12.4142 8.25 12.75 8.58579 12.75 9V12C12.75 12.4142 12.4142 12.75 12 12.75C11.5858 12.75 11.25 12.4142 11.25 12V9C11.25 8.58579 11.5858 8.25 12 8.25Z', + $set: 'M9.2002 4.25C9.61432 4.25011 9.9502 4.58585 9.9502 5C9.9502 5.41415 9.61432 5.74989 9.2002 5.75H8.2666C8.00794 5.75002 7.73409 5.86778 7.51367 6.12207C7.2903 6.37981 7.15039 6.75006 7.15039 7.1543V10.3848C7.15036 10.9726 6.94996 11.5531 6.57031 12C6.94996 12.4469 7.15036 13.0274 7.15039 13.6152V16.8457C7.15039 17.2499 7.2903 17.6202 7.51367 17.8779C7.73409 18.1322 8.00794 18.25 8.2666 18.25H9.2002C9.61432 18.2501 9.95019 18.5859 9.9502 19C9.9502 19.4141 9.61432 19.7499 9.2002 19.75H8.2666C7.53518 19.75 6.85956 19.4138 6.37988 18.8604C5.90314 18.3102 5.65039 17.5839 5.65039 16.8457V13.6152C5.65036 13.3539 5.55868 13.1206 5.42285 12.9639C5.29001 12.8108 5.13481 12.75 5 12.75C4.58579 12.75 4.25 12.4142 4.25 12C4.25 11.5858 4.58579 11.25 5 11.25C5.13481 11.25 5.29001 11.1892 5.42285 11.0361C5.55868 10.8794 5.65036 10.6461 5.65039 10.3848V7.1543C5.65039 6.41608 5.90314 5.68975 6.37988 5.13965C6.85956 4.58618 7.53518 4.25002 8.2666 4.25H9.2002ZM15.7334 4.25C16.4647 4.25008 17.1405 4.58628 17.6201 5.13965C18.0968 5.68974 18.3496 6.41612 18.3496 7.1543V10.3848C18.3496 10.6461 18.4404 10.8794 18.5762 11.0361C18.709 11.1894 18.8651 11.2499 19 11.25C19.4141 11.2501 19.75 11.5859 19.75 12C19.75 12.4141 19.4141 12.7499 19 12.75C18.8651 12.7501 18.709 12.8106 18.5762 12.9639C18.4404 13.1206 18.3496 13.3539 18.3496 13.6152V16.8457C18.3496 17.5839 18.0968 18.3103 17.6201 18.8604C17.1405 19.4137 16.4647 19.7499 15.7334 19.75H14.7998C14.3857 19.7499 14.0498 19.4141 14.0498 19C14.0498 18.5859 14.3857 18.2501 14.7998 18.25H15.7334C15.992 18.2499 16.266 18.1321 16.4863 17.8779C16.7097 17.6202 16.8496 17.2499 16.8496 16.8457V13.6152C16.8496 13.0276 17.0493 12.4468 17.4287 12C17.0493 11.5532 16.8496 10.9724 16.8496 10.3848V7.1543C16.8496 6.75008 16.7097 6.37981 16.4863 6.12207C16.266 5.86786 15.992 5.75008 15.7334 5.75H14.7998C14.3857 5.74989 14.0498 5.41415 14.0498 5C14.0498 4.58585 14.3857 4.25011 14.7998 4.25H15.7334ZM14 13.25C14.4142 13.25 14.75 13.5858 14.75 14C14.75 14.4142 14.4142 14.75 14 14.75H10C9.58579 14.75 9.25 14.4142 9.25 14C9.25 13.5858 9.58579 13.25 10 13.25H14ZM14 9.75C14.4142 9.75 14.75 10.0858 14.75 10.5C14.75 10.9142 14.4142 11.25 14 11.25H10C9.58579 11.25 9.25 10.9142 9.25 10.5C9.25 10.0858 9.58579 9.75 10 9.75H14Z', + $setWindowFields: + 'M18.2998 5.25C19.1006 5.25 19.75 5.89938 19.75 6.7002V17.2998C19.75 18.1006 19.1006 18.75 18.2998 18.75H5.7002C4.89938 18.75 4.25 18.1006 4.25 17.2998V6.7002C4.25 5.89938 4.89938 5.25 5.7002 5.25H18.2998ZM5.75 17.25H18.25V9.75H5.75V17.25ZM12 14.5C12.4142 14.5 12.75 14.8358 12.75 15.25C12.75 15.6642 12.4142 16 12 16H8C7.58579 16 7.25 15.6642 7.25 15.25C7.25 14.8358 7.58579 14.5 8 14.5H12ZM15 11.5C15.4142 11.5 15.75 11.8358 15.75 12.25C15.75 12.6642 15.4142 13 15 13H8C7.58579 13 7.25 12.6642 7.25 12.25C7.25 11.8358 7.58579 11.5 8 11.5H15ZM5.75 8.25H18.25V6.75H5.75V8.25Z', + $skip: + 'M11.6748 7.32422C11.9347 7.19933 12.2436 7.23396 12.4688 7.41406L17.4688 11.4141C17.6467 11.5564 17.75 11.7722 17.75 12C17.75 12.2278 17.6467 12.4436 17.4688 12.5859L12.4688 16.5859C12.2436 16.766 11.9347 16.8007 11.6748 16.6758C11.4151 16.5508 11.25 16.2882 11.25 16V12.7607L6.46875 16.5859C6.24362 16.766 5.93465 16.8007 5.6748 16.6758C5.41514 16.5508 5.25 16.2882 5.25 16V8C5.25 7.71182 5.41514 7.44917 5.6748 7.32422C5.93465 7.19933 6.24362 7.23396 6.46875 7.41406L11.25 11.2383V8C11.25 7.71182 11.4151 7.44917 11.6748 7.32422ZM18.5 7.25C18.9142 7.25 19.25 7.58579 19.25 8V16C19.25 16.4142 18.9142 16.75 18.5 16.75C18.0858 16.75 17.75 16.4142 17.75 16V8C17.75 7.58579 18.0858 7.25 18.5 7.25ZM6.75 14.4385L9.79883 12L6.75 9.56055V14.4385ZM12.75 14.4385L15.7988 12L12.75 9.56055V14.4385Z', + $sort: + 'M5.45898 6.20211C5.79565 5.91375 6.2926 5.93412 6.60644 6.26364L7.74902 7.46383C8.08368 7.81527 8.08366 8.38484 7.74902 8.73629C7.47853 9.02029 7.07258 9.07434 6.74999 8.89938V14.0996C7.07251 13.9249 7.47865 13.9798 7.74902 14.2636C8.08368 14.6151 8.08361 15.1846 7.74902 15.5361L6.60644 16.7363C6.27169 17.0878 5.72829 17.0878 5.39355 16.7363L4.25097 15.5361C3.91641 15.1846 3.91635 14.6151 4.25097 14.2636C4.52132 13.9798 4.92748 13.9249 5.24999 14.0996V8.89938C4.92741 9.07432 4.52145 9.02028 4.25097 8.73629C3.91635 8.38485 3.91634 7.81527 4.25097 7.46383L5.39355 6.26364L5.45898 6.20211ZM19 15.25C19.4142 15.25 19.75 15.5858 19.75 16C19.75 16.4142 19.4142 16.75 19 16.75H11C10.5858 16.75 10.25 16.4142 10.25 16C10.25 15.5858 10.5858 15.25 11 15.25H19ZM19 11.25C19.4142 11.25 19.75 11.5858 19.75 12C19.75 12.4142 19.4142 12.75 19 12.75H11C10.5858 12.75 10.25 12.4142 10.25 12C10.25 11.5858 10.5858 11.25 11 11.25H19ZM19 7.24997C19.4142 7.24997 19.75 7.58577 19.75 7.99997C19.75 8.41418 19.4142 8.74997 19 8.74997H11C10.5858 8.74996 10.25 8.41418 10.25 7.99997C10.25 7.58577 10.5858 7.24997 11 7.24997H19Z', + $sortByCount: + 'M8.02545 5.25098C8.0323 5.25121 8.03912 5.25153 8.04596 5.25195C8.08462 5.25429 8.12238 5.2596 8.15924 5.26758C8.19252 5.2748 8.22466 5.28607 8.2569 5.29785C8.26938 5.30242 8.28282 5.30437 8.29498 5.30957C8.31407 5.31772 8.33118 5.33004 8.34967 5.33984C8.41594 5.37502 8.47774 5.41713 8.53033 5.46973L10.5303 7.46973C10.8232 7.76261 10.8232 8.23739 10.5303 8.53027C10.2375 8.82316 9.76268 8.82314 9.46979 8.53027L8.75006 7.81055V18C8.75006 18.4142 8.41425 18.75 8.00006 18.75C7.58585 18.75 7.25006 18.4142 7.25006 18V7.81055L6.53033 8.53027C6.23745 8.82316 5.76268 8.82314 5.46979 8.53027C5.17689 8.23738 5.17689 7.76262 5.46979 7.46973L7.46979 5.46973L7.52643 5.41797C7.53663 5.40965 7.54813 5.40321 7.55865 5.39551C7.57419 5.38414 7.59009 5.37345 7.60651 5.36328C7.63041 5.34849 7.65468 5.3351 7.67975 5.32324C7.69792 5.31463 7.71647 5.30697 7.73541 5.2998C7.76299 5.28942 7.791 5.28144 7.8194 5.27441C7.83946 5.26944 7.85928 5.26309 7.87994 5.25977C7.891 5.25799 7.90204 5.25616 7.91315 5.25488C7.94164 5.2516 7.97069 5.25 8.00006 5.25C8.00856 5.25 8.01702 5.2507 8.02545 5.25098ZM16.3497 18.2002H15.3506V14.4219H15.3223L14.2403 15.0996V14.2139L15.4102 13.4727H16.3497V18.2002ZM15.4483 5.4082C15.6912 5.40823 15.925 5.44882 16.1495 5.53027C16.3757 5.61183 16.578 5.74239 16.7549 5.9209C16.9333 6.09936 17.0738 6.33659 17.1768 6.63184C17.2814 6.92566 17.3344 7.28628 17.336 7.71387C17.336 8.1155 17.291 8.47458 17.2003 8.79004C17.111 9.10384 16.9822 9.37083 16.8145 9.59082C16.6468 9.8108 16.444 9.97836 16.2071 10.0938C15.9702 10.2075 15.7054 10.2646 15.4131 10.2646C15.0979 10.2646 14.8197 10.2035 14.5782 10.082C14.3366 9.95893 14.1419 9.79187 13.9942 9.58105C13.8481 9.36882 13.7594 9.1307 13.7286 8.86621H14.7139C14.7524 9.03834 14.8332 9.17224 14.9561 9.26758C15.0792 9.36139 15.2317 9.40815 15.4131 9.4082C15.7209 9.4082 15.9553 9.27454 16.1153 9.00684C16.2753 8.73761 16.3559 8.369 16.3575 7.90137H16.3253C16.2545 8.03972 16.159 8.15884 16.0391 8.25879C15.9191 8.35723 15.7814 8.43345 15.626 8.4873C15.4722 8.54116 15.3077 8.56836 15.1339 8.56836C14.8555 8.56831 14.6071 8.50275 14.3887 8.37207C14.1702 8.24128 13.9973 8.0613 13.8712 7.83203C13.745 7.60275 13.6827 7.34079 13.6827 7.04688C13.6812 6.73005 13.7538 6.44785 13.9014 6.2002C14.0492 5.95244 14.2559 5.7582 14.5206 5.61816C14.7867 5.4767 15.096 5.40666 15.4483 5.4082ZM15.4551 6.19336C15.2997 6.19336 15.1607 6.22985 15.0391 6.30371C14.9192 6.37756 14.8237 6.47702 14.753 6.60156C14.6838 6.72615 14.6499 6.86573 14.6514 7.01953C14.6515 7.17482 14.6853 7.3149 14.753 7.43945C14.8222 7.56256 14.9167 7.66051 15.0352 7.73438C15.1551 7.80662 15.2917 7.84369 15.4454 7.84375C15.5608 7.84375 15.6682 7.82141 15.7667 7.77832C15.8651 7.73524 15.9502 7.67595 16.0225 7.60059C16.0963 7.52371 16.1548 7.43585 16.1964 7.33594C16.2379 7.23591 16.2579 7.12894 16.2579 7.0166C16.2563 6.86764 16.2214 6.73088 16.1524 6.60645C16.0832 6.48185 15.9878 6.38106 15.8663 6.30566C15.7447 6.23028 15.6074 6.19338 15.4551 6.19336Z', + $unionWith: + 'M14 6.25C17.1756 6.25 19.75 8.82436 19.75 12C19.75 15.1756 17.1756 17.75 14 17.75C13.2966 17.75 12.623 17.6228 12 17.3916C11.377 17.6228 10.7034 17.75 10 17.75C6.82436 17.75 4.25 15.1756 4.25 12C4.25 8.82436 6.82436 6.25 10 6.25C10.7033 6.25 11.3771 6.37632 12 6.60742C12.6229 6.37632 13.2967 6.25 14 6.25ZM10 7.75C7.65279 7.75 5.75 9.65279 5.75 12C5.75 14.3472 7.65279 16.25 10 16.25C10.0415 16.25 10.0828 16.2473 10.124 16.2461C8.97281 15.1946 8.25 13.682 8.25 12C8.25 10.3178 8.97252 8.80441 10.124 7.75293C10.0828 7.75175 10.0415 7.75 10 7.75ZM13.875 7.75293C15.0268 8.80443 15.75 10.3175 15.75 12C15.75 13.6822 15.0265 15.1946 13.875 16.2461C13.9165 16.2473 13.9582 16.25 14 16.25C16.3472 16.25 18.25 14.3472 18.25 12C18.25 9.65279 16.3472 7.75 14 7.75C13.9582 7.75 13.9165 7.75173 13.875 7.75293ZM12 8.24902C10.6611 8.96444 9.75 10.3758 9.75 12C9.75 13.624 10.6613 15.0345 12 15.75C13.3387 15.0345 14.25 13.624 14.25 12C14.25 10.3758 13.3389 8.96444 12 8.24902Z', + $unset: + 'M9.2002 4.25C9.61432 4.25011 9.9502 4.58585 9.9502 5C9.9502 5.41415 9.61432 5.74989 9.2002 5.75H8.2666C8.00794 5.75002 7.73409 5.86778 7.51367 6.12207C7.2903 6.37981 7.15039 6.75006 7.15039 7.1543V10.3848C7.15036 10.9726 6.94996 11.5531 6.57031 12C6.94996 12.4469 7.15036 13.0274 7.15039 13.6152V16.8457C7.15039 17.2499 7.2903 17.6202 7.51367 17.8779C7.73409 18.1322 8.00794 18.25 8.2666 18.25H9.2002C9.61432 18.2501 9.95019 18.5859 9.9502 19C9.9502 19.4141 9.61432 19.7499 9.2002 19.75H8.2666C7.53518 19.75 6.85956 19.4138 6.37988 18.8604C5.90314 18.3102 5.65039 17.5839 5.65039 16.8457V13.6152C5.65036 13.3539 5.55868 13.1206 5.42285 12.9639C5.29001 12.8108 5.13481 12.75 5 12.75C4.58579 12.75 4.25 12.4142 4.25 12C4.25 11.5858 4.58579 11.25 5 11.25C5.13481 11.25 5.29001 11.1892 5.42285 11.0361C5.55868 10.8794 5.65036 10.6461 5.65039 10.3848V7.1543C5.65039 6.41608 5.90314 5.68975 6.37988 5.13965C6.85956 4.58618 7.53518 4.25002 8.2666 4.25H9.2002ZM15.7334 4.25C16.4647 4.25008 17.1405 4.58628 17.6201 5.13965C18.0968 5.68974 18.3496 6.41612 18.3496 7.1543V10.3848C18.3496 10.6461 18.4404 10.8794 18.5762 11.0361C18.709 11.1894 18.8651 11.2499 19 11.25C19.4141 11.2501 19.75 11.5859 19.75 12C19.75 12.4141 19.4141 12.7499 19 12.75C18.8651 12.7501 18.709 12.8106 18.5762 12.9639C18.4404 13.1206 18.3496 13.3539 18.3496 13.6152V16.8457C18.3496 17.5839 18.0968 18.3103 17.6201 18.8604C17.1405 19.4137 16.4647 19.7499 15.7334 19.75H14.7998C14.3857 19.7499 14.0498 19.4142 14.0498 19C14.0498 18.5858 14.3857 18.2501 14.7998 18.25H15.7334C15.992 18.2499 16.266 18.1321 16.4863 17.8779C16.7097 17.6202 16.8496 17.2499 16.8496 16.8457V13.6152C16.8496 13.0276 17.0493 12.4468 17.4287 12C17.0493 11.5532 16.8496 10.9724 16.8496 10.3848V7.1543C16.8496 6.75008 16.7097 6.37981 16.4863 6.12207C16.266 5.86786 15.992 5.75008 15.7334 5.75H14.7998C14.3857 5.7499 14.0498 5.41415 14.0498 5C14.0498 4.58585 14.3857 4.2501 14.7998 4.25H15.7334ZM13.7334 11.25C14.1476 11.25 14.4834 11.5858 14.4834 12C14.4834 12.4142 14.1476 12.75 13.7334 12.75H10C9.58579 12.75 9.25 12.4142 9.25 12C9.25 11.5858 9.58579 11.25 10 11.25H13.7334Z', + $unwind: + 'M8 4.25C8.41421 4.25 8.75 4.58579 8.75 5C8.75 5.41421 8.41421 5.75 8 5.75H6C5.97428 5.75 5.9213 5.76125 5.8623 5.83008C5.80032 5.9025 5.75 6.02245 5.75 6.16699V17.833C5.75 17.9776 5.80032 18.0975 5.8623 18.1699C5.9213 18.2387 5.97428 18.25 6 18.25H8C8.41421 18.25 8.75 18.5858 8.75 19C8.75 19.4142 8.41421 19.75 8 19.75H6C5.49535 19.75 5.03971 19.5152 4.72363 19.1465C4.41062 18.7813 4.25 18.3072 4.25 17.833V6.16699C4.25 5.69282 4.41062 5.2187 4.72363 4.85352C5.03971 4.48484 5.49535 4.25 6 4.25H8ZM19 16.25C19.4142 16.25 19.75 16.5858 19.75 17C19.75 17.4142 19.4142 17.75 19 17.75H14C13.5858 17.75 13.25 17.4142 13.25 17C13.25 16.5858 13.5858 16.25 14 16.25H19ZM16 12.25C16.4142 12.25 16.75 12.5858 16.75 13C16.75 13.4142 16.4142 13.75 16 13.75H11C10.5858 13.75 10.25 13.4142 10.25 13C10.25 12.5858 10.5858 12.25 11 12.25H16ZM13 8.25C13.4142 8.25 13.75 8.58579 13.75 9C13.75 9.41421 13.4142 9.75 13 9.75H8C7.58579 9.75 7.25 9.41421 7.25 9C7.25 8.58579 7.58579 8.25 8 8.25H13Z', + $vectorSearch: + 'M10.1855 4.25C13.4633 4.2502 16.1201 6.90776 16.1201 10.1855C16.12 11.5539 15.655 12.8126 14.877 13.8164L19.5303 18.4697C19.8228 18.7626 19.823 19.2375 19.5303 19.5303C19.2375 19.823 18.7626 19.8228 18.4697 19.5303L13.8164 14.877C12.8126 15.655 11.5539 16.12 10.1855 16.1201C6.90776 16.1201 4.2502 13.4633 4.25 10.1855C4.25 6.90763 6.90763 4.25 10.1855 4.25ZM10.1855 5.75C7.73606 5.75 5.75 7.73606 5.75 10.1855C5.7502 12.6349 7.73618 14.6201 10.1855 14.6201C11.3222 14.62 12.3578 14.1913 13.1426 13.4883C13.1781 13.4151 13.2234 13.3449 13.2842 13.2842C13.3449 13.2234 13.4151 13.1781 13.4883 13.1426C14.1913 12.3578 14.62 11.3222 14.6201 10.1855C14.6201 7.73618 12.6349 5.7502 10.1855 5.75ZM10.1533 6.84961C10.5674 6.84961 10.9031 7.18558 10.9033 7.59961V10.0508L12.833 11.3828C13.1739 11.6182 13.2598 12.0859 13.0244 12.4268C12.789 12.7672 12.3212 12.8524 11.9805 12.6172L10.1533 11.3555L8.32617 12.6172C7.98552 12.8524 7.51868 12.7671 7.2832 12.4268C7.04785 12.0859 7.13375 11.6182 7.47461 11.3828L9.40332 10.0508V7.59961C9.40353 7.1857 9.73941 6.84981 10.1533 6.84961Z', +} as const; diff --git a/packages/aggregation-stage-icons/tsconfig-lint.json b/packages/aggregation-stage-icons/tsconfig-lint.json new file mode 100644 index 00000000..6bdef84f --- /dev/null +++ b/packages/aggregation-stage-icons/tsconfig-lint.json @@ -0,0 +1,5 @@ +{ + "extends": "./tsconfig.json", + "include": ["**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/aggregation-stage-icons/tsconfig.json b/packages/aggregation-stage-icons/tsconfig.json new file mode 100644 index 00000000..b725b6ea --- /dev/null +++ b/packages/aggregation-stage-icons/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "@mongodb-js/tsconfig-devtools/tsconfig.common.json", + "compilerOptions": { + "jsx": "react" + } +}