@unicef-polymer/etools-form-builder 3.0.0-rc.8 → 3.1.0

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 (39) hide show
  1. package/LICENSE +674 -674
  2. package/README.md +1 -1
  3. package/dist/assets/translations.js +70 -2
  4. package/dist/form-attachments-popup/form-attachments-popup.d.ts +4 -0
  5. package/dist/form-attachments-popup/form-attachments-popup.js +156 -53
  6. package/dist/form-fields/abstract-field-base.class.d.ts +1 -0
  7. package/dist/form-fields/abstract-field-base.class.js +106 -116
  8. package/dist/form-fields/field-renderer-component.d.ts +7 -3
  9. package/dist/form-fields/field-renderer-component.js +185 -154
  10. package/dist/form-fields/repeatable-fields/repeatable-attachment-field.js +112 -112
  11. package/dist/form-fields/repeatable-fields/repeatable-base-field.js +22 -22
  12. package/dist/form-fields/repeatable-fields/repeatable-number-field.js +19 -21
  13. package/dist/form-fields/repeatable-fields/repeatable-scale-field.js +57 -59
  14. package/dist/form-fields/repeatable-fields/repeatable-text-field.js +19 -24
  15. package/dist/form-fields/single-fields/attachment-field.js +13 -13
  16. package/dist/form-fields/single-fields/boolean-field.js +16 -21
  17. package/dist/form-fields/single-fields/number-field.js +21 -23
  18. package/dist/form-fields/single-fields/scale-field.js +58 -60
  19. package/dist/form-fields/single-fields/text-field.js +24 -25
  20. package/dist/form-groups/form-abstract-group.d.ts +2 -1
  21. package/dist/form-groups/form-abstract-group.js +129 -127
  22. package/dist/form-groups/form-card.js +30 -24
  23. package/dist/form-groups/form-collapsed-card.js +34 -34
  24. package/dist/lib/additional-components/confirmation-dialog.js +21 -21
  25. package/dist/lib/additional-components/etools-fb-card.js +136 -135
  26. package/dist/lib/styles/attachments.styles.js +61 -66
  27. package/dist/lib/styles/card-styles.js +147 -151
  28. package/dist/lib/styles/dialog.styles.js +83 -83
  29. package/dist/lib/styles/elevation-styles.d.ts +2 -2
  30. package/dist/lib/styles/elevation-styles.js +35 -35
  31. package/dist/lib/styles/flex-layout-classes.js +316 -316
  32. package/dist/lib/styles/form-builder-card.styles.js +53 -46
  33. package/dist/lib/styles/page-layout-styles.js +198 -198
  34. package/dist/lib/styles/shared-styles.js +61 -67
  35. package/package.json +55 -55
  36. package/dist/form-attachments-popup/form-attachments-popup.tpl.d.ts +0 -7
  37. package/dist/form-attachments-popup/form-attachments-popup.tpl.js +0 -102
  38. package/dist/lib/styles/input-styles.d.ts +0 -2
  39. package/dist/lib/styles/input-styles.js +0 -143
