1.2.1 • Published 4 months ago

@scayle/panel-icons v1.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

scayle-logo-cr

Getting Started

Visit the Add-On Developer Guide to learn more on how to use the Panel icons.

Visit the Docs to learn more about our system requirements.

What is Scayle ?

SCAYLE is a full-featured e-commerce software solution that comes with flexible APIs. Within SCAYLE, you can manage all aspects of your shop, such as products, stocks, customers, and transactions.

Learn more about Scayles’s architecture and commerce modules in the Docs.

Installation

npm i -S @scayle/panel-icons

Usage

The img/ directory contains all the icon files as svg. Do what you want with them.

Icon Components

It's possible to automatically convert the icons into components using unplugin-icons. An example using Vue 3 and webpack can be seen in the demo-add-on. The plugin is also compatible with other frameworks and build tools.

webpack.config.ts

const fs = require('fs');
const path = require('path');
const IconsPlugin = require('unplugin-icons/webpack');

function generatePanelIcons() {
    const dir = path.join(path.dirname(require.resolve('@scayle/panel-icons')), 'img');
    let icons: Record<string, () => void> = {};

    fs.readdirSync(dir).forEach(function(file: string) {
        const simpleName = file.replace('.svg', '').replace('ic-', '');
        icons[simpleName] = fs.readFileSync(path.join(dir, file)).toString('utf8');
    });

    return icons;
}

/* ... */
{
    plugins: [
        /* ... */
        IconsPlugin({
            compiler: 'vue3',
            prefix: 'icon',
            defaultClass: 'icon',
            customCollections: {
                panel: generatePanelIcons()
            }
        }),
    ]
}

Then inside the Vue single-file components, import and use the icon component.

import IconClose from '~icons/panel/close';

export default {
  name: "MyComponent",
  components: {
    IconClose,
  }
}

If you're using TypeScript, make sure to add "unplugin-icons/types/vue" to the types in your tsconfig.json.

It can also be combined with unplugin-vue-components to avoid the import step.

webpack.config.ts

const IconsResolver = require('unplugin-icons/resolver');
const ComponentsPlugin = require('unplugin-vue-components/webpack');

/* ... */
{
    plugins: [
        /* ... */
        IconsPlugin({
            compiler: 'vue3',
            prefix: 'icon',
            defaultClass: 'icon',
            customCollections: {
                panel: generatePanelIcons()
            }
        }),
        ComponentsPlugin({
            dts: true,
            resolvers: [
                IconsResolver({
                    prefix: '',
                    alias: {
                        icon: 'panel',
                    },
                    customCollections: [
                        'panel',
                    ]
                })
            ],
        }),
    ]
}

Then the icons can be used like <IconClose /> directly in Vue templates without manually importing the component.

Icons

