classcard-ui 0.2.774 → 0.2.775

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 (175) hide show
  1. package/README.md +24 -24
  2. package/dist/classcard-ui.common.js +79 -63
  3. package/dist/classcard-ui.common.js.map +1 -1
  4. package/dist/classcard-ui.umd.js +79 -63
  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 +81 -81
  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 +112 -112
  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 +147 -147
  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 +112 -112
  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 +103 -103
  33. package/src/components/CButtonSelect/index.js +2 -2
  34. package/src/components/CButtonWithDropdown/CButtonWithDropdown.vue +168 -168
  35. package/src/components/CButtonWithDropdown/index.js +2 -2
  36. package/src/components/CCalendar/CCalendar.vue +410 -410
  37. package/src/components/CCalendar/index.js +3 -3
  38. package/src/components/CCard/CCard.vue +49 -49
  39. package/src/components/CCard/index.js +2 -2
  40. package/src/components/CCheckbox/CCheckbox.vue +70 -70
  41. package/src/components/CCheckbox/index.js +2 -2
  42. package/src/components/CCollapsibleSection/CCollapsibleSection.vue +101 -101
  43. package/src/components/CCollapsibleSection/index.js +2 -2
  44. package/src/components/CColorDots/CColorDots.vue +35 -35
  45. package/src/components/CColorDots/index.js +3 -3
  46. package/src/components/CConfirmActionModal/CConfirmActionModal.vue +131 -131
  47. package/src/components/CConfirmActionModal/index.js +3 -3
  48. package/src/components/CDatepicker/CDatepicker.vue +139 -139
  49. package/src/components/CDatepicker/index.js +2 -2
  50. package/src/components/CDualSelect/CDualSelect.vue +193 -193
  51. package/src/components/CDualSelect/index.js +2 -2
  52. package/src/components/CEditor/CEditor.vue +96 -96
  53. package/src/components/CEditor/index.js +2 -2
  54. package/src/components/CFormSectionHeading/CFormSectionHeading.vue +53 -53
  55. package/src/components/CFormSectionHeading/index.js +2 -2
  56. package/src/components/CGroupedSelect/CGroupedSelect.vue +218 -218
  57. package/src/components/CGroupedSelect/index.js +3 -3
  58. package/src/components/CIcon/CIcon.vue +77 -77
  59. package/src/components/CIcon/index.js +2 -2
  60. package/src/components/CIconDropdown/CIconDropdown.vue +118 -118
  61. package/src/components/CIconDropdown/index.js +2 -2
  62. package/src/components/CInput/CInput.vue +123 -123
  63. package/src/components/CInput/index.js +2 -2
  64. package/src/components/CInputAddon/CInputAddon.vue +202 -202
  65. package/src/components/CInputAddon/index.js +2 -2
  66. package/src/components/CInputEmail/CInputEmail.vue +93 -93
  67. package/src/components/CInputEmail/index.js +2 -2
  68. package/src/components/CModalHeading/CModalHeading.vue +22 -22
  69. package/src/components/CModalHeading/index.js +2 -2
  70. package/src/components/CModuleHelpLinks/CModuleHelpLinks.vue +39 -39
  71. package/src/components/CModuleHelpLinks/index.js +3 -3
  72. package/src/components/CMultiselect/CMultiselect.vue +361 -361
  73. package/src/components/CMultiselect/index.js +2 -2
  74. package/src/components/CMultiselectr/CMultiselectr.vue +44 -44
  75. package/src/components/CMultiselectr/index.js +2 -2
  76. package/src/components/CPageHeading/CPageHeading.vue +56 -56
  77. package/src/components/CPageHeading/index.js +2 -2
  78. package/src/components/CPagination/CPagination.vue +204 -204
  79. package/src/components/CPagination/index.js +2 -2
  80. package/src/components/CPhoneNumber/CPhoneNumber.vue +89 -89
  81. package/src/components/CPhoneNumber/index.js +2 -2
  82. package/src/components/CRadio/CRadio.vue +106 -106
  83. package/src/components/CRadio/index.js +2 -2
  84. package/src/components/CRangeSlider/CRangeSlider.vue +55 -55
  85. package/src/components/CRangeSlider/index.js +2 -2
  86. package/src/components/CReorderableStackedList/CReorderableStackedList.vue +94 -94
  87. package/src/components/CReorderableStackedList/index.js +2 -2
  88. package/src/components/CSelect/CSelect.vue +353 -353
  89. package/src/components/CSelect/index.js +2 -2
  90. package/src/components/CSmallTimeline/CSmallTimeline.vue +40 -40
  91. package/src/components/CSmallTimeline/index.js +2 -2
  92. package/src/components/CStackedList/CStackedList.vue +132 -132
  93. package/src/components/CStackedList/index.js +2 -2
  94. package/src/components/CStats/CStats.vue +116 -116
  95. package/src/components/CStats/index.js +2 -2
  96. package/src/components/CSwitch/CSwitch.vue +168 -168
  97. package/src/components/CSwitch/index.js +2 -2
  98. package/src/components/CTable/CTable.vue +542 -538
  99. package/src/components/CTable/index.js +2 -2
  100. package/src/components/CTabs/CTabs.vue +111 -111
  101. package/src/components/CTabs/index.js +2 -2
  102. package/src/components/CTag/CTag.vue +36 -36
  103. package/src/components/CTag/index.js +2 -2
  104. package/src/components/CTextarea/CTextarea.vue +95 -95
  105. package/src/components/CTextarea/index.js +2 -2
  106. package/src/components/CTimeline/CTimeline.vue +237 -237
  107. package/src/components/CTimeline/index.js +2 -2
  108. package/src/components/CUpload/CUpload.vue +231 -231
  109. package/src/components/CUpload/index.js +2 -2
  110. package/src/components/index.js +48 -48
  111. package/src/icons.js +304 -304
  112. package/src/main.js +22 -22
  113. package/src/stories/CAlerts.stories.js +37 -37
  114. package/src/stories/CAnchorTabs.stories.js +29 -29
  115. package/src/stories/CAnchorTag.stories.js +36 -36
  116. package/src/stories/CAvatar.stories.js +38 -38
  117. package/src/stories/CAvatarGroup.stories.js +100 -100
  118. package/src/stories/CBasicTable.stories.js +316 -316
  119. package/src/stories/CBreadcrumbs.stories.js +24 -24
  120. package/src/stories/CButton.stories.js +46 -46
  121. package/src/stories/CButtonGroup.stories.js +33 -33
  122. package/src/stories/CButtonIcon.stories.js +27 -27
  123. package/src/stories/CButtonLink.stories.js +24 -24
  124. package/src/stories/CButtonSelect.stories.js +32 -32
  125. package/src/stories/CButtonWithDropdown.stories.js +41 -41
  126. package/src/stories/CCalendar.stories.js +16 -16
  127. package/src/stories/CCard.stories.js +30 -30
  128. package/src/stories/CCheckbox.stories.js +29 -29
  129. package/src/stories/CCollapsibleSection.stories.js +28 -28
  130. package/src/stories/CColorDots.stories.js +28 -28
  131. package/src/stories/CConfirmActionModal.stories.js +59 -59
  132. package/src/stories/CDatepicker.stories.js +30 -30
  133. package/src/stories/CDualSelect.stories.js +29 -29
  134. package/src/stories/CEditor.stories.js +30 -30
  135. package/src/stories/CFormSectionHeading.stories.js +34 -34
  136. package/src/stories/CGroupedSelect.stories.js +69 -69
  137. package/src/stories/CIcon.stories.js +26 -26
  138. package/src/stories/CIconDropdown.stories.js +45 -45
  139. package/src/stories/CInput.stories.js +36 -36
  140. package/src/stories/CInputAddon.stories.js +37 -37
  141. package/src/stories/CInputEmail.stories.js +27 -27
  142. package/src/stories/CModalHeading.stories.js +25 -25
  143. package/src/stories/CModuleHelpLinks.stories.js +25 -25
  144. package/src/stories/CMultiselect.stories.js +103 -103
  145. package/src/stories/CMultiselectr.stories.js +23 -23
  146. package/src/stories/CPageHeading.stories.js +32 -32
  147. package/src/stories/CPagination.stories.js +30 -30
  148. package/src/stories/CPhoneNumber.stories.js +29 -29
  149. package/src/stories/CRadio.stories.js +36 -36
  150. package/src/stories/CRangeSlider.stories.js +23 -23
  151. package/src/stories/CReorderableStackedList.stories.js +23 -23
  152. package/src/stories/CSelect.stories.js +62 -62
  153. package/src/stories/CSmallTimeline.stories.js +26 -26
  154. package/src/stories/CStackedList.stories.js +37 -37
  155. package/src/stories/CStats.stories.js +33 -33
  156. package/src/stories/CSwitch.stories.js +28 -28
  157. package/src/stories/CTable.stories.js +77 -77
  158. package/src/stories/CTabs.stories.js +33 -33
  159. package/src/stories/CTag.stories.js +23 -23
  160. package/src/stories/CTextarea.stories.js +32 -32
  161. package/src/stories/CTimeline.stories.js +26 -26
  162. package/src/stories/CUpload.stories.js +36 -36
  163. package/src/stories/Introduction.stories.mdx +207 -207
  164. package/src/stories/Page.vue +88 -88
  165. package/src/stories/assets/code-brackets.svg +0 -0
  166. package/src/stories/assets/colors.svg +0 -0
  167. package/src/stories/assets/comments.svg +0 -0
  168. package/src/stories/assets/direction.svg +0 -0
  169. package/src/stories/assets/flow.svg +0 -0
  170. package/src/stories/assets/plugin.svg +0 -0
  171. package/src/stories/assets/repo.svg +0 -0
  172. package/src/stories/assets/stackalt.svg +0 -0
  173. package/src/stories/header.css +26 -26
  174. package/src/stories/page.css +69 -69
  175. package/src/stories/utils.css +17 -17
