@zap-wunschlachen/wl-shared-components 1.0.49 → 1.0.51

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 (201) hide show
  1. package/.github/workflows/playwright.yml +205 -205
  2. package/.github/workflows/static.yml +61 -61
  3. package/.github/workflows/update-snapshots.yml +37 -37
  4. package/.prettierrc +5 -5
  5. package/.storybook/main.ts +18 -18
  6. package/.storybook/preview.ts +37 -37
  7. package/.storybook/storyWrapper.vue +18 -18
  8. package/.storybook/withVuetifyTheme.decorator.ts +21 -21
  9. package/App.vue +2236 -2236
  10. package/README.md +56 -56
  11. package/heroicons.ts +75 -75
  12. package/index.html +19 -19
  13. package/package.json +67 -67
  14. package/playwright.config.ts +48 -48
  15. package/public/background.svg +60 -60
  16. package/public/style.css +187 -187
  17. package/public/technologies.svg +22 -22
  18. package/src/assets/css/base.css +242 -242
  19. package/src/assets/css/variables.css +176 -176
  20. package/src/components/Accordion/Accordion.css +207 -207
  21. package/src/components/Accordion/AccordionGroup.vue +106 -106
  22. package/src/components/Accordion/AccordionItem.vue +123 -123
  23. package/src/components/Appointment/Card/Actions.css +54 -54
  24. package/src/components/Appointment/Card/Actions.vue +99 -99
  25. package/src/components/Appointment/Card/AnamneseNotification.css +20 -20
  26. package/src/components/Appointment/Card/AnamneseNotification.vue +23 -23
  27. package/src/components/Appointment/Card/Card.css +99 -99
  28. package/src/components/Appointment/Card/Card.vue +97 -97
  29. package/src/components/Appointment/Card/Details.css +62 -62
  30. package/src/components/Appointment/Card/Details.vue +44 -44
  31. package/src/components/Audio/Audio.vue +187 -187
  32. package/src/components/Audio/Waveform.vue +118 -118
  33. package/src/components/Button/Button.vue +246 -246
  34. package/src/components/CheckBox/CheckBox.css +234 -234
  35. package/src/components/CheckBox/Checkbox.vue +184 -184
  36. package/src/components/DateInput/DateInput.css +2 -2
  37. package/src/components/DateInput/DateInput.vue +360 -272
  38. package/src/components/Dialog/Dialog.css +6 -6
  39. package/src/components/Dialog/Dialog.vue +38 -38
  40. package/src/components/EditField/EditField.css +19 -19
  41. package/src/components/EditField/EditField.vue +211 -211
  42. package/src/components/ErrorPage/ErrorPage.css +172 -172
  43. package/src/components/IconBullet/IconBullet.vue +104 -104
  44. package/src/components/IconBullet/IconBulletList.vue +55 -55
  45. package/src/components/Icons/AdvanceAppointments.vue +161 -161
  46. package/src/components/Icons/Audio/CloudFailed.vue +27 -27
  47. package/src/components/Icons/Audio/CloudSaved.vue +28 -28
  48. package/src/components/Icons/Audio/Delete.vue +22 -22
  49. package/src/components/Icons/Audio/Pause.vue +25 -25
  50. package/src/components/Icons/Audio/Play.vue +22 -22
  51. package/src/components/Icons/Calendar.vue +28 -28
  52. package/src/components/Icons/CalendarNotification.vue +137 -137
  53. package/src/components/Icons/Chair.vue +43 -43
  54. package/src/components/Icons/ChairNotification.vue +46 -46
  55. package/src/components/Icons/Circle.vue +66 -66
  56. package/src/components/Icons/FavIcon.vue +69 -69
  57. package/src/components/Icons/FilledCircle.vue +11 -11
  58. package/src/components/Icons/Group3.vue +57 -57
  59. package/src/components/Icons/{play.vue → Play.vue} +16 -16
  60. package/src/components/Icons/RingNotification.vue +65 -65
  61. package/src/components/Icons/SolidArrowRight.vue +14 -14
  62. package/src/components/Icons/checkbox.vue +19 -19
  63. package/src/components/Icons/outlineChecked.vue +38 -38
  64. package/src/components/Input/Input.css +234 -234
  65. package/src/components/Input/Input.vue +275 -275
  66. package/src/components/Laboratory/AppointmentCard/AppointmentCard.css +7 -7
  67. package/src/components/Laboratory/AppointmentCard/AppointmentCard.vue +116 -116
  68. package/src/components/Laboratory/ChatBoxImage/ChatBoxImage.vue +81 -81
  69. package/src/components/Laboratory/ChatMessage/ChatMessage.vue +113 -113
  70. package/src/components/Laboratory/ChatMessage/ChatMessageBadge.css +4 -4
  71. package/src/components/Laboratory/ChatMessage/ChatMessageBadge.vue +99 -99
  72. package/src/components/Laboratory/ChatNotification/ChatNotification.vue +130 -130
  73. package/src/components/Laboratory/DocumentCard/DocumentCard.css +3 -3
  74. package/src/components/Laboratory/DocumentCard/DocumentCard.vue +50 -50
  75. package/src/components/Laboratory/DocumentCard/DocumentCardItem.vue +53 -53
  76. package/src/components/Laboratory/InfoCard/InfoCard.vue +162 -162
  77. package/src/components/Laboratory/MainColumnsBar/MainColumnsBar.vue +102 -102
  78. package/src/components/Laboratory/ProgressCircle/ProgressCircle.vue +152 -152
  79. package/src/components/Laboratory/ProgressLinear/ProgressLinear.css +33 -33
  80. package/src/components/Laboratory/ProgressLinear/ProgressLinear.vue +75 -75
  81. package/src/components/Laboratory/SelectionColumnBar/SelectionColumnBar.vue +92 -92
  82. package/src/components/Laboratory/StatusNotification/StatusNotification.vue +49 -49
  83. package/src/components/Laboratory/TagLabel/TagLabel.vue +126 -126
  84. package/src/components/Laboratory/TagLabelGroup/TagLabelGroup.vue +97 -97
  85. package/src/components/Laboratory/TicketCard/TicketCard.css +3 -3
  86. package/src/components/Laboratory/TicketCard/TicketCard.vue +143 -143
  87. package/src/components/Laboratory/TimeLine/TimeLineEvent.css +18 -18
  88. package/src/components/Laboratory/TimeLine/TimeLineEvent.vue +119 -119
  89. package/src/components/Laboratory/TimeLine/Timeline.css +4 -4
  90. package/src/components/Laboratory/TimeLine/Timeline.vue +30 -30
  91. package/src/components/Loader/Loader.css +78 -78
  92. package/src/components/MaintenanceBanner/MaintenanceBanner.css +353 -353
  93. package/src/components/MaintenanceBanner/MaintenanceBanner.vue +140 -140
  94. package/src/components/MaintenanceBanner/MaintenanceIllustration.vue +54 -54
  95. package/src/components/Modal/Modal.css +5 -5
  96. package/src/components/Modal/Modal.vue +22 -22
  97. package/src/components/NotificationBubble/NotificationBubble.css +4 -4
  98. package/src/components/NotificationBubble/NotificationBubble.vue +90 -90
  99. package/src/components/OtpInput/OtpInput.css +43 -43
  100. package/src/components/OtpInput/OtpInput.vue +181 -181
  101. package/src/components/PhoneInput/PhoneInput.css +126 -126
  102. package/src/components/PhoneInput/PhoneInput.vue +124 -124
  103. package/src/components/Select/Select.css +167 -167
  104. package/src/components/Select/Select.vue +339 -339
  105. package/src/components/TextArea/TextArea.css +269 -269
  106. package/src/components/TextArea/TextArea.vue +207 -207
  107. package/src/components/TickBox/TickBox.css +116 -116
  108. package/src/components/TickBox/TickBox.vue +172 -172
  109. package/src/components/accessibility.css +218 -218
  110. package/src/components/index.ts +97 -97
  111. package/src/constants/iconEnums.ts +3 -3
  112. package/src/i18n/i18n.ts +15 -15
  113. package/src/i18n/locales/de.json +30 -30
  114. package/src/i18n/locales/en.json +30 -30
  115. package/src/index.ts +37 -37
  116. package/src/main.ts +11 -11
  117. package/src/plugins/vuetify.ts +54 -54
  118. package/src/shims-vue.d.ts +10 -10
  119. package/src/utils/index.ts +470 -470
  120. package/src/vite-env.d.ts +1 -1
  121. package/tests/unit/accessibility/component-a11y.spec.ts +657 -469
  122. package/tests/unit/accessibility/patient-app-a11y.spec.ts +2239 -0
  123. package/tests/unit/components/Accordion/AccordionGroup.spec.ts +228 -228
  124. package/tests/unit/components/Accordion/AccordionItem.spec.ts +257 -257
  125. package/tests/unit/components/Appointment/AnamneseNotification.spec.ts +176 -176
  126. package/tests/unit/components/Appointment/Card/Actions.spec.ts +436 -436
  127. package/tests/unit/components/Appointment/Card/Card.spec.ts +531 -531
  128. package/tests/unit/components/Appointment/Card/Details.spec.ts +395 -395
  129. package/tests/unit/components/Audio/Audio.spec.ts +403 -403
  130. package/tests/unit/components/Audio/Waveform.spec.ts +483 -483
  131. package/tests/unit/components/Background/Background.spec.ts +177 -177
  132. package/tests/unit/components/Core/Button.spec.ts +346 -346
  133. package/tests/unit/components/Core/Checkbox.spec.ts +544 -544
  134. package/tests/unit/components/Core/DateInput.spec.ts +702 -690
  135. package/tests/unit/components/Core/Dialog.spec.ts +448 -448
  136. package/tests/unit/components/Core/EditField.spec.ts +541 -541
  137. package/tests/unit/components/Core/Input.spec.ts +512 -512
  138. package/tests/unit/components/Core/Modal.spec.ts +518 -518
  139. package/tests/unit/components/Core/NotificationBubble.spec.ts +606 -606
  140. package/tests/unit/components/Core/OtpInput.spec.ts +708 -708
  141. package/tests/unit/components/Core/PhoneInput.spec.ts +619 -619
  142. package/tests/unit/components/Core/Select.spec.ts +712 -712
  143. package/tests/unit/components/Core/TextArea.spec.ts +565 -565
  144. package/tests/unit/components/Core/TickBox.spec.ts +836 -836
  145. package/tests/unit/components/DateInput/DateInput.spec.ts +773 -0
  146. package/tests/unit/components/ErrorPage/ErrorPage.spec.ts +313 -313
  147. package/tests/unit/components/ErrorPage/ErrorPageLogo.spec.ts +153 -153
  148. package/tests/unit/components/IconBullet/IconBullet.spec.ts +356 -356
  149. package/tests/unit/components/IconBullet/IconBulletList.spec.ts +371 -371
  150. package/tests/unit/components/Icons/AdvanceAppointments.spec.ts +186 -186
  151. package/tests/unit/components/Icons/Audio/CloudFailed.spec.ts +108 -108
  152. package/tests/unit/components/Icons/Audio/CloudSaved.spec.ts +149 -149
  153. package/tests/unit/components/Icons/Audio/Delete.spec.ts +158 -158
  154. package/tests/unit/components/Icons/Audio/Pause.spec.ts +208 -208
  155. package/tests/unit/components/Icons/Audio/Play.spec.ts +217 -217
  156. package/tests/unit/components/Icons/CalendarNotification.spec.ts +193 -193
  157. package/tests/unit/components/Icons/Chair.spec.ts +241 -241
  158. package/tests/unit/components/Icons/ChairNotification.spec.ts +318 -318
  159. package/tests/unit/components/Icons/Circle.spec.ts +255 -255
  160. package/tests/unit/components/Icons/FavIcon.spec.ts +259 -259
  161. package/tests/unit/components/Icons/FilledCircle.spec.ts +274 -274
  162. package/tests/unit/components/Icons/Group3.spec.ts +362 -362
  163. package/tests/unit/components/Icons/Logo.spec.ts +229 -229
  164. package/tests/unit/components/Icons/MiniLogo.spec.ts +38 -38
  165. package/tests/unit/components/Icons/RingNotification.spec.ts +400 -400
  166. package/tests/unit/components/Icons/SolidArrowRight.spec.ts +49 -49
  167. package/tests/unit/components/Icons/calendar.spec.ts +293 -293
  168. package/tests/unit/components/Icons/checkbox.spec.ts +315 -315
  169. package/tests/unit/components/Icons/outlineChecked.spec.ts +441 -441
  170. package/tests/unit/components/Icons/play.spec.ts +315 -315
  171. package/tests/unit/components/Laboratory/AppointmentCard.spec.ts +167 -167
  172. package/tests/unit/components/Laboratory/ChatBoxImage.spec.ts +179 -179
  173. package/tests/unit/components/Laboratory/ChatMessage.spec.ts +263 -263
  174. package/tests/unit/components/Laboratory/ChatMessageBadge.spec.ts +282 -282
  175. package/tests/unit/components/Laboratory/ChatNotification.spec.ts +256 -256
  176. package/tests/unit/components/Laboratory/DocumentCard.spec.ts +228 -228
  177. package/tests/unit/components/Laboratory/DocumentCardItem.spec.ts +236 -236
  178. package/tests/unit/components/Laboratory/InfoCard.spec.ts +308 -308
  179. package/tests/unit/components/Laboratory/MainColumnsBar.spec.ts +251 -251
  180. package/tests/unit/components/Laboratory/ProgressCircle.spec.ts +290 -290
  181. package/tests/unit/components/Laboratory/ProgressLinear.spec.ts +275 -275
  182. package/tests/unit/components/Laboratory/SelectionColumnBar.spec.ts +288 -288
  183. package/tests/unit/components/Laboratory/StatusNotification.spec.ts +296 -296
  184. package/tests/unit/components/Laboratory/TagLabel.spec.ts +353 -353
  185. package/tests/unit/components/Laboratory/TagLabelGroup.spec.ts +377 -377
  186. package/tests/unit/components/Laboratory/TicketCard.spec.ts +351 -351
  187. package/tests/unit/components/Laboratory/TimeLineEvent.spec.ts +381 -381
  188. package/tests/unit/components/Laboratory/Timeline.spec.ts +419 -419
  189. package/tests/unit/components/Loader/Loader.spec.ts +197 -197
  190. package/tests/unit/components/MaintenanceBanner/MaintenanceBanner.spec.ts +302 -302
  191. package/tests/unit/constants/iconEnums.spec.ts +39 -39
  192. package/tests/unit/i18n/i18n.spec.ts +88 -88
  193. package/tests/unit/plugins/vuetify.spec.ts +182 -182
  194. package/tests/unit/setup.ts +237 -237
  195. package/tests/unit/src/components/index.spec.ts.skip +192 -192
  196. package/tests/unit/src/index.spec.ts.skip +182 -182
  197. package/tests/unit/src/main.spec.ts +111 -111
  198. package/tests/unit/utils/accessibility.spec.ts +318 -318
  199. package/tsconfig.json +26 -26
  200. package/vite.config.ts +29 -29
  201. package/vitest.config.ts +91 -91
