classcard-ui 0.2.1069 → 0.2.1071

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.
Files changed (190) hide show
  1. package/README.md +24 -24
  2. package/dist/classcard-ui.common.js +62 -59
  3. package/dist/classcard-ui.common.js.map +1 -1
  4. package/dist/classcard-ui.umd.js +62 -59
  5. package/dist/classcard-ui.umd.js.map +1 -1
  6. package/dist/classcard-ui.umd.min.js +1 -1
  7. package/dist/classcard-ui.umd.min.js.map +1 -1
  8. package/package.json +82 -82
  9. package/src/App.vue +16 -16
  10. package/src/components/CAlerts/CAlerts.vue +70 -70
  11. package/src/components/CAlerts/index.js +2 -2
  12. package/src/components/CAnchorTabs/CAnchorTabs.vue +96 -96
  13. package/src/components/CAnchorTabs/index.js +2 -2
  14. package/src/components/CAnchorTag/CAnchorTag.vue +62 -62
  15. package/src/components/CAnchorTag/index.js +2 -2
  16. package/src/components/CAvatar/CAvatar.vue +212 -212
  17. package/src/components/CAvatar/index.js +2 -2
  18. package/src/components/CAvatarGroup/CAvatarGroup.vue +145 -145
  19. package/src/components/CAvatarGroup/index.js +2 -2
  20. package/src/components/CBasicTable/CBasicTable.vue +184 -184
  21. package/src/components/CBasicTable/index.js +2 -2
  22. package/src/components/CBreadcrumbs/CBreadcrumbs.vue +38 -38
  23. package/src/components/CBreadcrumbs/index.js +2 -2
  24. package/src/components/CButton/CButton.vue +152 -152
  25. package/src/components/CButton/index.js +2 -2
  26. package/src/components/CButtonGroup/CButtonGroup.vue +118 -118
  27. package/src/components/CButtonGroup/index.js +2 -2
  28. package/src/components/CButtonIcon/CButtonIcon.vue +117 -117
  29. package/src/components/CButtonIcon/index.js +2 -2
  30. package/src/components/CButtonLink/CButtonLink.vue +39 -39
  31. package/src/components/CButtonLink/index.js +2 -2
  32. package/src/components/CButtonSelect/CButtonSelect.vue +134 -134
  33. package/src/components/CButtonSelect/index.js +2 -2
  34. package/src/components/CButtonSelectBorder/CButtonSelectBorder.vue +135 -135
  35. package/src/components/CButtonSelectBorder/index.js +3 -3
  36. package/src/components/CButtonWithDropdown/CButtonWithDropdown.vue +135 -135
  37. package/src/components/CButtonWithDropdown/index.js +2 -2
  38. package/src/components/CCalendar/CCalendar.vue +410 -410
  39. package/src/components/CCalendar/index.js +3 -3
  40. package/src/components/CCard/CCard.vue +49 -49
  41. package/src/components/CCard/index.js +2 -2
  42. package/src/components/CCheckbox/CCheckbox.vue +123 -123
  43. package/src/components/CCheckbox/index.js +2 -2
  44. package/src/components/CCircularButton/CCircularButton.vue +53 -53
  45. package/src/components/CCircularButton/index.js +2 -2
  46. package/src/components/CCollapsibleSection/CCollapsibleSection.vue +101 -101
  47. package/src/components/CCollapsibleSection/index.js +2 -2
  48. package/src/components/CColorDots/CColorDots.vue +51 -51
  49. package/src/components/CColorDots/index.js +3 -3
  50. package/src/components/CConfirmActionModal/CConfirmActionModal.vue +180 -180
  51. package/src/components/CConfirmActionModal/index.js +3 -3
  52. package/src/components/CDatepicker/CDatepicker.vue +201 -201
  53. package/src/components/CDatepicker/index.js +2 -2
  54. package/src/components/CDualSelect/CDualSelect.vue +193 -193
  55. package/src/components/CDualSelect/index.js +2 -2
  56. package/src/components/CEditor/CEditor.vue +98 -98
  57. package/src/components/CEditor/index.js +2 -2
  58. package/src/components/CFormSectionHeading/CFormSectionHeading.vue +53 -53
  59. package/src/components/CFormSectionHeading/index.js +2 -2
  60. package/src/components/CGroupedSelect/CGroupedSelect.vue +245 -245
  61. package/src/components/CGroupedSelect/index.js +3 -3
  62. package/src/components/CIcon/CIcon.vue +91 -91
  63. package/src/components/CIcon/index.js +2 -2
  64. package/src/components/CIconDropdown/CIconDropdown.vue +146 -146
  65. package/src/components/CIconDropdown/index.js +2 -2
  66. package/src/components/CInput/CInput.vue +134 -134
  67. package/src/components/CInput/index.js +2 -2
  68. package/src/components/CInputAddon/CInputAddon.vue +228 -228
  69. package/src/components/CInputAddon/index.js +2 -2
  70. package/src/components/CInputEmail/CInputEmail.vue +93 -93
  71. package/src/components/CInputEmail/index.js +2 -2
  72. package/src/components/CInsetTabs/CInsetTabs.vue +88 -88
  73. package/src/components/CInsetTabs/index.js +3 -3
  74. package/src/components/CModalHeading/CModalHeading.vue +22 -22
  75. package/src/components/CModalHeading/index.js +2 -2
  76. package/src/components/CModuleHelpLinks/CModuleHelpLinks.vue +70 -70
  77. package/src/components/CModuleHelpLinks/index.js +3 -3
  78. package/src/components/CMultiselect/CMultiselect.vue +615 -615
  79. package/src/components/CMultiselect/index.js +2 -2
  80. package/src/components/CMultiselectr/CMultiselectr.vue +44 -44
  81. package/src/components/CMultiselectr/index.js +2 -2
  82. package/src/components/CPageHeading/CPageHeading.vue +56 -56
  83. package/src/components/CPageHeading/index.js +2 -2
  84. package/src/components/CPagination/CPagination.vue +233 -233
  85. package/src/components/CPagination/index.js +2 -2
  86. package/src/components/CPhoneNumber/CPhoneNumber.vue +114 -114
  87. package/src/components/CPhoneNumber/index.js +2 -2
  88. package/src/components/CProgress/CProgress.vue +57 -57
  89. package/src/components/CProgress/index.js +2 -2
  90. package/src/components/CRadio/CRadio.vue +126 -126
  91. package/src/components/CRadio/index.js +2 -2
  92. package/src/components/CRangeSlider/CRangeSlider.vue +55 -55
  93. package/src/components/CRangeSlider/index.js +2 -2
  94. package/src/components/CReorderableStackedList/CReorderableStackedList.vue +94 -94
  95. package/src/components/CReorderableStackedList/index.js +2 -2
  96. package/src/components/CSelect/CSelect.vue +539 -539
  97. package/src/components/CSelect/index.js +2 -2
  98. package/src/components/CSmallTimeline/CSmallTimeline.vue +40 -40
  99. package/src/components/CSmallTimeline/index.js +2 -2
  100. package/src/components/CStackedList/CStackedList.vue +150 -150
  101. package/src/components/CStackedList/index.js +2 -2
  102. package/src/components/CStats/CStats.vue +116 -116
  103. package/src/components/CStats/index.js +2 -2
  104. package/src/components/CSwitch/CSwitch.vue +176 -176
  105. package/src/components/CSwitch/index.js +2 -2
  106. package/src/components/CTabLazy/CTabLazy.vue +63 -63
  107. package/src/components/CTabLazy/index.js +2 -2
  108. package/src/components/CTable/CTable.vue +671 -671
  109. package/src/components/CTable/index.js +2 -2
  110. package/src/components/CTabs/CTabs.vue +169 -169
  111. package/src/components/CTabs/index.js +2 -2
  112. package/src/components/CTag/CTag.vue +59 -59
  113. package/src/components/CTag/index.js +2 -2
  114. package/src/components/CTextarea/CTextarea.vue +107 -107
  115. package/src/components/CTextarea/index.js +2 -2
  116. package/src/components/CTimeline/CTimeline.vue +237 -237
  117. package/src/components/CTimeline/index.js +2 -2
  118. package/src/components/CUpload/CUpload.vue +267 -267
  119. package/src/components/CUpload/index.js +2 -2
  120. package/src/components/index.js +53 -53
  121. package/src/icons.js +459 -453
  122. package/src/main.js +22 -22
  123. package/src/stories/CAlerts.stories.js +37 -37
  124. package/src/stories/CAnchorTabs.stories.js +29 -29
  125. package/src/stories/CAnchorTag.stories.js +36 -36
  126. package/src/stories/CAvatar.stories.js +38 -38
  127. package/src/stories/CAvatarGroup.stories.js +100 -100
  128. package/src/stories/CBasicTable.stories.js +316 -316
  129. package/src/stories/CBreadcrumbs.stories.js +24 -24
  130. package/src/stories/CButton.stories.js +47 -47
  131. package/src/stories/CButtonGroup.stories.js +33 -33
  132. package/src/stories/CButtonIcon.stories.js +27 -27
  133. package/src/stories/CButtonLink.stories.js +24 -24
  134. package/src/stories/CButtonSelect.stories.js +41 -41
  135. package/src/stories/CButtonSelectBorder.stories.js +48 -48
  136. package/src/stories/CButtonWithDropdown.stories.js +41 -41
  137. package/src/stories/CCalendar.stories.js +16 -16
  138. package/src/stories/CCard.stories.js +30 -30
  139. package/src/stories/CCheckbox.stories.js +29 -29
  140. package/src/stories/CCircularButton.stories.js +29 -29
  141. package/src/stories/CCollapsibleSection.stories.js +28 -28
  142. package/src/stories/CColorDots.stories.js +28 -28
  143. package/src/stories/CConfirmActionModal.stories.js +59 -59
  144. package/src/stories/CDatepicker.stories.js +30 -30
  145. package/src/stories/CDualSelect.stories.js +29 -29
  146. package/src/stories/CEditor.stories.js +30 -30
  147. package/src/stories/CFormSectionHeading.stories.js +34 -34
  148. package/src/stories/CGroupedSelect.stories.js +71 -71
  149. package/src/stories/CIcon.stories.js +28 -28
  150. package/src/stories/CIconDropdown.stories.js +45 -45
  151. package/src/stories/CInput.stories.js +36 -36
  152. package/src/stories/CInputAddon.stories.js +37 -37
  153. package/src/stories/CInputEmail.stories.js +27 -27
  154. package/src/stories/CInsetTabs.stories.js +38 -38
  155. package/src/stories/CModalHeading.stories.js +25 -25
  156. package/src/stories/CModuleHelpLinks.stories.js +25 -25
  157. package/src/stories/CMultiselect.stories.js +167 -167
  158. package/src/stories/CMultiselectr.stories.js +23 -23
  159. package/src/stories/CPageHeading.stories.js +32 -32
  160. package/src/stories/CPagination.stories.js +30 -30
  161. package/src/stories/CPhoneNumber.stories.js +29 -29
  162. package/src/stories/CProgress.stories.js +23 -23
  163. package/src/stories/CRadio.stories.js +36 -36
  164. package/src/stories/CRangeSlider.stories.js +23 -23
  165. package/src/stories/CReorderableStackedList.stories.js +23 -23
  166. package/src/stories/CSelect.stories.js +109 -109
  167. package/src/stories/CSmallTimeline.stories.js +26 -26
  168. package/src/stories/CStackedList.stories.js +37 -37
  169. package/src/stories/CStats.stories.js +33 -33
  170. package/src/stories/CSwitch.stories.js +28 -28
  171. package/src/stories/CTabLazy.stories.js +26 -26
  172. package/src/stories/CTable.stories.js +169 -169
  173. package/src/stories/CTabs.stories.js +36 -36
  174. package/src/stories/CTag.stories.js +34 -34
  175. package/src/stories/CTextarea.stories.js +32 -32
  176. package/src/stories/CTimeline.stories.js +26 -26
  177. package/src/stories/CUpload.stories.js +36 -36
  178. package/src/stories/Introduction.stories.mdx +207 -207
  179. package/src/stories/Page.vue +88 -88
  180. package/src/stories/assets/code-brackets.svg +0 -0
  181. package/src/stories/assets/colors.svg +0 -0
  182. package/src/stories/assets/comments.svg +0 -0
  183. package/src/stories/assets/direction.svg +0 -0
  184. package/src/stories/assets/flow.svg +0 -0
  185. package/src/stories/assets/plugin.svg +0 -0
  186. package/src/stories/assets/repo.svg +0 -0
  187. package/src/stories/assets/stackalt.svg +0 -0
  188. package/src/stories/header.css +26 -26
  189. package/src/stories/page.css +69 -69
  190. package/src/stories/utils.css +17 -17
