@beterdichtbij/component-library 0.29.4 → 0.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,106 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ import { type ChangePasswordData } from '../../../types/ChangePasswordData';
3
+ import { type ValidationChangePasswordData } from '../../../types/ValidationChangePasswordData';
4
+ declare const _sfc_main: import("vue").DefineComponent<{
5
+ data: {
6
+ type: __PropType<ChangePasswordData>;
7
+ required: true;
8
+ };
9
+ validation: {
10
+ type: __PropType<ValidationChangePasswordData>;
11
+ required: true;
12
+ };
13
+ serverErrors: {
14
+ type: __PropType<string[] | null>;
15
+ required: true;
16
+ };
17
+ errorMessages: {
18
+ type: __PropType<string[] | null>;
19
+ required: true;
20
+ };
21
+ errorMessageText: {
22
+ type: __PropType<string>;
23
+ required: true;
24
+ };
25
+ title: {
26
+ type: __PropType<string>;
27
+ required: true;
28
+ };
29
+ alertText: {
30
+ type: __PropType<string>;
31
+ required: true;
32
+ };
33
+ currentPasswordLabel: {
34
+ type: __PropType<string>;
35
+ required: true;
36
+ };
37
+ newPasswordLabel: {
38
+ type: __PropType<string>;
39
+ required: true;
40
+ };
41
+ confirmNewPasswordLabel: {
42
+ type: __PropType<string>;
43
+ required: true;
44
+ };
45
+ submitButtonText: {
46
+ type: __PropType<string>;
47
+ required: true;
48
+ };
49
+ cancelButtonText: {
50
+ type: __PropType<string>;
51
+ required: true;
52
+ };
53
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("submit" | "reset")[], "submit" | "reset", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
54
+ data: {
55
+ type: __PropType<ChangePasswordData>;
56
+ required: true;
57
+ };
58
+ validation: {
59
+ type: __PropType<ValidationChangePasswordData>;
60
+ required: true;
61
+ };
62
+ serverErrors: {
63
+ type: __PropType<string[] | null>;
64
+ required: true;
65
+ };
66
+ errorMessages: {
67
+ type: __PropType<string[] | null>;
68
+ required: true;
69
+ };
70
+ errorMessageText: {
71
+ type: __PropType<string>;
72
+ required: true;
73
+ };
74
+ title: {
75
+ type: __PropType<string>;
76
+ required: true;
77
+ };
78
+ alertText: {
79
+ type: __PropType<string>;
80
+ required: true;
81
+ };
82
+ currentPasswordLabel: {
83
+ type: __PropType<string>;
84
+ required: true;
85
+ };
86
+ newPasswordLabel: {
87
+ type: __PropType<string>;
88
+ required: true;
89
+ };
90
+ confirmNewPasswordLabel: {
91
+ type: __PropType<string>;
92
+ required: true;
93
+ };
94
+ submitButtonText: {
95
+ type: __PropType<string>;
96
+ required: true;
97
+ };
98
+ cancelButtonText: {
99
+ type: __PropType<string>;
100
+ required: true;
101
+ };
102
+ }>> & {
103
+ onSubmit?: ((...args: any[]) => any) | undefined;
104
+ onReset?: ((...args: any[]) => any) | undefined;
105
+ }, {}, {}>;
106
+ export default _sfc_main;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BDChangePasswordTemplate.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/BDChangePasswordTemplate/BDChangePasswordTemplate.vue"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uIAAuI,CAAC;AAC9J,cAAc,uIAAuI,CAAC;AACtJ,eAAe,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const useValidation: () => {
2
+ ResetValidation: (validation: any) => void;
3
+ ValidationObjectIsValid: (validations: any) => boolean;
4
+ };
package/dist/index.d.ts CHANGED
@@ -32,9 +32,13 @@ import BDTable from "./components/molecules/BDTable/BDTable.vue";
32
32
  import BDDropdown from "./components/organisms/BDDropdown/BDDropdown.vue";
33
33
  import BDHeader from "./components/organisms/BDHeader/BDHeader.vue";
34
34
  import BDModal from "./components/organisms/BDModal/BDModal.vue";
35
+ import BDChangePasswordTemplate from "./components/organisms/BDChangePasswordTemplate/BDChangePasswordTemplate.vue";
35
36
  import { useModal } from "./composables/useModal";
36
37
  import { useServerErrors } from "./composables/useServerErrors";