@@ -1,206 +1,206 @@
1
- name: Playwright Tests
2
-
3
- on:
4
- workflow_dispatch:
5
- push:
6
- branches: [develop]
7
- pull_request:
8
- branches: [develop]
9
-
10
- jobs:
11
- test:
12
- timeout-minutes: 60
13
- runs-on: ubuntu-latest
14
-
15
- strategy:
16
- matrix:
17
- browser: [chromium, firefox, webkit]
18
- fail-fast: false
19
-
20
- steps:
21
- - uses: actions/checkout@v4
22
-
23
- - uses: actions/setup-node@v4
24
- with:
25
- node-version: 18
26
- cache: 'npm'
27
-
28
- - name: Install dependencies
29
- run: npm ci
30
-
31
- - name: Install Playwright Browsers
32
- run: npx playwright install --with-deps ${{ matrix.browser }}
33
-
34
- - name: Build Storybook
35
- run: npm run build-storybook
36
-
37
- - name: Serve Storybook and run tests
38
- run: npx playwright test --project=${{ matrix.browser }}
39
-
40
- - name: Upload test results
41
- uses: actions/upload-artifact@v4
42
- if: always()
43
- with:
44
- name: playwright-results-${{ matrix.browser }}
45
- path: |
46
- playwright-report/
47
- retention-days: 7
48
-
49
- accessibility-test:
50
- timeout-minutes: 30
51
- runs-on: ubuntu-latest
52
-
53
- steps:
54
- - uses: actions/checkout@v4
55
-
56
- - uses: actions/setup-node@v4
57
- with:
58
- node-version: 18
59
- cache: 'npm'
60
-
61
- - name: Install dependencies
62
- run: npm ci
63
-
64
- - name: Install Playwright Browsers
65
- run: npx playwright install chromium
66
-
67
- - name: Build Storybook
68
- run: npm run build-storybook
69
-
70
- - name: Run accessibility tests
71
- run: npx playwright test --grep 'accessibility|Accessibility' --project=chromium
72
-
73
- - name: Upload accessibility results
74
- uses: actions/upload-artifact@v4
75
- if: always()
76
- with:
77
- name: accessibility-results
78
- path: |
79
- playwright-report/
80
- retention-days: 7
81
-
82
- visual-regression:
83
- timeout-minutes: 45
84
- runs-on: ubuntu-latest
85
-
86
- steps:
87
- - uses: actions/checkout@v4
88
-
89
- - uses: actions/setup-node@v4
90
- with:
91
- node-version: 18
92
- cache: 'npm'
93
-
94
- - name: Install dependencies
95
- run: npm ci
96
-
97
- - name: Install Playwright Browsers
98
- run: npx playwright install chromium
99
-
100
- - name: Build Storybook
101
- run: npm run build-storybook
102
-
103
- - name: Run visual regression tests
104
- run: npx playwright test tests/e2e/visual-regression.spec.ts --project=chromium
105
-
106
- - name: Upload visual test results
107
- uses: actions/upload-artifact@v4
108
- if: always()
109
- with:
110
- name: visual-regression-results
111
- path: |
112
- playwright-report/
113
- retention-days: 7
114
-
115
- mobile-test:
116
- timeout-minutes: 45
117
- runs-on: ubuntu-latest
118
-
119
- steps:
120
- - uses: actions/checkout@v4
121
-
122
- - uses: actions/setup-node@v4
123
- with:
124
- node-version: 18
125
- cache: 'npm'
126
-
127
- - name: Install dependencies
128
- run: npm ci
129
-
130
- - name: Install Playwright Browsers
131
- run: npx playwright install chromium
132
-
133
- - name: Build Storybook
134
- run: npm run build-storybook
135
-
136
- - name: Run mobile tests
137
- run: npx playwright test --project='Mobile Chrome' --project='Mobile Safari'
138
-
139
- - name: Upload mobile test results
140
- uses: actions/upload-artifact@v4
141
- if: always()
142
- with:
143
- name: mobile-test-results
144
- path: |
145
- playwright-report/
146
- retention-days: 7
147
-
148
- report:
149
- if: always()
150
- needs: [test, accessibility-test, visual-regression, mobile-test]
151
- runs-on: ubuntu-latest
152
-
153
- steps:
154
- - uses: actions/checkout@v4
155
-
156
- - name: Download all artifacts
157
- uses: actions/download-artifact@v4
158
- with:
159
- path: artifacts
160
-
161
- - name: Generate consolidated report
162
- run: |
163
- echo "# Test Results Summary" > test-summary.md
164
- echo "" >> test-summary.md
165
- echo "## Browser Tests" >> test-summary.md
166
- for browser in chromium firefox webkit; do
167
- if [ -d "artifacts/playwright-results-$browser" ]; then
168
- echo "- ✅ $browser tests completed" >> test-summary.md
169
- else
170
- echo "- ❌ $browser tests failed" >> test-summary.md
171
- fi
172
- done
173
- echo "" >> test-summary.md
174
- echo "## Accessibility Tests" >> test-summary.md
175
- if [ -d "artifacts/accessibility-results" ]; then
176
- echo "- ✅ Accessibility tests completed" >> test-summary.md
177
- else
178
- echo "- ❌ Accessibility tests failed" >> test-summary.md
179
- fi
180
- echo "" >> test-summary.md
181
- echo "## Visual Regression Tests" >> test-summary.md
182
- if [ -d "artifacts/visual-regression-results" ]; then
183
- echo "- ✅ Visual regression tests completed" >> test-summary.md
184
- else
185
- echo "- ❌ Visual regression tests failed" >> test-summary.md
186
- fi
187
- echo "" >> test-summary.md
188
- echo "## Mobile Tests" >> test-summary.md
189
- if [ -d "artifacts/mobile-test-results" ]; then
190
- echo "- ✅ Mobile tests completed" >> test-summary.md
191
- else
192
- echo "- ❌ Mobile tests failed" >> test-summary.md
193
- fi
194
-
195
- - name: Convert markdown to HTML
196
- run: |
197
- npm install -g markdown-cli
198
- npx markdown-cli test-summary.md > test-summary.html
199
- - name: Upload consolidated report
200
- uses: actions/upload-artifact@v4
201
- with:
202
- name: consolidated-test-report
203
- path: |
204
- test-summary.md
205
- test-summary.html
1
+ name: Playwright Tests
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ branches: [develop]
7
+ pull_request:
8
+ branches: [develop]
9
+
10
+ jobs:
11
+ test:
12
+ timeout-minutes: 60
13
+ runs-on: ubuntu-latest
14
+
15
+ strategy:
16
+ matrix:
17
+ browser: [chromium, firefox, webkit]
18
+ fail-fast: false
19
+
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+
23
+ - uses: actions/setup-node@v4
24
+ with:
25
+ node-version: 18
26
+ cache: 'npm'
27
+
28
+ - name: Install dependencies
29
+ run: npm ci
30
+
31
+ - name: Install Playwright Browsers
32
+ run: npx playwright install --with-deps ${{ matrix.browser }}
33
+
34
+ - name: Build Storybook
35
+ run: npm run build-storybook
36
+
37
+ - name: Serve Storybook and run tests
38
+ run: npx playwright test --project=${{ matrix.browser }}
39
+
40
+ - name: Upload test results
41
+ uses: actions/upload-artifact@v4
42
+ if: always()
43
+ with:
44
+ name: playwright-results-${{ matrix.browser }}
45
+ path: |
46
+ playwright-report/
47
+ retention-days: 7
48
+
49
+ accessibility-test:
50
+ timeout-minutes: 30
51
+ runs-on: ubuntu-latest
52
+
53
+ steps:
54
+ - uses: actions/checkout@v4
55
+
56
+ - uses: actions/setup-node@v4
57
+ with:
58
+ node-version: 18
59
+ cache: 'npm'
60
+
61
+ - name: Install dependencies
62
+ run: npm ci
63
+
64
+ - name: Install Playwright Browsers
65
+ run: npx playwright install chromium
66
+
67
+ - name: Build Storybook
68
+ run: npm run build-storybook
69
+
70
+ - name: Run accessibility tests
71
+ run: npx playwright test --grep 'accessibility|Accessibility' --project=chromium
72
+
73
+ - name: Upload accessibility results
74
+ uses: actions/upload-artifact@v4
75
+ if: always()
76
+ with:
77
+ name: accessibility-results
78
+ path: |
79
+ playwright-report/
80
+ retention-days: 7
81
+
82
+ visual-regression:
83
+ timeout-minutes: 45
84
+ runs-on: ubuntu-latest
85
+
86
+ steps:
87
+ - uses: actions/checkout@v4
88
+
89
+ - uses: actions/setup-node@v4
90
+ with:
91
+ node-version: 18
92
+ cache: 'npm'
93
+
94
+ - name: Install dependencies
95
+ run: npm ci
96
+
97
+ - name: Install Playwright Browsers
98
+ run: npx playwright install chromium
99
+
100
+ - name: Build Storybook
101
+ run: npm run build-storybook
102
+
103
+ - name: Run visual regression tests
104
+ run: npx playwright test tests/e2e/visual-regression.spec.ts --project=chromium
105
+
106
+ - name: Upload visual test results
107
+ uses: actions/upload-artifact@v4
108
+ if: always()
109
+ with:
110
+ name: visual-regression-results
111
+ path: |
112
+ playwright-report/
113
+ retention-days: 7
114
+
115
+ mobile-test:
116
+ timeout-minutes: 45
117
+ runs-on: ubuntu-latest
118
+
119
+ steps:
120
+ - uses: actions/checkout@v4
121
+
122
+ - uses: actions/setup-node@v4
123
+ with:
124
+ node-version: 18
125
+ cache: 'npm'
126
+
127
+ - name: Install dependencies
128
+ run: npm ci
129
+
130
+ - name: Install Playwright Browsers
131
+ run: npx playwright install chromium
132
+
133
+ - name: Build Storybook
134
+ run: npm run build-storybook
135
+
136
+ - name: Run mobile tests
137
+ run: npx playwright test --project='Mobile Chrome' --project='Mobile Safari'
138
+
139
+ - name: Upload mobile test results
140
+ uses: actions/upload-artifact@v4
141
+ if: always()
142
+ with:
143
+ name: mobile-test-results
144
+ path: |
145
+ playwright-report/
146
+ retention-days: 7
147
+
148
+ report:
149
+ if: always()
150
+ needs: [test, accessibility-test, visual-regression, mobile-test]
151
+ runs-on: ubuntu-latest
152
+
153
+ steps:
154
+ - uses: actions/checkout@v4
155
+
156
+ - name: Download all artifacts
157
+ uses: actions/download-artifact@v4
158
+ with:
159
+ path: artifacts
160
+
161
+ - name: Generate consolidated report
162
+ run: |
163
+ echo "# Test Results Summary" > test-summary.md
164
+ echo "" >> test-summary.md
165
+ echo "## Browser Tests" >> test-summary.md
166
+ for browser in chromium firefox webkit; do
167
+ if [ -d "artifacts/playwright-results-$browser" ]; then
168
+ echo "- ✅ $browser tests completed" >> test-summary.md
169
+ else
170
+ echo "- ❌ $browser tests failed" >> test-summary.md
171
+ fi
172
+ done
173
+ echo "" >> test-summary.md
174
+ echo "## Accessibility Tests" >> test-summary.md
175
+ if [ -d "artifacts/accessibility-results" ]; then
176
+ echo "- ✅ Accessibility tests completed" >> test-summary.md
177
+ else
178
+ echo "- ❌ Accessibility tests failed" >> test-summary.md
179
+ fi
180
+ echo "" >> test-summary.md
181
+ echo "## Visual Regression Tests" >> test-summary.md
182
+ if [ -d "artifacts/visual-regression-results" ]; then
183
+ echo "- ✅ Visual regression tests completed" >> test-summary.md
184
+ else
185
+ echo "- ❌ Visual regression tests failed" >> test-summary.md
186
+ fi
187
+ echo "" >> test-summary.md
188
+ echo "## Mobile Tests" >> test-summary.md
189
+ if [ -d "artifacts/mobile-test-results" ]; then
190
+ echo "- ✅ Mobile tests completed" >> test-summary.md
191
+ else
192
+ echo "- ❌ Mobile tests failed" >> test-summary.md
193
+ fi
194
+
195
+ - name: Convert markdown to HTML
196
+ run: |
197
+ npm install -g markdown-cli
198
+ npx markdown-cli test-summary.md > test-summary.html
199
+ - name: Upload consolidated report
200
+ uses: actions/upload-artifact@v4
201
+ with:
202
+ name: consolidated-test-report
203
+ path: |
204
+ test-summary.md
205
+ test-summary.html
206
206
  retention-days: 30
