classcard-ui 0.2.989 → 0.2.990

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 (188) hide show
  1. package/README.md +24 -24
  2. package/dist/classcard-ui.common.js +59 -58
  3. package/dist/classcard-ui.common.js.map +1 -1
  4. package/dist/classcard-ui.umd.js +59 -58
  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 +136 -136
  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 +124 -124
  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 +85 -85
  43. package/src/components/CCheckbox/index.js +2 -2
  44. package/src/components/CCircularButton/CCircularButton.vue +52 -52
  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 +46 -46
  49. package/src/components/CColorDots/index.js +3 -3
  50. package/src/components/CConfirmActionModal/CConfirmActionModal.vue +171 -171
  51. package/src/components/CConfirmActionModal/index.js +3 -3
  52. package/src/components/CDatepicker/CDatepicker.vue +158 -158
  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 +77 -77
  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 +485 -479
  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/CRadio/CRadio.vue +124 -124
  89. package/src/components/CRadio/index.js +2 -2
  90. package/src/components/CRangeSlider/CRangeSlider.vue +55 -55
  91. package/src/components/CRangeSlider/index.js +2 -2
  92. package/src/components/CReorderableStackedList/CReorderableStackedList.vue +94 -94
  93. package/src/components/CReorderableStackedList/index.js +2 -2
  94. package/src/components/CSelect/CSelect.vue +417 -417
  95. package/src/components/CSelect/index.js +2 -2
  96. package/src/components/CSmallTimeline/CSmallTimeline.vue +40 -40
  97. package/src/components/CSmallTimeline/index.js +2 -2
  98. package/src/components/CStackedList/CStackedList.vue +150 -150
  99. package/src/components/CStackedList/index.js +2 -2
  100. package/src/components/CStats/CStats.vue +116 -116
  101. package/src/components/CStats/index.js +2 -2
  102. package/src/components/CSwitch/CSwitch.vue +171 -171
  103. package/src/components/CSwitch/index.js +2 -2
  104. package/src/components/CTabLazy/CTabLazy.vue +58 -58
  105. package/src/components/CTabLazy/index.js +2 -2
  106. package/src/components/CTable/CTable.vue +671 -671
  107. package/src/components/CTable/index.js +2 -2
  108. package/src/components/CTabs/CTabs.vue +125 -125
  109. package/src/components/CTabs/index.js +2 -2
  110. package/src/components/CTag/CTag.vue +59 -59
  111. package/src/components/CTag/index.js +2 -2
  112. package/src/components/CTextarea/CTextarea.vue +107 -107
  113. package/src/components/CTextarea/index.js +2 -2
  114. package/src/components/CTimeline/CTimeline.vue +237 -237
  115. package/src/components/CTimeline/index.js +2 -2
  116. package/src/components/CUpload/CUpload.vue +267 -267
  117. package/src/components/CUpload/index.js +2 -2
  118. package/src/components/index.js +52 -52
  119. package/src/icons.js +364 -364
  120. package/src/main.js +22 -22
  121. package/src/stories/CAlerts.stories.js +37 -37
  122. package/src/stories/CAnchorTabs.stories.js +29 -29
  123. package/src/stories/CAnchorTag.stories.js +36 -36
  124. package/src/stories/CAvatar.stories.js +38 -38
  125. package/src/stories/CAvatarGroup.stories.js +100 -100
  126. package/src/stories/CBasicTable.stories.js +316 -316
  127. package/src/stories/CBreadcrumbs.stories.js +24 -24
  128. package/src/stories/CButton.stories.js +47 -47
  129. package/src/stories/CButtonGroup.stories.js +33 -33
  130. package/src/stories/CButtonIcon.stories.js +27 -27
  131. package/src/stories/CButtonLink.stories.js +24 -24
  132. package/src/stories/CButtonSelect.stories.js +41 -41
  133. package/src/stories/CButtonSelectBorder.stories.js +48 -48
  134. package/src/stories/CButtonWithDropdown.stories.js +41 -41
  135. package/src/stories/CCalendar.stories.js +16 -16
  136. package/src/stories/CCard.stories.js +30 -30
  137. package/src/stories/CCheckbox.stories.js +29 -29
  138. package/src/stories/CCircularButton.stories.js +29 -29
  139. package/src/stories/CCollapsibleSection.stories.js +28 -28
  140. package/src/stories/CColorDots.stories.js +28 -28
  141. package/src/stories/CConfirmActionModal.stories.js +59 -59
  142. package/src/stories/CDatepicker.stories.js +30 -30
  143. package/src/stories/CDualSelect.stories.js +29 -29
  144. package/src/stories/CEditor.stories.js +30 -30
  145. package/src/stories/CFormSectionHeading.stories.js +34 -34
  146. package/src/stories/CGroupedSelect.stories.js +71 -71
  147. package/src/stories/CIcon.stories.js +26 -26
  148. package/src/stories/CIconDropdown.stories.js +45 -45
  149. package/src/stories/CInput.stories.js +36 -36
  150. package/src/stories/CInputAddon.stories.js +37 -37
  151. package/src/stories/CInputEmail.stories.js +27 -27
  152. package/src/stories/CInsetTabs.stories.js +38 -38
  153. package/src/stories/CModalHeading.stories.js +25 -25
  154. package/src/stories/CModuleHelpLinks.stories.js +25 -25
  155. package/src/stories/CMultiselect.stories.js +157 -157
  156. package/src/stories/CMultiselectr.stories.js +23 -23
  157. package/src/stories/CPageHeading.stories.js +32 -32
  158. package/src/stories/CPagination.stories.js +30 -30
  159. package/src/stories/CPhoneNumber.stories.js +29 -29
  160. package/src/stories/CRadio.stories.js +36 -36
  161. package/src/stories/CRangeSlider.stories.js +23 -23
  162. package/src/stories/CReorderableStackedList.stories.js +23 -23
  163. package/src/stories/CSelect.stories.js +96 -96
  164. package/src/stories/CSmallTimeline.stories.js +26 -26
  165. package/src/stories/CStackedList.stories.js +37 -37
  166. package/src/stories/CStats.stories.js +33 -33
  167. package/src/stories/CSwitch.stories.js +28 -28
  168. package/src/stories/CTabLazy.stories.js +24 -24
  169. package/src/stories/CTable.stories.js +169 -169
  170. package/src/stories/CTabs.stories.js +33 -33
  171. package/src/stories/CTag.stories.js +34 -34
  172. package/src/stories/CTextarea.stories.js +32 -32
  173. package/src/stories/CTimeline.stories.js +26 -26
  174. package/src/stories/CUpload.stories.js +36 -36
  175. package/src/stories/Introduction.stories.mdx +207 -207
  176. package/src/stories/Page.vue +88 -88
  177. package/src/stories/assets/code-brackets.svg +0 -0
  178. package/src/stories/assets/colors.svg +0 -0
  179. package/src/stories/assets/comments.svg +0 -0
  180. package/src/stories/assets/direction.svg +0 -0
  181. package/src/stories/assets/flow.svg +0 -0
  182. package/src/stories/assets/plugin.svg +0 -0
  183. package/src/stories/assets/repo.svg +0 -0
  184. package/src/stories/assets/stackalt.svg +0 -0
  185. package/src/stories/header.css +26 -26
  186. package/src/stories/page.css +69 -69
  187. package/src/stories/utils.css +17 -17
  188. package/src/.DS_Store +0 -0
