classcard-ui 0.2.671 → 0.2.689

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 (173) hide show
  1. package/dist/classcard-ui.common.js +48 -48
  2. package/dist/classcard-ui.common.js.map +1 -1
  3. package/dist/classcard-ui.umd.js +48 -48
  4. package/dist/classcard-ui.umd.js.map +1 -1
  5. package/dist/classcard-ui.umd.min.js.map +1 -1
  6. package/package.json +3 -2
  7. package/src/App.vue +16 -0
  8. package/src/components/CAlerts/CAlerts.vue +70 -0
  9. package/src/components/CAlerts/index.js +3 -0
  10. package/src/components/CAnchorTabs/CAnchorTabs.vue +96 -0
  11. package/src/components/CAnchorTabs/index.js +3 -0
  12. package/src/components/CAnchorTag/CAnchorTag.vue +62 -0
  13. package/src/components/CAnchorTag/index.js +3 -0
  14. package/src/components/CAvatar/CAvatar.vue +112 -0
  15. package/src/components/CAvatar/index.js +3 -0
  16. package/src/components/CAvatarGroup/CAvatarGroup.vue +145 -0
  17. package/src/components/CAvatarGroup/index.js +3 -0
  18. package/src/components/CBasicTable/CBasicTable.vue +184 -0
  19. package/src/components/CBasicTable/index.js +3 -0
  20. package/src/components/CBreadcrumbs/CBreadcrumbs.vue +38 -0
  21. package/src/components/CBreadcrumbs/index.js +3 -0
  22. package/src/components/CButton/CButton.vue +147 -0
  23. package/src/components/CButton/index.js +3 -0
  24. package/src/components/CButtonGroup/CButtonGroup.vue +116 -0
  25. package/src/components/CButtonGroup/index.js +3 -0
  26. package/src/components/CButtonIcon/CButtonIcon.vue +91 -0
  27. package/src/components/CButtonIcon/index.js +3 -0
  28. package/src/components/CButtonLink/CButtonLink.vue +39 -0
  29. package/src/components/CButtonLink/index.js +3 -0
  30. package/src/components/CButtonSelect/CButtonSelect.vue +103 -0
  31. package/src/components/CButtonSelect/index.js +3 -0
  32. package/src/components/CButtonWithDropdown/CButtonWithDropdown.vue +168 -0
  33. package/src/components/CButtonWithDropdown/index.js +3 -0
  34. package/src/components/CCalendar/CCalendar.vue +401 -0
  35. package/src/components/CCalendar/index.js +3 -0
  36. package/src/components/CCard/CCard.vue +49 -0
  37. package/src/components/CCard/index.js +3 -0
  38. package/src/components/CCheckbox/CCheckbox.vue +70 -0
  39. package/src/components/CCheckbox/index.js +3 -0
  40. package/src/components/CCollapsibleSection/CCollapsibleSection.vue +99 -0
  41. package/src/components/CCollapsibleSection/index.js +3 -0
  42. package/src/components/CColorDots/CColorDots.vue +35 -0
  43. package/src/components/CColorDots/index.js +3 -0
  44. package/src/components/CConfirmActionModal/CConfirmActionModal.vue +120 -0
  45. package/src/components/CConfirmActionModal/index.js +3 -0
  46. package/src/components/CDatepicker/CDatepicker.vue +139 -0
  47. package/src/components/CDatepicker/index.js +3 -0
  48. package/src/components/CDualSelect/CDualSelect.vue +193 -0
  49. package/src/components/CDualSelect/index.js +3 -0
  50. package/src/components/CEditor/CEditor.vue +96 -0
  51. package/src/components/CEditor/index.js +3 -0
  52. package/src/components/CFormSectionHeading/CFormSectionHeading.vue +53 -0
  53. package/src/components/CFormSectionHeading/index.js +3 -0
  54. package/src/components/CGroupedSelect/CGroupedSelect.vue +217 -0
  55. package/src/components/CGroupedSelect/index.js +3 -0
  56. package/src/components/CIcon/CIcon.vue +77 -0
  57. package/src/components/CIcon/index.js +3 -0
  58. package/src/components/CIconDropdown/CIconDropdown.vue +111 -0
  59. package/src/components/CIconDropdown/index.js +3 -0
  60. package/src/components/CInput/CInput.vue +120 -0
  61. package/src/components/CInput/index.js +3 -0
  62. package/src/components/CInputAddon/CInputAddon.vue +202 -0
  63. package/src/components/CInputAddon/index.js +3 -0
  64. package/src/components/CInputEmail/CInputEmail.vue +93 -0
  65. package/src/components/CInputEmail/index.js +3 -0
  66. package/src/components/CModalHeading/CModalHeading.vue +22 -0
  67. package/src/components/CModalHeading/index.js +3 -0
  68. package/src/components/CModuleHelpLinks/CModuleHelpLinks.vue +39 -0
  69. package/src/components/CModuleHelpLinks/index.js +3 -0
  70. package/src/components/CMultiselect/CMultiselect.vue +333 -0
  71. package/src/components/CMultiselect/index.js +3 -0
  72. package/src/components/CMultiselectr/CMultiselectr.vue +44 -0
  73. package/src/components/CMultiselectr/index.js +3 -0
  74. package/src/components/CPageHeading/CPageHeading.vue +56 -0
  75. package/src/components/CPageHeading/index.js +3 -0
  76. package/src/components/CPagination/CPagination.vue +202 -0
  77. package/src/components/CPagination/index.js +3 -0
  78. package/src/components/CPhoneNumber/CPhoneNumber.vue +81 -0
  79. package/src/components/CPhoneNumber/index.js +3 -0
  80. package/src/components/CRadio/CRadio.vue +106 -0
  81. package/src/components/CRadio/index.js +3 -0
  82. package/src/components/CRangeSlider/CRangeSlider.vue +55 -0
  83. package/src/components/CRangeSlider/index.js +3 -0
  84. package/src/components/CReorderableStackedList/CReorderableStackedList.vue +94 -0
  85. package/src/components/CReorderableStackedList/index.js +3 -0
  86. package/src/components/CSelect/CSelect.vue +343 -0
  87. package/src/components/CSelect/index.js +3 -0
  88. package/src/components/CSmallTimeline/CSmallTimeline.vue +40 -0
  89. package/src/components/CSmallTimeline/index.js +3 -0
  90. package/src/components/CStackedList/CStackedList.vue +132 -0
  91. package/src/components/CStackedList/index.js +3 -0
  92. package/src/components/CStats/CStats.vue +111 -0
  93. package/src/components/CStats/index.js +3 -0
  94. package/src/components/CSwitch/CSwitch.vue +140 -0
  95. package/src/components/CSwitch/index.js +3 -0
  96. package/src/components/CTable/CTable.vue +536 -0
  97. package/src/components/CTable/index.js +3 -0
  98. package/src/components/CTabs/CTabs.vue +111 -0
  99. package/src/components/CTabs/index.js +3 -0
  100. package/src/components/CTag/CTag.vue +36 -0
  101. package/src/components/CTag/index.js +3 -0
  102. package/src/components/CTextarea/CTextarea.vue +95 -0
  103. package/src/components/CTextarea/index.js +3 -0
  104. package/src/components/CTimeline/CTimeline.vue +237 -0
  105. package/src/components/CTimeline/index.js +3 -0
  106. package/src/components/CUpload/CUpload.vue +231 -0
  107. package/src/components/CUpload/index.js +3 -0
  108. package/src/components/index.js +48 -0
  109. package/src/icons.js +275 -0
  110. package/src/main.js +22 -0
  111. package/src/stories/CAlerts.stories.js +37 -0
  112. package/src/stories/CAnchorTabs.stories.js +29 -0
  113. package/src/stories/CAnchorTag.stories.js +36 -0
  114. package/src/stories/CAvatar.stories.js +38 -0
  115. package/src/stories/CAvatarGroup.stories.js +100 -0
  116. package/src/stories/CBasicTable.stories.js +316 -0
  117. package/src/stories/CBreadcrumbs.stories.js +24 -0
  118. package/src/stories/CButton.stories.js +46 -0
  119. package/src/stories/CButtonGroup.stories.js +33 -0
  120. package/src/stories/CButtonIcon.stories.js +27 -0
  121. package/src/stories/CButtonLink.stories.js +24 -0
  122. package/src/stories/CButtonSelect.stories.js +32 -0
  123. package/src/stories/CButtonWithDropdown.stories.js +41 -0
  124. package/src/stories/CCalendar.stories.js +16 -0
  125. package/src/stories/CCard.stories.js +30 -0
  126. package/src/stories/CCheckbox.stories.js +29 -0
  127. package/src/stories/CCollapsibleSection.stories.js +28 -0
  128. package/src/stories/CColorDots.stories.js +28 -0
  129. package/src/stories/CConfirmActionModal.stories.js +59 -0
  130. package/src/stories/CDatepicker.stories.js +30 -0
  131. package/src/stories/CDualSelect.stories.js +29 -0
  132. package/src/stories/CEditor.stories.js +30 -0
  133. package/src/stories/CFormSectionHeading.stories.js +34 -0
  134. package/src/stories/CGroupedSelect.stories.js +69 -0
  135. package/src/stories/CIcon.stories.js +26 -0
  136. package/src/stories/CIconDropdown.stories.js +40 -0
  137. package/src/stories/CInput.stories.js +36 -0
  138. package/src/stories/CInputAddon.stories.js +37 -0
  139. package/src/stories/CInputEmail.stories.js +27 -0
  140. package/src/stories/CModalHeading.stories.js +25 -0
  141. package/src/stories/CModuleHelpLinks.stories.js +25 -0
  142. package/src/stories/CMultiselect.stories.js +97 -0
  143. package/src/stories/CMultiselectr.stories.js +23 -0
  144. package/src/stories/CPageHeading.stories.js +32 -0
  145. package/src/stories/CPagination.stories.js +30 -0
  146. package/src/stories/CPhoneNumber.stories.js +29 -0
  147. package/src/stories/CRadio.stories.js +36 -0
  148. package/src/stories/CRangeSlider.stories.js +23 -0
  149. package/src/stories/CReorderableStackedList.stories.js +23 -0
  150. package/src/stories/CSelect.stories.js +50 -0
  151. package/src/stories/CSmallTimeline.stories.js +26 -0
  152. package/src/stories/CStackedList.stories.js +37 -0
  153. package/src/stories/CStats.stories.js +33 -0
  154. package/src/stories/CSwitch.stories.js +28 -0
  155. package/src/stories/CTable.stories.js +77 -0
  156. package/src/stories/CTabs.stories.js +33 -0
  157. package/src/stories/CTag.stories.js +23 -0
  158. package/src/stories/CTextarea.stories.js +32 -0
  159. package/src/stories/CTimeline.stories.js +26 -0
  160. package/src/stories/CUpload.stories.js +36 -0
  161. package/src/stories/Introduction.stories.mdx +207 -0
  162. package/src/stories/Page.vue +88 -0
  163. package/src/stories/assets/code-brackets.svg +1 -0
  164. package/src/stories/assets/colors.svg +1 -0
  165. package/src/stories/assets/comments.svg +1 -0
  166. package/src/stories/assets/direction.svg +1 -0
  167. package/src/stories/assets/flow.svg +1 -0
  168. package/src/stories/assets/plugin.svg +1 -0
  169. package/src/stories/assets/repo.svg +1 -0
  170. package/src/stories/assets/stackalt.svg +1 -0
  171. package/src/stories/header.css +26 -0
  172. package/src/stories/page.css +69 -0
  173. package/src/stories/utils.css +18 -0
