@pocketprep/ui-kit 3.1.6 → 3.2.1

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 (129) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/README.md +29 -8
  3. package/dist/@pocketprep/ui-kit.js +1772 -1737
  4. package/dist/@pocketprep/ui-kit.js.map +1 -1
  5. package/dist/@pocketprep/ui-kit.umd.cjs +4 -4
  6. package/dist/@pocketprep/ui-kit.umd.cjs.map +1 -1
  7. package/lib/components/BundleIcons/BundleIcon.vue +2 -2
  8. package/lib/components/Filters/FilterDropdown.vue +2 -2
  9. package/lib/components/Icons/Icon.vue +3 -0
  10. package/lib/components/Icons/IconPresent.vue +21 -0
  11. package/lib/components/Icons/icon.d.ts +2 -1
  12. package/lib/pocketprep.scss +12 -12
  13. package/package.json +14 -13
  14. package/lib/components/Banners/Banner.md +0 -41
  15. package/lib/components/Blobs/Blob.md +0 -10
  16. package/lib/components/Blobs/BlobEmptyState.md +0 -9
  17. package/lib/components/BundleIcons/BundleIcon.md +0 -60
  18. package/lib/components/Bundles/BundleList.md +0 -63
  19. package/lib/components/Bundles/BundleSearch.md +0 -195
  20. package/lib/components/Bundles/PremiumPill.md +0 -23
  21. package/lib/components/Buttons/Button.md +0 -99
  22. package/lib/components/Buttons/Link.md +0 -58
  23. package/lib/components/Buttons/Tab.md +0 -35
  24. package/lib/components/Calendar/Calendar.md +0 -18
  25. package/lib/components/Charts/Bar.md +0 -123
  26. package/lib/components/Charts/Pie.md +0 -23
  27. package/lib/components/Controls/SegmentControl.md +0 -47
  28. package/lib/components/Controls/Slider.md +0 -67
  29. package/lib/components/Controls/ToggleSwitch.md +0 -56
  30. package/lib/components/EmptyStates/EmptyState.md +0 -44
  31. package/lib/components/Exams/ExamCard.md +0 -45
  32. package/lib/components/Exams/ExamMenuCard.md +0 -90
  33. package/lib/components/Filters/FilterDropdown.md +0 -68
  34. package/lib/components/Filters/FilterOptions.md +0 -67
  35. package/lib/components/Forms/Checkbox.md +0 -52
  36. package/lib/components/Forms/CheckboxOption.md +0 -37
  37. package/lib/components/Forms/Errors.md +0 -23
  38. package/lib/components/Forms/Input.md +0 -63
  39. package/lib/components/Forms/Radio.md +0 -66
  40. package/lib/components/Forms/Select.md +0 -133
  41. package/lib/components/Forms/Textarea.md +0 -57
  42. package/lib/components/Icons/Icon.md +0 -151
  43. package/lib/components/Icons/IconAccordionArrow.md +0 -7
  44. package/lib/components/Icons/IconActivity.md +0 -7
  45. package/lib/components/Icons/IconAdd.md +0 -7
  46. package/lib/components/Icons/IconAddCircle.md +0 -7
  47. package/lib/components/Icons/IconArrow.md +0 -7
  48. package/lib/components/Icons/IconBarChart.md +0 -7
  49. package/lib/components/Icons/IconCalendar.md +0 -7
  50. package/lib/components/Icons/IconChat.md +0 -7
  51. package/lib/components/Icons/IconCheck.md +0 -7
  52. package/lib/components/Icons/IconClose.md +0 -7
  53. package/lib/components/Icons/IconCorrect.md +0 -7
  54. package/lib/components/Icons/IconEdit.md +0 -7
  55. package/lib/components/Icons/IconExam.md +0 -7
  56. package/lib/components/Icons/IconExternalLink.md +0 -7
  57. package/lib/components/Icons/IconEyeHide.md +0 -7
  58. package/lib/components/Icons/IconEyeShow.md +0 -7
  59. package/lib/components/Icons/IconFilter.md +0 -7
  60. package/lib/components/Icons/IconFilterActive.md +0 -7
  61. package/lib/components/Icons/IconFlag.md +0 -7
  62. package/lib/components/Icons/IconFlagContent.md +0 -7
  63. package/lib/components/Icons/IconFlagFeedback.md +0 -11
  64. package/lib/components/Icons/IconFlagFilled.md +0 -7
  65. package/lib/components/Icons/IconFullView.md +0 -7
  66. package/lib/components/Icons/IconFullViewActive.md +0 -7
  67. package/lib/components/Icons/IconHandle.md +0 -7
  68. package/lib/components/Icons/IconHeart.md +0 -7
  69. package/lib/components/Icons/IconHelp.md +0 -7
  70. package/lib/components/Icons/IconHourglass.md +0 -7
  71. package/lib/components/Icons/IconImage.md +0 -7
  72. package/lib/components/Icons/IconIncorrect.md +0 -7
  73. package/lib/components/Icons/IconInfo.md +0 -7
  74. package/lib/components/Icons/IconKeyboard.md +0 -7
  75. package/lib/components/Icons/IconLaunch.md +0 -7
  76. package/lib/components/Icons/IconLevelUp.md +0 -7
  77. package/lib/components/Icons/IconLightbulb.md +0 -5
  78. package/lib/components/Icons/IconLightning.md +0 -7
  79. package/lib/components/Icons/IconList.md +0 -7
  80. package/lib/components/Icons/IconLoading.md +0 -7
  81. package/lib/components/Icons/IconLoading2.md +0 -7
  82. package/lib/components/Icons/IconLock.md +0 -7
  83. package/lib/components/Icons/IconMissedQuestions.md +0 -7
  84. package/lib/components/Icons/IconMoon.md +0 -7
  85. package/lib/components/Icons/IconPaginationArrow.md +0 -7
  86. package/lib/components/Icons/IconPassage.md +0 -7
  87. package/lib/components/Icons/IconPencil.md +0 -7
  88. package/lib/components/Icons/IconPeople.md +0 -7
  89. package/lib/components/Icons/IconPercent.md +0 -7
  90. package/lib/components/Icons/IconPerson.md +0 -7
  91. package/lib/components/Icons/IconPreview.md +0 -7
  92. package/lib/components/Icons/IconQuestions.md +0 -7
  93. package/lib/components/Icons/IconQuick10.md +0 -7
  94. package/lib/components/Icons/IconRemoveCircle.md +0 -7
  95. package/lib/components/Icons/IconReviewFlag.md +0 -7
  96. package/lib/components/Icons/IconSearch.md +0 -7
  97. package/lib/components/Icons/IconShare.md +0 -7
  98. package/lib/components/Icons/IconSideBar.md +0 -7
  99. package/lib/components/Icons/IconSideBarActive.md +0 -7
  100. package/lib/components/Icons/IconStopwatch.md +0 -7
  101. package/lib/components/Icons/IconStrike.md +0 -60
  102. package/lib/components/Icons/IconSubject.md +0 -7
  103. package/lib/components/Icons/IconText.md +0 -7
  104. package/lib/components/Icons/IconTimer.md +0 -7
  105. package/lib/components/Icons/IconWarning.md +0 -7
  106. package/lib/components/Loaders/SkeletonLoader.md +0 -43
  107. package/lib/components/Modal/Modal.md +0 -31
  108. package/lib/components/Modal/ModalContainer.md +0 -96
  109. package/lib/components/Onboarding/EmailAuth.md +0 -40
  110. package/lib/components/Onboarding/MagicCodeEntry.md +0 -20
  111. package/lib/components/Pagination/QuestionReviewPagination.md +0 -19
  112. package/lib/components/Pagination/TablePagination.md +0 -19
  113. package/lib/components/PhonePerson/PhonePerson.md +0 -36
  114. package/lib/components/Quiz/FlagToggle.md +0 -37
  115. package/lib/components/Quiz/GlobalMetricsToggle.md +0 -46
  116. package/lib/components/Quiz/KeyboardShortcutsButton.md +0 -18
  117. package/lib/components/Quiz/KeyboardShortcutsModal.md +0 -71
  118. package/lib/components/Quiz/Question.md +0 -579
  119. package/lib/components/Quiz/QuizContainer.md +0 -91
  120. package/lib/components/Quiz/QuizProgress.md +0 -122
  121. package/lib/components/Quiz/QuizProgressBar.md +0 -131
  122. package/lib/components/Search/Pill.md +0 -37
  123. package/lib/components/Search/Search.md +0 -44
  124. package/lib/components/SidePanels/SidePanel.md +0 -126
  125. package/lib/components/Tables/StudyTable.md +0 -136
  126. package/lib/components/Tables/TeachTable.md +0 -696
  127. package/lib/components/Toasts/Toast.md +0 -35
  128. package/lib/components/Tooltips/OverflowTooltip.md +0 -14
  129. package/lib/components/Tooltips/Tooltip.md +0 -72