@@ -1,62 +1,62 @@
1
- # .github/workflows/deploy-github-pages.yaml
2
-
3
- # Workflow name
4
- name: Build and Publish Storybook to GitHub Pages
5
-
6
- on:
7
- push:
8
- branches: [develop]
9
- pull_request:
10
- branches: [develop]
11
-
12
- permissions:
13
- contents: read
14
- pages: write
15
- id-token: write
16
-
17
- # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
18
- # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
19
- concurrency:
20
- group: "pages"
21
- cancel-in-progress: false
22
-
23
- jobs:
24
- # Build job
25
- build:
26
- runs-on: ubuntu-latest
27
- steps:
28
- - name: Checkout
29
- uses: actions/checkout@v4
30
-
31
- - name: Setup Node
32
- uses: actions/setup-node@v4
33
- with:
34
- node-version: '20'
35
- cache: 'npm'
36
-
37
- - name: Setup Pages
38
- uses: actions/configure-pages@v5
39
-
40
- - name: Install dependencies
41
- run: npm ci
42
-
43
- - name: Build Storybook
44
- run: npm run build-storybook
45
-
46
- - name: Upload artifact
47
- uses: actions/upload-pages-artifact@v3
48
- with:
49
- path: ./storybook-static
50
-
51
- # Deployment job
52
- deploy:
53
- environment:
54
- name: github-pages
55
- url: ${{ steps.deployment.outputs.page_url }}
56
- runs-on: ubuntu-latest
57
- needs: build
58
- if: github.ref == 'refs/heads/develop' && github.event_name == 'push'
59
- steps:
60
- - name: Deploy to GitHub Pages
61
- id: deployment
1
+ # .github/workflows/deploy-github-pages.yaml
2
+
3
+ # Workflow name
4
+ name: Build and Publish Storybook to GitHub Pages
5
+
6
+ on:
7
+ push:
8
+ branches: [develop]
9
+ pull_request:
10
+ branches: [develop]
11
+
12
+ permissions:
13
+ contents: read
14
+ pages: write
15
+ id-token: write
16
+
17
+ # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
18
+ # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
19
+ concurrency:
20
+ group: "pages"
21
+ cancel-in-progress: false
22
+
23
+ jobs:
24
+ # Build job
25
+ build:
26
+ runs-on: ubuntu-latest
27
+ steps:
28
+ - name: Checkout
29
+ uses: actions/checkout@v4
30
+
31
+ - name: Setup Node
32
+ uses: actions/setup-node@v4
33
+ with:
34
+ node-version: '20'
35
+ cache: 'npm'
36
+
37
+ - name: Setup Pages
38
+ uses: actions/configure-pages@v5
39
+
40
+ - name: Install dependencies
41
+ run: npm ci
42
+
43
+ - name: Build Storybook
44
+ run: npm run build-storybook
45
+
46
+ - name: Upload artifact
47
+ uses: actions/upload-pages-artifact@v3
48
+ with:
49
+ path: ./storybook-static
50
+
51
+ # Deployment job
52
+ deploy:
53
+ environment:
54
+ name: github-pages
55
+ url: ${{ steps.deployment.outputs.page_url }}
56
+ runs-on: ubuntu-latest
57
+ needs: build
58
+ if: github.ref == 'refs/heads/develop' && github.event_name == 'push'
59
+ steps:
60
+ - name: Deploy to GitHub Pages
61
+ id: deployment
62
62
  uses: actions/deploy-pages@v4