@@ -1,3 +1,3 @@
1
- import CSelect from './CSelect.vue'
2
-
1
+ import CSelect from './CSelect.vue'
2
+
3
3
  export default CSelect
@@ -1,40 +1,40 @@
1
- <template>
2
- <div>
3
- <div class="flow-root">
4
- <ul>
5
- <li v-for="timeline in timelineItems" v-bind:key="timeline.label">
6
- <div class="relative pb-1">
7
- <span
8
- class="absolute left-1 top-0.5 -ml-px h-full w-0.5 bg-indigo-600"
9
- aria-hidden="true"
10
- ></span>
11
- <div class="relative ml-3">
12
- <div class="min-w-0 mb-1.5">
13
- <div>
14
- <p class="text-sm text-gray-400">
15
- {{ timeline.label }}
16
- </p>
17
- </div>
18
- <div><span class="text-sm text-gray-400">12/25</span></div>
19
- </div>
20
- </div>
21
- </div>
22
- </li>
23
- </ul>
24
- </div>
25
- </div>
26
- </template>
27
-
28
- <script>
29
- export default {
30
- name: "CSmallTimeline",
31
- props: {
32
- timelineItems: {
33
- type: Array,
34
- required: true,
35
- },
36
- },
37
- };
38
- </script>
39
-
40
- <style></style>
1
+ <template>
2
+ <div>
3
+ <div class="flow-root">
4
+ <ul>
5
+ <li v-for="timeline in timelineItems" v-bind:key="timeline.label">
6
+ <div class="relative pb-1">
7
+ <span
8
+ class="absolute left-1 top-0.5 -ml-px h-full w-0.5 bg-indigo-600"
9
+ aria-hidden="true"
10
+ ></span>
11
+ <div class="relative ml-3">
12
+ <div class="min-w-0 mb-1.5">
13
+ <div>
14
+ <p class="text-sm text-gray-400">
15
+ {{ timeline.label }}
16
+ </p>
17
+ </div>
18
+ <div><span class="text-sm text-gray-400">12/25</span></div>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ </li>
23
+ </ul>
24
+ </div>
25
+ </div>
26
+ </template>
27
+
28
+ <script>
29
+ export default {
30
+ name: "CSmallTimeline",
31
+ props: {
32
+ timelineItems: {
33
+ type: Array,
34
+ required: true,
35
+ },
36
+ },
37
+ };
38
+ </script>
39
+
40
+ <style></style>
@@ -1,3 +1,3 @@
1
- import CSmallTimeline from './CSmallTimeline.vue'
2
-
1
+ import CSmallTimeline from './CSmallTimeline.vue'
2
+
3
3
  export default CSmallTimeline