NameIconFilenameVue
2fa-restorenpm.io./img/ic-2fa-restore.svg<Icon2faRestore class="icon" />
activitynpm.io./img/ic-activity.svg<IconActivity class="icon" />
addnpm.io./img/ic-add.svg<IconAdd class="icon" />
analyticsnpm.io./img/ic-analytics.svg<IconAnalytics class="icon" />
arrow-bottom-rightnpm.io./img/ic-arrow-bottom-right.svg<IconArrowBottomRight class="icon" />
arrow-circle-downnpm.io./img/ic-arrow-circle-down.svg<IconArrowCircleDown class="icon" />
arrow-circle-leftnpm.io./img/ic-arrow-circle-left.svg<IconArrowCircleLeft class="icon" />
arrow-circle-rightnpm.io./img/ic-arrow-circle-right.svg<IconArrowCircleRight class="icon" />
arrow-circle-upnpm.io./img/ic-arrow-circle-up.svg<IconArrowCircleUp class="icon" />
arrow-down-doublenpm.io./img/ic-arrow-down-double.svg<IconArrowDownDouble class="icon" />
arrow-downnpm.io./img/ic-arrow-down.svg<IconArrowDown class="icon" />
arrow-left-doublenpm.io./img/ic-arrow-left-double.svg<IconArrowLeftDouble class="icon" />
arrow-left-rightnpm.io./img/ic-arrow-left-right.svg<IconArrowLeftRight class="icon" />
arrow-leftnpm.io./img/ic-arrow-left.svg<IconArrowLeft class="icon" />
arrow-right-doublenpm.io./img/ic-arrow-right-double.svg<IconArrowRightDouble class="icon" />
arrow-rightnpm.io./img/ic-arrow-right.svg<IconArrowRight class="icon" />
arrow-up-doublenpm.io./img/ic-arrow-up-double.svg<IconArrowUpDouble class="icon" />
arrow-up-down-tablenpm.io./img/ic-arrow-up-down-table.svg<IconArrowUpDownTable class="icon" />
arrow-up-downnpm.io./img/ic-arrow-up-down.svg<IconArrowUpDown class="icon" />
arrow-upnpm.io./img/ic-arrow-up.svg<IconArrowUp class="icon" />
attachnpm.io./img/ic-attach.svg<IconAttach class="icon" />
bannpm.io./img/ic-ban.svg<IconBan class="icon" />
barsnpm.io./img/ic-bars.svg<IconBars class="icon" />
basketnpm.io./img/ic-basket.svg<IconBasket class="icon" />
bellnpm.io./img/ic-bell.svg<IconBell class="icon" />
book-opennpm.io./img/ic-book-open.svg<IconBookOpen class="icon" />
calendar-innpm.io./img/ic-calendar-in.svg<IconCalendarIn class="icon" />
calendar-outnpm.io./img/ic-calendar-out.svg<IconCalendarOut class="icon" />
calendarnpm.io./img/ic-calendar.svg<IconCalendar class="icon" />
carriernpm.io./img/ic-carrier.svg<IconCarrier class="icon" />
channelnpm.io./img/ic-channel.svg<IconChannel class="icon" />
chat-bubblesnpm.io./img/ic-chat-bubbles.svg<IconChatBubbles class="icon" />
checkmarknpm.io./img/ic-checkmark.svg<IconCheckmark class="icon" />
closenpm.io./img/ic-close.svg<IconClose class="icon" />
cloudnpm.io./img/ic-cloud.svg<IconCloud class="icon" />
coffeenpm.io./img/ic-coffee.svg<IconCoffee class="icon" />
connection-multinpm.io./img/ic-connection-multi.svg<IconConnectionMulti class="icon" />
convertnpm.io./img/ic-convert.svg<IconConvert class="icon" />
copynpm.io./img/ic-copy.svg<IconCopy class="icon" />
crownnpm.io./img/ic-crown.svg<IconCrown class="icon" />
dashboardnpm.io./img/ic-dashboard.svg<IconDashboard class="icon" />
data-tablenpm.io./img/ic-data-table.svg<IconDataTable class="icon" />
device-desktopnpm.io./img/ic-device-desktop.svg<IconDeviceDesktop class="icon" />
device-mobilenpm.io./img/ic-device-mobile.svg<IconDeviceMobile class="icon" />
dollar-notenpm.io./img/ic-dollar-note.svg<IconDollarNote class="icon" />
downloadnpm.io./img/ic-download.svg<IconDownload class="icon" />
dragnpm.io./img/ic-drag.svg<IconDrag class="icon" />
editnpm.io./img/ic-edit.svg<IconEdit class="icon" />
educationnpm.io./img/ic-education.svg<IconEducation class="icon" />
emailnpm.io./img/ic-email.svg<IconEmail class="icon" />
error-fillnpm.io./img/ic-error-fill.svg<IconErrorFill class="icon" />
errornpm.io./img/ic-error.svg<IconError class="icon" />
expandnpm.io./img/ic-expand.svg<IconExpand class="icon" />
externalnpm.io./img/ic-external.svg<IconExternal class="icon" />
eye-strikednpm.io./img/ic-eye-striked.svg<IconEyeStriked class="icon" />
eyenpm.io./img/ic-eye.svg<IconEye class="icon" />
file-csvnpm.io./img/ic-file-csv.svg<IconFileCsv class="icon" />
file-pdfnpm.io./img/ic-file-pdf.svg<IconFilePdf class="icon" />
file-return-docsnpm.io./img/ic-file-return-docs.svg<IconFileReturnDocs class="icon" />
file-textnpm.io./img/ic-file-text.svg<IconFileText class="icon" />
file-xlsnpm.io./img/ic-file-xls.svg<IconFileXls class="icon" />
filternpm.io./img/ic-filter.svg<IconFilter class="icon" />
flagnpm.io./img/ic-flag.svg<IconFlag class="icon" />
folder-fillnpm.io./img/ic-folder-fill.svg<IconFolderFill class="icon" />
folder-open-fillnpm.io./img/ic-folder-open-fill.svg<IconFolderOpenFill class="icon" />
foldernpm.io./img/ic-folder.svg<IconFolder class="icon" />
forbidden-return-documentsnpm.io./img/ic-forbidden-return-documents.svg<IconForbiddenReturnDocuments class="icon" />
forwardnpm.io./img/ic-forward.svg<IconForward class="icon" />
giftnpm.io./img/ic-gift.svg<IconGift class="icon" />
globe-checkmarknpm.io./img/ic-globe-checkmark.svg<IconGlobeCheckmark class="icon" />
globenpm.io./img/ic-globe.svg<IconGlobe class="icon" />
halfnpm.io./img/ic-half.svg<IconHalf class="icon" />
headsetnpm.io./img/ic-headset.svg<IconHeadset class="icon" />
heart-fillnpm.io./img/ic-heart-fill.svg<IconHeartFill class="icon" />
heartnpm.io./img/ic-heart.svg<IconHeart class="icon" />
idnpm.io./img/ic-id.svg<IconId class="icon" />
image-singlenpm.io./img/ic-image-single.svg<IconImageSingle class="icon" />
image-stackednpm.io./img/ic-image-stacked.svg<IconImageStacked class="icon" />
importnpm.io./img/ic-import.svg<IconImport class="icon" />
info-fillnpm.io./img/ic-info-fill.svg<IconInfoFill class="icon" />
infonpm.io./img/ic-info.svg<IconInfo class="icon" />
invoicenpm.io./img/ic-invoice.svg<IconInvoice class="icon" />
key-2npm.io./img/ic-key-2.svg<IconKey2 class="icon" />
keynpm.io./img/ic-key.svg<IconKey class="icon" />
layoutnpm.io./img/ic-layout.svg<IconLayout class="icon" />
link-disconnectnpm.io./img/ic-link-disconnect.svg<IconLinkDisconnect class="icon" />
linknpm.io./img/ic-link.svg<IconLink class="icon" />
list-attributesnpm.io./img/ic-list-attributes.svg<IconListAttributes class="icon" />
list-viewnpm.io./img/ic-list-view.svg<IconListView class="icon" />
locationnpm.io./img/ic-location.svg<IconLocation class="icon" />
lock-opennpm.io./img/ic-lock-open.svg<IconLockOpen class="icon" />
locknpm.io./img/ic-lock.svg<IconLock class="icon" />
logicnpm.io./img/ic-logic.svg<IconLogic class="icon" />
logistics-1npm.io./img/ic-logistics-1.svg<IconLogistics1 class="icon" />
logistics-2npm.io./img/ic-logistics-2.svg<IconLogistics2 class="icon" />
loudspeakernpm.io./img/ic-loudspeaker.svg<IconLoudspeaker class="icon" />
loyaltynpm.io./img/ic-loyalty.svg<IconLoyalty class="icon" />
menunpm.io./img/ic-menu.svg<IconMenu class="icon" />
minusnpm.io./img/ic-minus.svg<IconMinus class="icon" />
moneynpm.io./img/ic-money.svg<IconMoney class="icon" />
more-horizontalnpm.io./img/ic-more-horizontal.svg<IconMoreHorizontal class="icon" />
morenpm.io./img/ic-more.svg<IconMore class="icon" />
nested-list-viewnpm.io./img/ic-nested-list-view.svg<IconNestedListView class="icon" />
notesnpm.io./img/ic-notes.svg<IconNotes class="icon" />
offnpm.io./img/ic-off.svg<IconOff class="icon" />
order-enpm.io./img/ic-order-e.svg<IconOrderE class="icon" />
pagenpm.io./img/ic-page.svg<IconPage class="icon" />
parcel-downnpm.io./img/ic-parcel-down.svg<IconParcelDown class="icon" />
parcel-searchnpm.io./img/ic-parcel-search.svg<IconParcelSearch class="icon" />
parcelnpm.io./img/ic-parcel.svg<IconParcel class="icon" />
pastenpm.io./img/ic-paste.svg<IconPaste class="icon" />
paynpm.io./img/ic-pay.svg<IconPay class="icon" />
percentage-circlenpm.io./img/ic-percentage-circle.svg<IconPercentageCircle class="icon" />
percentagenpm.io./img/ic-percentage.svg<IconPercentage class="icon" />
phonenpm.io./img/ic-phone.svg<IconPhone class="icon" />
player-pausenpm.io./img/ic-player-pause.svg<IconPlayerPause class="icon" />
player-playnpm.io./img/ic-player-play.svg<IconPlayerPlay class="icon" />
polaroidnpm.io./img/ic-polaroid.svg<IconPolaroid class="icon" />
product-importnpm.io./img/ic-product-import.svg<IconProductImport class="icon" />
question-fillnpm.io./img/ic-question-fill.svg<IconQuestionFill class="icon" />
question-fillednpm.io./img/ic-question-filled.svg<IconQuestionFilled class="icon" />
questionnpm.io./img/ic-question.svg<IconQuestion class="icon" />
refreshnpm.io./img/ic-refresh.svg<IconRefresh class="icon" />
restorenpm.io./img/ic-restore.svg<IconRestore class="icon" />
rule-enginenpm.io./img/ic-rule-engine.svg<IconRuleEngine class="icon" />
savenpm.io./img/ic-save.svg<IconSave class="icon" />
scannpm.io./img/ic-scan.svg<IconScan class="icon" />
searchnpm.io./img/ic-search.svg<IconSearch class="icon" />
sendnpm.io./img/ic-send.svg<IconSend class="icon" />
seonpm.io./img/ic-seo.svg<IconSeo class="icon" />
separatenpm.io./img/ic-separate.svg<IconSeparate class="icon" />
servernpm.io./img/ic-server.svg<IconServer class="icon" />
settings-wheelnpm.io./img/ic-settings-wheel.svg<IconSettingsWheel class="icon" />
settingsnpm.io./img/ic-settings.svg<IconSettings class="icon" />
sharenpm.io./img/ic-share.svg<IconShare class="icon" />
shirt-successnpm.io./img/ic-shirt-success.svg<IconShirtSuccess class="icon" />
shirtnpm.io./img/ic-shirt.svg<IconShirt class="icon" />
shrinknpm.io./img/ic-shrink.svg<IconShrink class="icon" />
social-facebooknpm.io./img/ic-social-facebook.svg<IconSocialFacebook class="icon" />
social-twitternpm.io./img/ic-social-twitter.svg<IconSocialTwitter class="icon" />
spelling-mistakenpm.io./img/ic-spelling-mistake.svg<IconSpellingMistake class="icon" />
stacknpm.io./img/ic-stack.svg<IconStack class="icon" />
star-fillnpm.io./img/ic-star-fill.svg<IconStarFill class="icon" />
starnpm.io./img/ic-star.svg<IconStar class="icon" />
stopwatchnpm.io./img/ic-stopwatch.svg<IconStopwatch class="icon" />
storenpm.io./img/ic-store.svg<IconStore class="icon" />
structure-horizontalnpm.io./img/ic-structure-horizontal.svg<IconStructureHorizontal class="icon" />
structure-verticalnpm.io./img/ic-structure-vertical.svg<IconStructureVertical class="icon" />
structurenpm.io./img/ic-structure.svg<IconStructure class="icon" />
success-fillnpm.io./img/ic-success-fill.svg<IconSuccessFill class="icon" />
successnpm.io./img/ic-success.svg<IconSuccess class="icon" />
sust-cottonnpm.io./img/ic-sust-cotton.svg<IconSustCotton class="icon" />
swap-horizontalnpm.io./img/ic-swap-horizontal.svg<IconSwapHorizontal class="icon" />
swap-verticalnpm.io./img/ic-swap-vertical.svg<IconSwapVertical class="icon" />
tabletnpm.io./img/ic-tablet.svg<IconTablet class="icon" />
tagnpm.io./img/ic-tag.svg<IconTag class="icon" />
tasknpm.io./img/ic-task.svg<IconTask class="icon" />
taxnpm.io./img/ic-tax.svg<IconTax class="icon" />
technologynpm.io./img/ic-technology.svg<IconTechnology class="icon" />
text-boldnpm.io./img/ic-text-bold.svg<IconTextBold class="icon" />
text-centernpm.io./img/ic-text-center.svg<IconTextCenter class="icon" />
text-italicnpm.io./img/ic-text-italic.svg<IconTextItalic class="icon" />
text-justifynpm.io./img/ic-text-justify.svg<IconTextJustify class="icon" />
text-leftnpm.io./img/ic-text-left.svg<IconTextLeft class="icon" />
text-paragraphnpm.io./img/ic-text-paragraph.svg<IconTextParagraph class="icon" />
text-rightnpm.io./img/ic-text-right.svg<IconTextRight class="icon" />
text-underlinenpm.io./img/ic-text-underline.svg<IconTextUnderline class="icon" />
textnpm.io./img/ic-text.svg<IconText class="icon" />
tile-viewnpm.io./img/ic-tile-view.svg<IconTileView class="icon" />
translatenpm.io./img/ic-translate.svg<IconTranslate class="icon" />
trashnpm.io./img/ic-trash.svg<IconTrash class="icon" />
triangle-rightnpm.io./img/ic-triangle-right.svg<IconTriangleRight class="icon" />
trucknpm.io./img/ic-truck.svg<IconTruck class="icon" />
ufonpm.io./img/ic-ufo.svg<IconUfo class="icon" />
undonpm.io./img/ic-undo.svg<IconUndo class="icon" />
user-merchantnpm.io./img/ic-user-merchant.svg<IconUserMerchant class="icon" />
user-permissionsnpm.io./img/ic-user-permissions.svg<IconUserPermissions class="icon" />
usernpm.io./img/ic-user.svg<IconUser class="icon" />
users-exchangenpm.io./img/ic-users-exchange.svg<IconUsersExchange class="icon" />
usersnpm.io./img/ic-users.svg<IconUsers class="icon" />
vouchernpm.io./img/ic-voucher.svg<IconVoucher class="icon" />
warehousenpm.io./img/ic-warehouse.svg<IconWarehouse class="icon" />
warning-fillnpm.io./img/ic-warning-fill.svg<IconWarningFill class="icon" />
warningnpm.io./img/ic-warning.svg<IconWarning class="icon" />
webhooknpm.io./img/ic-webhook.svg<IconWebhook class="icon" />
worldnpm.io./img/ic-world.svg<IconWorld class="icon" />

Other channels

License

Licensed under the MIT