@@ -1,91 +0,0 @@
1
- ```vue
2
- <template>
3
- <div class="docs-quiz-container__container">
4
- <SVGDefinitions />
5
- <div class="docs-quiz-container__actions">
6
- <Button type="secondary" @click="width = 'mobile'">
7
- Mobile
8
- </Button>
9
- <Button type="secondary" @click="width = 'tablet-portrait'">
10
- Tablet Portrait
11
- </Button>
12
- <Button type="secondary" @click="width = 'tablet-landscape'">
13
- Tablet Landscape
14
- </Button>
15
- <Button type="secondary" @click="width = 'desktop'">
16
- Desktop
17
- </Button>
18
- <Button type="secondary" @click="width = 'desktop-large'">
19
- Desktop Large
20
- </Button>
21
- <div class="docs-quiz-container__side-toggle">
22
- <ToggleSwitch
23
- v-model="showSide"
24
- />
25
- Show Side Bar
26
- </div>
27
- </div>
28
- <div
29
- class="docs-quiz-container"
30
- :class="{
31
- 'docs-quiz-container--mobile': width === 'mobile',
32
- 'docs-quiz-container--tablet-portrait': width === 'tablet-portrait',
33
- 'docs-quiz-container--tablet-landscape': width === 'tablet-landscape',
34
- 'docs-quiz-container--desktop': width === 'desktop',
35
- 'docs-quiz-container--desktop-large': width === 'desktop-large',
36
- }"
37
- >
38
- <QuizContainer :show-side="showSide" />
39
- </div>
40
- </div>
41
- </template>
42
-
43
- <script>
44
- export default {
45
- data () {
46
- return {
47
- width: 'desktop',
48
- showSide: false,
49
- }
50
- }
51
- }
52
- </script>
53
-
54
- <style>
55
- .docs-quiz-container__actions {
56
- display: flex;
57
- }
58
-
59
- .docs-quiz-container__side-toggle {
60
- display: flex;
61
- align-items: center;
62
- justify-content: space-between;
63
- width: 154px;
64
- }
65
-
66
- .docs-quiz-container--mobile {
67
- width: 375px;
68
- height: 667px;
69
- }
70
-
71
- .docs-quiz-container--tablet-portrait {
72
- width: 768px;
73
- height: 1024px;
74
- }
75
-
76
- .docs-quiz-container--tablet-landscape {
77
- width: 1024px;
78
- height: 768px;
79
- }
80
-
81
- .docs-quiz-container--desktop {
82
- width: 1440px;
83
- height: 938px;
84
- }
85
-
86
- .docs-quiz-container--desktop-large {
87
- width: 1920px;
88
- height: 938px;
89
- }
90
- </style>
91
- ```
@@ -1,122 +0,0 @@
1
- ```vue
2
- <template>
3
- <div>
4
- <div class="docs-quiz-progress__checkbox-controls">
5
- <div class="docs-quiz-progress__checkbox">
6
- <Checkbox v-model="forceSlider" />
7
- Force Slider
8
- </div>
9
- </div>
10
- <div class="docs-quiz-progress__slider-controls">
11
- <div class="docs-quiz-progress__slider">
12
- Container Width
13
- <Slider class="docs-quiz-progress__slider-input" v-model="containerWidth" min="280" max="768" />
14
- </div>
15
- <div class="docs-quiz-progress__slider">
16
- Selected
17
- <Slider class="docs-quiz-progress__slider-input" v-model="selectedIndex" :max="numQuestions" />
18
- </div>
19
- <div class="docs-quiz-progress__slider">
20
- Total
21
- <Slider class="docs-quiz-progress__slider-input" v-model="numQuestions" min="1" max="200" />
22
- </div>
23
- </div>
24
- <div class="docs-quiz-progress__container" :style="{
25
- width: `${containerWidth}px`
26
- }">
27
- <div class="docs-quiz-progress__context">
28
- <div>Container Width: {{ containerWidth }}</div>
29
- <div>Answered: {{ answeredIndexList }}</div>
30
- <div>Selected: {{ selectedIndex }}</div>
31
- <div>Total: {{ numQuestions }}</div>
32
- </div>
33
- <QuizProgress
34
- :num-questions="numQuestions"
35
- :answered-index-list="answeredIndexList"
36
- :selected-index="selectedIndex"
37
- :force-slider="forceSlider"
38
- @barClicked="barClicked"
39
- />
40
- </div>
41
- </div>
42
- </template>
43
-
44
- <script>
45
- export default {
46
- data () {
47
- return {
48
- numQuestions: 100,
49
- answeredIndexList: [],
50
- selectedIndex: 0,
51
- containerWidth: 768,
52
- forceSlider: false,
53
- }
54
- },
55
- watch: {
56
- numQuestions (newVal) {
57
- this.answeredIndexList = []
58
- if (this.selectedIndex > newVal) {
59
- this.selectedIndex = newVal
60
- }
61
- }
62
- },
63
- methods: {
64
- barClicked(index) {
65
- this.answeredIndexList.push(index)
66
- this.selectedIndex = index
67
- }
68
- },
69
- }
70
- </script>
71
-
72
- <style>
73
- .docs-quiz-progress__checkbox-controls {
74
- display: flex;
75
- flex-wrap: wrap;
76
- justify-content: space-between;
77
- }
78
-
79
- .docs-quiz-progress__slider-controls {
80
- display: flex;
81
- flex-wrap: wrap;
82
- justify-content: space-between;
83
- }
84
-
85
- .docs-quiz-progress__checkbox {
86
- display: flex;
87
- align-items: center;
88
- }
89
-
90
- .docs-quiz-progress__checkbox .uikit-checkbox {
91
- margin-right: 10px;
92
- }
93
-
94
- .docs-quiz-progress__slider {
95
- display: flex;
96
- align-items: center;
97
- justify-content: space-between;
98
- width: 380px;
99
- margin: 5px;
100
- }
101
-
102
- .docs-quiz-progress__slider-input {
103
- width: 300px;
104
- }
105
-
106
- .docs-quiz-progress__container {
107
- background-color: #1f3545;
108
- height: 240px;
109
- display: flex;
110
- justify-content: center;
111
- align-items: center;
112
- position: relative;
113
- }
114
-
115
- .docs-quiz-progress__context {
116
- position: absolute;
117
- top: 12px;
118
- right: 12px;
119
- color: white;
120
- }
121
- </style>
122
- ```
@@ -1,131 +0,0 @@
1
- ```vue
2
- <template>
3
- <div>
4
- <div class="docs-quiz-progress-bar__controls">
5
- <div class="docs-quiz-progress-bar__slider">
6
- Answered
7
- <Slider class="docs-quiz-progress-bar__slider-input" v-model="numAnswered" :max="numBars" />
8
- </div>
9
- <div class="docs-quiz-progress-bar__slider">
10
- Selected
11
- <Slider class="docs-quiz-progress-bar__slider-input" v-model="indexOfSelected" :max="numBars" />
12
- </div>
13
- <div class="docs-quiz-progress-bar__slider">
14
- Total
15
- <Slider class="docs-quiz-progress-bar__slider-input" v-model="numBars" min="1" max="100" />
16
- </div>
17
- </div>
18
- <div class="docs-quiz-progress-bar__container">
19
- <div class="docs-quiz-progress-bar__context">
20
- <div>Answered: {{ numAnswered }}</div>
21
- <div>Selected: {{ indexOfSelected }}</div>
22
- <div>Total: {{ numBars }}</div>
23
- </div>
24
- <div class="docs-quiz-progress-bar" :style="{ width: fullBarWidth + 'px'}">
25
- <QuizProgressBar
26
- v-for="n in numBars"
27
- :key="n"
28
- :is-answered="n <= numAnswered"
29
- :is-selected="Number(n) === Number(indexOfSelected)"
30
- :style="{
31
- maxWidth: barWidthString,
32
- marginRight: n === numBars ? '0' : barMarginString,
33
- height: (numBars >= 50 && n === indexOfSelected) ? '8px' : '4px',
34
- }"
35
- @click="clickedBar(n)"
36
- @keydown.enter="clickedBar(n)"
37
- />
38
- </div>
39
- </div>
40
- </div>
41
- </template>
42
-
43
- <script>
44
- export default {
45
- data () {
46
- return {
47
- fullBarWidth: 334,
48
- numAnswered: 0,
49
- indexOfSelected: 0,
50
- numBars: 10,
51
- }
52
- },
53
- computed: {
54
- barWidth () {
55
- const numGaps = this.numBars - 1
56
- const widthOfAllGaps = numGaps * this.barMargin
57
- const availableWidth = this.fullBarWidth - widthOfAllGaps
58
- const barWidth = Math.max(Math.floor(availableWidth / this.numBars), 1)
59
- return this.numBars < 50 ? barWidth : Math.min(barWidth, 2)
60
- },
61
- barMargin () {
62
- return this.numBars < 50 ? 4 : 2
63
- },
64
- barWidthString () {
65
- return `${this.barWidth}px`
66
- },
67
- barMarginString () {
68
- return `${this.barMargin}px`
69
- },
70
- },
71
- watch: {
72
- numBars (newVal) {
73
- if (this.numAnswered > newVal) {
74
- this.numAnswered = newVal
75
- }
76
- if (this.indexOfSelected > newVal) {
77
- this.indexOfSelected = newVal
78
- }
79
- }
80
- },
81
- methods: {
82
- clickedBar(index) {
83
- this.indexOfSelected = index
84
- }
85
- },
86
- }
87
- </script>
88
-
89
- <style>
90
- .docs-quiz-progress-bar__controls {
91
- display: flex;
92
- flex-wrap: wrap;
93
- justify-content: space-between;
94
- }
95
-
96
- .docs-quiz-progress-bar__slider {
97
- display: flex;
98
- align-items: center;
99
- justify-content: space-between;
100
- width: 380px;
101
- margin: 5px;
102
- }
103
-
104
- .docs-quiz-progress-bar__slider-input {
105
- width: 300px;
106
- }
107
-
108
- .docs-quiz-progress-bar__container {
109
- width: 100%;
110
- background-color: #1f3545;
111
- height: 200px;
112
- display: flex;
113
- justify-content: center;
114
- align-items: center;
115
- position: relative;
116
- }
117
-
118
- .docs-quiz-progress-bar__context {
119
- position: absolute;
120
- top: 12px;
121
- right: 12px;
122
- color: white;
123
- }
124
-
125
- .docs-quiz-progress-bar {
126
- display: flex;
127
- justify-content: center;
128
- align-items: center;
129
- }
130
- </style>
131
- ```
@@ -1,37 +0,0 @@
1
- ```vue
2
- <template>
3
- <div>
4
- <div class="light">
5
- <Pill>Not Interactable</Pill>
6
- <Pill @click="showPill1 = false" v-if="showPill1" :show-close="true">Interactable</Pill>
7
- </div>
8
- <div class="dark">
9
- <Pill :is-dark-mode="true">Not Interactable</Pill>
10
- <Pill @click="showPill2 = false" v-if="showPill2" :is-dark-mode="true" :show-close="true">Interactable</Pill>
11
- </div>
12
- </div>
13
- </template>
14
-
15
- <script>
16
- export default {
17
- data () {
18
- return {
19
- showPill1: true,
20
- showPill2: true
21
- }
22
- }
23
- }
24
- </script>
25
-
26
- <style>
27
- .light,
28
- .dark {
29
- display: flex;
30
- padding: 15px;
31
- }
32
-
33
- .dark {
34
- background: #1f3545;
35
- }
36
- </style>
37
- ```
@@ -1,44 +0,0 @@
1
- ```vue
2
- <template>
3
- <div>
4
- <div class="search" :class="{ dark: isDarkMode }">
5
- <Button @click="isDarkMode = !isDarkMode">{{ isDarkMode ? 'Disable' : 'Enable' }} Dark Mode</Button>
6
- <Search :isDarkMode="isDarkMode" v-model="searchVal1" placeholder="Search with gray background" />
7
- <Search :isDarkMode="isDarkMode" v-model="searchVal2" type="white" placeholder="Search with white background" />
8
- <Search :isDarkMode="isDarkMode" v-model="searchVal2" type="white" placeholder="Disabled search" :disabled="true" />
9
- <Search :isDarkMode="isDarkMode" searchResultInfo="15 Results" v-model="searchVal3" type="white" placeholder="Search with white background and result info" />
10
- </div>
11
- </div>
12
- </template>
13
-
14
- <script>
15
- export default {
16
- data() {
17
- return {
18
- searchVal1: null,
19
- searchVal2: null,
20
- searchVal3: null,
21
- isDarkMode: false,
22
- }
23
- }
24
- }
25
- </script>
26
-
27
- <style lang="scss">
28
- .search {
29
- padding: 30px;
30
- }
31
-
32
- .dark {
33
- background-color: #1f3545;
34
- }
35
-
36
- .uikit-btn {
37
- margin-bottom: 30px;
38
- }
39
-
40
- .uikit-search {
41
- margin-bottom: 15px;
42
- }
43
- </style>
44
- ```
@@ -1,126 +0,0 @@
1
- ```vue
2
- <template>
3
- <div>
4
- <Button @click="isDarkMode = !isDarkMode">{{ isDarkMode ? 'Disable Dark Mode' : 'Enable Dark Mode' }}</Button>
5
- <Button @click="showSidePanel = true">Side Panel</Button>
6
- <Button @click="showSidePanelTabs = true">Side Panel w/ Tabs</Button>
7
- <Button @click="showMediumSidePanelTabs = true">Medium Side Panel w/ Tabs</Button>
8
- <SidePanel
9
- v-if="showSidePanelTabs"
10
- name="Example Panel"
11
- :tabs="tabs"
12
- :activeTabName="activeTab"
13
- :isDarkMode="isDarkMode"
14
- @close="showSidePanelTabs = false"
15
- @selectTab="selectTab"
16
- >
17
- <template v-if="activeTab === 'Tab 1'">
18
- Tab 1 tab content
19
- </template>
20
- <template v-if="activeTab === 'Another Tab'">
21
- Tab 1 tab content<br>
22
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,<br>
23
- <br>
24
- sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam,<br>
25
- <br>
26
- quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?<br>
27
- <br>
28
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,<br>
29
- <br>
30
- sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam,<br>
31
- <br>
32
- quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?<br>
33
- <br>
34
- sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam,<br>
35
- <br>
36
- quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
37
- </template>
38
- <template v-if="activeTab === 'Last Tab'">
39
- Last Tab tab content
40
- </template>
41
-
42
- <template #action>
43
- <Button :isDarkMode="isDarkMode">Submit</Button>
44
- </template>
45
-
46
- <template #details>
47
- Custom footer text
48
- </template>
49
- </SidePanel>
50
- <SidePanel
51
- v-if="showMediumSidePanelTabs"
52
- width="medium"
53
- name="Example Panel Example Panel Example Panel"
54
- :tabs="tabs"
55
- :activeTabName="activeTab"
56
- :isDarkMode="isDarkMode"
57
- @close="showMediumSidePanelTabs = false"
58
- @selectTab="selectTab"
59
- >
60
- <template v-if="activeTab === 'Tab 1'">
61
- Tab 1 tab content<br>
62
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,<br>
63
- <br>
64
- sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
65
- </template>
66
- <template v-if="activeTab === 'Another Tab'">
67
- Another Tab tab content
68
- </template>
69
- <template v-if="activeTab === 'Last Tab'">
70
- Last Tab tab content
71
- </template>
72
-
73
- <template #action>
74
- <Button :isDarkMode="isDarkMode">Submit</Button>
75
- </template>
76
-
77
- <template #details>
78
- Custom footer text
79
- </template>
80
- </SidePanel>
81
- <SidePanel
82
- v-if="showSidePanel"
83
- name="Example Panel"
84
- :isDarkMode="isDarkMode"
85
- @close="showSidePanel = false"
86
- >
87
- Side panel main content
88
-
89
- <Calendar v-model="calendar" />
90
-
91
- <template #action>
92
- <Button :isDarkMode="isDarkMode">Submit</Button>
93
- </template>
94
-
95
- <template #details>
96
- Custom footer text
97
- </template>
98
- </SidePanel>
99
- </div>
100
- </template>
101
-
102
- <script>
103
- export default {
104
- data() {
105
- return {
106
- showSidePanel: false,
107
- showSidePanelTabs: false,
108
- showMediumSidePanelTabs: false,
109
- isDarkMode: false,
110
- calendar: '',
111
- tabs: [
112
- 'Tab 1',
113
- 'Another Tab',
114
- 'Last Tab',
115
- ],
116
- activeTab: 'Another Tab',
117
- }
118
- },
119
- methods: {
120
- selectTab (tab) {
121
- this.activeTab = tab
122
- }
123
- }
124
- }
125
- </script>
126
- ```
@@ -1,136 +0,0 @@
1
- ```vue
2
- <template>
3
- <div>
4
- <Button class="btn-dm" @click="isDarkMode = !isDarkMode">{{ isDarkMode ? 'Disable' : 'Enable' }} Dark Mode</Button>
5
- <div class="tables" :class="{ dark: isDarkMode }">
6
- <div class="table-examples__summary" :class="{ 'table-examples__summary--dark': isDarkMode }">
7
- Open Table with sort, row button, no header label, and custom field
8
- <ul class="table-examples__list">
9
- <li>Study Settings - Exams</li>
10
- </ul>
11
- </div>
12
- <Table
13
- class="table-examples__1"
14
- theme="open"
15
- :rows="table1.rows"
16
- :columns="table1.columns"
17
- :show-header="false"
18
- @rowButtonClicked="table1.rowButtonClicked"
19
- @sort="table1.updateSortSettings"
20
- :isDarkMode="isDarkMode"
21
- >
22
- <template #tableCellValue="{ row, column }">
23
- <template v-if="column.propName === 'progress'">
24
- <div class="progress">
25
- <div class="progress__numbers" style="display: inline-block;">
26
- 6 / 60
27
- </div>
28
- <div class="progress__bar" style=" margin-left: 5px; width: 94px; height: 14px; background: #edeef3; display: inline-block;"></div>
29
- </div>
30
- </template>
31
- <template v-else-if="column.propName === 'action'">
32
- <Button :isDarkMode="isDarkMode" type="tertiary-small">Edit Exam</Button>
33
- </template>
34
- <template v-else>
35
- {{ row[column.propName] }}
36
- </template>
37
- </template>
38
- </Table>
39
- </div>
40
- </div>
41
- </template>
42
-
43
- <script>
44
- import Table from '../Tables/Table.vue'
45
- import Button from '../Buttons/Button.vue'
46
-
47
- // const grid = {
48
- // 'display': 'inline-grid',
49
- // 'grid-template-columns': 'repeat(2, minmax(150px, 1fr))',
50
- // }
51
- const grid = undefined
52
-
53
- const rows1 = [{
54
- id: 1,
55
- exam: 'ASWB LCSW',
56
- access: 'Basic',
57
- }, {
58
- id: 2,
59
- exam: 'ASWB MSW',
60
- access: 'Premium License Code',
61
- }]
62
- const columns1 = [{
63
- name: 'Exam',
64
- propName: 'exam',
65
- }, {
66
- name: 'Access',
67
- propName: 'access',
68
- }, {
69
- name: 'Progress',
70
- propName: 'progress',
71
- }, {
72
- name: 'Action',
73
- propName: 'action',
74
- isLabelHidden: true,
75
- isSortDisabled: true,
76
- }]
77
- const table1 = {
78
- rows: rows1,
79
- columns: columns1,
80
- updateSortSettings: (sortSettings) => {
81
- // noop
82
- },
83
- rowButtonClicked: (row) => {
84
- // noop
85
- },
86
- }
87
-
88
- export default {
89
- components: {
90
- Table,
91
- Button,
92
- },
93
- data () {
94
- return {
95
- grid,
96
- table1,
97
- isDarkMode: false,
98
- }
99
- },
100
- }
101
- </script>
102
-
103
- <style>
104
- .btn-dm {
105
- margin-bottom: 30px;
106
- }
107
-
108
- .tables {
109
- padding: 30px;
110
- }
111
-
112
- .dark {
113
- background-color: #1f3545;
114
- }
115
-
116
- .table-examples__1 {
117
- margin-bottom: 72px;
118
- }
119
-
120
- .table-examples__summary {
121
- background-color: #f4f5f9;
122
- padding: 10px;
123
- margin-bottom: 12px;
124
- border-radius: 6px;
125
- }
126
-
127
- .table-examples__summary--dark {
128
- background: #0f1d28;
129
- color: white;
130
- }
131
-
132
- .table-examples__list {
133
- margin: 0;
134
- }
135
- </style>
136
- ```