@@ -14,107 +14,108 @@ let EtoolsFbCard = class EtoolsFbCard extends LitElement {
14
14
  elevationStyles,
15
15
  CardStyles,
16
16
  FlexLayoutClasses,
17
- css `
18
- :host {
19
- display: block;
20
- }
21
-
22
- etools-icon {
23
- cursor: pointer;
24
- margin: 6px;
25
- }
26
-
27
- .card-container {
28
- background-color: var(--primary-background-color);
29
- }
30
-
31
- .card-title-box[is-collapsible] {
32
- padding-left: 17px;
33
- padding-right: 25px;
34
- }
35
-
36
- .card-content {
37
- padding: 0;
38
- }
39
-
40
- .card-buttons {
41
- padding: 12px 24px;
42
- }
43
-
44
- .save-button {
45
- --sl-color-primary-500: var(--primary-color);
46
- }
47
-
48
- .edit-button, etools-icon[name="create"] {
49
- color: var(--gray-mid);
50
- }
51
-
52
- .edit-button[edit] {
53
- color: var(--primary-color);
54
- }
55
-
56
- .flex-header {
57
- display: flex;
58
- align-items: center;
59
- padding-top: auto;
60
- flex-wrap: nowrap;
61
- }
62
- .flex-header__collapse {
63
- flex-basis: auto;
64
- }
65
- .flex-header__title {
66
- font-size: 18px;
67
- flex-basis: auto;
68
- flex-grow: 1;
69
- overflow: hidden;
70
- white-space: nowrap;
71
- text-overflow: ellipsis;
72
- }
73
- .flex-header__actions {
74
- order: 1;
75
- width: auto;
76
- display: flex;
77
- flex-basis: auto;
78
- }
79
- .flex-header__postfix {
80
- order: 3;
81
- }
82
- .flex-header__edit {
83
- order: 2;
84
- }
85
- @media (max-width: 380px) {
86
- .card-title-box[is-collapsible] {
87
- padding-left: 0;
88
- padding-right: 0;
89
- }
90
- .flex-header {
91
- align-items: baseline;
92
- padding-top: 10px;
93
- flex-wrap: wrap;
94
- }
95
- .flex-header__collapse {
96
- flex-basis: 20%;
97
- }
98
- .flex-header__title {
99
- flex-basis: 60%;
100
- overflow: unset;
101
- white-space: unset;
102
- text-overflow: unset;
103
- }
104
- .flex-header__actions {
105
- order: 2;
106
- width: 100%;
107
- border-top: 1px solid lightgrey;
108
- justify-content: flex-end;
109
- }
110
- .flex-header__postfix {
111
- order: 3;
112
- }
113
- .flex-header__edit {
114
- order: 1;
115
- flex-basis: 20%;
116
- }
117
- }
17
+ css `
18
+ :host {
19
+ display: block;
20
+ }
21
+
22
+ etools-icon {
23
+ cursor: pointer;
24
+ margin: 6px;
25
+ }
26
+
27
+ .card-container {
28
+ background-color: var(--primary-background-color);
29
+ }
30
+
31
+ .card-title-box[is-collapsible] {
32
+ padding-left: 17px;
33
+ padding-right: 25px;
34
+ }
35
+
36
+ .card-content {
37
+ padding: 0;
38
+ }
39
+
40
+ .card-buttons {
41
+ padding: 12px 24px;
42
+ }
43
+
44
+ .save-button {
45
+ --sl-color-primary-500: var(--primary-color);
46
+ }
47
+
48
+ .edit-button,
49
+ etools-icon[name='create'] {
50
+ color: var(--gray-mid);
51
+ }
52
+
53
+ .edit-button[edit] {
54
+ color: var(--primary-color);
55
+ }
56
+
57
+ .flex-header {
58
+ display: flex;
59
+ align-items: center;
60
+ padding-top: auto;
61
+ flex-wrap: nowrap;
62
+ }
63
+ .flex-header__collapse {
64
+ flex-basis: auto;
65
+ }
66
+ .flex-header__title {
67
+ font-size: var(--etools-font-size-18, 18px);
68
+ flex-basis: auto;
69
+ flex-grow: 1;
70
+ overflow: hidden;
71
+ white-space: nowrap;
72
+ text-overflow: ellipsis;
73
+ }
74
+ .flex-header__actions {
75
+ order: 1;
76
+ width: auto;
77
+ display: flex;
78
+ flex-basis: auto;
79
+ }
80
+ .flex-header__postfix {
81
+ order: 3;
82
+ }
83
+ .flex-header__edit {
84
+ order: 2;
85
+ }
86
+ @media (max-width: 380px) {
87
+ .card-title-box[is-collapsible] {
88
+ padding-left: 0;
89
+ padding-right: 0;
90
+ }
91
+ .flex-header {
92
+ align-items: baseline;
93
+ padding-top: 10px;
94
+ flex-wrap: wrap;
95
+ }
96
+ .flex-header__collapse {
97
+ flex-basis: 20%;
98
+ }
99
+ .flex-header__title {
100
+ flex-basis: 60%;
101
+ overflow: unset;
102
+ white-space: unset;
103
+ text-overflow: unset;
104
+ }
105
+ .flex-header__actions {
106
+ order: 2;
107
+ width: 100%;
108
+ border-top: 1px solid lightgrey;
109
+ justify-content: flex-end;
110
+ }
111
+ .flex-header__postfix {
112
+ order: 3;
113
+ }
114
+ .flex-header__edit {
115
+ order: 1;
116
+ flex-basis: 12%;
117
+ }
118
+ }
118
119
  `
119
120
  ];
120
121
  }
@@ -126,7 +127,7 @@ let EtoolsFbCard = class EtoolsFbCard extends LitElement {
126
127
  this.collapsed = false;
127
128
  this.edit = false;
128
129
  if (!this.language) {
129
- this.language = window.localStorage.defaultLanguage || 'en';
130
+ this.language = window.EtoolsLanguage || 'en';
130
131
  }
131
132
  this.handleLanguageChange = this.handleLanguageChange.bind(this);
132
133
  }
@@ -161,45 +162,45 @@ let EtoolsFbCard = class EtoolsFbCard extends LitElement {
161
162
  }
162
163
  // language=HTML
163
164
  render() {
164
- return html `
165
- <div class="elevation card-container" elevation="1">
166
- <header class="card-title-box with-bottom-line flex-header" ?is-collapsible="${this.isCollapsible}">
165
+ return html `
166
+ <div class="elevation card-container" elevation="1">
167
+ <header class="card-title-box with-bottom-line flex-header" ?is-collapsible="${this.isCollapsible}">
167
168
  ${this.isCollapsible
168
- ? html `
169
- <etools-icon name="${this.collapsed ? 'expand-more' : 'expand-less'}" @click="${() => this.toggleCollapse()}"></etools-icon>
169
+ ? html `
170
+ <etools-icon name="${this.collapsed ? 'expand-more' : 'expand-less'}" @click="${() => this.toggleCollapse()}"></etools-icon>
170
171
  `
171
- : ''}
172
- <div class="flex-header__title">${this.cardTitle}</div>
173
- <div class="flex-header__actions"><slot name="actions"></slot></div>
174
- <div class="layout horizontal center flex-header__edit">
172
+ : ''}
173
+ <div class="flex-header__title">${this.cardTitle}</div>
174
+ <div class="flex-header__actions"><slot name="actions"></slot></div>
175
+ <div class="layout horizontal center flex-header__edit">
175
176
  ${this.isEditable
176
- ? html `
177
- <etools-icon slot="trigger" ?hidden="${this.hideEditButton}" @click="${() => this.startEdit()}" name="create"></etools-icon>
177
+ ? html `
178
+ <etools-icon slot="trigger" ?hidden="${this.hideEditButton}" @click="${() => this.startEdit()}" name="create"></etools-icon>
178
179
  `
179
- : ''}
180
- </div>
181
- <div class="flex-header__postfix"><slot name="postfix"></slot></div>
182
- </header>
183
- <etools-collapse ?opened="${!this.collapsed}">
184
- <section class="card-content-block">
185
- <slot name="content"></slot>
186
-
180
+ : ''}
181
+ </div>
182
+ <div class="flex-header__postfix"><slot name="postfix"></slot></div>
183
+ </header>
184
+ <etools-collapse ?opened="${!this.collapsed}">
185
+ <section class="card-content-block">
186
+ <slot name="content"></slot>
187
+
187
188
  ${this.isEditable && this.edit
188
- ? html `
189
- <div class="layout horizontal end-justified card-buttons">
190
- <etools-button variant="text" class="neutral" @click="${this.cancel}">
191
- ${getTranslation(this.language, 'CANCEL')}
192
- </etools-button>
193
-
194
- <etools-button variant="primary" class="save-button" @click="${this.save}">
195
- ${getTranslation(this.language, 'SAVE')}
196
- </etools-button>
197
- </div>
189
+ ? html `
190
+ <div class="layout horizontal end-justified card-buttons">
191
+ <etools-button variant="text" class="neutral" @click="${this.cancel}">
192
+ ${getTranslation(this.language, 'CANCEL')}
193
+ </etools-button>
194
+
195
+ <etools-button variant="primary" class="save-button" @click="${this.save}">
196
+ ${getTranslation(this.language, 'SAVE')}
197
+ </etools-button>
198
+ </div>
198
199
  `
199
- : ''}
200
- </section>
201
- </etools-collapse>
202
- </div>
200
+ : ''}
201
+ </section>
202
+ </etools-collapse>
203
+ </div>
203
204
  `;
204
205
  }
205
206
  };
@@ -1,69 +1,64 @@
1
1
  import { css } from 'lit';
2
2
  // language=CSS
3
- export const AttachmentsStyles = css `
4
- .file-selector-container {
5
- display: flex;
6
- flex-flow: row;
7
- align-items: center;
8
- padding: 8px 0;
9
- }
10
- .filename-container {
11
- display: flex;
12
- align-items: center;
13
- border-bottom: 1px solid var(--secondary-text-color, rgba(0, 0, 0, 0.54));
14
- margin: 0 14px 0 0;
15
- min-width: 145px;
16
- overflow-wrap: break-word;
17
- font-size: 16px;
18
- }
19
- :host([is-readonly]) .filename-container {
20
- border-bottom-color: transparent;
21
- }
22
- .filename {
23
- overflow: hidden;
24
- text-overflow: ellipsis;
25
- white-space: nowrap;
26
- }
27
- .file-icon {
28
- width: 24px;
29
- flex: none;
30
- color: var(--secondary-text-color, rgba(0, 0, 0, 0.54));
31
- }
32
- .upload-button,
33
- .download-button {
34
- color: var(--primary-color);
35
- min-width: 130px;
36
- }
37
- .change-button {
38
- color: var(--secondary-text-color, rgba(0, 0, 0, 0.54));
39
- }
40
- iron-icon {
41
- margin-right: 8px;
42
- }
43
- paper-button {
44
- font-weight: 700;
45
- margin: 0 0;
46
- padding: 0 0;
47
- }
48
- .file-selector-container.with-type-dropdown {
49
- padding: 0;
50
- }
51
- .file-selector-container.with-type-dropdown etools-dropdown.type-dropdown {
52
- flex: none;
53
- width: 209px;
54
- }
55
- .file-selector-container.with-type-dropdown .filename-container {
56
- height: 32px;
57
- box-sizing: border-box;
58
- margin: 22px 0 8px;
59
- border-bottom: 1px solid var(--gray-20);
60
- }
61
- .file-selector-container.with-type-dropdown .delete-button,
62
- .file-selector-container.with-type-dropdown .download-button {
63
- margin-top: 15px;
64
- }
65
- etools-upload-multi.with-padding {
66
- padding: 12px 9px 12px 0;
67
- box-sizing: border-box;
68
- }
3
+ export const AttachmentsStyles = css `
4
+ .file-selector-container {
5
+ display: flex;
6
+ flex-flow: row;
7
+ align-items: center;
8
+ padding: 8px 0;
9
+ }
10
+ .filename-container {
11
+ display: flex;
12
+ align-items: center;
13
+ border-bottom: 1px solid var(--secondary-text-color, rgba(0, 0, 0, 0.54));
14
+ margin: 0 14px 0 0;
15
+ min-width: 145px;
16
+ overflow-wrap: break-word;
17
+ font-size: var(--etools-font-size-16, 16px);
18
+ }
19
+ :host([is-readonly]) .filename-container {
20
+ border-bottom-color: transparent;
21
+ }
22
+ .filename {
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
25
+ white-space: nowrap;
26
+ }
27
+ .file-icon {
28
+ width: 24px;
29
+ flex: none;
30
+ color: var(--secondary-text-color, rgba(0, 0, 0, 0.54));
31
+ }
32
+ .upload-button,
33
+ .download-button {
34
+ color: var(--primary-color);
35
+ min-width: 130px;
36
+ }
37
+ .change-button {
38
+ color: var(--secondary-text-color, rgba(0, 0, 0, 0.54));
39
+ }
40
+ etools-icon {
41
+ margin-right: 8px;
42
+ }
43
+ .file-selector-container.with-type-dropdown {
44
+ padding: 0;
45
+ }
46
+ .file-selector-container.with-type-dropdown etools-dropdown.type-dropdown {
47
+ flex: none;
48
+ width: 209px;
49
+ }
50
+ .file-selector-container.with-type-dropdown .filename-container {
51
+ height: 32px;
52
+ box-sizing: border-box;
53
+ margin: 22px 8px;
54
+ border-bottom: 1px solid var(--gray-20);
55
+ }
56
+ .file-selector-container.with-type-dropdown .delete-button,
57
+ .file-selector-container.with-type-dropdown .download-button {
58
+ margin-top: 15px;
59
+ }
60
+ etools-upload-multi.with-padding {
61
+ padding: 12px 9px 12px 0;
62
+ box-sizing: border-box;
63
+ }
69
64
  `;