@@ -1,89 +1,89 @@
1
- <template>
2
- <div>
3
- <div class="flex items-center">
4
- <!-- label of phone field -->
5
- <label class="text-sm text-gray-900">{{ label }}</label>
6
- <!-- asterisk sign to render if field is required -->
7
- <p v-if="isRequired" class="ml-1 text-red-600">*</p>
8
- </div>
9
- <div class="mt-1 w-full shadow-sm">
10
- <vue-tel-input v-bind="bindProps" :autoFormat="false" v-model="value"></vue-tel-input>
11
- </div>
12
- <p v-if="!isValidate" class="mt-1 text-sm text-red-600">
13
- {{ errorMessage }}
14
- </p>
15
- <!-- description about the input field -->
16
- <p v-if="helpText && isValidate == true" class="mt-2 text-sm text-gray-500">
17
- {{ helpText }}
18
- </p>
19
- </div>
20
- </template>
21
- <script>
22
- import { VueTelInput } from "vue-tel-input";
23
- export default {
24
- name: "CPhoneNumber",
25
- components: {
26
- VueTelInput,
27
- },
28
- props: {
29
- // eslint-disable-next-line vue/require-prop-type-constructor
30
- phone: {
31
- type: String,
32
- },
33
- label: String,
34
- isValidate: {
35
- type: Boolean,
36
- default: true,
37
- },
38
- isRequired: {
39
- type: Boolean,
40
- default: false,
41
- },
42
- errorMessage: {
43
- type: String,
44
- },
45
- // description about the field
46
- helpText: {
47
- type: String,
48
- },
49
- },
50
- data() {
51
- return {
52
- value: this.phone,
53
- bindProps: {
54
- placeholder: "",
55
- inputClasses: ["px-3", "py-2", "text-sm"],
56
- inputId: "c-phone",
57
- wrapperClasses: "c-phone-wrapper",
58
- showDialCode: false,
59
- enabledCountryCode: false,
60
- mode: "international",
61
- validCharactersOnly: true,
62
- },
63
- };
64
- },
65
- watch: {
66
- value(newVal) {
67
- this.$emit("onChange", newVal);
68
- },
69
- },
70
- };
71
- </script>
72
- <style>
73
- .vue-tel-input {
74
- border: 1px solid #d1d5db !important;
75
- @apply text-gray-900;
76
- }
77
-
78
- #c-phone {
79
- border-top-right-radius: 0.375rem;
80
- border-bottom-right-radius: 0.375rem;
81
- }
82
- .c-phone-wrapper {
83
- border-radius: 0.375rem !important;
84
- }
85
- .vti__dropdown:hover {
86
- border-top-left-radius: 0.375rem;
87
- border-bottom-left-radius: 0.375rem;
88
- }
89
- </style>
1
+ <template>
2
+ <div>
3
+ <div class="flex items-center">
4
+ <!-- label of phone field -->
5
+ <label class="text-sm text-gray-900">{{ label }}</label>
6
+ <!-- asterisk sign to render if field is required -->
7
+ <p v-if="isRequired" class="ml-1 text-red-600">*</p>
8
+ </div>
9
+ <div class="mt-1 w-full shadow-sm">
10
+ <vue-tel-input v-bind="bindProps" :autoFormat="false" v-model="value"></vue-tel-input>
11
+ </div>
12
+ <p v-if="!isValidate" class="mt-1 text-sm text-red-600">
13
+ {{ errorMessage }}
14
+ </p>
15
+ <!-- description about the input field -->
16
+ <p v-if="helpText && isValidate == true" class="mt-2 text-sm text-gray-500">
17
+ {{ helpText }}
18
+ </p>
19
+ </div>
20
+ </template>
21
+ <script>
22
+ import { VueTelInput } from "vue-tel-input";
23
+ export default {
24
+ name: "CPhoneNumber",
25
+ components: {
26
+ VueTelInput,
27
+ },
28
+ props: {
29
+ // eslint-disable-next-line vue/require-prop-type-constructor
30
+ phone: {
31
+ type: String,
32
+ },
33
+ label: String,
34
+ isValidate: {
35
+ type: Boolean,
36
+ default: true,
37
+ },
38
+ isRequired: {
39
+ type: Boolean,
40
+ default: false,
41
+ },
42
+ errorMessage: {
43
+ type: String,
44
+ },
45
+ // description about the field
46
+ helpText: {
47
+ type: String,
48
+ },
49
+ },
50
+ data() {
51
+ return {
52
+ value: this.phone,
53
+ bindProps: {
54
+ placeholder: "",
55
+ inputClasses: ["px-3", "py-2", "text-sm"],
56
+ inputId: "c-phone",
57
+ wrapperClasses: "c-phone-wrapper",
58
+ showDialCode: false,
59
+ enabledCountryCode: false,
60
+ mode: "international",
61
+ validCharactersOnly: true,
62
+ },
63
+ };
64
+ },
65
+ watch: {
66
+ value(newVal) {
67
+ this.$emit("onChange", newVal);
68
+ },
69
+ },
70
+ };
71
+ </script>
72
+ <style>
73
+ .vue-tel-input {
74
+ border: 1px solid #d1d5db !important;
75
+ @apply text-gray-900;
76
+ }
77
+
78
+ #c-phone {
79
+ border-top-right-radius: 0.375rem;
80
+ border-bottom-right-radius: 0.375rem;
81
+ }
82
+ .c-phone-wrapper {
83
+ border-radius: 0.375rem !important;
84
+ }
85
+ .vti__dropdown:hover {
86
+ border-top-left-radius: 0.375rem;
87
+ border-bottom-left-radius: 0.375rem;
88
+ }
89
+ </style>
@@ -1,3 +1,3 @@
1
- import CPhoneNumber from './CPhoneNumber.vue'
2
-
1
+ import CPhoneNumber from './CPhoneNumber.vue'
2
+
3
3
  export default CPhoneNumber
