@pocketprep/ui-kit 3.5.0 → 3.5.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/README.md +2 -2
- package/dist/@pocketprep/ui-kit.css +1 -0
- package/dist/@pocketprep/ui-kit.js +14256 -14792
- package/dist/@pocketprep/ui-kit.js.map +1 -1
- package/dist/@pocketprep/ui-kit.umd.cjs +11 -11
- package/dist/@pocketprep/ui-kit.umd.cjs.map +1 -1
- package/eslint.config.ts +111 -0
- package/lib/components/Banners/Banner.vue +2 -2
- package/lib/components/Bundles/BundleList.vue +1 -1
- package/lib/components/Bundles/BundleSearch.vue +2 -1
- package/lib/components/Bundles/PremiumPill.vue +2 -2
- package/lib/components/Buttons/Button.vue +19 -18
- package/lib/components/Buttons/Link.vue +9 -8
- package/lib/components/Buttons/Tab.vue +4 -3
- package/lib/components/Calendar/Calendar.vue +14 -2
- package/lib/components/Charts/Bar.vue +3 -3
- package/lib/components/Charts/Pie.vue +4 -4
- package/lib/components/Controls/SegmentControl.vue +8 -7
- package/lib/components/Controls/Slider.vue +2 -3
- package/lib/components/Controls/ToggleSwitch.vue +3 -2
- package/lib/components/EmptyStates/EmptyState.vue +3 -2
- package/lib/components/Exams/ExamCard.vue +3 -3
- package/lib/components/Exams/ExamMenuCard.vue +2 -2
- package/lib/components/Filters/FilterDropdown.vue +2 -2
- package/lib/components/Filters/FilterOptions.vue +2 -2
- package/lib/components/Forms/Checkbox.vue +2 -2
- package/lib/components/Forms/CheckboxOption.vue +2 -2
- package/lib/components/Forms/Errors.vue +2 -2
- package/lib/components/Forms/Input.vue +2 -2
- package/lib/components/Forms/Radio.vue +37 -39
- package/lib/components/Forms/RadioButton.vue +1 -1
- package/lib/components/Forms/Select.vue +7 -6
- package/lib/components/Forms/Textarea.vue +2 -2
- package/lib/components/Icons/Icon.vue +1 -0
- package/lib/components/Icons/IconEdit.vue +4 -2
- package/lib/components/Icons/IconFullViewActive.vue +1 -1
- package/lib/components/Icons/IconLoading2.vue +1 -3
- package/lib/components/Loaders/SkeletonLoader.vue +2 -2
- package/lib/components/Messaging/InfoMessage.vue +2 -2
- package/lib/components/Modal/Modal.vue +2 -2
- package/lib/components/Modal/ModalContainer.vue +2 -2
- package/lib/components/Onboarding/EmailAuth.vue +5 -5
- package/lib/components/Onboarding/MagicCodeEntry.vue +3 -4
- package/lib/components/Pagination/QuestionReviewPagination.vue +4 -4
- package/lib/components/Pagination/TablePagination.vue +2 -2
- package/lib/components/Quiz/FlagToggle.vue +2 -2
- package/lib/components/Quiz/GlobalMetricsToggle.vue +3 -2
- package/lib/components/Quiz/KeyboardShortcutsButton.vue +1 -1
- package/lib/components/Quiz/KeyboardShortcutsModal.vue +1 -1
- package/lib/components/Quiz/Question/ChoicesContainer.vue +4 -3
- package/lib/components/Quiz/Question/DropdownExplanation.vue +2 -2
- package/lib/components/Quiz/Question/Explanation.vue +2 -2
- package/lib/components/Quiz/Question/MatrixChoicesContainer.vue +12 -17
- package/lib/components/Quiz/Question/MatrixRadioGroup.vue +2 -2
- package/lib/components/Quiz/Question/MobileMatrixChoicesContainer.vue +19 -26
- package/lib/components/Quiz/Question/MobileMatrixRadioGroup.vue +7 -5
- package/lib/components/Quiz/Question/PassageAndImage.vue +2 -2
- package/lib/components/Quiz/Question/PassageAndImageDropdown.vue +7 -6
- package/lib/components/Quiz/Question/Paywall.vue +2 -2
- package/lib/components/Quiz/Question/QuestionContext.vue +2 -3
- package/lib/components/Quiz/Question/StatsSummary.vue +2 -2
- package/lib/components/Quiz/Question/Summary.vue +2 -2
- package/lib/components/Quiz/Question.vue +29 -28
- package/lib/components/Quiz/QuizContainer.vue +31 -37
- package/lib/components/Quiz/QuizProgress.vue +73 -77
- package/lib/components/Quiz/QuizProgressBar.vue +3 -2
- package/lib/components/Search/Pill.vue +2 -2
- package/lib/components/Search/Search.vue +2 -2
- package/lib/components/SidePanels/SidePanel.vue +8 -3
- package/lib/components/Tables/Table.vue +4 -3
- package/lib/components/Tables/TableActions.vue +3 -3
- package/lib/components/Tags/Tag.vue +2 -2
- package/lib/components/Toasts/Toast.vue +5 -3
- package/lib/components/Tooltips/OverflowTooltip.vue +2 -2
- package/lib/components/Tooltips/Tooltip.vue +2 -2
- package/lib/directives.ts +1 -1
- package/lib/pocketprep-export.module.scss +3 -2
- package/lib/pocketprep.scss +2 -2
- package/lib/styles/_breakpoints.scss +6 -12
- package/lib/styles/_colors.scss +0 -1
- package/package.json +36 -27
- package/stylelint.config.js +38 -0
- package/.eslintrc.cjs +0 -74
- package/dist/style.css +0 -1
- package/stylelint.config.cjs +0 -22
package/eslint.config.ts
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import stylisticTs from '@stylistic/eslint-plugin-ts'
|
|
2
|
+
import pluginVue from 'eslint-plugin-vue'
|
|
3
|
+
import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
5
|
+
// @ts-ignore
|
|
6
|
+
import pluginCypress from 'eslint-plugin-cypress/flat'
|
|
7
|
+
|
|
8
|
+
// To allow more languages other than `ts` in `.vue` files, uncomment the following lines:
|
|
9
|
+
// import { configureVueProject } from '@vue/eslint-config-typescript'
|
|
10
|
+
// configureVueProject({ scriptLangs: ['ts', 'tsx'] })
|
|
11
|
+
// More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup
|
|
12
|
+
|
|
13
|
+
export default defineConfigWithVueTs(
|
|
14
|
+
{
|
|
15
|
+
name: 'app/files-to-lint',
|
|
16
|
+
files: [ '**/*.{ts,mts,tsx,vue}' ],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: 'app/files-to-ignore',
|
|
20
|
+
ignores: [ '**/dist/**', '**/dist-ssr/**', '**/coverage/**', '**/docs/**', '**/cypress/fixtures/**' ],
|
|
21
|
+
},
|
|
22
|
+
stylisticTs.configs.all,
|
|
23
|
+
vueTsConfigs.strictTypeChecked,
|
|
24
|
+
vueTsConfigs.stylisticTypeChecked,
|
|
25
|
+
pluginVue.configs['flat/recommended'],
|
|
26
|
+
{
|
|
27
|
+
rules: {
|
|
28
|
+
'@stylistic/ts/quotes': [ 'error', 'single' ],
|
|
29
|
+
'@stylistic/ts/quote-props': 'off',
|
|
30
|
+
'@stylistic/ts/comma-dangle': [ 'error', {
|
|
31
|
+
'arrays': 'always-multiline',
|
|
32
|
+
'objects': 'always-multiline',
|
|
33
|
+
'imports': 'always-multiline',
|
|
34
|
+
'exports': 'always-multiline',
|
|
35
|
+
'functions': 'never',
|
|
36
|
+
}],
|
|
37
|
+
'@stylistic/ts/semi': [ 'error', 'never' ],
|
|
38
|
+
'@stylistic/ts/object-property-newline': [ 'error', { allowAllPropertiesOnSameLine: true }],
|
|
39
|
+
'@stylistic/ts/no-extra-parens': 'off',
|
|
40
|
+
'@stylistic/ts/lines-between-class-members': 'off',
|
|
41
|
+
'@stylistic/ts/lines-around-comment': 'off',
|
|
42
|
+
'no-console': 'warn',
|
|
43
|
+
'max-len': [ 'error', { 'code': 120 }],
|
|
44
|
+
'brace-style': 'error',
|
|
45
|
+
'keyword-spacing': [ 'error', { 'before': true, 'after': true }],
|
|
46
|
+
'@stylistic/ts/object-curly-spacing': [ 'error', 'always' ],
|
|
47
|
+
'array-bracket-spacing': [ 'error', 'always', { 'objectsInArrays': false, 'arraysInArrays': false }],
|
|
48
|
+
'space-in-parens': [ 'error', 'never' ],
|
|
49
|
+
'space-before-function-paren': [ 'error', 'always' ],
|
|
50
|
+
'space-infix-ops': [ 'error', { 'int32Hint': true }],
|
|
51
|
+
'prefer-const': 'error',
|
|
52
|
+
'no-shadow': 'error',
|
|
53
|
+
'vue/html-indent': [ 'error', 4 ],
|
|
54
|
+
'vue/max-attributes-per-line': [ 'error', { 'singleline': 2 }],
|
|
55
|
+
'vue/no-v-html': 'off',
|
|
56
|
+
'vue/component-name-in-template-casing': [ 'error', 'PascalCase', {
|
|
57
|
+
'registeredComponentsOnly': false,
|
|
58
|
+
}],
|
|
59
|
+
'vue/multi-word-component-names': 'off',
|
|
60
|
+
'vue/singleline-html-element-content-newline': 'off',
|
|
61
|
+
'vue/v-on-event-hyphenation': [ 'warn', 'never' ],
|
|
62
|
+
'vue/attribute-hyphenation': 'off',
|
|
63
|
+
'vue/first-attribute-linebreak': 'off',
|
|
64
|
+
'vue/html-closing-bracket-newline': 'off',
|
|
65
|
+
'vue/multiline-html-element-content-newline': 'off',
|
|
66
|
+
'vue/attributes-order': 'off',
|
|
67
|
+
'vue/html-self-closing': 'off',
|
|
68
|
+
'no-unused-vars': 'off', // We use @typescript-eslint/no-unused-vars instead
|
|
69
|
+
'no-template-curly-in-string': 'error',
|
|
70
|
+
'array-callback-return': [ 'error', { 'allowImplicit': true }],
|
|
71
|
+
'block-scoped-var': 'error',
|
|
72
|
+
'dot-location': [ 'error', 'property' ],
|
|
73
|
+
'eqeqeq': 'error',
|
|
74
|
+
'no-implicit-globals': [ 'error', { 'lexicalBindings': true }],
|
|
75
|
+
'@stylistic/ts/member-delimiter-style': [ 'error', { 'multiline': { delimiter: 'none' } }],
|
|
76
|
+
'@typescript-eslint/no-angle-bracket-type-assertion': 'off',
|
|
77
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
78
|
+
'@typescript-eslint/explicit-member-accessibility': 'off',
|
|
79
|
+
'@typescript-eslint/no-var-requires': 'off',
|
|
80
|
+
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
81
|
+
'@typescript-eslint/consistent-indexed-object-style': 'off',
|
|
82
|
+
'@typescript-eslint/class-literal-property-style': 'off',
|
|
83
|
+
'@typescript-eslint/no-unnecessary-condition': 'off',
|
|
84
|
+
'@typescript-eslint/no-redundant-type-constituents': 'off',
|
|
85
|
+
'@typescript-eslint/consistent-type-definitions': 'off',
|
|
86
|
+
'@typescript-eslint/consistent-type-assertions': 'off',
|
|
87
|
+
'@typescript-eslint/restrict-template-expressions': 'off',
|
|
88
|
+
'@typescript-eslint/prefer-nullish-coalescing': 'off',
|
|
89
|
+
'@typescript-eslint/no-dynamic-delete': 'off',
|
|
90
|
+
'@typescript-eslint/no-floating-promises': 'off',
|
|
91
|
+
'@typescript-eslint/non-nullable-type-assertion-style': 'off',
|
|
92
|
+
'@typescript-eslint/dot-notation': 'off',
|
|
93
|
+
'@typescript-eslint/prefer-regexp-exec': 'off',
|
|
94
|
+
'@typescript-eslint/prefer-reduce-type-parameter': 'off',
|
|
95
|
+
'@typescript-eslint/no-require-imports': 'off',
|
|
96
|
+
'@typescript-eslint/no-unnecessary-type-parameters': 'off',
|
|
97
|
+
'@typescript-eslint/no-confusing-void-expression': [ 'error', { ignoreArrowShorthand: true }],
|
|
98
|
+
'@typescript-eslint/no-unused-expressions': [ 'error', { allowShortCircuit: true }],
|
|
99
|
+
'@typescript-eslint/unbound-method': 'off',
|
|
100
|
+
'@typescript-eslint/no-unused-vars': [ 'error', { caughtErrors: 'none' }],
|
|
101
|
+
'@typescript-eslint/no-unnecessary-boolean-literal-compare': 'off',
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
...pluginCypress.configs.recommended,
|
|
106
|
+
files: [
|
|
107
|
+
'**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}',
|
|
108
|
+
'cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}',
|
|
109
|
+
],
|
|
110
|
+
}
|
|
111
|
+
)
|
|
@@ -42,8 +42,8 @@ export default class Banner extends Vue {
|
|
|
42
42
|
</script>
|
|
43
43
|
|
|
44
44
|
<style lang="scss" scoped>
|
|
45
|
-
@
|
|
46
|
-
@
|
|
45
|
+
@use '@/styles/breakpoints' as *;
|
|
46
|
+
@use '@/styles/colors' as *;
|
|
47
47
|
|
|
48
48
|
.uikit-banner {
|
|
49
49
|
background-color: $manilla;
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
:class="{ 'uikit-exam-search--bundle-selected': selectedBundle }"
|
|
7
7
|
>
|
|
8
8
|
<Search
|
|
9
|
+
v-if="examSearchContainer"
|
|
9
10
|
v-model="examSearchString"
|
|
10
11
|
v-breakpoint="{
|
|
11
12
|
breakpoints: { small: smallBreakpoint },
|
|
@@ -281,7 +282,7 @@ export default class BundleSearch extends Vue {
|
|
|
281
282
|
</script>
|
|
282
283
|
|
|
283
284
|
<style lang="scss">
|
|
284
|
-
@
|
|
285
|
+
@use '@/styles/colors' as *;
|
|
285
286
|
|
|
286
287
|
.uikit-exam-search {
|
|
287
288
|
position: relative;
|
|
@@ -19,8 +19,8 @@ export default class PremiumPill extends Vue {
|
|
|
19
19
|
</script>
|
|
20
20
|
|
|
21
21
|
<style lang="scss">
|
|
22
|
-
@
|
|
23
|
-
@
|
|
22
|
+
@use '@/styles/breakpoints' as *;
|
|
23
|
+
@use '@/styles/colors' as *;
|
|
24
24
|
|
|
25
25
|
.uikit-premium-pill {
|
|
26
26
|
font-size: 14px;
|
|
@@ -77,8 +77,9 @@ export default class Button extends Vue {
|
|
|
77
77
|
</script>
|
|
78
78
|
|
|
79
79
|
<style lang="scss">
|
|
80
|
-
@
|
|
81
|
-
@
|
|
80
|
+
@use 'sass:color';
|
|
81
|
+
@use '@/styles/breakpoints' as *;
|
|
82
|
+
@use '@/styles/colors' as *;
|
|
82
83
|
|
|
83
84
|
.uikit-btn {
|
|
84
85
|
position: relative;
|
|
@@ -153,11 +154,11 @@ export default class Button extends Vue {
|
|
|
153
154
|
|
|
154
155
|
&:enabled {
|
|
155
156
|
&:hover {
|
|
156
|
-
background-color: mix($brand-blue, black, 90%);
|
|
157
|
+
background-color: color.mix($brand-blue, black, 90%);
|
|
157
158
|
}
|
|
158
159
|
|
|
159
160
|
&:active {
|
|
160
|
-
background-color: mix($brand-blue, black, 80%);
|
|
161
|
+
background-color: color.mix($brand-blue, black, 80%);
|
|
161
162
|
}
|
|
162
163
|
}
|
|
163
164
|
|
|
@@ -171,14 +172,14 @@ export default class Button extends Vue {
|
|
|
171
172
|
}
|
|
172
173
|
|
|
173
174
|
&:active {
|
|
174
|
-
background-color: mix($butterscotch, black, 80%);
|
|
175
|
+
background-color: color.mix($butterscotch, black, 80%);
|
|
175
176
|
}
|
|
176
177
|
}
|
|
177
178
|
}
|
|
178
179
|
|
|
179
180
|
&--is-loading {
|
|
180
181
|
cursor: default;
|
|
181
|
-
background-color: mix($brand-blue, black, 90%) !important;
|
|
182
|
+
background-color: color.mix($brand-blue, black, 90%) !important;
|
|
182
183
|
|
|
183
184
|
&--dark {
|
|
184
185
|
background-color: $butterscotch !important;
|
|
@@ -213,7 +214,7 @@ export default class Button extends Vue {
|
|
|
213
214
|
&:enabled {
|
|
214
215
|
&:hover,
|
|
215
216
|
&:active {
|
|
216
|
-
background-color: mix($red-pegasus, black, 90%);
|
|
217
|
+
background-color: color.mix($red-pegasus, black, 90%);
|
|
217
218
|
}
|
|
218
219
|
}
|
|
219
220
|
|
|
@@ -228,7 +229,7 @@ export default class Button extends Vue {
|
|
|
228
229
|
&:enabled {
|
|
229
230
|
&:hover,
|
|
230
231
|
&:active {
|
|
231
|
-
background-color: mix($rosa, black, 90%);
|
|
232
|
+
background-color: color.mix($rosa, black, 90%);
|
|
232
233
|
}
|
|
233
234
|
}
|
|
234
235
|
}
|
|
@@ -284,11 +285,11 @@ export default class Button extends Vue {
|
|
|
284
285
|
|
|
285
286
|
&:enabled {
|
|
286
287
|
&:hover {
|
|
287
|
-
background-color: mix($barely-background, black, 96%);
|
|
288
|
+
background-color: color.mix($barely-background, black, 96%);
|
|
288
289
|
}
|
|
289
290
|
|
|
290
291
|
&:active {
|
|
291
|
-
background-color: mix($gray-background, black, 92%);
|
|
292
|
+
background-color: color.mix($gray-background, black, 92%);
|
|
292
293
|
}
|
|
293
294
|
}
|
|
294
295
|
|
|
@@ -307,7 +308,7 @@ export default class Button extends Vue {
|
|
|
307
308
|
top: 0;
|
|
308
309
|
width: 100%;
|
|
309
310
|
height: 100%;
|
|
310
|
-
background-color: mix($barely-background, black, 96%);
|
|
311
|
+
background-color: color.mix($barely-background, black, 96%);
|
|
311
312
|
opacity: 0.1;
|
|
312
313
|
border-radius: 4px;
|
|
313
314
|
}
|
|
@@ -364,7 +365,7 @@ export default class Button extends Vue {
|
|
|
364
365
|
@media (hover: hover) {
|
|
365
366
|
&:enabled:hover {
|
|
366
367
|
text-decoration: underline;
|
|
367
|
-
color: mix($brand-blue, black, 90%);
|
|
368
|
+
color: color.mix($brand-blue, black, 90%);
|
|
368
369
|
}
|
|
369
370
|
}
|
|
370
371
|
|
|
@@ -397,11 +398,11 @@ export default class Button extends Vue {
|
|
|
397
398
|
|
|
398
399
|
&:enabled {
|
|
399
400
|
&:focus {
|
|
400
|
-
color: mix($brand-blue, black, 90%);
|
|
401
|
+
color: color.mix($brand-blue, black, 90%);
|
|
401
402
|
}
|
|
402
403
|
|
|
403
404
|
&:active {
|
|
404
|
-
color: mix($brand-blue, black, 80%);
|
|
405
|
+
color: color.mix($brand-blue, black, 80%);
|
|
405
406
|
}
|
|
406
407
|
}
|
|
407
408
|
|
|
@@ -431,7 +432,7 @@ export default class Button extends Vue {
|
|
|
431
432
|
&:enabled {
|
|
432
433
|
&:hover,
|
|
433
434
|
&:focus {
|
|
434
|
-
color: mix($lust, black, 90%);
|
|
435
|
+
color: color.mix($lust, black, 90%);
|
|
435
436
|
|
|
436
437
|
&::before {
|
|
437
438
|
border-color: $lust;
|
|
@@ -439,7 +440,7 @@ export default class Button extends Vue {
|
|
|
439
440
|
}
|
|
440
441
|
|
|
441
442
|
&:active {
|
|
442
|
-
color: mix($lust, black, 80%);
|
|
443
|
+
color: color.mix($lust, black, 80%);
|
|
443
444
|
}
|
|
444
445
|
}
|
|
445
446
|
|
|
@@ -450,12 +451,12 @@ export default class Button extends Vue {
|
|
|
450
451
|
&:hover,
|
|
451
452
|
&:focus,
|
|
452
453
|
&:active {
|
|
453
|
-
color: mix($rosa, black, 90%);
|
|
454
|
+
color: color.mix($rosa, black, 90%);
|
|
454
455
|
}
|
|
455
456
|
|
|
456
457
|
&:focus {
|
|
457
458
|
&::before {
|
|
458
|
-
border-color: mix($rosa, black, 90%);
|
|
459
|
+
border-color: color.mix($rosa, black, 90%);
|
|
459
460
|
}
|
|
460
461
|
}
|
|
461
462
|
}
|
|
@@ -49,7 +49,8 @@ export default class Link extends Vue {
|
|
|
49
49
|
</script>
|
|
50
50
|
|
|
51
51
|
<style lang="scss">
|
|
52
|
-
@
|
|
52
|
+
@use 'sass:color';
|
|
53
|
+
@use '@/styles/colors' as *;
|
|
53
54
|
|
|
54
55
|
.uikit-link {
|
|
55
56
|
outline: none;
|
|
@@ -104,11 +105,11 @@ export default class Link extends Vue {
|
|
|
104
105
|
|
|
105
106
|
&:hover,
|
|
106
107
|
&:focus {
|
|
107
|
-
color: mix($brand-blue, black, 90%);
|
|
108
|
+
color: color.mix($brand-blue, black, 90%);
|
|
108
109
|
}
|
|
109
110
|
|
|
110
111
|
&:active {
|
|
111
|
-
color: mix($brand-blue, black, 80%);
|
|
112
|
+
color: color.mix($brand-blue, black, 80%);
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
|
|
@@ -141,15 +142,15 @@ export default class Link extends Vue {
|
|
|
141
142
|
|
|
142
143
|
&:hover,
|
|
143
144
|
&:focus {
|
|
144
|
-
color: mix($pepper, black, 90%);
|
|
145
|
+
color: color.mix($pepper, black, 90%);
|
|
145
146
|
}
|
|
146
147
|
|
|
147
148
|
&:focus::before {
|
|
148
|
-
border-color: mix($pepper, black, 90%);
|
|
149
|
+
border-color: color.mix($pepper, black, 90%);
|
|
149
150
|
}
|
|
150
151
|
|
|
151
152
|
&:active {
|
|
152
|
-
color: mix($pepper, black, 80%);
|
|
153
|
+
color: color.mix($pepper, black, 80%);
|
|
153
154
|
}
|
|
154
155
|
}
|
|
155
156
|
|
|
@@ -159,11 +160,11 @@ export default class Link extends Vue {
|
|
|
159
160
|
&:not(.uikit-link--disabled) {
|
|
160
161
|
&:hover,
|
|
161
162
|
&:focus {
|
|
162
|
-
color: mix($rosa, black, 90%);
|
|
163
|
+
color: color.mix($rosa, black, 90%);
|
|
163
164
|
}
|
|
164
165
|
|
|
165
166
|
&:focus::before {
|
|
166
|
-
border-color: mix($rosa, black, 90%);
|
|
167
|
+
border-color: color.mix($rosa, black, 90%);
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
170
|
}
|
|
@@ -34,8 +34,9 @@ export default class Tab extends Vue {
|
|
|
34
34
|
</script>
|
|
35
35
|
|
|
36
36
|
<style lang="scss">
|
|
37
|
-
@
|
|
38
|
-
@
|
|
37
|
+
@use 'sass:color';
|
|
38
|
+
@use '@/styles/breakpoints' as *;
|
|
39
|
+
@use '@/styles/colors' as *;
|
|
39
40
|
|
|
40
41
|
.uikit-tab {
|
|
41
42
|
color: $brand-blue;
|
|
@@ -49,7 +50,7 @@ export default class Tab extends Vue {
|
|
|
49
50
|
|
|
50
51
|
@media (hover: hover) {
|
|
51
52
|
&:hover {
|
|
52
|
-
color: mix($brand-blue, black, 90%);
|
|
53
|
+
color: color.mix($brand-blue, black, 90%);
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
|
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
v-if="isShowingCalendar"
|
|
24
24
|
v-dark="isDarkMode"
|
|
25
25
|
class="uikit-calendar__clear-date-icon"
|
|
26
|
+
:class="{
|
|
27
|
+
'uikit-calendar__clear-date-icon--no-label': !label,
|
|
28
|
+
}"
|
|
26
29
|
@click.stop.prevent="clearCalendar"
|
|
27
30
|
>
|
|
28
31
|
<Tooltip
|
|
@@ -39,6 +42,7 @@
|
|
|
39
42
|
class="uikit-calendar__calendar-icon"
|
|
40
43
|
:class="{
|
|
41
44
|
'uikit-calendar__calendar-icon--active': !disabled && (hover || isShowingCalendar),
|
|
45
|
+
'uikit-calendar__calendar-icon--no-label': !label,
|
|
42
46
|
}"
|
|
43
47
|
>
|
|
44
48
|
<Icon type="calendarPicker" />
|
|
@@ -181,8 +185,8 @@ export default class Calendar extends Vue {
|
|
|
181
185
|
</script>
|
|
182
186
|
|
|
183
187
|
<style lang="scss">
|
|
184
|
-
@
|
|
185
|
-
@
|
|
188
|
+
@use '@/styles/breakpoints' as *;
|
|
189
|
+
@use '@/styles/colors' as *;
|
|
186
190
|
|
|
187
191
|
.uikit-calendar {
|
|
188
192
|
position: relative;
|
|
@@ -203,6 +207,10 @@ export default class Calendar extends Vue {
|
|
|
203
207
|
color: $steel;
|
|
204
208
|
outline: none;
|
|
205
209
|
|
|
210
|
+
&--no-label {
|
|
211
|
+
top: 8px;
|
|
212
|
+
}
|
|
213
|
+
|
|
206
214
|
&--dark {
|
|
207
215
|
color: $pewter;
|
|
208
216
|
}
|
|
@@ -238,6 +246,10 @@ export default class Calendar extends Vue {
|
|
|
238
246
|
color: $steel;
|
|
239
247
|
outline: none;
|
|
240
248
|
|
|
249
|
+
&--no-label {
|
|
250
|
+
top: 8px;
|
|
251
|
+
}
|
|
252
|
+
|
|
241
253
|
&--dark {
|
|
242
254
|
color: $pewter;
|
|
243
255
|
}
|
|
@@ -50,7 +50,7 @@ type TCustomHighcharts = typeof Highcharts & {
|
|
|
50
50
|
prototype: Record<string, unknown>
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
}
|
|
53
|
+
}
|
|
54
54
|
|
|
55
55
|
Accessibility(Highcharts);
|
|
56
56
|
(function (H) {
|
|
@@ -286,7 +286,7 @@ export default class Bar extends Vue {
|
|
|
286
286
|
borderRadiusTopRight: 8,
|
|
287
287
|
}
|
|
288
288
|
chartOptions.yAxis = {
|
|
289
|
-
...(chartOptions.yAxis || {}),
|
|
289
|
+
...(chartOptions.yAxis as Highcharts.YAxisOptions || {}),
|
|
290
290
|
labels: {
|
|
291
291
|
...((chartOptions.yAxis as Highcharts.YAxisOptions)?.labels),
|
|
292
292
|
formatter: function () {
|
|
@@ -309,7 +309,7 @@ export default class Bar extends Vue {
|
|
|
309
309
|
</script>
|
|
310
310
|
|
|
311
311
|
<style lang="scss">
|
|
312
|
-
@
|
|
312
|
+
@use '@/styles/colors' as *;
|
|
313
313
|
|
|
314
314
|
.uikit-bar {
|
|
315
315
|
max-height: 100%;
|
|
@@ -25,8 +25,8 @@ export default class Pie extends Vue {
|
|
|
25
25
|
chart: {
|
|
26
26
|
plotShadow: false,
|
|
27
27
|
type: 'pie',
|
|
28
|
-
margin: [ 0,0,0,0 ],
|
|
29
|
-
spacing: [ 0,0,0,0 ],
|
|
28
|
+
margin: [ 0, 0, 0, 0 ],
|
|
29
|
+
spacing: [ 0, 0, 0, 0 ],
|
|
30
30
|
},
|
|
31
31
|
title: undefined,
|
|
32
32
|
tooltip: {
|
|
@@ -76,8 +76,8 @@ export default class Pie extends Vue {
|
|
|
76
76
|
</script>
|
|
77
77
|
|
|
78
78
|
<style lang="scss">
|
|
79
|
-
@
|
|
80
|
-
@
|
|
79
|
+
@use '@/styles/breakpoints' as *;
|
|
80
|
+
@use '@/styles/colors' as *;
|
|
81
81
|
|
|
82
82
|
.uikit-pie {
|
|
83
83
|
max-height: 100%;
|
|
@@ -56,7 +56,8 @@ export default class SegmentControl extends Vue {
|
|
|
56
56
|
</script>
|
|
57
57
|
|
|
58
58
|
<style lang="scss">
|
|
59
|
-
@
|
|
59
|
+
@use 'sass:color';
|
|
60
|
+
@use '@/styles/colors' as *;
|
|
60
61
|
|
|
61
62
|
.uikit-segment-control {
|
|
62
63
|
position: relative;
|
|
@@ -64,8 +65,8 @@ export default class SegmentControl extends Vue {
|
|
|
64
65
|
outline: none;
|
|
65
66
|
cursor: pointer;
|
|
66
67
|
border-radius: 4px;
|
|
67
|
-
border: 1px solid change
|
|
68
|
-
color: change
|
|
68
|
+
border: 1px solid color.change($brand-blue, $alpha: 0.45);
|
|
69
|
+
color: color.change($brand-blue, $alpha: 0.45);
|
|
69
70
|
background-color: white;
|
|
70
71
|
font-size: 12px;
|
|
71
72
|
font-weight: 600;
|
|
@@ -104,15 +105,15 @@ export default class SegmentControl extends Vue {
|
|
|
104
105
|
|
|
105
106
|
&:not(&--active) {
|
|
106
107
|
&:hover {
|
|
107
|
-
background-color: change
|
|
108
|
-
color: change
|
|
108
|
+
background-color: color.change($sky-blue, $alpha: 0.45);
|
|
109
|
+
color: color.change($brand-blue, $alpha: 0.75);
|
|
109
110
|
|
|
110
111
|
&:first-child {
|
|
111
|
-
box-shadow: 4px 0 0 0 change
|
|
112
|
+
box-shadow: 4px 0 0 0 color.change($sky-blue, $alpha: 0.45);
|
|
112
113
|
}
|
|
113
114
|
|
|
114
115
|
&:last-child {
|
|
115
|
-
box-shadow: -4px 0 0 0 change
|
|
116
|
+
box-shadow: -4px 0 0 0 color.change($sky-blue, $alpha: 0.45);
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
119
|
}
|
|
@@ -89,7 +89,7 @@ export default class Slider extends Vue {
|
|
|
89
89
|
}
|
|
90
90
|
</script>
|
|
91
91
|
<style lang="scss">
|
|
92
|
-
@
|
|
92
|
+
@use '@/styles/colors' as *;
|
|
93
93
|
|
|
94
94
|
.uikit-slider {
|
|
95
95
|
display: flex;
|
|
@@ -197,7 +197,6 @@ export default class Slider extends Vue {
|
|
|
197
197
|
&__slide-input {
|
|
198
198
|
height: 29px;
|
|
199
199
|
width: 100%;
|
|
200
|
-
-webkit-appearance: none;
|
|
201
200
|
appearance: none;
|
|
202
201
|
background: transparent;
|
|
203
202
|
|
|
@@ -267,7 +266,7 @@ export default class Slider extends Vue {
|
|
|
267
266
|
box-sizing: border-box;
|
|
268
267
|
background: $white;
|
|
269
268
|
cursor: pointer;
|
|
270
|
-
|
|
269
|
+
appearance: none;
|
|
271
270
|
position: relative;
|
|
272
271
|
z-index: 1;
|
|
273
272
|
}
|
|
@@ -50,7 +50,8 @@ export default class ToggleSwitch extends Vue {
|
|
|
50
50
|
</script>
|
|
51
51
|
|
|
52
52
|
<style lang="scss">
|
|
53
|
-
@
|
|
53
|
+
@use 'sass:color';
|
|
54
|
+
@use '@/styles/colors' as *;
|
|
54
55
|
|
|
55
56
|
.uikit-toggle-switch {
|
|
56
57
|
background-color: $steel;
|
|
@@ -104,7 +105,7 @@ export default class ToggleSwitch extends Vue {
|
|
|
104
105
|
background-color: $brand-blue;
|
|
105
106
|
|
|
106
107
|
&:hover {
|
|
107
|
-
background-color:
|
|
108
|
+
background-color: color.adjust($brand-blue, $lightness: -10%);
|
|
108
109
|
}
|
|
109
110
|
|
|
110
111
|
&--dark {
|
|
@@ -48,6 +48,7 @@ import Blob from '../Blobs/Blob.vue'
|
|
|
48
48
|
import { dark } from '../../directives'
|
|
49
49
|
|
|
50
50
|
@Component({
|
|
51
|
+
name: 'EmptyState',
|
|
51
52
|
components: {
|
|
52
53
|
Icon,
|
|
53
54
|
Blob,
|
|
@@ -117,8 +118,8 @@ export default class EmptyState extends Vue {
|
|
|
117
118
|
</script>
|
|
118
119
|
|
|
119
120
|
<style lang="scss">
|
|
120
|
-
@
|
|
121
|
-
@
|
|
121
|
+
@use '@/styles/breakpoints' as *;
|
|
122
|
+
@use '@/styles/colors' as *;
|
|
122
123
|
|
|
123
124
|
.uikit-empty-state {
|
|
124
125
|
text-align: center;
|
|
@@ -110,8 +110,8 @@ export default class ExamCard extends Vue {
|
|
|
110
110
|
</script>
|
|
111
111
|
|
|
112
112
|
<style lang="scss">
|
|
113
|
-
@
|
|
114
|
-
@
|
|
113
|
+
@use '@/styles/breakpoints' as *;
|
|
114
|
+
@use '@/styles/colors' as *;
|
|
115
115
|
|
|
116
116
|
.uikit-exam-card {
|
|
117
117
|
position: relative;
|
|
@@ -135,7 +135,7 @@ export default class ExamCard extends Vue {
|
|
|
135
135
|
width: 340px;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
&:not(&--cancel
|
|
138
|
+
&:not(&--cancel, &--disable-interaction) {
|
|
139
139
|
cursor: pointer;
|
|
140
140
|
|
|
141
141
|
&:hover,
|
|
@@ -76,8 +76,8 @@ export default class ExamMenuCard extends Vue {
|
|
|
76
76
|
</script>
|
|
77
77
|
|
|
78
78
|
<style lang="scss">
|
|
79
|
-
@
|
|
80
|
-
@
|
|
79
|
+
@use '@/styles/breakpoints' as *;
|
|
80
|
+
@use '@/styles/colors' as *;
|
|
81
81
|
|
|
82
82
|
.uikit-exam-menu-card {
|
|
83
83
|
display: flex;
|
|
@@ -152,8 +152,8 @@ export default class FilterDropdown extends Vue {
|
|
|
152
152
|
</script>
|
|
153
153
|
|
|
154
154
|
<style lang="scss">
|
|
155
|
-
@
|
|
156
|
-
@
|
|
155
|
+
@use '@/styles/breakpoints' as *;
|
|
156
|
+
@use '@/styles/colors' as *;
|
|
157
157
|
|
|
158
158
|
.uikit-filter {
|
|
159
159
|
position: relative;
|
|
@@ -200,8 +200,8 @@ export default class FilterOptions extends Vue {
|
|
|
200
200
|
</script>
|
|
201
201
|
|
|
202
202
|
<style lang="scss">
|
|
203
|
-
@
|
|
204
|
-
@
|
|
203
|
+
@use '@/styles/breakpoints' as *;
|
|
204
|
+
@use '@/styles/colors' as *;
|
|
205
205
|
|
|
206
206
|
.filter-options {
|
|
207
207
|
background: $white;
|
|
@@ -73,8 +73,8 @@ export default class Checkbox extends Vue {
|
|
|
73
73
|
</script>
|
|
74
74
|
|
|
75
75
|
<style lang="scss">
|
|
76
|
-
@
|
|
77
|
-
@
|
|
76
|
+
@use '@/styles/breakpoints' as *;
|
|
77
|
+
@use '@/styles/colors' as *;
|
|
78
78
|
|
|
79
79
|
.uikit-checkbox {
|
|
80
80
|
background: $white;
|