@@ -1,150 +1,150 @@
1
- <template>
2
- <div>
3
- <ul>
4
- <li
5
- v-for="items in listItems"
6
- v-bind:key="items.size"
7
- class="py-4"
8
- :class="{
9
- 'cursor-pointer': items.collapse,
10
- 'border-b border-gray-200': divider === true,
11
- }"
12
- >
13
- <div class="flex items-center justify-between">
14
- <div
15
- class="flex w-full items-center"
16
- v-on="items.collapse ? { click: () => collapseList() } : null"
17
- >
18
- <c-icon
19
- v-if="items.collapse"
20
- :name="showSection ? 'chevron-down' : 'chevron-right'"
21
- type="solid"
22
- class="mr-3 h-5 w-5 shrink-0 text-gray-900"
23
- ></c-icon>
24
-
25
- <div v-if="isIcon" class="h-full rounded-md bg-gray-100">
26
- <c-avatar
27
- v-if="items.image"
28
- :size="items.size"
29
- :rounded="items.rounded"
30
- :image="items.image"
31
- class="shrink-0"
32
- ></c-avatar>
33
- <c-icon
34
- v-else
35
- :name="icon.name"
36
- :type="icon.type"
37
- :class="icon.class"
38
- ></c-icon>
39
- </div>
40
- <div v-else-if="isCustomIcon" class="h-full">
41
- <slot name="customIcon"></slot>
42
- </div>
43
- <c-avatar
44
- v-else
45
- :size="items.size"
46
- :rounded="items.rounded"
47
- :image="items.image"
48
- class="shrink-0"
49
- ></c-avatar>
50
- <div class="ml-3 w-full">
51
- <div class="flex items-center">
52
- <p class="text-sm font-medium text-gray-900">
53
- {{ items.heading }}
54
- </p>
55
- <div
56
- v-if="items.tagLabels && items.tagLabels.length > 0"
57
- class="flex items-center"
58
- >
59
- <c-tag
60
- v-for="(tagLabel, i) in items.tagLabels"
61
- :key="i"
62
- :label="tagLabel.tagLabel"
63
- :color="tagLabel.tagColor"
64
- class="relative bottom-0.5 ml-2.5"
65
- ></c-tag>
66
- </div>
67
- <c-tag
68
- v-else-if="items.tag"
69
- :label="items.tagLabel"
70
- :color="items.tagColor"
71
- class="relative bottom-0.5 ml-2.5"
72
- ></c-tag>
73
- </div>
74
- <p v-if="items.description" class="mt-1 text-sm text-gray-500">
75
- {{ items.description }}
76
- </p>
77
- </div>
78
- </div>
79
- <button
80
- v-if="items.listIcon"
81
- type="button"
82
- :id="listId ? listId : ''"
83
- class="focus:outline-none flex h-8 w-8 items-center justify-center rounded-full text-gray-500 hover:bg-red-100 hover:text-red-800 focus:ring-2 focus:ring-red-500"
84
- @click="deleteItem"
85
- >
86
- <c-icon
87
- name="trash"
88
- type="solid"
89
- class="h-5 w-5 hover:text-red-800"
90
- ></c-icon>
91
- </button>
92
- </div>
93
- <div v-if="showSection" class="mt-3 ml-[88px]">
94
- <slot></slot>
95
- <!-- <div class="mt-2 h-40 w-full bg-gray-100">something</div> -->
96
- </div>
97
- </li>
98
- </ul>
99
- </div>
100
- </template>
101
- <script>
102
- import CAvatar from "../CAvatar/CAvatar.vue";
103
- import CTag from "../CTag/CTag.vue";
104
- import CIcon from "../CIcon/CIcon.vue";
105
- export default {
106
- name: "CStackedList",
107
- components: { CAvatar, CTag, CIcon },
108
- props: {
109
- listItems: {
110
- type: Array,
111
- required: true,
112
- },
113
- divider: {
114
- type: Boolean,
115
- default: true,
116
- },
117
- isIcon: {
118
- type: Boolean,
119
- default: false,
120
- },
121
- isCustomIcon: {
122
- type: Boolean,
123
- default: false,
124
- },
125
- listId: {
126
- type: String,
127
- },
128
- icon: {
129
- type: Object,
130
- },
131
- },
132
- data() {
133
- return {
134
- showSection: false,
135
- };
136
- },
137
- methods: {
138
- collapseList() {
139
- this.showSection = !this.showSection;
140
- },
141
- deleteItem(item) {
142
- if (this.listId) {
143
- this.$emit("delete-item", this.listId, item);
144
- } else {
145
- this.$emit("delete-item", item);
146
- }
147
- },
148
- },
149
- };
150
- </script>
1
+ <template>
2
+ <div>
3
+ <ul>
4
+ <li
5
+ v-for="items in listItems"
6
+ v-bind:key="items.size"
7
+ class="py-4"
8
+ :class="{
9
+ 'cursor-pointer': items.collapse,
10
+ 'border-b border-gray-200': divider === true,
11
+ }"
12
+ >
13
+ <div class="flex items-center justify-between">
14
+ <div
15
+ class="flex w-full items-center"
16
+ v-on="items.collapse ? { click: () => collapseList() } : null"
17
+ >
18
+ <c-icon
19
+ v-if="items.collapse"
20
+ :name="showSection ? 'chevron-down' : 'chevron-right'"
21
+ type="solid"
22
+ class="mr-3 h-5 w-5 shrink-0 text-gray-900"
23
+ ></c-icon>
24
+
25
+ <div v-if="isIcon" class="h-full rounded-md bg-gray-100">
26
+ <c-avatar
27
+ v-if="items.image"
28
+ :size="items.size"
29
+ :rounded="items.rounded"
30
+ :image="items.image"
31
+ class="shrink-0"
32
+ ></c-avatar>
33
+ <c-icon
34
+ v-else
35
+ :name="icon.name"
36
+ :type="icon.type"
37
+ :class="icon.class"
38
+ ></c-icon>
39
+ </div>
40
+ <div v-else-if="isCustomIcon" class="h-full">
41
+ <slot name="customIcon"></slot>
42
+ </div>
43
+ <c-avatar
44
+ v-else
45
+ :size="items.size"
46
+ :rounded="items.rounded"
47
+ :image="items.image"
48
+ class="shrink-0"
49
+ ></c-avatar>
50
+ <div class="ml-3 w-full">
51
+ <div class="flex items-center">
52
+ <p class="text-sm font-medium text-gray-900">
53
+ {{ items.heading }}
54
+ </p>
55
+ <div
56
+ v-if="items.tagLabels && items.tagLabels.length > 0"
57
+ class="flex items-center"
58
+ >
59
+ <c-tag
60
+ v-for="(tagLabel, i) in items.tagLabels"
61
+ :key="i"
62
+ :label="tagLabel.tagLabel"
63
+ :color="tagLabel.tagColor"
64
+ class="relative bottom-0.5 ml-2.5"
65
+ ></c-tag>
66
+ </div>
67
+ <c-tag
68
+ v-else-if="items.tag"
69
+ :label="items.tagLabel"
70
+ :color="items.tagColor"
71
+ class="relative bottom-0.5 ml-2.5"
72
+ ></c-tag>
73
+ </div>
74
+ <p v-if="items.description" class="mt-1 text-sm text-gray-500">
75
+ {{ items.description }}
76
+ </p>
77
+ </div>
78
+ </div>
79
+ <button
80
+ v-if="items.listIcon"
81
+ type="button"
82
+ :id="listId ? listId : ''"
83
+ class="focus:outline-none flex h-8 w-8 items-center justify-center rounded-full text-gray-500 hover:bg-red-100 hover:text-red-800 focus:ring-2 focus:ring-red-500"
84
+ @click="deleteItem"
85
+ >
86
+ <c-icon
87
+ name="trash"
88
+ type="solid"
89
+ class="h-5 w-5 hover:text-red-800"
90
+ ></c-icon>
91
+ </button>
92
+ </div>
93
+ <div v-if="showSection" class="mt-3 ml-[88px]">
94
+ <slot></slot>
95
+ <!-- <div class="mt-2 h-40 w-full bg-gray-100">something</div> -->
96
+ </div>
97
+ </li>
98
+ </ul>
99
+ </div>
100
+ </template>
101
+ <script>
102
+ import CAvatar from "../CAvatar/CAvatar.vue";
103
+ import CTag from "../CTag/CTag.vue";
104
+ import CIcon from "../CIcon/CIcon.vue";
105
+ export default {
106
+ name: "CStackedList",
107
+ components: { CAvatar, CTag, CIcon },
108
+ props: {
109
+ listItems: {
110
+ type: Array,
111
+ required: true,
112
+ },
113
+ divider: {
114
+ type: Boolean,
115
+ default: true,
116
+ },
117
+ isIcon: {
118
+ type: Boolean,
119
+ default: false,
120
+ },
121
+ isCustomIcon: {
122
+ type: Boolean,
123
+ default: false,
124
+ },
125
+ listId: {
126
+ type: String,
127
+ },
128
+ icon: {
129
+ type: Object,
130
+ },
131
+ },
132
+ data() {
133
+ return {
134
+ showSection: false,
135
+ };
136
+ },
137
+ methods: {
138
+ collapseList() {
139
+ this.showSection = !this.showSection;
140
+ },
141
+ deleteItem(item) {
142
+ if (this.listId) {
143
+ this.$emit("delete-item", this.listId, item);
144
+ } else {
145
+ this.$emit("delete-item", item);
146
+ }
147
+ },
148
+ },
149
+ };
150
+ </script>
@@ -1,3 +1,3 @@
1
- import CStackedList from './CStackedList.vue'
2
-
1
+ import CStackedList from './CStackedList.vue'
2
+
3
3
  export default CStackedList
