@dative-gpi/foundation-shared-components 0.0.13 → 0.0.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 (40) hide show
  1. package/components/FSCalendarTwin.vue +2 -0
  2. package/components/FSClock.vue +7 -15
  3. package/components/FSCol.vue +2 -2
  4. package/components/FSSlideGroup.vue +10 -11
  5. package/components/FSWrapGroup.vue +10 -11
  6. package/components/fields/FSAutocompleteField.vue +8 -2
  7. package/components/fields/FSColorField.vue +89 -78
  8. package/components/fields/FSDateField.vue +1 -1
  9. package/components/fields/FSDateRangeField.vue +1 -5
  10. package/components/fields/FSDateTimeField.vue +1 -1
  11. package/components/fields/FSDateTimeRangeField.vue +23 -15
  12. package/components/fields/FSIconField.vue +1 -5
  13. package/components/fields/FSNumberField.vue +17 -3
  14. package/components/fields/FSRichTextField.vue +10 -8
  15. package/components/fields/FSTagField.vue +3 -3
  16. package/components/fields/FSTextArea.vue +2 -2
  17. package/components/fields/FSTimeField.vue +118 -20
  18. package/components/fields/FSTimeSlotField.vue +59 -53
  19. package/components/lists/FSDataTableUI.vue +8 -10
  20. package/package.json +4 -4
  21. package/styles/components/fs_autocomplete_field.scss +3 -60
  22. package/styles/components/fs_color_field.scss +4 -0
  23. package/styles/components/fs_data_table.scss +7 -2
  24. package/styles/components/fs_rich_text_field.scss +1 -1
  25. package/styles/components/fs_select_field.scss +3 -4
  26. package/styles/components/fs_switch.scss +4 -4
  27. package/styles/components/fs_text_area.scss +2 -0
  28. package/styles/components/fs_text_field.scss +1 -0
  29. package/styles/components/fs_time_field.scss +13 -0
  30. package/styles/components/fs_timeslot_field.scss +4 -67
  31. package/styles/globals/overrides.scss +8 -6
  32. package/styles/main.scss +1 -3
  33. package/utils/icons.ts +88 -2
  34. package/aliases/FSButton.ts +0 -116
  35. package/aliases/index.ts +0 -1
  36. package/pages/FSExternalIdentityButton.vue +0 -64
  37. package/pages/FSLanguageSetter.vue +0 -140
  38. package/pages/FSLoginPage.vue +0 -253
  39. package/styles/pages/fs_language_setter.scss +0 -55
  40. package/styles/pages/index.scss +0 -1
