classcard-ui 0.2.542 → 0.2.545

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 +74 -78
  3. package/dist/classcard-ui.common.js.map +1 -1
  4. package/dist/classcard-ui.umd.js +74 -78
  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 -108
  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 +89 -89
  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 +150 -150
  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 +388 -380
  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 +134 -134
  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 +91 -91
  53. package/src/components/CEditor/index.js +2 -2
  54. package/src/components/CFormSectionHeading/CFormSectionHeading.vue +52 -52
  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 +72 -72
  59. package/src/components/CIcon/index.js +2 -2
  60. package/src/components/CIconDropdown/CIconDropdown.vue +105 -105
  61. package/src/components/CIconDropdown/index.js +2 -2
  62. package/src/components/CInput/CInput.vue +115 -115
  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 +84 -84
  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 +313 -313
  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 +62 -62
  81. package/src/components/CPhoneNumber/index.js +2 -2
  82. package/src/components/CRadio/CRadio.vue +114 -114
  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 +314 -314
  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 +94 -94
  93. package/src/components/CStackedList/index.js +2 -2
  94. package/src/components/CStats/CStats.vue +88 -88
  95. package/src/components/CStats/index.js +2 -2
  96. package/src/components/CSwitch/CSwitch.vue +132 -132
  97. package/src/components/CSwitch/index.js +2 -2
  98. package/src/components/CTable/CTable.vue +501 -501
  99. package/src/components/CTable/index.js +2 -2
  100. package/src/components/CTabs/CTabs.vue +107 -107
  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 +85 -85
  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 +201 -201
  109. package/src/components/CUpload/index.js +2 -2
  110. package/src/components/index.js +48 -48
  111. package/src/icons.js +261 -261
  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 +29 -29
  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
