@nyuccl/smile 0.2.0-beta.12 → 0.2.0-beta.15

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 (84) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +13 -6
  3. package/dist/runtime/components/builtins/DebriefView.vue +2 -2
  4. package/dist/runtime/components/builtins/DemographicSurveyView.vue +6 -9
  5. package/dist/runtime/components/builtins/DeviceSurveyView.vue +4 -6
  6. package/dist/runtime/components/builtins/ExpView.vue +2 -2
  7. package/dist/runtime/components/builtins/FavoriteColor.vue +2 -2
  8. package/dist/runtime/components/builtins/FavoriteNumber.vue +2 -2
  9. package/dist/runtime/components/builtins/InformedConsentModal.vue +2 -2
  10. package/dist/runtime/components/builtins/InstructionsQuiz.vue +6 -9
  11. package/dist/runtime/components/builtins/InstructionsView.vue +3 -4
  12. package/dist/runtime/components/builtins/StatusBar.vue +4 -6
  13. package/dist/runtime/components/builtins/StudyPreviewText.vue +2 -2
  14. package/dist/runtime/components/builtins/TaskFeedbackSurveyView.vue +2 -2
  15. package/dist/runtime/components/builtins/ThanksView.vue +17 -19
  16. package/dist/runtime/components/builtins/WindowSizerView.vue +4 -5
  17. package/dist/runtime/components/builtins/WithdrawModal.vue +3 -4
  18. package/dist/runtime/components/builtins/WithdrawView.vue +3 -4
  19. package/dist/runtime/components/dev/RecruitmentChooserView.vue +20 -21
  20. package/dist/runtime/components/dev/ResponsiveDeviceContainer.vue +6 -10
  21. package/dist/runtime/components/dev/console/ConfigList.vue +3 -4
  22. package/dist/runtime/components/dev/console/ConsoleConfigPanel.vue +2 -2
  23. package/dist/runtime/components/dev/console/ConsoleDatabaseBrowsePanel.vue +2 -2
  24. package/dist/runtime/components/dev/console/ConsoleLogPanel.vue +13 -18
  25. package/dist/runtime/components/dev/console/DatabaseList.vue +3 -4
  26. package/dist/runtime/components/dev/console/SmileDevConsole.vue +5 -8
  27. package/dist/runtime/components/dev/menu/DevConfigPanel.vue +2 -2
  28. package/dist/runtime/components/dev/menu/SmileDevAppMenu.vue +8 -14
  29. package/dist/runtime/components/dev/navbar/ColorModeButton.vue +4 -6
  30. package/dist/runtime/components/dev/navbar/DatabaseButtonGroup.vue +5 -6
  31. package/dist/runtime/components/dev/navbar/FullScreenButton.vue +3 -4
  32. package/dist/runtime/components/dev/navbar/ReloadButton.vue +2 -2
  33. package/dist/runtime/components/dev/navbar/ResetButton.vue +2 -2
  34. package/dist/runtime/components/dev/navbar/RouteJumper.vue +5 -8
  35. package/dist/runtime/components/dev/navbar/SmileDevNavBar.vue +3 -3
  36. package/dist/runtime/components/dev/navbar/StepInfoButtonGroup.vue +4 -6
  37. package/dist/runtime/components/dev/navbar/ViewInfoButtonGroup.vue +11 -18
  38. package/dist/runtime/components/dev/presentation/DarkModeButton.vue +4 -6
  39. package/dist/runtime/components/dev/presentation/LogoutButton.vue +2 -2
  40. package/dist/runtime/components/dev/presentation/PresentationModeResetButton.vue +2 -2
  41. package/dist/runtime/components/dev/presentation/PresentationNavBar.vue +3 -4
  42. package/dist/runtime/components/dev/presentation/QRCodeButton.vue +3 -4
  43. package/dist/runtime/components/dev/sidebar/AppProgressPanel.vue +4 -6
  44. package/dist/runtime/components/dev/sidebar/StepExplorerPanel.vue +7 -11
  45. package/dist/runtime/components/dev/sidebar/StepNode.vue +3 -4
  46. package/dist/runtime/components/ui/badge/index.d.ts +1 -1
  47. package/dist/runtime/components/ui/button/index.d.ts +2 -2
  48. package/dist/runtime/components/ui/button-group/ButtonGroup.d.vue.ts +1 -1
  49. package/dist/runtime/components/ui/button-group/ButtonGroup.vue.d.ts +1 -1
  50. package/dist/runtime/components/ui/checkbox/Checkbox.d.vue.ts +2 -2
  51. package/dist/runtime/components/ui/checkbox/Checkbox.vue.d.ts +2 -2
  52. package/dist/runtime/components/ui/checkbox/index.d.ts +1 -1
  53. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.d.vue.ts +2 -2
  54. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +2 -2
  55. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.d.vue.ts +1 -1
  56. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +1 -1
  57. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.d.vue.ts +1 -1
  58. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +1 -1
  59. package/dist/runtime/components/ui/multiselect/MultiSelect.d.vue.ts +1 -1
  60. package/dist/runtime/components/ui/multiselect/MultiSelect.vue.d.ts +1 -1
  61. package/dist/runtime/components/ui/resizable/ResizablePanel.d.vue.ts +1 -1
  62. package/dist/runtime/components/ui/resizable/ResizablePanel.vue.d.ts +1 -1
  63. package/dist/runtime/components/ui/select/Select.d.vue.ts +1 -1
  64. package/dist/runtime/components/ui/select/Select.vue.d.ts +1 -1
  65. package/dist/runtime/components/ui/sheet/SheetContent.d.vue.ts +1 -1
  66. package/dist/runtime/components/ui/sheet/SheetContent.vue.d.ts +1 -1
  67. package/dist/runtime/components/ui/sidebar/Sidebar.d.vue.ts +1 -1
  68. package/dist/runtime/components/ui/sidebar/Sidebar.vue.d.ts +1 -1
  69. package/dist/runtime/components/ui/sidebar/SidebarMenuButton.d.vue.ts +1 -1
  70. package/dist/runtime/components/ui/sidebar/SidebarMenuButton.vue.d.ts +1 -1
  71. package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.d.vue.ts +1 -1
  72. package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.vue.d.ts +1 -1
  73. package/dist/runtime/components/ui/sidebar/index.d.ts +1 -1
  74. package/dist/runtime/components/ui/switch/Switch.d.vue.ts +2 -2
  75. package/dist/runtime/components/ui/switch/Switch.vue.d.ts +2 -2
  76. package/dist/runtime/components/ui/switch/index.d.ts +1 -1
  77. package/dist/runtime/components/ui/tags-input/TagsInput.d.vue.ts +1 -1
  78. package/dist/runtime/components/ui/tags-input/TagsInput.vue.d.ts +1 -1
  79. package/dist/runtime/components/ui/toggle/Toggle.d.vue.ts +2 -2
  80. package/dist/runtime/components/ui/toggle/Toggle.vue.d.ts +2 -2
  81. package/dist/runtime/components/ui/toggle/index.d.ts +1 -1
  82. package/dist/runtime/components/ui/toggle-group/ToggleGroup.d.vue.ts +1 -1
  83. package/dist/runtime/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -1
  84. package/package.json +1 -1
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nyuccl/smile",
3
3
  "configKey": "smile",