@@ -1,253 +0,0 @@
1
- <template>
2
- <FSRow
3
- width="100vw"
4
- gap="0px"
5
- >
6
- <FSCol
7
- align="top-center"
8
- :width="formWidth"
9
- >
10
- <FSCol
11
- width="min(464px, 100%)"
12
- padding="56px 0 0 0"
13
- align="top-center"
14
- gap="32px"
15
- >
16
- <FSCol
17
- align="top-center"
18
- gap="24px"
19
- >
20
- <FSImage
21
- borderRadius="0px"
22
- :imageId="landingPage?.bannerImageId"
23
- :height="bannerSize.height"
24
- :width="bannerSize.width"
25
- />
26
- <FSPagination
27
- class="fs-login-page-pagination"
28
- width="calc(100% - 64px)"
29
- :modelValue="0"
30
- :pages="3"
31
- />
32
- <FSCol
33
- gap="24px"
34
- >
35
- <FSCol
36
- gap="12px"
37
- >
38
- <FSLanguageSetter />
39
- <FSCol
40
- gap="4px"
41
- >
42
- <FSLabel
43
- font="text-h1"
44
- :label="landingPage?.title"
45
- />
46
- <FSLabel
47
- :label="landingPage?.subTitle"
48
- />
49
- </FSCol>
50
- </FSCol>
51
- <FSCol
52
- v-if="securitySettings?.useLocalAccounts"
53
- gap="16px"
54
- >
55
- <FSTextField
56
- :label="$tr('ui.login-page.email', 'Email')"
57
- :required="true"
58
- v-model="innerEmail"
59
- />
60
- <FSPasswordField
61
- :label="$tr('ui.login-page.password', 'Password')"
62
- :required="true"
63
- v-model="innerPassword"
64
- />
65
- <FSRow
66
- align="center-left"
67
- >
68
- <FSCheckbox
69
- :label="$tr('ui.login-page.remember-me', 'Remember me')"
70
- v-model="innerRememberMe"
71
- />
72
- <v-spacer />
73
- <FSLink
74
- to="https://www.google.com"
75
- >
76
- {{ $tr("ui.login-page.forgot-password", "Forgot password?") }}
77
- </FSLink>
78
- </FSRow>
79
- </FSCol>
80
- <FSButton
81
- v-if="securitySettings?.useLocalAccounts"
82
- :label="$tr('ui.login-page.login', 'Login')"
83
- :color="ColorEnum.Primary"
84
- :fullWidth="true"
85
- />
86
- </FSCol>
87
- </FSCol>
88
- <FSDivider
89
- v-if="securitySettings && showDivider"
90
- :label="$tr('ui.login-page.or', 'Or')"
91
- />
92
- <FSRow
93
- align="center-center"
94
- width="fill"
95
- :wrap="false"
96
- >
97
- <FSExternalIdentityButton
98
- v-if="securitySettings && securitySettings.useGoogle"
99
- scheme="Google"
100
- />
101
- <FSExternalIdentityButton
102
- v-if="securitySettings && securitySettings.useFacebook"
103
- scheme="Facebook"
104
- />
105
- <FSExternalIdentityButton
106
- v-if="securitySettings && securitySettings.useMicrosoft"
107
- scheme="OpenIdConnect"
108
- />
109
- </FSRow>
110
- <FSLink
111
- v-if="landingPage && landingPage.faqLink"
112
- :to="landingPage.faqLink"
113
- >
114
- {{ $tr("ui.login-page.frequently-asked-questions", "Frequently asked questions") }}
115
- </FSLink>
116
- </FSCol>
117
- </FSCol>
118
- <FSImage
119
- borderRadius="0px"
120
- :imageId="landingPage?.bannerImageId"
121
- :height="backgroundSize.height"
122
- :width="backgroundSize.width"
123
- />
124
- </FSRow>
125
- </template>
126
-
127
- <script lang="ts">
128
- import { computed, defineComponent, onMounted, ref } from "vue";
129
-
130
- import { useCurrentLandingPage, useCurrentSecuritySettings } from "@dative-gpi/foundation-shared-services/composables";
131
- import { useBreakpoints } from "@dative-gpi/foundation-shared-components/composables";
132
- import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
133
-
134
- import FSExternalIdentityButton from "./FSExternalIdentityButton.vue";
135
- import FSLanguageSetter from "./FSLanguageSetter.vue";
136
-
137
- import FSPasswordField from "../components/fields/FSPasswordField.vue";
138
- import FSTextField from "../components/fields/FSTextField.vue";
139
- import FSPagination from "../components/FSPagination.vue";
140
- import FSCheckbox from "../components/FSCheckbox.vue"
141
- import FSDivider from "../components/FSDivider.vue";
142
- import FSImage from "../components/FSImage.vue";
143
- import FSLabel from "../components/FSLabel.vue";
144
- import FSLink from "../components/FSLink.vue";
145
- import FSRow from "../components/FSRow.vue";
146
- import FSCol from "../components/FSCol.vue";
147
-
148
- export default defineComponent({
149
- name: "FSLoginPage",
150
- components: {
151
- FSExternalIdentityButton,
152
- FSLanguageSetter,
153
- FSPasswordField,
154
- FSPagination,
155
- FSTextField,
156
- FSCheckbox,
157
- FSDivider,
158
- FSImage,
159
- FSLabel,
160
- FSLink,
161
- FSRow,
162
- FSCol
163
- },
164
- props: {
165
- backgroundImageId: {
166
- type: String,
167
- required: false,
168
- default: null
169
- },
170
- bannerImageId: {
171
- type: String,
172
- required: false,
173
- default: null
174
- }
175
- },
176
- setup(props) {
177
- const { getting: gettingLandingPage, get: getLandingPage, entity: landingPage } = useCurrentLandingPage();
178
- const { get: getSecuritySettings, entity: securitySettings } = useCurrentSecuritySettings();
179
- const { isExtraSmall, isMobileSized } = useBreakpoints();
180
-
181
- const innerEmail = ref("");
182
- const innerPassword = ref("");
183
- const innerRememberMe = ref(false);
184
-
185
- const backgroundSize = computed((): { width: number | string, height: number | string } => {
186
- if (!gettingLandingPage && (!landingPage.value || !landingPage.value.bannerImageId)) {
187
- return { width: 0, height: 0 };
188
- }
189
- if (isExtraSmall.value) {
190
- return { width: 0, height: 0 };
191
- }
192
- if (isMobileSized.value) {
193
- return { width: "50%", height: "100vh" };
194
- }
195
- return { width: "60%", height: "100vh" };
196
- });
197
-
198
- const bannerSize = computed((): { width: number | string, height: number | string } => {
199
- if (!gettingLandingPage && (!landingPage.value || !landingPage.value.bannerImageId)) {
200
- return { width: 0, height: 0 };
201
- }
202
- if (isExtraSmall.value) {
203
- return { width: 240, height: 45 };
204
- }
205
- return { width: 360, height: 60 };
206
- });
207
-
208
- const formWidth = computed((): string => {
209
- if (!gettingLandingPage && (!landingPage.value || !landingPage.value.backgroundImageId)) {
210
- return "100%";
211
- }
212
- if (isExtraSmall.value) {
213
- return "100%";
214
- }
215
- if (isMobileSized.value) {
216
- return "50%";
217
- }
218
- return "40%";
219
- });
220
-
221
- const showDivider = computed((): boolean => {
222
- if (!securitySettings.value) {
223
- return true;
224
- }
225
- if (!securitySettings.value.useLocalAccounts) {
226
- return false;
227
- }
228
- if (!securitySettings.value.useGoogle && !securitySettings.value.useFacebook && !securitySettings.value.useMicrosoft) {
229
- return false;
230
- }
231
- return true;
232
- });
233
-
234
- onMounted(() => {
235
- getSecuritySettings();
236
- getLandingPage();
237
- });
238
-
239
- return {
240
- ColorEnum,
241
- securitySettings,
242
- landingPage,
243
- innerEmail,
244
- innerPassword,
245
- innerRememberMe,
246
- backgroundSize,
247
- bannerSize,
248
- formWidth,
249
- showDivider
250
- };
251
- }
252
- });
253
- </script>
@@ -1,55 +0,0 @@
1
- .fs-load-language-setter {
2
- @include web {
3
- height: 40px;
4
- max-width: 360px;
5
- }
6
- @include mobile {
7
- height: 36px;
8
- max-width: 360px;
9
- }
10
-
11
- & .v-skeleton-loader__image {
12
- border-radius: 4px;
13
- height: 100%;
14
- width: 100%;
15
- }
16
- }
17
-
18
- .fs-load-language-setter-icon {
19
- @include mobile {
20
- width: 72px;
21
- }
22
- @include web {
23
- width: 76px;
24
- }
25
- }
26
-
27
- .fs-language-setter {
28
- & > .v-input__control > .v-field {
29
- padding: 0px 8px 0px 12px !important;
30
- gap: 0px;
31
-
32
- & > .v-field__field > .v-field__input {
33
- padding-top: 0px;
34
- padding-bottom: 0px;
35
-
36
- & > .v-select__selection {
37
- height: 100% !important;
38
-
39
- & > .fs-row > .v-icon {
40
- padding-bottom: 2px;
41
- }
42
- }
43
- }
44
- }
45
- }
46
-
47
- .fs-language-setter-icon {
48
- @include mobile {
49
- width: 72px;
50
- }
51
-
52
- @include web {
53
- width: 76px;
54
- }
55
- }
@@ -1 +0,0 @@
1
- @import "./fs_language_setter.scss";