@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.
- package/.eslintrc.cjs +1 -0
- package/README.md +29 -8
- package/dist/@pocketprep/ui-kit.js +1772 -1737
- package/dist/@pocketprep/ui-kit.js.map +1 -1
- package/dist/@pocketprep/ui-kit.umd.cjs +4 -4
- package/dist/@pocketprep/ui-kit.umd.cjs.map +1 -1
- package/lib/components/BundleIcons/BundleIcon.vue +2 -2
- package/lib/components/Filters/FilterDropdown.vue +2 -2
- package/lib/components/Icons/Icon.vue +3 -0
- package/lib/components/Icons/IconPresent.vue +21 -0
- package/lib/components/Icons/icon.d.ts +2 -1
- package/lib/pocketprep.scss +12 -12
- package/package.json +14 -13
- package/lib/components/Banners/Banner.md +0 -41
- package/lib/components/Blobs/Blob.md +0 -10
- package/lib/components/Blobs/BlobEmptyState.md +0 -9
- package/lib/components/BundleIcons/BundleIcon.md +0 -60
- package/lib/components/Bundles/BundleList.md +0 -63
- package/lib/components/Bundles/BundleSearch.md +0 -195
- package/lib/components/Bundles/PremiumPill.md +0 -23
- package/lib/components/Buttons/Button.md +0 -99
- package/lib/components/Buttons/Link.md +0 -58
- package/lib/components/Buttons/Tab.md +0 -35
- package/lib/components/Calendar/Calendar.md +0 -18
- package/lib/components/Charts/Bar.md +0 -123
- package/lib/components/Charts/Pie.md +0 -23
- package/lib/components/Controls/SegmentControl.md +0 -47
- package/lib/components/Controls/Slider.md +0 -67
- package/lib/components/Controls/ToggleSwitch.md +0 -56
- package/lib/components/EmptyStates/EmptyState.md +0 -44
- package/lib/components/Exams/ExamCard.md +0 -45
- package/lib/components/Exams/ExamMenuCard.md +0 -90
- package/lib/components/Filters/FilterDropdown.md +0 -68
- package/lib/components/Filters/FilterOptions.md +0 -67
- package/lib/components/Forms/Checkbox.md +0 -52
- package/lib/components/Forms/CheckboxOption.md +0 -37
- package/lib/components/Forms/Errors.md +0 -23
- package/lib/components/Forms/Input.md +0 -63
- package/lib/components/Forms/Radio.md +0 -66
- package/lib/components/Forms/Select.md +0 -133
- package/lib/components/Forms/Textarea.md +0 -57
- package/lib/components/Icons/Icon.md +0 -151
- package/lib/components/Icons/IconAccordionArrow.md +0 -7
- package/lib/components/Icons/IconActivity.md +0 -7
- package/lib/components/Icons/IconAdd.md +0 -7
- package/lib/components/Icons/IconAddCircle.md +0 -7
- package/lib/components/Icons/IconArrow.md +0 -7
- package/lib/components/Icons/IconBarChart.md +0 -7
- package/lib/components/Icons/IconCalendar.md +0 -7
- package/lib/components/Icons/IconChat.md +0 -7
- package/lib/components/Icons/IconCheck.md +0 -7
- package/lib/components/Icons/IconClose.md +0 -7
- package/lib/components/Icons/IconCorrect.md +0 -7
- package/lib/components/Icons/IconEdit.md +0 -7
- package/lib/components/Icons/IconExam.md +0 -7
- package/lib/components/Icons/IconExternalLink.md +0 -7
- package/lib/components/Icons/IconEyeHide.md +0 -7
- package/lib/components/Icons/IconEyeShow.md +0 -7
- package/lib/components/Icons/IconFilter.md +0 -7
- package/lib/components/Icons/IconFilterActive.md +0 -7
- package/lib/components/Icons/IconFlag.md +0 -7
- package/lib/components/Icons/IconFlagContent.md +0 -7
- package/lib/components/Icons/IconFlagFeedback.md +0 -11
- package/lib/components/Icons/IconFlagFilled.md +0 -7
- package/lib/components/Icons/IconFullView.md +0 -7
- package/lib/components/Icons/IconFullViewActive.md +0 -7
- package/lib/components/Icons/IconHandle.md +0 -7
- package/lib/components/Icons/IconHeart.md +0 -7
- package/lib/components/Icons/IconHelp.md +0 -7
- package/lib/components/Icons/IconHourglass.md +0 -7
- package/lib/components/Icons/IconImage.md +0 -7
- package/lib/components/Icons/IconIncorrect.md +0 -7
- package/lib/components/Icons/IconInfo.md +0 -7
- package/lib/components/Icons/IconKeyboard.md +0 -7
- package/lib/components/Icons/IconLaunch.md +0 -7
- package/lib/components/Icons/IconLevelUp.md +0 -7
- package/lib/components/Icons/IconLightbulb.md +0 -5
- package/lib/components/Icons/IconLightning.md +0 -7
- package/lib/components/Icons/IconList.md +0 -7
- package/lib/components/Icons/IconLoading.md +0 -7
- package/lib/components/Icons/IconLoading2.md +0 -7
- package/lib/components/Icons/IconLock.md +0 -7
- package/lib/components/Icons/IconMissedQuestions.md +0 -7
- package/lib/components/Icons/IconMoon.md +0 -7
- package/lib/components/Icons/IconPaginationArrow.md +0 -7
- package/lib/components/Icons/IconPassage.md +0 -7
- package/lib/components/Icons/IconPencil.md +0 -7
- package/lib/components/Icons/IconPeople.md +0 -7
- package/lib/components/Icons/IconPercent.md +0 -7
- package/lib/components/Icons/IconPerson.md +0 -7
- package/lib/components/Icons/IconPreview.md +0 -7
- package/lib/components/Icons/IconQuestions.md +0 -7
- package/lib/components/Icons/IconQuick10.md +0 -7
- package/lib/components/Icons/IconRemoveCircle.md +0 -7
- package/lib/components/Icons/IconReviewFlag.md +0 -7
- package/lib/components/Icons/IconSearch.md +0 -7
- package/lib/components/Icons/IconShare.md +0 -7
- package/lib/components/Icons/IconSideBar.md +0 -7
- package/lib/components/Icons/IconSideBarActive.md +0 -7
- package/lib/components/Icons/IconStopwatch.md +0 -7
- package/lib/components/Icons/IconStrike.md +0 -60
- package/lib/components/Icons/IconSubject.md +0 -7
- package/lib/components/Icons/IconText.md +0 -7
- package/lib/components/Icons/IconTimer.md +0 -7
- package/lib/components/Icons/IconWarning.md +0 -7
- package/lib/components/Loaders/SkeletonLoader.md +0 -43
- package/lib/components/Modal/Modal.md +0 -31
- package/lib/components/Modal/ModalContainer.md +0 -96
- package/lib/components/Onboarding/EmailAuth.md +0 -40
- package/lib/components/Onboarding/MagicCodeEntry.md +0 -20
- package/lib/components/Pagination/QuestionReviewPagination.md +0 -19
- package/lib/components/Pagination/TablePagination.md +0 -19
- package/lib/components/PhonePerson/PhonePerson.md +0 -36
- package/lib/components/Quiz/FlagToggle.md +0 -37
- package/lib/components/Quiz/GlobalMetricsToggle.md +0 -46
- package/lib/components/Quiz/KeyboardShortcutsButton.md +0 -18
- package/lib/components/Quiz/KeyboardShortcutsModal.md +0 -71
- package/lib/components/Quiz/Question.md +0 -579
- package/lib/components/Quiz/QuizContainer.md +0 -91
- package/lib/components/Quiz/QuizProgress.md +0 -122
- package/lib/components/Quiz/QuizProgressBar.md +0 -131
- package/lib/components/Search/Pill.md +0 -37
- package/lib/components/Search/Search.md +0 -44
- package/lib/components/SidePanels/SidePanel.md +0 -126
- package/lib/components/Tables/StudyTable.md +0 -136
- package/lib/components/Tables/TeachTable.md +0 -696
- package/lib/components/Toasts/Toast.md +0 -35
- package/lib/components/Tooltips/OverflowTooltip.md +0 -14
- package/lib/components/Tooltips/Tooltip.md +0 -72
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
<!-- eslint-disable -->
|
|
1
2
|
<template>
|
|
2
|
-
<!-- eslint-disable -->
|
|
3
3
|
<div class="uikit-bundle-icon">
|
|
4
4
|
<AMTA v-if="bundleId === 'VEcpw3DhnA' && theme === 'color'" />
|
|
5
5
|
<svg v-else width="209px" height="209px" viewBox="0 0 209 209" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
</g>
|
|
24
24
|
</svg>
|
|
25
25
|
</div>
|
|
26
|
-
<!-- eslint-enable -->
|
|
27
26
|
</template>
|
|
27
|
+
<!-- eslint-enable -->
|
|
28
28
|
|
|
29
29
|
<script lang="ts">
|
|
30
30
|
import { Component, Vue, Prop } from 'vue-facing-decorator'
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
role="button"
|
|
13
13
|
type="tertiary"
|
|
14
14
|
tabindex="0"
|
|
15
|
-
@keypress.enter="showFilterDropdown"
|
|
16
|
-
@click="showFilterDropdown = !showFilterDropdown"
|
|
15
|
+
@keypress.enter="() => showFilterDropdown = !showFilterDropdown"
|
|
16
|
+
@click="() => showFilterDropdown = !showFilterDropdown"
|
|
17
17
|
>
|
|
18
18
|
<Icon
|
|
19
19
|
type="filter"
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
<IconLightbulb v-else-if="type === 'lightbulb'" :title="title" />
|
|
71
71
|
<IconChat v-else-if="type === 'chat'" :title="title" />
|
|
72
72
|
<IconPreview v-else-if="type === 'preview'" :title="title" />
|
|
73
|
+
<IconPresent v-else-if="type === 'present'" :title="title" />
|
|
73
74
|
</template>
|
|
74
75
|
|
|
75
76
|
<script lang="ts">
|
|
@@ -138,6 +139,7 @@ import type { TIconType } from './icon'
|
|
|
138
139
|
import IconPercent from './IconPercent.vue'
|
|
139
140
|
import IconPerson from './IconPerson.vue'
|
|
140
141
|
import IconTimer from './IconTimer.vue'
|
|
142
|
+
import IconPresent from './IconPresent.vue'
|
|
141
143
|
|
|
142
144
|
@Component({
|
|
143
145
|
components: {
|
|
@@ -204,6 +206,7 @@ import IconTimer from './IconTimer.vue'
|
|
|
204
206
|
IconChat,
|
|
205
207
|
IconPreview,
|
|
206
208
|
IconTimer,
|
|
209
|
+
IconPresent,
|
|
207
210
|
},
|
|
208
211
|
})
|
|
209
212
|
export default class Icon extends Vue {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<!-- eslint-disable -->
|
|
3
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
4
|
+
<title>{{ title }}</title>
|
|
5
|
+
<path d="M3.3 11.05H20.7V19.25C20.7 19.9127 20.1627 20.45 19.5 20.45H4.5C3.83726 20.45 3.3 19.9127 3.3 19.25V11.05Z" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/>
|
|
6
|
+
<rect x="2.3" y="7.05" width="19.4" height="4.4" rx="1.2" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/>
|
|
7
|
+
<rect x="11.2" y="6.25" width="1.6" height="15" fill="currentColor"/>
|
|
8
|
+
<path d="M11.5 5.89096C11.5 4.39096 11 1.59096 9.00005 2.39096C6.50005 3.39096 6.50005 6.89099 11.5 5.89096Z" stroke="currentColor" stroke-width="1.6"/>
|
|
9
|
+
<path d="M12 5.89096C12 4.39096 12.5 1.59096 14.5 2.39096C17 3.39096 17 6.89099 12 5.89096Z" stroke="currentColor" stroke-width="1.6"/>
|
|
10
|
+
</svg>
|
|
11
|
+
<!-- eslint-enable -->
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script lang="ts">
|
|
15
|
+
import { Component, Vue, Prop } from 'vue-facing-decorator'
|
|
16
|
+
|
|
17
|
+
@Component
|
|
18
|
+
export default class IconPresent extends Vue {
|
|
19
|
+
@Prop() title!: string
|
|
20
|
+
}
|
|
21
|
+
</script>
|
package/lib/pocketprep.scss
CHANGED
|
@@ -26,30 +26,30 @@ textarea {
|
|
|
26
26
|
.uikit-slider__slide-input {
|
|
27
27
|
&:focus {
|
|
28
28
|
&::-webkit-slider-thumb {
|
|
29
|
-
background-image: url("
|
|
29
|
+
background-image: url("@/assets/images/thumb-small.svg") !important;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
&::-moz-range-thumb {
|
|
33
|
-
background-image: url("
|
|
33
|
+
background-image: url("@/assets/images/thumb-small.svg") !important;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
&::-ms-thumb {
|
|
37
|
-
background-image: url("
|
|
37
|
+
background-image: url("@/assets/images/thumb-small.svg") !important;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
&--dark {
|
|
42
42
|
&:focus {
|
|
43
43
|
&::-webkit-slider-thumb {
|
|
44
|
-
background-image: url("
|
|
44
|
+
background-image: url("@/assets/images/thumb-small-dark.svg") !important;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
&::-moz-range-thumb {
|
|
48
|
-
background-image: url("
|
|
48
|
+
background-image: url("@/assets/images/thumb-small-dark.svg") !important;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
&::-ms-thumb {
|
|
52
|
-
background-image: url("
|
|
52
|
+
background-image: url("@/assets/images/thumb-small-dark.svg") !important;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -61,30 +61,30 @@ textarea {
|
|
|
61
61
|
.uikit-slider__slide-input {
|
|
62
62
|
&:focus {
|
|
63
63
|
&::-webkit-slider-thumb {
|
|
64
|
-
background-image: url("
|
|
64
|
+
background-image: url("@/assets/images/thumb-large.svg") !important;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
&::-moz-range-thumb {
|
|
68
|
-
background-image: url("
|
|
68
|
+
background-image: url("@/assets/images/thumb-large.svg") !important;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
&::-ms-thumb {
|
|
72
|
-
background-image: url("
|
|
72
|
+
background-image: url("@/assets/images/thumb-large.svg") !important;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
&--dark {
|
|
77
77
|
&:focus {
|
|
78
78
|
&::-webkit-slider-thumb {
|
|
79
|
-
background-image: url("
|
|
79
|
+
background-image: url("@/assets/images/thumb-large-dark.svg") !important;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
&::-moz-range-thumb {
|
|
83
|
-
background-image: url("
|
|
83
|
+
background-image: url("@/assets/images/thumb-large-dark.svg") !important;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
&::-ms-thumb {
|
|
87
|
-
background-image: url("
|
|
87
|
+
background-image: url("@/assets/images/thumb-large-dark.svg") !important;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pocketprep/ui-kit",
|
|
3
|
-
"version": "3.1
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "Pocket Prep UI Kit",
|
|
5
5
|
"author": "pocketprep",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"dev": "vite",
|
|
7
|
+
"dev": "vite --config vite.config.docs.ts",
|
|
8
8
|
"build": "run-p type-check build-only",
|
|
9
|
-
"
|
|
9
|
+
"build-only": "vite build && vite build --config vite.config.docs.ts",
|
|
10
|
+
"preview": "vite preview --config vite.config.docs.ts",
|
|
11
|
+
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --ignore-path .gitignore && stylelint '**/*.{scss,vue}'",
|
|
12
|
+
"type-check": "vue-tsc --noEmit -p tsconfig.json --composite false",
|
|
10
13
|
"test:e2e": "start-server-and-test preview :4173 'cypress run --e2e'",
|
|
11
14
|
"test:e2e:dev": "start-server-and-test 'vite dev --port 4173' :4173 'cypress open --e2e'",
|
|
12
15
|
"test:unit": "cypress run --component",
|
|
13
16
|
"test:unit:dev": "cypress open --component",
|
|
14
|
-
"build-only": "vite build",
|
|
15
|
-
"minor": "npm version minor --no-git-tag-version",
|
|
16
|
-
"type-check": "vue-tsc --noEmit -p tsconfig.json --composite false",
|
|
17
17
|
"patch": "npm version patch --no-git-tag-version",
|
|
18
|
-
"
|
|
18
|
+
"minor": "npm version minor --no-git-tag-version",
|
|
19
19
|
"uikit-copy": "npm run build && pwd | pbcopy"
|
|
20
20
|
},
|
|
21
21
|
"type": "module",
|
|
@@ -73,14 +73,15 @@
|
|
|
73
73
|
"highcharts": "10.3.3",
|
|
74
74
|
"litepicker": "2.0.12",
|
|
75
75
|
"resize-observer": "1.0.4",
|
|
76
|
-
"vue": "3.
|
|
77
|
-
"vue-facing-decorator": "2.1.20"
|
|
76
|
+
"vue": "3.4.15",
|
|
77
|
+
"vue-facing-decorator": "2.1.20",
|
|
78
|
+
"vue-router": "4.2.5"
|
|
78
79
|
},
|
|
79
80
|
"devDependencies": {
|
|
80
81
|
"@pocketprep/types": "1.11.1",
|
|
81
82
|
"@tsconfig/node16": "1.0.3",
|
|
82
83
|
"@types/node": "16.18.25",
|
|
83
|
-
"@vitejs/plugin-vue": "4.2
|
|
84
|
+
"@vitejs/plugin-vue": "4.6.2",
|
|
84
85
|
"@vue/eslint-config-typescript": "11.0.2",
|
|
85
86
|
"@vue/tsconfig": "0.3.2",
|
|
86
87
|
"cypress": "12.0.2",
|
|
@@ -102,7 +103,7 @@
|
|
|
102
103
|
"url": "https://github.com/Pocket-Prep/ui-kit/issues"
|
|
103
104
|
},
|
|
104
105
|
"gitHooks": {
|
|
105
|
-
"pre-commit": "npm run build"
|
|
106
|
+
"pre-commit": "npm run lint && npm run type-check && npm run build && git add docs/"
|
|
106
107
|
},
|
|
107
108
|
"homepage": "https://github.com/Pocket-Prep/ui-kit#readme",
|
|
108
109
|
"keywords": [
|
|
@@ -114,7 +115,7 @@
|
|
|
114
115
|
"url": "git+https://github.com/Pocket-Prep/ui-kit.git"
|
|
115
116
|
},
|
|
116
117
|
"engines": {
|
|
117
|
-
"node": "
|
|
118
|
-
"npm": "
|
|
118
|
+
"node": "20.10.0",
|
|
119
|
+
"npm": "10.2.3"
|
|
119
120
|
}
|
|
120
121
|
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
```vue
|
|
2
|
-
<template>
|
|
3
|
-
<div>
|
|
4
|
-
<div class="light">
|
|
5
|
-
<Banner text="Default text." />
|
|
6
|
-
</div>
|
|
7
|
-
<div class="dark">
|
|
8
|
-
<Banner
|
|
9
|
-
:isDarkMode="true"
|
|
10
|
-
text="Default text, but in dark mode."/>
|
|
11
|
-
</div>
|
|
12
|
-
<div class="light">
|
|
13
|
-
<Banner>Override at BANNER level!</Banner>
|
|
14
|
-
</div>
|
|
15
|
-
<div class="light">
|
|
16
|
-
<Banner>
|
|
17
|
-
<template #bannerText>
|
|
18
|
-
Someone sent you 20% off your first subscription with Pocket Prep. Sweet!
|
|
19
|
-
</template>
|
|
20
|
-
</Banner>
|
|
21
|
-
</div>
|
|
22
|
-
<div class="light">
|
|
23
|
-
<Banner>
|
|
24
|
-
<template #bannerImage><div></div></template>
|
|
25
|
-
<template #bannerText>I don't want an image!</template>
|
|
26
|
-
</Banner>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
</template>
|
|
30
|
-
|
|
31
|
-
<style>
|
|
32
|
-
.light,
|
|
33
|
-
.dark {
|
|
34
|
-
padding: 30px;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.dark {
|
|
38
|
-
background-color: #1f3545;
|
|
39
|
-
}
|
|
40
|
-
</style>
|
|
41
|
-
```
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
```vue
|
|
2
|
-
<template>
|
|
3
|
-
<div>
|
|
4
|
-
<SVGDefinitions />
|
|
5
|
-
<Select v-model="theme" :data="themeOptions" />
|
|
6
|
-
<div class="icons">
|
|
7
|
-
<BundleIcon bundleId="mO5EIsoZ9H" :theme="theme.value"/>
|
|
8
|
-
<BundleIcon bundleId="uKLwvbsbPV" :theme="theme.value"/>
|
|
9
|
-
<BundleIcon bundleId="gAlCkoUVLl" :theme="theme.value"/>
|
|
10
|
-
<BundleIcon bundleId="GVCNrq4ixh" :theme="theme.value"/>
|
|
11
|
-
<BundleIcon bundleId="PusoOu7qGQ" :theme="theme.value"/>
|
|
12
|
-
<BundleIcon bundleId="1kS20KPPkH" :theme="theme.value"/>
|
|
13
|
-
<BundleIcon bundleId="tVMt7KCrkQ" :theme="theme.value"/>
|
|
14
|
-
<BundleIcon bundleId="4dTgUX97Dk" :theme="theme.value"/>
|
|
15
|
-
<BundleIcon bundleId="9970muCFGV" :theme="theme.value"/>
|
|
16
|
-
<BundleIcon bundleId="k9T5L3kC0U" :theme="theme.value"/>
|
|
17
|
-
<BundleIcon bundleId="DO5jBm0OJo" :theme="theme.value"/>
|
|
18
|
-
<BundleIcon bundleId="vtgI9oxCI4" :theme="theme.value"/>
|
|
19
|
-
<BundleIcon bundleId="VEcpw3DhnA" :theme="theme.value"/>
|
|
20
|
-
</div>
|
|
21
|
-
</div>
|
|
22
|
-
</template>
|
|
23
|
-
|
|
24
|
-
<script>
|
|
25
|
-
export default {
|
|
26
|
-
data () {
|
|
27
|
-
return {
|
|
28
|
-
theme: { label: 'Color', value: 'color' },
|
|
29
|
-
themeOptions: [
|
|
30
|
-
{
|
|
31
|
-
label: 'Color',
|
|
32
|
-
value: 'color',
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
label: 'Grayscale',
|
|
36
|
-
value: 'grayscale',
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
label: 'Silver',
|
|
40
|
-
value: 'silver',
|
|
41
|
-
}
|
|
42
|
-
]
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
</script>
|
|
47
|
-
|
|
48
|
-
<style>
|
|
49
|
-
.icons {
|
|
50
|
-
display: flex;
|
|
51
|
-
align-items: center;
|
|
52
|
-
background: black;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.icons > div {
|
|
56
|
-
margin: 5px;
|
|
57
|
-
width: 50px;
|
|
58
|
-
}
|
|
59
|
-
</style>
|
|
60
|
-
```
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
```vue
|
|
2
|
-
<template>
|
|
3
|
-
<div>
|
|
4
|
-
<Button @click="isDarkMode = !isDarkMode">{{ isDarkMode ? 'Disable' : 'Enable' }} Dark Mode</Button>
|
|
5
|
-
<div class="bundles" :class="{ dark: isDarkMode }">
|
|
6
|
-
<SVGDefinitions />
|
|
7
|
-
Selected Bundle: {{ selectedBundle?.objectId }}<br><br>
|
|
8
|
-
<BundleList :isDarkMode="isDarkMode" v-model="selectedBundle" :bundles="bundles" :premiumBundleIds="[ 'tVMt7KCrkQ' ]" />
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
11
|
-
</template>
|
|
12
|
-
|
|
13
|
-
<script>
|
|
14
|
-
import Button from '../Buttons/Button.vue'
|
|
15
|
-
|
|
16
|
-
const bundles = [
|
|
17
|
-
{
|
|
18
|
-
objectId: 'tVMt7KCrkQ',
|
|
19
|
-
name: 'AMTA',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
objectId: 'k9T5L3kC0U',
|
|
23
|
-
name: 'Professional',
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
objectId: '1kS20KPPkH',
|
|
27
|
-
name: 'IT & Cybersecurity',
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
objectId: '9970muCFGV',
|
|
31
|
-
name: 'Nursing School',
|
|
32
|
-
}
|
|
33
|
-
]
|
|
34
|
-
|
|
35
|
-
export default {
|
|
36
|
-
components: {
|
|
37
|
-
Button
|
|
38
|
-
},
|
|
39
|
-
data () {
|
|
40
|
-
return {
|
|
41
|
-
bundles,
|
|
42
|
-
selectedBundle: bundles[2],
|
|
43
|
-
isDarkMode: false,
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
</script>
|
|
48
|
-
|
|
49
|
-
<style>
|
|
50
|
-
.bundles {
|
|
51
|
-
padding: 30px;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.dark {
|
|
55
|
-
background-color: #1f3545;
|
|
56
|
-
color: #fff;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.uikit-btn {
|
|
60
|
-
margin-bottom: 30px;
|
|
61
|
-
}
|
|
62
|
-
</style>
|
|
63
|
-
```
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
```vue
|
|
2
|
-
<template>
|
|
3
|
-
<div>
|
|
4
|
-
<Button @click="showBundleSearch = !showBundleSearch">Toggle Bundle Search</Button>
|
|
5
|
-
<Button @click="isDarkMode = !isDarkMode">{{ isDarkMode ? 'Disable' : 'Enable' }} Dark Mode</Button><br>
|
|
6
|
-
Selected Exam: {{ selectedExam?.objectId }}
|
|
7
|
-
<div class="bundle-search-container" :class="{ dark: isDarkMode }">
|
|
8
|
-
<BundleSearch
|
|
9
|
-
v-if="showBundleSearch"
|
|
10
|
-
@select="exam => selectedExam = exam"
|
|
11
|
-
:bundles="bundles"
|
|
12
|
-
:isDarkMode="isDarkMode"
|
|
13
|
-
:examMetadataById="examMetadata"
|
|
14
|
-
:premiumBundleIds="[ 'k9T5L3kC0U' ]"
|
|
15
|
-
:premiumExamIds="[ 'W54AAON6ZP', 'LIjSJZQEB1' ]"
|
|
16
|
-
/>
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
19
|
-
</template>
|
|
20
|
-
|
|
21
|
-
<script>
|
|
22
|
-
const bundles = [
|
|
23
|
-
{
|
|
24
|
-
objectId: 'tVMt7KCrkQ',
|
|
25
|
-
name: 'AMTA',
|
|
26
|
-
exams: [
|
|
27
|
-
{
|
|
28
|
-
"objectId": "icX2CYGp2P"
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
objectId: 'k9T5L3kC0U',
|
|
34
|
-
name: 'Professional',
|
|
35
|
-
exams: [
|
|
36
|
-
{
|
|
37
|
-
"objectId": "W54AAON6ZP"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"objectId": "LIjSJZQEB1"
|
|
41
|
-
},
|
|
42
|
-
]
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
objectId: '1kS20KPPkH',
|
|
46
|
-
name: 'IT & Cybersecurity',
|
|
47
|
-
exams: [
|
|
48
|
-
{
|
|
49
|
-
"objectId": "rGNBApGBEg"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"objectId": "rGNBApGBEg2"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"objectId": "rGNBApGBEg3"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"objectId": "rGNBApGBEg4"
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"objectId": "rGNBApGBEg5"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"objectId": "rGNBApGBEg6"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"objectId": "rGNBApGBEg7"
|
|
68
|
-
},
|
|
69
|
-
]
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
objectId: '9970muCFGV',
|
|
73
|
-
name: 'Nursing School',
|
|
74
|
-
exams: [
|
|
75
|
-
{
|
|
76
|
-
"objectId": "o98Hn8iUO4"
|
|
77
|
-
}
|
|
78
|
-
]
|
|
79
|
-
}
|
|
80
|
-
]
|
|
81
|
-
const examMetadata = {
|
|
82
|
-
icX2CYGp2P: {
|
|
83
|
-
objectId: 'icX2CYGp2P',
|
|
84
|
-
nativeAppName: 'AMTA mBLEX',
|
|
85
|
-
descriptiveName: 'The AMTA Exam',
|
|
86
|
-
itemCount: '100',
|
|
87
|
-
archivedCount: '2',
|
|
88
|
-
knowledgeAreas: ['', ''],
|
|
89
|
-
},
|
|
90
|
-
W54AAON6ZP: {
|
|
91
|
-
objectId: 'W54AAON6ZP',
|
|
92
|
-
nativeAppName: 'BCSP ASP®',
|
|
93
|
-
descriptiveName: 'Associate Safety Professional Prep',
|
|
94
|
-
itemCount: '100',
|
|
95
|
-
archivedCount: '2',
|
|
96
|
-
knowledgeAreas: ['', ''],
|
|
97
|
-
},
|
|
98
|
-
LIjSJZQEB1: {
|
|
99
|
-
objectId: 'LIjSJZQEB1',
|
|
100
|
-
nativeAppName: 'ASP',
|
|
101
|
-
descriptiveName: 'Board of Certified Safety Professionals: Associate Safety Professional',
|
|
102
|
-
itemCount: '100',
|
|
103
|
-
archivedCount: '2',
|
|
104
|
-
knowledgeAreas: ['', ''],
|
|
105
|
-
},
|
|
106
|
-
rGNBApGBEg: {
|
|
107
|
-
objectId: 'rGNBApGBEg',
|
|
108
|
-
nativeAppName: 'EC-Council® CEH™',
|
|
109
|
-
descriptiveName: 'Certified Ethical Hacker™ v10 Prep',
|
|
110
|
-
itemCount: '100',
|
|
111
|
-
archivedCount: '2',
|
|
112
|
-
knowledgeAreas: ['', ''],
|
|
113
|
-
},
|
|
114
|
-
rGNBApGBEg2: {
|
|
115
|
-
objectId: 'rGNBApGBEg2',
|
|
116
|
-
nativeAppName: 'EC-Council® CEH™',
|
|
117
|
-
descriptiveName: 'Certified Ethical Hacker™ v10 Prep',
|
|
118
|
-
itemCount: '100',
|
|
119
|
-
archivedCount: '2',
|
|
120
|
-
knowledgeAreas: ['', ''],
|
|
121
|
-
},
|
|
122
|
-
rGNBApGBEg3: {
|
|
123
|
-
objectId: 'rGNBApGBEg3',
|
|
124
|
-
nativeAppName: 'EC-Council® CEH™',
|
|
125
|
-
descriptiveName: 'Certified Ethical Hacker™ v10 Prep',
|
|
126
|
-
itemCount: '100',
|
|
127
|
-
archivedCount: '2',
|
|
128
|
-
knowledgeAreas: ['', ''],
|
|
129
|
-
},
|
|
130
|
-
rGNBApGBEg4: {
|
|
131
|
-
objectId: 'rGNBApGBEg4',
|
|
132
|
-
nativeAppName: 'EC-Council® CEH™',
|
|
133
|
-
descriptiveName: 'Certified Ethical Hacker™ v10 Prep',
|
|
134
|
-
itemCount: '100',
|
|
135
|
-
archivedCount: '2',
|
|
136
|
-
knowledgeAreas: ['', ''],
|
|
137
|
-
},
|
|
138
|
-
rGNBApGBEg5: {
|
|
139
|
-
objectId: 'rGNBApGBEg5',
|
|
140
|
-
nativeAppName: 'EC-Council® CEH™',
|
|
141
|
-
descriptiveName: 'Certified Ethical Hacker™ v10 Prep',
|
|
142
|
-
itemCount: '100',
|
|
143
|
-
archivedCount: '2',
|
|
144
|
-
knowledgeAreas: ['', ''],
|
|
145
|
-
},
|
|
146
|
-
rGNBApGBEg6: {
|
|
147
|
-
objectId: 'rGNBApGBEg6',
|
|
148
|
-
nativeAppName: 'EC-Council® CEH™',
|
|
149
|
-
descriptiveName: 'Certified Ethical Hacker™ v10 Prep',
|
|
150
|
-
itemCount: '100',
|
|
151
|
-
archivedCount: '2',
|
|
152
|
-
knowledgeAreas: ['', ''],
|
|
153
|
-
},
|
|
154
|
-
rGNBApGBEg7: {
|
|
155
|
-
objectId: 'rGNBApGBEg7',
|
|
156
|
-
nativeAppName: 'EC-Council® CEH™',
|
|
157
|
-
descriptiveName: 'Certified Ethical Hacker™ v10 Prep',
|
|
158
|
-
itemCount: '100',
|
|
159
|
-
archivedCount: '2',
|
|
160
|
-
knowledgeAreas: ['', ''],
|
|
161
|
-
},
|
|
162
|
-
o98Hn8iUO4: {
|
|
163
|
-
objectId: 'o98Hn8iUO4',
|
|
164
|
-
nativeAppName: 'College Biology',
|
|
165
|
-
descriptiveName: 'College-level Biology Practice',
|
|
166
|
-
itemCount: '100',
|
|
167
|
-
archivedCount: '2',
|
|
168
|
-
knowledgeAreas: ['', ''],
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
export default {
|
|
172
|
-
data () {
|
|
173
|
-
return {
|
|
174
|
-
isDarkMode: false,
|
|
175
|
-
bundles,
|
|
176
|
-
selectedExam: null,
|
|
177
|
-
examMetadata,
|
|
178
|
-
showBundleSearch: true,
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
</script>
|
|
183
|
-
|
|
184
|
-
<style>
|
|
185
|
-
.dark {
|
|
186
|
-
background-color: #1f3545;
|
|
187
|
-
color: #fff;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
.bundle-search-container {
|
|
191
|
-
height: 400px;
|
|
192
|
-
padding: 30px 0;
|
|
193
|
-
}
|
|
194
|
-
</style>
|
|
195
|
-
```
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
```vue
|
|
2
|
-
<template>
|
|
3
|
-
<div>
|
|
4
|
-
<div class="light">
|
|
5
|
-
<PremiumPill />
|
|
6
|
-
</div>
|
|
7
|
-
<div class="dark">
|
|
8
|
-
<PremiumPill :isDarkMode="true" />
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
11
|
-
</template>
|
|
12
|
-
|
|
13
|
-
<style>
|
|
14
|
-
.light,
|
|
15
|
-
.dark {
|
|
16
|
-
padding: 30px;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.dark {
|
|
20
|
-
background-color: #1f3545;
|
|
21
|
-
}
|
|
22
|
-
</style>
|
|
23
|
-
```
|