From 39dc636b02d8540e845cf85c6e8dd08b6a6c121c Mon Sep 17 00:00:00 2001 From: Stephen Zhou Date: Mon, 20 Apr 2026 16:07:46 +0800 Subject: [PATCH] fix: missing icon from iconify set (#35420) --- .../custom-public/icons.json | 294 ++++----- .../custom-public/info.json | 2 +- .../custom-vender/icons.json | 556 +++++++++--------- packages/iconify-collections/package.json | 5 +- ...ollections.mjs => generate-collections.ts} | 161 +++-- pnpm-lock.yaml | 15 +- pnpm-workspace.yaml | 2 +- 7 files changed, 558 insertions(+), 477 deletions(-) rename packages/iconify-collections/scripts/{generate-collections.mjs => generate-collections.ts} (59%) diff --git a/packages/iconify-collections/custom-public/icons.json b/packages/iconify-collections/custom-public/icons.json index 347b6145e2..13d8400b89 100644 --- a/packages/iconify-collections/custom-public/icons.json +++ b/packages/iconify-collections/custom-public/icons.json @@ -1,571 +1,579 @@ { "prefix": "custom-public", - "lastModified": 1775115796, + "lastModified": 1776670621, "icons": { "avatar-user": { - "body": "", + "body": "", "width": 512, "height": 512 }, "billing-ar-cube-1": { - "body": "", + "body": "", "width": 28 }, "billing-asterisk": { - "body": "", + "body": "", "width": 28 }, "billing-aws-marketplace-dark": { - "body": "", + "body": "", "width": 126, "height": 25 }, "billing-aws-marketplace-light": { - "body": "", + "body": "", "width": 126, "height": 24 }, "billing-azure": { - "body": "", + "body": "", "width": 21, "height": 20 }, "billing-buildings": { - "body": "" + "body": "" }, "billing-diamond": { - "body": "" + "body": "" }, "billing-google-cloud": { - "body": "", + "body": "", "width": 22, "height": 18 }, "billing-group-2": { - "body": "" + "body": "" }, "billing-keyframe": { - "body": "" + "body": "" }, "billing-sparkles-soft": { - "body": "", + "body": "", "width": 13, "height": 13 }, "common-d": { - "body": "" + "body": "" }, "common-diagonal-dividing-line": { - "body": "", + "body": "", "width": 7, "height": 20 }, "common-dify": { - "body": "", + "body": "", "width": 50, "height": 26 }, + "common-enter-key": { + "body": "" + }, "common-gdpr": { - "body": "", + "body": "", "width": 23, "height": 28 }, "common-github": { - "body": "", + "body": "", "width": 18, "height": 18 }, "common-highlight": { - "body": "", + "body": "", "width": 46, "height": 24 }, "common-iso": { - "body": "", + "body": "", "width": 64, "height": 64 }, "common-line-3": { - "body": "", + "body": "", "width": 5, "height": 12 }, "common-lock": { - "body": "" + "body": "" }, "common-message-chat-square": { - "body": "" + "body": "" }, "common-multi-path-retrieval": { - "body": "", + "body": "", "width": 36, "height": 36 }, "common-n-to-1-retrieval": { - "body": "", + "body": "", "width": 36, "height": 36 }, "common-notion": { - "body": "", + "body": "", "width": 20, "height": 20 }, "common-soc2": { - "body": "", + "body": "", "width": 28, "height": 28 }, "common-sparkles-soft": { - "body": "", + "body": "", "width": 14, "height": 14 }, "common-sparkles-soft-accent": { - "body": "" + "body": "" }, "education-triangle": { - "body": "", + "body": "", "height": 22 }, "files-csv": { - "body": "" + "body": "" }, "files-doc": { - "body": "" + "body": "" }, "files-docx": { - "body": "" + "body": "" }, "files-html": { - "body": "" + "body": "" }, "files-json": { - "body": "" + "body": "" }, "files-md": { - "body": "" + "body": "" }, "files-pdf": { - "body": "" + "body": "" }, "files-txt": { - "body": "" + "body": "" }, "files-unknown": { - "body": "" + "body": "" }, "files-xlsx": { - "body": "", + "body": "", "width": 24, "height": 26 }, "files-yaml": { - "body": "", + "body": "", "width": 24, "height": 26 }, "knowledge-file": { - "body": "", + "body": "", "width": 16, "height": 16 }, "knowledge-option-card-effect-blue": { - "body": "", + "body": "", "width": 214, "height": 124 }, "knowledge-option-card-effect-blue-light": { - "body": "", + "body": "", "width": 212, "height": 74 }, "knowledge-option-card-effect-orange": { - "body": "" + "body": "" }, "knowledge-option-card-effect-purple": { - "body": "" + "body": "" }, "knowledge-option-card-effect-teal": { - "body": "", + "body": "", "width": 212, "height": 92 }, "knowledge-selection-mod": { - "body": "", + "body": "", "width": 10, "height": 10 }, "knowledge-watercrawl": { - "body": "", + "body": "", "width": 500, "height": 500 }, "knowledge-dataset-card-external-knowledge-base": { - "body": "" + "body": "" }, "knowledge-dataset-card-general": { - "body": "" + "body": "" }, "knowledge-dataset-card-graph": { - "body": "" + "body": "" }, "knowledge-dataset-card-parent-child": { - "body": "" + "body": "" }, "knowledge-dataset-card-qa": { - "body": "" + "body": "" }, "knowledge-online-drive-buckets-blue": { - "body": "", + "body": "", "height": 21 }, "knowledge-online-drive-buckets-gray": { - "body": "", + "body": "", "width": 18 }, "knowledge-online-drive-folder": { - "body": "" + "body": "" }, "llm-anthropic": { - "body": "" + "body": "" }, "llm-anthropic-dark": { - "body": "", + "body": "", "width": 90, "height": 10 }, "llm-anthropic-light": { - "body": "", + "body": "", "width": 90, "height": 10 }, "llm-anthropic-short-light": { - "body": "", + "body": "", "width": 40, "height": 40 }, "llm-anthropic-text": { - "body": "", + "body": "", "width": 90, "height": 20 }, "llm-azure-openai-service": { - "body": "", + "body": "", "width": 56 }, "llm-azure-openai-service-text": { - "body": "", + "body": "", "width": 212 }, "llm-azureai": { - "body": "" + "body": "" }, "llm-azureai-text": { - "body": "", + "body": "", "width": 92 }, "llm-baichuan": { - "body": "" + "body": "" }, "llm-baichuan-text": { - "body": "", + "body": "", "width": 130 }, "llm-chatglm": { - "body": "" + "body": "" }, "llm-chatglm-text": { - "body": "", + "body": "", "width": 100 }, "llm-cohere": { - "body": "", + "body": "", "width": 22, "height": 22 }, "llm-cohere-text": { - "body": "", + "body": "", "width": 120 }, "llm-deepseek": { - "body": "", + "body": "", "width": 40, "height": 40 }, "llm-gemini": { - "body": "", + "body": "", "width": 40, "height": 40 }, "llm-gpt-3": { - "body": "" + "body": "" }, "llm-gpt-4": { - "body": "" + "body": "" }, "llm-grok": { - "body": "", + "body": "", "width": 40, "height": 40 }, "llm-huggingface": { - "body": "" + "body": "" }, "llm-huggingface-text": { - "body": "", + "body": "", "width": 120 }, "llm-huggingface-text-hub": { - "body": "", + "body": "", "width": 151 }, "llm-iflytek-spark": { - "body": "" + "body": "" }, "llm-iflytek-spark-text": { - "body": "", + "body": "", "width": 150 }, "llm-iflytek-spark-text-cn": { - "body": "", + "body": "", "width": 84 }, "llm-jina": { - "body": "" + "body": "" }, "llm-jina-text": { - "body": "", + "body": "", "width": 58 }, "llm-microsoft": { - "body": "", + "body": "", "width": 21, "height": 22 }, "llm-openai-black": { - "body": "" + "body": "" }, "llm-openai-blue": { - "body": "" + "body": "" }, "llm-openai-green": { - "body": "" + "body": "" }, "llm-openai-teal": { - "body": "" + "body": "" }, "llm-openai-text": { - "body": "", + "body": "", "width": 52, "height": 20 }, "llm-openai-transparent": { - "body": "" + "body": "" }, "llm-openai-violet": { - "body": "" + "body": "" }, "llm-openai-yellow": { - "body": "" + "body": "" }, "llm-openllm": { - "body": "" + "body": "" }, "llm-openllm-text": { - "body": "", + "body": "", "width": 92, "height": 25 }, "llm-replicate": { - "body": "" + "body": "" }, "llm-replicate-text": { - "body": "", + "body": "", "width": 92 }, "llm-xorbits-inference": { - "body": "" + "body": "" }, "llm-xorbits-inference-text": { - "body": "", + "body": "", "width": 152 }, "llm-zhipuai": { - "body": "" + "body": "" }, "llm-zhipuai-text": { - "body": "", + "body": "", "width": 89, "height": 32 }, "llm-zhipuai-text-cn": { - "body": "", + "body": "", "width": 86, "height": 32 }, "model-checked": { - "body": "" + "body": "" + }, + "other-comment": { + "body": "", + "width": 14, + "height": 12 }, "other-default-tool-icon": { - "body": "" + "body": "" }, "other-icon-3-dots": { - "body": "", + "body": "", "width": 16, "height": 16 }, "other-message-3-fill": { - "body": "" + "body": "" }, "other-row-struct": { - "body": "", + "body": "", "width": 624, "height": 48 }, "other-slack": { - "body": "", + "body": "", "width": 27, "height": 27 }, "other-teams": { - "body": "", + "body": "", "width": 28, "height": 28 }, "plugins-google": { - "body": "", + "body": "", "width": 24, "height": 24 }, "plugins-partner-dark": { - "body": "" + "body": "" }, "plugins-partner-light": { - "body": "" + "body": "" }, "plugins-verified-dark": { - "body": "" + "body": "" }, "plugins-verified-light": { - "body": "" + "body": "" }, "plugins-web-reader": { - "body": "", + "body": "", "width": 24, "height": 24 }, "plugins-wikipedia": { - "body": "", + "body": "", "width": 24, "height": 24 }, "thought-data-set": { - "body": "" + "body": "" }, "thought-loading": { - "body": "" + "body": "" }, "thought-search": { - "body": "" + "body": "" }, "thought-thought-list": { - "body": "" + "body": "" }, "thought-web-reader": { - "body": "" + "body": "" }, "tracing-aliyun-icon": { - "body": "", + "body": "", "width": 65 }, "tracing-aliyun-icon-big": { - "body": "", + "body": "", "width": 96, "height": 24 }, "tracing-arize-icon": { - "body": "" + "body": "" }, "tracing-arize-icon-big": { - "body": "", + "body": "", "width": 111, "height": 24 }, "tracing-databricks-icon": { - "body": "", + "body": "", "width": 100 }, "tracing-databricks-icon-big": { - "body": "", + "body": "", "width": 151, "height": 24 }, "tracing-langfuse-icon": { - "body": "" + "body": "" }, "tracing-langfuse-icon-big": { - "body": "", + "body": "", "width": 111, "height": 24 }, "tracing-langsmith-icon": { - "body": "", + "body": "", "width": 84, "height": 14 }, "tracing-langsmith-icon-big": { - "body": "", + "body": "", "width": 124, "height": 20 }, "tracing-mlflow-icon": { - "body": "", + "body": "", "width": 43 }, "tracing-mlflow-icon-big": { - "body": "", + "body": "", "width": 65, "height": 24 }, "tracing-opik-icon": { - "body": "", + "body": "", "width": 47.134 }, "tracing-opik-icon-big": { - "body": "", + "body": "", "width": 70.701, "height": 24 }, "tracing-phoenix-icon": { - "body": "" + "body": "" }, "tracing-phoenix-icon-big": { - "body": "", + "body": "", "width": 111, "height": 24 }, "tracing-tencent-icon": { - "body": "", + "body": "", "width": 80, "height": 18 }, "tracing-tencent-icon-big": { - "body": "", + "body": "", "width": 80, "height": 18 }, "tracing-tracing-icon": { - "body": "", + "body": "", "width": 20, "height": 20 }, "tracing-weave-icon": { - "body": "", + "body": "", "width": 120 }, "tracing-weave-icon-big": { - "body": "", + "body": "", "width": 120 } } diff --git a/packages/iconify-collections/custom-public/info.json b/packages/iconify-collections/custom-public/info.json index 8b5572de6f..115e9e25f9 100644 --- a/packages/iconify-collections/custom-public/info.json +++ b/packages/iconify-collections/custom-public/info.json @@ -1,7 +1,7 @@ { "prefix": "custom-public", "name": "Dify Custom Public", - "total": 142, + "total": 144, "version": "0.0.0-private", "author": { "name": "LangGenius, Inc.", diff --git a/packages/iconify-collections/custom-vender/icons.json b/packages/iconify-collections/custom-vender/icons.json index a7dc8e75e0..bbed34e313 100644 --- a/packages/iconify-collections/custom-vender/icons.json +++ b/packages/iconify-collections/custom-vender/icons.json @@ -1,1096 +1,1096 @@ { "prefix": "custom-vender", - "lastModified": 1775115796, + "lastModified": 1776670621, "icons": { "features-citations": { - "body": "" + "body": "" }, "features-content-moderation": { - "body": "" + "body": "" }, "features-document": { - "body": "" + "body": "" }, "features-folder-upload": { - "body": "" + "body": "" }, "features-love-message": { - "body": "" + "body": "" }, "features-message-fast": { - "body": "" + "body": "" }, "features-microphone-01": { - "body": "" + "body": "" }, "features-text-to-audio": { - "body": "" + "body": "" }, "features-virtual-assistant": { - "body": "" + "body": "" }, "features-vision": { - "body": "" + "body": "" }, "knowledge-add-chunks": { - "body": "", + "body": "", "width": 20, "height": 20 }, "knowledge-api-aggregate": { - "body": "", + "body": "", "width": 16 }, "knowledge-arrow-shape": { - "body": "", + "body": "", "width": 24, "height": 11 }, "knowledge-chunk": { - "body": "", + "body": "", "width": 10, "height": 10 }, "knowledge-collapse": { - "body": "", + "body": "", "width": 16 }, "knowledge-divider": { - "body": "", + "body": "", "width": 6, "height": 30 }, "knowledge-economic": { - "body": "", + "body": "", "height": 18 }, "knowledge-full-text-search": { - "body": "", + "body": "", "width": 15 }, "knowledge-general-chunk": { - "body": "", + "body": "", "height": 18 }, "knowledge-high-quality": { - "body": "", + "body": "", "height": 18 }, "knowledge-hybrid-search": { - "body": "", + "body": "", "width": 16 }, "knowledge-parent-child-chunk": { - "body": "", + "body": "", "height": 18 }, "knowledge-question-and-answer": { - "body": "", + "body": "", "height": 18 }, "knowledge-search-lines-sparkle": { - "body": "", + "body": "", "width": 16 }, "knowledge-search-menu": { - "body": "", + "body": "", "width": 32, "height": 33 }, "knowledge-vector-search": { - "body": "", + "body": "", "width": 16 }, "line-alertsAndFeedback-alert-triangle": { - "body": "" + "body": "" }, "line-alertsAndFeedback-thumbs-down": { - "body": "" + "body": "" }, "line-alertsAndFeedback-thumbs-up": { - "body": "" + "body": "" }, "line-alertsAndFeedback-warning": { - "body": "", + "body": "", "width": 12, "height": 12 }, "line-arrows-arrow-narrow-left": { - "body": "", + "body": "", "width": 17, "height": 16 }, "line-arrows-arrow-up-right": { - "body": "" + "body": "" }, "line-arrows-chevron-down-double": { - "body": "", + "body": "", "width": 12, "height": 13 }, "line-arrows-chevron-right": { - "body": "" + "body": "" }, "line-arrows-chevron-selector-vertical": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-arrows-iconr": { - "body": "" + "body": "" }, "line-arrows-refresh-ccw-01": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-arrows-refresh-cw-05": { - "body": "", + "body": "", "width": 16, "height": 16 }, "line-arrows-reverse-left": { - "body": "", + "body": "", "width": 16, "height": 16 }, "line-communication-ai-text": { - "body": "" + "body": "" }, "line-communication-chat-bot": { - "body": "" + "body": "" }, "line-communication-chat-bot-slim": { - "body": "", + "body": "", "width": 48, "height": 48 }, "line-communication-cute-robot": { - "body": "" + "body": "" }, "line-communication-message-check-remove": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-communication-message-fast-plus": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-development-artificial-brain": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-development-bar-chart-square-02": { - "body": "" + "body": "" }, "line-development-brackets-x": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-development-code-browser": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-development-container": { - "body": "" + "body": "" }, "line-development-database-01": { - "body": "", + "body": "", "width": 17 }, "line-development-database-03": { - "body": "" + "body": "" }, "line-development-file-heart-02": { - "body": "" + "body": "" }, "line-development-git-branch-01": { - "body": "" + "body": "" }, "line-development-prompt-engineering": { - "body": "" + "body": "" }, "line-development-puzzle-piece-01": { - "body": "" + "body": "" }, "line-development-terminal-square": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-development-variable": { - "body": "" + "body": "" }, "line-development-webhooks": { - "body": "" + "body": "" }, "line-editor-align-left": { - "body": "" + "body": "" }, "line-editor-bezier-curve-03": { - "body": "", + "body": "", "width": 12, "height": 12 }, "line-editor-collapse": { - "body": "", + "body": "", "width": 16, "height": 16 }, "line-editor-colors": { - "body": "" + "body": "" }, "line-editor-image-indent-left": { - "body": "" + "body": "" }, "line-editor-left-indent-02": { - "body": "" + "body": "" }, "line-editor-letter-spacing-01": { - "body": "" + "body": "" }, "line-editor-type-square": { - "body": "", + "body": "", "width": 12, "height": 12 }, "line-education-book-open-01": { - "body": "", + "body": "", "width": 12, "height": 12 }, "line-files-copy": { - "body": "" + "body": "" }, "line-files-copy-check": { - "body": "" + "body": "" }, "line-files-file-02": { - "body": "" + "body": "" }, "line-files-file-arrow-01": { - "body": "" + "body": "" }, "line-files-file-check-02": { - "body": "" + "body": "" }, "line-files-file-download-02": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-files-file-plus-01": { - "body": "" + "body": "" }, "line-files-file-plus-02": { - "body": "" + "body": "" }, "line-files-file-text": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-files-file-upload": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-files-folder": { - "body": "", + "body": "", "width": 14, "height": 14 }, "line-financeAndECommerce-balance": { - "body": "" + "body": "" }, "line-financeAndECommerce-coins-stacked-01": { - "body": "" + "body": "" }, "line-financeAndECommerce-credits-coin": { - "body": "", + "body": "", "width": 10, "height": 10 }, "line-financeAndECommerce-gold-coin": { - "body": "", + "body": "", "width": 16, "height": 16 }, "line-financeAndECommerce-receipt-list": { - "body": "" + "body": "" }, "line-financeAndECommerce-tag-01": { - "body": "", + "body": "", "width": 14, "height": 14 }, "line-financeAndECommerce-tag-03": { - "body": "", + "body": "", "width": 16, "height": 16 }, "line-general-at-sign": { - "body": "" + "body": "" }, "line-general-bookmark": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-general-check": { - "body": "" + "body": "" }, "line-general-check-done-01": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-general-checklist-square": { - "body": "", + "body": "", "width": 32, "height": 32 }, "line-general-code-assistant": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-general-dots-grid": { - "body": "", + "body": "", "width": 14, "height": 14 }, "line-general-edit-02": { - "body": "", + "body": "", "width": 14, "height": 14 }, "line-general-edit-04": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-general-edit-05": { - "body": "" + "body": "" }, "line-general-hash-02": { - "body": "", + "body": "", "width": 12, "height": 12 }, "line-general-info-circle": { - "body": "", + "body": "", "width": 12, "height": 12 }, "line-general-link-03": { - "body": "", + "body": "", "width": 17 }, "line-general-link-external-02": { - "body": "", + "body": "", "width": 12, "height": 12 }, "line-general-log-in-04": { - "body": "" + "body": "" }, "line-general-log-out-01": { - "body": "", + "body": "", "width": 14, "height": 14 }, "line-general-log-out-04": { - "body": "" + "body": "" }, "line-general-magic-edit": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-general-menu-01": { - "body": "" + "body": "" }, "line-general-pin-01": { - "body": "" + "body": "" }, "line-general-pin-02": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-general-plus-02": { - "body": "", + "body": "", "width": 10, "height": 10 }, "line-general-refresh": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-general-search-menu": { - "body": "", + "body": "", "width": 32, "height": 32 }, "line-general-settings-01": { - "body": "", + "body": "", "width": 14, "height": 14 }, "line-general-settings-04": { - "body": "", + "body": "", "width": 14, "height": 14 }, "line-general-target-04": { - "body": "", + "body": "", "width": 12, "height": 12 }, "line-general-upload-03": { - "body": "" + "body": "" }, "line-general-upload-cloud-01": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-general-x": { - "body": "" + "body": "" }, "line-images-image-plus": { - "body": "" + "body": "" }, "line-layout-align-left-01": { - "body": "" + "body": "" }, "line-layout-align-right-01": { - "body": "" + "body": "" }, "line-layout-grid-01": { - "body": "", + "body": "", "width": 17, "height": 16 }, "line-layout-layout-grid-02": { - "body": "" + "body": "" }, "line-mediaAndDevices-microphone-01": { - "body": "" + "body": "" }, "line-mediaAndDevices-play-circle": { - "body": "" + "body": "" }, "line-mediaAndDevices-sliders-h": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-mediaAndDevices-speaker": { - "body": "" + "body": "" }, "line-mediaAndDevices-stop": { - "body": "", + "body": "", "width": 12, "height": 12 }, "line-mediaAndDevices-stop-circle": { - "body": "", + "body": "", "width": 17 }, "line-others-bubble-x": { - "body": "" + "body": "" }, "line-others-colors": { - "body": "", + "body": "", "width": 14, "height": 14 }, "line-others-drag-handle": { - "body": "" + "body": "" }, "line-others-env": { - "body": "" + "body": "" }, "line-others-global-variable": { - "body": "" + "body": "" }, "line-others-icon-3-dots": { - "body": "" + "body": "" }, "line-others-long-arrow-left": { - "body": "", + "body": "", "width": 21, "height": 8 }, "line-others-long-arrow-right": { - "body": "", + "body": "", "width": 26, "height": 8 }, "line-others-search-menu": { - "body": "", + "body": "", "width": 32, "height": 32 }, "line-others-tools": { - "body": "", + "body": "", "height": 17 }, "line-shapes-cube-outline": { - "body": "", + "body": "", "height": 17 }, "line-time-clock-fast-forward": { - "body": "", + "body": "", "width": 24, "height": 24 }, "line-time-clock-play": { - "body": "" + "body": "" }, "line-time-clock-play-slim": { - "body": "", + "body": "", "width": 32, "height": 32 }, "line-time-clock-refresh": { - "body": "", + "body": "", "width": 12, "height": 12 }, "line-users-user-01": { - "body": "" + "body": "" }, "line-users-users-01": { - "body": "" + "body": "" }, "line-weather-stars-02": { - "body": "", + "body": "", "width": 24, "height": 24 }, "other-anthropic-text": { - "body": "", + "body": "", "width": 90, "height": 20 }, "other-generator": { - "body": "" + "body": "" }, "other-group": { - "body": "", + "body": "", "height": 16 }, "other-hourglass-shape": { - "body": "", + "body": "", "width": 8 }, "other-mcp": { - "body": "", + "body": "", "width": 16, "height": 16 }, "other-no-tool-placeholder": { - "body": "", + "body": "", "width": 204, "height": 36 }, "other-openai": { - "body": "", + "body": "", "width": 80, "height": 22 }, "other-replay-line": { - "body": "", + "body": "", "width": 20, "height": 20 }, "other-square-checklist": { - "body": "", + "body": "", "width": 24, "height": 24 }, "pipeline-input-field": { - "body": "", + "body": "", "width": 16, "height": 16 }, "pipeline-pipeline-fill": { - "body": "" + "body": "" }, "pipeline-pipeline-line": { - "body": "" + "body": "" }, "plugin-box-sparkle-fill": { - "body": "", + "body": "", "width": 14, "height": 14 }, "plugin-left-corner": { - "body": "", + "body": "", "width": 13, "height": 20 }, "plugin-trigger": { - "body": "" + "body": "" }, "solid-FinanceAndECommerce-gold-coin": { - "body": "" + "body": "" }, "solid-FinanceAndECommerce-scales-02": { - "body": "" + "body": "" }, "solid-alertsAndFeedback-alert-triangle": { - "body": "", + "body": "", "width": 12, "height": 12 }, "solid-arrows-arrow-down-double-line": { - "body": "" + "body": "" }, "solid-arrows-arrow-down-round-fill": { - "body": "" + "body": "" }, "solid-arrows-arrow-up-double-line": { - "body": "" + "body": "" }, "solid-arrows-chevron-down": { - "body": "", + "body": "", "width": 24, "height": 24 }, "solid-arrows-high-priority": { - "body": "", + "body": "", "width": 24, "height": 24 }, "solid-communication-ai-text": { - "body": "" + "body": "" }, "solid-communication-bubble-text-mod": { - "body": "" + "body": "" }, "solid-communication-chat-bot": { - "body": "", + "body": "", "width": 13, "height": 12 }, "solid-communication-cute-robot": { - "body": "" + "body": "" }, "solid-communication-edit-list": { - "body": "" + "body": "" }, "solid-communication-list-sparkle": { - "body": "" + "body": "" }, "solid-communication-logic": { - "body": "" + "body": "" }, "solid-communication-message-dots-circle": { - "body": "" + "body": "" }, "solid-communication-message-fast": { - "body": "" + "body": "" }, "solid-communication-message-heart-circle": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-communication-message-smile-square": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-communication-send-03": { - "body": "", + "body": "", "width": 20, "height": 20 }, "solid-development-api-connection": { - "body": "", + "body": "", "width": 24, "height": 24 }, "solid-development-api-connection-mod": { - "body": "" + "body": "" }, "solid-development-bar-chart-square-02": { - "body": "" + "body": "" }, "solid-development-container": { - "body": "", + "body": "", "width": 17 }, "solid-development-database-02": { - "body": "", + "body": "", "width": 17 }, "solid-development-database-03": { - "body": "" + "body": "" }, "solid-development-file-heart-02": { - "body": "" + "body": "" }, "solid-development-pattern-recognition": { - "body": "", + "body": "", "width": 24, "height": 24 }, "solid-development-prompt-engineering": { - "body": "" + "body": "" }, "solid-development-puzzle-piece-01": { - "body": "", + "body": "", "width": 17 }, "solid-development-semantic": { - "body": "", + "body": "", "width": 24, "height": 24 }, "solid-development-terminal-square": { - "body": "", + "body": "", "width": 12, "height": 12 }, "solid-development-variable-02": { - "body": "", + "body": "", "width": 24, "height": 24 }, "solid-editor-brush-01": { - "body": "" + "body": "" }, "solid-editor-citations": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-editor-colors": { - "body": "" + "body": "" }, "solid-editor-paragraph": { - "body": "" + "body": "" }, "solid-editor-type-square": { - "body": "" + "body": "" }, "solid-education-beaker-02": { - "body": "", + "body": "", "width": 12, "height": 12 }, "solid-education-bubble-text": { - "body": "" + "body": "" }, "solid-education-heart-02": { - "body": "" + "body": "" }, "solid-education-unblur": { - "body": "" + "body": "" }, "solid-files-file-05": { - "body": "" + "body": "" }, "solid-files-file-search-02": { - "body": "" + "body": "" }, "solid-files-file-zip": { - "body": "" + "body": "" }, "solid-files-folder": { - "body": "" + "body": "" }, "solid-general-answer-triangle": { - "body": "", + "body": "", "width": 8, "height": 12 }, "solid-general-arrow-down-round-fill": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-general-check-circle": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-general-check-done-01": { - "body": "" + "body": "" }, "solid-general-download-02": { - "body": "" + "body": "" }, "solid-general-edit-03": { - "body": "", + "body": "", "width": 12, "height": 12 }, "solid-general-edit-04": { - "body": "" + "body": "" }, "solid-general-eye": { - "body": "" + "body": "" }, "solid-general-github": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-general-message-clock-circle": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-general-plus-circle": { - "body": "" + "body": "" }, "solid-general-question-triangle": { - "body": "", + "body": "", "width": 8, "height": 12 }, "solid-general-search-md": { - "body": "" + "body": "" }, "solid-general-target-04": { - "body": "" + "body": "" }, "solid-general-tool-03": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-general-x-circle": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-general-zap-fast": { - "body": "", + "body": "", "width": 12, "height": 12 }, "solid-general-zap-narrow": { - "body": "", + "body": "", "width": 12, "height": 12 }, "solid-layout-grid-01": { - "body": "" + "body": "" }, "solid-mediaAndDevices-audio-support-icon": { - "body": "" + "body": "" }, "solid-mediaAndDevices-document-support-icon": { - "body": "" + "body": "" }, "solid-mediaAndDevices-magic-box": { - "body": "" + "body": "" }, "solid-mediaAndDevices-magic-eyes": { - "body": "" + "body": "" }, "solid-mediaAndDevices-magic-wand": { - "body": "" + "body": "" }, "solid-mediaAndDevices-microphone-01": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-mediaAndDevices-play": { - "body": "" + "body": "" }, "solid-mediaAndDevices-robot": { - "body": "" + "body": "" }, "solid-mediaAndDevices-sliders-02": { - "body": "", + "body": "", "width": 24, "height": 24 }, "solid-mediaAndDevices-speaker": { - "body": "", + "body": "", "width": 16, "height": 16 }, "solid-mediaAndDevices-stop-circle": { - "body": "", + "body": "", "width": 20, "height": 20 }, "solid-mediaAndDevices-video-support-icon": { - "body": "" + "body": "" }, "solid-security-lock-01": { - "body": "", + "body": "", "width": 12, "height": 12 }, "solid-shapes-corner": { - "body": "", + "body": "", "width": 13, "height": 20 }, "solid-shapes-star-04": { - "body": "", + "body": "", "width": 11, "height": 10 }, "solid-shapes-star-06": { - "body": "" + "body": "" }, "solid-users-user-01": { - "body": "" + "body": "" }, "solid-users-user-edit-02": { - "body": "", + "body": "", "width": 14, "height": 14 }, "solid-users-users-01": { - "body": "" + "body": "" }, "solid-users-users-plus": { - "body": "", + "body": "", "width": 24, "height": 24 }, "system-auto-update-line": { - "body": "", + "body": "", "width": 24, "height": 24 }, "workflow-agent": { - "body": "", + "body": "", "width": 16, "height": 16 }, "workflow-answer": { - "body": "" + "body": "" }, "workflow-api-aggregate": { - "body": "", + "body": "", "width": 16, "height": 16 }, "workflow-assigner": { - "body": "", + "body": "", "width": 16, "height": 16 }, "workflow-asterisk": { - "body": "" + "body": "" }, "workflow-calendar-check-line": { - "body": "" + "body": "" }, "workflow-code": { - "body": "" + "body": "" }, "workflow-datasource": { - "body": "" + "body": "" }, "workflow-docs-extractor": { - "body": "", + "body": "", "width": 16, "height": 16 }, "workflow-end": { - "body": "" + "body": "" }, "workflow-home": { - "body": "" + "body": "" }, "workflow-http": { - "body": "" + "body": "" }, "workflow-human-in-loop": { - "body": "", + "body": "", "width": 16, "height": 16 }, "workflow-if-else": { - "body": "" + "body": "" }, "workflow-iteration": { - "body": "" + "body": "" }, "workflow-iteration-start": { - "body": "", + "body": "", "width": 12, "height": 12 }, "workflow-jinja": { - "body": "", + "body": "", "width": 24, "height": 12 }, "workflow-knowledge-base": { - "body": "" + "body": "" }, "workflow-knowledge-retrieval": { - "body": "", + "body": "", "width": 16, "height": 16 }, "workflow-list-filter": { - "body": "", + "body": "", "width": 16, "height": 16 }, "workflow-llm": { - "body": "" + "body": "" }, "workflow-loop": { - "body": "", + "body": "", "width": 18, "height": 16 }, "workflow-loop-end": { - "body": "", + "body": "", "width": 16, "height": 16 }, "workflow-parameter-extractor": { - "body": "" + "body": "" }, "workflow-question-classifier": { - "body": "" + "body": "" }, "workflow-schedule": { - "body": "", + "body": "", "width": 16, "height": 16 }, "workflow-templating-transform": { - "body": "" + "body": "" }, "workflow-trigger-all": { - "body": "" + "body": "" }, "workflow-variable-x": { - "body": "" + "body": "" }, "workflow-webhook-line": { - "body": "", + "body": "", "width": 16, "height": 16 }, "workflow-window-cursor": { - "body": "", + "body": "", "width": 16, "height": 16 } diff --git a/packages/iconify-collections/package.json b/packages/iconify-collections/package.json index 07c29f0a07..752b7ce437 100644 --- a/packages/iconify-collections/package.json +++ b/packages/iconify-collections/package.json @@ -23,9 +23,10 @@ "./custom-vender/chars.json": "./custom-vender/chars.json" }, "scripts": { - "generate": "node ./scripts/generate-collections.mjs" + "generate": "tsx ./scripts/generate-collections.ts" }, "devDependencies": { - "iconify-import-svg": "catalog:" + "iconify-import-svg": "catalog:", + "tsx": "catalog:" } } diff --git a/packages/iconify-collections/scripts/generate-collections.mjs b/packages/iconify-collections/scripts/generate-collections.ts similarity index 59% rename from packages/iconify-collections/scripts/generate-collections.mjs rename to packages/iconify-collections/scripts/generate-collections.ts index 1c734731e6..5cc67dd588 100644 --- a/packages/iconify-collections/scripts/generate-collections.mjs +++ b/packages/iconify-collections/scripts/generate-collections.ts @@ -3,45 +3,62 @@ import path from 'node:path' import { fileURLToPath } from 'node:url' import { importSvgCollections } from 'iconify-import-svg' +type IconData = { + body: string + left?: number + top?: number + width?: number + height?: number + rotate?: 0 | 1 | 2 | 3 + hFlip?: boolean + vFlip?: boolean +} + +type AliasData = Omit & { + parent: string +} + +type ImportedCollection = { + icons?: Record + aliases?: Record + lastModified?: number +} + +type ImportedCollections = Record + +type CollectionInfo = { + prefix: string + name: string + total: number + version: string + author: { + name: string + url: string + } + license: { + title: string + spdx: string + url: string + } + samples: string[] + palette: false +} + +type PackageJson = { + version: string +} + const __dirname = path.dirname(fileURLToPath(import.meta.url)) const packageDir = path.resolve(__dirname, '..') -const parseColorOptions = { - fallback: () => 'currentColor', -} -const svgOptimizeConfig = { - cleanupSVG: true, - deOptimisePaths: true, - runSVGO: true, - parseColors: parseColorOptions, -} - -const customPublicCollections = importSvgCollections({ - source: path.resolve(packageDir, 'assets/public'), - prefix: 'custom-public', - ignoreImportErrors: true, - ...svgOptimizeConfig, -}) - -const customVenderCollections = importSvgCollections({ - source: path.resolve(packageDir, 'assets/vender'), - prefix: 'custom-vender', - ignoreImportErrors: true, - ...svgOptimizeConfig, -}) - -const packageJson = JSON.parse(await readFile(path.resolve(packageDir, 'package.json'), 'utf8')) - -const flattenCollections = (collections, prefix) => { - const icons = {} - const aliases = {} +const flattenCollections = (collections: ImportedCollections, prefix: string) => { + const icons: Record = {} + const aliases: Record = {} let lastModified = 0 for (const [collectionKey, collection] of Object.entries(collections)) { const segment = collectionKey.slice(prefix.length + 1) - const namePrefix = segment - ? `${segment}-` - : '' + const namePrefix = segment ? `${segment}-` : '' for (const [iconName, iconData] of Object.entries(collection.icons ?? {})) icons[`${namePrefix}${iconName}`] = iconData @@ -61,11 +78,38 @@ const flattenCollections = (collections, prefix) => { } } -const createCollectionInfo = (prefix, name, icons) => ({ +const customPublicCollections = importSvgCollections({ + source: path.resolve(packageDir, 'assets/public'), + prefix: 'custom-public', + ignoreImportErrors: true, + cleanupSVG: true, + deOptimisePaths: true, + runSVGO: true, + parseColors: false, +}) as ImportedCollections + +const customVenderCollections = importSvgCollections({ + source: path.resolve(packageDir, 'assets/vender'), + prefix: 'custom-vender', + ignoreImportErrors: true, + cleanupSVG: true, + deOptimisePaths: true, + runSVGO: false, + parseColors: { + callback: () => 'currentColor', + }, +}) as ImportedCollections + +const createCollectionInfo = ( + prefix: string, + name: string, + icons: Record, + version: string, +): CollectionInfo => ({ prefix, name, total: Object.keys(icons).length, - version: packageJson.version, + version, author: { name: 'LangGenius, Inc.', url: 'https://github.com/langgenius/dify', @@ -79,7 +123,7 @@ const createCollectionInfo = (prefix, name, icons) => ({ palette: false, }) -const createIndexMjs = () => `import icons from './icons.json' with { type: 'json' } +const createIndexMjs = (): string => `import icons from './icons.json' with { type: 'json' } import info from './info.json' with { type: 'json' } import metadata from './metadata.json' with { type: 'json' } import chars from './chars.json' with { type: 'json' } @@ -87,7 +131,7 @@ import chars from './chars.json' with { type: 'json' } export { icons, info, metadata, chars } ` -const createIndexJs = () => `'use strict' +const createIndexJs = (): string => `'use strict' const icons = require('./icons.json') const info = require('./info.json') @@ -97,7 +141,7 @@ const chars = require('./chars.json') module.exports = { icons, info, metadata, chars } ` -const createIndexTypes = () => `export interface IconifyJSON { +const createIndexTypes = (): string => `export interface IconifyJSON { prefix: string icons: Record aliases?: Record @@ -153,9 +197,14 @@ export declare const metadata: IconifyMetaData export declare const chars: IconifyChars ` -const writeCollectionPackage = async (directoryName, collection, name) => { +const writeCollectionPackage = async ( + directoryName: string, + collection: ReturnType, + name: string, + version: string, +): Promise => { const targetDir = path.resolve(packageDir, directoryName) - const info = createCollectionInfo(collection.prefix, name, collection.icons) + const info = createCollectionInfo(collection.prefix, name, collection.icons, version) await mkdir(targetDir, { recursive: true }) await writeFile(path.resolve(targetDir, 'icons.json'), `${JSON.stringify(collection, null, 2)}\n`) @@ -167,12 +216,32 @@ const writeCollectionPackage = async (directoryName, collection, name) => { await writeFile(path.resolve(targetDir, 'index.d.ts'), `${createIndexTypes()}\n`) } -const mergedCustomPublicCollection = flattenCollections(customPublicCollections, 'custom-public') -const mergedCustomVenderCollection = flattenCollections(customVenderCollections, 'custom-vender') +async function main(): Promise { + const packageJson = JSON.parse( + await readFile(path.resolve(packageDir, 'package.json'), 'utf8'), + ) as PackageJson + const customPublicCollection = flattenCollections(customPublicCollections, 'custom-public') + const customVenderCollection = flattenCollections(customVenderCollections, 'custom-vender') -await rm(path.resolve(packageDir, 'src'), { recursive: true, force: true }) -await rm(path.resolve(packageDir, 'custom-public'), { recursive: true, force: true }) -await rm(path.resolve(packageDir, 'custom-vender'), { recursive: true, force: true }) + await rm(path.resolve(packageDir, 'src'), { recursive: true, force: true }) + await rm(path.resolve(packageDir, 'custom-public'), { recursive: true, force: true }) + await rm(path.resolve(packageDir, 'custom-vender'), { recursive: true, force: true }) -await writeCollectionPackage('custom-public', mergedCustomPublicCollection, 'Dify Custom Public') -await writeCollectionPackage('custom-vender', mergedCustomVenderCollection, 'Dify Custom Vender') + await writeCollectionPackage( + 'custom-public', + customPublicCollection, + 'Dify Custom Public', + packageJson.version, + ) + await writeCollectionPackage( + 'custom-vender', + customVenderCollection, + 'Dify Custom Vender', + packageJson.version, + ) +} + +main().catch((error: unknown) => { + console.error(error) + process.exitCode = 1 +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 65f2e05bf4..0c276fae9e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -352,8 +352,8 @@ catalogs: specifier: 1.2.1 version: 1.2.1 iconify-import-svg: - specifier: 0.1.2 - version: 0.1.2 + specifier: 0.2.0 + version: 0.2.0 immer: specifier: 11.1.4 version: 11.1.4 @@ -718,7 +718,10 @@ importers: devDependencies: iconify-import-svg: specifier: 'catalog:' - version: 0.1.2 + version: 0.2.0 + tsx: + specifier: 'catalog:' + version: 4.21.0 packages/migrate-no-unchecked-indexed-access: dependencies: @@ -5932,8 +5935,8 @@ packages: typescript: optional: true - iconify-import-svg@0.1.2: - resolution: {integrity: sha512-8dwxdGK1a7oPDQhLQOPTbx51tpkxYB6HZvf4fxWz2QVYqEtgop0FWE7OXQ+4zqnrTVUpMIGnOsvqIHtPBK9Isw==} + iconify-import-svg@0.2.0: + resolution: {integrity: sha512-NFuDyiYRKLSNvbiUnR4627DF4QjQR+bC+n+Nh0lcMnKXv9MCwzikOcdzqITU1yFfRacc6S6PeElc2H5l+35T1Q==} iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} @@ -13329,7 +13332,7 @@ snapshots: optionalDependencies: typescript: 6.0.2 - iconify-import-svg@0.1.2: + iconify-import-svg@0.2.0: dependencies: '@iconify/tools': 4.2.0 '@iconify/types': 2.0.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3dd5b403a3..f02d05b233 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -163,7 +163,7 @@ catalog: html-to-image: 1.11.13 i18next: 26.0.4 i18next-resources-to-backend: 1.2.1 - iconify-import-svg: 0.1.2 + iconify-import-svg: 0.2.0 immer: 11.1.4 jotai: 2.19.1 js-audio-recorder: 1.0.7