@@ -1,38 +1,38 @@
1
- name: Visual Regression Snapshots
2
-
3
- on:
4
- workflow_dispatch:
5
-
6
- jobs:
7
- update-snapshots:
8
- runs-on: ubuntu-latest
9
- steps:
10
- - uses: actions/checkout@v4
11
-
12
- - uses: actions/setup-node@v4
13
- with:
14
- node-version: 18
15
- cache: 'npm'
16
-
17
- - name: Install dependencies
18
- run: npm ci
19
-
20
- - name: Install Playwright Browsers
21
- run: npx playwright install --with-deps
22
-
23
- - name: Build Storybook
24
- run: npm run build-storybook
25
-
26
- - name: Run visual regression tests
27
- run: npx playwright test tests/e2e/visual-regression.spec.ts --update-snapshots
28
-
29
- - name: Upload updated snapshots
30
- if: always()
31
- uses: actions/upload-artifact@v4
32
- with:
33
- name: visual-snapshots
34
- path: |
35
- tests/e2e/
36
- playwright-report/
37
- # <-- this is exactly where your pathTemplate points,
1
+ name: Visual Regression Snapshots
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ update-snapshots:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v4
11
+
12
+ - uses: actions/setup-node@v4
13
+ with:
14
+ node-version: 18
15
+ cache: 'npm'
16
+
17
+ - name: Install dependencies
18
+ run: npm ci
19
+
20
+ - name: Install Playwright Browsers
21
+ run: npx playwright install --with-deps
22
+
23
+ - name: Build Storybook
24
+ run: npm run build-storybook
25
+
26
+ - name: Run visual regression tests
27
+ run: npx playwright test tests/e2e/visual-regression.spec.ts --update-snapshots
28
+
29
+ - name: Upload updated snapshots
30
+ if: always()
31
+ uses: actions/upload-artifact@v4
32
+ with:
33
+ name: visual-snapshots
34
+ path: |
35
+ tests/e2e/
36
+ playwright-report/
37
+ # <-- this is exactly where your pathTemplate points,
38
38
  # so you’ll get all of the fresh baseline images as an artifact.