@@ -1,106 +1,106 @@
1
- <template>
2
- <div>
3
- <div class="-space-y-px rounded-md bg-white" :class="customWrapperClasses">
4
- <div
5
- v-for="(item, index) in items"
6
- class="relative pb-4 first:rounded-t-md last:rounded-b-md"
7
- v-bind:key="item[labelName]"
8
- :class="customClasses ? classes(item, index) : ''"
9
- >
10
- <div class="flex items-start">
11
- <input
12
- type="radio"
13
- :value="item.value"
14
- :name="name"
15
- v-model="selectedItem"
16
- @click="onChange(item.value)"
17
- class="mt-0.5 h-4 w-4 cursor-pointer border-gray-300 text-indigo-600 focus:ring-indigo-500 disabled:opacity-50"
18
- :disabled="isDisabled"
19
- />
20
- <label class="ml-3 flex cursor-pointer flex-col" @click="onChange(item.value)">
21
- <span
22
- class="block text-sm font-medium text-gray-900"
23
- :class="customClasses && item.value === selectedItem ? 'text-indigo-900' : ''"
24
- >
25
- {{ item[labelName] }}
26
- </span>
27
- <span
28
- class="block text-sm"
29
- :class="
30
- customClasses && item.value === selectedItem ? 'text-indigo-700' : 'text-gray-500'
31
- "
32
- >
33
- {{ item.description }}
34
- </span>
35
- </label>
36
- </div>
37
- <slot v-if="item.value === selectedItem" :name="item.value" />
38
- </div>
39
- </div>
40
- </div>
41
- </template>
42
-
43
- <script>
44
- export default {
45
- name: "CRadio",
46
- props: {
47
- items: {
48
- type: Array,
49
- required: true,
50
- },
51
- selectedOption: {
52
- type: String,
53
- },
54
- isDisabled: {
55
- type: Boolean,
56
- },
57
- customClasses: {
58
- type: Boolean,
59
- default: false,
60
- },
61
- customWrapperClasses: {
62
- type: String,
63
- },
64
- name: {
65
- type: String,
66
- required: true,
67
- },
68
- labelName: {
69
- type: String,
70
- default: "label",
71
- },
72
- },
73
- data() {
74
- return {
75
- selectedItem: this.selectedOption,
76
- };
77
- },
78
- methods: {
79
- onChange(selectedValue) {
80
- if (!this.isDisabled) {
81
- this.$emit("onChange", selectedValue);
82
- this.selectedItem = selectedValue;
83
- }
84
- },
85
- classes(item, index) {
86
- let classForRadio = "";
87
- if (item.value === this.selectedItem && index === 0) {
88
- classForRadio = "border p-4 border-indigo-200 rounded-t-md bg-indigo-50";
89
- } else if (item.value === this.selectedItem && index === this.items.length - 1) {
90
- classForRadio = "border p-4 border-indigo-200 rounded-b-md bg-indigo-50";
91
- } else if (item.value === this.selectedItem && 0 < index < this.items.length - 1) {
92
- classForRadio = "border p-4 border-indigo-200 bg-indigo-50";
93
- } else {
94
- classForRadio = "border p-4 border-gray-200";
95
- }
96
-
97
- return classForRadio;
98
- },
99
- },
100
- watch: {
101
- selectedOption() {
102
- this.selectedItem = this.selectedOption;
103
- },
104
- },
105
- };
106
- </script>
1
+ <template>
2
+ <div>
3
+ <div class="-space-y-px rounded-md bg-white" :class="customWrapperClasses">
4
+ <div
5
+ v-for="(item, index) in items"
6
+ class="relative pb-4 first:rounded-t-md last:rounded-b-md"
7
+ v-bind:key="item[labelName]"
8
+ :class="customClasses ? classes(item, index) : ''"
9
+ >
10
+ <div class="flex items-start">
11
+ <input
12
+ type="radio"
13
+ :value="item.value"
14
+ :name="name"
15
+ v-model="selectedItem"
16
+ @click="onChange(item.value)"
17
+ class="mt-0.5 h-4 w-4 cursor-pointer border-gray-300 text-indigo-600 focus:ring-indigo-500 disabled:opacity-50"
18
+ :disabled="isDisabled"
19
+ />
20
+ <label class="ml-3 flex cursor-pointer flex-col" @click="onChange(item.value)">
21
+ <span
22
+ class="block text-sm font-medium text-gray-900"
23
+ :class="customClasses && item.value === selectedItem ? 'text-indigo-900' : ''"
24
+ >
25
+ {{ item[labelName] }}
26
+ </span>
27
+ <span
28
+ class="block text-sm"
29
+ :class="
30
+ customClasses && item.value === selectedItem ? 'text-indigo-700' : 'text-gray-500'
31
+ "
32
+ >
33
+ {{ item.description }}
34
+ </span>
35
+ </label>
36
+ </div>
37
+ <slot v-if="item.value === selectedItem" :name="item.value" />
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </template>
42
+
43
+ <script>
44
+ export default {
45
+ name: "CRadio",
46
+ props: {
47
+ items: {
48
+ type: Array,
49
+ required: true,
50
+ },
51
+ selectedOption: {
52
+ type: String,
53
+ },
54
+ isDisabled: {
55
+ type: Boolean,
56
+ },
57
+ customClasses: {
58
+ type: Boolean,
59
+ default: false,
60
+ },
61
+ customWrapperClasses: {
62
+ type: String,
63
+ },
64
+ name: {
65
+ type: String,
66
+ required: true,
67
+ },
68
+ labelName: {
69
+ type: String,
70
+ default: "label",
71
+ },
72
+ },
73
+ data() {
74
+ return {
75
+ selectedItem: this.selectedOption,
76
+ };
77
+ },
78
+ methods: {
79
+ onChange(selectedValue) {
80
+ if (!this.isDisabled) {
81
+ this.$emit("onChange", selectedValue);
82
+ this.selectedItem = selectedValue;
83
+ }
84
+ },
85
+ classes(item, index) {
86
+ let classForRadio = "";
87
+ if (item.value === this.selectedItem && index === 0) {
88
+ classForRadio = "border p-4 border-indigo-200 rounded-t-md bg-indigo-50";
89
+ } else if (item.value === this.selectedItem && index === this.items.length - 1) {
90
+ classForRadio = "border p-4 border-indigo-200 rounded-b-md bg-indigo-50";
91
+ } else if (item.value === this.selectedItem && 0 < index < this.items.length - 1) {
92
+ classForRadio = "border p-4 border-indigo-200 bg-indigo-50";
93
+ } else {
94
+ classForRadio = "border p-4 border-gray-200";
95
+ }
96
+
97
+ return classForRadio;
98
+ },
99
+ },
100
+ watch: {
101
+ selectedOption() {
102
+ this.selectedItem = this.selectedOption;
103
+ },
104
+ },
105
+ };
106
+ </script>
@@ -1,3 +1,3 @@
1
- import CRadio from './CRadio.vue'
2
-
1
+ import CRadio from './CRadio.vue'
2
+
3
3
  export default CRadio
