classcard-ui 0.2.705 → 0.2.708

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 +68 -75
  3. package/dist/classcard-ui.common.js.map +1 -1
  4. package/dist/classcard-ui.umd.js +68 -75
  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 +116 -116
  27. package/src/components/CButtonGroup/index.js +2 -2
  28. package/src/components/CButtonIcon/CButtonIcon.vue +91 -91
  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 +401 -401
  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 +99 -99
  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 +120 -120
  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 +217 -217
  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 +111 -111
  61. package/src/components/CIconDropdown/index.js +2 -2
  62. package/src/components/CInput/CInput.vue +120 -120
  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 +339 -339
  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 +202 -202
  79. package/src/components/CPagination/index.js +2 -2
  80. package/src/components/CPhoneNumber/CPhoneNumber.vue +81 -81
  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 +348 -343
  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 +111 -111
  95. package/src/components/CStats/index.js +2 -2
  96. package/src/components/CSwitch/CSwitch.vue +140 -140
  97. package/src/components/CSwitch/index.js +2 -2
  98. package/src/components/CTable/CTable.vue +536 -536
  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 +285 -285
  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 +39 -39
  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 +97 -97
  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 +50 -50
  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,81 +1,81 @@
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
- </div>
16
- </template>
17
- <script>
18
- import { VueTelInput } from "vue-tel-input";
19
- export default {
20
- name: "CPhoneNumber",
21
- components: {
22
- VueTelInput,
23
- },
24
- props: {
25
- // eslint-disable-next-line vue/require-prop-type-constructor
26
- phone: {
27
- type: String,
28
- },
29
- label: String,
30
- isValidate: {
31
- type: Boolean,
32
- default: true,
33
- },
34
- isRequired: {
35
- type: Boolean,
36
- default: false,
37
- },
38
- errorMessage: {
39
- type: String,
40
- },
41
- },
42
- data() {
43
- return {
44
- value: this.phone,
45
- bindProps: {
46
- placeholder: "",
47
- inputClasses: ["px-3", "py-2", "text-sm"],
48
- inputId: "c-phone",
49
- wrapperClasses: "c-phone-wrapper",
50
- showDialCode: false,
51
- enabledCountryCode: false,
52
- mode: "international",
53
- validCharactersOnly: true,
54
- },
55
- };
56
- },
57
- watch: {
58
- value(newVal) {
59
- this.$emit("onChange", newVal);
60
- },
61
- },
62
- };
63
- </script>
64
- <style>
65
- .vue-tel-input {
66
- border: 1px solid #d1d5db !important;
67
- @apply text-gray-900;
68
- }
69
-
70
- #c-phone {
71
- border-top-right-radius: 0.375rem;
72
- border-bottom-right-radius: 0.375rem;
73
- }
74
- .c-phone-wrapper {
75
- border-radius: 0.375rem !important;
76
- }
77
- .vti__dropdown:hover {
78
- border-top-left-radius: 0.375rem;
79
- border-bottom-left-radius: 0.375rem;
80
- }
81
- </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
+ </div>
16
+ </template>
17
+ <script>
18
+ import { VueTelInput } from "vue-tel-input";
19
+ export default {
20
+ name: "CPhoneNumber",
21
+ components: {
22
+ VueTelInput,
23
+ },
24
+ props: {
25
+ // eslint-disable-next-line vue/require-prop-type-constructor
26
+ phone: {
27
+ type: String,
28
+ },
29
+ label: String,
30
+ isValidate: {
31
+ type: Boolean,
32
+ default: true,
33
+ },
34
+ isRequired: {
35
+ type: Boolean,
36
+ default: false,
37
+ },
38
+ errorMessage: {
39
+ type: String,
40
+ },
41
+ },
42
+ data() {
43
+ return {
44
+ value: this.phone,
45
+ bindProps: {
46
+ placeholder: "",
47
+ inputClasses: ["px-3", "py-2", "text-sm"],
48
+ inputId: "c-phone",
49
+ wrapperClasses: "c-phone-wrapper",
50
+ showDialCode: false,
51
+ enabledCountryCode: false,
52
+ mode: "international",
53
+ validCharactersOnly: true,
54
+ },
55
+ };
56
+ },
57
+ watch: {
58
+ value(newVal) {
59
+ this.$emit("onChange", newVal);
60
+ },
61
+ },
62
+ };
63
+ </script>
64
+ <style>
65
+ .vue-tel-input {
66
+ border: 1px solid #d1d5db !important;
67
+ @apply text-gray-900;
68
+ }
69
+
70
+ #c-phone {
71
+ border-top-right-radius: 0.375rem;
72
+ border-bottom-right-radius: 0.375rem;
73
+ }
74
+ .c-phone-wrapper {
75
+ border-radius: 0.375rem !important;
76
+ }
77
+ .vti__dropdown:hover {
78
+ border-top-left-radius: 0.375rem;
79
+ border-bottom-left-radius: 0.375rem;
80
+ }
81
+ </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