@unicef-polymer/etools-form-builder 3.1.3 → 3.1.4

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.
@@ -30,7 +30,24 @@ const translations = {
30
30
  NUMBER_MUST_BE_LOWER_THAN: 'Number must be lower than {0}',
31
31
  DOCUMENT_TYPE: 'Document type',
32
32
  SELECT_DOCUMENT_TYPE: 'Select Document Type',
33
- PLEASE_ANSWER: 'Important: Please provide the answer if available'
33
+ PLEASE_ANSWER: 'Important: Please provide the answer if available',
34
+ NORMAL_TEXT: 'Normal Text',
35
+ HEADING1: 'Heading 1',
36
+ HEADING2: 'Heading 2',
37
+ HEADING3: 'Heading 3',
38
+ HEADING4: 'Heading 4',
39
+ HEADING5: 'Heading 5',
40
+ HEADING6: 'Heading 6',
41
+ PARAGRAPH: 'Paragraph',
42
+ PRE_FORMATTED: 'Pre-Formatted',
43
+ FONT_SIZE: 'Font Size',
44
+ VERY_SMALL: 'Very Small',
45
+ SMALL: 'Small',
46
+ NORMAL: 'Normal',
47
+ MEDIUM_LARGE: 'Medium Large',
48
+ LARGE: 'Large',
49
+ VERY_LARGE: 'Very Large',
50
+ MAXIMUM: 'Maximum'
34
51
  },
