@pocketprep/ui-kit 3.1.5 → 3.2.0

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 (127) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/README.md +29 -8
  3. package/dist/@pocketprep/ui-kit.js +8 -11
  4. package/dist/@pocketprep/ui-kit.js.map +1 -1
  5. package/dist/@pocketprep/ui-kit.umd.cjs +1 -1
  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/Tooltips/OverflowTooltip.vue +7 -9
  10. package/lib/pocketprep.scss +12 -12
  11. package/package.json +14 -13
  12. package/lib/components/Banners/Banner.md +0 -41
  13. package/lib/components/Blobs/Blob.md +0 -10
  14. package/lib/components/Blobs/BlobEmptyState.md +0 -9
  15. package/lib/components/BundleIcons/BundleIcon.md +0 -60
  16. package/lib/components/Bundles/BundleList.md +0 -63
  17. package/lib/components/Bundles/BundleSearch.md +0 -195
  18. package/lib/components/Bundles/PremiumPill.md +0 -23
  19. package/lib/components/Buttons/Button.md +0 -99
  20. package/lib/components/Buttons/Link.md +0 -58
  21. package/lib/components/Buttons/Tab.md +0 -35
  22. package/lib/components/Calendar/Calendar.md +0 -18
  23. package/lib/components/Charts/Bar.md +0 -123
  24. package/lib/components/Charts/Pie.md +0 -23
  25. package/lib/components/Controls/SegmentControl.md +0 -47
  26. package/lib/components/Controls/Slider.md +0 -67
  27. package/lib/components/Controls/ToggleSwitch.md +0 -56
  28. package/lib/components/EmptyStates/EmptyState.md +0 -44
  29. package/lib/components/Exams/ExamCard.md +0 -45
  30. package/lib/components/Exams/ExamMenuCard.md +0 -90
  31. package/lib/components/Filters/FilterDropdown.md +0 -68
  32. package/lib/components/Filters/FilterOptions.md +0 -67
  33. package/lib/components/Forms/Checkbox.md +0 -52
  34. package/lib/components/Forms/CheckboxOption.md +0 -37
  35. package/lib/components/Forms/Errors.md +0 -23
  36. package/lib/components/Forms/Input.md +0 -63
  37. package/lib/components/Forms/Radio.md +0 -66
  38. package/lib/components/Forms/Select.md +0 -133
  39. package/lib/components/Forms/Textarea.md +0 -57
  40. package/lib/components/Icons/Icon.md +0 -151
  41. package/lib/components/Icons/IconAccordionArrow.md +0 -7
  42. package/lib/components/Icons/IconActivity.md +0 -7
  43. package/lib/components/Icons/IconAdd.md +0 -7
  44. package/lib/components/Icons/IconAddCircle.md +0 -7
  45. package/lib/components/Icons/IconArrow.md +0 -7
  46. package/lib/components/Icons/IconBarChart.md +0 -7
  47. package/lib/components/Icons/IconCalendar.md +0 -7
  48. package/lib/components/Icons/IconChat.md +0 -7
  49. package/lib/components/Icons/IconCheck.md +0 -7
  50. package/lib/components/Icons/IconClose.md +0 -7
  51. package/lib/components/Icons/IconCorrect.md +0 -7
  52. package/lib/components/Icons/IconEdit.md +0 -7
  53. package/lib/components/Icons/IconExam.md +0 -7
  54. package/lib/components/Icons/IconExternalLink.md +0 -7
  55. package/lib/components/Icons/IconEyeHide.md +0 -7
  56. package/lib/components/Icons/IconEyeShow.md +0 -7
  57. package/lib/components/Icons/IconFilter.md +0 -7
  58. package/lib/components/Icons/IconFilterActive.md +0 -7
  59. package/lib/components/Icons/IconFlag.md +0 -7
  60. package/lib/components/Icons/IconFlagContent.md +0 -7
  61. package/lib/components/Icons/IconFlagFeedback.md +0 -11
  62. package/lib/components/Icons/IconFlagFilled.md +0 -7
  63. package/lib/components/Icons/IconFullView.md +0 -7
  64. package/lib/components/Icons/IconFullViewActive.md +0 -7
  65. package/lib/components/Icons/IconHandle.md +0 -7
  66. package/lib/components/Icons/IconHeart.md +0 -7
  67. package/lib/components/Icons/IconHelp.md +0 -7
  68. package/lib/components/Icons/IconHourglass.md +0 -7
  69. package/lib/components/Icons/IconImage.md +0 -7
  70. package/lib/components/Icons/IconIncorrect.md +0 -7
  71. package/lib/components/Icons/IconInfo.md +0 -7
  72. package/lib/components/Icons/IconKeyboard.md +0 -7
  73. package/lib/components/Icons/IconLaunch.md +0 -7
  74. package/lib/components/Icons/IconLevelUp.md +0 -7
  75. package/lib/components/Icons/IconLightbulb.md +0 -5
  76. package/lib/components/Icons/IconLightning.md +0 -7
  77. package/lib/components/Icons/IconList.md +0 -7
  78. package/lib/components/Icons/IconLoading.md +0 -7
  79. package/lib/components/Icons/IconLoading2.md +0 -7
  80. package/lib/components/Icons/IconLock.md +0 -7
  81. package/lib/components/Icons/IconMissedQuestions.md +0 -7
  82. package/lib/components/Icons/IconMoon.md +0 -7
  83. package/lib/components/Icons/IconPaginationArrow.md +0 -7
  84. package/lib/components/Icons/IconPassage.md +0 -7
  85. package/lib/components/Icons/IconPencil.md +0 -7
  86. package/lib/components/Icons/IconPeople.md +0 -7
  87. package/lib/components/Icons/IconPercent.md +0 -7
  88. package/lib/components/Icons/IconPerson.md +0 -7
  89. package/lib/components/Icons/IconPreview.md +0 -7
  90. package/lib/components/Icons/IconQuestions.md +0 -7
  91. package/lib/components/Icons/IconQuick10.md +0 -7
  92. package/lib/components/Icons/IconRemoveCircle.md +0 -7
  93. package/lib/components/Icons/IconReviewFlag.md +0 -7
  94. package/lib/components/Icons/IconSearch.md +0 -7
  95. package/lib/components/Icons/IconShare.md +0 -7
  96. package/lib/components/Icons/IconSideBar.md +0 -7
  97. package/lib/components/Icons/IconSideBarActive.md +0 -7
  98. package/lib/components/Icons/IconStopwatch.md +0 -7
  99. package/lib/components/Icons/IconStrike.md +0 -60
  100. package/lib/components/Icons/IconSubject.md +0 -7
  101. package/lib/components/Icons/IconText.md +0 -7
  102. package/lib/components/Icons/IconTimer.md +0 -7
  103. package/lib/components/Icons/IconWarning.md +0 -7
  104. package/lib/components/Loaders/SkeletonLoader.md +0 -43
  105. package/lib/components/Modal/Modal.md +0 -31
  106. package/lib/components/Modal/ModalContainer.md +0 -96
  107. package/lib/components/Onboarding/EmailAuth.md +0 -40
  108. package/lib/components/Onboarding/MagicCodeEntry.md +0 -20
  109. package/lib/components/Pagination/QuestionReviewPagination.md +0 -19
  110. package/lib/components/Pagination/TablePagination.md +0 -19
  111. package/lib/components/PhonePerson/PhonePerson.md +0 -36
  112. package/lib/components/Quiz/FlagToggle.md +0 -37
  113. package/lib/components/Quiz/GlobalMetricsToggle.md +0 -46
  114. package/lib/components/Quiz/KeyboardShortcutsButton.md +0 -18
  115. package/lib/components/Quiz/KeyboardShortcutsModal.md +0 -71
  116. package/lib/components/Quiz/Question.md +0 -579
  117. package/lib/components/Quiz/QuizContainer.md +0 -91
  118. package/lib/components/Quiz/QuizProgress.md +0 -122
  119. package/lib/components/Quiz/QuizProgressBar.md +0 -131
  120. package/lib/components/Search/Pill.md +0 -37
  121. package/lib/components/Search/Search.md +0 -44
  122. package/lib/components/SidePanels/SidePanel.md +0 -126
  123. package/lib/components/Tables/StudyTable.md +0 -136
  124. package/lib/components/Tables/TeachTable.md +0 -696
  125. package/lib/components/Toasts/Toast.md +0 -35
  126. package/lib/components/Tooltips/OverflowTooltip.md +0 -14
  127. 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"