@@ -1,3 +1,3 @@
1
- import CTable from './CTable.vue'
2
-
1
+ import CTable from './CTable.vue'
2
+
3
3
  export default CTable
@@ -1,169 +1,169 @@
1
- <template>
2
- <div>
3
- <slot></slot>
4
- <div class="sm:hidden" :class="tabClasses">
5
- <label for="tabs" class="sr-only">Select a tab</label>
6
- <select
7
- v-model="activeTab"
8
- @change="switchTabForMobile($event.target.selectedIndex)"
9
- class="block w-full rounded-md border-gray-300 pr-6 pl-4 text-sm focus:border-indigo-500 focus:ring-indigo-500"
10
- id="tabs"
11
- >
12
- <option
13
- v-for="tab in tabs"
14
- :key="tab.text"
15
- :value="tab.name"
16
- class="text-sm"
17
- >
18
- {{ tab.text }}
19
- </option>
20
- </select>
21
- </div>
22
- <div class="hidden sm:block">
23
- <div class="flex items-center justify-between border-b border-gray-200">
24
- <nav :class="classes" class="-mb-px flex" aria-label="Tabs">
25
- <a
26
- v-for="tab in isExtraTabs ? tabsList : tabs"
27
- :key="tab.text"
28
- @click="switchTab(tab.name)"
29
- class="group inline-flex cursor-pointer items-center whitespace-nowrap border-b-2 py-4 px-1 text-sm font-medium"
30
- :class="
31
- activeTab == tab.name
32
- ? 'border-indigo-600 text-indigo-700 hover:text-indigo-800'
33
- : 'border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700'
34
- "
35
- >
36
- <c-icon
37
- v-if="tab.icon"
38
- :name="tab.icon"
39
- class="-ml-0.5 mr-2 h-5 w-5"
40
- :class="
41
- activeTab == tab.name
42
- ? 'text-indigo-700 group-hover:text-indigo-800'
43
- : 'text-gray-400 group-hover:text-gray-500 '
44
- "
45
- type="solid"
46
- ></c-icon>
47
- <span
48
- :class="
49
- activeTab == tab.name
50
- ? 'text-indigo-700'
51
- : 'text-gray-500 hover:text-gray-700'
52
- "
53
- >
54
- {{ tab.text }}
55
- </span>
56
- <div class="ml-2" v-if="tab.count">
57
- <span
58
- :class="
59
- activeTab == tab.name
60
- ? 'rounded-full bg-indigo-100 px-2 py-0.5 text-indigo-900'
61
- : 'rounded-full bg-gray-100 px-2 py-0.5 text-gray-900'
62
- "
63
- >
64
- {{ tab.count }}
65
- </span>
66
- </div>
67
- </a>
68
- <a
69
- v-if="extraTabsCount > 0"
70
- @click="handleMoreTabs"
71
- class="group relative inline-flex cursor-pointer items-center whitespace-nowrap border-b-2 border-transparent"
72
- ><span class="text-sm font-medium text-indigo-800 hover:underline"
73
- >+{{ extraTabsCount }} more</span
74
- >
75
- <div
76
- v-if="openDropdown"
77
- class="absolute top-12 -left-32 z-10 w-44 rounded-md border border-gray-200 bg-white py-1 shadow-sm"
78
- >
79
- <p
80
- v-for="tab in extraTabs"
81
- :key="tab.text"
82
- @click="handleSwitchTabs(tab.name)"
83
- class="py-2 px-4 text-sm text-gray-500 hover:bg-gray-100 hover:text-gray-700"
84
- >
85
- {{ tab.text }}
86
- </p>
87
- </div>
88
- </a>
89
- </nav>
90
- <div>
91
- <slot name="customComp"> </slot>
92
- </div>
93
- </div>
94
- </div>
95
- <div v-for="(tab, index) in tabs" :key="index">
96
- <div v-show="tab.name == activeTab">
97
- <slot :name="`tab-panel-${tab.name}`"></slot>
98
- </div>
99
- </div>
100
- </div>
101
- </template>
102
-
103
- <script>
104
- // import CIcon from "../CIcon/CIcon.vue";
105
- export default {
106
- name: "CTabs",
107
- // components: { CIcon },
108
- props: {
109
- tabs: {
110
- type: Array,
111
- required: true,
112
- },
113
- initialTab: {
114
- type: String,
115
- },
116
- classes: {
117
- type: String,
118
- default: "space-x-3",
119
- },
120
- tabClasses: {
121
- type: String,
122
- },
123
- extraTabs: {
124
- type: Array,
125
- },
126
- tabsList: {
127
- type: Array,
128
- },
129
- extraTabsCount: {
130
- type: Number,
131
- },
132
- isExtraTabs: {
133
- type: Boolean,
134
- },
135
- },
136
- data() {
137
- return {
138
- activeTab: this.initialTab,
139
- openDropdown: false,
140
- };
141
- },
142
- methods: {
143
- switchTab(tabText, type = "") {
144
- this.activeTab = tabText;
145
- if (type != "handler") {
146
- this.$emit("handleTabsUpdate", tabText);
147
- }
148
- },
149
- switchTabForMobile(index) {
150
- var selectedOption = this.tabs[index];
151
- this.activeTab = selectedOption.name;
152
- },
153
- handleSwitchTabs(tab) {
154
- this.$emit("updateTabsList", tab);
155
- this.switchTab(tab, "handler");
156
- },
157
- handleMoreTabs() {
158
- this.openDropdown = !this.openDropdown;
159
- },
160
- },
161
- watch: {
162
- initialTab() {
163
- this.activeTab = this.initialTab;
164
- },
165
- },
166
- };
167
- </script>
168
-
169
- <style></style>
1
+ <template>
2
+ <div>
3
+ <slot></slot>
4
+ <div class="sm:hidden" :class="tabClasses">
5
+ <label for="tabs" class="sr-only">Select a tab</label>
6
+ <select
7
+ v-model="activeTab"
8
+ @change="switchTabForMobile($event.target.selectedIndex)"
9
+ class="block w-full rounded-md border-gray-300 pr-6 pl-4 text-sm focus:border-indigo-500 focus:ring-indigo-500"
10
+ id="tabs"
11
+ >
12
+ <option
13
+ v-for="tab in tabs"
14
+ :key="tab.text"
15
+ :value="tab.name"
16
+ class="text-sm"
17
+ >
18
+ {{ tab.text }}
19
+ </option>
20
+ </select>
21
+ </div>
22
+ <div class="hidden sm:block">
23
+ <div class="flex items-center justify-between border-b border-gray-200">
24
+ <nav :class="classes" class="-mb-px flex" aria-label="Tabs">
25
+ <a
26
+ v-for="tab in isExtraTabs ? tabsList : tabs"
27
+ :key="tab.text"
28
+ @click="switchTab(tab.name)"
29
+ class="group inline-flex cursor-pointer items-center whitespace-nowrap border-b-2 py-4 px-1 text-sm font-medium"
30
+ :class="
31
+ activeTab == tab.name
32
+ ? 'border-indigo-600 text-indigo-700 hover:text-indigo-800'
33
+ : 'border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700'
34
+ "
35
+ >
36
+ <c-icon
37
+ v-if="tab.icon"
38
+ :name="tab.icon"
39
+ class="-ml-0.5 mr-2 h-5 w-5"
40
+ :class="
41
+ activeTab == tab.name
42
+ ? 'text-indigo-700 group-hover:text-indigo-800'
43
+ : 'text-gray-400 group-hover:text-gray-500 '
44
+ "
45
+ type="solid"
46
+ ></c-icon>
47
+ <span
48
+ :class="
49
+ activeTab == tab.name
50
+ ? 'text-indigo-700'
51
+ : 'text-gray-500 hover:text-gray-700'
52
+ "
53
+ >
54
+ {{ tab.text }}
55
+ </span>
56
+ <div class="ml-2" v-if="tab.count">
57
+ <span
58
+ :class="
59
+ activeTab == tab.name
60
+ ? 'rounded-full bg-indigo-100 px-2 py-0.5 text-indigo-900'
61
+ : 'rounded-full bg-gray-100 px-2 py-0.5 text-gray-900'
62
+ "
63
+ >
64
+ {{ tab.count }}
65
+ </span>
66
+ </div>
67
+ </a>
68
+ <a
69
+ v-if="extraTabsCount > 0"
70
+ @click="handleMoreTabs"
71
+ class="group relative inline-flex cursor-pointer items-center whitespace-nowrap border-b-2 border-transparent"
72
+ ><span class="text-sm font-medium text-indigo-800 hover:underline"
73
+ >+{{ extraTabsCount }} more</span
74
+ >
75
+ <div
76
+ v-if="openDropdown"
77
+ class="absolute top-12 -left-32 z-10 w-44 rounded-md border border-gray-200 bg-white py-1 shadow-sm"
78
+ >
79
+ <p
80
+ v-for="tab in extraTabs"
81
+ :key="tab.text"
82
+ @click="handleSwitchTabs(tab.name)"
83
+ class="py-2 px-4 text-sm text-gray-500 hover:bg-gray-100 hover:text-gray-700"
84
+ >
85
+ {{ tab.text }}
86
+ </p>
87
+ </div>
88
+ </a>
89
+ </nav>
90
+ <div>
91
+ <slot name="customComp"> </slot>
92
+ </div>
93
+ </div>
94
+ </div>
95
+ <div v-for="(tab, index) in tabs" :key="index">
96
+ <div v-show="tab.name == activeTab">
97
+ <slot :name="`tab-panel-${tab.name}`"></slot>
98
+ </div>
99
+ </div>
100
+ </div>
101
+ </template>
102
+
103
+ <script>
104
+ // import CIcon from "../CIcon/CIcon.vue";
105
+ export default {
106
+ name: "CTabs",
107
+ // components: { CIcon },
108
+ props: {
109
+ tabs: {
110
+ type: Array,
111
+ required: true,
112
+ },
113
+ initialTab: {
114
+ type: String,
115
+ },
116
+ classes: {
117
+ type: String,
118
+ default: "space-x-3",
119
+ },
120
+ tabClasses: {
121
+ type: String,
122
+ },
123
+ extraTabs: {
124
+ type: Array,
125
+ },
126
+ tabsList: {
127
+ type: Array,
128
+ },
129
+ extraTabsCount: {
130
+ type: Number,
131
+ },
132
+ isExtraTabs: {
133
+ type: Boolean,
134
+ },
135
+ },
136
+ data() {
137
+ return {
138
+ activeTab: this.initialTab,
139
+ openDropdown: false,
140
+ };
141
+ },
142
+ methods: {
143
+ switchTab(tabText, type = "") {
144
+ this.activeTab = tabText;
145
+ if (type != "handler") {
146
+ this.$emit("handleTabsUpdate", tabText);
147
+ }
148
+ },
149
+ switchTabForMobile(index) {
150
+ var selectedOption = this.tabs[index];
151
+ this.activeTab = selectedOption.name;
152
+ },
153
+ handleSwitchTabs(tab) {
154
+ this.$emit("updateTabsList", tab);
155
+ this.switchTab(tab, "handler");
156
+ },
157
+ handleMoreTabs() {
158
+ this.openDropdown = !this.openDropdown;
159
+ },
160
+ },
161
+ watch: {
162
+ initialTab() {
163
+ this.activeTab = this.initialTab;
164
+ },
165
+ },
166
+ };
167
+ </script>
168
+
169
+ <style></style>
@@ -1,3 +1,3 @@
1
- import CTabs from './CTabs.vue'
2
-
1
+ import CTabs from './CTabs.vue'
2
+
3
3
  export default CTabs
