提交 b6cea4a9 作者: Vben

feat(icon-picker): add icon-picker component

上级 b476e1c8
...@@ -7,6 +7,9 @@ ...@@ -7,6 +7,9 @@
### ✨ Features ### ✨ Features
- axios 支持 form-data 格式请求 - axios 支持 form-data 格式请求
- 新增图标选择器组件
- 新增修改密码界面
- 新增部门管理示例界面
### ⚡ Performance Improvements ### ⚡ Performance Improvements
......
import path from 'path';
import fs from 'fs-extra';
import inquirer from 'inquirer';
import chalk from 'chalk';
import pkg from '../../package.json';
async function generateIcon() {
const dir = path.resolve(process.cwd(), 'node_modules/@iconify/json');
const raw = await fs.readJSON(path.join(dir, 'collections.json'));
const collections = Object.entries(raw).map(([id, v]) => ({
...(v as any),
id,
}));
const choices = collections.map((item) => ({ key: item.id, value: item.id, name: item.name }));
inquirer
.prompt([
{
type: 'checkbox',
name: 'iconSet',
choices: choices,
message: 'Select the icon set that needs to be generated?',
default: true,
},
{
type: 'input',
name: 'output',
message: 'Select the icon set that needs to be generated?',
default: 'src/components/Icon/json',
},
])
.then(async (answers) => {
const { iconSet, output } = answers;
const outputDir = path.resolve(process.cwd(), output);
fs.ensureDir(outputDir);
const genCollections = collections.filter((item) => iconSet.includes(item.id));
const prefixSet: string[] = [];
for (const info of genCollections) {
const data = await fs.readJSON(path.join(dir, 'json', `${info.id}.json`));
if (data) {
const { prefix } = data;
const icons = Object.keys(data.icons).map((item) => `${prefix}:${item}`);
await fs.writeJSON(path.join(output, `${prefix}-info.json`), icons);
prefixSet.push(prefix);
}
}
console.log(
`✨ ${chalk.cyan(`[${pkg.name}]`)}` + ' - Icon generated successfully:' + `[${prefixSet}]`
);
});
}
generateIcon();
...@@ -22,7 +22,9 @@ ...@@ -22,7 +22,9 @@
"test:gzip": "http-server dist --cors --gzip -c-1", "test:gzip": "http-server dist --cors --gzip -c-1",
"test:br": "http-server dist --cors --brotli -c-1", "test:br": "http-server dist --cors --brotli -c-1",
"reinstall": "rimraf yarn.lock && rimraf package.lock.json && rimraf node_modules && npm run bootstrap", "reinstall": "rimraf yarn.lock && rimraf package.lock.json && rimraf node_modules && npm run bootstrap",
"postinstall": "is-ci || husky install" "install:husky": "is-ci || husky install",
"gen:icon": "esno ./build/gen/generateIconJson.ts",
"postinstall": "npm run install:husky"
}, },
"dependencies": { "dependencies": {
"@iconify/iconify": "^2.0.0-rc.6", "@iconify/iconify": "^2.0.0-rc.6",
...@@ -55,8 +57,9 @@ ...@@ -55,8 +57,9 @@
"@ls-lint/ls-lint": "^1.9.2", "@ls-lint/ls-lint": "^1.9.2",
"@purge-icons/generated": "^0.7.0", "@purge-icons/generated": "^0.7.0",
"@types/crypto-js": "^4.0.1", "@types/crypto-js": "^4.0.1",
"@types/fs-extra": "^9.0.7", "@types/fs-extra": "^9.0.8",
"@types/http-proxy": "^1.17.5", "@types/http-proxy": "^1.17.5",
"@types/inquirer": "^7.3.1",
"@types/lodash-es": "^4.17.4", "@types/lodash-es": "^4.17.4",
"@types/mockjs": "^1.0.3", "@types/mockjs": "^1.0.3",
"@types/nprogress": "^0.2.0", "@types/nprogress": "^0.2.0",
...@@ -84,6 +87,7 @@ ...@@ -84,6 +87,7 @@
"fs-extra": "^9.1.0", "fs-extra": "^9.1.0",
"http-server": "^0.12.3", "http-server": "^0.12.3",
"husky": "^5.1.2", "husky": "^5.1.2",
"inquirer": "^8.0.0",
"is-ci": "^3.0.0", "is-ci": "^3.0.0",
"less": "^4.1.1", "less": "^4.1.1",
"lint-staged": "^10.5.4", "lint-staged": "^10.5.4",
......
import Icon from './src/index.vue'; import Icon from './src/index.vue';
import IconPicker from './src/IconPicker.vue';
export { Icon, IconPicker };
export { Icon };
export default Icon; export default Icon;
[
"ion:accessibility",
"ion:accessibility-outline",
"ion:accessibility-sharp",
"ion:add",
"ion:add-circle",
"ion:add-circle-outline",
"ion:add-circle-sharp",
"ion:add-outline",
"ion:add-sharp",
"ion:airplane",
"ion:airplane-outline",
"ion:airplane-sharp",
"ion:alarm",
"ion:alarm-outline",
"ion:alarm-sharp",
"ion:albums",
"ion:albums-outline",
"ion:albums-sharp",
"ion:alert",
"ion:alert-circle",
"ion:alert-circle-outline",
"ion:alert-circle-sharp",
"ion:alert-circled",
"ion:alert-outline",
"ion:alert-sharp",
"ion:american-football",
"ion:american-football-outline",
"ion:american-football-sharp",
"ion:analytics",
"ion:analytics-outline",
"ion:analytics-sharp",
"ion:android-bulb",
"ion:android-checkbox-outline-blank",
"ion:android-contact",
"ion:android-favorite-outline",
"ion:android-hangout",
"ion:android-more-horizontal",
"ion:android-plane",
"ion:android-sunny",
"ion:android-time",
"ion:android-train",
"ion:aperture",
"ion:aperture-outline",
"ion:aperture-sharp",
"ion:apps",
"ion:apps-outline",
"ion:apps-sharp",
"ion:archive",
"ion:archive-outline",
"ion:archive-sharp",
"ion:arrow-back",
"ion:arrow-back-circle",
"ion:arrow-back-circle-outline",
"ion:arrow-back-circle-sharp",
"ion:arrow-back-outline",
"ion:arrow-back-sharp",
"ion:arrow-down",
"ion:arrow-down-a",
"ion:arrow-down-b",
"ion:arrow-down-c",
"ion:arrow-down-circle",
"ion:arrow-down-circle-outline",
"ion:arrow-down-circle-sharp",
"ion:arrow-down-outline",
"ion:arrow-down-sharp",
"ion:arrow-expand",
"ion:arrow-forward",
"ion:arrow-forward-circle",
"ion:arrow-forward-circle-outline",
"ion:arrow-forward-circle-sharp",
"ion:arrow-forward-outline",
"ion:arrow-forward-sharp",
"ion:arrow-graph-down-left",
"ion:arrow-graph-down-right",
"ion:arrow-graph-up-left",
"ion:arrow-graph-up-right",
"ion:arrow-left-a",
"ion:arrow-left-b",
"ion:arrow-left-c",
"ion:arrow-move",
"ion:arrow-redo",
"ion:arrow-redo-circle",
"ion:arrow-redo-circle-outline",
"ion:arrow-redo-circle-sharp",
"ion:arrow-redo-outline",
"ion:arrow-redo-sharp",
"ion:arrow-resize",
"ion:arrow-return-left",
"ion:arrow-return-right",
"ion:arrow-right-a",
"ion:arrow-right-b",
"ion:arrow-right-c",
"ion:arrow-shrink",
"ion:arrow-swap",
"ion:arrow-undo",
"ion:arrow-undo-circle",
"ion:arrow-undo-circle-outline",
"ion:arrow-undo-circle-sharp",
"ion:arrow-undo-outline",
"ion:arrow-undo-sharp",
"ion:arrow-up",
"ion:arrow-up-a",
"ion:arrow-up-b",
"ion:arrow-up-c",
"ion:arrow-up-circle",
"ion:arrow-up-circle-outline",
"ion:arrow-up-circle-sharp",
"ion:arrow-up-outline",
"ion:arrow-up-sharp",
"ion:asterisk",
"ion:at",
"ion:at-circle",
"ion:at-circle-outline",
"ion:at-circle-sharp",
"ion:at-outline",
"ion:at-sharp",
"ion:attach",
"ion:attach-outline",
"ion:attach-sharp",
"ion:backspace",
"ion:backspace-outline",
"ion:backspace-sharp",
"ion:bag",
"ion:bag-add",
"ion:bag-add-outline",
"ion:bag-add-sharp",
"ion:bag-check",
"ion:bag-check-outline",
"ion:bag-check-sharp",
"ion:bag-handle",
"ion:bag-handle-outline",
"ion:bag-handle-sharp",
"ion:bag-outline",
"ion:bag-remove",
"ion:bag-remove-outline",
"ion:bag-remove-sharp",
"ion:bag-sharp",
"ion:balloon",
"ion:balloon-outline",
"ion:balloon-sharp",
"ion:ban",
"ion:ban-outline",
"ion:ban-sharp",
"ion:bandage",
"ion:bandage-outline",
"ion:bandage-sharp",
"ion:bar-chart",
"ion:bar-chart-outline",
"ion:bar-chart-sharp",
"ion:barbell",
"ion:barbell-outline",
"ion:barbell-sharp",
"ion:barcode",
"ion:barcode-outline",
"ion:barcode-sharp",
"ion:baseball",
"ion:baseball-outline",
"ion:baseball-sharp",
"ion:basket",
"ion:basket-outline",
"ion:basket-sharp",
"ion:basketball",
"ion:basketball-outline",
"ion:basketball-sharp",
"ion:battery-charging",
"ion:battery-charging-outline",
"ion:battery-charging-sharp",
"ion:battery-dead",
"ion:battery-dead-outline",
"ion:battery-dead-sharp",
"ion:battery-empty",
"ion:battery-full",
"ion:battery-full-outline",
"ion:battery-full-sharp",
"ion:battery-half",
"ion:battery-half-outline",
"ion:battery-half-sharp",
"ion:battery-low",
"ion:beaker",
"ion:beaker-outline",
"ion:beaker-sharp",
"ion:bed",
"ion:bed-outline",
"ion:bed-sharp",
"ion:beer",
"ion:beer-outline",
"ion:beer-sharp",
"ion:bicycle",
"ion:bicycle-outline",
"ion:bicycle-sharp",
"ion:bluetooth",
"ion:bluetooth-outline",
"ion:bluetooth-sharp",
"ion:boat",
"ion:boat-outline",
"ion:boat-sharp",
"ion:body",
"ion:body-outline",
"ion:body-sharp",
"ion:bonfire",
"ion:bonfire-outline",
"ion:bonfire-sharp",
"ion:book",
"ion:book-outline",
"ion:book-sharp",
"ion:bookmark",
"ion:bookmark-outline",
"ion:bookmark-sharp",
"ion:bookmarks",
"ion:bookmarks-outline",
"ion:bookmarks-sharp",
"ion:bowling-ball",
"ion:bowling-ball-outline",
"ion:bowling-ball-sharp",
"ion:bowtie",
"ion:briefcase",
"ion:briefcase-outline",
"ion:briefcase-sharp",
"ion:browsers",
"ion:browsers-outline",
"ion:browsers-sharp",
"ion:brush",
"ion:brush-outline",
"ion:brush-sharp",
"ion:bug",
"ion:bug-outline",
"ion:bug-sharp",
"ion:build",
"ion:build-outline",
"ion:build-sharp",
"ion:bulb",
"ion:bulb-outline",
"ion:bulb-sharp",
"ion:bus",
"ion:bus-outline",
"ion:bus-sharp",
"ion:business",
"ion:business-outline",
"ion:business-sharp",
"ion:cafe",
"ion:cafe-outline",
"ion:cafe-sharp",
"ion:calculator",
"ion:calculator-outline",
"ion:calculator-sharp",
"ion:calendar",
"ion:calendar-clear",
"ion:calendar-clear-outline",
"ion:calendar-clear-sharp",
"ion:calendar-number",
"ion:calendar-number-outline",
"ion:calendar-number-sharp",
"ion:calendar-outline",
"ion:calendar-sharp",
"ion:call",
"ion:call-outline",
"ion:call-sharp",
"ion:camera",
"ion:camera-outline",
"ion:camera-reverse",
"ion:camera-reverse-outline",
"ion:camera-reverse-sharp",
"ion:camera-sharp",
"ion:car",
"ion:car-outline",
"ion:car-sharp",
"ion:car-sport",
"ion:car-sport-outline",
"ion:car-sport-sharp",
"ion:card",
"ion:card-outline",
"ion:card-sharp",
"ion:caret-back",
"ion:caret-back-circle",
"ion:caret-back-circle-outline",
"ion:caret-back-circle-sharp",
"ion:caret-back-outline",
"ion:caret-back-sharp",
"ion:caret-down",
"ion:caret-down-circle",
"ion:caret-down-circle-outline",
"ion:caret-down-circle-sharp",
"ion:caret-down-outline",
"ion:caret-down-sharp",
"ion:caret-forward",
"ion:caret-forward-circle",
"ion:caret-forward-circle-outline",
"ion:caret-forward-circle-sharp",
"ion:caret-forward-outline",
"ion:caret-forward-sharp",
"ion:caret-up",
"ion:caret-up-circle",
"ion:caret-up-circle-outline",
"ion:caret-up-circle-sharp",
"ion:caret-up-outline",
"ion:caret-up-sharp",
"ion:cart",
"ion:cart-outline",
"ion:cart-sharp",
"ion:cash",
"ion:cash-outline",
"ion:cash-sharp",
"ion:cellular",
"ion:cellular-outline",
"ion:cellular-sharp",
"ion:chatbox",
"ion:chatbox-ellipses",
"ion:chatbox-ellipses-outline",
"ion:chatbox-ellipses-sharp",
"ion:chatbox-outline",
"ion:chatbox-sharp",
"ion:chatbox-working",
"ion:chatboxes",
"ion:chatbubble",
"ion:chatbubble-ellipses",
"ion:chatbubble-ellipses-outline",
"ion:chatbubble-ellipses-sharp",
"ion:chatbubble-outline",
"ion:chatbubble-sharp",
"ion:chatbubble-working",
"ion:chatbubbles",
"ion:chatbubbles-outline",
"ion:chatbubbles-sharp",
"ion:checkbox",
"ion:checkbox-outline",
"ion:checkbox-sharp",
"ion:checkmark",
"ion:checkmark-circle",
"ion:checkmark-circle-outline",
"ion:checkmark-circle-sharp",
"ion:checkmark-circled",
"ion:checkmark-done",
"ion:checkmark-done-circle",
"ion:checkmark-done-circle-outline",
"ion:checkmark-done-circle-sharp",
"ion:checkmark-done-outline",
"ion:checkmark-done-sharp",
"ion:checkmark-outline",
"ion:checkmark-round",
"ion:checkmark-sharp",
"ion:chevron-back",
"ion:chevron-back-circle",
"ion:chevron-back-circle-outline",
"ion:chevron-back-circle-sharp",
"ion:chevron-back-outline",
"ion:chevron-back-sharp",
"ion:chevron-down",
"ion:chevron-down-circle",
"ion:chevron-down-circle-outline",
"ion:chevron-down-circle-sharp",
"ion:chevron-down-outline",
"ion:chevron-down-sharp",
"ion:chevron-forward",
"ion:chevron-forward-circle",
"ion:chevron-forward-circle-outline",
"ion:chevron-forward-circle-sharp",
"ion:chevron-forward-outline",
"ion:chevron-forward-sharp",
"ion:chevron-left",
"ion:chevron-right",
"ion:chevron-up",
"ion:chevron-up-circle",
"ion:chevron-up-circle-outline",
"ion:chevron-up-circle-sharp",
"ion:chevron-up-outline",
"ion:chevron-up-sharp",
"ion:clipboard",
"ion:clipboard-outline",
"ion:clipboard-sharp",
"ion:clock",
"ion:close",
"ion:close-circle",
"ion:close-circle-outline",
"ion:close-circle-sharp",
"ion:close-circled",
"ion:close-outline",
"ion:close-round",
"ion:close-sharp",
"ion:closed-captioning",
"ion:cloud",
"ion:cloud-circle",
"ion:cloud-circle-outline",
"ion:cloud-circle-sharp",
"ion:cloud-done",
"ion:cloud-done-outline",
"ion:cloud-done-sharp",
"ion:cloud-download",
"ion:cloud-download-outline",
"ion:cloud-download-sharp",
"ion:cloud-offline",
"ion:cloud-offline-outline",
"ion:cloud-offline-sharp",
"ion:cloud-outline",
"ion:cloud-sharp",
"ion:cloud-upload",
"ion:cloud-upload-outline",
"ion:cloud-upload-sharp",
"ion:cloudy",
"ion:cloudy-night",
"ion:cloudy-night-outline",
"ion:cloudy-night-sharp",
"ion:cloudy-outline",
"ion:cloudy-sharp",
"ion:code",
"ion:code-download",
"ion:code-download-outline",
"ion:code-download-sharp",
"ion:code-outline",
"ion:code-sharp",
"ion:code-slash",
"ion:code-slash-outline",
"ion:code-slash-sharp",
"ion:code-working",
"ion:code-working-outline",
"ion:code-working-sharp",
"ion:coffee",
"ion:cog",
"ion:cog-outline",
"ion:cog-sharp",
"ion:color-fill",
"ion:color-fill-outline",
"ion:color-fill-sharp",
"ion:color-filter",
"ion:color-filter-outline",
"ion:color-filter-sharp",
"ion:color-palette",
"ion:color-palette-outline",
"ion:color-palette-sharp",
"ion:color-wand",
"ion:color-wand-outline",
"ion:color-wand-sharp",
"ion:compass",
"ion:compass-outline",
"ion:compass-sharp",
"ion:compose",
"ion:connection-bars",
"ion:construct",
"ion:construct-outline",
"ion:construct-sharp",
"ion:contract",
"ion:contract-outline",
"ion:contract-sharp",
"ion:contrast",
"ion:contrast-outline",
"ion:contrast-sharp",
"ion:copy",
"ion:copy-outline",
"ion:copy-sharp",
"ion:create",
"ion:create-outline",
"ion:create-sharp",
"ion:crop",
"ion:crop-outline",
"ion:crop-sharp",
"ion:cube",
"ion:cube-outline",
"ion:cube-sharp",
"ion:cut",
"ion:cut-outline",
"ion:cut-sharp",
"ion:desktop",
"ion:desktop-outline",
"ion:desktop-sharp",
"ion:diamond",
"ion:diamond-outline",
"ion:diamond-sharp",
"ion:dice",
"ion:dice-outline",
"ion:dice-sharp",
"ion:disc",
"ion:disc-outline",
"ion:disc-sharp",
"ion:document",
"ion:document-attach",
"ion:document-attach-outline",
"ion:document-attach-sharp",
"ion:document-lock",
"ion:document-lock-outline",
"ion:document-lock-sharp",
"ion:document-outline",
"ion:document-sharp",
"ion:document-text",
"ion:document-text-outline",
"ion:document-text-sharp",
"ion:documents",
"ion:documents-outline",
"ion:documents-sharp",
"ion:download",
"ion:download-outline",
"ion:download-sharp",
"ion:drag",
"ion:duplicate",
"ion:duplicate-outline",
"ion:duplicate-sharp",
"ion:ear",
"ion:ear-outline",
"ion:ear-sharp",
"ion:earth",
"ion:earth-outline",
"ion:earth-sharp",
"ion:easel",
"ion:easel-outline",
"ion:easel-sharp",
"ion:edit",
"ion:egg",
"ion:egg-outline",
"ion:egg-sharp",
"ion:eject",
"ion:ellipse",
"ion:ellipse-outline",
"ion:ellipse-sharp",
"ion:ellipsis-horizontal",
"ion:ellipsis-horizontal-circle",
"ion:ellipsis-horizontal-circle-outline",
"ion:ellipsis-horizontal-circle-sharp",
"ion:ellipsis-horizontal-outline",
"ion:ellipsis-horizontal-sharp",
"ion:ellipsis-vertical",
"ion:ellipsis-vertical-circle",
"ion:ellipsis-vertical-circle-outline",
"ion:ellipsis-vertical-circle-sharp",
"ion:ellipsis-vertical-outline",
"ion:ellipsis-vertical-sharp",
"ion:email",
"ion:email-unread",
"ion:enter",
"ion:enter-outline",
"ion:enter-sharp",
"ion:erlenmeyer-flask",
"ion:erlenmeyer-flask-bubbles",
"ion:exit",
"ion:exit-outline",
"ion:exit-sharp",
"ion:expand",
"ion:expand-outline",
"ion:expand-sharp",
"ion:extension-puzzle",
"ion:extension-puzzle-outline",
"ion:extension-puzzle-sharp",
"ion:eye",
"ion:eye-disabled",
"ion:eye-off",
"ion:eye-off-outline",
"ion:eye-off-sharp",
"ion:eye-outline",
"ion:eye-sharp",
"ion:eyedrop",
"ion:eyedrop-outline",
"ion:eyedrop-sharp",
"ion:fast-food",
"ion:fast-food-outline",
"ion:fast-food-sharp",
"ion:female",
"ion:female-outline",
"ion:female-sharp",
"ion:file-tray",
"ion:file-tray-full",
"ion:file-tray-full-outline",
"ion:file-tray-full-sharp",
"ion:file-tray-outline",
"ion:file-tray-sharp",
"ion:file-tray-stacked",
"ion:file-tray-stacked-outline",
"ion:file-tray-stacked-sharp",
"ion:filing",
"ion:film",
"ion:film-marker",
"ion:film-outline",
"ion:film-sharp",
"ion:filter",
"ion:filter-circle",
"ion:filter-circle-outline",
"ion:filter-circle-sharp",
"ion:filter-outline",
"ion:filter-sharp",
"ion:finger-print",
"ion:finger-print-outline",
"ion:finger-print-sharp",
"ion:fireball",
"ion:fish",
"ion:fish-outline",
"ion:fish-sharp",
"ion:fitness",
"ion:fitness-outline",
"ion:fitness-sharp",
"ion:flag",
"ion:flag-outline",
"ion:flag-sharp",
"ion:flame",
"ion:flame-outline",
"ion:flame-sharp",
"ion:flash",
"ion:flash-off",
"ion:flash-off-outline",
"ion:flash-off-sharp",
"ion:flash-outline",
"ion:flash-sharp",
"ion:flashlight",
"ion:flashlight-outline",
"ion:flashlight-sharp",
"ion:flask",
"ion:flask-outline",
"ion:flask-sharp",
"ion:flower",
"ion:flower-outline",
"ion:flower-sharp",
"ion:folder",
"ion:folder-open",
"ion:folder-open-outline",
"ion:folder-open-sharp",
"ion:folder-outline",
"ion:folder-sharp",
"ion:football",
"ion:football-outline",
"ion:football-sharp",
"ion:footsteps",
"ion:footsteps-outline",
"ion:footsteps-sharp",
"ion:fork",
"ion:fork-repo",
"ion:forward",
"ion:funnel",
"ion:funnel-outline",
"ion:funnel-sharp",
"ion:game-controller",
"ion:game-controller-outline",
"ion:game-controller-sharp",
"ion:gear-a",
"ion:gear-b",
"ion:gift",
"ion:gift-outline",
"ion:gift-sharp",
"ion:git-branch",
"ion:git-branch-outline",
"ion:git-branch-sharp",
"ion:git-commit",
"ion:git-commit-outline",
"ion:git-commit-sharp",
"ion:git-compare",
"ion:git-compare-outline",
"ion:git-compare-sharp",
"ion:git-merge",
"ion:git-merge-outline",
"ion:git-merge-sharp",
"ion:git-network",
"ion:git-network-outline",
"ion:git-network-sharp",
"ion:git-pull-request",
"ion:git-pull-request-outline",
"ion:git-pull-request-sharp",
"ion:glasses",
"ion:glasses-outline",
"ion:glasses-sharp",
"ion:globe",
"ion:globe-outline",
"ion:globe-sharp",
"ion:golf",
"ion:golf-outline",
"ion:golf-sharp",
"ion:grid",
"ion:grid-outline",
"ion:grid-sharp",
"ion:hammer",
"ion:hammer-outline",
"ion:hammer-sharp",
"ion:hand-left",
"ion:hand-left-outline",
"ion:hand-left-sharp",
"ion:hand-right",
"ion:hand-right-outline",
"ion:hand-right-sharp",
"ion:happy",
"ion:happy-outline",
"ion:happy-sharp",
"ion:hardware-chip",
"ion:hardware-chip-outline",
"ion:hardware-chip-sharp",
"ion:headphone",
"ion:headset",
"ion:headset-outline",
"ion:headset-sharp",
"ion:heart",
"ion:heart-broken",
"ion:heart-circle",
"ion:heart-circle-outline",
"ion:heart-circle-sharp",
"ion:heart-dislike",
"ion:heart-dislike-circle",
"ion:heart-dislike-circle-outline",
"ion:heart-dislike-circle-sharp",
"ion:heart-dislike-outline",
"ion:heart-dislike-sharp",
"ion:heart-half",
"ion:heart-half-outline",
"ion:heart-half-sharp",
"ion:heart-outline",
"ion:heart-sharp",
"ion:help",
"ion:help-buoy",
"ion:help-buoy-outline",
"ion:help-buoy-sharp",
"ion:help-circle",
"ion:help-circle-outline",
"ion:help-circle-sharp",
"ion:help-circled",
"ion:help-outline",
"ion:help-sharp",
"ion:home",
"ion:home-outline",
"ion:home-sharp",
"ion:hourglass",
"ion:hourglass-outline",
"ion:hourglass-sharp",
"ion:ice-cream",
"ion:ice-cream-outline",
"ion:ice-cream-sharp",
"ion:icecream",
"ion:id-card",
"ion:id-card-outline",
"ion:id-card-sharp",
"ion:image",
"ion:image-outline",
"ion:image-sharp",
"ion:images",
"ion:images-outline",
"ion:images-sharp",
"ion:infinite",
"ion:infinite-outline",
"ion:infinite-sharp",
"ion:information",
"ion:information-circle",
"ion:information-circle-outline",
"ion:information-circle-sharp",
"ion:information-circled",
"ion:information-outline",
"ion:information-sharp",
"ion:invert-mode",
"ion:invert-mode-outline",
"ion:invert-mode-sharp",
"ion:ionic",
"ion:ios-add",
"ion:ios-add-circle",
"ion:ios-add-circle-outline",
"ion:ios-airplane",
"ion:ios-alarm",
"ion:ios-alarm-outline",
"ion:ios-albums",
"ion:ios-albums-outline",
"ion:ios-alert",
"ion:ios-american-football",
"ion:ios-americanfootball",
"ion:ios-americanfootball-outline",
"ion:ios-analytics",
"ion:ios-analytics-outline",
"ion:ios-aperture",
"ion:ios-apps",
"ion:ios-appstore",
"ion:ios-archive",
"ion:ios-arrow-back",
"ion:ios-arrow-down",
"ion:ios-arrow-dropdown",
"ion:ios-arrow-dropdown-circle",
"ion:ios-arrow-dropleft",
"ion:ios-arrow-dropleft-circle",
"ion:ios-arrow-dropright",
"ion:ios-arrow-dropright-circle",
"ion:ios-arrow-dropup",
"ion:ios-arrow-dropup-circle",
"ion:ios-arrow-forward",
"ion:ios-arrow-left",
"ion:ios-arrow-right",
"ion:ios-arrow-round-back",
"ion:ios-arrow-round-down",
"ion:ios-arrow-round-forward",
"ion:ios-arrow-round-up",
"ion:ios-arrow-thin-down",
"ion:ios-arrow-thin-left",
"ion:ios-arrow-thin-right",
"ion:ios-arrow-thin-up",
"ion:ios-arrow-up",
"ion:ios-at",
"ion:ios-at-outline",
"ion:ios-attach",
"ion:ios-backspace",
"ion:ios-barcode",
"ion:ios-barcode-outline",
"ion:ios-baseball",
"ion:ios-baseball-outline",
"ion:ios-basket",
"ion:ios-basketball",
"ion:ios-basketball-outline",
"ion:ios-battery-charging",
"ion:ios-battery-dead",
"ion:ios-battery-full",
"ion:ios-beaker",
"ion:ios-bed",
"ion:ios-beer",
"ion:ios-bell",
"ion:ios-bell-outline",
"ion:ios-bicycle",
"ion:ios-bluetooth",
"ion:ios-boat",
"ion:ios-body",
"ion:ios-body-outline",
"ion:ios-bolt",
"ion:ios-bolt-outline",
"ion:ios-bonfire",
"ion:ios-book",
"ion:ios-book-outline",
"ion:ios-bookmark",
"ion:ios-bookmarks",
"ion:ios-bookmarks-outline",
"ion:ios-bowtie",
"ion:ios-box",
"ion:ios-box-outline",
"ion:ios-briefcase",
"ion:ios-briefcase-outline",
"ion:ios-browsers",
"ion:ios-browsers-outline",
"ion:ios-brush",
"ion:ios-bug",
"ion:ios-build",
"ion:ios-bulb",
"ion:ios-bus",
"ion:ios-business",
"ion:ios-cafe",
"ion:ios-calculator",
"ion:ios-calculator-outline",
"ion:ios-calendar",
"ion:ios-calendar-outline",
"ion:ios-call",
"ion:ios-camera",
"ion:ios-camera-outline",
"ion:ios-car",
"ion:ios-card",
"ion:ios-cart",
"ion:ios-cart-outline",
"ion:ios-cash",
"ion:ios-cellular",
"ion:ios-chatboxes",
"ion:ios-chatboxes-outline",
"ion:ios-chatbubble",
"ion:ios-chatbubble-outline",
"ion:ios-chatbubbles",
"ion:ios-checkbox",
"ion:ios-checkbox-outline",
"ion:ios-checkmark",
"ion:ios-checkmark-circle",
"ion:ios-checkmark-circle-outline",
"ion:ios-checkmark-empty",
"ion:ios-checkmark-outline",
"ion:ios-circle-filled",
"ion:ios-circle-outline",
"ion:ios-clipboard",
"ion:ios-clock",
"ion:ios-clock-outline",
"ion:ios-close",
"ion:ios-close-circle",
"ion:ios-close-circle-outline",
"ion:ios-close-empty",
"ion:ios-close-outline",
"ion:ios-cloud",
"ion:ios-cloud-circle",
"ion:ios-cloud-done",
"ion:ios-cloud-download",
"ion:ios-cloud-download-outline",
"ion:ios-cloud-outline",
"ion:ios-cloud-upload",
"ion:ios-cloud-upload-outline",
"ion:ios-cloudy",
"ion:ios-cloudy-night",
"ion:ios-cloudy-night-outline",
"ion:ios-cloudy-outline",
"ion:ios-code",
"ion:ios-code-download",
"ion:ios-code-working",
"ion:ios-cog",
"ion:ios-cog-outline",
"ion:ios-color-fill",
"ion:ios-color-filter",
"ion:ios-color-filter-outline",
"ion:ios-color-palette",
"ion:ios-color-wand",
"ion:ios-color-wand-outline",
"ion:ios-compass",
"ion:ios-compose",
"ion:ios-compose-outline",
"ion:ios-construct",
"ion:ios-contact",
"ion:ios-contact-outline",
"ion:ios-contacts",
"ion:ios-contract",
"ion:ios-contrast",
"ion:ios-copy",
"ion:ios-copy-outline",
"ion:ios-create",
"ion:ios-crop",
"ion:ios-crop-strong",
"ion:ios-cube",
"ion:ios-cut",
"ion:ios-desktop",
"ion:ios-disc",
"ion:ios-document",
"ion:ios-done-all",
"ion:ios-download",
"ion:ios-download-outline",
"ion:ios-easel",
"ion:ios-egg",
"ion:ios-email",
"ion:ios-email-outline",
"ion:ios-exit",
"ion:ios-expand",
"ion:ios-eye",
"ion:ios-eye-off",
"ion:ios-eye-outline",
"ion:ios-fastforward",
"ion:ios-fastforward-outline",
"ion:ios-female",
"ion:ios-filing",
"ion:ios-filing-outline",
"ion:ios-film",
"ion:ios-film-outline",
"ion:ios-finger-print",
"ion:ios-fitness",
"ion:ios-flag",
"ion:ios-flag-outline",
"ion:ios-flame",
"ion:ios-flame-outline",
"ion:ios-flash",
"ion:ios-flash-off",
"ion:ios-flashlight",
"ion:ios-flask",
"ion:ios-flask-outline",
"ion:ios-flower",
"ion:ios-flower-outline",
"ion:ios-folder",
"ion:ios-folder-open",
"ion:ios-folder-outline",
"ion:ios-football",
"ion:ios-football-outline",
"ion:ios-funnel",
"ion:ios-game-controller-a",
"ion:ios-game-controller-a-outline",
"ion:ios-game-controller-b",
"ion:ios-game-controller-b-outline",
"ion:ios-gear",
"ion:ios-gear-outline",
"ion:ios-gift",
"ion:ios-git-branch",
"ion:ios-git-commit",
"ion:ios-git-compare",
"ion:ios-git-merge",
"ion:ios-git-network",
"ion:ios-git-pull-request",
"ion:ios-glasses",
"ion:ios-glasses-outline",
"ion:ios-globe",
"ion:ios-grid",
"ion:ios-grid-view",
"ion:ios-grid-view-outline",
"ion:ios-hammer",
"ion:ios-hand",
"ion:ios-happy",
"ion:ios-headset",
"ion:ios-heart",
"ion:ios-heart-dislike",
"ion:ios-heart-empty",
"ion:ios-heart-half",
"ion:ios-heart-outline",
"ion:ios-help",
"ion:ios-help-buoy",
"ion:ios-help-circle",
"ion:ios-help-circle-outline",
"ion:ios-help-empty",
"ion:ios-help-outline",
"ion:ios-home",
"ion:ios-home-outline",
"ion:ios-hourglass",
"ion:ios-ice-cream",
"ion:ios-image",
"ion:ios-images",
"ion:ios-infinite",
"ion:ios-infinite-outline",
"ion:ios-information",
"ion:ios-information-circle",
"ion:ios-information-circle-outline",
"ion:ios-information-empty",
"ion:ios-information-outline",
"ion:ios-ionic-outline",
"ion:ios-jet",
"ion:ios-journal",
"ion:ios-key",
"ion:ios-keypad",
"ion:ios-keypad-outline",
"ion:ios-laptop",
"ion:ios-leaf",
"ion:ios-lightbulb",
"ion:ios-lightbulb-outline",
"ion:ios-link",
"ion:ios-list",
"ion:ios-list-box",
"ion:ios-list-outline",
"ion:ios-locate",
"ion:ios-location",
"ion:ios-location-outline",
"ion:ios-lock",
"ion:ios-locked",
"ion:ios-locked-outline",
"ion:ios-log-in",
"ion:ios-log-out",
"ion:ios-loop",
"ion:ios-loop-strong",
"ion:ios-magnet",
"ion:ios-mail",
"ion:ios-mail-open",
"ion:ios-mail-unread",
"ion:ios-male",
"ion:ios-man",
"ion:ios-map",
"ion:ios-medal",
"ion:ios-medical",
"ion:ios-medical-outline",
"ion:ios-medkit",
"ion:ios-medkit-outline",
"ion:ios-megaphone",
"ion:ios-menu",
"ion:ios-mic",
"ion:ios-mic-off",
"ion:ios-mic-outline",
"ion:ios-microphone",
"ion:ios-minus",
"ion:ios-minus-empty",
"ion:ios-minus-outline",
"ion:ios-monitor",
"ion:ios-monitor-outline",
"ion:ios-moon",
"ion:ios-moon-outline",
"ion:ios-more",
"ion:ios-more-outline",
"ion:ios-move",
"ion:ios-musical-note",
"ion:ios-musical-notes",
"ion:ios-navigate",
"ion:ios-navigate-outline",
"ion:ios-notifications",
"ion:ios-notifications-off",
"ion:ios-notifications-outline",
"ion:ios-nuclear",
"ion:ios-nutrition",
"ion:ios-nutrition-outline",
"ion:ios-open",
"ion:ios-options",
"ion:ios-outlet",
"ion:ios-paper",
"ion:ios-paper-outline",
"ion:ios-paper-plane",
"ion:ios-paperplane",
"ion:ios-paperplane-outline",
"ion:ios-partly-sunny",
"ion:ios-partlysunny",
"ion:ios-partlysunny-outline",
"ion:ios-pause",
"ion:ios-pause-outline",
"ion:ios-paw",
"ion:ios-paw-outline",
"ion:ios-people",
"ion:ios-people-outline",
"ion:ios-person",
"ion:ios-person-add",
"ion:ios-person-outline",
"ion:ios-personadd",
"ion:ios-personadd-outline",
"ion:ios-phone-landscape",
"ion:ios-phone-portrait",
"ion:ios-photos",
"ion:ios-photos-outline",
"ion:ios-pie",
"ion:ios-pie-outline",
"ion:ios-pin",
"ion:ios-pint",
"ion:ios-pint-outline",
"ion:ios-pizza",
"ion:ios-planet",
"ion:ios-play",
"ion:ios-play-circle",
"ion:ios-play-outline",
"ion:ios-plus",
"ion:ios-plus-empty",
"ion:ios-plus-outline",
"ion:ios-podium",
"ion:ios-power",
"ion:ios-pricetag",
"ion:ios-pricetag-outline",
"ion:ios-pricetags",
"ion:ios-pricetags-outline",
"ion:ios-print",
"ion:ios-printer",
"ion:ios-printer-outline",
"ion:ios-pulse",
"ion:ios-pulse-strong",
"ion:ios-qr-scanner",
"ion:ios-quote",
"ion:ios-radio",
"ion:ios-radio-button-off",
"ion:ios-radio-button-on",
"ion:ios-rainy",
"ion:ios-rainy-outline",
"ion:ios-recording",
"ion:ios-recording-outline",
"ion:ios-redo",
"ion:ios-redo-outline",
"ion:ios-refresh",
"ion:ios-refresh-circle",
"ion:ios-refresh-empty",
"ion:ios-refresh-outline",
"ion:ios-reload",
"ion:ios-remove",
"ion:ios-remove-circle",
"ion:ios-remove-circle-outline",
"ion:ios-reorder",
"ion:ios-repeat",
"ion:ios-resize",
"ion:ios-restaurant",
"ion:ios-return-left",
"ion:ios-return-right",
"ion:ios-reverse-camera",
"ion:ios-reverse-camera-outline",
"ion:ios-rewind",
"ion:ios-rewind-outline",
"ion:ios-ribbon",
"ion:ios-rocket",
"ion:ios-rose",
"ion:ios-rose-outline",
"ion:ios-sad",
"ion:ios-save",
"ion:ios-school",
"ion:ios-search",
"ion:ios-search-strong",
"ion:ios-send",
"ion:ios-settings",
"ion:ios-settings-strong",
"ion:ios-share",
"ion:ios-share-alt",
"ion:ios-shirt",
"ion:ios-shuffle",
"ion:ios-shuffle-strong",
"ion:ios-skip-backward",
"ion:ios-skip-forward",
"ion:ios-skipbackward",
"ion:ios-skipbackward-outline",
"ion:ios-skipforward",
"ion:ios-skipforward-outline",
"ion:ios-snow",
"ion:ios-snowy",
"ion:ios-speedometer",
"ion:ios-speedometer-outline",
"ion:ios-square",
"ion:ios-square-outline",
"ion:ios-star",
"ion:ios-star-half",
"ion:ios-star-outline",
"ion:ios-stats",
"ion:ios-stopwatch",
"ion:ios-stopwatch-outline",
"ion:ios-subway",
"ion:ios-sunny",
"ion:ios-sunny-outline",
"ion:ios-swap",
"ion:ios-switch",
"ion:ios-sync",
"ion:ios-tablet-landscape",
"ion:ios-tablet-portrait",
"ion:ios-telephone",
"ion:ios-telephone-outline",
"ion:ios-tennisball",
"ion:ios-tennisball-outline",
"ion:ios-text",
"ion:ios-thermometer",
"ion:ios-thumbs-down",
"ion:ios-thumbs-up",
"ion:ios-thunderstorm",
"ion:ios-thunderstorm-outline",
"ion:ios-time",
"ion:ios-time-outline",
"ion:ios-timer",
"ion:ios-timer-outline",
"ion:ios-today",
"ion:ios-toggle",
"ion:ios-toggle-outline",
"ion:ios-train",
"ion:ios-transgender",
"ion:ios-trash",
"ion:ios-trash-outline",
"ion:ios-trending-down",
"ion:ios-trending-up",
"ion:ios-trophy",
"ion:ios-tv",
"ion:ios-umbrella",
"ion:ios-undo",
"ion:ios-undo-outline",
"ion:ios-unlock",
"ion:ios-unlocked",
"ion:ios-unlocked-outline",
"ion:ios-upload",
"ion:ios-upload-outline",
"ion:ios-videocam",
"ion:ios-videocam-outline",
"ion:ios-volume-high",
"ion:ios-volume-low",
"ion:ios-volume-mute",
"ion:ios-volume-off",
"ion:ios-walk",
"ion:ios-wallet",
"ion:ios-warning",
"ion:ios-watch",
"ion:ios-water",
"ion:ios-wifi",
"ion:ios-wine",
"ion:ios-wineglass",
"ion:ios-wineglass-outline",
"ion:ios-woman",
"ion:ios-world",
"ion:ios-world-outline",
"ion:ipad",
"ion:iphone",
"ion:ipod",
"ion:jet",
"ion:journal",
"ion:journal-outline",
"ion:journal-sharp",
"ion:key",
"ion:key-outline",
"ion:key-sharp",
"ion:keypad",
"ion:keypad-outline",
"ion:keypad-sharp",
"ion:knife",
"ion:language",
"ion:language-outline",
"ion:language-sharp",
"ion:laptop",
"ion:laptop-outline",
"ion:laptop-sharp",
"ion:layers",
"ion:layers-outline",
"ion:layers-sharp",
"ion:leaf",
"ion:leaf-outline",
"ion:leaf-sharp",
"ion:levels",
"ion:library",
"ion:library-outline",
"ion:library-sharp",
"ion:lightbulb",
"ion:link",
"ion:link-outline",
"ion:link-sharp",
"ion:list",
"ion:list-circle",
"ion:list-circle-outline",
"ion:list-circle-sharp",
"ion:list-outline",
"ion:list-sharp",
"ion:load-a",
"ion:load-b",
"ion:load-c",
"ion:load-d",
"ion:locate",
"ion:locate-outline",
"ion:locate-sharp",
"ion:location",
"ion:location-outline",
"ion:location-sharp",
"ion:lock-closed",
"ion:lock-closed-outline",
"ion:lock-closed-sharp",
"ion:lock-combination",
"ion:lock-open",
"ion:lock-open-outline",
"ion:lock-open-sharp",
"ion:locked",
"ion:log-in",
"ion:log-in-outline",
"ion:log-in-sharp",
"ion:log-out",
"ion:log-out-outline",
"ion:log-out-sharp",
"ion:logo-alipay",
"ion:logo-amazon",
"ion:logo-amplify",
"ion:logo-android",
"ion:logo-angular",
"ion:logo-apple",
"ion:logo-apple-appstore",
"ion:logo-apple-ar",
"ion:logo-behance",
"ion:logo-bitbucket",
"ion:logo-bitcoin",
"ion:logo-buffer",
"ion:logo-capacitor",
"ion:logo-chrome",
"ion:logo-closed-captioning",
"ion:logo-codepen",
"ion:logo-css3",
"ion:logo-designernews",
"ion:logo-deviantart",
"ion:logo-discord",
"ion:logo-docker",
"ion:logo-dribbble",
"ion:logo-dropbox",
"ion:logo-edge",
"ion:logo-electron",
"ion:logo-euro",
"ion:logo-facebook",
"ion:logo-figma",
"ion:logo-firebase",
"ion:logo-firefox",
"ion:logo-flickr",
"ion:logo-foursquare",
"ion:logo-freebsd-devil",
"ion:logo-game-controller-a",
"ion:logo-game-controller-b",
"ion:logo-github",
"ion:logo-gitlab",
"ion:logo-google",
"ion:logo-google-playstore",
"ion:logo-googleplus",
"ion:logo-hackernews",
"ion:logo-html5",
"ion:logo-instagram",
"ion:logo-ionic",
"ion:logo-ionitron",
"ion:logo-javascript",
"ion:logo-laravel",
"ion:logo-linkedin",
"ion:logo-markdown",
"ion:logo-mastodon",
"ion:logo-medium",
"ion:logo-microsoft",
"ion:logo-model-s",
"ion:logo-no-smoking",
"ion:logo-nodejs",
"ion:logo-npm",
"ion:logo-octocat",
"ion:logo-paypal",
"ion:logo-pinterest",
"ion:logo-playstation",
"ion:logo-polymer",
"ion:logo-pwa",
"ion:logo-python",
"ion:logo-react",
"ion:logo-reddit",
"ion:logo-rss",
"ion:logo-sass",
"ion:logo-skype",
"ion:logo-slack",
"ion:logo-snapchat",
"ion:logo-soundcloud",
"ion:logo-stackoverflow",
"ion:logo-steam",
"ion:logo-stencil",
"ion:logo-tableau",
"ion:logo-tiktok",
"ion:logo-tumblr",
"ion:logo-tux",
"ion:logo-twitch",
"ion:logo-twitter",
"ion:logo-usd",
"ion:logo-venmo",
"ion:logo-vercel",
"ion:logo-vimeo",
"ion:logo-vk",
"ion:logo-vue",
"ion:logo-web-component",
"ion:logo-wechat",
"ion:logo-whatsapp",
"ion:logo-windows",
"ion:logo-wordpress",
"ion:logo-xbox",
"ion:logo-xing",
"ion:logo-yahoo",
"ion:logo-yen",
"ion:logo-youtube",
"ion:loop",
"ion:magnet",
"ion:magnet-outline",
"ion:magnet-sharp",
"ion:mail",
"ion:mail-open",
"ion:mail-open-outline",
"ion:mail-open-sharp",
"ion:mail-outline",
"ion:mail-sharp",
"ion:mail-unread",
"ion:mail-unread-outline",
"ion:mail-unread-sharp",
"ion:male",
"ion:male-female",
"ion:male-female-outline",
"ion:male-female-sharp",
"ion:male-outline",
"ion:male-sharp",
"ion:man",
"ion:man-outline",
"ion:man-sharp",
"ion:map",
"ion:map-outline",
"ion:map-sharp",
"ion:md-add",
"ion:md-add-circle",
"ion:md-add-circle-outline",
"ion:md-airplane",
"ion:md-alarm",
"ion:md-albums",
"ion:md-alert",
"ion:md-american-football",
"ion:md-analytics",
"ion:md-aperture",
"ion:md-apps",
"ion:md-appstore",
"ion:md-archive",
"ion:md-arrow-back",
"ion:md-arrow-down",
"ion:md-arrow-dropdown",
"ion:md-arrow-dropdown-circle",
"ion:md-arrow-dropleft",
"ion:md-arrow-dropleft-circle",
"ion:md-arrow-dropright",
"ion:md-arrow-dropright-circle",
"ion:md-arrow-dropup",
"ion:md-arrow-dropup-circle",
"ion:md-arrow-forward",
"ion:md-arrow-round-back",
"ion:md-arrow-round-down",
"ion:md-arrow-round-forward",
"ion:md-arrow-round-up",
"ion:md-arrow-up",
"ion:md-at",
"ion:md-attach",
"ion:md-backspace",
"ion:md-barcode",
"ion:md-baseball",
"ion:md-basket",
"ion:md-basketball",
"ion:md-battery-charging",
"ion:md-battery-dead",
"ion:md-battery-full",
"ion:md-beaker",
"ion:md-bed",
"ion:md-beer",
"ion:md-bicycle",
"ion:md-bluetooth",
"ion:md-boat",
"ion:md-body",
"ion:md-bonfire",
"ion:md-book",
"ion:md-bookmark",
"ion:md-bookmarks",
"ion:md-bowtie",
"ion:md-briefcase",
"ion:md-browsers",
"ion:md-brush",
"ion:md-bug",
"ion:md-build",
"ion:md-bulb",
"ion:md-bus",
"ion:md-business",
"ion:md-cafe",
"ion:md-calculator",
"ion:md-calendar",
"ion:md-call",
"ion:md-camera",
"ion:md-car",
"ion:md-card",
"ion:md-cart",
"ion:md-cash",
"ion:md-cellular",
"ion:md-chatboxes",
"ion:md-chatbubbles",
"ion:md-checkbox",
"ion:md-checkbox-outline",
"ion:md-checkmark",
"ion:md-checkmark-circle",
"ion:md-checkmark-circle-outline",
"ion:md-clipboard",
"ion:md-clock",
"ion:md-close",
"ion:md-close-circle",
"ion:md-close-circle-outline",
"ion:md-cloud",
"ion:md-cloud-circle",
"ion:md-cloud-done",
"ion:md-cloud-download",
"ion:md-cloud-outline",
"ion:md-cloud-upload",
"ion:md-cloudy",
"ion:md-cloudy-night",
"ion:md-code",
"ion:md-code-download",
"ion:md-code-working",
"ion:md-cog",
"ion:md-color-fill",
"ion:md-color-filter",
"ion:md-color-palette",
"ion:md-color-wand",
"ion:md-compass",
"ion:md-construct",
"ion:md-contact",
"ion:md-contacts",
"ion:md-contract",
"ion:md-contrast",
"ion:md-copy",
"ion:md-create",
"ion:md-crop",
"ion:md-cube",
"ion:md-cut",
"ion:md-desktop",
"ion:md-disc",
"ion:md-document",
"ion:md-done-all",
"ion:md-download",
"ion:md-easel",
"ion:md-egg",
"ion:md-exit",
"ion:md-expand",
"ion:md-eye",
"ion:md-eye-off",
"ion:md-fastforward",
"ion:md-female",
"ion:md-filing",
"ion:md-film",
"ion:md-finger-print",
"ion:md-fitness",
"ion:md-flag",
"ion:md-flame",
"ion:md-flash",
"ion:md-flash-off",
"ion:md-flashlight",
"ion:md-flask",
"ion:md-flower",
"ion:md-folder",
"ion:md-folder-open",
"ion:md-football",
"ion:md-funnel",
"ion:md-gift",
"ion:md-git-branch",
"ion:md-git-commit",
"ion:md-git-compare",
"ion:md-git-merge",
"ion:md-git-network",
"ion:md-git-pull-request",
"ion:md-glasses",
"ion:md-globe",
"ion:md-grid",
"ion:md-hammer",
"ion:md-hand",
"ion:md-happy",
"ion:md-headset",
"ion:md-heart",
"ion:md-heart-dislike",
"ion:md-heart-empty",
"ion:md-heart-half",
"ion:md-help",
"ion:md-help-buoy",
"ion:md-help-circle",
"ion:md-help-circle-outline",
"ion:md-home",
"ion:md-hourglass",
"ion:md-ice-cream",
"ion:md-image",
"ion:md-images",
"ion:md-infinite",
"ion:md-information",
"ion:md-information-circle",
"ion:md-information-circle-outline",
"ion:md-jet",
"ion:md-journal",
"ion:md-key",
"ion:md-keypad",
"ion:md-laptop",
"ion:md-leaf",
"ion:md-link",
"ion:md-list",
"ion:md-list-box",
"ion:md-locate",
"ion:md-lock",
"ion:md-log-in",
"ion:md-log-out",
"ion:md-magnet",
"ion:md-mail",
"ion:md-mail-open",
"ion:md-mail-unread",
"ion:md-male",
"ion:md-man",
"ion:md-map",
"ion:md-medal",
"ion:md-medical",
"ion:md-medkit",
"ion:md-megaphone",
"ion:md-menu",
"ion:md-mic",
"ion:md-mic-off",
"ion:md-microphone",
"ion:md-moon",
"ion:md-more",
"ion:md-move",
"ion:md-musical-note",
"ion:md-musical-notes",
"ion:md-navigate",
"ion:md-notifications",
"ion:md-notifications-off",
"ion:md-notifications-outline",
"ion:md-nuclear",
"ion:md-nutrition",
"ion:md-open",
"ion:md-options",
"ion:md-outlet",
"ion:md-paper",
"ion:md-paper-plane",
"ion:md-partly-sunny",
"ion:md-pause",
"ion:md-paw",
"ion:md-people",
"ion:md-person",
"ion:md-person-add",
"ion:md-phone-landscape",
"ion:md-phone-portrait",
"ion:md-photos",
"ion:md-pie",
"ion:md-pin",
"ion:md-pint",
"ion:md-pizza",
"ion:md-planet",
"ion:md-play",
"ion:md-play-circle",
"ion:md-podium",
"ion:md-power",
"ion:md-pricetag",
"ion:md-pricetags",
"ion:md-print",
"ion:md-pulse",
"ion:md-qr-scanner",
"ion:md-quote",
"ion:md-radio",
"ion:md-radio-button-off",
"ion:md-radio-button-on",
"ion:md-rainy",
"ion:md-recording",
"ion:md-redo",
"ion:md-refresh",
"ion:md-refresh-circle",
"ion:md-remove",
"ion:md-remove-circle",
"ion:md-remove-circle-outline",
"ion:md-reorder",
"ion:md-repeat",
"ion:md-resize",
"ion:md-restaurant",
"ion:md-return-left",
"ion:md-return-right",
"ion:md-reverse-camera",
"ion:md-rewind",
"ion:md-ribbon",
"ion:md-rocket",
"ion:md-rose",
"ion:md-sad",
"ion:md-save",
"ion:md-school",
"ion:md-search",
"ion:md-send",
"ion:md-settings",
"ion:md-share",
"ion:md-share-alt",
"ion:md-shirt",
"ion:md-shuffle",
"ion:md-skip-backward",
"ion:md-skip-forward",
"ion:md-snow",
"ion:md-speedometer",
"ion:md-square",
"ion:md-square-outline",
"ion:md-star",
"ion:md-star-half",
"ion:md-star-outline",
"ion:md-stats",
"ion:md-stopwatch",
"ion:md-subway",
"ion:md-sunny",
"ion:md-swap",
"ion:md-switch",
"ion:md-sync",
"ion:md-tablet-landscape",
"ion:md-tablet-portrait",
"ion:md-tennisball",
"ion:md-text",
"ion:md-thermometer",
"ion:md-thumbs-down",
"ion:md-thumbs-up",
"ion:md-thunderstorm",
"ion:md-time",
"ion:md-timer",
"ion:md-today",
"ion:md-train",
"ion:md-transgender",
"ion:md-trash",
"ion:md-trending-down",
"ion:md-trending-up",
"ion:md-trophy",
"ion:md-tv",
"ion:md-umbrella",
"ion:md-undo",
"ion:md-unlock",
"ion:md-videocam",
"ion:md-volume-high",
"ion:md-volume-low",
"ion:md-volume-mute",
"ion:md-volume-off",
"ion:md-walk",
"ion:md-wallet",
"ion:md-warning",
"ion:md-watch",
"ion:md-water",
"ion:md-wifi",
"ion:md-wine",
"ion:md-woman",
"ion:medal",
"ion:medal-outline",
"ion:medal-sharp",
"ion:medical",
"ion:medical-outline",
"ion:medical-sharp",
"ion:medkit",
"ion:medkit-outline",
"ion:medkit-sharp",
"ion:megaphone",
"ion:megaphone-outline",
"ion:megaphone-sharp",
"ion:menu",
"ion:menu-outline",
"ion:menu-sharp",
"ion:merge",
"ion:mic",
"ion:mic-a",
"ion:mic-b",
"ion:mic-c",
"ion:mic-circle",
"ion:mic-circle-outline",
"ion:mic-circle-sharp",
"ion:mic-off",
"ion:mic-off-circle",
"ion:mic-off-circle-outline",
"ion:mic-off-circle-sharp",
"ion:mic-off-outline",
"ion:mic-off-sharp",
"ion:mic-outline",
"ion:mic-sharp",
"ion:minus",
"ion:minus-circled",
"ion:minus-round",
"ion:model-s",
"ion:monitor",
"ion:moon",
"ion:moon-outline",
"ion:moon-sharp",
"ion:more",
"ion:mouse",
"ion:move",
"ion:move-outline",
"ion:move-sharp",
"ion:music-note",
"ion:musical-note",
"ion:musical-note-outline",
"ion:musical-note-sharp",
"ion:musical-notes",
"ion:musical-notes-outline",
"ion:musical-notes-sharp",
"ion:navicon",
"ion:navicon-round",
"ion:navigate",
"ion:navigate-circle",
"ion:navigate-circle-outline",
"ion:navigate-circle-sharp",
"ion:navigate-outline",
"ion:navigate-sharp",
"ion:network",
"ion:newspaper",
"ion:newspaper-outline",
"ion:newspaper-sharp",
"ion:no-smoking",
"ion:notifications",
"ion:notifications-circle",
"ion:notifications-circle-outline",
"ion:notifications-circle-sharp",
"ion:notifications-off",
"ion:notifications-off-circle",
"ion:notifications-off-circle-outline",
"ion:notifications-off-circle-sharp",
"ion:notifications-off-outline",
"ion:notifications-off-sharp",
"ion:notifications-outline",
"ion:notifications-sharp",
"ion:nuclear",
"ion:nuclear-outline",
"ion:nuclear-sharp",
"ion:nutrition",
"ion:nutrition-outline",
"ion:nutrition-sharp",
"ion:open",
"ion:open-outline",
"ion:open-sharp",
"ion:options",
"ion:options-outline",
"ion:options-sharp",
"ion:outlet",
"ion:paintbrush",
"ion:paintbucket",
"ion:paper-airplane",
"ion:paper-plane",
"ion:paper-plane-outline",
"ion:paper-plane-sharp",
"ion:paperclip",
"ion:partly-sunny",
"ion:partly-sunny-outline",
"ion:partly-sunny-sharp",
"ion:pause",
"ion:pause-circle",
"ion:pause-circle-outline",
"ion:pause-circle-sharp",
"ion:pause-outline",
"ion:pause-sharp",
"ion:paw",
"ion:paw-outline",
"ion:paw-sharp",
"ion:pencil",
"ion:pencil-outline",
"ion:pencil-sharp",
"ion:people",
"ion:people-circle",
"ion:people-circle-outline",
"ion:people-circle-sharp",
"ion:people-outline",
"ion:people-sharp",
"ion:person",
"ion:person-add",
"ion:person-add-outline",
"ion:person-add-sharp",
"ion:person-circle",
"ion:person-circle-outline",
"ion:person-circle-sharp",
"ion:person-outline",
"ion:person-remove",
"ion:person-remove-outline",
"ion:person-remove-sharp",
"ion:person-sharp",
"ion:person-stalker",
"ion:phone-landscape",
"ion:phone-landscape-outline",
"ion:phone-landscape-sharp",
"ion:phone-portrait",
"ion:phone-portrait-outline",
"ion:phone-portrait-sharp",
"ion:pie-chart",
"ion:pie-chart-outline",
"ion:pie-chart-sharp",
"ion:pin",
"ion:pin-outline",
"ion:pin-sharp",
"ion:pinpoint",
"ion:pint",
"ion:pint-outline",
"ion:pint-sharp",
"ion:pizza",
"ion:pizza-outline",
"ion:pizza-sharp",
"ion:plane",
"ion:planet",
"ion:planet-outline",
"ion:planet-sharp",
"ion:play",
"ion:play-back",
"ion:play-back-circle",
"ion:play-back-circle-outline",
"ion:play-back-circle-sharp",
"ion:play-back-outline",
"ion:play-back-sharp",
"ion:play-circle",
"ion:play-circle-outline",
"ion:play-circle-sharp",
"ion:play-forward",
"ion:play-forward-circle",
"ion:play-forward-circle-outline",
"ion:play-forward-circle-sharp",
"ion:play-forward-outline",
"ion:play-forward-sharp",
"ion:play-outline",
"ion:play-sharp",
"ion:play-skip-back",
"ion:play-skip-back-circle",
"ion:play-skip-back-circle-outline",
"ion:play-skip-back-circle-sharp",
"ion:play-skip-back-outline",
"ion:play-skip-back-sharp",
"ion:play-skip-forward",
"ion:play-skip-forward-circle",
"ion:play-skip-forward-circle-outline",
"ion:play-skip-forward-circle-sharp",
"ion:play-skip-forward-outline",
"ion:play-skip-forward-sharp",
"ion:playstation",
"ion:plus",
"ion:plus-circled",
"ion:plus-round",
"ion:podium",
"ion:podium-outline",
"ion:podium-sharp",
"ion:pound",
"ion:power",
"ion:power-outline",
"ion:power-sharp",
"ion:pricetag",
"ion:pricetag-outline",
"ion:pricetag-sharp",
"ion:pricetags",
"ion:pricetags-outline",
"ion:pricetags-sharp",
"ion:print",
"ion:print-outline",
"ion:print-sharp",
"ion:printer",
"ion:prism",
"ion:prism-outline",
"ion:prism-sharp",
"ion:pull-request",
"ion:pulse",
"ion:pulse-outline",
"ion:pulse-sharp",
"ion:push",
"ion:push-outline",
"ion:push-sharp",
"ion:qr-code",
"ion:qr-code-outline",
"ion:qr-code-sharp",
"ion:qr-scanner",
"ion:quote",
"ion:radio",
"ion:radio-button-off",
"ion:radio-button-off-outline",
"ion:radio-button-off-sharp",
"ion:radio-button-on",
"ion:radio-button-on-outline",
"ion:radio-button-on-sharp",
"ion:radio-outline",
"ion:radio-sharp",
"ion:radio-waves",
"ion:rainy",
"ion:rainy-outline",
"ion:rainy-sharp",
"ion:reader",
"ion:reader-outline",
"ion:reader-sharp",
"ion:receipt",
"ion:receipt-outline",
"ion:receipt-sharp",
"ion:record",
"ion:recording",
"ion:recording-outline",
"ion:recording-sharp",
"ion:refresh",
"ion:refresh-circle",
"ion:refresh-circle-outline",
"ion:refresh-circle-sharp",
"ion:refresh-outline",
"ion:refresh-sharp",
"ion:reload",
"ion:reload-circle",
"ion:reload-circle-outline",
"ion:reload-circle-sharp",
"ion:reload-outline",
"ion:reload-sharp",
"ion:remove",
"ion:remove-circle",
"ion:remove-circle-outline",
"ion:remove-circle-sharp",
"ion:remove-outline",
"ion:remove-sharp",
"ion:reorder-four",
"ion:reorder-four-outline",
"ion:reorder-four-sharp",
"ion:reorder-three",
"ion:reorder-three-outline",
"ion:reorder-three-sharp",
"ion:reorder-two",
"ion:reorder-two-outline",
"ion:reorder-two-sharp",
"ion:repeat",
"ion:repeat-outline",
"ion:repeat-sharp",
"ion:reply",
"ion:reply-all",
"ion:resize",
"ion:resize-outline",
"ion:resize-sharp",
"ion:restaurant",
"ion:restaurant-outline",
"ion:restaurant-sharp",
"ion:return-down-back",
"ion:return-down-back-outline",
"ion:return-down-back-sharp",
"ion:return-down-forward",
"ion:return-down-forward-outline",
"ion:return-down-forward-sharp",
"ion:return-up-back",
"ion:return-up-back-outline",
"ion:return-up-back-sharp",
"ion:return-up-forward",
"ion:return-up-forward-outline",
"ion:return-up-forward-sharp",
"ion:ribbon",
"ion:ribbon-a",
"ion:ribbon-b",
"ion:ribbon-outline",
"ion:ribbon-sharp",
"ion:rocket",
"ion:rocket-outline",
"ion:rocket-sharp",
"ion:rose",
"ion:rose-outline",
"ion:rose-sharp",
"ion:sad",
"ion:sad-outline",
"ion:sad-sharp",
"ion:save",
"ion:save-outline",
"ion:save-sharp",
"ion:scale",
"ion:scale-outline",
"ion:scale-sharp",
"ion:scan",
"ion:scan-circle",
"ion:scan-circle-outline",
"ion:scan-circle-sharp",
"ion:scan-outline",
"ion:scan-sharp",
"ion:school",
"ion:school-outline",
"ion:school-sharp",
"ion:scissors",
"ion:search",
"ion:search-circle",
"ion:search-circle-outline",
"ion:search-circle-sharp",
"ion:search-outline",
"ion:search-sharp",
"ion:send",
"ion:send-outline",
"ion:send-sharp",
"ion:server",
"ion:server-outline",
"ion:server-sharp",
"ion:settings",
"ion:settings-outline",
"ion:settings-sharp",
"ion:shapes",
"ion:shapes-outline",
"ion:shapes-sharp",
"ion:share",
"ion:share-outline",
"ion:share-sharp",
"ion:share-social",
"ion:share-social-outline",
"ion:share-social-sharp",
"ion:shield",
"ion:shield-checkmark",
"ion:shield-checkmark-outline",
"ion:shield-checkmark-sharp",
"ion:shield-half",
"ion:shield-half-outline",
"ion:shield-half-sharp",
"ion:shield-outline",
"ion:shield-sharp",
"ion:shirt",
"ion:shirt-outline",
"ion:shirt-sharp",
"ion:shuffle",
"ion:shuffle-outline",
"ion:shuffle-sharp",
"ion:skip-backward",
"ion:skip-forward",
"ion:skull",
"ion:skull-outline",
"ion:skull-sharp",
"ion:snow",
"ion:snow-outline",
"ion:snow-sharp",
"ion:social-android-outline",
"ion:social-angular-outline",
"ion:social-apple-outline",
"ion:social-bitcoin-outline",
"ion:social-buffer-outline",
"ion:social-chrome-outline",
"ion:social-codepen-outline",
"ion:social-css3-outline",
"ion:social-designernews-outline",
"ion:social-dribbble",
"ion:social-dropbox-outline",
"ion:social-euro-outline",
"ion:social-facebook",
"ion:social-facebook-outline",
"ion:social-foursquare-outline",
"ion:social-github-outline",
"ion:social-google",
"ion:social-google-outline",
"ion:social-googleplus",
"ion:social-googleplus-outline",
"ion:social-hackernews-outline",
"ion:social-html5-outline",
"ion:social-instagram",
"ion:social-instagram-outline",
"ion:social-javascript-outline",
"ion:social-linkedin-outline",
"ion:social-octocat",
"ion:social-pinterest-outline",
"ion:social-reddit",
"ion:social-rss-outline",
"ion:social-skype-outline",
"ion:social-snapchat-outline",
"ion:social-tumblr-outline",
"ion:social-tux",
"ion:social-twitch",
"ion:social-twitter-outline",
"ion:social-usd-outline",
"ion:social-vimeo",
"ion:social-vimeo-outline",
"ion:social-whatsapp-outline",
"ion:social-windows-outline",
"ion:social-wordpress-outline",
"ion:social-yahoo-outline",
"ion:social-yen-outline",
"ion:social-youtube-outline",
"ion:soup-can",
"ion:soup-can-outline",
"ion:sparkles",
"ion:sparkles-outline",
"ion:sparkles-sharp",
"ion:speakerphone",
"ion:speedometer",
"ion:speedometer-outline",
"ion:speedometer-sharp",
"ion:spoon",
"ion:square",
"ion:square-outline",
"ion:square-sharp",
"ion:star",
"ion:star-half",
"ion:star-half-outline",
"ion:star-half-sharp",
"ion:star-outline",
"ion:star-sharp",
"ion:stats-bars",
"ion:stats-chart",
"ion:stats-chart-outline",
"ion:stats-chart-sharp",
"ion:steam",
"ion:stop",
"ion:stop-circle",
"ion:stop-circle-outline",
"ion:stop-circle-sharp",
"ion:stop-outline",
"ion:stop-sharp",
"ion:stopwatch",
"ion:stopwatch-outline",
"ion:stopwatch-sharp",
"ion:storefront",
"ion:storefront-outline",
"ion:storefront-sharp",
"ion:subway",
"ion:subway-outline",
"ion:subway-sharp",
"ion:sunny",
"ion:sunny-outline",
"ion:sunny-sharp",
"ion:swap-horizontal",
"ion:swap-horizontal-outline",
"ion:swap-horizontal-sharp",
"ion:swap-vertical",
"ion:swap-vertical-outline",
"ion:swap-vertical-sharp",
"ion:sync",
"ion:sync-circle",
"ion:sync-circle-outline",
"ion:sync-circle-sharp",
"ion:sync-outline",
"ion:sync-sharp",
"ion:tablet-landscape",
"ion:tablet-landscape-outline",
"ion:tablet-landscape-sharp",
"ion:tablet-portrait",
"ion:tablet-portrait-outline",
"ion:tablet-portrait-sharp",
"ion:telescope",
"ion:telescope-outline",
"ion:telescope-sharp",
"ion:tennisball",
"ion:tennisball-outline",
"ion:tennisball-sharp",
"ion:terminal",
"ion:terminal-outline",
"ion:terminal-sharp",
"ion:text",
"ion:text-outline",
"ion:text-sharp",
"ion:thermometer",
"ion:thermometer-outline",
"ion:thermometer-sharp",
"ion:thumbs-down",
"ion:thumbs-down-outline",
"ion:thumbs-down-sharp",
"ion:thumbs-up",
"ion:thumbs-up-outline",
"ion:thumbs-up-sharp",
"ion:thumbsdown",
"ion:thumbsup",
"ion:thunderstorm",
"ion:thunderstorm-outline",
"ion:thunderstorm-sharp",
"ion:ticket",
"ion:ticket-outline",
"ion:ticket-sharp",
"ion:time",
"ion:time-outline",
"ion:time-sharp",
"ion:timer",
"ion:timer-outline",
"ion:timer-sharp",
"ion:today",
"ion:today-outline",
"ion:today-sharp",
"ion:toggle",
"ion:toggle-filled",
"ion:toggle-outline",
"ion:toggle-sharp",
"ion:trail-sign",
"ion:trail-sign-outline",
"ion:trail-sign-sharp",
"ion:train",
"ion:train-outline",
"ion:train-sharp",
"ion:transgender",
"ion:transgender-outline",
"ion:transgender-sharp",
"ion:trash",
"ion:trash-a",
"ion:trash-b",
"ion:trash-bin",
"ion:trash-bin-outline",
"ion:trash-bin-sharp",
"ion:trash-outline",
"ion:trash-sharp",
"ion:trending-down",
"ion:trending-down-outline",
"ion:trending-down-sharp",
"ion:trending-up",
"ion:trending-up-outline",
"ion:trending-up-sharp",
"ion:triangle",
"ion:triangle-outline",
"ion:triangle-sharp",
"ion:trophy",
"ion:trophy-outline",
"ion:trophy-sharp",
"ion:tshirt",
"ion:tshirt-outline",
"ion:tv",
"ion:tv-outline",
"ion:tv-sharp",
"ion:umbrella",
"ion:umbrella-outline",
"ion:umbrella-sharp",
"ion:university",
"ion:unlink",
"ion:unlink-outline",
"ion:unlink-sharp",
"ion:unlocked",
"ion:upload",
"ion:usb",
"ion:videocam",
"ion:videocam-off",
"ion:videocam-off-outline",
"ion:videocam-off-sharp",
"ion:videocam-outline",
"ion:videocam-sharp",
"ion:videocamera",
"ion:volume-high",
"ion:volume-high-outline",
"ion:volume-high-sharp",
"ion:volume-low",
"ion:volume-low-outline",
"ion:volume-low-sharp",
"ion:volume-medium",
"ion:volume-medium-outline",
"ion:volume-medium-sharp",
"ion:volume-mute",
"ion:volume-mute-outline",
"ion:volume-mute-sharp",
"ion:volume-off",
"ion:volume-off-outline",
"ion:volume-off-sharp",
"ion:walk",
"ion:walk-outline",
"ion:walk-sharp",
"ion:wallet",
"ion:wallet-outline",
"ion:wallet-sharp",
"ion:wand",
"ion:warning",
"ion:warning-outline",
"ion:warning-sharp",
"ion:watch",
"ion:watch-outline",
"ion:watch-sharp",
"ion:water",
"ion:water-outline",
"ion:water-sharp",
"ion:waterdrop",
"ion:wifi",
"ion:wifi-outline",
"ion:wifi-sharp",
"ion:wine",
"ion:wine-outline",
"ion:wine-sharp",
"ion:wineglass",
"ion:woman",
"ion:woman-outline",
"ion:woman-sharp",
"ion:wrench",
"ion:xbox"
]
<template>
<a-input
disabled
:style="{ width }"
:placeholder="t('component.icon.placeholder')"
v-model:value="currentSelect"
:class="prefixCls"
>
<template #addonAfter>
<Popover
placement="bottomLeft"
trigger="click"
v-model="visible"
:overlayClassName="`${prefixCls}-popover`"
>
<template #title>
<div class="flex justify-between">
<a-input
:placeholder="t('component.icon.search')"
@change="handleSearchChange"
allowClear
/>
</div>
</template>
<template #content>
<div v-if="getPaginationList.length">
<ScrollContainer class="border border-solid border-t-0">
<ul class="flex flex-wrap px-2">
<li
v-for="icon in getPaginationList"
:key="icon"
:class="currentSelect === icon ? 'bg-primary text-white' : ''"
class="p-2 w-1/8 cursor-pointer mr-1 mt-1 flex justify-center items-center border border-solid hover:bg-primary hover:text-white"
@click="handleClick(icon)"
>
<Icon :icon="icon" />
</li>
</ul>
</ScrollContainer>
<div class="flex py-2 items-center justify-center">
<Pagination
showLessItems
size="small"
:pageSize="pageSize"
:total="getTotal"
@change="handlePageChange"
/>
</div>
</div>
<template v-else
><div class="p-5"> <Empty /></div>
</template>
</template>
<Icon :icon="currentSelect || 'ion:apps-outline'" class="cursor-pointer px-2 py-1" />
</Popover>
</template>
</a-input>
</template>
<script lang="ts">
import { defineComponent, ref, watchEffect, watch, unref } from 'vue';
import { useDesign } from '/@/hooks/web/useDesign';
import { ScrollContainer } from '/@/components/Container';
import { Input, Popover, Pagination, Empty } from 'ant-design-vue';
import Icon from './index.vue';
import icons from '../json/ion-info.json';
import { propTypes } from '/@/utils/propTypes';
import { usePagination } from '/@/hooks/web/usePagination';
import { useDebounce } from '/@/hooks/core/useDebounce';
import { useI18n } from '/@/hooks/web/useI18n';
import { useCopyToClipboard } from '/@/hooks/web/useCopyToClipboard';
import { useMessage } from '/@/hooks/web/useMessage';
export default defineComponent({
name: 'IconPicker',
components: { [Input.name]: Input, Icon, Popover, ScrollContainer, Pagination, Empty },
props: {
value: propTypes.string,
width: propTypes.string.def('100%'),
pageSize: propTypes.number.def(140),
copy: propTypes.bool.def(false),
},
emits: ['change'],
setup(props, { emit }) {
const currentSelect = ref('');
const visible = ref(false);
const currentList = ref(icons);
const { prefixCls } = useDesign('icon-picker');
const { t } = useI18n();
const [debounceHandleSearchChange] = useDebounce(handleSearchChange, 100);
const { clipboardRef, isSuccessRef } = useCopyToClipboard(props.value);
const { createMessage } = useMessage();
const { getPaginationList, getTotal, setCurrentPage } = usePagination(
currentList,
props.pageSize
);
watchEffect(() => {
currentSelect.value = props.value;
});
watch(
() => currentSelect.value,
(v) => emit('change', v)
);
function handlePageChange(page: number) {
setCurrentPage(page);
}
function handleClick(icon: string) {
currentSelect.value = icon;
if (props.copy) {
clipboardRef.value = icon;
if (unref(isSuccessRef)) {
createMessage.success(t('component.icon.copy'));
}
}
}
function handleSearchChange(e: ChangeEvent) {
const value = e.target.value;
if (!value) {
setCurrentPage(1);
currentList.value = icons;
return;
}
currentList.value = icons.filter((item) => item.includes(value));
}
return {
t,
prefixCls,
visible,
getTotal,
getPaginationList,
handlePageChange,
handleClick,
currentSelect,
handleSearchChange: debounceHandleSearchChange,
};
},
});
</script>
<style lang="less">
@prefix-cls: ~'@{namespace}-icon-picker';
.@{prefix-cls} {
.ant-input-group-addon {
padding: 0;
}
&-popover {
width: 300px;
.ant-popover-inner-content {
padding: 0;
}
.scrollbar {
height: 220px;
}
}
}
</style>
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
import Iconify from '@purge-icons/generated'; import Iconify from '@purge-icons/generated';
import { isString } from '/@/utils/is'; import { isString } from '/@/utils/is';
import { propTypes } from '/@/utils/propTypes'; import { propTypes } from '/@/utils/propTypes';
export default defineComponent({ export default defineComponent({
name: 'GIcon', name: 'GIcon',
props: { props: {
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
} }
&--dot { &--dot {
top: calc(50% - 4px); top: calc(50% - 2px);
width: 6px; width: 6px;
height: 6px; height: 6px;
padding: 0; padding: 0;
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
} }
span.anticon:not(.app-iconify) { span.anticon:not(.app-iconify) {
vertical-align: 0.125em; vertical-align: 0.135em;
} }
.ant-back-top { .ant-back-top {
......
import type { Ref } from 'vue';
import { ref, unref, computed } from 'vue';
function pagination<T = any>(list: T[], pageNo: number, pageSize: number): T[] {
const offset = (pageNo - 1) * Number(pageSize);
const ret =
offset + Number(pageSize) >= list.length
? list.slice(offset, list.length)
: list.slice(offset, offset + Number(pageSize));
return ret;
}
export function usePagination<T = any>(list: Ref<T[]>, pageSize: number) {
const currentPage = ref(1);
const pageSizeRef = ref(pageSize);
const getPaginationList = computed(() => {
return pagination(unref(list), unref(currentPage), unref(pageSizeRef));
});
const getTotal = computed(() => {
return unref(list).length;
});
function setCurrentPage(page: number) {
currentPage.value = page;
}
function setPageSize(pageSize: number) {
pageSizeRef.value = pageSize;
}
return { setCurrentPage, getTotal, setPageSize, getPaginationList };
}
export default {
placeholder: 'Click the select icon',
search: 'Search icon',
copy: 'Copy icon successfully!',
};
export default {
placeholder: '点击选择图标',
search: '搜索图标',
copy: '复制图标成功!',
};
...@@ -6,9 +6,7 @@ const menu: MenuModule = { ...@@ -6,9 +6,7 @@ const menu: MenuModule = {
menu: { menu: {
name: t('routes.demo.comp.comp'), name: t('routes.demo.comp.comp'),
path: '/comp', path: '/comp',
tag: {
dot: true,
},
children: [ children: [
{ {
path: 'basic', path: 'basic',
...@@ -52,9 +50,7 @@ const menu: MenuModule = { ...@@ -52,9 +50,7 @@ const menu: MenuModule = {
{ {
path: 'table', path: 'table',
name: t('routes.demo.table.table'), name: t('routes.demo.table.table'),
tag: {
dot: true,
},
children: [ children: [
{ {
path: 'basic', path: 'basic',
...@@ -111,16 +107,10 @@ const menu: MenuModule = { ...@@ -111,16 +107,10 @@ const menu: MenuModule = {
{ {
path: 'editCellTable', path: 'editCellTable',
name: t('routes.demo.table.editCellTable'), name: t('routes.demo.table.editCellTable'),
tag: {
dot: true,
},
}, },
{ {
path: 'editRowTable', path: 'editRowTable',
name: t('routes.demo.table.editRowTable'), name: t('routes.demo.table.editRowTable'),
tag: {
dot: true,
},
}, },
], ],
}, },
......
...@@ -14,6 +14,9 @@ const menu: MenuModule = { ...@@ -14,6 +14,9 @@ const menu: MenuModule = {
{ {
path: 'icon', path: 'icon',
name: t('routes.demo.feat.icon'), name: t('routes.demo.feat.icon'),
tag: {
content: 'new',
},
}, },
{ {
path: 'tabs', path: 'tabs',
...@@ -51,9 +54,6 @@ const menu: MenuModule = { ...@@ -51,9 +54,6 @@ const menu: MenuModule = {
{ {
path: 'ripple', path: 'ripple',
name: t('routes.demo.feat.ripple'), name: t('routes.demo.feat.ripple'),
tag: {
content: 'new',
},
}, },
{ {
path: 'full-screen', path: 'full-screen',
...@@ -89,9 +89,7 @@ const menu: MenuModule = { ...@@ -89,9 +89,7 @@ const menu: MenuModule = {
{ {
name: t('routes.demo.feat.breadcrumb'), name: t('routes.demo.feat.breadcrumb'),
path: 'breadcrumb', path: 'breadcrumb',
tag: {
content: 'new',
},
children: [ children: [
{ {
path: 'flat', path: 'flat',
......
...@@ -6,20 +6,33 @@ const menu: MenuModule = { ...@@ -6,20 +6,33 @@ const menu: MenuModule = {
menu: { menu: {
name: t('routes.demo.system.moduleName'), name: t('routes.demo.system.moduleName'),
path: '/system', path: '/system',
tag: {
dot: true,
},
children: [ children: [
{ {
path: 'account', path: 'account',
name: t('routes.demo.system.account'), name: t('routes.demo.system.account'),
tag: {
dot: true,
type: 'warn',
},
}, },
{ {
path: 'dept', path: 'dept',
name: t('routes.demo.system.dept'), name: t('routes.demo.system.dept'),
tag: {
content: 'new',
},
}, },
{ {
path: 'changePassword', path: 'changePassword',
name: t('routes.demo.system.password'), name: t('routes.demo.system.password'),
tag: {
content: 'new',
},
}, },
], ],
}, },
......
...@@ -19,7 +19,7 @@ const setting: ProjectConfig = { ...@@ -19,7 +19,7 @@ const setting: ProjectConfig = {
settingButtonPosition: SettingButtonPositionEnum.AUTO, settingButtonPosition: SettingButtonPositionEnum.AUTO,
// Permission mode // Permission mode
permissionMode: PermissionModeEnum.BACK, permissionMode: PermissionModeEnum.ROLE,
// Permission-related cache is stored in sessionStorage or localStorage // Permission-related cache is stored in sessionStorage or localStorage
permissionCacheType: CacheTypeEnum.SESSION, permissionCacheType: CacheTypeEnum.SESSION,
......
...@@ -14,17 +14,23 @@ ...@@ -14,17 +14,23 @@
<CollapseContainer title="IconIfy 组件使用" class="my-5"> <CollapseContainer title="IconIfy 组件使用" class="my-5">
<div class="flex justify-around flex-wrap"> <div class="flex justify-around flex-wrap">
<Icon icon="fa-solid:address-book" :size="30" /> <Icon icon="ion:layers-outline" :size="30" />
<Icon icon="mdi-light:bank" :size="30" /> <Icon icon="ion:bar-chart-outline" :size="30" />
<Icon icon="jam:alien-f" :size="30" /> <Icon icon="ion:tv-outline" :size="30" />
<Icon icon="jam:android" :size="30" /> <Icon icon="ion:settings-outline" :size="30" />
</div>
</CollapseContainer>
<CollapseContainer title="图标选择器" class="my-5">
<div class="flex justify-around flex-wrap">
<IconPicker />
</div> </div>
</CollapseContainer> </CollapseContainer>
<Alert <Alert
show-icon show-icon
message="推荐使用Iconify组件" message="推荐使用Iconify组件"
description="Icon组件基本包含所有的图标,在下面网址内你可以查询到你想要的任何图标。并且打包只会打包所用到的图标。唯一不足的可能就是需要连接外网进行使用。" description="Icon组件基本包含所有的图标,在下面网址内你可以查询到你想要的任何图标。并且打包只会打包所用到的图标。"
/> />
<a-button type="link" @click="toIconify"> Iconify 图标大全 </a-button> <a-button type="link" @click="toIconify"> Iconify 图标大全 </a-button>
</PageWrapper> </PageWrapper>
...@@ -43,7 +49,7 @@ ...@@ -43,7 +49,7 @@
CodepenCircleFilled, CodepenCircleFilled,
} from '@ant-design/icons-vue'; } from '@ant-design/icons-vue';
import Icon from '/@/components/Icon/index'; import { Icon, IconPicker } from '/@/components/Icon/index';
import { openWindow } from '/@/utils'; import { openWindow } from '/@/utils';
import { PageWrapper } from '/@/components/Page'; import { PageWrapper } from '/@/components/Page';
...@@ -61,6 +67,7 @@ ...@@ -61,6 +67,7 @@
CodepenCircleFilled, CodepenCircleFilled,
Icon, Icon,
Alert, Alert,
IconPicker,
}, },
setup() { setup() {
return { return {
......
...@@ -2,13 +2,17 @@ import lineClamp from 'windicss/plugin/line-clamp'; ...@@ -2,13 +2,17 @@ import lineClamp from 'windicss/plugin/line-clamp';
import colors from 'windicss/colors'; import colors from 'windicss/colors';
import { defineConfig } from 'vite-plugin-windicss'; import { defineConfig } from 'vite-plugin-windicss';
import { primaryColor } from './build/config/themeConfig';
export default defineConfig({ export default defineConfig({
darkMode: 'class', darkMode: 'class',
plugins: [lineClamp, createEnterPlugin()], plugins: [lineClamp, createEnterPlugin()],
theme: { theme: {
extend: { extend: {
colors, colors: {
...colors,
primary: primaryColor,
},
screens: { screens: {
sm: '576px', sm: '576px',
md: '768px', md: '768px',
......
...@@ -1307,10 +1307,10 @@ ...@@ -1307,10 +1307,10 @@
resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
"@types/fs-extra@^9.0.7": "@types/fs-extra@^9.0.8":
version "9.0.7" version "9.0.8"
resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.7.tgz#a9ef2ffdab043def080c5bec94c03402f793577f" resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.8.tgz#32c3c07ddf8caa5020f84b5f65a48470519f78ba"
integrity sha512-YGq2A6Yc3bldrLUlm17VNWOnUbnEzJ9CMgOeLFtQF3HOCN5lQBO8VyjG00a5acA5NNSM30kHVGp1trZgnVgi1Q== integrity sha512-bnlTVTwq03Na7DpWxFJ1dvnORob+Otb8xHyUqUWhqvz/Ksg8+JXPlR52oeMSZ37YEOa5PyccbgUNutiQdi13TA==
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
...@@ -1379,6 +1379,14 @@ ...@@ -1379,6 +1379,14 @@
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
"@types/inquirer@^7.3.1":
version "7.3.1"
resolved "https://registry.npmjs.org/@types/inquirer/-/inquirer-7.3.1.tgz#1f231224e7df11ccfaf4cf9acbcc3b935fea292d"
integrity sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g==
dependencies:
"@types/through" "*"
rxjs "^6.4.0"
"@types/json-schema@^7.0.3": "@types/json-schema@^7.0.3":
version "7.0.7" version "7.0.7"
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
...@@ -1480,6 +1488,13 @@ ...@@ -1480,6 +1488,13 @@
resolved "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.3.tgz#4684af265b4e1125c738f5aaafb302c723f4efe0" resolved "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.3.tgz#4684af265b4e1125c738f5aaafb302c723f4efe0"
integrity sha512-eDLVUvvTn+mol3NpP211DTH9JzSS6YKssRIhHNmXk5BiCl+gc4s+xQQjRFTSsGBohmka5qBsHX6qhL4x88Wkvg== integrity sha512-eDLVUvvTn+mol3NpP211DTH9JzSS6YKssRIhHNmXk5BiCl+gc4s+xQQjRFTSsGBohmka5qBsHX6qhL4x88Wkvg==
"@types/through@*":
version "0.0.30"
resolved "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz#e0e42ce77e897bd6aead6f6ea62aeb135b8a3895"
integrity sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==
dependencies:
"@types/node" "*"
"@types/tinycolor2@^1.4.2": "@types/tinycolor2@^1.4.2":
version "1.4.2" version "1.4.2"
resolved "https://registry.npmjs.org/@types/tinycolor2/-/tinycolor2-1.4.2.tgz#721ca5c5d1a2988b4a886e35c2ffc5735b6afbdf" resolved "https://registry.npmjs.org/@types/tinycolor2/-/tinycolor2-1.4.2.tgz#721ca5c5d1a2988b4a886e35c2ffc5735b6afbdf"
...@@ -1802,7 +1817,7 @@ ansi-escapes@^3.2.0: ...@@ -1802,7 +1817,7 @@ ansi-escapes@^3.2.0:
resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
ansi-escapes@^4.3.0: ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
version "4.3.1" version "4.3.1"
resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
...@@ -2537,6 +2552,11 @@ cli-width@^2.0.0: ...@@ -2537,6 +2552,11 @@ cli-width@^2.0.0:
resolved "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" resolved "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
cli-width@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
cliui@^5.0.0: cliui@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
...@@ -4015,7 +4035,7 @@ figures@^2.0.0: ...@@ -4015,7 +4035,7 @@ figures@^2.0.0:
dependencies: dependencies:
escape-string-regexp "^1.0.5" escape-string-regexp "^1.0.5"
figures@^3.2.0: figures@^3.0.0, figures@^3.2.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
...@@ -5000,6 +5020,25 @@ inquirer@6.5.2: ...@@ -5000,6 +5020,25 @@ inquirer@6.5.2:
strip-ansi "^5.1.0" strip-ansi "^5.1.0"
through "^2.3.6" through "^2.3.6"
inquirer@^8.0.0:
version "8.0.0"
resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.0.0.tgz#957a46db1abcf0fdd2ab82deb7470e90afc7d0ac"
integrity sha512-ON8pEJPPCdyjxj+cxsYRe6XfCJepTxANdNnTebsTuQgXpRyZRRT9t4dJwjRubgmvn20CLSEnozRUayXyM9VTXA==
dependencies:
ansi-escapes "^4.2.1"
chalk "^4.1.0"
cli-cursor "^3.1.0"
cli-width "^3.0.0"
external-editor "^3.0.3"
figures "^3.0.0"
lodash "^4.17.21"
mute-stream "0.0.8"
run-async "^2.4.0"
rxjs "^6.6.6"
string-width "^4.1.0"
strip-ansi "^6.0.0"
through "^2.3.6"
interpret@^1.0.0: interpret@^1.0.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
...@@ -5720,6 +5759,11 @@ lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17 ...@@ -5720,6 +5759,11 @@ lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
log-symbols@^4.0.0: log-symbols@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
...@@ -6176,6 +6220,11 @@ mute-stream@0.0.7: ...@@ -6176,6 +6220,11 @@ mute-stream@0.0.7:
resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
mute-stream@0.0.8:
version "0.0.8"
resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
nanoid@^3.0.1, nanoid@^3.1.20: nanoid@^3.0.1, nanoid@^3.1.20:
version "3.1.20" version "3.1.20"
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788"
...@@ -7536,7 +7585,7 @@ rollup@^2.39.0: ...@@ -7536,7 +7585,7 @@ rollup@^2.39.0:
optionalDependencies: optionalDependencies:
fsevents "~2.3.1" fsevents "~2.3.1"
run-async@^2.2.0: run-async@^2.2.0, run-async@^2.4.0:
version "2.4.1" version "2.4.1"
resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
...@@ -7553,6 +7602,13 @@ rxjs@^6.4.0, rxjs@^6.6.3: ...@@ -7553,6 +7602,13 @@ rxjs@^6.4.0, rxjs@^6.6.3:
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
rxjs@^6.6.6:
version "6.6.6"
resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70"
integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==
dependencies:
tslib "^1.9.0"
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2" version "5.1.2"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论