@vc-shell/framework 1.1.4 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/core/directives/loading/styles.css +1 -1
- package/core/plugins/modularity/README.md +347 -17
- package/core/plugins/modularity/loader.ts +248 -3
- package/dist/core/plugins/modularity/loader.d.ts +4 -0
- package/dist/core/plugins/modularity/loader.d.ts.map +1 -1
- package/dist/shared/components/common/popup/vc-popup-error.vue.d.ts +2 -2
- package/dist/shared/components/common/popup/vc-popup-error.vue.d.ts.map +1 -1
- package/dist/shared/components/common/popup/vc-popup-info.vue.d.ts +2 -2
- package/dist/shared/components/common/popup/vc-popup-info.vue.d.ts.map +1 -1
- package/dist/shared/components/common/popup/vc-popup-warning.vue.d.ts +2 -2
- package/dist/shared/components/common/popup/vc-popup-warning.vue.d.ts.map +1 -1
- package/dist/shared/components/dashboard-widget-card/dashboard-widget-card.vue.d.ts +3 -3
- package/dist/shared/components/dashboard-widget-card/dashboard-widget-card.vue.d.ts.map +1 -1
- package/dist/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.d.ts +4 -4
- package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts.map +1 -1
- package/dist/shared/components/notifications/components/notification-container/index.d.ts +6 -6
- package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
- package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts.map +1 -1
- package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +2 -2
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +2 -2
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +2 -2
- package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +1 -1
- package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +1 -1
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-icon/composables/index.d.ts +3 -0
- package/dist/ui/components/atoms/vc-icon/composables/index.d.ts.map +1 -0
- package/dist/ui/components/atoms/vc-icon/composables/use-icon-type.d.ts +22 -0
- package/dist/ui/components/atoms/vc-icon/composables/use-icon-type.d.ts.map +1 -0
- package/dist/ui/components/atoms/vc-icon/composables/use-icon.d.ts +30 -0
- package/dist/ui/components/atoms/vc-icon/composables/use-icon.d.ts.map +1 -0
- package/dist/ui/components/atoms/vc-icon/index.d.ts +1 -0
- package/dist/ui/components/atoms/vc-icon/index.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/types.d.ts +31 -0
- package/dist/ui/components/atoms/vc-icon/types.d.ts.map +1 -0
- package/dist/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue.d.ts +18 -4
- package/dist/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue.d.ts +15 -2
- package/dist/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-icon-examples.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-icon-test.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +11 -6
- package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts +21 -4
- package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts +31 -5
- package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-svg-icon.vue.d.ts +33 -0
- package/dist/ui/components/atoms/vc-icon/vc-svg-icon.vue.d.ts.map +1 -0
- package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +1 -1
- package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts +3 -3
- package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +2 -2
- package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +3 -3
- package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +4 -4
- package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +6 -34
- package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input-dropdown/index.d.ts +4 -0
- package/dist/ui/components/molecules/vc-input-dropdown/index.d.ts.map +1 -0
- package/dist/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue.d.ts +171 -0
- package/dist/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue.d.ts.map +1 -0
- package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +2 -2
- package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts +2 -2
- package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +3 -3
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarWidgetItem.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarWidgetItem.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue.d.ts +5 -5
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +3 -3
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/props.d.ts +14 -0
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/props.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue.d.ts +3 -14
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +5 -5
- package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +3 -3
- package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +4 -4
- package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-columns-header/vc-table-columns-header.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-columns-header/vc-table-columns-header.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableColumnReorder.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableColumnReorder.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableColumnResize.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableColumnResize.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableSelection.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableSelection.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableState.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableState.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/types.d.ts +36 -0
- package/dist/ui/components/organisms/vc-table/types.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +2 -34
- package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
- package/package.json +4 -4
- package/shared/components/common/popup/vc-popup-error.vue +3 -3
- package/shared/components/common/popup/vc-popup-info.vue +3 -3
- package/shared/components/common/popup/vc-popup-warning.vue +3 -3
- package/shared/components/dashboard-widget-card/dashboard-widget-card.vue +4 -4
- package/shared/components/generic-dropdown/generic-dropdown.vue +1 -1
- package/shared/components/settings-menu-item/settings-menu-item.vue +1 -6
- package/shared/components/user-dropdown-button/_internal/user-info.vue +3 -3
- package/ui/components/atoms/vc-badge/vc-badge.vue +2 -2
- package/ui/components/atoms/vc-icon/README.md +198 -220
- package/ui/components/atoms/vc-icon/composables/index.ts +2 -0
- package/ui/components/atoms/vc-icon/composables/use-icon-type.ts +83 -0
- package/ui/components/atoms/vc-icon/composables/use-icon.ts +129 -0
- package/ui/components/atoms/vc-icon/index.ts +1 -0
- package/ui/components/atoms/vc-icon/types.ts +36 -0
- package/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue +111 -10
- package/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue +119 -17
- package/ui/components/atoms/vc-icon/vc-icon-examples.vue +485 -124
- package/ui/components/atoms/vc-icon/vc-icon-test.vue +399 -209
- package/ui/components/atoms/vc-icon/vc-icon.stories.ts +501 -55
- package/ui/components/atoms/vc-icon/vc-icon.vue +240 -155
- package/ui/components/atoms/vc-icon/vc-lucide-icon.vue +163 -33
- package/ui/components/atoms/vc-icon/vc-material-icon.vue +136 -30
- package/ui/components/atoms/vc-icon/vc-svg-icon.vue +168 -0
- package/ui/components/atoms/vc-label/vc-label.vue +3 -3
- package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +3 -3
- package/ui/components/atoms/vc-widget/vc-widget.stories.ts +13 -0
- package/ui/components/molecules/vc-checkbox/vc-checkbox.vue +4 -4
- package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +2 -2
- package/ui/components/molecules/vc-input-currency/vc-input-currency.stories.ts +1 -1
- package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +36 -115
- package/ui/components/molecules/vc-input-dropdown/index.ts +4 -0
- package/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.stories.ts +763 -0
- package/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue +268 -0
- package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +3 -3
- package/ui/components/molecules/vc-pagination/vc-pagination.vue +23 -14
- package/ui/components/molecules/vc-rating/vc-rating.vue +2 -2
- package/ui/components/molecules/vc-textarea/vc-textarea.vue +2 -2
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue +2 -2
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarWidgetItem.vue +3 -3
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue +6 -6
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +6 -7
- package/ui/components/organisms/vc-app/vc-app.vue +2 -3
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/props.ts +14 -0
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue +1 -12
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue +1 -1
- package/ui/components/organisms/vc-blade/vc-blade.vue +5 -5
- package/ui/components/organisms/vc-login-form/vc-login-form.vue +2 -2
- package/ui/components/organisms/vc-popup/vc-popup.vue +4 -4
- package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +1 -1
- package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +1 -1
- package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue +1 -1
- package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-columns-header/vc-table-columns-header.vue +1 -1
- package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue +1 -1
- package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue +1 -1
- package/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue +1 -1
- package/ui/components/organisms/vc-table/composables/useTableActions.ts +1 -1
- package/ui/components/organisms/vc-table/composables/useTableColumnReorder.ts +1 -1
- package/ui/components/organisms/vc-table/composables/useTableColumnResize.ts +1 -1
- package/ui/components/organisms/vc-table/composables/useTableRowReorder.ts +1 -1
- package/ui/components/organisms/vc-table/composables/useTableSelection.ts +1 -1
- package/ui/components/organisms/vc-table/composables/useTableState.ts +1 -1
- package/ui/components/organisms/vc-table/types.ts +32 -0
- package/ui/components/organisms/vc-table/vc-table.vue +2 -30
- package/dist/apl-B2DGVGxc.js +0 -76
- package/dist/asciiarmor-2LVJmxlE.js +0 -34
- package/dist/asn1-jKiBa2Ya.js +0 -95
- package/dist/asterisk-DS281yxp.js +0 -271
- package/dist/brainfuck-C_p9pTT8.js +0 -34
- package/dist/clike-BUuHEmgZ.js +0 -620
- package/dist/clojure-CCKyeQKf.js +0 -800
- package/dist/cmake-CuaCgAKt.js +0 -28
- package/dist/cobol-BlTKFDRj.js +0 -72
- package/dist/coffeescript-BVCvwO8I.js +0 -179
- package/dist/commonlisp-D_kxz07b.js +0 -75
- package/dist/crystal-D309uH6_.js +0 -217
- package/dist/css-bIlmDBTK.js +0 -1560
- package/dist/cypher-BMq4Fwjl.js +0 -68
- package/dist/d-BZcgY6La.js +0 -127
- package/dist/diff-Cg9d_RX2.js +0 -18
- package/dist/dockerfile-DIy8NleC.js +0 -194
- package/dist/dtd-CtLokQ-U.js +0 -84
- package/dist/dylan-QYeExnWK.js +0 -234
- package/dist/ebnf-DUPDuY4r.js +0 -78
- package/dist/ecl-CiXN-g_D.js +0 -121
- package/dist/eiffel-yQhjl4T1.js +0 -110
- package/dist/elm-CNT9vbN0.js +0 -108
- package/dist/erlang-CFOYdy9e.js +0 -487
- package/dist/factor-DDOC7X6P.js +0 -65
- package/dist/fcl-CPC2WYrI.js +0 -103
- package/dist/forth-BmxRyE9S.js +0 -60
- package/dist/fortran-9bvPyrOW.js +0 -442
- package/dist/framework.js +0 -288
- package/dist/gas-BdfkXJT_.js +0 -183
- package/dist/gherkin-CJuwpceU.js +0 -34
- package/dist/groovy-DZeT_VM-.js +0 -146
- package/dist/haskell-Bvt3Qq1t.js +0 -375
- package/dist/haxe-70NVW1pR.js +0 -359
- package/dist/http-D9LttvKF.js +0 -44
- package/dist/idl-B6TRFYjl.js +0 -947
- package/dist/index-BBYKbiRX.js +0 -93
- package/dist/index-BDm0tcWn.js +0 -145680
- package/dist/index-BDqUaIyQ.js +0 -156
- package/dist/index-BdflTsg6.js +0 -308
- package/dist/index-BpBTtmQ6.js +0 -288
- package/dist/index-Br0y2YMn.js +0 -58
- package/dist/index-CIcET-ZI.js +0 -71
- package/dist/index-CYAMpxnu.js +0 -341
- package/dist/index-Cf2H7YZ1.js +0 -98
- package/dist/index-Ck055pN8.js +0 -134
- package/dist/index-D-fPN3yf.js +0 -75
- package/dist/index-DJOis7Nc.js +0 -299
- package/dist/index-DKtQMsy4.js +0 -538
- package/dist/index-DWTsz5bC.js +0 -611
- package/dist/index-DuY7BIGm.js +0 -265
- package/dist/index-o6aSdNED.js +0 -137
- package/dist/index-wfv8ehcx.js +0 -249
- package/dist/index.css +0 -9
- package/dist/javascript-WMWNx-Vj.js +0 -690
- package/dist/jinja2-DnB6dQmV.js +0 -154
- package/dist/julia-DpvXAuO6.js +0 -241
- package/dist/livescript-CanGTf8u.js +0 -272
- package/dist/lua-XplVlWi_.js +0 -217
- package/dist/mathematica-jaRHnSxC.js +0 -35
- package/dist/mbox-BctzC1hL.js +0 -76
- package/dist/mirc-CFBPAOaF.js +0 -72
- package/dist/mllike-BSnXJBGA.js +0 -272
- package/dist/modelica-vUgVs--1.js +0 -93
- package/dist/mscgen-Cpl0NYLN.js +0 -104
- package/dist/mumps-CQoS1kWX.js +0 -25
- package/dist/nginx-zDPm3Z74.js +0 -89
- package/dist/nsis-fePjrhq7.js +0 -62
- package/dist/ntriples-CsNjv2QF.js +0 -79
- package/dist/octave-C8PmmSRH.js +0 -143
- package/dist/oz-Ce8aN8oE.js +0 -151
- package/dist/pascal-De0D6mP7.js +0 -77
- package/dist/perl-B4bSCe1C.js +0 -915
- package/dist/pig-D24Z8EXi.js +0 -54
- package/dist/powershell-DkYVfTzP.js +0 -249
- package/dist/properties-Dn9wna3M.js +0 -26
- package/dist/protobuf-BPIjwpzm.js +0 -49
- package/dist/pug-BqUR2bBq.js +0 -248
- package/dist/puppet-nyd4dhjf.js +0 -45
- package/dist/python-B5QdSKoL.js +0 -313
- package/dist/q-DXjKs-tC.js +0 -83
- package/dist/r-LKEuhEGI.js +0 -104
- package/dist/rpm-IznJm2Xc.js +0 -57
- package/dist/ruby-CcYfvIk6.js +0 -228
- package/dist/sas-7E8yHoCW.js +0 -105
- package/dist/scheme-DjibxsNh.js +0 -124
- package/dist/shell-C0C2sNA_.js +0 -182
- package/dist/sieve-Bwz7vjP5.js +0 -72
- package/dist/simple-mode-B0dvCdAA.js +0 -89
- package/dist/smalltalk-Bhddl2pB.js +0 -48
- package/dist/solr-BNlsLglM.js +0 -41
- package/dist/sparql-FarWu_Gb.js +0 -197
- package/dist/spreadsheet-C-cy4P5N.js +0 -49
- package/dist/sql-mMre1Bo3.js +0 -282
- package/dist/stex-92raWT1r.js +0 -129
- package/dist/stylus-CAdqWld3.js +0 -250
- package/dist/swift-DSxqR9R6.js +0 -230
- package/dist/tcl-xfoLljhY.js +0 -81
- package/dist/textile-D1AWE-pc.js +0 -295
- package/dist/tiddlywiki-5wqsXtSk.js +0 -155
- package/dist/tiki-__Kn3CeS.js +0 -181
- package/dist/toml-BHiuTcfn.js +0 -49
- package/dist/troff-D2UO-fKf.js +0 -35
- package/dist/ttcn-Bsa4sfRm.js +0 -123
- package/dist/ttcn-cfg-Bac_acMi.js +0 -88
- package/dist/turtle-xwJUxoPV.js +0 -80
- package/dist/vb-c2kQGd6-.js +0 -74
- package/dist/vbscript-Dz1TtKsy.js +0 -324
- package/dist/velocity-DJd0pTTC.js +0 -96
- package/dist/verilog-C4VGD9n1.js +0 -263
- package/dist/vhdl-T9HkrbI2.js +0 -106
- package/dist/webidl-CjfDENEo.js +0 -155
- package/dist/xquery-BUQdORAS.js +0 -422
- package/dist/yacas-C0absKBh.js +0 -73
- package/dist/z80-C8rPtw-0.js +0 -61
|
@@ -1,99 +1,408 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/vue3";
|
|
2
|
-
import { VcIcon } from "
|
|
2
|
+
import { VcIcon } from "./index";
|
|
3
3
|
import { SearchIcon, ChevronRightIcon, PlusSignIcon } from "./icons";
|
|
4
4
|
import VcIconTest from "./vc-icon-test.vue";
|
|
5
5
|
import VcIconExamples from "./vc-icon-examples.vue";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
* - Font Awesome icons
|
|
10
|
-
* - Custom SVG components
|
|
11
|
-
* - Material Design icons
|
|
12
|
-
* - Bootstrap icons
|
|
13
|
-
* - Lucide icons
|
|
8
|
+
* # VcIcon Component
|
|
14
9
|
*
|
|
15
|
-
*
|
|
10
|
+
* The VcIcon component is a versatile icon component supporting multiple icon libraries:
|
|
11
|
+
* - Material Symbols
|
|
12
|
+
* - Bootstrap Icons
|
|
13
|
+
* - Lucide Icons
|
|
14
|
+
* - Font Awesome
|
|
15
|
+
* - Custom SVG Icons
|
|
16
|
+
* - Custom Vue Components
|
|
16
17
|
*/
|
|
17
18
|
const meta = {
|
|
18
19
|
title: "Atoms/VcIcon",
|
|
19
20
|
component: VcIcon,
|
|
20
|
-
|
|
21
|
+
parameters: {
|
|
22
|
+
docs: {
|
|
23
|
+
description: {
|
|
24
|
+
component:
|
|
25
|
+
"The VcIcon component provides unified access to multiple icon libraries including Material Symbols, Bootstrap Icons, Lucide Icons, Font Awesome, custom SVG icons, and Vue component icons.",
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
21
29
|
argTypes: {
|
|
22
30
|
icon: {
|
|
23
31
|
control: "text",
|
|
24
|
-
description:
|
|
25
|
-
"Icon to display. Can be a Font Awesome icon (e.g., 'fas fa-home'), Bootstrap icon (e.g., 'bi-house'), Material icon (e.g., 'material-home'), Lucide icon (e.g., 'lucide-home') or custom component",
|
|
26
|
-
table: {
|
|
27
|
-
type: { summary: "string | Component" },
|
|
28
|
-
defaultValue: { summary: "'fas fa-square-full'" },
|
|
29
|
-
},
|
|
32
|
+
description: "The icon to display. Can be a string identifier or a component instance",
|
|
30
33
|
},
|
|
31
34
|
size: {
|
|
32
|
-
control:
|
|
35
|
+
control: "select",
|
|
33
36
|
options: ["xs", "s", "m", "l", "xl", "xxl", "xxxl"],
|
|
34
|
-
description: "
|
|
35
|
-
table: {
|
|
36
|
-
type: { summary: "'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl'" },
|
|
37
|
-
defaultValue: { summary: "'m'" },
|
|
38
|
-
category: "Appearance",
|
|
39
|
-
},
|
|
37
|
+
description: "Predefined size of the icon",
|
|
40
38
|
},
|
|
41
39
|
variant: {
|
|
42
|
-
control:
|
|
43
|
-
options: [
|
|
44
|
-
description: "Color variant
|
|
45
|
-
table: {
|
|
46
|
-
type: { summary: "'warning' | 'danger' | 'success'" },
|
|
47
|
-
defaultValue: { summary: "undefined" },
|
|
48
|
-
category: "Appearance",
|
|
49
|
-
},
|
|
40
|
+
control: "select",
|
|
41
|
+
options: ["warning", "danger", "success"],
|
|
42
|
+
description: "Color variant for status indication",
|
|
50
43
|
},
|
|
51
44
|
useContainer: {
|
|
52
|
-
control:
|
|
45
|
+
control: "boolean",
|
|
53
46
|
description: "Whether to wrap the icon in a container for consistent spacing",
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
},
|
|
48
|
+
customSize: {
|
|
49
|
+
control: "number",
|
|
50
|
+
description: "Custom size in pixels (overrides size prop)",
|
|
51
|
+
},
|
|
52
|
+
basePath: {
|
|
53
|
+
control: "text",
|
|
54
|
+
description: "Base path for SVG icons (only for SVG icons)",
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
args: {
|
|
58
|
+
icon: "material-home",
|
|
59
|
+
size: "m",
|
|
60
|
+
useContainer: true,
|
|
61
|
+
},
|
|
62
|
+
} satisfies Meta<typeof VcIcon>;
|
|
63
|
+
|
|
64
|
+
export default meta;
|
|
65
|
+
type Story = StoryObj<typeof VcIcon>;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Default usage of the VcIcon component with different icon libraries
|
|
69
|
+
*/
|
|
70
|
+
export const Basic: Story = {
|
|
71
|
+
render: (args) => ({
|
|
72
|
+
components: { VcIcon },
|
|
73
|
+
setup() {
|
|
74
|
+
return { args };
|
|
75
|
+
},
|
|
76
|
+
template: `
|
|
77
|
+
<div class="tw-p-6 tw-max-w-4xl tw-mx-auto">
|
|
78
|
+
<h1 class="tw-text-2xl tw-font-bold tw-mb-6">Basic Icon Usage</h1>
|
|
79
|
+
|
|
80
|
+
<section class="tw-mb-8 tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
81
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-4 tw-border-b tw-pb-2">Icon Libraries</h2>
|
|
82
|
+
<div class="tw-grid tw-grid-cols-2 md:tw-grid-cols-4 tw-gap-6">
|
|
83
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
84
|
+
<VcIcon icon="material-home" size="xl" />
|
|
85
|
+
<span class="tw-text-sm tw-mt-2">Material Icons</span>
|
|
86
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">material-home</code>
|
|
87
|
+
</div>
|
|
88
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
89
|
+
<VcIcon icon="bi-house" size="xl" />
|
|
90
|
+
<span class="tw-text-sm tw-mt-2">Bootstrap Icons</span>
|
|
91
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">bi-house</code>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
94
|
+
<VcIcon icon="lucide-home" size="xl" />
|
|
95
|
+
<span class="tw-text-sm tw-mt-2">Lucide Icons</span>
|
|
96
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">lucide-home</code>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
99
|
+
<VcIcon icon="fas fa-home" size="xl" />
|
|
100
|
+
<span class="tw-text-sm tw-mt-2">Font Awesome</span>
|
|
101
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">fas fa-home</code>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
</section>
|
|
105
|
+
|
|
106
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
107
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-4 tw-border-b tw-pb-2">Status Variants</h2>
|
|
108
|
+
<div class="tw-grid tw-grid-cols-2 md:tw-grid-cols-4 tw-gap-6">
|
|
109
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
110
|
+
<VcIcon icon="material-star" size="xl" />
|
|
111
|
+
<span class="tw-text-sm tw-mt-2">Default</span>
|
|
112
|
+
</div>
|
|
113
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
114
|
+
<VcIcon icon="material-check_circle" variant="success" size="xl" />
|
|
115
|
+
<span class="tw-text-sm tw-mt-2">Success</span>
|
|
116
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">variant="success"</code>
|
|
117
|
+
</div>
|
|
118
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
119
|
+
<VcIcon icon="material-warning" variant="warning" size="xl" />
|
|
120
|
+
<span class="tw-text-sm tw-mt-2">Warning</span>
|
|
121
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">variant="warning"</code>
|
|
122
|
+
</div>
|
|
123
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
124
|
+
<VcIcon icon="material-error" variant="danger" size="xl" />
|
|
125
|
+
<span class="tw-text-sm tw-mt-2">Danger</span>
|
|
126
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">variant="danger"</code>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
</section>
|
|
130
|
+
</div>
|
|
131
|
+
`,
|
|
132
|
+
}),
|
|
133
|
+
parameters: {
|
|
134
|
+
docs: {
|
|
135
|
+
description: {
|
|
136
|
+
story: "Basic usage of the VcIcon component with different icon libraries and status variants.",
|
|
58
137
|
},
|
|
59
138
|
},
|
|
60
139
|
},
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Different icon sizes
|
|
144
|
+
*/
|
|
145
|
+
export const Sizes: Story = {
|
|
146
|
+
render: () => ({
|
|
147
|
+
components: { VcIcon },
|
|
148
|
+
template: `
|
|
149
|
+
<div class="tw-p-6 tw-max-w-4xl tw-mx-auto">
|
|
150
|
+
<h1 class="tw-text-2xl tw-font-bold tw-mb-6">Icon Size Options</h1>
|
|
151
|
+
|
|
152
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
153
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-4 tw-border-b tw-pb-2">Predefined Sizes</h2>
|
|
154
|
+
<div class="tw-flex tw-flex-wrap tw-items-end tw-justify-center tw-gap-8">
|
|
155
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
156
|
+
<VcIcon icon="material-star" size="xs" />
|
|
157
|
+
<div class="tw-mt-2 tw-text-center">
|
|
158
|
+
<span class="tw-text-sm tw-block">xs</span>
|
|
159
|
+
<span class="tw-text-xs tw-text-gray-500 tw-block">12px</span>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
163
|
+
<VcIcon icon="material-star" size="s" />
|
|
164
|
+
<div class="tw-mt-2 tw-text-center">
|
|
165
|
+
<span class="tw-text-sm tw-block">s</span>
|
|
166
|
+
<span class="tw-text-xs tw-text-gray-500 tw-block">14px</span>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
170
|
+
<VcIcon icon="material-star" size="m" />
|
|
171
|
+
<div class="tw-mt-2 tw-text-center">
|
|
172
|
+
<span class="tw-text-sm tw-block">m (default)</span>
|
|
173
|
+
<span class="tw-text-xs tw-text-gray-500 tw-block">18px</span>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
177
|
+
<VcIcon icon="material-star" size="l" />
|
|
178
|
+
<div class="tw-mt-2 tw-text-center">
|
|
179
|
+
<span class="tw-text-sm tw-block">l</span>
|
|
180
|
+
<span class="tw-text-xs tw-text-gray-500 tw-block">20px</span>
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
184
|
+
<VcIcon icon="material-star" size="xl" />
|
|
185
|
+
<div class="tw-mt-2 tw-text-center">
|
|
186
|
+
<span class="tw-text-sm tw-block">xl</span>
|
|
187
|
+
<span class="tw-text-xs tw-text-gray-500 tw-block">22px</span>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
191
|
+
<VcIcon icon="material-star" size="xxl" />
|
|
192
|
+
<div class="tw-mt-2 tw-text-center">
|
|
193
|
+
<span class="tw-text-sm tw-block">xxl</span>
|
|
194
|
+
<span class="tw-text-xs tw-text-gray-500 tw-block">30px</span>
|
|
195
|
+
</div>
|
|
196
|
+
</div>
|
|
197
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
198
|
+
<VcIcon icon="material-star" size="xxxl" />
|
|
199
|
+
<div class="tw-mt-2 tw-text-center">
|
|
200
|
+
<span class="tw-text-sm tw-block">xxxl</span>
|
|
201
|
+
<span class="tw-text-xs tw-text-gray-500 tw-block">64px</span>
|
|
202
|
+
</div>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
</section>
|
|
206
|
+
|
|
207
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm tw-mt-8">
|
|
208
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-4 tw-border-b tw-pb-2">Custom Size</h2>
|
|
209
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
210
|
+
<VcIcon icon="material-star" :custom-size="48" />
|
|
211
|
+
<div class="tw-mt-3 tw-text-center">
|
|
212
|
+
<span class="tw-text-sm tw-block">Custom Size (48px)</span>
|
|
213
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">:custom-size="48"</code>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
<p class="tw-text-sm tw-text-gray-600 tw-text-center tw-mt-4">
|
|
217
|
+
The custom-size prop allows you to specify any size in pixels
|
|
218
|
+
</p>
|
|
219
|
+
</section>
|
|
220
|
+
</div>
|
|
221
|
+
`,
|
|
222
|
+
}),
|
|
61
223
|
parameters: {
|
|
62
224
|
docs: {
|
|
63
225
|
description: {
|
|
64
|
-
|
|
65
|
-
|
|
226
|
+
story:
|
|
227
|
+
"VcIcon comes with seven predefined sizes: xs, s, m, l, xl, xxl, and xxxl. You can also specify a custom size in pixels.",
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
};
|
|
66
232
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
233
|
+
/**
|
|
234
|
+
* Material Icons example with detailed options
|
|
235
|
+
*/
|
|
236
|
+
export const MaterialIcons: Story = {
|
|
237
|
+
render: () => ({
|
|
238
|
+
components: { VcIcon },
|
|
239
|
+
template: `
|
|
240
|
+
<div class="tw-p-6 tw-max-w-4xl tw-mx-auto">
|
|
241
|
+
<h1 class="tw-text-2xl tw-font-bold tw-mb-6">Material Icons</h1>
|
|
242
|
+
<p class="tw-mb-4 tw-text-gray-600">
|
|
243
|
+
Material Icons are Google's official icon set following the Material Design guidelines.
|
|
244
|
+
Use the prefix "material-" followed by the icon name.
|
|
245
|
+
</p>
|
|
72
246
|
|
|
73
|
-
|
|
74
|
-
|
|
247
|
+
<div class="tw-grid tw-grid-cols-2 sm:tw-grid-cols-4 tw-gap-4">
|
|
248
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
249
|
+
<VcIcon icon="material-home" size="xl" />
|
|
250
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">material-home</code>
|
|
251
|
+
</div>
|
|
252
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
253
|
+
<VcIcon icon="material-settings" size="xl" />
|
|
254
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">material-settings</code>
|
|
255
|
+
</div>
|
|
256
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
257
|
+
<VcIcon icon="material-person" size="xl" />
|
|
258
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">material-person</code>
|
|
259
|
+
</div>
|
|
260
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
261
|
+
<VcIcon icon="material-shopping_cart" size="xl" />
|
|
262
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">material-shopping_cart</code>
|
|
263
|
+
</div>
|
|
264
|
+
</div>
|
|
265
|
+
</div>
|
|
266
|
+
`,
|
|
267
|
+
}),
|
|
268
|
+
parameters: {
|
|
269
|
+
docs: {
|
|
270
|
+
description: {
|
|
271
|
+
story: "Material Icons are Google's official icon set. Use the prefix 'material-' followed by the icon name.",
|
|
75
272
|
},
|
|
76
273
|
},
|
|
77
274
|
},
|
|
78
|
-
}
|
|
275
|
+
};
|
|
79
276
|
|
|
80
|
-
|
|
81
|
-
|
|
277
|
+
/**
|
|
278
|
+
* Bootstrap Icons example
|
|
279
|
+
*/
|
|
280
|
+
export const BootstrapIcons: Story = {
|
|
281
|
+
render: () => ({
|
|
282
|
+
components: { VcIcon },
|
|
283
|
+
template: `
|
|
284
|
+
<div class="tw-p-6 tw-max-w-4xl tw-mx-auto">
|
|
285
|
+
<h1 class="tw-text-2xl tw-font-bold tw-mb-6">Bootstrap Icons</h1>
|
|
286
|
+
<p class="tw-mb-4 tw-text-gray-600">
|
|
287
|
+
Bootstrap Icons are free, high-quality, open source icons.
|
|
288
|
+
Use the prefix "bi-" followed by the icon name.
|
|
289
|
+
</p>
|
|
290
|
+
|
|
291
|
+
<div class="tw-grid tw-grid-cols-2 sm:tw-grid-cols-4 tw-gap-4">
|
|
292
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
293
|
+
<VcIcon icon="bi-house" size="xl" />
|
|
294
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">bi-house</code>
|
|
295
|
+
</div>
|
|
296
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
297
|
+
<VcIcon icon="bi-gear" size="xl" />
|
|
298
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">bi-gear</code>
|
|
299
|
+
</div>
|
|
300
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
301
|
+
<VcIcon icon="bi-person" size="xl" />
|
|
302
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">bi-person</code>
|
|
303
|
+
</div>
|
|
304
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
305
|
+
<VcIcon icon="bi-cart" size="xl" />
|
|
306
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">bi-cart</code>
|
|
307
|
+
</div>
|
|
308
|
+
</div>
|
|
309
|
+
</div>
|
|
310
|
+
`,
|
|
311
|
+
}),
|
|
312
|
+
parameters: {
|
|
313
|
+
docs: {
|
|
314
|
+
description: {
|
|
315
|
+
story: "Bootstrap Icons are free, high-quality icons. Use the prefix 'bi-' followed by the icon name.",
|
|
316
|
+
},
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
};
|
|
82
320
|
|
|
83
321
|
/**
|
|
84
|
-
*
|
|
85
|
-
* These icons require the Font Awesome library to be loaded in your project.
|
|
322
|
+
* Lucide Icons example
|
|
86
323
|
*/
|
|
87
|
-
export const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
324
|
+
export const LucideIcons: Story = {
|
|
325
|
+
render: () => ({
|
|
326
|
+
components: { VcIcon },
|
|
327
|
+
template: `
|
|
328
|
+
<div class="tw-p-6 tw-max-w-4xl tw-mx-auto">
|
|
329
|
+
<h1 class="tw-text-2xl tw-font-bold tw-mb-6">Lucide Icons</h1>
|
|
330
|
+
<p class="tw-mb-4 tw-text-gray-600">
|
|
331
|
+
Lucide is a community-developed icon library with clean, consistent design.
|
|
332
|
+
Use the prefix "lucide-" followed by the icon name.
|
|
333
|
+
</p>
|
|
334
|
+
|
|
335
|
+
<div class="tw-grid tw-grid-cols-2 sm:tw-grid-cols-4 tw-gap-4">
|
|
336
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
337
|
+
<VcIcon icon="lucide-home" size="xl" />
|
|
338
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">lucide-home</code>
|
|
339
|
+
</div>
|
|
340
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
341
|
+
<VcIcon icon="lucide-settings" size="xl" />
|
|
342
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">lucide-settings</code>
|
|
343
|
+
</div>
|
|
344
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
345
|
+
<VcIcon icon="lucide-user" size="xl" />
|
|
346
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">lucide-user</code>
|
|
347
|
+
</div>
|
|
348
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
349
|
+
<VcIcon icon="lucide-shopping-cart" size="xl" />
|
|
350
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">lucide-shopping-cart</code>
|
|
351
|
+
</div>
|
|
352
|
+
</div>
|
|
353
|
+
</div>
|
|
354
|
+
`,
|
|
355
|
+
}),
|
|
356
|
+
parameters: {
|
|
357
|
+
docs: {
|
|
358
|
+
description: {
|
|
359
|
+
story:
|
|
360
|
+
"Lucide is a community-developed icon library with clean, consistent design. Use the prefix 'lucide-' followed by the icon name.",
|
|
361
|
+
},
|
|
362
|
+
},
|
|
91
363
|
},
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* Font Awesome Icons example
|
|
368
|
+
*/
|
|
369
|
+
export const FontAwesomeIcons: Story = {
|
|
370
|
+
render: () => ({
|
|
371
|
+
components: { VcIcon },
|
|
372
|
+
template: `
|
|
373
|
+
<div class="tw-p-6 tw-max-w-4xl tw-mx-auto">
|
|
374
|
+
<h1 class="tw-text-2xl tw-font-bold tw-mb-6">Font Awesome Icons</h1>
|
|
375
|
+
<p class="tw-mb-4 tw-text-gray-600">
|
|
376
|
+
Font Awesome is a popular icon set with thousands of icons.
|
|
377
|
+
Use the prefix "fas fa-" for solid icons, "far fa-" for regular icons, etc.
|
|
378
|
+
</p>
|
|
379
|
+
|
|
380
|
+
<div class="tw-grid tw-grid-cols-2 sm:tw-grid-cols-4 tw-gap-4">
|
|
381
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
382
|
+
<VcIcon icon="fas fa-home" size="xl" />
|
|
383
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">fas fa-home</code>
|
|
384
|
+
</div>
|
|
385
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
386
|
+
<VcIcon icon="fas fa-cog" size="xl" />
|
|
387
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">fas fa-cog</code>
|
|
388
|
+
</div>
|
|
389
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
390
|
+
<VcIcon icon="fas fa-user" size="xl" />
|
|
391
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">fas fa-user</code>
|
|
392
|
+
</div>
|
|
393
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
394
|
+
<VcIcon icon="fas fa-shopping-cart" size="xl" />
|
|
395
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">fas fa-shopping-cart</code>
|
|
396
|
+
</div>
|
|
397
|
+
</div>
|
|
398
|
+
</div>
|
|
399
|
+
`,
|
|
400
|
+
}),
|
|
92
401
|
parameters: {
|
|
93
402
|
docs: {
|
|
94
403
|
description: {
|
|
95
404
|
story:
|
|
96
|
-
"Font Awesome
|
|
405
|
+
"Font Awesome is a popular icon set. Use the prefix 'fas fa-' for solid icons, 'far fa-' for regular icons, etc.",
|
|
97
406
|
},
|
|
98
407
|
},
|
|
99
408
|
},
|
|
@@ -356,7 +665,7 @@ export const StatusIcons: Story = {
|
|
|
356
665
|
<div class="tw-flex tw-flex-col tw-gap-4">
|
|
357
666
|
<h3 class="tw-text-lg tw-font-medium">Product & Order Status Icons</h3>
|
|
358
667
|
<div class="tw-grid tw-grid-cols-4 tw-gap-4">
|
|
359
|
-
<div v-for="item in icons" :key="item.icon" class="tw-flex tw-items-center tw-gap-2 tw-p-4 tw-border tw-border-gray-200 tw-rounded">
|
|
668
|
+
<div v-for="item in icons" :key="item.icon" class="tw-flex tw-items-center tw-gap-2 tw-p-4 tw-border tw-border-gray-200 tw-rounded-lg tw-shadow-sm">
|
|
360
669
|
<VcIcon :icon="item.icon" :variant="item.variant" size="l" />
|
|
361
670
|
<span class="tw-text-sm">{{item.label}}</span>
|
|
362
671
|
</div>
|
|
@@ -391,3 +700,140 @@ export const IconExamples: Story = {
|
|
|
391
700
|
`,
|
|
392
701
|
}),
|
|
393
702
|
};
|
|
703
|
+
|
|
704
|
+
// Add a new story for CSS styling demonstration
|
|
705
|
+
export const WithCssStyled: Story = {
|
|
706
|
+
name: "With External CSS Styles",
|
|
707
|
+
render: () => ({
|
|
708
|
+
components: { VcIcon },
|
|
709
|
+
template: `
|
|
710
|
+
<div class="tw-p-6 tw-max-w-4xl tw-mx-auto tw-space-y-8">
|
|
711
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
712
|
+
<h3 class="tw-text-lg tw-font-semibold tw-mb-4 tw-border-b tw-pb-2">CSS vs. Preset Sizes</h3>
|
|
713
|
+
<div class="tw-flex tw-justify-center tw-gap-8">
|
|
714
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
715
|
+
<VcIcon icon="fas fa-star" size="xs" style="font-size: 30px;"/>
|
|
716
|
+
<span class="tw-text-sm">size="xs" + container (30px)</span>
|
|
717
|
+
</div>
|
|
718
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
719
|
+
<VcIcon icon="fas fa-star" size="m" style="font-size: 30px;"/>
|
|
720
|
+
<span class="tw-text-sm">size="m" + container (30px)</span>
|
|
721
|
+
</div>
|
|
722
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
723
|
+
<VcIcon icon="fas fa-star" size="xl" style="font-size: 30px;"/>
|
|
724
|
+
<span class="tw-text-sm">size="xl" + container (30px)</span>
|
|
725
|
+
</div>
|
|
726
|
+
</div>
|
|
727
|
+
<p class="tw-text-sm tw-text-gray-600 tw-text-center tw-mt-4">
|
|
728
|
+
When both preset size and CSS font-size are used, CSS size takes precedence
|
|
729
|
+
</p>
|
|
730
|
+
</section>
|
|
731
|
+
</div>
|
|
732
|
+
`,
|
|
733
|
+
data() {
|
|
734
|
+
return {
|
|
735
|
+
isHovered: false,
|
|
736
|
+
};
|
|
737
|
+
},
|
|
738
|
+
}),
|
|
739
|
+
parameters: {
|
|
740
|
+
docs: {
|
|
741
|
+
description: {
|
|
742
|
+
story:
|
|
743
|
+
"Examples of styling icons with CSS. This demonstrates how icons can inherit font size from parent elements, have direct styling applied, and even dynamic styling with hover effects.",
|
|
744
|
+
},
|
|
745
|
+
},
|
|
746
|
+
},
|
|
747
|
+
};
|
|
748
|
+
|
|
749
|
+
/**
|
|
750
|
+
* Color variants for status indication
|
|
751
|
+
*/
|
|
752
|
+
export const ColorVariants: Story = {
|
|
753
|
+
render: () => ({
|
|
754
|
+
components: { VcIcon },
|
|
755
|
+
template: `
|
|
756
|
+
<div class="tw-p-6 tw-max-w-4xl tw-mx-auto">
|
|
757
|
+
<div class="tw-grid tw-grid-cols-2 sm:tw-grid-cols-4 tw-gap-4">
|
|
758
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
759
|
+
<VcIcon icon="material-check_circle" size="xl" />
|
|
760
|
+
<span class="tw-text-sm tw-mt-2">Default</span>
|
|
761
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">No variant</code>
|
|
762
|
+
</div>
|
|
763
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
764
|
+
<VcIcon icon="material-check_circle" variant="success" size="xl" />
|
|
765
|
+
<span class="tw-text-sm tw-mt-2">Success</span>
|
|
766
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">variant="success"</code>
|
|
767
|
+
</div>
|
|
768
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
769
|
+
<VcIcon icon="material-warning" variant="warning" size="xl" />
|
|
770
|
+
<span class="tw-text-sm tw-mt-2">Warning</span>
|
|
771
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">variant="warning"</code>
|
|
772
|
+
</div>
|
|
773
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
774
|
+
<VcIcon icon="material-error" variant="danger" size="xl" />
|
|
775
|
+
<span class="tw-text-sm tw-mt-2">Danger</span>
|
|
776
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-1">variant="danger"</code>
|
|
777
|
+
</div>
|
|
778
|
+
</div>
|
|
779
|
+
|
|
780
|
+
<div class="tw-mt-6 tw-bg-blue-50 tw-p-4 tw-rounded-lg">
|
|
781
|
+
<p class="tw-text-blue-800">
|
|
782
|
+
<strong>Note:</strong> Color variants use CSS variables for theming. The values are defined in the root styles:
|
|
783
|
+
<br />
|
|
784
|
+
<code>--icon-color-success: var(--success-500)</code>
|
|
785
|
+
<br />
|
|
786
|
+
<code>--icon-color-danger: var(--danger-500)</code>
|
|
787
|
+
<br />
|
|
788
|
+
<code>--icon-color-warning: var(--warning-500)</code>
|
|
789
|
+
</p>
|
|
790
|
+
</div>
|
|
791
|
+
</div>
|
|
792
|
+
`,
|
|
793
|
+
}),
|
|
794
|
+
parameters: {
|
|
795
|
+
docs: {
|
|
796
|
+
description: {
|
|
797
|
+
story:
|
|
798
|
+
"The VcIcon component supports three color variants for status indication: success (green), warning (yellow), and danger (red).",
|
|
799
|
+
},
|
|
800
|
+
},
|
|
801
|
+
},
|
|
802
|
+
};
|
|
803
|
+
|
|
804
|
+
/**
|
|
805
|
+
* CSS styling example
|
|
806
|
+
*/
|
|
807
|
+
export const CssStyling: Story = {
|
|
808
|
+
render: () => ({
|
|
809
|
+
components: { VcIcon },
|
|
810
|
+
template: `
|
|
811
|
+
<div class="tw-p-6 tw-max-w-4xl tw-mx-auto">
|
|
812
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
813
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-4 tw-border-b tw-pb-2">Direct Styling</h2>
|
|
814
|
+
<div class="tw-grid tw-grid-cols-3 tw-gap-4">
|
|
815
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
816
|
+
<VcIcon icon="material-star" style="color: #3498db;" />
|
|
817
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">color: #3498db</code>
|
|
818
|
+
</div>
|
|
819
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
820
|
+
<VcIcon icon="material-star" style="color: #e74c3c;" />
|
|
821
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">color: #e74c3c</code>
|
|
822
|
+
</div>
|
|
823
|
+
<div class="tw-flex tw-flex-col tw-items-center">
|
|
824
|
+
<VcIcon icon="material-star" style="color: #2ecc71;" />
|
|
825
|
+
<code class="tw-text-xs tw-bg-gray-100 tw-p-1 tw-rounded tw-mt-2">color: #2ecc71</code>
|
|
826
|
+
</div>
|
|
827
|
+
</div>
|
|
828
|
+
</section>
|
|
829
|
+
</div>
|
|
830
|
+
`,
|
|
831
|
+
}),
|
|
832
|
+
parameters: {
|
|
833
|
+
docs: {
|
|
834
|
+
description: {
|
|
835
|
+
story: " Icons can be styled with CSS.",
|
|
836
|
+
},
|
|
837
|
+
},
|
|
838
|
+
},
|
|
839
|
+
};
|