35
52
  fr: {
36
53
  SAVE: 'Sauvegarder',
@@ -63,7 +80,24 @@ const translations = {
63
80
  NUMBER_MUST_BE_LOWER_THAN: 'Le nombre doit être inférieur à {0}',
64
81
  DOCUMENT_TYPE: 'Type de document',
65
82
  SELECT_DOCUMENT_TYPE: 'Sélectionnez le type de document',
66
- PLEASE_ANSWER: 'Important : veuillez fournir la réponse si disponible'
83
+ PLEASE_ANSWER: 'Important : veuillez fournir la réponse si disponible',
84
+ NORMAL_TEXT: 'Texte normal',
85
+ HEADING1: 'Titre 1',
86
+ HEADING2: 'Titre 2',
87
+ HEADING3: 'Titre 3',
88
+ HEADING4: 'Titre 4',
89
+ HEADING5: 'Titre 5',
90
+ HEADING6: 'Titre 6',
91
+ PARAGRAPH: 'Paragraphe',
92
+ PRE_FORMATTED: 'Pré-formaté',
93
+ FONT_SIZE: 'Taille de la police',
94
+ VERY_SMALL: 'Très petit',
95
+ SMALL: 'Petit',
96
+ NORMAL: 'Normale',
97
+ MEDIUM_LARGE: 'Moyen Grand',
98
+ LARGE: 'Grand',
99
+ VERY_LARGE: 'Très grand',
100
+ MAXIMUM: 'Maximum'
67
101
  },
68
102
  ar: {
69
103
  SAVE: 'يحفظ',
@@ -96,7 +130,24 @@ const translations = {
96
130
  NUMBER_MUST_BE_LOWER_THAN: 'يجب أن يكون الرقم أقل من {0}',
97
131
  DOCUMENT_TYPE: 'نوع الوثيقة',
98
132
  SELECT_DOCUMENT_TYPE: 'حدد نوع المستند',
99
- PLEASE_ANSWER: 'هام: يرجى تقديم الإجابة إذا كانت متوفرة'
133
+ PLEASE_ANSWER: 'هام: يرجى تقديم الإجابة إذا كانت متوفرة',
134
+ NORMAL_TEXT: 'نص عادي',
135
+ HEADING1: 'العنوان 1',
136
+ HEADING2: 'العنوان 2',
137
+ HEADING3: 'العنوان 3',
138
+ HEADING4: 'العنوان 4',
139
+ HEADING5: 'العنوان 5',
140
+ HEADING6: 'العنوان 6',
141
+ PARAGRAPH: 'فقرة',
142
+ PRE_FORMATTED: 'منسقة مسبقًا',
143
+ FONT_SIZE: 'حجم الخط',
144
+ VERY_SMALL: 'صغير جدًا',
145
+ SMALL: 'صغير',
146
+ NORMAL: 'طبيعي',
147
+ MEDIUM_LARGE: 'متوسطة كبيرة',
148
+ LARGE: 'كبير',
149
+ VERY_LARGE: 'كبير جدًا',
150
+ MAXIMUM: 'الحد الأقصى'
100
151
  },
101
152
  es: {
102
153
  SAVE: 'Guardar',
@@ -129,7 +180,24 @@ const translations = {
129
180
  NUMBER_MUST_BE_LOWER_THAN: 'El número debe ser inferior a {0}',
130
181
  DOCUMENT_TYPE: 'Tipo de Documento',
131
182
  SELECT_DOCUMENT_TYPE: 'Seleccionar tipo de documento',
132
- PLEASE_ANSWER: 'Importante: proporcione la respuesta si está disponible.'
183
+ PLEASE_ANSWER: 'Importante: proporcione la respuesta si está disponible.',
184
+ NORMAL_TEXT: 'Texto normal',
185
+ HEADING1: 'Título 1',
186
+ HEADING2: 'Título 2',
187
+ HEADING3: 'Título 3',
188
+ HEADING4: 'Título 4',
189
+ HEADING5: 'Título 5',
190
+ HEADING6: 'Título 6',
191
+ PARAGRAPH: 'Párrafo',
192
+ PRE_FORMATTED: 'Preformateado',
193
+ FONT_SIZE: 'Tamaño de fuente',
194
+ VERY_SMALL: 'Muy pequeño',
195
+ SMALL: 'Pequeño',
196
+ NORMAL: 'Normal',
197
+ MEDIUM_LARGE: 'Mediano Grande',
198
+ LARGE: 'Grande',
199
+ VERY_LARGE: 'Muy Grande',
200
+ MAXIMUM: 'Máximo'
133
201
  }
134
202
  };
135
203
  export default translations;
@@ -62,6 +62,7 @@ RichAction.styles = css `
62
62
  height: 100%;
63
63
  display: flex;
64
64
  flex-direction: row;
65
+ flex-wrap: wrap;
65
66
  align-items: center;
66
67
  margin-inline-end: 4px;
67
68
  }
@@ -75,7 +76,7 @@ RichAction.styles = css `
75
76
  }
76
77
  etools-dropdown {
77
78
  min-width: 140px;
78
- margin-block-end: 24px;
79
+ margin-block-end: 2px;
79
80
  }
80
81
  `;
81
82
  __decorate([
@@ -9,6 +9,11 @@ export declare class RichToolbar extends LitElement {
9
9
  formatColor: string;
10
10
  backgroundColor: string;
11
11
  selection: Selection | null;
12
+ language: string;
12
13
  render(): import("lit-html").TemplateResult<1>;
14
+ constructor();
15
+ connectedCallback(): void;
16
+ disconnectedCallback(): void;
17
+ handleLanguageChange(e: CustomEvent): void;
13
18
  getTags(): string[];
14
19
  }
@@ -3,13 +3,8 @@ import { css, html, LitElement } from 'lit';
3
3
  import { property, customElement, query, state } from 'lit/decorators.js';
4
4
  import './rich-action';
5
5
  import { editorCommand } from './rich-action';
6
+ import { getTranslation } from '../lib/utils/translate';
6
7
  let RichToolbar = class RichToolbar extends LitElement {
7
- constructor() {
8
- super(...arguments);
9
- this.formatColor = '#000000';
10
- this.backgroundColor = '#000000';
11
- this.selection = null;
12
- }
13
8
  render() {
14
9
  const tags = this.getTags();
15
10
  return html `<header>
@@ -80,29 +75,29 @@ let RichToolbar = class RichToolbar extends LitElement {
80
75
  icon="title"
81
76
  command="formatblock"
82
77
  .values=${[
83
- { name: 'Normal Text', value: '--' },
84
- { name: 'Heading 1', value: 'h1' },
85
- { name: 'Heading 2', value: 'h2' },
86
- { name: 'Heading 3', value: 'h3' },
87
- { name: 'Heading 4', value: 'h4' },
88
- { name: 'Heading 5', value: 'h5' },
89
- { name: 'Heading 6', value: 'h6' },
90
- { name: 'Paragraph', value: 'p' },
91
- { name: 'Pre-Formatted', value: 'pre' }
78
+ { name: getTranslation(this.language, 'NORMAL_TEXT'), value: '--' },
79
+ { name: getTranslation(this.language, 'HEADING1'), value: 'h1' },
80
+ { name: getTranslation(this.language, 'HEADING2'), value: 'h2' },
81
+ { name: getTranslation(this.language, 'HEADING3'), value: 'h3' },
82
+ { name: getTranslation(this.language, 'HEADING4'), value: 'h4' },
83
+ { name: getTranslation(this.language, 'HEADING5'), value: 'h5' },
84
+ { name: getTranslation(this.language, 'HEADING6'), value: 'h6' },
85
+ { name: getTranslation(this.language, 'PARAGRAPH'), value: 'p' },
86
+ { name: getTranslation(this.language, 'PRE_FORMATTED'), value: 'pre' }
92
87
  ]}
93
88
  ></rich-action>
94
89
  <rich-action
95
90
  icon="editor:format-size"
96
91
  command="fontsize"
97
92
  .values=${[
98
- { name: 'Font Size', value: '--' },
99
- { name: 'Very Small', value: '1' },
100
- { name: 'Small', value: '2' },
101
- { name: 'Normal', value: '3' },
102
- { name: 'Medium Large', value: '4' },
103
- { name: 'Large', value: '5' },
104
- { name: 'Very Large', value: '6' },
105
- { name: 'Maximum', value: '7' }
93
+ { name: getTranslation(this.language, 'FONT_SIZE'), value: '--' },
94
+ { name: getTranslation(this.language, 'VERY_SMALL'), value: '1' },
95
+ { name: getTranslation(this.language, 'SMALL'), value: '2' },
96
+ { name: getTranslation(this.language, 'NORMAL'), value: '3' },
97
+ { name: getTranslation(this.language, 'MEDIUM_LARGE'), value: '4' },
98
+ { name: getTranslation(this.language, 'LARGE'), value: '5' },
99
+ { name: getTranslation(this.language, 'VERY_LARGE'), value: '6' },
100
+ { name: getTranslation(this.language, 'MAXIMUM'), value: '7' }
106
101
  ]}
107
102
  ></rich-action>
108
103
  <rich-action icon="undo" command="undo"></rich-action>
@@ -112,6 +107,27 @@ let RichToolbar = class RichToolbar extends LitElement {
112
107
  <rich-action icon="content_paste" command="paste"></rich-action> -->
113
108
  </header>`;
114
109
  }
110
+ constructor() {
111
+ super();
112
+ this.formatColor = '#000000';
113
+ this.backgroundColor = '#000000';
114
+ this.selection = null;
115
+ if (!this.language) {
116
+ this.language = window.EtoolsLanguage || 'en';
117
+ }
118
+ this.handleLanguageChange = this.handleLanguageChange.bind(this);
119
+ }
120
+ connectedCallback() {
121
+ super.connectedCallback();
122
+ document.addEventListener('language-changed', this.handleLanguageChange.bind(this));
123
+ }
124
+ disconnectedCallback() {
125
+ super.disconnectedCallback();
126
+ document.removeEventListener('language-changed', this.handleLanguageChange.bind(this));
127
+ }
128
+ handleLanguageChange(e) {
129
+ this.language = e.detail.language;
130
+ }
115
131
  getTags() {
116
132
  var _a;
117
133
  let tags = [];
@@ -149,7 +165,7 @@ RichToolbar.styles = css `
149
165
  width: 100%;
150
166
  display: flex;
151
167
  flex-direction: row;
152
- align-items: center;
168
+ align-items: flex-end;
153
169
  justify-content: flex-start;
154
170
  padding-inline-start: 12px;
155
171
  flex-wrap: wrap;
@@ -188,6 +204,9 @@ __decorate([
188
204
  __decorate([
189
205
  property({ type: Object, hasChanged: () => true })
190
206
  ], RichToolbar.prototype, "selection", void 0);
207
+ __decorate([
208
+ property()
209
+ ], RichToolbar.prototype, "language", void 0);
191
210
  RichToolbar = __decorate([
192
211
  customElement('rich-toolbar')
193
212
  ], RichToolbar);
@@ -44,8 +44,10 @@ let RichViewer = class RichViewer extends LitElement {
44
44
  };
45
45
  RichViewer.styles = css `
46
46
  article {
47
- width: calc(100% - var(--rich-padding) * 2);
48
- height: calc(100% - var(--rich-padding) * 2);
47
+ width: calc(100% - 24px);
48
+ padding: 12px;
49
+ height: auto;
50
+ min-height: 60px;
49
51
  }
50
52
 
51
53
  article[contenteditable='true'] {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@unicef-polymer/etools-form-builder",
3
3
  "description": "Etools FM Form Builder components",
4
- "version": "3.1.3",
4
+ "version": "3.1.4",
5
5
  "type": "module",
6
6
  "contributors": [
7
7
  "eTools Team"