@@ -0,0 +1,316 @@
1
+ import CBasicTable from "../components/CBasicTable/CBasicTable.vue";
2
+ import "./utils.css";
3
+
4
+ export default {
5
+ title: "CBasicTable",
6
+ component: CBasicTable,
7
+ argTypes: {
8
+ columnData: { control: { type: "object" } },
9
+ rowRecords: { type: Array },
10
+ enableSelection: Boolean,
11
+ },
12
+ };
13
+
14
+ const Template = (args, { argTypes }) => ({
15
+ props: Object.keys(argTypes),
16
+ components: { CBasicTable },
17
+ template: '<c-basic-table v-bind="$props" />',
18
+ });
19
+
20
+ export const Default = Template.bind({});
21
+ Default.args = {
22
+ enableSelection: true,
23
+ selectedRow: false,
24
+ disabledRow: true,
25
+ columnData: ["Name", "Amount", "Title", "Role", "", "", "", ""],
26
+ rowRecords: [
27
+ [
28
+ { isSelected: { value: true } },
29
+ { record: { value: "Jane Cooper", description: "huewhfuewhfehf" } },
30
+ { record: { value: "$200000", description: "huewhfuewhfehf" } },
31
+ {
32
+ linkLabel: { label: "Regional Paradigm Technician" },
33
+ },
34
+ // {
35
+ // secondary: { label: "jane.cooper@example.com" },
36
+ // },
37
+ {
38
+ icon: { name: "download", type: "outline", class: "h-5 w-5" },
39
+ },
40
+ {
41
+ tag: { color: "red", label: "Edit" },
42
+ },
43
+ {
44
+ switch: { value: true },
45
+ },
46
+ // {
47
+ // colorText: { value: "Sessions", class: "text-red-600" },
48
+ // },
49
+ {
50
+ avatar: {
51
+ image:
52
+ "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
53
+ size: "small",
54
+ rounded: true,
55
+ name: "Alkama",
56
+ description: "Online Booking",
57
+ },
58
+ },
59
+ ],
60
+ [
61
+ { isSelected: { value: true } },
62
+ { record: { value: "Arthur Cooper", description: "huewhfuewhfehf" } },
63
+ { record: { value: "$563210", description: "huewhfuewhfehf" } },
64
+ {
65
+ linkLabel: { label: "Regional Paradigm Officer" },
66
+ },
67
+ // {
68
+ // secondary: { label: "arthur.cooper@example.com" },
69
+ // },
70
+ {
71
+ icon: { name: "download", type: "outline", class: "h-5 w-5" },
72
+ },
73
+ {
74
+ tag: { color: "red", label: "Omit" },
75
+ },
76
+ {
77
+ switch: {},
78
+ },
79
+ {
80
+ avatar: {
81
+ image:
82
+ "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
83
+ size: "small",
84
+ rounded: true,
85
+ name: "Alkama",
86
+ description: "Online Booking",
87
+ },
88
+ },
89
+ // {
90
+ // selectpicker: {
91
+ // placeholder: "Select country",
92
+ // dropdownClass: "w-full",
93
+ // options: [{ option: "one" }, { option: "two" }],
94
+ // },
95
+ // },
96
+ // {
97
+ // stackedList: {
98
+ // items: [
99
+ // {
100
+ // image:
101
+ // "https://images.unsplash.com/photo-1491528323818-fdd1faba62cc?ixlib=rb-1.2.1&amp;ixid=eyJhcHBfaWQiOjEyMDd9&amp;auto=format&amp;fit=facearea&amp;facepad=2&amp;w=256&amp;h=256&amp;q=80",
102
+ // heading: "Maths-Level1",
103
+ // description: "calvin.hawkins@example.com",
104
+ // size: "medium",
105
+ // rounded: false,
106
+ // tag: false,
107
+ // collapse: false,
108
+ // listIcon: true,
109
+ // },
110
+ // ],
111
+ // },
112
+ // },
113
+ // {
114
+ // colorText: { value: "Sessions", class: "text-red-600" },
115
+ // },
116
+ ],
117
+ [
118
+ { isSelected: { value: true } },
119
+ { record: { value: "Jane Cooper", description: "huewhfuewhfehf" } },
120
+ { record: { value: "$200000", description: "huewhfuewhfehf" } },
121
+ {
122
+ linkLabel: { label: "Regional Paradigm Technician" },
123
+ },
124
+ // {
125
+ // secondary: { label: "jane.cooper@example.com" },
126
+ // },
127
+ {
128
+ icon: { name: "download", type: "outline", class: "h-5 w-5" },
129
+ },
130
+ {
131
+ tag: { color: "red", label: "Edit" },
132
+ },
133
+ {
134
+ switch: { value: true },
135
+ },
136
+ // {
137
+ // colorText: { value: "Sessions", class: "text-red-600" },
138
+ // },
139
+ {
140
+ avatar: {
141
+ image:
142
+ "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
143
+ size: "small",
144
+ rounded: true,
145
+ name: "Alkama",
146
+ description: "Online Booking",
147
+ },
148
+ },
149
+ ],
150
+ [
151
+ { isSelected: { value: true } },
152
+ { record: { value: "Jane Cooper", description: "huewhfuewhfehf" } },
153
+ { record: { value: "$200000", description: "huewhfuewhfehf" } },
154
+ {
155
+ linkLabel: { label: "Regional Paradigm Technician" },
156
+ },
157
+ // {
158
+ // secondary: { label: "jane.cooper@example.com" },
159
+ // },
160
+ {
161
+ icon: { name: "download", type: "outline", class: "h-5 w-5" },
162
+ },
163
+ {
164
+ tag: { color: "red", label: "Edit" },
165
+ },
166
+ {
167
+ switch: { value: true },
168
+ },
169
+ // {
170
+ // colorText: { value: "Sessions", class: "text-red-600" },
171
+ // },
172
+ {
173
+ avatar: {
174
+ image:
175
+ "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
176
+ size: "small",
177
+ rounded: true,
178
+ name: "Alkama",
179
+ description: "Online Booking",
180
+ },
181
+ },
182
+ ],
183
+ [
184
+ { isSelected: { value: true } },
185
+ { record: { value: "Jane Cooper", description: "huewhfuewhfehf" } },
186
+ { record: { value: "$200000", description: "huewhfuewhfehf" } },
187
+ {
188
+ linkLabel: { label: "Regional Paradigm Technician" },
189
+ },
190
+ // {
191
+ // secondary: { label: "jane.cooper@example.com" },
192
+ // },
193
+ {
194
+ icon: { name: "download", type: "outline", class: "h-5 w-5" },
195
+ },
196
+ {
197
+ tag: { color: "red", label: "Edit" },
198
+ },
199
+ {
200
+ switch: { value: true },
201
+ },
202
+ // {
203
+ // colorText: { value: "Sessions", class: "text-red-600" },
204
+ // },
205
+ {
206
+ avatar: {
207
+ image:
208
+ "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
209
+ size: "small",
210
+ rounded: true,
211
+ name: "Alkama",
212
+ description: "Online Booking",
213
+ },
214
+ },
215
+ ],
216
+ [
217
+ { isSelected: { value: true } },
218
+ { record: { value: "Jane Cooper", description: "huewhfuewhfehf" } },
219
+ { record: { value: "$200000", description: "huewhfuewhfehf" } },
220
+ {
221
+ linkLabel: { label: "Regional Paradigm Technician" },
222
+ },
223
+ // {
224
+ // secondary: { label: "jane.cooper@example.com" },
225
+ // },
226
+ {
227
+ icon: { name: "download", type: "outline", class: "h-5 w-5" },
228
+ },
229
+ {
230
+ tag: { color: "red", label: "Edit" },
231
+ },
232
+ {
233
+ switch: { value: true },
234
+ },
235
+ // {
236
+ // colorText: { value: "Sessions", class: "text-red-600" },
237
+ // },
238
+ {
239
+ avatar: {
240
+ image:
241
+ "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
242
+ size: "small",
243
+ rounded: true,
244
+ name: "Alkama",
245
+ description: "Online Booking",
246
+ },
247
+ },
248
+ ],
249
+ [
250
+ { isSelected: { value: true } },
251
+ { record: { value: "Jane Cooper", description: "huewhfuewhfehf" } },
252
+ { record: { value: "$200000", description: "huewhfuewhfehf" } },
253
+ {
254
+ linkLabel: { label: "Regional Paradigm Technician" },
255
+ },
256
+ // {
257
+ // secondary: { label: "jane.cooper@example.com" },
258
+ // },
259
+ {
260
+ icon: { name: "download", type: "outline", class: "h-5 w-5" },
261
+ },
262
+ {
263
+ tag: { color: "red", label: "Edit" },
264
+ },
265
+ {
266
+ switch: { value: true },
267
+ },
268
+ // {
269
+ // colorText: { value: "Sessions", class: "text-red-600" },
270
+ // },
271
+ {
272
+ avatar: {
273
+ image:
274
+ "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
275
+ size: "small",
276
+ rounded: true,
277
+ name: "Alkama",
278
+ description: "Online Booking",
279
+ },
280
+ },
281
+ ],
282
+ [
283
+ { isSelected: { value: true } },
284
+ { record: { value: "Jane Cooper", description: "huewhfuewhfehf" } },
285
+ { record: { value: "$200000", description: "huewhfuewhfehf" } },
286
+ {
287
+ linkLabel: { label: "Regional Paradigm Technician" },
288
+ },
289
+ // {
290
+ // secondary: { label: "jane.cooper@example.com" },
291
+ // },
292
+ {
293
+ icon: { name: "download", type: "outline", class: "h-5 w-5" },
294
+ },
295
+ {
296
+ tag: { color: "red", label: "Edit" },
297
+ },
298
+ {
299
+ switch: { value: true },
300
+ },
301
+ // {
302
+ // colorText: { value: "Sessions", class: "text-red-600" },
303
+ // },
304
+ {
305
+ avatar: {
306
+ image:
307
+ "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
308
+ size: "small",
309
+ rounded: true,
310
+ name: "Alkama",
311
+ description: "Online Booking",
312
+ },
313
+ },
314
+ ],
315
+ ],
316
+ };
@@ -0,0 +1,24 @@
1
+ import CBreadcrumbs from "../components/CBreadcrumbs/CBreadcrumbs.vue";
2
+ import "./utils.css";
3
+
4
+ export default {
5
+ title: "CBreadcrumbs",
6
+ component: CBreadcrumbs,
7
+ argTypes: {
8
+ navObject: { control: { type: "object" } },
9
+ },
10
+ };
11
+
12
+ const Template = (args, { argTypes }) => ({
13
+ props: Object.keys(argTypes),
14
+ components: { CBreadcrumbs },
15
+ template: '<c-breadcrumbs v-bind="$props" />',
16
+ });
17
+
18
+ export const Default = Template.bind({});
19
+ Default.args = {
20
+ navObject: [
21
+ { href: "#", label: "Students" },
22
+ { href: "#", label: "Alkama" },
23
+ ],
24
+ };
@@ -0,0 +1,46 @@
1
+ import CButton from "../components/CButton/CButton.vue";
2
+ import "./utils.css";
3
+
4
+ export default {
5
+ title: "CButton",
6
+ component: CButton,
7
+ argTypes: {
8
+ type: {
9
+ control: {
10
+ type: "select",
11
+ options: [
12
+ "primary",
13
+ "secondary",
14
+ "white",
15
+ "danger",
16
+ "success",
17
+ "tertiary",
18
+ "secondary-gray",
19
+ "light-red",
20
+ "dark-blue",
21
+ "secondary-success"
22
+ ],
23
+ },
24
+ },
25
+ },
26
+ };
27
+
28
+ const Template = (args, { argTypes }) => ({
29
+ props: Object.keys(argTypes),
30
+ components: { CButton },
31
+ template: '<c-button @onClick="onClick" v-bind="$props" />',
32
+ });
33
+
34
+ export const Default = Template.bind({});
35
+ Default.args = {
36
+ isLoading: false,
37
+ label: "Button",
38
+ type: "primary",
39
+ icon: {
40
+ name: "check",
41
+ type: "solid",
42
+ class: "h-5 w-5",
43
+ viewBox: "0 0 24 24"
44
+ },
45
+ customClasses: "",
46
+ };
@@ -0,0 +1,33 @@
1
+ import CButtonGroup from "../components/CButtonGroup/CButtonGroup.vue";
2
+ import "./utils.css";
3
+
4
+ export default {
5
+ title: "CButtonGroup",
6
+ component: CButtonGroup,
7
+ argTypes: {
8
+ buttonObject: { control: { type: "object" } },
9
+ },
10
+ };
11
+
12
+ const Template = (args, { argTypes }) => ({
13
+ props: Object.keys(argTypes),
14
+ components: { CButtonGroup },
15
+ template: '<c-button-group v-bind="$props" />',
16
+ });
17
+
18
+ const consoleIt = () => {
19
+ console.log("onclick fired")
20
+ }
21
+
22
+ const consoleOut = () => {
23
+ console.log("focus lost")
24
+ }
25
+
26
+ export const Default = Template.bind({});
27
+ Default.args = {
28
+ buttonObject: [
29
+ { icon: "bookmark", label: "Students", value:'students', onClickAction: consoleIt, blurAction: consoleOut },
30
+ { icon: "chat", label: "Alkama", value:'alkama'},
31
+ { icon: "bookmark", label: "Attendance", value:'attendance' },
32
+ ],
33
+ };
@@ -0,0 +1,27 @@
1
+ import CButtonIcon from '../components/CButtonIcon/CButtonIcon.vue';
2
+ import './utils.css'
3
+
4
+ export default {
5
+ title: 'CButtonIcon',
6
+ component: CButtonIcon,
7
+ argTypes: {
8
+ type: { control: { type: 'select', options: ['primary', 'secondary', 'white', 'danger', 'success', 'tertiary', 'secondary-gray', 'rounded-hover'] } },
9
+ },
10
+ };
11
+
12
+ const Template = (args, { argTypes }) => ({
13
+ props: Object.keys(argTypes),
14
+ components: { CButtonIcon },
15
+ template: '<c-button-icon @onClick="onClick" v-bind="$props" />',
16
+ });
17
+
18
+ export const Default = Template.bind({});
19
+ Default.args = {
20
+ isLoading: false,
21
+ type: 'primary',
22
+ icon: {
23
+ name: 'check',
24
+ type: 'solid',
25
+ class: 'h-5 w-5'
26
+ }
27
+ };
@@ -0,0 +1,24 @@
1
+ import CButtonLink from "../components/CButtonLink/CButtonLink.vue";
2
+ import "./utils.css";
3
+
4
+ export default {
5
+ title: "CButtonLink",
6
+ component: CButtonLink,
7
+ argTypes: {
8
+ label: String,
9
+ image: String,
10
+ },
11
+ };
12
+
13
+ const Template = (args, { argTypes }) => ({
14
+ props: Object.keys(argTypes),
15
+ components: { CButtonLink },
16
+ template: '<c-button-link v-bind="$props" />',
17
+ });
18
+
19
+ export const Default = Template.bind({});
20
+ Default.args = {
21
+ isLoading: false,
22
+ label: "Button",
23
+ image: null,
24
+ };
@@ -0,0 +1,32 @@
1
+ import CButtonSelect from "../components/CButtonSelect/CButtonSelect.vue";
2
+ import CIcon from "../components/CIcon/CIcon.vue";
3
+ import "./utils.css";
4
+
5
+ export default {
6
+ title: "CButtonSelect",
7
+ component: CButtonSelect,
8
+ subcomponents: { CIcon },
9
+ argTypes: {
10
+ type: {
11
+ control: { type: "select", options: ["primary", "secondary", "success", "danger"] },
12
+ },
13
+ items: { control: { type: "object" } },
14
+ },
15
+ };
16
+
17
+ const Template = (args, { argTypes }) => ({
18
+ props: Object.keys(argTypes),
19
+ components: { CButtonSelect },
20
+ template: '<c-button-select v-bind="$props" />',
21
+ });
22
+
23
+ export const Default = Template.bind({});
24
+ Default.args = {
25
+ items: [
26
+ { icon: "check", text: "one", action: "first", iconType: "solid" },
27
+ { icon: "check", text: "two", action: "second", iconType: "solid" },
28
+ ],
29
+ type: "primary",
30
+ label: "Button",
31
+ isLoading: false,
32
+ };
@@ -0,0 +1,41 @@
1
+ import CButtonWithDropdown from "../components/CButtonWithDropdown/CButtonWithDropdown.vue";
2
+ import CIcon from "../components/CIcon/CIcon.vue";
3
+ import "./utils.css";
4
+
5
+ export default {
6
+ title: "CButtonWithDropdown",
7
+ component: CButtonWithDropdown,
8
+ subcomponents: { CIcon },
9
+ argTypes: {
10
+ type: {
11
+ control: {
12
+ type: "select",
13
+ options: [
14
+ "primary",
15
+ "secondary",
16
+ "success",
17
+ "danger",
18
+ "light-green",
19
+ "light-red",
20
+ ],
21
+ },
22
+ },
23
+ items: { control: { type: "object" } },
24
+ },
25
+ };
26
+
27
+ const Template = (args, { argTypes }) => ({
28
+ props: Object.keys(argTypes),
29
+ components: { CButtonWithDropdown },
30
+ template: '<c-button-with-dropdown v-bind="$props" />',
31
+ });
32
+
33
+ export const Default = Template.bind({});
34
+ Default.args = {
35
+ items: [
36
+ { text: "one", value: "one" },
37
+ { text: "two", value: "two" },
38
+ ],
39
+ // type: 'primary',
40
+ label: "Button",
41
+ };
@@ -0,0 +1,16 @@
1
+ import { CCalendar } from "../components";
2
+ import "./utils.css";
3
+
4
+ export default {
5
+ title: "CCalendar",
6
+ component: CCalendar,
7
+ argTypes: {},
8
+ };
9
+
10
+ const Template = (args, { argTypes }) => ({
11
+ props: Object.keys(argTypes),
12
+ components: { CCalendar },
13
+ template: '<c-calendar v-bind="$props" />',
14
+ });
15
+
16
+ export const Default = Template.bind({});
@@ -0,0 +1,30 @@
1
+ import CCard from "../components/CCard/CCard.vue";
2
+ import "./utils.css";
3
+
4
+ export default {
5
+ title: "CCard",
6
+ component: CCard,
7
+ argTypes: {
8
+ image: Object,
9
+ name: String,
10
+ description: String
11
+ },
12
+ };
13
+
14
+ const Template = (args, { argTypes }) => ({
15
+ props: Object.keys(argTypes),
16
+ components: { CCard },
17
+ template: '<c-card v-bind="$props" />',
18
+ });
19
+
20
+ export const Default = Template.bind({});
21
+ Default.args = {
22
+ image: {
23
+ size: "small",
24
+ rounded: false,
25
+ image:
26
+ "https://images.unsplash.com/photo-1494790108377-be9c29b29330?ixlib=rb-1.2.1&ixqx=ukDMP4XEnx&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80"
27
+ },
28
+ name: "Alkama",
29
+ description: 'Video'
30
+ };
@@ -0,0 +1,29 @@
1
+ import CCheckbox from "../components/CCheckbox/CCheckbox.vue";
2
+ import "./utils.css";
3
+
4
+ export default {
5
+ title: "CCheckbox",
6
+ component: CCheckbox,
7
+ argTypes: {
8
+ label: String,
9
+ description: String,
10
+ value: Number,
11
+ },
12
+ };
13
+
14
+ const Template = (args, { argTypes }) => ({
15
+ props: Object.keys(argTypes),
16
+ components: { CCheckbox },
17
+ template: '<c-checkbox @onChange="onChange" v-bind="$props" />',
18
+ });
19
+
20
+ export const Default = Template.bind({});
21
+ Default.args = {
22
+ label: "Includes",
23
+ description: "Add subjects to include them in the package",
24
+ value: 1,
25
+ isDisabled: false,
26
+ onChange() {
27
+ return;
28
+ },
29
+ };
@@ -0,0 +1,28 @@
1
+ import CCollapsibleSection from '../components/CCollapsibleSection/CCollapsibleSection.vue';
2
+ import './utils.css'
3
+
4
+ export default {
5
+ title: 'CCollapsibleSection',
6
+ component: CCollapsibleSection,
7
+ argTypes: {
8
+ label: String,
9
+ tabAction:Boolean,
10
+ buttonLabel:String,
11
+ tabLink: { control: { type: "object" } }
12
+ },
13
+ };
14
+
15
+ const Template = (args, { argTypes }) => ({
16
+ props: Object.keys(argTypes),
17
+ components: { CCollapsibleSection },
18
+ template: '<c-collapsible-section v-bind="$props" />',
19
+ });
20
+
21
+ export const Default = Template.bind({});
22
+ Default.args = {
23
+ label: 'Details',
24
+ tabAction: false,
25
+ tabLink: {
26
+ label: 'Edit'
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ import CColorDots from "../components/CColorDots/CColorDots.vue";
2
+ import "./utils.css";
3
+
4
+ export default {
5
+ title: "CColorDots",
6
+ component: CColorDots,
7
+ argTypes: {
8
+ label: String,
9
+ color: {
10
+ control: {
11
+ type: "select",
12
+ options: ["gray", "red", "yellow", "green", "indigo", "purple", "pink"],
13
+ },
14
+ },
15
+ },
16
+ };
17
+
18
+ const Template = (args, { argTypes }) => ({
19
+ props: Object.keys(argTypes),
20
+ components: { CColorDots },
21
+ template: '<c-color-dots v-bind="$props" />',
22
+ });
23
+
24
+ export const Default = Template.bind({});
25
+ Default.args = {
26
+ label: "Active",
27
+ color: "green",
28
+ };