@@ -1,55 +1,55 @@
1
- <template>
2
- <div class="flex w-64 m-auto items-center h-32 justify-center">
3
- <div class="py-1 relative min-w-full">
4
- <div class="h-2 bg-gray-200 rounded-full">
5
- <div
6
- class="absolute h-2 rounded-full bg-teal-600 w-0"
7
- style="width: 58.5714%;"
8
- ></div>
9
- <div
10
- class="absolute h-4 flex items-center justify-center w-4 rounded-full bg-white shadow border border-gray-300 -ml-2 top-0 cursor-pointer"
11
- unselectable="on"
12
- onselectstart="return false;"
13
- style="left: 58.5714%;"
14
- >
15
- <div class="relative -mt-2 w-1">
16
- <div
17
- class="absolute z-40 opacity-100 bottom-100 mb-2 left-0 min-w-full"
18
- style="margin-left: -20.5px;"
19
- >
20
- <div class="relative shadow-md">
21
- <div
22
- class="bg-black -mt-8 text-white truncate text-xs rounded py-1 px-4"
23
- >
24
- 92
25
- </div>
26
- <svg
27
- class="absolute text-black w-full h-2 left-0 top-100"
28
- x="0px"
29
- y="0px"
30
- viewBox="0 0 255 255"
31
- xml:space="preserve"
32
- >
33
- <polygon
34
- class="fill-current"
35
- points="0,0 127.5,127.5 255,0"
36
- ></polygon>
37
- </svg>
38
- </div>
39
- </div>
40
- </div>
41
- </div>
42
- <div class="absolute text-gray-800 -ml-1 bottom-0 left-0 -mb-6">10</div>
43
- <div class="absolute text-gray-800 -mr-1 bottom-0 right-0 -mb-6">
44
- 150
45
- </div>
46
- </div>
47
- </div>
48
- </div>
49
- </template>
50
- <script>
51
- export default {
52
- name: "CRangeSlider",
53
- props: {},
54
- };
55
- </script>
1
+ <template>
2
+ <div class="flex w-64 m-auto items-center h-32 justify-center">
3
+ <div class="py-1 relative min-w-full">
4
+ <div class="h-2 bg-gray-200 rounded-full">
5
+ <div
6
+ class="absolute h-2 rounded-full bg-teal-600 w-0"
7
+ style="width: 58.5714%;"
8
+ ></div>
9
+ <div
10
+ class="absolute h-4 flex items-center justify-center w-4 rounded-full bg-white shadow border border-gray-300 -ml-2 top-0 cursor-pointer"
11
+ unselectable="on"
12
+ onselectstart="return false;"
13
+ style="left: 58.5714%;"
14
+ >
15
+ <div class="relative -mt-2 w-1">
16
+ <div
17
+ class="absolute z-40 opacity-100 bottom-100 mb-2 left-0 min-w-full"
18
+ style="margin-left: -20.5px;"
19
+ >
20
+ <div class="relative shadow-md">
21
+ <div
22
+ class="bg-black -mt-8 text-white truncate text-xs rounded py-1 px-4"
23
+ >
24
+ 92
25
+ </div>
26
+ <svg
27
+ class="absolute text-black w-full h-2 left-0 top-100"
28
+ x="0px"
29
+ y="0px"
30
+ viewBox="0 0 255 255"
31
+ xml:space="preserve"
32
+ >
33
+ <polygon
34
+ class="fill-current"
35
+ points="0,0 127.5,127.5 255,0"
36
+ ></polygon>
37
+ </svg>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ <div class="absolute text-gray-800 -ml-1 bottom-0 left-0 -mb-6">10</div>
43
+ <div class="absolute text-gray-800 -mr-1 bottom-0 right-0 -mb-6">
44
+ 150
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </template>
50
+ <script>
51
+ export default {
52
+ name: "CRangeSlider",
53
+ props: {},
54
+ };
55
+ </script>
@@ -1,3 +1,3 @@
1
- import CRangeSlider from './CRangeSlider.vue'
2
-
1
+ import CRangeSlider from './CRangeSlider.vue'
2
+
3
3
  export default CRangeSlider