@vc-shell/framework 1.1.3 → 1.1.5
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 +24 -0
- package/core/directives/loading/styles.css +1 -1
- package/core/plugins/modularity/README.md +347 -17
- package/core/plugins/modularity/loader.ts +217 -3
- package/dist/core/plugins/modularity/loader.d.ts +4 -0
- package/dist/core/plugins/modularity/loader.d.ts.map +1 -1
- package/dist/framework.js +1 -1
- package/dist/{index-DRL7VovM.js → index-BBHl6nap.js} +1 -1
- package/dist/{index-BKR3ecN5.js → index-BG6N4UCY.js} +1 -1
- package/dist/{index-Cv6c_1IG.js → index-Bv5as3SI.js} +1 -1
- package/dist/{index-BUHouW8T.js → index-C4VyqVxv.js} +1 -1
- package/dist/{index-Ek7_XgGk.js → index-CKLiFGZ-.js} +1 -1
- package/dist/{index-B83didIY.js → index-CTmAMa_1.js} +1 -1
- package/dist/{index-C6tcHNVl.js → index-CtGZgIiV.js} +1 -1
- package/dist/{index-DyGIijU2.js → index-D13Jcezf.js} +1 -1
- package/dist/{index-CnQ56kqq.js → index-DbpKygJh.js} +1 -1
- package/dist/{index-Dfcy8w9c.js → index-DgCtSr4P.js} +1 -1
- package/dist/{index-TSGli7LX.js → index-Dh1XjfgY.js} +1 -1
- package/dist/{index-BW3krAiY.js → index-DpDbQQg6.js} +1 -1
- package/dist/{index-CxMfHOup.js → index-DwuQbDJG.js} +1 -1
- package/dist/{index-xFQltarK.js → index-Fhuqbkq2.js} +1 -1
- package/dist/{index-BN-_cebP.js → index-JTAZpxKF.js} +1 -1
- package/dist/{index-UnPPbmRc.js → index-MKD2CP5c.js} +49617 -48276
- package/dist/{index-CGyGGihY.js → index-Q3k1PYzc.js} +1 -1
- package/dist/index.css +3 -3
- package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts.map +1 -1
- package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- 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 +30 -4
- 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-widget/vc-widget.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
- 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-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 +2 -13
- 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-circle-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-circle-button.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.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-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/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-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 +502 -56
- 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-widget/vc-widget.stories.ts +13 -0
- package/ui/components/atoms/vc-widget/vc-widget.vue +2 -0
- package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +1 -1
- package/ui/components/molecules/vc-pagination/vc-pagination.vue +23 -14
- 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/vc-app-bar.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/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +65 -32
- 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
|
@@ -1,226 +1,416 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="
|
|
3
|
-
<
|
|
4
|
-
<p>All icons should appear visually the same size when using the same size value</p>
|
|
2
|
+
<div class="tw-p-6 tw-max-w-4xl tw-mx-auto">
|
|
3
|
+
<h1 class="tw-text-2xl tw-font-bold tw-mb-6">Icon Component Test Suite</h1>
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class="icon-box">
|
|
40
|
-
<VcIcon
|
|
41
|
-
icon="lucide-home"
|
|
42
|
-
:size="size"
|
|
43
|
-
:use-container="useContainer"
|
|
44
|
-
/>
|
|
45
|
-
<span>Lucide</span>
|
|
5
|
+
<div class="tw-space-y-8">
|
|
6
|
+
<!-- Test 1: Basic Icon Types -->
|
|
7
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
8
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-3 tw-border-b tw-pb-2">Test 1: Basic Icon Types</h2>
|
|
9
|
+
<div class="tw-grid tw-grid-cols-4 tw-gap-6 tw-mt-4">
|
|
10
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
11
|
+
<VcIcon
|
|
12
|
+
icon="material-home"
|
|
13
|
+
size="l"
|
|
14
|
+
/>
|
|
15
|
+
<span class="tw-text-sm tw-font-medium">Material</span>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
18
|
+
<VcIcon
|
|
19
|
+
icon="bi-house"
|
|
20
|
+
size="l"
|
|
21
|
+
/>
|
|
22
|
+
<span class="tw-text-sm tw-font-medium">Bootstrap</span>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
25
|
+
<VcIcon
|
|
26
|
+
icon="lucide-home"
|
|
27
|
+
size="l"
|
|
28
|
+
/>
|
|
29
|
+
<span class="tw-text-sm tw-font-medium">Lucide</span>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
32
|
+
<VcIcon
|
|
33
|
+
icon="fas fa-home"
|
|
34
|
+
size="l"
|
|
35
|
+
/>
|
|
36
|
+
<span class="tw-text-sm tw-font-medium">FontAwesome</span>
|
|
37
|
+
</div>
|
|
46
38
|
</div>
|
|
47
|
-
</
|
|
48
|
-
|
|
49
|
-
<div class="size-label">For comparison: square with size {{ sizeValues[size] }}</div>
|
|
50
|
-
<div
|
|
51
|
-
class="reference-container"
|
|
52
|
-
:class="`reference-${size}`"
|
|
53
|
-
></div>
|
|
54
|
-
</div>
|
|
55
|
-
|
|
56
|
-
<div class="recommendation">
|
|
57
|
-
<h3>Recommendations</h3>
|
|
58
|
-
<p>
|
|
59
|
-
To ensure uniform icon sizes, the following approaches are used:
|
|
60
|
-
<ol>
|
|
61
|
-
<li>Unified size system for all icon types</li>
|
|
62
|
-
<li>Optical adjustments to compensate for each library's design characteristics</li>
|
|
63
|
-
<li>Containers slightly larger than the icon size for better visual appearance</li>
|
|
64
|
-
</ol>
|
|
65
|
-
</p>
|
|
66
|
-
<p>
|
|
67
|
-
Current optical adjustment settings:
|
|
68
|
-
<pre>
|
|
69
|
-
:deep(.vc-icon) {
|
|
70
|
-
/* Optical adjustments for different icon libraries */
|
|
71
|
-
--material-icons-scale: {{ opticalCorrections.material }}; /* Material icons need to be larger */
|
|
72
|
-
--fontawesome-icons-scale: {{ opticalCorrections.fontawesome }}; /* FontAwesome icons need to be smaller */
|
|
73
|
-
--bootstrap-icons-scale: {{ opticalCorrections.bootstrap }}; /* Bootstrap icons are our baseline */
|
|
74
|
-
--lucide-icons-scale: {{ opticalCorrections.lucide }}; /* Lucide icons match bootstrap */
|
|
75
|
-
}
|
|
76
|
-
</pre>
|
|
77
|
-
</p>
|
|
78
|
-
</div>
|
|
79
|
-
</div>
|
|
80
|
-
</template>
|
|
81
|
-
|
|
82
|
-
<script lang="ts" setup>
|
|
83
|
-
import { ref, onMounted } from "vue";
|
|
84
|
-
import VcIcon from "./vc-icon.vue";
|
|
85
|
-
import type { IconSize } from "./vc-icon.vue";
|
|
86
|
-
|
|
87
|
-
const sizes: IconSize[] = ["xs", "s", "m", "l", "xl", "xxl", "xxxl"];
|
|
88
|
-
const useContainer = ref(true);
|
|
39
|
+
</section>
|
|
89
40
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
xl: "22px",
|
|
97
|
-
xxl: "30px",
|
|
98
|
-
xxxl: "64px"
|
|
99
|
-
};
|
|
41
|
+
<!-- Test 2: Icon Sizes -->
|
|
42
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
43
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-3 tw-border-b tw-pb-2">Test 2: Icon Sizes</h2>
|
|
44
|
+
<p class="tw-text-sm tw-mb-4 tw-text-gray-600">
|
|
45
|
+
All icons should be visually the same size when using the same size value
|
|
46
|
+
</p>
|
|
100
47
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
48
|
+
<div class="tw-space-y-6">
|
|
49
|
+
<div class="tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
50
|
+
<h3 class="tw-font-semibold tw-mb-3">Size: XS</h3>
|
|
51
|
+
<div class="tw-flex tw-flex-row tw-gap-8 tw-items-center tw-justify-center">
|
|
52
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
53
|
+
<VcIcon
|
|
54
|
+
icon="material-home"
|
|
55
|
+
size="xs"
|
|
56
|
+
/>
|
|
57
|
+
<span class="tw-text-xs">Material</span>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
60
|
+
<VcIcon
|
|
61
|
+
icon="bi-house"
|
|
62
|
+
size="xs"
|
|
63
|
+
/>
|
|
64
|
+
<span class="tw-text-xs">Bootstrap</span>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
67
|
+
<VcIcon
|
|
68
|
+
icon="lucide-home"
|
|
69
|
+
size="xs"
|
|
70
|
+
/>
|
|
71
|
+
<span class="tw-text-xs">Lucide</span>
|
|
72
|
+
</div>
|
|
73
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
74
|
+
<VcIcon
|
|
75
|
+
icon="fas fa-home"
|
|
76
|
+
size="xs"
|
|
77
|
+
/>
|
|
78
|
+
<span class="tw-text-xs">FontAwesome</span>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
124
82
|
|
|
125
|
-
<
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
83
|
+
<div class="tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
84
|
+
<h3 class="tw-font-semibold tw-mb-3">Size: M (default)</h3>
|
|
85
|
+
<div class="tw-flex tw-flex-row tw-gap-8 tw-items-center tw-justify-center">
|
|
86
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
87
|
+
<VcIcon icon="material-home" />
|
|
88
|
+
<span class="tw-text-xs">Material</span>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
91
|
+
<VcIcon icon="bi-house" />
|
|
92
|
+
<span class="tw-text-xs">Bootstrap</span>
|
|
93
|
+
</div>
|
|
94
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
95
|
+
<VcIcon icon="lucide-home" />
|
|
96
|
+
<span class="tw-text-xs">Lucide</span>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
99
|
+
<VcIcon icon="fas fa-home" />
|
|
100
|
+
<span class="tw-text-xs">FontAwesome</span>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
129
104
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
}
|
|
105
|
+
<div class="tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
106
|
+
<h3 class="tw-font-semibold tw-mb-3">Size: XL</h3>
|
|
107
|
+
<div class="tw-flex tw-flex-row tw-gap-8 tw-items-center tw-justify-center">
|
|
108
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
109
|
+
<VcIcon
|
|
110
|
+
icon="material-home"
|
|
111
|
+
size="xl"
|
|
112
|
+
/>
|
|
113
|
+
<span class="tw-text-xs">Material</span>
|
|
114
|
+
</div>
|
|
115
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
116
|
+
<VcIcon
|
|
117
|
+
icon="bi-house"
|
|
118
|
+
size="xl"
|
|
119
|
+
/>
|
|
120
|
+
<span class="tw-text-xs">Bootstrap</span>
|
|
121
|
+
</div>
|
|
122
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
123
|
+
<VcIcon
|
|
124
|
+
icon="lucide-home"
|
|
125
|
+
size="xl"
|
|
126
|
+
/>
|
|
127
|
+
<span class="tw-text-xs">Lucide</span>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
130
|
+
<VcIcon
|
|
131
|
+
icon="fas fa-home"
|
|
132
|
+
size="xl"
|
|
133
|
+
/>
|
|
134
|
+
<span class="tw-text-xs">FontAwesome</span>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
</section>
|
|
167
140
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
141
|
+
<!-- Test 3: Color Variants -->
|
|
142
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
143
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-3 tw-border-b tw-pb-2">Test 3: Color Variants</h2>
|
|
144
|
+
<div class="tw-space-y-4 tw-mt-4">
|
|
145
|
+
<div class="tw-flex tw-flex-row tw-gap-4 tw-items-center">
|
|
146
|
+
<div class="tw-w-24 tw-font-medium tw-text-right">Default:</div>
|
|
147
|
+
<div class="tw-flex tw-gap-6">
|
|
148
|
+
<VcIcon
|
|
149
|
+
icon="material-info"
|
|
150
|
+
size="l"
|
|
151
|
+
/>
|
|
152
|
+
<VcIcon
|
|
153
|
+
icon="bi-info-circle"
|
|
154
|
+
size="l"
|
|
155
|
+
/>
|
|
156
|
+
<VcIcon
|
|
157
|
+
icon="lucide-info"
|
|
158
|
+
size="l"
|
|
159
|
+
/>
|
|
160
|
+
<VcIcon
|
|
161
|
+
icon="fas fa-info-circle"
|
|
162
|
+
size="l"
|
|
163
|
+
/>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
171
166
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
167
|
+
<div class="tw-flex tw-flex-row tw-gap-4 tw-items-center">
|
|
168
|
+
<div class="tw-w-24 tw-font-medium tw-text-right">Warning:</div>
|
|
169
|
+
<div class="tw-flex tw-gap-6">
|
|
170
|
+
<VcIcon
|
|
171
|
+
icon="material-warning"
|
|
172
|
+
variant="warning"
|
|
173
|
+
size="l"
|
|
174
|
+
/>
|
|
175
|
+
<VcIcon
|
|
176
|
+
icon="bi-exclamation-triangle"
|
|
177
|
+
variant="warning"
|
|
178
|
+
size="l"
|
|
179
|
+
/>
|
|
180
|
+
<VcIcon
|
|
181
|
+
icon="lucide-alert-triangle"
|
|
182
|
+
variant="warning"
|
|
183
|
+
size="l"
|
|
184
|
+
/>
|
|
185
|
+
<VcIcon
|
|
186
|
+
icon="fas fa-exclamation-triangle"
|
|
187
|
+
variant="warning"
|
|
188
|
+
size="l"
|
|
189
|
+
/>
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
180
192
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
193
|
+
<div class="tw-flex tw-flex-row tw-gap-4 tw-items-center">
|
|
194
|
+
<div class="tw-w-24 tw-font-medium tw-text-right">Danger:</div>
|
|
195
|
+
<div class="tw-flex tw-gap-6">
|
|
196
|
+
<VcIcon
|
|
197
|
+
icon="material-error"
|
|
198
|
+
variant="danger"
|
|
199
|
+
size="l"
|
|
200
|
+
/>
|
|
201
|
+
<VcIcon
|
|
202
|
+
icon="bi-exclamation-circle"
|
|
203
|
+
variant="danger"
|
|
204
|
+
size="l"
|
|
205
|
+
/>
|
|
206
|
+
<VcIcon
|
|
207
|
+
icon="lucide-alert-circle"
|
|
208
|
+
variant="danger"
|
|
209
|
+
size="l"
|
|
210
|
+
/>
|
|
211
|
+
<VcIcon
|
|
212
|
+
icon="fas fa-exclamation-circle"
|
|
213
|
+
variant="danger"
|
|
214
|
+
size="l"
|
|
215
|
+
/>
|
|
216
|
+
</div>
|
|
217
|
+
</div>
|
|
186
218
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
219
|
+
<div class="tw-flex tw-flex-row tw-gap-4 tw-items-center">
|
|
220
|
+
<div class="tw-w-24 tw-font-medium tw-text-right">Success:</div>
|
|
221
|
+
<div class="tw-flex tw-gap-6">
|
|
222
|
+
<VcIcon
|
|
223
|
+
icon="material-check_circle"
|
|
224
|
+
variant="success"
|
|
225
|
+
size="l"
|
|
226
|
+
/>
|
|
227
|
+
<VcIcon
|
|
228
|
+
icon="bi-check-circle"
|
|
229
|
+
variant="success"
|
|
230
|
+
size="l"
|
|
231
|
+
/>
|
|
232
|
+
<VcIcon
|
|
233
|
+
icon="lucide-check-circle"
|
|
234
|
+
variant="success"
|
|
235
|
+
size="l"
|
|
236
|
+
/>
|
|
237
|
+
<VcIcon
|
|
238
|
+
icon="fas fa-check-circle"
|
|
239
|
+
variant="success"
|
|
240
|
+
size="l"
|
|
241
|
+
/>
|
|
242
|
+
</div>
|
|
243
|
+
</div>
|
|
244
|
+
</div>
|
|
245
|
+
</section>
|
|
191
246
|
|
|
192
|
-
|
|
193
|
-
|
|
247
|
+
<!-- Test 4: Custom Size -->
|
|
248
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
249
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-3 tw-border-b tw-pb-2">Test 5: Custom Size</h2>
|
|
250
|
+
<div class="tw-flex tw-flex-row tw-gap-8 tw-items-end tw-justify-center tw-mt-4">
|
|
251
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
252
|
+
<VcIcon
|
|
253
|
+
icon="material-star"
|
|
254
|
+
:custom-size="32"
|
|
255
|
+
/>
|
|
256
|
+
<span class="tw-text-xs">Material (32px)</span>
|
|
257
|
+
</div>
|
|
258
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
259
|
+
<VcIcon
|
|
260
|
+
icon="bi-star"
|
|
261
|
+
:custom-size="32"
|
|
262
|
+
/>
|
|
263
|
+
<span class="tw-text-xs">Bootstrap (32px)</span>
|
|
264
|
+
</div>
|
|
265
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
266
|
+
<VcIcon
|
|
267
|
+
icon="lucide-star"
|
|
268
|
+
:custom-size="32"
|
|
269
|
+
/>
|
|
270
|
+
<span class="tw-text-xs">Lucide (32px)</span>
|
|
271
|
+
</div>
|
|
272
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
273
|
+
<VcIcon
|
|
274
|
+
icon="fas fa-star"
|
|
275
|
+
:custom-size="32"
|
|
276
|
+
/>
|
|
277
|
+
<span class="tw-text-xs">FontAwesome (32px)</span>
|
|
278
|
+
</div>
|
|
279
|
+
</div>
|
|
280
|
+
</section>
|
|
194
281
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
282
|
+
<!-- Test 5: With/Without Container -->
|
|
283
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
284
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-3 tw-border-b tw-pb-2">Test 5: With/Without Container</h2>
|
|
285
|
+
<div class="tw-space-y-6 tw-mt-4">
|
|
286
|
+
<div class="tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
287
|
+
<h3 class="tw-font-semibold tw-mb-3">With Container (default)</h3>
|
|
288
|
+
<div class="tw-flex tw-flex-row tw-gap-8 tw-items-center tw-justify-center tw-bg-blue-50 tw-p-4 tw-rounded">
|
|
289
|
+
<VcIcon
|
|
290
|
+
icon="material-home"
|
|
291
|
+
size="l"
|
|
292
|
+
/>
|
|
293
|
+
<VcIcon
|
|
294
|
+
icon="bi-house"
|
|
295
|
+
size="l"
|
|
296
|
+
/>
|
|
297
|
+
<VcIcon
|
|
298
|
+
icon="lucide-home"
|
|
299
|
+
size="l"
|
|
300
|
+
/>
|
|
301
|
+
<VcIcon
|
|
302
|
+
icon="fas fa-home"
|
|
303
|
+
size="l"
|
|
304
|
+
/>
|
|
305
|
+
</div>
|
|
306
|
+
</div>
|
|
199
307
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
308
|
+
<div class="tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
309
|
+
<h3 class="tw-font-semibold tw-mb-3">Without Container</h3>
|
|
310
|
+
<div class="tw-flex tw-flex-row tw-gap-8 tw-items-center tw-justify-center tw-bg-blue-50 tw-p-4 tw-rounded">
|
|
311
|
+
<VcIcon
|
|
312
|
+
icon="material-home"
|
|
313
|
+
:use-container="false"
|
|
314
|
+
size="l"
|
|
315
|
+
/>
|
|
316
|
+
<VcIcon
|
|
317
|
+
icon="bi-house"
|
|
318
|
+
:use-container="false"
|
|
319
|
+
size="l"
|
|
320
|
+
/>
|
|
321
|
+
<VcIcon
|
|
322
|
+
icon="lucide-home"
|
|
323
|
+
:use-container="false"
|
|
324
|
+
size="l"
|
|
325
|
+
/>
|
|
326
|
+
<VcIcon
|
|
327
|
+
icon="fas fa-home"
|
|
328
|
+
:use-container="false"
|
|
329
|
+
size="l"
|
|
330
|
+
/>
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
</div>
|
|
334
|
+
</section>
|
|
203
335
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
336
|
+
<!-- Test 6: Icon Size Comparison -->
|
|
337
|
+
<section class="tw-border tw-border-gray-200 tw-rounded-lg tw-p-5 tw-shadow-sm">
|
|
338
|
+
<h2 class="tw-text-xl tw-font-bold tw-mb-3 tw-border-b tw-pb-2">Test 6: Icon Size Comparison</h2>
|
|
339
|
+
<div class="tw-space-y-6 tw-mt-4">
|
|
340
|
+
<div class="tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
341
|
+
<h3 class="tw-font-semibold tw-mb-3">Size "M" Comparison</h3>
|
|
342
|
+
<div class="tw-flex tw-flex-row tw-gap-8 tw-items-center tw-justify-center">
|
|
343
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
344
|
+
<VcIcon
|
|
345
|
+
icon="material-home"
|
|
346
|
+
size="m"
|
|
347
|
+
/>
|
|
348
|
+
<span class="tw-text-xs">Material</span>
|
|
349
|
+
</div>
|
|
350
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
351
|
+
<VcIcon
|
|
352
|
+
icon="bi-house"
|
|
353
|
+
size="m"
|
|
354
|
+
/>
|
|
355
|
+
<span class="tw-text-xs">Bootstrap</span>
|
|
356
|
+
</div>
|
|
357
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
358
|
+
<VcIcon
|
|
359
|
+
icon="lucide-home"
|
|
360
|
+
size="m"
|
|
361
|
+
/>
|
|
362
|
+
<span class="tw-text-xs">Lucide</span>
|
|
363
|
+
</div>
|
|
364
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
365
|
+
<VcIcon
|
|
366
|
+
icon="fas fa-home"
|
|
367
|
+
size="m"
|
|
368
|
+
/>
|
|
369
|
+
<span class="tw-text-xs">FontAwesome</span>
|
|
370
|
+
</div>
|
|
371
|
+
</div>
|
|
372
|
+
</div>
|
|
208
373
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
374
|
+
<div class="tw-bg-gray-50 tw-p-4 tw-rounded-lg">
|
|
375
|
+
<h3 class="tw-font-semibold tw-mb-3">Heart Icons Comparison</h3>
|
|
376
|
+
<div class="tw-flex tw-flex-row tw-gap-8 tw-items-center tw-justify-center">
|
|
377
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
378
|
+
<VcIcon
|
|
379
|
+
icon="material-favorite"
|
|
380
|
+
size="xl"
|
|
381
|
+
/>
|
|
382
|
+
<span class="tw-text-xs">Material</span>
|
|
383
|
+
</div>
|
|
384
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
385
|
+
<VcIcon
|
|
386
|
+
icon="bi-heart"
|
|
387
|
+
size="xl"
|
|
388
|
+
/>
|
|
389
|
+
<span class="tw-text-xs">Bootstrap</span>
|
|
390
|
+
</div>
|
|
391
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
392
|
+
<VcIcon
|
|
393
|
+
icon="lucide-heart"
|
|
394
|
+
size="xl"
|
|
395
|
+
/>
|
|
396
|
+
<span class="tw-text-xs">Lucide</span>
|
|
397
|
+
</div>
|
|
398
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-gap-2">
|
|
399
|
+
<VcIcon
|
|
400
|
+
icon="fas fa-heart"
|
|
401
|
+
size="xl"
|
|
402
|
+
/>
|
|
403
|
+
<span class="tw-text-xs">FontAwesome</span>
|
|
404
|
+
</div>
|
|
405
|
+
</div>
|
|
406
|
+
</div>
|
|
407
|
+
</div>
|
|
408
|
+
</section>
|
|
409
|
+
</div>
|
|
410
|
+
</div>
|
|
411
|
+
</template>
|
|
215
412
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
overflow: auto;
|
|
221
|
-
font-family: monospace;
|
|
222
|
-
font-size: 13px;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
</style>
|
|
413
|
+
<script setup lang="ts">
|
|
414
|
+
import { VcIcon } from "./index";
|
|
415
|
+
import type { IconSize } from "./vc-icon.vue";
|
|
416
|
+
</script>
|