37
38
  import { useToaster } from "./composables/useToaster";
39
+ import { useValidation } from "./composables/useValidation";
38
40
  import { vBdTooltip } from "./directives/BDTooltip";
41
+ import { type ChangePasswordData } from './types/ChangePasswordData';
42
+ import { type ValidationChangePasswordData } from './types/ValidationChangePasswordData';
39
43
  import { getDisplayDate } from "./utils/display-date";
40
- export { BDChatCloud, BDCol, BDContainer, BDRow, BDButton, BDLogo, BDLink, BDDropdownItem, BDDropdown, BDAlert, BDProfileImage, BDZoomslider, BDCard, BDCollapsableCard, BDModal, BDFormInput, BDFormInvalidFeedback, BDInputGroup, BDBadge, BDForm, BDPagination, BDDropzone, BDMarkdownEditor, BDFormSelect, BDFormCheckbox, BDArticle, BDUser, BDToast, BDAttachmentPreviewList, BDImageAttachmentPreviewList, BDHeader, BDMobileMenu, BDTable, IconAcademy, IconArrowDown, IconArrowUp, IconAttachment, IconBold, IconBulletList, IconCalendar, IconCardView, IconCaretDown, IconCaretLeft, IconCaretRight, IconCheck, IconClose, IconDownloadImage, IconEdit, IconError, IconEyeShow, IconEyeSlash, IconFile, IconHyperlink, IconInfo, IconItalic, IconListView, IconMenu, IconOrderedList, IconRemove, IconService, IconSort, IconSortAsc, IconSortDesc, IconSortNone, IconTriangleExclamation, IconUnderline, useModal, useServerErrors, useToaster, vBdTooltip, getDisplayDate, };
44
+ export { BDChatCloud, BDCol, BDContainer, BDRow, BDButton, BDLogo, BDLink, BDDropdownItem, BDDropdown, BDAlert, BDProfileImage, BDZoomslider, BDCard, BDChangePasswordTemplate, BDCollapsableCard, BDModal, BDFormInput, BDFormInvalidFeedback, BDInputGroup, BDBadge, BDForm, BDPagination, BDDropzone, BDMarkdownEditor, BDFormSelect, BDFormCheckbox, BDArticle, BDUser, BDToast, BDAttachmentPreviewList, BDImageAttachmentPreviewList, BDHeader, BDMobileMenu, BDTable, IconAcademy, IconArrowDown, IconArrowUp, IconAttachment, IconBold, IconBulletList, IconCalendar, IconCardView, IconCaretDown, IconCaretLeft, IconCaretRight, IconCheck, IconClose, IconDownloadImage, IconEdit, IconError, IconEyeShow, IconEyeSlash, IconFile, IconHyperlink, IconInfo, IconItalic, IconListView, IconMenu, IconOrderedList, IconRemove, IconService, IconSort, IconSortAsc, IconSortDesc, IconSortNone, IconTriangleExclamation, IconUnderline, ChangePasswordData, ValidationChangePasswordData, useModal, useServerErrors, useToaster, useValidation, vBdTooltip, getDisplayDate, };
@@ -0,0 +1,327 @@
1
+ // TODO split up per template component
2
+
3
+ .template {
4
+ @media (max-width: map-get($grid-breakpoints, md)) {
5
+ .template-title {
6
+ padding-left:1rem;
7
+ }
8
+
9
+ .container, .row {
10
+ --bs-gutter-x: 0;
11
+ }
12
+
13
+ .container {
14
+ border-top-left-radius: 8px;
15
+ border-top-right-radius: 8px;
16
+ }
17
+
18
+ button {
19
+ margin-right : 1rem;
20
+ }
21
+
22
+ img {
23
+ border-top-left-radius: 8px;
24
+ border-top-right-radius: 8px;
25
+ }
26
+ }
27
+
28
+ &.my-organization-template {
29
+ .template-header-col {
30
+ display: flex;
31
+ justify-content: space-between;
32
+
33
+ h2 {
34
+ line-height: 2.375rem;
35
+ }
36
+ }
37
+
38
+ .bd-card-description {
39
+ padding:0 2rem;
40
+
41
+ h3 {
42
+ font-size: 20px;
43
+ font-weight: 700;
44
+ line-height: 25px;
45
+ }
46
+
47
+ .city {
48
+ font-family: Work Sans, sans-serif;
49
+ font-size: 16px;
50
+ font-weight: 400;
51
+ line-height: 24px;
52
+ text-align: left;
53
+ color: #6B758A;
54
+ }
55
+ }
56
+ }
57
+
58
+ &.profile-edit-template, &.change-password-template {
59
+ @media (max-width: map-get($grid-breakpoints, md)) {
60
+
61
+ .bd-profile-picture{
62
+ width:80px;
63
+ height: 80px;
64
+ }
65
+ }
66
+
67
+ .vue-date-picker {
68
+ // Style only applies when dialog is above.
69
+ .dp__arrow_bottom + div .dp__calendar {
70
+ $week-height: 45px;
71
+ height: $week-height * 6;
72
+ }
73
+
74
+ .dp__theme_light {
75
+ flex: 1;
76
+ --dp-font-family: $font-primary;
77
+ --dp-primary-color: #3594CF;
78
+ --dp-text-color : $font-color-primary;
79
+
80
+ .btn {
81
+ height: 38px;
82
+ }
83
+ }
84
+ }
85
+ }
86
+
87
+ &.change-password-template {
88
+ .alert ul {
89
+ padding-top: 0px;
90
+ }
91
+ }
92
+
93
+ .bd-card-template {
94
+ margin-bottom: 50px;
95
+ padding: 56px;
96
+
97
+ @media (max-width: map-get($grid-breakpoints, md)) {
98
+ padding: 1rem;
99
+ }
100
+
101
+ .card-body{
102
+ padding:revert;
103
+ }
104
+
105
+ .bd-card-img {
106
+ display:flex;
107
+ gap: 18px;
108
+ margin-bottom: 2rem;
109
+
110
+ button,.btn,.btn-link{
111
+ align-self: center;
112
+ }
113
+ }
114
+
115
+ .form-input-with-button{
116
+ display:flex;
117
+ gap: 0.5rem;
118
+ }
119
+ .form-label{
120
+ margin-bottom:0.25rem;
121
+ span.form-label-optional {
122
+ font-weight:400;
123
+ }
124
+ }
125
+
126
+ &.my-organization-card {
127
+ padding: 0px;
128
+
129
+ .bd-card-img {
130
+ padding: 0px;
131
+ width: 100%;
132
+ height: 250px;
133
+
134
+ img {
135
+ object-fit: cover;
136
+ border-bottom-left-radius: 0px;
137
+ border-bottom-right-radius: 0px;
138
+ }
139
+ }
140
+ }
141
+ }
142
+
143
+ &.overview-template {
144
+ button {
145
+ margin-right: 0px;
146
+ background-color: #f5f5f5;
147
+ }
148
+
149
+ .bd-dropdown.dropdown .dropdown-toggle {
150
+ display: flex;
151
+ align-items: center;
152
+ font-weight: 500;
153
+ font-size: 13px;
154
+ letter-spacing: 0;
155
+ line-height: 24px;
156
+ margin-right: 0px;
157
+ text-decoration: none;
158
+ }
159
+
160
+ .bd-form-checkbox {
161
+ margin-bottom: 22px;
162
+ font-family: $font-family-base;
163
+ }
164
+
165
+ .bd-article {
166
+ margin-bottom: 16px;
167
+ padding: 20px;
168
+ cursor: pointer;
169
+
170
+ header {
171
+ position: relative;
172
+
173
+ .bd-date {
174
+ color: $secondary;
175
+ font-size: .875rem;
176
+ font-weight: 400;
177
+ text-wrap: nowrap;
178
+ }
179
+
180
+ .bd-counter {
181
+ margin-right: 0px;
182
+ }
183
+
184
+ .bd-user__information header {
185
+ justify-content: flex-start;
186
+ }
187
+ }
188
+
189
+ .bd-dropdown .dropdown-menu {
190
+ padding: 0px;
191
+
192
+ .dropdown-item {
193
+ cursor: pointer;
194
+ line-height: normal;
195
+ padding: 8px 20px;
196
+ }
197
+ }
198
+ }
199
+
200
+ .bd-badge {
201
+ margin-right:auto;
202
+ margin: 0px 4px;
203
+ align-self:flex-start;
204
+ }
205
+
206
+ .bd-text{
207
+ line-height: 1.375rem;
208
+ max-height: 2.75rem;
209
+ overflow: hidden;
210
+ display: -webkit-box;
211
+ -webkit-box-orient: vertical;
212
+ overflow: hidden;
213
+ -webkit-line-clamp: 2;
214
+
215
+ p {
216
+ margin-bottom: 0px;
217
+ }
218
+ }
219
+
220
+ .bd-body-card {
221
+ display: flex;
222
+ justify-content: space-between;
223
+
224
+ @media (max-width: map-get($grid-breakpoints, md)) {
225
+ flex-direction: column;
226
+ align-items:flex-end;
227
+ >*:first-child {
228
+ align-self: stretch;
229
+ }
230
+ }
231
+
232
+
233
+ }
234
+
235
+ .bd-dropdown {
236
+ margin-right: 0px;
237
+ }
238
+
239
+ .bd-counter {
240
+ display:none
241
+ }
242
+
243
+ .bd-article.is-unread {
244
+ border-right: 4px solid $primary;
245
+
246
+ .bd-date {
247
+ color: $primary;
248
+ font-weight: 500;
249
+ }
250
+
251
+ .bd-counter {
252
+ display: block;
253
+ width: 20px;
254
+ height: 20px;
255
+ border-radius: 12px;
256
+ background-color: $primary;
257
+ margin-top:6px;
258
+
259
+ }
260
+ }
261
+ }
262
+
263
+ &.detail-conversation-template{
264
+ .bd-card-template {
265
+ margin-top: 20px;
266
+ }
267
+
268
+ .spinner-border {
269
+ width: 1rem;
270
+ height: 1rem;
271
+ --bs-spinner-border-width: 0.15em;
272
+ }
273
+
274
+ .icon-eye-show {
275
+ height: 25px;
276
+ width: 25px;
277
+ padding-bottom: 3px;
278
+ }
279
+ }
280
+
281
+ &.not-found-template {
282
+ padding-top: 0px;
283
+
284
+ .center-screen {
285
+ display: flex;
286
+ justify-content: center;
287
+ align-items: center;
288
+ text-align: center;
289
+ min-height: 100vh;
290
+ }
291
+
292
+ .container-warning {
293
+ display: flex;
294
+ flex-direction: column;
295
+ align-items: center;
296
+ justify-content: center;
297
+ gap: 20px;
298
+ background-color: #fff;
299
+ height: 319px;
300
+ width: 500px;
301
+ border-radius: 8px;
302
+ padding: 40px;
303
+
304
+ }
305
+ }
306
+ }
307
+
308
+ @media (max-width: map-get($grid-breakpoints, sm)) {
309
+ .template {
310
+ &.overview-template {
311
+ .bd-form-checkbox {
312
+ padding-left:2.8rem;
313
+ margin-bottom: 12px;
314
+ }
315
+
316
+ .conversations-container {
317
+ padding: 0px;
318
+
319
+ .bd-article {
320
+ margin-bottom: 5px;
321
+ border-radius: 0px;
322
+ padding: 16px;
323
+ }
324
+ }
325
+ }
326
+ }
327
+ }
@@ -12,6 +12,7 @@
12
12
  @import "icons";