@@ -1,116 +1,116 @@
1
- <template>
2
- <!-- <div>
3
- <dl class="mt-5 sm:flex sm:flex-col md:flex md:flex-row justify-between">
4
- <div
5
- :class="index == statsCount.length - 1 ? '' : 'mr-2'"
6
- class="bg-white w-full overflow-hidden shadow rounded-lg"
7
- v-for="(count, index) in statsCount"
8
- v-bind:key="count.number"
9
- >
10
- <div class="px-4 pt-3 pb-1 flex">
11
- <c-icon
12
- v-if="count.icon"
13
- :name="count.icon.name"
14
- :type="count.icon.type"
15
- :class="count.icon.class"
16
- ></c-icon>
17
- <div :class="count.icon ? 'ml-3' : ''">
18
- <dt class="text-sm text-gray-500 flex">
19
- <span>{{ count.label }}</span>
20
- <span class="text-sm text-gray-900 ml-1">{{ count.number }}</span>
21
- </dt>
22
- <dd class="text-2xl font-semibold text-gray-900">
23
- {{ count.totalCount }}
24
- </dd>
25
- </div>
26
- </div>
27
- <div class="ml-12 pb-2 flex items-center" v-if="count.tag || count.days">
28
- <c-tag v-if="count.tag" :label="count.tag.label" :color="count.tag.color"></c-tag>
29
- <label v-if="count.days" class="text-xs text-gray-500 ml-1">{{ count.days }}</label>
30
- </div>
31
- </div>
32
- </dl>
33
- </div> -->
34
- <!-- This example requires Tailwind CSS v2.0+ -->
35
- <div>
36
- <div class="flex items-center justify-between" v-if="title">
37
- <h3 class="text-lg font-medium leading-6 text-gray-900">
38
- {{ title.heading }}
39
- </h3>
40
- <c-tag
41
- v-if="title.label"
42
- class="hidden sm:block"
43
- :label="title.label"
44
- color="green"
45
- ></c-tag>
46
- </div>
47
- <dl
48
- :class="`mt-4 grid grid-cols-1 divide-y ${
49
- colorClasses ? colorClasses.divide : 'divide-gray-200'
50
- } overflow-hidden rounded-lg ${
51
- colorClasses ? colorClasses.background : 'bg-gray-100'
52
- } md:grid-cols-3 md:divide-y-0 md:divide-x`"
53
- >
54
- <div
55
- class="px-4 py-5 sm:p-6"
56
- v-for="count in statsCount"
57
- v-bind:key="count.number"
58
- >
59
- <div
60
- class="flex items-end justify-between md:flex-col md:items-start md:justify-center lg:flex-row lg:items-end lg:justify-between"
61
- >
62
- <div>
63
- <dt class="flex text-sm text-gray-500">
64
- <span>{{ count.label }}</span>
65
- <span v-if="count.number" class="ml-1 text-sm text-gray-900">{{
66
- count.number
67
- }}</span>
68
- <span v-if="count.suffix" class="ml-1 text-sm text-gray-900"
69
- >({{ count.suffix }})</span
70
- >
71
- </dt>
72
- <div class="mt-1 flex items-baseline justify-start">
73
- <p :class="`text-2xl font-semibold ${fontColor}`">
74
- {{ count.totalCount }}
75
- </p>
76
- <label v-if="count.days" class="ml-2 text-xs text-gray-500">{{
77
- count.days
78
- }}</label>
79
- </div>
80
- </div>
81
- <c-tag
82
- v-if="count.tag"
83
- :label="count.tag.label"
84
- :color="count.tag.color"
85
- tagClasses="rounded-full text-xs"
86
- ></c-tag>
87
- </div>
88
- </div>
89
- </dl>
90
- </div>
91
- </template>
92
-
93
- <script>
94
- import CTag from "../CTag/CTag.vue";
95
- export default {
96
- name: "CStats",
97
- components: { CTag },
98
- props: {
99
- statsCount: {
100
- type: Array,
101
- },
102
- title: {
103
- type: Object,
104
- },
105
- fontColor: {
106
- type: String,
107
- default: "text-gray-900",
108
- },
109
- colorClasses: {
110
- type: Object,
111
- },
112
- },
113
- };
114
- </script>
115
-
116
- <style></style>
1
+ <template>
2
+ <!-- <div>
3
+ <dl class="mt-5 sm:flex sm:flex-col md:flex md:flex-row justify-between">
4
+ <div
5
+ :class="index == statsCount.length - 1 ? '' : 'mr-2'"
6
+ class="bg-white w-full overflow-hidden shadow rounded-lg"
7
+ v-for="(count, index) in statsCount"
8
+ v-bind:key="count.number"
9
+ >
10
+ <div class="px-4 pt-3 pb-1 flex">
11
+ <c-icon
12
+ v-if="count.icon"
13
+ :name="count.icon.name"
14
+ :type="count.icon.type"
15
+ :class="count.icon.class"
16
+ ></c-icon>
17
+ <div :class="count.icon ? 'ml-3' : ''">
18
+ <dt class="text-sm text-gray-500 flex">
19
+ <span>{{ count.label }}</span>
20
+ <span class="text-sm text-gray-900 ml-1">{{ count.number }}</span>
21
+ </dt>
22
+ <dd class="text-2xl font-semibold text-gray-900">
23
+ {{ count.totalCount }}
24
+ </dd>
25
+ </div>
26
+ </div>
27
+ <div class="ml-12 pb-2 flex items-center" v-if="count.tag || count.days">
28
+ <c-tag v-if="count.tag" :label="count.tag.label" :color="count.tag.color"></c-tag>
29
+ <label v-if="count.days" class="text-xs text-gray-500 ml-1">{{ count.days }}</label>
30
+ </div>
31
+ </div>
32
+ </dl>
33
+ </div> -->
34
+ <!-- This example requires Tailwind CSS v2.0+ -->
35
+ <div>
36
+ <div class="flex items-center justify-between" v-if="title">
37
+ <h3 class="text-lg font-medium leading-6 text-gray-900">
38
+ {{ title.heading }}
39
+ </h3>
40
+ <c-tag
41
+ v-if="title.label"
42
+ class="hidden sm:block"
43
+ :label="title.label"
44
+ color="green"
45
+ ></c-tag>
46
+ </div>
47
+ <dl
48
+ :class="`mt-4 grid grid-cols-1 divide-y ${
49
+ colorClasses ? colorClasses.divide : 'divide-gray-200'
50
+ } overflow-hidden rounded-lg ${
51
+ colorClasses ? colorClasses.background : 'bg-gray-100'
52
+ } md:grid-cols-3 md:divide-y-0 md:divide-x`"
53
+ >
54
+ <div
55
+ class="px-4 py-5 sm:p-6"
56
+ v-for="count in statsCount"
57
+ v-bind:key="count.number"
58
+ >
59
+ <div
60
+ class="flex items-end justify-between md:flex-col md:items-start md:justify-center lg:flex-row lg:items-end lg:justify-between"
61
+ >
62
+ <div>
63
+ <dt class="flex text-sm text-gray-500">
64
+ <span>{{ count.label }}</span>
65
+ <span v-if="count.number" class="ml-1 text-sm text-gray-900">{{
66
+ count.number
67
+ }}</span>
68
+ <span v-if="count.suffix" class="ml-1 text-sm text-gray-900"
69
+ >({{ count.suffix }})</span
70
+ >
71
+ </dt>
72
+ <div class="mt-1 flex items-baseline justify-start">
73
+ <p :class="`text-2xl font-semibold ${fontColor}`">
74
+ {{ count.totalCount }}
75
+ </p>
76
+ <label v-if="count.days" class="ml-2 text-xs text-gray-500">{{
77
+ count.days
78
+ }}</label>
79
+ </div>
80
+ </div>
81
+ <c-tag
82
+ v-if="count.tag"
83
+ :label="count.tag.label"
84
+ :color="count.tag.color"
85
+ tagClasses="rounded-full text-xs"
86
+ ></c-tag>
87
+ </div>
88
+ </div>
89
+ </dl>
90
+ </div>
91
+ </template>
92
+
93
+ <script>
94
+ import CTag from "../CTag/CTag.vue";
95
+ export default {
96
+ name: "CStats",
97
+ components: { CTag },
98
+ props: {
99
+ statsCount: {
100
+ type: Array,
101
+ },
102
+ title: {
103
+ type: Object,
104
+ },
105
+ fontColor: {
106
+ type: String,
107
+ default: "text-gray-900",
108
+ },
109
+ colorClasses: {
110
+ type: Object,
111
+ },
112
+ },
113
+ };
114
+ </script>
115
+
116
+ <style></style>
@@ -1,3 +1,3 @@
1
- import CStats from './CStats.vue'
2
-
1
+ import CStats from './CStats.vue'
2
+
3
3
  export default CStats