package/.prettierrc CHANGED
@@ -1,5 +1,5 @@
1
- {
2
- "singleQuote": true,
3
- "printWidth": 80,
4
- "tabWidth": 2
5
- }
1
+ {
2
+ "singleQuote": true,
3
+ "printWidth": 80,
4
+ "tabWidth": 2
5
+ }
@@ -1,18 +1,18 @@
1
- import type { StorybookConfig } from '@storybook/vue3-vite';
2
-
3
- const config: StorybookConfig = {
4
- stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
5
- addons: [
6
- '@storybook/addon-onboarding',
7
- '@storybook/addon-links',
8
- '@storybook/addon-essentials',
9
- '@chromatic-com/storybook',
10
- '@storybook/addon-interactions',
11
- '@storybook/addon-docs',
12
- ],
13
- framework: {
14
- name: '@storybook/vue3-vite',
15
- options: {},
16
- },
17
- };
18
- export default config;
1
+ import type { StorybookConfig } from '@storybook/vue3-vite';
2
+
3
+ const config: StorybookConfig = {
4
+ stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
5
+ addons: [
6
+ '@storybook/addon-onboarding',
7
+ '@storybook/addon-links',
8
+ '@storybook/addon-essentials',
9
+ '@chromatic-com/storybook',
10
+ '@storybook/addon-interactions',
11
+ '@storybook/addon-docs',
12
+ ],
13
+ framework: {
14
+ name: '@storybook/vue3-vite',
15
+ options: {},
16
+ },
17
+ };
18
+ export default config;