13
13
  @import "pagination";
14
14
  @import "forms";
15
+ @import "form-field";
15
16
  @import "header";
16
17
  @import "toast";
17
18
  @import "dropdown";
@@ -23,4 +24,5 @@
23
24
  @import "attachments";
24
25
  @import "chatcloud";
25
26
  @import "table";
26
- @import "table-sort-header";
27
+ @import "table-sort-header";
28
+ @import "templates";
@@ -0,0 +1,13 @@
1
+ .bd-form-field {
2
+ margin-bottom: 27px;
3
+
4
+ .form-input-with-button{
5
+ display: flex;
6
+ gap: 0.5rem;
7
+ justify-content: space-between;
8
+
9
+ .btn{
10
+ height:auto;
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,5 @@
1
+ export interface ChangePasswordData {
2
+ password: string;
3
+ passwordNew: string;
4
+ passwordRepeat: string;
5
+ }
@@ -0,0 +1,14 @@
1
+ export interface ValidationChangePasswordData {
2
+ password: {
3
+ state: null | boolean;
4
+ errorLabel: string;
5
+ };
6
+ passwordNew: {
7
+ state: null | boolean;
8
+ errorLabel: string;
9
+ };
10
+ passwordRepeat: {
11
+ state: null | boolean;
12
+ errorLabel: string;
13
+ };
14
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@beterdichtbij/component-library",
3
3
  "private": false,
4
- "version": "0.29.4",
4
+ "version": "0.30.1",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"