classcard-ui 0.2.985 → 0.2.986

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 +70 -58
  3. package/dist/classcard-ui.common.js.map +1 -1
  4. package/dist/classcard-ui.umd.js +70 -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/.DS_Store +0 -0
  10. package/src/App.vue +16 -16
  11. package/src/components/CAlerts/CAlerts.vue +70 -70
  12. package/src/components/CAlerts/index.js +2 -2
  13. package/src/components/CAnchorTabs/CAnchorTabs.vue +96 -96
  14. package/src/components/CAnchorTabs/index.js +2 -2
  15. package/src/components/CAnchorTag/CAnchorTag.vue +62 -62
  16. package/src/components/CAnchorTag/index.js +2 -2
  17. package/src/components/CAvatar/CAvatar.vue +136 -136
  18. package/src/components/CAvatar/index.js +2 -2
  19. package/src/components/CAvatarGroup/CAvatarGroup.vue +145 -145
  20. package/src/components/CAvatarGroup/index.js +2 -2
  21. package/src/components/CBasicTable/CBasicTable.vue +184 -184
  22. package/src/components/CBasicTable/index.js +2 -2
  23. package/src/components/CBreadcrumbs/CBreadcrumbs.vue +38 -38
  24. package/src/components/CBreadcrumbs/index.js +2 -2
  25. package/src/components/CButton/CButton.vue +152 -152
  26. package/src/components/CButton/index.js +2 -2
  27. package/src/components/CButtonGroup/CButtonGroup.vue +118 -118
  28. package/src/components/CButtonGroup/index.js +2 -2
  29. package/src/components/CButtonIcon/CButtonIcon.vue +117 -117
  30. package/src/components/CButtonIcon/index.js +2 -2
  31. package/src/components/CButtonLink/CButtonLink.vue +39 -39
  32. package/src/components/CButtonLink/index.js +2 -2
  33. package/src/components/CButtonSelect/CButtonSelect.vue +124 -124
  34. package/src/components/CButtonSelect/index.js +2 -2
  35. package/src/components/CButtonSelectBorder/CButtonSelectBorder.vue +135 -135
  36. package/src/components/CButtonSelectBorder/index.js +3 -3
  37. package/src/components/CButtonWithDropdown/CButtonWithDropdown.vue +135 -135
  38. package/src/components/CButtonWithDropdown/index.js +2 -2
  39. package/src/components/CCalendar/CCalendar.vue +410 -410
  40. package/src/components/CCalendar/index.js +3 -3
  41. package/src/components/CCard/CCard.vue +49 -49
  42. package/src/components/CCard/index.js +2 -2
  43. package/src/components/CCheckbox/CCheckbox.vue +85 -85
  44. package/src/components/CCheckbox/index.js +2 -2
  45. package/src/components/CCircularButton/CCircularButton.vue +52 -52
  46. package/src/components/CCircularButton/index.js +2 -2
  47. package/src/components/CCollapsibleSection/CCollapsibleSection.vue +101 -101
  48. package/src/components/CCollapsibleSection/index.js +2 -2
  49. package/src/components/CColorDots/CColorDots.vue +46 -46
  50. package/src/components/CColorDots/index.js +3 -3
  51. package/src/components/CConfirmActionModal/CConfirmActionModal.vue +171 -171
  52. package/src/components/CConfirmActionModal/index.js +3 -3
  53. package/src/components/CDatepicker/CDatepicker.vue +158 -158
  54. package/src/components/CDatepicker/index.js +2 -2
  55. package/src/components/CDualSelect/CDualSelect.vue +193 -193
  56. package/src/components/CDualSelect/index.js +2 -2
  57. package/src/components/CEditor/CEditor.vue +98 -98
  58. package/src/components/CEditor/index.js +2 -2
  59. package/src/components/CFormSectionHeading/CFormSectionHeading.vue +53 -53
  60. package/src/components/CFormSectionHeading/index.js +2 -2
  61. package/src/components/CGroupedSelect/CGroupedSelect.vue +245 -245
  62. package/src/components/CGroupedSelect/index.js +3 -3
  63. package/src/components/CIcon/CIcon.vue +77 -77
  64. package/src/components/CIcon/index.js +2 -2
  65. package/src/components/CIconDropdown/CIconDropdown.vue +131 -120
  66. package/src/components/CIconDropdown/index.js +2 -2
  67. package/src/components/CInput/CInput.vue +134 -134
  68. package/src/components/CInput/index.js +2 -2
  69. package/src/components/CInputAddon/CInputAddon.vue +228 -228
  70. package/src/components/CInputAddon/index.js +2 -2
  71. package/src/components/CInputEmail/CInputEmail.vue +93 -93
  72. package/src/components/CInputEmail/index.js +2 -2
  73. package/src/components/CInsetTabs/CInsetTabs.vue +88 -88
  74. package/src/components/CInsetTabs/index.js +3 -3
  75. package/src/components/CModalHeading/CModalHeading.vue +22 -22
  76. package/src/components/CModalHeading/index.js +2 -2
  77. package/src/components/CModuleHelpLinks/CModuleHelpLinks.vue +70 -70
  78. package/src/components/CModuleHelpLinks/index.js +3 -3
  79. package/src/components/CMultiselect/CMultiselect.vue +479 -479
  80. package/src/components/CMultiselect/index.js +2 -2
  81. package/src/components/CMultiselectr/CMultiselectr.vue +44 -44
  82. package/src/components/CMultiselectr/index.js +2 -2
  83. package/src/components/CPageHeading/CPageHeading.vue +56 -56
  84. package/src/components/CPageHeading/index.js +2 -2
  85. package/src/components/CPagination/CPagination.vue +233 -233
  86. package/src/components/CPagination/index.js +2 -2
  87. package/src/components/CPhoneNumber/CPhoneNumber.vue +114 -114
  88. package/src/components/CPhoneNumber/index.js +2 -2
  89. package/src/components/CRadio/CRadio.vue +124 -124
  90. package/src/components/CRadio/index.js +2 -2
  91. package/src/components/CRangeSlider/CRangeSlider.vue +55 -55
  92. package/src/components/CRangeSlider/index.js +2 -2
  93. package/src/components/CReorderableStackedList/CReorderableStackedList.vue +94 -94
  94. package/src/components/CReorderableStackedList/index.js +2 -2
  95. package/src/components/CSelect/CSelect.vue +417 -417
  96. package/src/components/CSelect/index.js +2 -2
  97. package/src/components/CSmallTimeline/CSmallTimeline.vue +40 -40
  98. package/src/components/CSmallTimeline/index.js +2 -2
  99. package/src/components/CStackedList/CStackedList.vue +150 -150
  100. package/src/components/CStackedList/index.js +2 -2
  101. package/src/components/CStats/CStats.vue +116 -116
  102. package/src/components/CStats/index.js +2 -2
  103. package/src/components/CSwitch/CSwitch.vue +171 -171
  104. package/src/components/CSwitch/index.js +2 -2
  105. package/src/components/CTabLazy/CTabLazy.vue +58 -58
  106. package/src/components/CTabLazy/index.js +2 -2
  107. package/src/components/CTable/CTable.vue +671 -671
  108. package/src/components/CTable/index.js +2 -2
  109. package/src/components/CTabs/CTabs.vue +125 -125
  110. package/src/components/CTabs/index.js +2 -2
  111. package/src/components/CTag/CTag.vue +59 -59
  112. package/src/components/CTag/index.js +2 -2
  113. package/src/components/CTextarea/CTextarea.vue +107 -107
  114. package/src/components/CTextarea/index.js +2 -2
  115. package/src/components/CTimeline/CTimeline.vue +237 -237
  116. package/src/components/CTimeline/index.js +2 -2
  117. package/src/components/CUpload/CUpload.vue +267 -267
  118. package/src/components/CUpload/index.js +2 -2
  119. package/src/components/index.js +52 -52
  120. package/src/icons.js +364 -364
  121. package/src/main.js +22 -22
  122. package/src/stories/CAlerts.stories.js +37 -37
  123. package/src/stories/CAnchorTabs.stories.js +29 -29
  124. package/src/stories/CAnchorTag.stories.js +36 -36
  125. package/src/stories/CAvatar.stories.js +38 -38
  126. package/src/stories/CAvatarGroup.stories.js +100 -100
  127. package/src/stories/CBasicTable.stories.js +316 -316
  128. package/src/stories/CBreadcrumbs.stories.js +24 -24
  129. package/src/stories/CButton.stories.js +47 -47
  130. package/src/stories/CButtonGroup.stories.js +33 -33
  131. package/src/stories/CButtonIcon.stories.js +27 -27
  132. package/src/stories/CButtonLink.stories.js +24 -24
  133. package/src/stories/CButtonSelect.stories.js +41 -41
  134. package/src/stories/CButtonSelectBorder.stories.js +48 -48
  135. package/src/stories/CButtonWithDropdown.stories.js +41 -41
  136. package/src/stories/CCalendar.stories.js +16 -16
  137. package/src/stories/CCard.stories.js +30 -30
  138. package/src/stories/CCheckbox.stories.js +29 -29
  139. package/src/stories/CCircularButton.stories.js +29 -29
  140. package/src/stories/CCollapsibleSection.stories.js +28 -28
  141. package/src/stories/CColorDots.stories.js +28 -28
  142. package/src/stories/CConfirmActionModal.stories.js +59 -59
  143. package/src/stories/CDatepicker.stories.js +30 -30
  144. package/src/stories/CDualSelect.stories.js +29 -29
  145. package/src/stories/CEditor.stories.js +30 -30
  146. package/src/stories/CFormSectionHeading.stories.js +34 -34
  147. package/src/stories/CGroupedSelect.stories.js +71 -71
  148. package/src/stories/CIcon.stories.js +26 -26
  149. package/src/stories/CIconDropdown.stories.js +45 -45
  150. package/src/stories/CInput.stories.js +36 -36
  151. package/src/stories/CInputAddon.stories.js +37 -37
  152. package/src/stories/CInputEmail.stories.js +27 -27
  153. package/src/stories/CInsetTabs.stories.js +38 -38
  154. package/src/stories/CModalHeading.stories.js +25 -25
  155. package/src/stories/CModuleHelpLinks.stories.js +25 -25
  156. package/src/stories/CMultiselect.stories.js +157 -157
  157. package/src/stories/CMultiselectr.stories.js +23 -23
  158. package/src/stories/CPageHeading.stories.js +32 -32
  159. package/src/stories/CPagination.stories.js +30 -30
  160. package/src/stories/CPhoneNumber.stories.js +29 -29
  161. package/src/stories/CRadio.stories.js +36 -36
  162. package/src/stories/CRangeSlider.stories.js +23 -23
  163. package/src/stories/CReorderableStackedList.stories.js +23 -23
  164. package/src/stories/CSelect.stories.js +96 -96
  165. package/src/stories/CSmallTimeline.stories.js +26 -26
  166. package/src/stories/CStackedList.stories.js +37 -37
  167. package/src/stories/CStats.stories.js +33 -33
  168. package/src/stories/CSwitch.stories.js +28 -28
  169. package/src/stories/CTabLazy.stories.js +24 -24
  170. package/src/stories/CTable.stories.js +169 -169
  171. package/src/stories/CTabs.stories.js +33 -33
  172. package/src/stories/CTag.stories.js +34 -34
  173. package/src/stories/CTextarea.stories.js +32 -32
  174. package/src/stories/CTimeline.stories.js +26 -26
  175. package/src/stories/CUpload.stories.js +36 -36
  176. package/src/stories/Introduction.stories.mdx +207 -207
  177. package/src/stories/Page.vue +88 -88
  178. package/src/stories/assets/code-brackets.svg +0 -0
  179. package/src/stories/assets/colors.svg +0 -0
  180. package/src/stories/assets/comments.svg +0 -0
  181. package/src/stories/assets/direction.svg +0 -0
  182. package/src/stories/assets/flow.svg +0 -0
  183. package/src/stories/assets/plugin.svg +0 -0
  184. package/src/stories/assets/repo.svg +0 -0
  185. package/src/stories/assets/stackalt.svg +0 -0
  186. package/src/stories/header.css +26 -26
  187. package/src/stories/page.css +69 -69
  188. package/src/stories/utils.css +17 -17
@@ -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