package/package.json CHANGED
@@ -1,81 +1,81 @@
1
- {
2
- "name": "classcard-ui",
3
- "version": "0.2.542",
4
- "main": "dist/classcard-ui.umd.min.js",
5
- "scripts": {
6
- "serve": "vue-cli-service serve",
7
- "build": "vue-cli-service build",
8
- "build-bundle": "vue-cli-service build --target lib --name classcard-ui src/main.js",
9
- "lint": "vue-cli-service lint",
10
- "storybook": "start-storybook -p 6006",
11
- "publish-to-npm": "npm version patch && git push && npm run build-bundle && npm publish",
12
- "build-storybook": "build-storybook"
13
- },
14
- "files": [
15
- "dist/*",
16
- "src/*"
17
- ],
18
- "dependencies": {
19
- "@shopify/draggable": "^1.0.0-beta.8",
20
- "@storybook/addon-postcss": "^2.0.0",
21
- "@tailwindcss/forms": "^0.2.1",
22
- "core-js": "^3.18.0",
23
- "dayjs": "^1.10.7",
24
- "filestack-js": "^3.25.0",
25
- "focus-trap-vue": "^1.1.1",
26
- "gridjs-selection": "^3.4.0",
27
- "gridjs-vue": "^3.4.0",
28
- "lodash-es": "^4.17.21",
29
- "v-calendar": "^2.3.2",
30
- "v-scroll-lock": "^1.3.1",
31
- "vue": "^2.6.14",
32
- "vue-good-table": "^2.21.8",
33
- "vue-multiselect": "^2.1.6",
34
- "vue-quill-editor": "^3.0.6",
35
- "vue-select": "^3.13.0",
36
- "vue-table-draggable": "^1.0.1",
37
- "vue-tailwind-picker": "^2.0.0",
38
- "vue-tel-input": "^4.4.2"
39
- },
40
- "devDependencies": {
41
- "@babel/core": "^7.15.5",
42
- "@storybook/addon-actions": "^6.5.7",
43
- "@storybook/addon-essentials": "^6.5.7",
44
- "@storybook/addon-links": "^6.5.7",
45
- "@storybook/vue": "^6.5.7",
46
- "@tailwindcss/postcss7-compat": "^2.2.14",
47
- "@types/lodash-es": "^4.17.5",
48
- "@vue/cli-plugin-babel": "^4.5.13",
49
- "@vue/cli-plugin-eslint": "^4.5.13",
50
- "@vue/cli-service": "^4.5.13",
51
- "autoprefixer": "^9.8.6",
52
- "babel-eslint": "^10.1.0",
53
- "babel-loader": "^8.2.2",
54
- "eslint": "^6.7.2",
55
- "eslint-plugin-vue": "^6.2.2",
56
- "postcss": "^7.0.36",
57
- "prettier": "^2.5.1",
58
- "prettier-plugin-tailwindcss": "^0.1.6",
59
- "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.14",
60
- "vue-template-compiler": "^2.6.14"
61
- },
62
- "eslintConfig": {
63
- "root": true,
64
- "env": {
65
- "node": true
66
- },
67
- "extends": [
68
- "plugin:vue/essential",
69
- "eslint:recommended"
70
- ],
71
- "parserOptions": {
72
- "parser": "babel-eslint"
73
- },
74
- "rules": {}
75
- },
76
- "browserslist": [
77
- "> 1%",
78
- "last 2 versions",
79
- "not dead"
80
- ]
81
- }
1
+ {
2
+ "name": "classcard-ui",
3
+ "version": "0.2.545",
4
+ "main": "dist/classcard-ui.umd.min.js",
5
+ "scripts": {
6
+ "serve": "vue-cli-service serve",
7
+ "build": "vue-cli-service build",
8
+ "build-bundle": "vue-cli-service build --target lib --name classcard-ui src/main.js",
9
+ "lint": "vue-cli-service lint",
10
+ "storybook": "start-storybook -p 6006",
11
+ "publish-to-npm": "npm version patch && git push && npm run build-bundle && npm publish",
12
+ "build-storybook": "build-storybook"
13
+ },
14
+ "files": [
15
+ "dist/*",
16
+ "src/*"
17
+ ],
18
+ "dependencies": {
19
+ "@shopify/draggable": "^1.0.0-beta.8",
20
+ "@storybook/addon-postcss": "^2.0.0",
21
+ "@tailwindcss/forms": "^0.2.1",
22
+ "core-js": "^3.18.0",
23
+ "dayjs": "^1.10.7",
24
+ "filestack-js": "^3.25.0",
25
+ "focus-trap-vue": "^1.1.1",
26
+ "gridjs-selection": "^3.4.0",
27
+ "gridjs-vue": "^3.4.0",
28
+ "lodash-es": "^4.17.21",
29
+ "v-calendar": "^2.3.2",
30
+ "v-scroll-lock": "^1.3.1",
31
+ "vue": "^2.6.14",
32
+ "vue-good-table": "^2.21.8",
33
+ "vue-multiselect": "^2.1.6",
34
+ "vue-quill-editor": "^3.0.6",
35
+ "vue-select": "^3.13.0",
36
+ "vue-table-draggable": "^1.0.1",
37
+ "vue-tailwind-picker": "^2.0.0",
38
+ "vue-tel-input": "^4.4.2"
39
+ },
40
+ "devDependencies": {
41
+ "@babel/core": "^7.15.5",
42
+ "@storybook/addon-actions": "^6.5.8",
43
+ "@storybook/addon-essentials": "^6.5.8",
44
+ "@storybook/addon-links": "^6.5.8",
45
+ "@storybook/vue": "^6.5.8",
46
+ "@tailwindcss/postcss7-compat": "^2.2.14",
47
+ "@types/lodash-es": "^4.17.5",
48
+ "@vue/cli-plugin-babel": "^4.5.13",
49
+ "@vue/cli-plugin-eslint": "^4.5.13",
50
+ "@vue/cli-service": "^4.5.13",
51
+ "autoprefixer": "^9.8.6",
52
+ "babel-eslint": "^10.1.0",
53
+ "babel-loader": "^8.2.2",
54
+ "eslint": "^6.7.2",
55
+ "eslint-plugin-vue": "^6.2.2",
56
+ "postcss": "^7.0.36",
57
+ "prettier": "^2.5.1",
58
+ "prettier-plugin-tailwindcss": "^0.1.6",
59
+ "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.14",
60
+ "vue-template-compiler": "^2.6.14"
61
+ },
62
+ "eslintConfig": {
63
+ "root": true,
64
+ "env": {
65
+ "node": true
66
+ },
67
+ "extends": [
68
+ "plugin:vue/essential",
69
+ "eslint:recommended"
70
+ ],
71
+ "parserOptions": {
72
+ "parser": "babel-eslint"
73
+ },
74
+ "rules": {}
75
+ },
76
+ "browserslist": [
77
+ "> 1%",
78
+ "last 2 versions",
79
+ "not dead"
80
+ ]
81
+ }
package/src/App.vue CHANGED
@@ -1,16 +1,16 @@
1
- <template>
2
- <div id="app">
3
-
4
- </div>
5
- </template>
6
-
7
- <script>
8
-
9
- export default {
10
- name: 'App'
11
- }
12
- </script>
13
-
14
- <style>
15
-
16
- </style>
1
+ <template>
2
+ <div id="app">
3
+
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+
9
+ export default {
10
+ name: 'App'
11
+ }
12
+ </script>
13
+
14
+ <style>
15
+
16
+ </style>
@@ -1,70 +1,70 @@
1
- <template>
2
- <div :class=" type == 'withAccentBorder' ? `bg-${color}-50 border-l-4 border-${color}-400 p-4` : `rounded-md bg-${color}-50 p-4`">
3
- <div class="flex">
4
- <div class="flex-shrink-0" v-if="icon">
5
- <c-icon :type="icon.type" :name="icon.name" :class="`h-5 w-5 text-${color}-700`"></c-icon>
6
- </div>
7
- <div class="ml-3" v-if="type == 'withAccentBorder'">
8
- <p :class="`text-sm text-${color}-700`">
9
- <a href="#" :class="`font-medium underline text-${color}-700 hover:text-${color}-600`">
10
- {{linkLabel}}
11
- </a>
12
- {{label}}
13
- </p>
14
- </div>
15
- <div v-else class="ml-3">
16
- <h3 :class="`text-sm font-medium text-${color}-800`">
17
- {{label}}
18
- </h3>
19
- <div :class="`mt-2 text-sm text-${color}-700`" v-if="description">
20
- <p>
21
- {{description}}
22
- </p>
23
- </div>
24
- <div class="mt-4" v-if="type == 'withActions'">
25
- <div class="-mx-2 -my-1.5 flex">
26
- <button :class="`bg-${color}-50 px-2 py-1.5 rounded-md text-sm font-medium text-${color}-800 hover:bg-${color}-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-${color}-50 focus:ring-${color}-600`">
27
- {{actions.label}}
28
- </button>
29
- </div>
30
- </div>
31
- </div>
32
- </div>
33
- </div>
34
-
35
- </template>
36
- <script>
37
- import CIcon from "../CIcon/CIcon.vue";
38
- export default {
39
- name: "CAlerts",
40
- components: {
41
- CIcon,
42
- },
43
- props: {
44
- label: {
45
- type: String,
46
- },
47
- icon: {
48
- type: Object,
49
- },
50
- classes:{
51
- type:String
52
- },
53
- color:{
54
- type:String
55
- },
56
- type:{
57
- type:String
58
- },
59
- description:{
60
- type:String
61
- },
62
- actions:{
63
- type:Object
64
- },
65
- linkLabel:{
66
- type:String
67
- }
68
- },
69
- };
70
- </script>
1
+ <template>
2
+ <div :class=" type == 'withAccentBorder' ? `bg-${color}-50 border-l-4 border-${color}-400 p-4` : `rounded-md bg-${color}-50 p-4`">
3
+ <div class="flex">
4
+ <div class="flex-shrink-0" v-if="icon">
5
+ <c-icon :type="icon.type" :name="icon.name" :class="`h-5 w-5 text-${color}-700`"></c-icon>
6
+ </div>
7
+ <div class="ml-3" v-if="type == 'withAccentBorder'">
8
+ <p :class="`text-sm text-${color}-700`">
9
+ <a href="#" :class="`font-medium underline text-${color}-700 hover:text-${color}-600`">
10
+ {{linkLabel}}
11
+ </a>
12
+ {{label}}
13
+ </p>
14
+ </div>
15
+ <div v-else class="ml-3">
16
+ <h3 :class="`text-sm font-medium text-${color}-800`">
17
+ {{label}}
18
+ </h3>
19
+ <div :class="`mt-2 text-sm text-${color}-700`" v-if="description">
20
+ <p>
21
+ {{description}}
22
+ </p>
23
+ </div>
24
+ <div class="mt-4" v-if="type == 'withActions'">
25
+ <div class="-mx-2 -my-1.5 flex">
26
+ <button :class="`bg-${color}-50 px-2 py-1.5 rounded-md text-sm font-medium text-${color}-800 hover:bg-${color}-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-${color}-50 focus:ring-${color}-600`">
27
+ {{actions.label}}
28
+ </button>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </div>
34
+
35
+ </template>
36
+ <script>
37
+ import CIcon from "../CIcon/CIcon.vue";
38
+ export default {
39
+ name: "CAlerts",
40
+ components: {
41
+ CIcon,
42
+ },
43
+ props: {
44
+ label: {
45
+ type: String,
46
+ },
47
+ icon: {
48
+ type: Object,
49
+ },
50
+ classes:{
51
+ type:String
52
+ },
53
+ color:{
54
+ type:String
55
+ },
56
+ type:{
57
+ type:String
58
+ },
59
+ description:{
60
+ type:String
61
+ },
62
+ actions:{
63
+ type:Object
64
+ },
65
+ linkLabel:{
66
+ type:String
67
+ }
68
+ },
69
+ };
70
+ </script>
@@ -1,3 +1,3 @@
1
- import CAlerts from './CAlerts.vue'
2
-
1
+ import CAlerts from './CAlerts.vue'
2
+
3
3
  export default CAlerts