4
- "version": "0.2.0-beta.12",
4
+ "version": "0.2.0-beta.15",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -1,7 +1,6 @@
1
- import { defineNuxtModule, createResolver, addServerScanDir, addServerImportsDir, addVitePlugin, addPlugin, addRouteMiddleware, addLayout, extendPages, addComponentsDir, addImports } from '@nuxt/kit';
1
+ import { defineNuxtModule, createResolver, addServerScanDir, addServerImportsDir, addPlugin, addRouteMiddleware, addLayout, extendPages, addComponentsDir, addImports } from '@nuxt/kit';
2
2
  import { fileURLToPath } from 'node:url';
3
3
  import tailwindcss from '@tailwindcss/vite';
4
- import Icons from 'unplugin-icons/vite';
5
4
 
6
5
  const module$1 = defineNuxtModule({
7
6
  meta: {
@@ -31,9 +30,6 @@ const module$1 = defineNuxtModule({
31
30
  _nuxt.options.alias["#smile-dev"] = resolver.resolve("./runtime/components/dev");
32
31
  _nuxt.options.vite.plugins = _nuxt.options.vite.plugins || [];
33
32
  _nuxt.options.vite.plugins.push(tailwindcss());
34
- addVitePlugin(Icons({
35
- compiler: "vue3"
36
- }));
37
33
  _nuxt.options.vite.optimizeDeps = _nuxt.options.vite.optimizeDeps || {};
38
34
  _nuxt.options.vite.optimizeDeps.include = _nuxt.options.vite.optimizeDeps.include || [];
39
35
  _nuxt.options.vite.optimizeDeps.include.push(
@@ -43,7 +39,18 @@ const module$1 = defineNuxtModule({
43
39
  "@nyuccl/smile > crypto-js/sha256",
44
40
  "@nyuccl/smile > crypto-js/enc-base64",
45
41
  "@nyuccl/smile > json-stable-stringify",
46
- "@nyuccl/smile > qrcode-svg"
42
+ "@nyuccl/smile > qrcode-svg",
43
+ "@nyuccl/smile > lucide-vue-next",
44
+ "@nyuccl/smile > reka-ui",
45
+ "@nyuccl/smile > reka-ui/date",
46
+ "@nyuccl/smile > @internationalized/date",
47
+ "@nyuccl/smile > vue-sonner",
48
+ "@nyuccl/smile > class-variance-authority",
49
+ "@nyuccl/smile > clsx",
50
+ "@nyuccl/smile > tailwind-merge",
51
+ "@nyuccl/smile > @vueuse/core",
52
+ "@nyuccl/smile > uuid",
53
+ "@nyuccl/smile > axios"
47
54
  );
48
55
  _nuxt.options.css.push(resolver.resolve("./runtime/css/main.css"));
49
56
  addPlugin(resolver.resolve("./runtime/plugins/store-sync.client"));
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidArrowRight from "~icons/fa6-solid/arrow-right";
2
+ import { ArrowRight } from "lucide-vue-next";
3
3
  const api = useViewAPI();
4
4
  const _props = defineProps({
5
5
  debriefText: {
@@ -36,7 +36,7 @@ function finish() {
36
36
  @click="finish()"
37
37
  >
38
38
  next
39
- <i-fa6-solid-arrow-right />
39
+ <ArrowRight />
40
40
  </Button>
41
41
  </div>
42
42
  </div>
@@ -1,10 +1,7 @@
1
1
  <script setup>
2
- import IFa6SolidArrowLeft from "~icons/fa6-solid/arrow-left";
3
- import IFa6SolidArrowRight from "~icons/fa6-solid/arrow-right";
4
- import IFa6SolidPerson from "~icons/fa6-solid/person";
2
+ import { ArrowLeft, ArrowRight, CalendarIcon, User } from "lucide-vue-next";
5
3
  import { reactive, computed, ref } from "vue";
6
4
  import { cn } from "../../lib/utils";
7
- import { CalendarIcon } from "lucide-vue-next";
8
5
  import useViewAPI from "../../composables/useViewAPI";
9
6
  const api = useViewAPI();
10
7
  api.steps.append([{ id: "survey_page1" }, { id: "survey_page2" }, { id: "survey_page3" }]);
@@ -80,7 +77,7 @@ function finish() {
80
77
  <!-- Page title and description section -->
81
78
  <template #title>
82
79
  <h3 class="text-3xl font-bold mb-4">
83
- <i-fa6-solid-person class="inline mr-2" />Demographic Information
80
+ <User class="inline mr-2" />Demographic Information
84
81
  </h3>
85
82
  <p class="text-lg mb-8">
86
83
  We request some information about you which we can use to understand aggregate differences between
@@ -295,7 +292,7 @@ function finish() {
295
292
  @click="api.goNextStep()"
296
293
  >
297
294
  Continue
298
- <i-fa6-solid-arrow-right />
295
+ <ArrowRight />
299
296
  </Button>
300
297
  </div>
301
298
  </div>
@@ -455,7 +452,7 @@ function finish() {
455
452
  variant="outline"
456
453
  @click="api.goPrevStep()"
457
454
  >
458
- <i-fa6-solid-arrow-left />
455
+ <ArrowLeft />
459
456
  Previous
460
457
  </Button>
461
458
  <Button
@@ -464,7 +461,7 @@ function finish() {
464
461
  @click="api.goNextStep()"
465
462
  >
466
463
  Continue
467
- <i-fa6-solid-arrow-right />
464
+ <ArrowRight />
468
465
  </Button>
469
466
  </div>
470
467
  </div>
@@ -1193,7 +1190,7 @@ function finish() {
1193
1190
  variant="outline"
1194
1191
  @click="api.goPrevStep()"
1195
1192
  >
1196
- <i-fa6-solid-arrow-left />
1193
+ <ArrowLeft />
1197
1194
  Previous
1198
1195
  </Button>
1199
1196
  <Button
@@ -1,7 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidArrowLeft from "~icons/fa6-solid/arrow-left";
3
- import IFa6SolidArrowRight from "~icons/fa6-solid/arrow-right";
4
- import IFa6SolidDesktop from "~icons/fa6-solid/desktop";
2
+ import { ArrowLeft, ArrowRight, Monitor } from "lucide-vue-next";
5
3
  import { reactive, computed } from "vue";
6
4
  import useViewAPI from "../../composables/useViewAPI";
7
5
  const api = useViewAPI();
@@ -65,7 +63,7 @@ function finish() {
65
63
  <!-- Title and description section -->
66
64
  <template #title>
67
65
  <h3 class="text-3xl font-bold mb-4">
68
- <i-fa6-solid-desktop class="inline mr-2" />&nbsp;Computer/Device Information
66
+ <Monitor class="inline mr-2" />&nbsp;Computer/Device Information
69
67
  </h3>
70
68
  <p class="text-lg mb-8">
71
69
  We request some basic information about the computer you are using right now. We also can use this information
@@ -281,7 +279,7 @@ function finish() {
281
279
  @click="api.goNextStep()"
282
280
  >
283
281
  Continue
284
- <i-fa6-solid-arrow-right />
282
+ <ArrowRight />
285
283
  </Button>
286
284
  </div>
287
285
  </div>
@@ -438,7 +436,7 @@ function finish() {
438
436
  variant="outline"
439
437
  @click="api.goPrevStep()"
440
438
  >
441
- <i-fa6-solid-arrow-left />
439
+ <ArrowLeft />
442
440
  Previous
443
441
  </Button>
444
442
  <Button
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidArrowRight from "~icons/fa6-solid/arrow-right";
2
+ import { ArrowRight } from "lucide-vue-next";
3
3
  import useViewAPI from "../../composables/useViewAPI";
4
4
  const api = useViewAPI();
5
5
  function finish() {
@@ -33,7 +33,7 @@ function finish() {
33
33
  @click="finish()"
34
34
  >
35
35
  next
36
- <i-fa6-solid-arrow-right />
36
+ <ArrowRight />
37
37
  </Button>
38
38
  </div>
39
39
  </div>
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidArrowRight from "~icons/fa6-solid/arrow-right";
2
+ import { ArrowRight } from "lucide-vue-next";
3
3
  import { ref } from "vue";
4
4
  import useViewAPI from "../../composables/useViewAPI";
5
5
  const api = useViewAPI();
@@ -50,7 +50,7 @@ function finish() {
50
50
  @click="finish()"
51
51
  >
52
52
  next
53
- <i-fa6-solid-arrow-right />
53
+ <ArrowRight />
54
54
  </Button>
55
55
  </div>
56
56
  </div>
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidArrowRight from "~icons/fa6-solid/arrow-right";
2
+ import { ArrowRight } from "lucide-vue-next";
3
3
  import { ref } from "vue";
4
4
  import useViewAPI from "../../composables/useViewAPI";
5
5
  const api = useViewAPI();
@@ -50,7 +50,7 @@ function finish() {
50
50
  @click="finish()"
51
51
  >
52
52
  next
53
- <i-fa6-solid-arrow-right />
53
+ <ArrowRight />
54
54
  </Button>
55
55
  </div>
56
56
  </div>
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidXmark from "~icons/fa6-solid/xmark";
2
+ import { X } from "lucide-vue-next";
3
3
  import { watch, onUnmounted } from "vue";
4
4
  import useAPI from "../../composables/useAPI";
5
5
  const props = defineProps({
@@ -50,7 +50,7 @@ onUnmounted(() => {
50
50
  aria-label="close"
51
51
  @click="$emit('toggleConsent')"
52
52
  >
53
- <i-fa6-solid-xmark class="text-xl" />
53
+ <X class="text-xl" />
54
54
  </Button>
55
55
 
56
56
  <!-- Modal content container -->
@@ -1,8 +1,5 @@
1
1
  <script setup>
2
- import IBxError from "~icons/bx/error";
3
- import IFa6SolidArrowLeft from "~icons/fa6-solid/arrow-left";
4
- import IFa6SolidArrowRight from "~icons/fa6-solid/arrow-right";
5
- import IFa6SolidSquareCheck from "~icons/fa6-solid/square-check";
2
+ import { ArrowLeft, ArrowRight, CircleAlert, SquareCheckBig } from "lucide-vue-next";
6
3
  import { computed } from "vue";
7
4
  import useViewAPI from "../../composables/useViewAPI";
8
5
  const api = useViewAPI();
@@ -132,7 +129,7 @@ init();
132
129
  >
133
130
  <template #title>
134
131
  <h3 class="text-3xl font-bold mb-4">
135
- <i-fa6-solid-square-check class="inline mr-2" />&nbsp;Did we explain things clearly?
132
+ <SquareCheckBig class="inline mr-2" />&nbsp;Did we explain things clearly?
136
133
  </h3>
137
134
  <p class="text-lg mb-8">
138
135
  Using the information provided in the previous pages, please select the correct answer for each question. Do
@@ -205,7 +202,7 @@ init();
205
202
  variant="outline"
206
203
  @click="api.goPrevStep()"
207
204
  >
208
- <i-fa6-solid-arrow-left />
205
+ <ArrowLeft />
209
206
  Previous page
210
207
  </Button>
211
208
  <div v-else />
@@ -215,7 +212,7 @@ init();
215
212
  @click="api.isLastBlockStep() ? submitQuiz() : api.goNextStep()"
216
213
  >
217
214
  {{ api.isLastBlockStep() ? 'Submit' : 'Next page' }}
218
- <i-fa6-solid-arrow-right v-if="!api.isLastBlockStep()" />
215
+ <ArrowRight v-if="!api.isLastBlockStep()" />
219
216
  </Button>
220
217
  </div>
221
218
  </div>
@@ -234,7 +231,7 @@ init();
234
231
  <div class="text-center items-center justify-center">
235
232
  <h3 class="text-3xl font-bold mb-4">
236
233
  <div class="flex justify-center mb-2">
237
- <i-fa6-solid-square-check class="text-[4rem]" />
234
+ <SquareCheckBig class="text-[4rem]" />
238
235
  </div>
239
236
  Congrats! You passed.
240
237
  </h3>
@@ -261,7 +258,7 @@ init();
261
258
  <div class="text-center items-center justify-center">
262
259
  <h3 class="text-3xl font-bold mb-4">
263
260
  <div class="flex justify-center mb-2">
264
- <i-bx-error class="text-[4rem]" />
261
+ <CircleAlert class="text-[4rem]" />
265
262
  </div>
266
263
  Sorry! You did not get all the answers correct.
267
264
  </h3>
@@ -1,6 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidArrowRight from "~icons/fa6-solid/arrow-right";
3
- import IMaterialSymbolsIntegrationInstructions from "~icons/material-symbols/integration-instructions";
2
+ import { ArrowRight, BookOpen } from "lucide-vue-next";
4
3
  import { computed } from "vue";
5
4
  import useViewAPI from "../../composables/useViewAPI";
6
5
  const api = useViewAPI();
@@ -35,7 +34,7 @@ function finish(_goto) {
35
34
  <div class="w-[80%] h-[80%]">
36
35
  <!-- Instruction header with icon -->
37
36
  <h1 class="text-2xl font-bold mb-4">
38
- <i-material-symbols-integration-instructions class="inline-block mr-2 text-3xl" /> Instructions
37
+ <BookOpen class="inline-block mr-2 text-3xl" /> Instructions
39
38
  </h1>
40
39
 
41
40
  <!-- Dynamic instruction text based on condition -->
@@ -53,7 +52,7 @@ function finish(_goto) {
53
52
  @click="finish()"
54
53
  >
55
54
  next
56
- <i-fa6-solid-arrow-right />
55
+ <ArrowRight />
57
56
  </Button>
58
57
  </div>
59
58
  </div>
@@ -1,7 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidCircleXmark from "~icons/fa6-solid/circle-xmark";
3
- import IFa6SolidHand from "~icons/fa6-solid/hand";
4
- import IFa6SolidMagnifyingGlass from "~icons/fa6-solid/magnifying-glass";
2
+ import { CircleX, Hand, Search } from "lucide-vue-next";
5
3
  import { ref } from "vue";
6
4
  import useSmileStore from "../../stores/smilestore";
7
5
  import useAPI from "../../composables/useAPI";
@@ -85,7 +83,7 @@ function submitWithdraw() {
85
83
  size="xs"
86
84
  @click="toggleConsent()"
87
85
  >
88
- <i-fa6-solid-magnifying-glass />
86
+ <Search />
89
87
  <span class="@[400px]:inline hidden">View consent</span>
90
88
  </Button>
91
89
  <Button
@@ -98,7 +96,7 @@ function submitWithdraw() {
98
96
  size="xs"
99
97
  @click="toggleWithdraw()"
100
98
  >
101
- <i-fa6-solid-circle-xmark />
99
+ <CircleX />
102
100
  <span class="@[400px]:inline hidden">Withdraw</span>
103
101
  </Button>
104
102
  <Button
@@ -107,7 +105,7 @@ function submitWithdraw() {
107
105
  size="xs"
108
106
  @click="toggleReport()"
109
107
  >
110
- <i-fa6-solid-hand />
108
+ <Hand />
111
109
  Report issue
112
110
  </Button>
113
111
  </div>
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidBahai from "~icons/fa6-solid/bahai";
2
+ import { Sparkles } from "lucide-vue-next";
3
3
  import useAPI from "../../composables/useAPI";
4
4
  const api = useAPI();
5
5
  const _props = defineProps({
@@ -61,7 +61,7 @@ const _props = defineProps({
61
61
  <article class="border border-gray-300 rounded-lg shadow-lg">
62
62
  <!-- Card header -->
63
63
  <div class="bg-gray-100 px-3 py-2 text-xs font-medium border-b border-gray-300 rounded-t-lg">
64
- <p><i-fa6-solid-bahai class="inline" />&nbsp;&nbsp;Who are we?</p>
64
+ <p><Sparkles class="inline" />&nbsp;&nbsp;Who are we?</p>
65
65
  </div>
66
66
 
67
67
  <!-- Card content with lab details -->
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidPencil from "~icons/fa6-solid/pencil";
2
+ import { Pencil } from "lucide-vue-next";
3
3
  import { reactive, computed } from "vue";
4
4
  import useViewAPI from "../../composables/useViewAPI";
5
5
  const api = useViewAPI();
@@ -48,7 +48,7 @@ function finish() {
48
48
  <!-- Page title and description section -->
49
49
  <template #title>
50
50
  <h3 class="text-3xl font-bold mb-4">
51
- <i-fa6-solid-pencil class="inline mr-2" />&nbsp;Give us feedback
51
+ <Pencil class="inline mr-2" />&nbsp;Give us feedback
52
52
  </h3>
53
53
  <p class="text-lg mb-8">
54
54
  Please give us feedback about your experience with the study. Your feedback will help us improve our study and
@@ -1,7 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidArrowRight from "~icons/fa6-solid/arrow-right";
3
- import IFa6SolidClipboard from "~icons/fa6-solid/clipboard";
4
- import IFa6SolidSquareCheck from "~icons/fa6-solid/square-check";
2
+ import { ArrowRight, ClipboardCopy, SquareCheckBig } from "lucide-vue-next";
5
3
  import Clipboard from "clipboard";
6
4
  import { onMounted, ref } from "vue";
7
5
  import useAPI from "../../composables/useAPI";
@@ -81,7 +79,7 @@ onMounted(() => {
81
79
  >
82
80
  <template #title>
83
81
  <h1 class="text-3xl font-bold mb-4">
84
- <i-fa6-solid-square-check class="inline mr-2" />&nbsp;Thanks, let's begin the payment process!
82
+ <SquareCheckBig class="inline mr-2" />&nbsp;Thanks, let's begin the payment process!
85
83
  </h1>
86
84
  <p class="text-lg mb-8">
87
85
  Please click the button below to begin the process of payment. This will notify Prolific you successfully
@@ -107,7 +105,7 @@ onMounted(() => {
107
105
  :href="`https://app.prolific.co/submissions/complete?cc=${completionCode}`"
108
106
  >
109
107
  Submit my work to Prolific
110
- <i-fa6-solid-arrow-right />
108
+ <ArrowRight />
111
109
  </Button>
112
110
  </div>
113
111
  </template>
@@ -123,7 +121,7 @@ onMounted(() => {
123
121
  >
124
122
  <template #title>
125
123
  <h1 class="text-3xl font-bold mb-4">
126
- <i-fa6-solid-square-check class="inline mr-2" />&nbsp;Thanks, let's begin the payment process!
124
+ <SquareCheckBig class="inline mr-2" />&nbsp;Thanks, let's begin the payment process!
127
125
  </h1>
128
126
  <p class="text-lg mb-8">
129
127
  Please copy the code displayed below (or click the button) and paste it into the Mechanical Turk window to
@@ -157,7 +155,7 @@ onMounted(() => {
157
155
  data-clipboard-target=".completioncode-cloudresearch"
158
156
  >
159
157
  Copy Code
160
- <i-fa6-solid-clipboard />
158
+ <ClipboardCopy />
161
159
  </Button>
162
160
  </div>
163
161
  </div>
@@ -174,7 +172,7 @@ onMounted(() => {
174
172
  >
175
173
  <template #title>
176
174
  <h1 class="text-3xl font-bold mb-4">
177
- <i-fa6-solid-square-check class="inline mr-2" />&nbsp;Thanks, let's begin the payment process!
175
+ <SquareCheckBig class="inline mr-2" />&nbsp;Thanks, let's begin the payment process!
178
176
  </h1>
179
177
  <p class="text-lg mb-8">
180
178
  Please verify the code displayed below is visible in the form on the Mechanical Turk website. If it is not
@@ -209,7 +207,7 @@ onMounted(() => {
209
207
  data-clipboard-target=".completioncode-mturk"
210
208
  >
211
209
  Copy Code
212
- <i-fa6-solid-clipboard />
210
+ <ClipboardCopy />
213
211
  </Button>
214
212
  </div>
215
213
  </div>
@@ -226,7 +224,7 @@ onMounted(() => {
226
224
  >
227
225
  <template #title>
228
226
  <h1 class="text-3xl font-bold mb-4">
229
- <i-fa6-solid-square-check class="inline mr-2" />&nbsp;Thanks, let's begin the payment process!
227
+ <SquareCheckBig class="inline mr-2" />&nbsp;Thanks, let's begin the payment process!
230
228
  </h1>
231
229
  <p class="text-lg mb-8">
232
230
  This still needs to be implemented
@@ -250,7 +248,7 @@ onMounted(() => {
250
248
  :href="!api.config.anonymousMode ? 'http://gureckislab.org' : 'http://google.com'"
251
249
  >
252
250
  Submit my work
253
- <i-fa6-solid-arrow-right />
251
+ <ArrowRight />
254
252
  </Button>
255
253
  </div>
256
254
  </template>
@@ -266,7 +264,7 @@ onMounted(() => {
266
264
  >
267
265
  <template #title>
268
266
  <h1 class="text-3xl font-bold mb-4">
269
- <i-fa6-solid-square-check class="inline mr-2" />&nbsp;Thanks, let's record your credit!
267
+ <SquareCheckBig class="inline mr-2" />&nbsp;Thanks, let's record your credit!
270
268
  </h1>
271
269
  <p class="text-lg mb-8">
272
270
  Please click the button below to return to SONA and receive credit for completing this study.
@@ -291,7 +289,7 @@ onMounted(() => {
291
289
  :href="`${api.config.sona.url}/webstudy_credit.aspx?experiment_id=${api.config.sona.experimentId}&credit_token=${api.config.sona.creditToken}&survey_code=${api.store.private.recruitmentInfo.survey_code}`"
292
290
  >
293
291
  Return to SONA for credit
294
- <i-fa6-solid-arrow-right />
292
+ <ArrowRight />
295
293
  </Button>
296
294
  </div>
297
295
  </template>
@@ -307,7 +305,7 @@ onMounted(() => {
307
305
  >
308
306
  <template #title>
309
307
  <h1 class="text-3xl font-bold mb-4">
310
- <i-fa6-solid-square-check class="inline mr-2" />&nbsp;Thanks, let's begin the payment process!
308
+ <SquareCheckBig class="inline mr-2" />&nbsp;Thanks, let's begin the payment process!
311
309
  </h1>
312
310
  <p class="text-lg mb-8">
313
311
  Please click the button below to return to SONA and begin the payment process.
@@ -332,7 +330,7 @@ onMounted(() => {
332
330
  :href="`${api.config.sonaPaid.url}/webstudy_credit.aspx?experiment_id=${api.config.sonaPaid.experimentId}&credit_token=${api.config.sonaPaid.creditToken}&survey_code=${api.store.private.recruitmentInfo.survey_code}`"
333
331
  >
334
332
  Return to SONA for payment
335
- <i-fa6-solid-arrow-right />
333
+ <ArrowRight />
336
334
  </Button>
337
335
  </div>
338
336
  </template>
@@ -348,7 +346,7 @@ onMounted(() => {
348
346
  >
349
347
  <template #title>
350
348
  <h1 class="text-3xl font-bold mb-4">
351
- <i-fa6-solid-square-check class="inline mr-2" />&nbsp;Thanks for your contribution to science!
349
+ <SquareCheckBig class="inline mr-2" />&nbsp;Thanks for your contribution to science!
352
350
  </h1>
353
351
  <p class="text-lg mb-8">
354
352
  Please click the button below to return to SPARK and complete your session.
@@ -373,7 +371,7 @@ onMounted(() => {
373
371
  :href="`${api.config.spark.completionUrl}/${api.store.private.recruitmentInfo.subject_ID}`"
374
372
  >
375
373
  Return to SPARK
376
- <i-fa6-solid-arrow-right />
374
+ <ArrowRight />
377
375
  </Button>
378
376
  </div>
379
377
  </template>
@@ -389,7 +387,7 @@ onMounted(() => {
389
387
  >
390
388
  <template #title>
391
389
  <h1 class="text-3xl font-bold mb-4">
392
- <i-fa6-solid-square-check class="inline mr-2" />&nbsp;Thanks for your contribution to science!
390
+ <SquareCheckBig class="inline mr-2" />&nbsp;Thanks for your contribution to science!
393
391
  </h1>
394
392
  <p class="text-lg mb-8">
395
393
  Your data have been successfully recorded. You may now close this window or follow any
@@ -425,7 +423,7 @@ onMounted(() => {
425
423
  >
426
424
  <template #title>
427
425
  <h1 class="text-3xl font-bold mb-4">
428
- <i-fa6-solid-square-check class="inline mr-2" />&nbsp;Thanks for your contribution to science!
426
+ <SquareCheckBig class="inline mr-2" />&nbsp;Thanks for your contribution to science!
429
427
  </h1>
430
428
  <p class="text-lg mb-8">
431
429
  Your data have been successfully recorded and you can close this window or navigate to another page.
@@ -1,6 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidArrowRight from "~icons/fa6-solid/arrow-right";
3
- import IFa6SolidArrowsUpDownLeftRight from "~icons/fa6-solid/arrows-up-down-left-right";
2
+ import { ArrowRight, Move } from "lucide-vue-next";
4
3
  import useViewAPI from "../../composables/useViewAPI";
5
4
  const api = useViewAPI();
6
5
  const props = defineProps(["triggered"]);
@@ -30,7 +29,7 @@ function finish() {
30
29
  >
31
30
  <!-- Resize icon -->
32
31
  <div class="text-4xl text-window-sizer-text mb-4 flex justify-center">
33
- <i-fa6-solid-arrows-up-down-left-right />
32
+ <Move />
34
33
  </div>
35
34
 
36
35
  <!-- Main instruction text -->
@@ -58,7 +57,7 @@ function finish() {
58
57
  @click="finish()"
59
58
  >
60
59
  It is visible now, I'm ready
61
- <i-fa6-solid-arrow-right />
60
+ <ArrowRight />
62
61
  </Button>
63
62
  </div>
64
63
  </div>
@@ -70,7 +69,7 @@ function finish() {
70
69
  >
71
70
  <!-- Resize icon -->
72
71
  <span class="text-4xl text-window-sizer-text mb-4 flex justify-center">
73
- <i-fa6-solid-arrows-up-down-left-right />
72
+ <Move />
74
73
  </span>
75
74
 
76
75
  <!-- Re-adjustment instruction text -->
@@ -1,6 +1,5 @@
1
1
  <script setup>
2
- import IFa6SolidXmark from "~icons/fa6-solid/xmark";
3
- import IPhHandWithdrawThin from "~icons/ph/hand-withdraw-thin";
2
+ import { LogOut, X } from "lucide-vue-next";
4
3
  import { reactive, watch, onUnmounted } from "vue";
5
4
  import useAPI from "../../composables/useAPI";
6
5
  const props = defineProps({
@@ -75,7 +74,7 @@ onUnmounted(() => {
75
74
  aria-label="close"
76
75
  @click="$emit('toggleWithdraw')"
77
76
  >
78
- <i-fa6-solid-xmark class="text-xl" />
77
+ <X class="text-xl" />
79
78
  </Button>
80
79
 
81
80
  <!-- Modal content container -->
@@ -86,7 +85,7 @@ onUnmounted(() => {
86
85
  <!-- Modal header with title -->
87
86
  <template #title>
88
87
  <h3 class="text-3xl font-semibold">
89
- <i-ph-hand-withdraw-thin class="text-red-500 inline-block mr-2" />Withdraw from study?
88
+ <LogOut class="text-red-500 inline-block mr-2" />Withdraw from study?
90
89
  </h3>
91
90
  </template>
92
91
 
@@ -1,6 +1,5 @@
1
1
  <script setup>
2
- import IIconParkOutlineAttention from "~icons/icon-park-outline/attention";
3
- import IIconParkOutlineBye from "~icons/icon-park-outline/bye";
2
+ import { AlertTriangle, HandMetal } from "lucide-vue-next";
4
3
  import { computed } from "vue";
5
4
  import useAPI from "../../composables/useAPI";
6
5
  const api = useAPI();
@@ -69,7 +68,7 @@ const content = computed(() => {
69
68
  >
70
69
  <CardHeader>
71
70
  <p class="text-xl font-semibold text-center">
72
- <i-icon-park-outline-bye class="text-withdraw-text inline-block text-5xl mb-2" />
71
+ <HandMetal class="text-withdraw-text inline-block text-5xl mb-2" />
73
72
  <br>{{ content.title }}
74
73
  </p>
75
74
  </CardHeader>
@@ -85,7 +84,7 @@ const content = computed(() => {
85
84
  >
86
85
  <CardHeader>
87
86
  <p class="text-xl font-semibold text-center">
88
- <i-icon-park-outline-attention class="text-warning-text inline-block text-5xl mb-2" />
87
+ <AlertTriangle class="text-warning-text inline-block text-5xl mb-2" />
89
88
  <br>Access Error
90
89
  </p>
91
90
  </CardHeader>