@zap-wunschlachen/wl-shared-components 1.0.24 → 1.0.26
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/.github/workflows/playwright.yml +205 -205
- package/.github/workflows/static.yml +61 -61
- package/.github/workflows/update-snapshots.yml +37 -37
- package/.prettierrc +5 -5
- package/.storybook/main.ts +18 -18
- package/.storybook/preview.ts +37 -37
- package/.storybook/storyWrapper.vue +18 -18
- package/.storybook/withVuetifyTheme.decorator.ts +21 -21
- package/App.vue +34 -176
- package/README.md +56 -56
- package/heroicons.ts +75 -75
- package/index.html +19 -19
- package/package.json +67 -67
- package/playwright.config.ts +48 -48
- package/public/background.svg +60 -60
- package/public/style.css +187 -187
- package/public/technologies.svg +22 -22
- package/src/assets/css/base.css +235 -235
- package/src/assets/css/variables.css +107 -96
- package/src/components/Accordion/Accordion.css +59 -59
- package/src/components/Accordion/AccordionGroup.vue +51 -51
- package/src/components/Accordion/AccordionItem.vue +66 -66
- package/src/components/Appointment/Card/Actions.css +54 -54
- package/src/components/Appointment/Card/Actions.vue +99 -99
- package/src/components/Appointment/Card/AnamneseNotification.css +15 -15
- package/src/components/Appointment/Card/AnamneseNotification.vue +23 -23
- package/src/components/Appointment/Card/Card.css +80 -80
- package/src/components/Appointment/Card/Card.vue +93 -93
- package/src/components/Appointment/Card/Details.css +50 -50
- package/src/components/Appointment/Card/Details.vue +43 -43
- package/src/components/Audio/Audio.vue +187 -187
- package/src/components/Audio/Waveform.vue +117 -117
- package/src/components/Background/Background.css +39 -0
- package/src/components/Background/Background.vue +19 -0
- package/src/components/Background/WhiteCocoonBackground.vue +9 -0
- package/src/components/Background/WunschlachenBackground.vue +11 -0
- package/src/components/Button/Button.vue +119 -119
- package/src/components/CheckBox/CheckBox.css +185 -185
- package/src/components/CheckBox/Checkbox.vue +130 -130
- package/src/components/DateInput/DateInput.css +2 -2
- package/src/components/DateInput/DateInput.vue +262 -262
- package/src/components/Dialog/Dialog.css +6 -6
- package/src/components/Dialog/Dialog.vue +29 -29
- package/src/components/EditField/EditField.css +19 -19
- package/src/components/EditField/EditField.vue +202 -202
- package/src/components/ErrorPage/ErrorPage.css +124 -0
- package/src/components/ErrorPage/ErrorPage.vue +45 -0
- package/src/components/ErrorPage/ErrorPageLogo.vue +26 -0
- package/src/components/IconBullet/IconBullet.vue +86 -86
- package/src/components/IconBullet/IconBulletList.vue +41 -41
- package/src/components/Icons/AdvanceAppointments.vue +153 -153
- package/src/components/Icons/Audio/CloudFailed.vue +20 -20
- package/src/components/Icons/Audio/CloudSaved.vue +21 -21
- package/src/components/Icons/Audio/Delete.vue +15 -15
- package/src/components/Icons/Audio/Pause.vue +18 -18
- package/src/components/Icons/Audio/Play.vue +15 -15
- package/src/components/Icons/CalendarNotification.vue +126 -126
- package/src/components/Icons/Chair.vue +32 -32
- package/src/components/Icons/ChairNotification.vue +35 -35
- package/src/components/Icons/Circle.vue +66 -66
- package/src/components/Icons/FavIcon.vue +22 -22
- package/src/components/Icons/FilledCircle.vue +11 -11
- package/src/components/Icons/Group3.vue +46 -46
- package/src/components/Icons/Logo.vue +108 -0
- package/src/components/Icons/RingNotification.vue +54 -54
- package/src/components/Icons/SolidArrowRight.vue +14 -14
- package/src/components/Icons/calendar.vue +17 -17
- package/src/components/Icons/checkbox.vue +19 -19
- package/src/components/Icons/outlineChecked.vue +27 -27
- package/src/components/Icons/play.vue +5 -5
- package/src/components/Input/Input.css +187 -187
- package/src/components/Input/Input.vue +247 -247
- package/src/components/Laboratory/AppointmentCard/AppointmentCard.css +7 -7
- package/src/components/Laboratory/AppointmentCard/AppointmentCard.vue +116 -116
- package/src/components/Laboratory/ChatBoxImage/ChatBoxImage.vue +81 -81
- package/src/components/Laboratory/ChatMessage/ChatMessage.vue +113 -113
- package/src/components/Laboratory/ChatMessage/ChatMessageBadge.css +4 -4
- package/src/components/Laboratory/ChatMessage/ChatMessageBadge.vue +99 -99
- package/src/components/Laboratory/ChatNotification/ChatNotification.vue +130 -130
- package/src/components/Laboratory/DocumentCard/DocumentCard.css +3 -3
- package/src/components/Laboratory/DocumentCard/DocumentCard.vue +50 -50
- package/src/components/Laboratory/DocumentCard/DocumentCardItem.vue +53 -53
- package/src/components/Laboratory/InfoCard/InfoCard.vue +162 -162
- package/src/components/Laboratory/MainColumnsBar/MainColumnsBar.vue +102 -102
- package/src/components/Laboratory/ProgressCircle/ProgressCircle.vue +152 -152
- package/src/components/Laboratory/ProgressLinear/ProgressLinear.css +33 -33
- package/src/components/Laboratory/ProgressLinear/ProgressLinear.vue +75 -75
- package/src/components/Laboratory/SelectionColumnBar/SelectionColumnBar.vue +92 -92
- package/src/components/Laboratory/StatusNotification/StatusNotification.vue +49 -49
- package/src/components/Laboratory/TagLabel/TagLabel.vue +126 -126
- package/src/components/Laboratory/TagLabelGroup/TagLabelGroup.vue +97 -97
- package/src/components/Laboratory/TicketCard/TicketCard.css +3 -3
- package/src/components/Laboratory/TicketCard/TicketCard.vue +143 -143
- package/src/components/Laboratory/TimeLine/TimeLineEvent.css +18 -18
- package/src/components/Laboratory/TimeLine/TimeLineEvent.vue +119 -119
- package/src/components/Laboratory/TimeLine/Timeline.css +4 -4
- package/src/components/Laboratory/TimeLine/Timeline.vue +30 -30
- package/src/components/Loader/Loader.css +51 -51
- package/src/components/MaintenanceBanner/MaintenanceBanner.css +289 -0
- package/src/components/MaintenanceBanner/MaintenanceBanner.vue +127 -0
- package/src/components/MaintenanceBanner/MaintenanceIllustration.vue +54 -0
- package/src/components/Modal/Modal.css +5 -5
- package/src/components/Modal/Modal.vue +22 -22
- package/src/components/NotificationBubble/NotificationBubble.css +4 -4
- package/src/components/NotificationBubble/NotificationBubble.vue +90 -90
- package/src/components/OtpInput/OtpInput.css +39 -39
- package/src/components/OtpInput/OtpInput.vue +143 -143
- package/src/components/PhoneInput/PhoneInput.css +31 -31
- package/src/components/PhoneInput/PhoneInput.vue +113 -113
- package/src/components/Select/Select.css +150 -150
- package/src/components/Select/Select.vue +315 -304
- package/src/components/TextArea/TextArea.css +3 -3
- package/src/components/TextArea/TextArea.vue +126 -126
- package/src/components/TickBox/TickBox.css +49 -49
- package/src/components/TickBox/TickBox.vue +126 -126
- package/src/components/index.ts +26 -24
- package/src/constants/iconEnums.ts +3 -3
- package/src/i18n/i18n.ts +15 -15
- package/src/i18n/locales/de.json +30 -30
- package/src/i18n/locales/en.json +30 -30
- package/src/index.ts +34 -34
- package/src/main.ts +11 -11
- package/src/plugins/vuetify.ts +139 -131
- package/src/shims-vue.d.ts +10 -10
- package/src/stories/Accordion.stories.ts +650 -650
- package/src/stories/Audio.stories.ts +28 -28
- package/src/stories/Button.stories.ts +263 -263
- package/src/stories/CheckBox.stories.ts +348 -348
- package/src/stories/DateInput.stories.ts +53 -53
- package/src/stories/Dialog.stories.ts +147 -147
- package/src/stories/EditField.stories.ts +78 -78
- package/src/stories/IconBullet/IconBullet.stories.ts +201 -201
- package/src/stories/IconBullet/IconBulletList.stories.ts +275 -275
- package/src/stories/Input.stories.ts +351 -351
- package/src/stories/Laboratory/Cards/AppointmentCard/AppointmentCard.stories.ts +260 -260
- package/src/stories/Laboratory/Cards/DocumentCard/DocumentCard.stories.ts +176 -176
- package/src/stories/Laboratory/Cards/DocumentCard/DocumentCardItem.stories.ts +119 -119
- package/src/stories/Laboratory/Cards/InfoCard/InfoCard.stories.ts +320 -320
- package/src/stories/Laboratory/Cards/TicketCard/TicketCard.stories.ts +335 -335
- package/src/stories/Laboratory/Chat/ChatBoxImage.stories.ts +82 -82
- package/src/stories/Laboratory/Chat/ChatMessage.stories.ts +198 -198
- package/src/stories/Laboratory/Chat/ChatMessageBadge.stories.ts +204 -204
- package/src/stories/Laboratory/Chat/ChatNotification.stories.ts +144 -144
- package/src/stories/Laboratory/Chat/ProgressLinear.stories.ts +186 -186
- package/src/stories/Laboratory/Chat/StatusNotification.stories.ts +111 -111
- package/src/stories/Laboratory/MainColumnsBar.stories.ts +48 -48
- package/src/stories/Laboratory/ProgressCircle.stories.ts +261 -261
- package/src/stories/Laboratory/SelectionColumnBar.stories.ts +234 -234
- package/src/stories/Laboratory/TagLabel.stories.ts +418 -418
- package/src/stories/Laboratory/TagLabelGroup.stories.ts +234 -234
- package/src/stories/Laboratory/Timeline.stories.ts +403 -403
- package/src/stories/NotificationBubble.stories.ts +194 -194
- package/src/stories/OtpInput.stories.ts +100 -100
- package/src/stories/PhoneInput.stories.ts +52 -52
- package/src/stories/Select.stories.ts +419 -419
- package/src/stories/TextArea.stories.ts +112 -112
- package/src/stories/TickBox.stories.ts +294 -294
- package/src/stories/v-icon.stories.ts +91 -91
- package/src/utils/index.ts +106 -100
- package/src/vite-env.d.ts +1 -1
- package/tests/e2e/README.md +220 -220
- package/tests/e2e/accessibility.spec.ts +638 -638
- package/tests/e2e/accordion.spec.ts +42 -42
- package/tests/e2e/additional-components.spec.ts +437 -437
- package/tests/e2e/all-components.spec.ts +135 -135
- package/tests/e2e/appointment-card.spec.ts +816 -816
- package/tests/e2e/button-fixed.spec.ts +58 -58
- package/tests/e2e/button.spec.ts +76 -76
- package/tests/e2e/checkbox.spec.ts +50 -50
- package/tests/e2e/date-input.spec.ts +46 -46
- package/tests/e2e/debug.spec.ts +51 -51
- package/tests/e2e/dialog.spec.ts +58 -58
- package/tests/e2e/input.spec.ts +55 -55
- package/tests/e2e/laboratory-components.spec.ts +320 -320
- package/tests/e2e/otp-input.spec.ts +50 -50
- package/tests/e2e/select.spec.ts +52 -52
- package/tests/e2e/storybook-utils.ts +59 -59
- package/tests/e2e/test-basic.spec.ts +33 -33
- package/tests/e2e/visual-regression.spec.ts +350 -350
- package/tests/unit/components/Accordion/AccordionGroup.spec.ts.skip +342 -342
- package/tests/unit/components/Accordion/AccordionItem.spec.ts.skip +383 -383
- package/tests/unit/components/Appointment/Card/Actions.spec.ts +407 -407
- package/tests/unit/components/Appointment/Card/Card.spec.ts +485 -485
- package/tests/unit/components/Appointment/Card/Details.spec.ts +397 -397
- package/tests/unit/components/Audio/Audio.spec.ts +403 -403
- package/tests/unit/components/Audio/Waveform.spec.ts +483 -483
- package/tests/unit/components/Core/Button.spec.ts +336 -336
- package/tests/unit/components/Core/Checkbox.spec.ts +544 -544
- package/tests/unit/components/Core/DateInput.spec.ts +690 -690
- package/tests/unit/components/Core/Dialog.spec.ts +485 -485
- package/tests/unit/components/Core/EditField.spec.ts +782 -782
- package/tests/unit/components/Core/Input.spec.ts +512 -512
- package/tests/unit/components/Core/Modal.spec.ts +518 -518
- package/tests/unit/components/Core/NotificationBubble.spec.ts +606 -606
- package/tests/unit/components/Core/OtpInput.spec.ts +708 -708
- package/tests/unit/components/Core/PhoneInput.spec.ts +619 -619
- package/tests/unit/components/Core/Select.spec.ts +712 -712
- package/tests/unit/components/Core/TextArea.spec.ts +565 -565
- package/tests/unit/components/Core/TickBox.spec.ts +779 -779
- package/tests/unit/components/IconBullet/IconBullet.spec.ts +356 -356
- package/tests/unit/components/IconBullet/IconBulletList.spec.ts +371 -371
- package/tests/unit/components/Icons/Audio/CloudFailed.spec.ts +108 -108
- package/tests/unit/components/Icons/Audio/CloudSaved.spec.ts +149 -149
- package/tests/unit/components/Icons/Audio/Delete.spec.ts +158 -158
- package/tests/unit/components/Icons/Audio/Pause.spec.ts +208 -208
- package/tests/unit/components/Icons/Audio/Play.spec.ts +217 -217
- package/tests/unit/components/Icons/CalendarNotification.spec.ts +186 -186
- package/tests/unit/components/Icons/Chair.spec.ts +234 -234
- package/tests/unit/components/Icons/ChairNotification.spec.ts +311 -311
- package/tests/unit/components/Icons/Circle.spec.ts +255 -255
- package/tests/unit/components/Icons/FavIcon.spec.ts +251 -251
- package/tests/unit/components/Icons/FilledCircle.spec.ts +274 -274
- package/tests/unit/components/Icons/Group3.spec.ts +355 -355
- package/tests/unit/components/Icons/RingNotification.spec.ts +393 -393
- package/tests/unit/components/Icons/calendar.spec.ts +286 -286
- package/tests/unit/components/Icons/checkbox.spec.ts +315 -315
- package/tests/unit/components/Icons/outlineChecked.spec.ts +434 -434
- package/tests/unit/components/Icons/play.spec.ts +308 -308
- package/tests/unit/components/Laboratory/AppointmentCard.spec.ts +167 -167
- package/tests/unit/components/Laboratory/ChatBoxImage.spec.ts +179 -179
- package/tests/unit/components/Laboratory/ChatMessage.spec.ts +263 -263
- package/tests/unit/components/Laboratory/ChatMessageBadge.spec.ts +282 -282
- package/tests/unit/components/Laboratory/ChatNotification.spec.ts +256 -256
- package/tests/unit/components/Laboratory/DocumentCard.spec.ts +228 -228
- package/tests/unit/components/Laboratory/DocumentCardItem.spec.ts +236 -236
- package/tests/unit/components/Laboratory/InfoCard.spec.ts +308 -308
- package/tests/unit/components/Laboratory/MainColumnsBar.spec.ts +251 -251
- package/tests/unit/components/Laboratory/ProgressCircle.spec.ts +290 -290
- package/tests/unit/components/Laboratory/ProgressLinear.spec.ts +275 -275
- package/tests/unit/components/Laboratory/SelectionColumnBar.spec.ts +288 -288
- package/tests/unit/components/Laboratory/StatusNotification.spec.ts +296 -296
- package/tests/unit/components/Laboratory/TagLabel.spec.ts +353 -353
- package/tests/unit/components/Laboratory/TagLabelGroup.spec.ts +377 -377
- package/tests/unit/components/Laboratory/TicketCard.spec.ts +351 -351
- package/tests/unit/components/Laboratory/TimeLineEvent.spec.ts +381 -381
- package/tests/unit/components/Laboratory/Timeline.spec.ts +419 -419
- package/tests/unit/constants/iconEnums.spec.ts +39 -39
- package/tests/unit/i18n/i18n.spec.ts +88 -88
- package/tests/unit/plugins/vuetify.spec.ts +220 -220
- package/tests/unit/setup.ts +189 -189
- package/tests/unit/src/components/index.spec.ts.skip +192 -192
- package/tests/unit/src/index.spec.ts.skip +182 -182
- package/tests/unit/src/main.spec.ts +151 -151
- package/tsconfig.json +26 -26
- package/vite.config.ts +29 -29
- package/vitest.config.ts +83 -83
package/src/i18n/i18n.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { createI18n } from 'vue-i18n';
|
|
2
|
-
import enMessages from './locales/en.json';
|
|
3
|
-
import deMessages from './locales/de.json';
|
|
4
|
-
|
|
5
|
-
const libraryMessages = {
|
|
6
|
-
en: enMessages,
|
|
7
|
-
de: deMessages,
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export const createInternalI18n = () => {
|
|
11
|
-
return createI18n({
|
|
12
|
-
locale: 'de',
|
|
13
|
-
fallbackLocale: 'de',
|
|
14
|
-
messages: libraryMessages,
|
|
15
|
-
});
|
|
1
|
+
import { createI18n } from 'vue-i18n';
|
|
2
|
+
import enMessages from './locales/en.json';
|
|
3
|
+
import deMessages from './locales/de.json';
|
|
4
|
+
|
|
5
|
+
const libraryMessages = {
|
|
6
|
+
en: enMessages,
|
|
7
|
+
de: deMessages,
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const createInternalI18n = () => {
|
|
11
|
+
return createI18n({
|
|
12
|
+
locale: 'de',
|
|
13
|
+
fallbackLocale: 'de',
|
|
14
|
+
messages: libraryMessages,
|
|
15
|
+
});
|
|
16
16
|
};
|
package/src/i18n/locales/de.json
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
{
|
|
2
|
-
"wl": {
|
|
3
|
-
"date_input": {
|
|
4
|
-
"placeholder": "TT.MM.JJJJ",
|
|
5
|
-
"invalid_date": "Bitte ein gültiges Datum eingeben",
|
|
6
|
-
"min_date_error": "Das Datum darf nicht vor {date} liegen",
|
|
7
|
-
"max_date_error": "Das Datum darf nicht nach {date} liegen"
|
|
8
|
-
},
|
|
9
|
-
"input": {
|
|
10
|
-
"placeholder": "Geben Sie Ihren Text ein"
|
|
11
|
-
},
|
|
12
|
-
"otp_input": {
|
|
13
|
-
"enter_sms_code": "Bitte den per SMS gesendeten Code eingeben",
|
|
14
|
-
"code_was_sent": "Code an Nummer {phoneNumber} gesendet",
|
|
15
|
-
"confirm": "Bestätigen",
|
|
16
|
-
"resend": "Code erneut senden"
|
|
17
|
-
},
|
|
18
|
-
"appointment_card": {
|
|
19
|
-
"uhr": "Uhr",
|
|
20
|
-
"unknown_patient": "Unbekannter Patient",
|
|
21
|
-
"confirm": "Termin bestätigen",
|
|
22
|
-
"cancel": "Termin stornieren",
|
|
23
|
-
"reschedule": "Termin verschieben",
|
|
24
|
-
"reschedule_after_cancellation": "Diesen Termin nochmal buchen",
|
|
25
|
-
"cancelled": "Termin storniert",
|
|
26
|
-
"fill_form_title": "Anamnesebogen benötigt!",
|
|
27
|
-
"fill_form_description": "Bitte füllen Sie diesen vor ihren Termin aus",
|
|
28
|
-
"anamnese_form": "Anamnesebogen"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"wl": {
|
|
3
|
+
"date_input": {
|
|
4
|
+
"placeholder": "TT.MM.JJJJ",
|
|
5
|
+
"invalid_date": "Bitte ein gültiges Datum eingeben",
|
|
6
|
+
"min_date_error": "Das Datum darf nicht vor {date} liegen",
|
|
7
|
+
"max_date_error": "Das Datum darf nicht nach {date} liegen"
|
|
8
|
+
},
|
|
9
|
+
"input": {
|
|
10
|
+
"placeholder": "Geben Sie Ihren Text ein"
|
|
11
|
+
},
|
|
12
|
+
"otp_input": {
|
|
13
|
+
"enter_sms_code": "Bitte den per SMS gesendeten Code eingeben",
|
|
14
|
+
"code_was_sent": "Code an Nummer {phoneNumber} gesendet",
|
|
15
|
+
"confirm": "Bestätigen",
|
|
16
|
+
"resend": "Code erneut senden"
|
|
17
|
+
},
|
|
18
|
+
"appointment_card": {
|
|
19
|
+
"uhr": "Uhr",
|
|
20
|
+
"unknown_patient": "Unbekannter Patient",
|
|
21
|
+
"confirm": "Termin bestätigen",
|
|
22
|
+
"cancel": "Termin stornieren",
|
|
23
|
+
"reschedule": "Termin verschieben",
|
|
24
|
+
"reschedule_after_cancellation": "Diesen Termin nochmal buchen",
|
|
25
|
+
"cancelled": "Termin storniert",
|
|
26
|
+
"fill_form_title": "Anamnesebogen benötigt!",
|
|
27
|
+
"fill_form_description": "Bitte füllen Sie diesen vor ihren Termin aus",
|
|
28
|
+
"anamnese_form": "Anamnesebogen"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
31
|
}
|
package/src/i18n/locales/en.json
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
{
|
|
2
|
-
"wl": {
|
|
3
|
-
"date_input": {
|
|
4
|
-
"placeholder": "DD.MM.YYYY",
|
|
5
|
-
"invalid_date": "Please enter a valid date",
|
|
6
|
-
"min_date_error": "The date must not be before {date}",
|
|
7
|
-
"max_date_error": "The date must not be after {date}"
|
|
8
|
-
},
|
|
9
|
-
"input": {
|
|
10
|
-
"placeholder": "Enter your text"
|
|
11
|
-
},
|
|
12
|
-
"otp_input": {
|
|
13
|
-
"enter_sms_code": "Please enter the code sent via SMS",
|
|
14
|
-
"code_was_sent": "Code sent to number {phoneNumber}",
|
|
15
|
-
"confirm": "Confirm",
|
|
16
|
-
"resend": "Resend code"
|
|
17
|
-
},
|
|
18
|
-
"appointment_card": {
|
|
19
|
-
"uhr": "o'clock",
|
|
20
|
-
"unknown_patient": "Unknown patient",
|
|
21
|
-
"confirm": "Confirm appointment",
|
|
22
|
-
"cancel": "Cancel appointment",
|
|
23
|
-
"reschedule": "Reschedule appointment",
|
|
24
|
-
"reschedule_after_cancellation": "Book this appointment again",
|
|
25
|
-
"cancelled": "Appointment cancelled",
|
|
26
|
-
"fill_form_title": "Medical history form required!",
|
|
27
|
-
"fill_form_description": "Please fill this out before your appointment",
|
|
28
|
-
"anamnese_form": "Medical history form"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"wl": {
|
|
3
|
+
"date_input": {
|
|
4
|
+
"placeholder": "DD.MM.YYYY",
|
|
5
|
+
"invalid_date": "Please enter a valid date",
|
|
6
|
+
"min_date_error": "The date must not be before {date}",
|
|
7
|
+
"max_date_error": "The date must not be after {date}"
|
|
8
|
+
},
|
|
9
|
+
"input": {
|
|
10
|
+
"placeholder": "Enter your text"
|
|
11
|
+
},
|
|
12
|
+
"otp_input": {
|
|
13
|
+
"enter_sms_code": "Please enter the code sent via SMS",
|
|
14
|
+
"code_was_sent": "Code sent to number {phoneNumber}",
|
|
15
|
+
"confirm": "Confirm",
|
|
16
|
+
"resend": "Resend code"
|
|
17
|
+
},
|
|
18
|
+
"appointment_card": {
|
|
19
|
+
"uhr": "o'clock",
|
|
20
|
+
"unknown_patient": "Unknown patient",
|
|
21
|
+
"confirm": "Confirm appointment",
|
|
22
|
+
"cancel": "Cancel appointment",
|
|
23
|
+
"reschedule": "Reschedule appointment",
|
|
24
|
+
"reschedule_after_cancellation": "Book this appointment again",
|
|
25
|
+
"cancelled": "Appointment cancelled",
|
|
26
|
+
"fill_form_title": "Medical history form required!",
|
|
27
|
+
"fill_form_description": "Please fill this out before your appointment",
|
|
28
|
+
"anamnese_form": "Medical history form"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
31
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
// src/index.ts
|
|
2
|
-
|
|
3
|
-
// Import global CSS files
|
|
4
|
-
import './assets/css/base.css';
|
|
5
|
-
import './assets/css/variables.css';
|
|
6
|
-
|
|
7
|
-
// Import all components
|
|
8
|
-
import * as components from './components';
|
|
9
|
-
|
|
10
|
-
// Import the App type from Vue
|
|
11
|
-
import type { App } from 'vue';
|
|
12
|
-
import { createInternalI18n } from './i18n/i18n';
|
|
13
|
-
|
|
14
|
-
// Define the install function with proper typing
|
|
15
|
-
const install = (app: App) => {
|
|
16
|
-
if (!app?.config?.globalProperties?.$i18n) {
|
|
17
|
-
const i18n = createInternalI18n();
|
|
18
|
-
app.use(i18n);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const prefix = 'WL'; // Hardcoded prefix
|
|
22
|
-
for (const [componentName, component] of Object.entries(components)) {
|
|
23
|
-
app.component(`${prefix}${componentName}`, component);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
// Export the install function as a named export
|
|
28
|
-
export const WlSharedComponents = { install };
|
|
29
|
-
|
|
30
|
-
// Export each individual component
|
|
31
|
-
export * from './components';
|
|
32
|
-
|
|
33
|
-
// Export utilities
|
|
34
|
-
export * from './utils';
|
|
1
|
+
// src/index.ts
|
|
2
|
+
|
|
3
|
+
// Import global CSS files
|
|
4
|
+
import './assets/css/base.css';
|
|
5
|
+
import './assets/css/variables.css';
|
|
6
|
+
|
|
7
|
+
// Import all components
|
|
8
|
+
import * as components from './components';
|
|
9
|
+
|
|
10
|
+
// Import the App type from Vue
|
|
11
|
+
import type { App } from 'vue';
|
|
12
|
+
import { createInternalI18n } from './i18n/i18n';
|
|
13
|
+
|
|
14
|
+
// Define the install function with proper typing
|
|
15
|
+
const install = (app: App) => {
|
|
16
|
+
if (!app?.config?.globalProperties?.$i18n) {
|
|
17
|
+
const i18n = createInternalI18n();
|
|
18
|
+
app.use(i18n);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const prefix = 'WL'; // Hardcoded prefix
|
|
22
|
+
for (const [componentName, component] of Object.entries(components)) {
|
|
23
|
+
app.component(`${prefix}${componentName}`, component);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// Export the install function as a named export
|
|
28
|
+
export const WlSharedComponents = { install };
|
|
29
|
+
|
|
30
|
+
// Export each individual component
|
|
31
|
+
export * from './components';
|
|
32
|
+
|
|
33
|
+
// Export utilities
|
|
34
|
+
export * from './utils';
|
package/src/main.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { createApp } from 'vue';
|
|
2
|
-
import App from '../App.vue';
|
|
3
|
-
import vuetify from './plugins/vuetify'; // Import the Vuetify plugin
|
|
4
|
-
import { createInternalI18n } from './i18n/i18n';
|
|
5
|
-
import './assets/css/base.css';
|
|
6
|
-
import './assets/css/variables.css';
|
|
7
|
-
|
|
8
|
-
const app = createApp(App);
|
|
9
|
-
app.use(vuetify); // Register Vuetify here
|
|
10
|
-
app.use(createInternalI18n());
|
|
11
|
-
app.mount('#app');
|
|
1
|
+
import { createApp } from 'vue';
|
|
2
|
+
import App from '../App.vue';
|
|
3
|
+
import vuetify from './plugins/vuetify'; // Import the Vuetify plugin
|
|
4
|
+
import { createInternalI18n } from './i18n/i18n';
|
|
5
|
+
import './assets/css/base.css';
|
|
6
|
+
import './assets/css/variables.css';
|
|
7
|
+
|
|
8
|
+
const app = createApp(App);
|
|
9
|
+
app.use(vuetify); // Register Vuetify here
|
|
10
|
+
app.use(createInternalI18n());
|
|
11
|
+
app.mount('#app');
|
package/src/plugins/vuetify.ts
CHANGED
|
@@ -1,131 +1,139 @@
|
|
|
1
|
-
import { createVuetify } from 'vuetify';
|
|
2
|
-
import type { ThemeDefinition } from 'vuetify';
|
|
3
|
-
import 'vuetify/styles';
|
|
4
|
-
import '@mdi/font/css/materialdesignicons.css'; // Import Material Design Icons CSS
|
|
5
|
-
import heroicons from '../../heroicons';
|
|
6
|
-
import { aliases as mdiAliases, mdi } from 'vuetify/iconsets/mdi'; // Import mdi icons
|
|
7
|
-
import * as components from 'vuetify/components';
|
|
8
|
-
import * as directives from 'vuetify/directives';
|
|
9
|
-
|
|
10
|
-
// Define light and dark themes using direct hex color values with PascalCase
|
|
11
|
-
const lightTheme: ThemeDefinition = {
|
|
12
|
-
variables: {
|
|
13
|
-
'activated-opacity': '0.2', // Adjust to your desired opacity
|
|
14
|
-
'hover-opacity': '0.2',
|
|
15
|
-
},
|
|
16
|
-
dark: false,
|
|
17
|
-
colors: {
|
|
18
|
-
'Dental-Blue-0': '#172774',
|
|
19
|
-
'Dental-Blue-1': '#111c54',
|
|
20
|
-
'Dental-Blue--1': '#4f5b95',
|
|
21
|
-
'Dental-Blue--2': '#7079a8',
|
|
22
|
-
'Dental-Blue--3': '#9198bc',
|
|
23
|
-
'Dental-Blue--4': '#cacdde',
|
|
24
|
-
'Dental-Blue--5': '#e5e6ee',
|
|
25
|
-
'Dental-Blue--6': '#f6f6f8',
|
|
26
|
-
'Dental-Light-Blue-4': '#293e52',
|
|
27
|
-
'Dental-Light-Blue-3': '#69849e',
|
|
28
|
-
'Dental-Light-Blue-2': '#93b1cf',
|
|
29
|
-
'Dental-Light-Blue-1': '#adcbe9',
|
|
30
|
-
'Dental-Light-Blue-0': '#c5e1fc',
|
|
31
|
-
'Dental-Light-Blue--1': '#dcecfc',
|
|
32
|
-
'Dental-Light-Blue--2': '#edf5fc',
|
|
33
|
-
'Dental-Light-Blue--3': '#f8fafd',
|
|
34
|
-
'Dental-Air-5': '#2e3133',
|
|
35
|
-
'Dental-Air-4': '#70767b',
|
|
36
|
-
'Dental-Air-3': '#99a2a9',
|
|
37
|
-
'Dental-Air-2': '#c5d1d9',
|
|
38
|
-
'Dental-Air-1': '#dbe8f1',
|
|
39
|
-
'Dental-Air-0': '#e4f2fb',
|
|
40
|
-
'Dental-Air--1': '#f4f9fd',
|
|
41
|
-
'Dental-Air--2': '#f9fbfd',
|
|
42
|
-
'Power-Red-3': '#1e050f',
|
|
43
|
-
'Power-Red-2': '#4a0d26',
|
|
44
|
-
'Power-Red-1': '#891747',
|
|
45
|
-
'Power-Red-0': '#f4297e',
|
|
46
|
-
'Power-Red--1': '#f769a5',
|
|
47
|
-
'Power-Red--2': '#fa9fc5',
|
|
48
|
-
'Power-Red--3': '#fcc9df',
|
|
49
|
-
'Power-Red--4': '#feeaf2',
|
|
50
|
-
'Light-Gum-4': '#1f1c1b',
|
|
51
|
-
'Light-Gum-3': '#4c4444',
|
|
52
|
-
'Light-Gum-2': '#b6a3a2',
|
|
53
|
-
'Light-Gum-1': '#edd4d2',
|
|
54
|
-
'Light-Gum-0': '#fce2df',
|
|
55
|
-
'Light-Gum--1': '#fdeeec',
|
|
56
|
-
'Light-Gum--2': '#fef3f2',
|
|
57
|
-
'Light-Gum--3': '#fef9f9',
|
|
58
|
-
'Warm-Light-5': '#10100e',
|
|
59
|
-
'Warm-Light-4': '#34322e',
|
|
60
|
-
'Warm-Light-3': '#5c5952',
|
|
61
|
-
'Warm-Light-2': '#cec7b8',
|
|
62
|
-
'Warm-Light-1': '#f0e8d6',
|
|
63
|
-
'Warm-Light-0': '#fff6e4',
|
|
64
|
-
'Warm-Light--1': '#fff8eb',
|
|
65
|
-
'Warm-Light--2': '#fffbf4',
|
|
66
|
-
'
|
|
67
|
-
'
|
|
68
|
-
'Soft-Concrete-
|
|
69
|
-
'Soft-Concrete-
|
|
70
|
-
'Soft-Concrete-
|
|
71
|
-
'Soft-Concrete-
|
|
72
|
-
'Soft-Concrete
|
|
73
|
-
'Soft-Concrete
|
|
74
|
-
'
|
|
75
|
-
'
|
|
76
|
-
'Error-Red
|
|
77
|
-
'
|
|
78
|
-
'
|
|
79
|
-
'Success-Green
|
|
80
|
-
'
|
|
81
|
-
'
|
|
82
|
-
'Warning
|
|
83
|
-
'
|
|
84
|
-
'
|
|
85
|
-
'Check
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
'
|
|
94
|
-
'
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
'
|
|
102
|
-
'
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
//
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
1
|
+
import { createVuetify } from 'vuetify';
|
|
2
|
+
import type { ThemeDefinition } from 'vuetify';
|
|
3
|
+
import 'vuetify/styles';
|
|
4
|
+
import '@mdi/font/css/materialdesignicons.css'; // Import Material Design Icons CSS
|
|
5
|
+
import heroicons from '../../heroicons';
|
|
6
|
+
import { aliases as mdiAliases, mdi } from 'vuetify/iconsets/mdi'; // Import mdi icons
|
|
7
|
+
import * as components from 'vuetify/components';
|
|
8
|
+
import * as directives from 'vuetify/directives';
|
|
9
|
+
|
|
10
|
+
// Define light and dark themes using direct hex color values with PascalCase
|
|
11
|
+
const lightTheme: ThemeDefinition = {
|
|
12
|
+
variables: {
|
|
13
|
+
'activated-opacity': '0.2', // Adjust to your desired opacity
|
|
14
|
+
'hover-opacity': '0.2',
|
|
15
|
+
},
|
|
16
|
+
dark: false,
|
|
17
|
+
colors: {
|
|
18
|
+
'Dental-Blue-0': '#172774',
|
|
19
|
+
'Dental-Blue-1': '#111c54',
|
|
20
|
+
'Dental-Blue--1': '#4f5b95',
|
|
21
|
+
'Dental-Blue--2': '#7079a8',
|
|
22
|
+
'Dental-Blue--3': '#9198bc',
|
|
23
|
+
'Dental-Blue--4': '#cacdde',
|
|
24
|
+
'Dental-Blue--5': '#e5e6ee',
|
|
25
|
+
'Dental-Blue--6': '#f6f6f8',
|
|
26
|
+
'Dental-Light-Blue-4': '#293e52',
|
|
27
|
+
'Dental-Light-Blue-3': '#69849e',
|
|
28
|
+
'Dental-Light-Blue-2': '#93b1cf',
|
|
29
|
+
'Dental-Light-Blue-1': '#adcbe9',
|
|
30
|
+
'Dental-Light-Blue-0': '#c5e1fc',
|
|
31
|
+
'Dental-Light-Blue--1': '#dcecfc',
|
|
32
|
+
'Dental-Light-Blue--2': '#edf5fc',
|
|
33
|
+
'Dental-Light-Blue--3': '#f8fafd',
|
|
34
|
+
'Dental-Air-5': '#2e3133',
|
|
35
|
+
'Dental-Air-4': '#70767b',
|
|
36
|
+
'Dental-Air-3': '#99a2a9',
|
|
37
|
+
'Dental-Air-2': '#c5d1d9',
|
|
38
|
+
'Dental-Air-1': '#dbe8f1',
|
|
39
|
+
'Dental-Air-0': '#e4f2fb',
|
|
40
|
+
'Dental-Air--1': '#f4f9fd',
|
|
41
|
+
'Dental-Air--2': '#f9fbfd',
|
|
42
|
+
'Power-Red-3': '#1e050f',
|
|
43
|
+
'Power-Red-2': '#4a0d26',
|
|
44
|
+
'Power-Red-1': '#891747',
|
|
45
|
+
'Power-Red-0': '#f4297e',
|
|
46
|
+
'Power-Red--1': '#f769a5',
|
|
47
|
+
'Power-Red--2': '#fa9fc5',
|
|
48
|
+
'Power-Red--3': '#fcc9df',
|
|
49
|
+
'Power-Red--4': '#feeaf2',
|
|
50
|
+
'Light-Gum-4': '#1f1c1b',
|
|
51
|
+
'Light-Gum-3': '#4c4444',
|
|
52
|
+
'Light-Gum-2': '#b6a3a2',
|
|
53
|
+
'Light-Gum-1': '#edd4d2',
|
|
54
|
+
'Light-Gum-0': '#fce2df',
|
|
55
|
+
'Light-Gum--1': '#fdeeec',
|
|
56
|
+
'Light-Gum--2': '#fef3f2',
|
|
57
|
+
'Light-Gum--3': '#fef9f9',
|
|
58
|
+
'Warm-Light-5': '#10100e',
|
|
59
|
+
'Warm-Light-4': '#34322e',
|
|
60
|
+
'Warm-Light-3': '#5c5952',
|
|
61
|
+
'Warm-Light-2': '#cec7b8',
|
|
62
|
+
'Warm-Light-1': '#f0e8d6',
|
|
63
|
+
'Warm-Light-0': '#fff6e4',
|
|
64
|
+
'Warm-Light--1': '#fff8eb',
|
|
65
|
+
'Warm-Light--2': '#fffbf4',
|
|
66
|
+
'Warm-Air--3': '#fffbf4',
|
|
67
|
+
'Warm-Air--4': '#fffdfa',
|
|
68
|
+
'Soft-Concrete-5': '#1e1e1e',
|
|
69
|
+
'Soft-Concrete-4': '#4a4a4b',
|
|
70
|
+
'Soft-Concrete-3': '#676769',
|
|
71
|
+
'Soft-Concrete-2': '#c1c1c2',
|
|
72
|
+
'Soft-Concrete-1': '#dddddf',
|
|
73
|
+
'Soft-Concrete-0': '#f5f5f7',
|
|
74
|
+
'Soft-Concrete--1': '#f9f9fb',
|
|
75
|
+
'Soft-Concrete--2': '#fbfbfc',
|
|
76
|
+
'Error-Red-1': '#630112',
|
|
77
|
+
'Error-Red-0': '#b00020',
|
|
78
|
+
'Error-Red--1': '#e3a6b1',
|
|
79
|
+
'Success-Green-1': '#037a72',
|
|
80
|
+
'Success-Green-0': '#03dac6',
|
|
81
|
+
'Success-Green--1': '#f3fdfc',
|
|
82
|
+
'Warning-1': '#4f4700',
|
|
83
|
+
'Warning-0': '#ffe600',
|
|
84
|
+
'Warning--1': '#fff8db',
|
|
85
|
+
'Check-1': '#037a2c',
|
|
86
|
+
'Check-0': '#01d449',
|
|
87
|
+
'Check--1': '#d8fde4',
|
|
88
|
+
Trkis: '#bae6ea',
|
|
89
|
+
/*White Cocoon*/
|
|
90
|
+
'Light-Nude-3': '#fffcf8',
|
|
91
|
+
'Dark-Nude-0': '#c4aea1',
|
|
92
|
+
'Night-Nude-0': '#a1978f',
|
|
93
|
+
'Dark-Nude-2': '#7F7168',
|
|
94
|
+
'Dark-Nude-3': '#453D39',
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
const darkTheme: ThemeDefinition = {
|
|
99
|
+
dark: true,
|
|
100
|
+
colors: {
|
|
101
|
+
'Dental-Blue-0': '#111c54',
|
|
102
|
+
'Dental-Light-Blue-0': '#adcbe9',
|
|
103
|
+
'Dental-Air-0': '#2e3133',
|
|
104
|
+
'Power-Red-0': '#4a0d26',
|
|
105
|
+
'Light-Gum-0': '#b6a3a2',
|
|
106
|
+
'Warm-Light-0': '#34322e',
|
|
107
|
+
'Soft-Concrete-0': '#4a4a4b',
|
|
108
|
+
'Error-Red-0': '#630112',
|
|
109
|
+
'Success-Green-0': '#037a72',
|
|
110
|
+
'Warning-0': '#4f4700',
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export default createVuetify({
|
|
115
|
+
icons: {
|
|
116
|
+
// Set 'mdi' or 'heroicons' as the default set
|
|
117
|
+
defaultSet: 'mdi', // You can change this to 'heroicons' if you prefer
|
|
118
|
+
|
|
119
|
+
// Aliases for common icons (default aliases from mdi)
|
|
120
|
+
aliases: {
|
|
121
|
+
...mdiAliases,
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
// Define both icon sets
|
|
125
|
+
sets: {
|
|
126
|
+
mdi, // Material Design Icons
|
|
127
|
+
heroicons, // Custom Heroicons set
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
components,
|
|
131
|
+
directives,
|
|
132
|
+
theme: {
|
|
133
|
+
defaultTheme: 'light',
|
|
134
|
+
themes: {
|
|
135
|
+
light: lightTheme,
|
|
136
|
+
dark: darkTheme,
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
});
|
package/src/shims-vue.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
// src/shims-vue.d.ts
|
|
2
|
-
declare module '*.vue' {
|
|
3
|
-
import { DefineComponent } from 'vue';
|
|
4
|
-
const component: DefineComponent<
|
|
5
|
-
Record<string, unknown>,
|
|
6
|
-
Record<string, unknown>,
|
|
7
|
-
any
|
|
8
|
-
>;
|
|
9
|
-
export default component;
|
|
10
|
-
}
|
|
1
|
+
// src/shims-vue.d.ts
|
|
2
|
+
declare module '*.vue' {
|
|
3
|
+
import { DefineComponent } from 'vue';
|
|
4
|
+
const component: DefineComponent<
|
|
5
|
+
Record<string, unknown>,
|
|
6
|
+
Record<string, unknown>,
|
|
7
|
+
any
|
|
8
|
+
>;
|
|
9
|
+
export default component;
|
|
10
|
+
}
|