@@ -1,108 +1,96 @@
1
- <template>
2
- <div>
3
- <div class="sm:hidden">
4
- <label for="tabs" class="sr-only">Select a tab</label>
5
- <select
6
- class="block w-full rounded-md border-gray-300 focus:border-indigo-500 focus:ring-indigo-500"
7
- >
8
- <option>My Account</option>
9
-
10
- <option>Company</option>
11
-
12
- <option selected>Team Members</option>
13
-
14
- <option>Billing</option>
15
- </select>
16
- </div>
17
- <div class="hidden sm:block">
18
- <div class="border-b border-gray-200">
19
- <nav :class="classes" class="-mb-px flex space-x-8" aria-label="Tabs">
20
- <a
21
- v-for="tab in tabs"
22
- :key="tab.name"
23
- @click="switchTab(tab.name)"
24
- :class="
25
- activeTab == tab.name
26
- ? 'border-indigo-600 text-indigo-700 hover:text-indigo-800'
27
- : 'border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700'
28
- "
29
- class="group inline-flex cursor-pointer items-center whitespace-nowrap border-b-2 py-4 px-1 text-sm font-medium"
30
- >
31
- <c-icon
32
- v-if="tab.icon"
33
- :name="tab.icon"
34
- class="-ml-0.5 mr-2 h-5 w-5"
35
- type="solid"
36
- :class="
37
- activeTab == tab.name
38
- ? 'text-indigo-700 group-hover:text-indigo-800'
39
- : 'text-gray-400 group-hover:text-gray-500 '
40
- "
41
- ></c-icon>
42
- <span
43
- :class="
44
- activeTab == tab.name
45
- ? 'font-semibold text-indigo-700'
46
- : 'text-gray-500 hover:text-gray-700'
47
- "
48
- >
49
- {{ tab.text }}
50
- </span>
51
- </a>
52
- </nav>
53
- </div>
54
- <div ref="accounts">
55
- Accounts section
56
- </div>
57
- <br>
58
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
59
- <div ref="members">
60
- members section
61
- </div>
62
- <slot></slot>
63
- </div>
64
- </div>
65
- </template>
66
- <script>
67
- import CIcon from "../CIcon/CIcon.vue";
68
- export default {
69
- name: "CAnchorTabs",
70
- components: { CIcon },
71
- props: {
72
- tabs: {
73
- type: Array,
74
- required: true,
75
- },
76
- initialTab: {
77
- type: String,
78
- },
79
- classes: {
80
- type: String,
81
- },
82
- },
83
- data() {
84
- return {
85
- activeTab: this.initialTab,
86
- };
87
- },
88
- methods: {
89
- switchTab(name) {
90
- console.log(name)
91
- this.activeTab = name;
92
- let element = this.$refs[name];
93
- console.log(element)
94
- let topPos = element.offsetTop;
95
- document.getElementById("container").scrollTop = topPos;
96
- },
97
- switchTabForMobile(index) {
98
- var selectedOption = this.tabs[index];
99
- this.activeTab = selectedOption.text;
100
- },
101
- },
102
- watch: {
103
- initialTab() {
104
- this.activeTab = this.value;
105
- },
106
- },
107
- };
108
- </script>
1
+ <template>
2
+ <div>
3
+ <div class="sm:hidden">
4
+ <label for="tabs" class="sr-only">Select a tab</label>
5
+ <select
6
+ class="block w-full rounded-md border-gray-300 focus:border-indigo-500 focus:ring-indigo-500"
7
+ >
8
+ <option>My Account</option>
9
+
10
+ <option>Company</option>
11
+
12
+ <option selected>Team Members</option>
13
+
14
+ <option>Billing</option>
15
+ </select>
16
+ </div>
17
+ <div class="hidden sm:block">
18
+ <div class="border-b border-gray-200">
19
+ <nav :class="classes" class="-mb-px flex space-x-8" aria-label="Tabs">
20
+ <a
21
+ v-for="tab in tabs"
22
+ :key="tab.name"
23
+ @click="switchTab(tab.name)"
24
+ :class="
25
+ activeTab == tab.name
26
+ ? 'border-indigo-600 text-indigo-700 hover:text-indigo-800'
27
+ : 'border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700'
28
+ "
29
+ class="group inline-flex cursor-pointer items-center whitespace-nowrap border-b-2 py-4 px-1 text-sm font-medium"
30
+ >
31
+ <c-icon
32
+ v-if="tab.icon"
33
+ :name="tab.icon"
34
+ class="-ml-0.5 mr-2 h-5 w-5"
35
+ type="solid"
36
+ :class="
37
+ activeTab == tab.name
38
+ ? 'text-indigo-700 group-hover:text-indigo-800'
39
+ : 'text-gray-400 group-hover:text-gray-500 '
40
+ "
41
+ ></c-icon>
42
+ <span
43
+ :class="
44
+ activeTab == tab.name
45
+ ? 'font-semibold text-indigo-700'
46
+ : 'text-gray-500 hover:text-gray-700'
47
+ "
48
+ >
49
+ {{ tab.text }}
50
+ </span>
51
+ </a>
52
+ </nav>
53
+ </div>
54
+ <slot></slot>
55
+ </div>
56
+ </div>
57
+ </template>
58
+ <script>
59
+ import CIcon from "../CIcon/CIcon.vue";
60
+ export default {
61
+ name: "CAnchorTabs",
62
+ components: { CIcon },
63
+ props: {
64
+ tabs: {
65
+ type: Array,
66
+ required: true,
67
+ },
68
+ initialTab: {
69
+ type: String,
70
+ },
71
+ classes: {
72
+ type: String,
73
+ },
74
+ },
75
+ data() {
76
+ return {
77
+ activeTab: this.initialTab,
78
+ };
79
+ },
80
+ methods: {
81
+ switchTab(name) {
82
+ this.activeTab = name;
83
+ this.$emit("tabSwitched", name);
84
+ },
85
+ switchTabForMobile(index) {
86
+ var selectedOption = this.tabs[index];
87
+ this.activeTab = selectedOption.text;
88
+ },
89
+ },
90
+ watch: {
91
+ initialTab() {
92
+ this.activeTab = this.value;
93
+ },
94
+ },
95
+ };
96
+ </script>
@@ -1,3 +1,3 @@
1
- import CAnchorTabs from './CAnchorTabs.vue'
2
-
1
+ import CAnchorTabs from './CAnchorTabs.vue'
2
+
3
3
  export default CAnchorTabs