@@ -7,9 +7,9 @@
7
7
  >
8
8
  <slot />
9
9
  </Tooltip>
10
- <template v-if="id">
10
+ <template v-if="uid">
11
11
  <div
12
- :ref="`content_${id}`"
12
+ :ref="`content_${uid}`"
13
13
  class="uikit-overflow-tooltip__content"
14
14
  @mouseenter="showTooltip = true"
15
15
  @mouseleave="showTooltip = false"
@@ -18,7 +18,7 @@
18
18
  </div>
19
19
  <div
20
20
  v-if="!measurementComplete"
21
- :ref="`content_fullwidth_${id}`"
21
+ :ref="`content_fullwidth_${uid}`"
22
22
  class="uikit-overflow-tooltip__content uikit-overflow-tooltip__content--full-width"
23
23
  >
24
24
  <slot />
@@ -40,14 +40,12 @@ export default class OverflowTooltip extends Vue {
40
40
  showTooltip = false
41
41
  textOverflows = false
42
42
  measurementComplete = false
43
- id: string | null = null
44
- created () {
45
- this.id = (this as unknown as { _uid: string })._uid
46
- }
43
+ uid = Math.floor(Math.random() * 1e9)
47
44
 
48
45
  mounted () {
49
- const content = this.$refs[`content_${this.id}`] as HTMLElement
50
- const contentFullWidth = this.$refs[`content_fullwidth_${this.id}`] as HTMLElement
46
+ const content = this.$refs[`content_${this.uid}`] as HTMLElement
47
+ const contentFullWidth = this.$refs[`content_fullwidth_${this.uid}`] as HTMLElement
48
+
51
49
  this.$nextTick(() => {
52
50
  const truncatedWidth = content.getBoundingClientRect().width
53
51
  const fullWidth = contentFullWidth.getBoundingClientRect().width
@@ -26,30 +26,30 @@ textarea {
26
26
  .uikit-slider__slide-input {
27
27
  &:focus {
28
28
  &::-webkit-slider-thumb {
29
- background-image: url("./assets/images/thumb-small.svg") !important;
29
+ background-image: url("@/assets/images/thumb-small.svg") !important;
30
30
  }
31
31
 
32
32
  &::-moz-range-thumb {
33
- background-image: url("./assets/images/thumb-small.svg") !important;
33
+ background-image: url("@/assets/images/thumb-small.svg") !important;
34
34
  }
35
35
 
36
36
  &::-ms-thumb {
37
- background-image: url("./assets/images/thumb-small.svg") !important;
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("./assets/images/thumb-small-dark.svg") !important;
44
+ background-image: url("@/assets/images/thumb-small-dark.svg") !important;
45
45
  }
46
46
 
47
47
  &::-moz-range-thumb {
48
- background-image: url("./assets/images/thumb-small-dark.svg") !important;
48
+ background-image: url("@/assets/images/thumb-small-dark.svg") !important;
49
49
  }
50
50
 
51
51
  &::-ms-thumb {
52
- background-image: url("./assets/images/thumb-small-dark.svg") !important;
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("./assets/images/thumb-large.svg") !important;
64
+ background-image: url("@/assets/images/thumb-large.svg") !important;
65
65
  }
66
66
 
67
67
  &::-moz-range-thumb {
68
- background-image: url("./assets/images/thumb-large.svg") !important;
68
+ background-image: url("@/assets/images/thumb-large.svg") !important;
69
69
  }
70
70
 
71
71
  &::-ms-thumb {
72
- background-image: url("./assets/images/thumb-large.svg") !important;
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("./assets/images/thumb-large-dark.svg") !important;
79
+ background-image: url("@/assets/images/thumb-large-dark.svg") !important;
80
80
  }
81
81
 
82
82
  &::-moz-range-thumb {
83
- background-image: url("./assets/images/thumb-large-dark.svg") !important;
83
+ background-image: url("@/assets/images/thumb-large-dark.svg") !important;
84
84
  }
85
85
 
86
86
  &::-ms-thumb {
87
- background-image: url("./assets/images/thumb-large-dark.svg") !important;
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.5",
3
+ "version": "3.2.0",
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
- "preview": "vite preview",
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
- "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore && stylelint '**/*.{scss,vue}'",
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.2.47",
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.1",
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": "16.14.0",
118
- "npm": "8.3.1"
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,10 +0,0 @@
1
- ```vue
2
- <template>
3
- <div>
4
- <Blob
5
- type="empty"
6
- title="emptyBlob"
7
- />
8
- </div>
9
- </template>
10
- ```
@@ -1,9 +0,0 @@
1
- ```vue
2
- <template>
3
- <div>
4
- <Blob
5
- type="empty"
6
- />
7
- </div>
8
- </template>
9
- ```
@@ -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
- ```