@@ -1,59 +1,59 @@
1
- <template>
2
- <div>
3
- <span
4
- :class="[colorClasses, tagClasses]"
5
- class="inline-flex rounded-md px-2.5 py-0.5 text-sm leading-5"
6
- >
7
- <c-icon
8
- v-if="icon"
9
- :type="icon.type"
10
- :class="icon.class"
11
- :name="icon.name"
12
- ></c-icon>
13
- {{ label }}
14
- </span>
15
- </div>
16
- </template>
17
- <script>
18
- import CIcon from "../CIcon/CIcon.vue";
19
- export default {
20
- name: "CTag",
21
- components: { CIcon },
22
- props: {
23
- label: { type: String },
24
- color: { type: String, default: "green" },
25
- tagClasses: {
26
- type: String,
27
- },
28
- icon: {
29
- type: Object,
30
- },
31
- },
32
- computed: {
33
- colorClasses() {
34
- return {
35
- "bg-gray-50 text-gray-800 ring-1 ring-inset ring-gray-500/10":
36
- this.color == "gray",
37
- "bg-red-50 text-red-700 ring-1 ring-inset ring-red-600/10":
38
- this.color == "red",
39
- "bg-yellow-50 text-yellow-800 ring-1 ring-inset ring-yellow-600/20":
40
- this.color == "yellow",
41
- "bg-green-50 text-green-700 ring-1 ring-inset ring-green-600/20":
42
- this.color == "green",
43
- "bg-blue-50 text-blue-700 ring-1 ring-inset ring-blue-700/10":
44
- this.color == "blue",
45
- "bg-purple-50 text-purple-700 ring-1 ring-inset ring-purple-700/10":
46
- this.color == "purple",
47
- "bg-pink-50 text-pink-700 ring-1 ring-inset ring-pink-700/10":
48
- this.color == "pink",
49
- "bg-indigo-50 text-indigo-700 ring-1 ring-inset ring-indigo-700/10":
50
- this.color == "indigo",
51
- "bg-orange-50 text-orange-700 ring-1 ring-inset ring-orange-700/10":
52
- this.color == "orange",
53
- "bg-white text-gray-800 ring-1 ring-inset ring-gray-500/10":
54
- this.color == "white",
55
- };
56
- },
57
- },
58
- };
59
- </script>
1
+ <template>
2
+ <div>
3
+ <span
4
+ :class="[colorClasses, tagClasses]"
5
+ class="inline-flex rounded-md px-2.5 py-0.5 text-sm leading-5"
6
+ >
7
+ <c-icon
8
+ v-if="icon"
9
+ :type="icon.type"
10
+ :class="icon.class"
11
+ :name="icon.name"
12
+ ></c-icon>
13
+ {{ label }}
14
+ </span>
15
+ </div>
16
+ </template>
17
+ <script>
18
+ import CIcon from "../CIcon/CIcon.vue";
19
+ export default {
20
+ name: "CTag",
21
+ components: { CIcon },
22
+ props: {
23
+ label: { type: String },
24
+ color: { type: String, default: "green" },
25
+ tagClasses: {
26
+ type: String,
27
+ },
28
+ icon: {
29
+ type: Object,
30
+ },
31
+ },
32
+ computed: {
33
+ colorClasses() {
34
+ return {
35
+ "bg-gray-50 text-gray-800 ring-1 ring-inset ring-gray-500/10":
36
+ this.color == "gray",
37
+ "bg-red-50 text-red-700 ring-1 ring-inset ring-red-600/10":
38
+ this.color == "red",
39
+ "bg-yellow-50 text-yellow-800 ring-1 ring-inset ring-yellow-600/20":
40
+ this.color == "yellow",
41
+ "bg-green-50 text-green-700 ring-1 ring-inset ring-green-600/20":
42
+ this.color == "green",
43
+ "bg-blue-50 text-blue-700 ring-1 ring-inset ring-blue-700/10":
44
+ this.color == "blue",
45
+ "bg-purple-50 text-purple-700 ring-1 ring-inset ring-purple-700/10":
46
+ this.color == "purple",
47
+ "bg-pink-50 text-pink-700 ring-1 ring-inset ring-pink-700/10":
48
+ this.color == "pink",
49
+ "bg-indigo-50 text-indigo-700 ring-1 ring-inset ring-indigo-700/10":
50
+ this.color == "indigo",
51
+ "bg-orange-50 text-orange-700 ring-1 ring-inset ring-orange-700/10":
52
+ this.color == "orange",
53
+ "bg-white text-gray-800 ring-1 ring-inset ring-gray-500/10":
54
+ this.color == "white",
55
+ };
56
+ },
57
+ },
58
+ };
59
+ </script>
@@ -1,3 +1,3 @@
1
- import CTag from './CTag.vue'
2
-
1
+ import CTag from './CTag.vue'
2
+
3
3
  export default CTag