@mgdis/mg-components 5.11.1 → 5.12.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 (46) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/mg-action-more_31.cjs.entry.js +287 -242
  3. package/dist/cjs/mg-components.cjs.js +1 -1
  4. package/dist/cjs/mg-item-more.cjs.entry.js +1 -1
  5. package/dist/cjs/{mg-menu.conf-05ec32a3.js → mg-menu.conf-79f0c761.js} +12 -2
  6. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +0 -218
  7. package/dist/collection/components/atoms/mg-icon/mg-icon.css +0 -7
  8. package/dist/collection/components/atoms/mg-icon/mg-icon.js +6 -9
  9. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.css +34 -0
  10. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +156 -14
  11. package/dist/collection/components/molecules/mg-details/mg-details.css +20 -3
  12. package/dist/collection/locales/en/messages.json +6 -1
  13. package/dist/collection/locales/fr/messages.json +6 -1
  14. package/dist/collection/styles/a11y.scss +5 -1
  15. package/dist/collection/styles/typography.scss +7 -0
  16. package/dist/collection/variables.css +8 -0
  17. package/dist/components/index2.js +12 -2
  18. package/dist/components/mg-details.js +1 -1
  19. package/dist/components/mg-icon2.js +157 -227
  20. package/dist/components/mg-input-checkbox.js +167 -23
  21. package/dist/components/mg-pagination.js +1 -170
  22. package/dist/components/mg-pagination2.js +172 -0
  23. package/dist/esm/loader.js +1 -1
  24. package/dist/esm/mg-action-more_31.entry.js +287 -242
  25. package/dist/esm/mg-components.js +1 -1
  26. package/dist/esm/mg-item-more.entry.js +1 -1
  27. package/dist/esm/{mg-menu.conf-c8aa56ce.js → mg-menu.conf-850d4c6e.js} +12 -2
  28. package/dist/mg-components/locales/en/messages.json +6 -1
  29. package/dist/mg-components/locales/fr/messages.json +6 -1
  30. package/dist/mg-components/mg-components.css +1 -1
  31. package/dist/mg-components/mg-components.esm.js +1 -1
  32. package/dist/mg-components/p-60b7afd9.entry.js +1 -0
  33. package/dist/mg-components/{p-d3ed97d3.entry.js → p-67ba5d05.entry.js} +1 -1
  34. package/dist/mg-components/p-689503fc.js +1 -0
  35. package/dist/mg-components/styles/a11y.scss +5 -1
  36. package/dist/mg-components/styles/typography.scss +7 -0
  37. package/dist/mg-components/variables.css +8 -0
  38. package/dist/types/components/atoms/mg-icon/mg-icon.conf.d.ts +0 -4
  39. package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +0 -5
  40. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +4 -0
  41. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +78 -1
  42. package/dist/types/components.d.ts +8 -0
  43. package/dist/types/locales/index.d.ts +10 -0
  44. package/package.json +7 -5
  45. package/dist/mg-components/p-4539cdfd.entry.js +0 -1
  46. package/dist/mg-components/p-b14be68b.js +0 -1
@@ -22,6 +22,9 @@ export class MgInputCheckbox {
22
22
  this.hasDisplayedError = false;
23
23
  // style
24
24
  this.baseClassName = 'mg-input--checkbox';
25
+ this.multiStart = 5;
26
+ this.searchStart = 10;
27
+ this.searchOffset = 10;
25
28
  /**
26
29
  * Handle input event
27
30
  * @param event - input event
@@ -59,6 +62,27 @@ export class MgInputCheckbox {
59
62
  this.checkValidity();
60
63
  this.setErrorMessage();
61
64
  };
65
+ /**
66
+ * Handle input search value-change event
67
+ * @param event - input value-change event
68
+ */
69
+ this.handleSearchChange = (event) => {
70
+ this.searchValue = event.detail;
71
+ };
72
+ /**
73
+ * Handle mg-pagination current page change event
74
+ * @param event - pagination current page change event
75
+ */
76
+ this.handleCurrentPageChange = (event) => {
77
+ this.currentSearchPage = Number(event.detail);
78
+ };
79
+ this.handleMgPopoverDisplayChange = (event) => {
80
+ // reset search value
81
+ if (!event.detail) {
82
+ this.searchValue = '';
83
+ this.setCurrentSearchPage();
84
+ }
85
+ };
62
86
  /**
63
87
  * get invalid element
64
88
  * @returns element
@@ -102,6 +126,17 @@ export class MgInputCheckbox {
102
126
  * @returns MgPopover identifier
103
127
  */
104
128
  this.getMgPopoverIdentifier = () => `${this.identifier}-input-mg-popover`;
129
+ /**
130
+ * Manage items to display depending on the search state
131
+ * @returns items to display
132
+ */
133
+ this.getDisplayItems = () => (this.searchValue.length > 0 ? this.searchResults : this.checkboxItems);
134
+ /**
135
+ * Method to get pagination total-page
136
+ * @param checkboxes - checkboxes to paginate
137
+ * @returns total page number for pagination
138
+ */
139
+ this.getPaginationTotalPages = (checkboxes) => Math.ceil(checkboxes.length / this.searchOffset);
105
140
  this.value = undefined;
106
141
  this.type = checkboxTypes[0];
107
142
  this.identifier = undefined;
@@ -112,6 +147,7 @@ export class MgInputCheckbox {
112
147
  this.inputVerticalList = false;
113
148
  this.required = false;
114
149
  this.readonly = false;
150
+ this.displaySelectedValues = undefined;
115
151
  this.disabled = false;
116
152
  this.tooltip = undefined;
117
153
  this.helpText = undefined;
@@ -120,6 +156,10 @@ export class MgInputCheckbox {
120
156
  this.classCollection = new ClassList([this.baseClassName]);
121
157
  this.errorMessage = undefined;
122
158
  this.checkboxItems = [];
159
+ this.displaySearchInput = undefined;
160
+ this.currentSearchPage = 0;
161
+ this.searchValue = '';
162
+ this.searchResults = [];
123
163
  }
124
164
  validateValue(newValue) {
125
165
  if (isCheckboxItems(newValue)) {
@@ -141,12 +181,18 @@ export class MgInputCheckbox {
141
181
  }
142
182
  else {
143
183
  const className = `${this.baseClassName}-multi`;
144
- if (newValue === 'multi')
184
+ if (newValue === 'multi') {
145
185
  this.classCollection.add(className);
186
+ this.element.dataset.mgPopoverGuard = this.getMgPopoverIdentifier();
187
+ }
146
188
  else
147
189
  this.classCollection.delete(className);
148
190
  }
149
191
  }
192
+ validateDisplaySelectedValues(newValue) {
193
+ if (newValue !== undefined && this.type !== 'multi')
194
+ throw new Error('<mg-input-checkbox> prop "displaySelectedValues" can only be used with prop type "multi".');
195
+ }
150
196
  handleValidityChange(newValue, _oldValue, prop) {
151
197
  this.inputs.forEach(input => {
152
198
  input[prop] = newValue;
@@ -164,6 +210,17 @@ export class MgInputCheckbox {
164
210
  else
165
211
  this.classCollection.delete(className);
166
212
  }
213
+ validateCheckboxItems(newValue) {
214
+ if (newValue.length > this.multiStart)
215
+ this.type = 'multi';
216
+ if (newValue.length > this.searchStart)
217
+ this.displaySearchInput = this.type === 'multi';
218
+ }
219
+ validateSearchValue(newValue) {
220
+ this.searchResults = this.checkboxItems.filter(item => item.title.toLocaleLowerCase().includes(newValue.trim().toLocaleLowerCase()));
221
+ // after each query we reset pagination
222
+ this.setCurrentSearchPage();
223
+ }
167
224
  /**
168
225
  * Public method to display errors
169
226
  */
@@ -172,6 +229,31 @@ export class MgInputCheckbox {
172
229
  this.setErrorMessage();
173
230
  this.hasDisplayedError = this.invalid;
174
231
  }
232
+ /**
233
+ * Reset current-search-page prop
234
+ */
235
+ setCurrentSearchPage() {
236
+ this.currentSearchPage = this.getDisplayItems().length > 0 ? 1 : 0;
237
+ }
238
+ /**
239
+ * Method to get a array range
240
+ * @param from - array start index
241
+ * @param to - array end index
242
+ * @returns array's range
243
+ */
244
+ getArrayRange(array, from, to) {
245
+ return array.slice(from, to);
246
+ }
247
+ /**
248
+ * Get from and to index
249
+ * @returns [from,to] index
250
+ */
251
+ getFromToIndexes() {
252
+ const isFirstPage = this.currentSearchPage === 1;
253
+ const checkboxItemsFromIndex = isFirstPage ? 0 : (this.currentSearchPage - 1) * this.searchOffset;
254
+ const checkboxItemsToIndex = isFirstPage ? this.searchOffset : this.currentSearchPage * this.searchOffset;
255
+ return [checkboxItemsFromIndex, checkboxItemsToIndex];
256
+ }
175
257
  /*************
176
258
  * Lifecycle *
177
259
  *************/
@@ -182,12 +264,12 @@ export class MgInputCheckbox {
182
264
  componentWillLoad() {
183
265
  // Get locales
184
266
  this.messages = initLocales(this.element).messages;
185
- if (this.type === 'multi')
186
- this.element.dataset.mgPopoverGuard = this.getMgPopoverIdentifier();
187
267
  // Validate
268
+ this.validateType(this.type);
188
269
  this.validateValue(this.value);
189
270
  this.validateDisabled(this.disabled);
190
- this.validateType(this.type);
271
+ this.validateDisplaySelectedValues(this.displaySelectedValues);
272
+ this.setCurrentSearchPage();
191
273
  // Check validity when component is ready
192
274
  // return a promise to process action only in the FIRST render().
193
275
  // https://stenciljs.com/docs/component-lifecycle#componentwillload
@@ -195,30 +277,60 @@ export class MgInputCheckbox {
195
277
  this.checkValidity();
196
278
  }, 0);
197
279
  }
280
+ /**
281
+ * Render checkbox multi display values
282
+ * @param selectedValuesNb - selected values length
283
+ * @returns display selected values
284
+ */
285
+ renderCheckboxMultiDisplaySelectedValues(selectedValuesNb) {
286
+ if (this.displaySelectedValues) {
287
+ return (selectedValuesNb > 0 && (h("ul", { role: "list", class: "mg-input__input-checkbox-multi-values-container" }, this.checkboxItems
288
+ .filter(({ value }) => value)
289
+ .map(({ title }) => (h("li", { class: "mg-input__input-checkbox-multi-value", key: title }, title))))));
290
+ }
291
+ else {
292
+ return h("strong", null, this.messages.input.checkbox[selectedValuesNb > 1 ? 'selectedValues' : 'selectedValue'].replace('{nb}', selectedValuesNb));
293
+ }
294
+ }
295
+ /**
296
+ * Render paginated checkboxes
297
+ * @param checkboxes - checkboxes to render
298
+ * @returns paginated checkboxes
299
+ */
300
+ renderPaginatedCheckboxes(checkboxes) {
301
+ const [checkboxItemsFromIndex, checkboxItemsToIndex] = this.getFromToIndexes();
302
+ return [
303
+ this.renderCheckboxes(this.getArrayRange(checkboxes, checkboxItemsFromIndex, checkboxItemsToIndex)),
304
+ h("mg-pagination", { key: "search-pagination", totalPages: this.getPaginationTotalPages(checkboxes), currentPage: this.currentSearchPage, "onCurrent-page-change": this.handleCurrentPageChange, hideNavigationLabels: true, identifier: `${this.identifier}-pagination` }),
305
+ ];
306
+ }
198
307
  /**
199
308
  * render checkbox multi element
200
309
  * @returns html element
201
310
  */
202
311
  renderCheckboxMulti() {
203
312
  const selectedValuesNb = this.checkboxItems.filter(({ value }) => value).length;
204
- return (h("div", { class: "mg-input__input-container mg-input__input-checkbox-multi" }, h("strong", null, this.messages.input.checkbox[selectedValuesNb > 1 ? 'selectedValues' : 'selectedValue'].replace('{nb}', selectedValuesNb)), h("mg-popover", { arrowHide: true, identifier: this.getMgPopoverIdentifier(), ref: el => {
313
+ const checkboxes = this.getDisplayItems();
314
+ return (h("div", { class: { 'mg-input__input-container': true, 'mg-input__input-checkbox-multi': true, 'mg-input__input-checkbox-multi--with-values': this.displaySelectedValues } }, this.renderCheckboxMultiDisplaySelectedValues(selectedValuesNb), h("mg-popover", { arrowHide: true, identifier: this.getMgPopoverIdentifier(), "onDisplay-change": this.handleMgPopoverDisplayChange, ref: el => {
205
315
  if (Boolean(el))
206
316
  this.mgPopover = el;
207
- } }, h("mg-button", { variant: "secondary" }, h("mg-icon", { icon: "list" }), this.renderButtonText(selectedValuesNb)), h("div", { slot: "content" }, this.renderCheckboxes()))));
317
+ } }, h("mg-button", { variant: "secondary" }, h("mg-icon", { icon: "list" }), this.renderButtonText(selectedValuesNb)), h("div", { slot: "content" }, this.displaySearchInput && [
318
+ h("mg-input-text", { key: "input-search", identifier: `${this.identifier}-input-search`, icon: "magnifying-glass", type: "search", placeholder: this.messages.input.checkbox.label, label: this.messages.input.checkbox.label, mgWidth: "full", value: this.searchValue, labelHide: true, displayCharacterLeft: false, name: "q", "onValue-change": this.handleSearchChange, "aria-controls": "search-results items-list" }),
319
+ h("p", { key: "search-results", role: "status", class: "sr-only", id: "search-results" }, `${checkboxes.length} ${this.messages.input.checkbox[checkboxes.length > 0 ? 'results' : 'result']}`),
320
+ ], this.displaySearchInput && this.getPaginationTotalPages(checkboxes) > 1 ? this.renderPaginatedCheckboxes(checkboxes) : this.renderCheckboxes(checkboxes), this.displaySearchInput && checkboxes.length === 0 && h("p", { class: "mg-input__input-checkbox-multi-no-result" }, this.messages.input.checkbox.noResult)))));
208
321
  }
209
322
  /**
210
323
  * Render checkbox element
324
+ * @param checkboxes - checkboxes to render
211
325
  * @returns HTML Element
212
326
  */
213
- renderCheckboxes() {
327
+ renderCheckboxes(checkboxes) {
214
328
  return (h("ul", { class: {
215
329
  'mg-input__input-group-container': true,
216
330
  'mg-input__input-group-container--vertical': this.inputVerticalList || (this.type === 'multi' && !this.readonly),
217
331
  'mg-input__input-checkbox-multi-inputs': this.type === 'multi' && !this.readonly,
218
- }, role: "list" }, this.checkboxItems
219
- .filter(item => {
220
- return !this.readonly || item.value;
221
- })
332
+ }, role: "list", "aria-describedby": this.displaySearchInput ? 'search-results' : false, "aria-label": this.displaySearchInput ? this.messages.input.checkbox.searchResults : false, "aria-live": this.displaySearchInput ? 'polite' : false, id: "items-list", key: "checkboxes" }, checkboxes
333
+ .filter(item => !this.readonly || item.value)
222
334
  .map((input, index) => (h("li", { key: input.id, class: { 'mg-input__input-group': true, 'mg-input__input-group--disabled': this.disabled || input.disabled } }, h("input", { type: "checkbox", id: input.id, name: this.identifier, value: input.value && input.value.toString(), checked: Boolean(input.value), disabled: this.readonly || this.disabled || input.disabled, required: this.required, indeterminate: input.value === null, onInput: this.handleInput, onBlur: this.handleBlur, onKeyDown: this.handleKeydown, ref: el => {
223
335
  if (el !== null)
224
336
  this.inputs[index] = el;
@@ -229,7 +341,7 @@ export class MgInputCheckbox {
229
341
  * @returns HTML Element
230
342
  */
231
343
  render() {
232
- return (h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: !this.readonly ? this.required : undefined, readonly: undefined, mgWidth: undefined, disabled: this.disabled, value: this.value && this.value.toString(), readonlyValue: undefined, tooltip: !this.readonly ? this.tooltip : undefined, helpText: !this.readonly ? this.helpText : undefined, errorMessage: !this.readonly ? this.errorMessage : undefined, isFieldset: true }, this.type === 'checkbox' || this.readonly ? this.renderCheckboxes() : this.renderCheckboxMulti()));
344
+ return (h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: !this.readonly ? this.required : undefined, readonly: undefined, mgWidth: undefined, disabled: this.disabled, value: this.value && this.value.toString(), readonlyValue: undefined, tooltip: !this.readonly ? this.tooltip : undefined, helpText: !this.readonly ? this.helpText : undefined, errorMessage: !this.readonly ? this.errorMessage : undefined, isFieldset: true }, this.type === 'checkbox' || this.readonly ? this.renderCheckboxes(this.checkboxItems) : this.renderCheckboxMulti()));
233
345
  }
234
346
  static get is() { return "mg-input-checkbox"; }
235
347
  static get encapsulation() { return "shadow"; }
@@ -267,7 +379,7 @@ export class MgInputCheckbox {
267
379
  },
268
380
  "type": {
269
381
  "type": "string",
270
- "mutable": false,
382
+ "mutable": true,
271
383
  "complexType": {
272
384
  "original": "CheckboxType",
273
385
  "resolved": "\"checkbox\" | \"multi\"",
@@ -429,6 +541,23 @@ export class MgInputCheckbox {
429
541
  "reflect": false,
430
542
  "defaultValue": "false"
431
543
  },
544
+ "displaySelectedValues": {
545
+ "type": "boolean",
546
+ "mutable": false,
547
+ "complexType": {
548
+ "original": "boolean",
549
+ "resolved": "boolean",
550
+ "references": {}
551
+ },
552
+ "required": false,
553
+ "optional": false,
554
+ "docs": {
555
+ "tags": [],
556
+ "text": "Display selected values list in \"multi\" type"
557
+ },
558
+ "attribute": "display-selected-values",
559
+ "reflect": false
560
+ },
432
561
  "disabled": {
433
562
  "type": "boolean",
434
563
  "mutable": false,
@@ -521,7 +650,11 @@ export class MgInputCheckbox {
521
650
  return {
522
651
  "classCollection": {},
523
652
  "errorMessage": {},
524
- "checkboxItems": {}
653
+ "checkboxItems": {},
654
+ "displaySearchInput": {},
655
+ "currentSearchPage": {},
656
+ "searchValue": {},
657
+ "searchResults": {}
525
658
  };
526
659
  }
527
660
  static get events() {
@@ -593,6 +726,9 @@ export class MgInputCheckbox {
593
726
  }, {
594
727
  "propName": "type",
595
728
  "methodName": "validateType"
729
+ }, {
730
+ "propName": "displaySelectedValues",
731
+ "methodName": "validateDisplaySelectedValues"
596
732
  }, {
597
733
  "propName": "required",
598
734
  "methodName": "handleValidityChange"
@@ -605,6 +741,12 @@ export class MgInputCheckbox {
605
741
  }, {
606
742
  "propName": "disabled",
607
743
  "methodName": "validateDisabled"
744
+ }, {
745
+ "propName": "checkboxItems",
746
+ "methodName": "validateCheckboxItems"
747
+ }, {
748
+ "propName": "searchValue",
749
+ "methodName": "validateSearchValue"
608
750
  }];
609
751
  }
610
752
  }
@@ -25,12 +25,14 @@
25
25
  transition: none !important;
26
26
  }
27
27
  }
28
+ .mg-details {
29
+ container: mg-details/inline-size;
30
+ }
28
31
  .mg-details summary {
29
32
  display: flex;
30
33
  align-items: baseline;
31
34
  cursor: pointer;
32
35
  }
33
-
34
36
  .mg-details__toggle {
35
37
  margin-left: 1.5rem;
36
38
  flex-shrink: 0;
@@ -40,7 +42,22 @@
40
42
  gap: 0.6rem;
41
43
  min-height: calc(var(--font-size) * var(--line-height));
42
44
  }
43
-
44
45
  .mg-details__details {
45
- margin-top: 1.5rem;
46
+ margin-top: var(--mg-details-spacing);
47
+ }
48
+
49
+ @container mg-details (max-width: 60rem) {
50
+ .mg-details__toggle span {
51
+ border: 0 !important;
52
+ clip: rect(1px, 1px, 1px, 1px) !important;
53
+ -webkit-clip-path: inset(50%) !important;
54
+ clip-path: inset(50%) !important;
55
+ height: 1px !important;
56
+ margin: -1px !important;
57
+ overflow: hidden !important;
58
+ padding: 0 !important;
59
+ position: absolute !important;
60
+ width: 1px !important;
61
+ white-space: nowrap !important;
62
+ }
46
63
  }
@@ -23,7 +23,12 @@
23
23
  "selectedValue": "{nb} selected value",
24
24
  "editButton": "Edit",
25
25
  "selectButton": "Select values",
26
- "showButton": "Show"
26
+ "showButton": "Show",
27
+ "label": "Enter a value",
28
+ "result": "result",
29
+ "results": "results",
30
+ "searchResults": "Search result(s) list.",
31
+ "noResult": "No result."
27
32
  }
28
33
  },
29
34
  "form": {
@@ -23,7 +23,12 @@
23
23
  "selectedValue": "{nb} valeur selectionnée",
24
24
  "editButton": "Modifier",
25
25
  "selectButton": "Sélectionner des valeurs",
26
- "showButton": "Voir"
26
+ "showButton": "Voir",
27
+ "label": "Saisissez une valeur",
28
+ "result": "resultat",
29
+ "results": "resultats",
30
+ "searchResults": "List de resultat(s) de la recherche.",
31
+ "noResult": "Aucun resultat."
27
32
  }
28
33
  },
29
34
  "form": {
@@ -4,7 +4,7 @@
4
4
 
5
5
  // Make content available only for screen reader
6
6
  // https://gist.github.com/ffoodd/000b59f431e3e64e4ce1a24d5bb36034
7
- .sr-only {
7
+ @mixin sr-only {
8
8
  border: 0 !important;
9
9
  clip: rect(1px, 1px, 1px, 1px) !important;
10
10
  -webkit-clip-path: inset(50%) !important;
@@ -18,6 +18,10 @@
18
18
  white-space: nowrap !important;
19
19
  }
20
20
 
21
+ .sr-only {
22
+ @include sr-only();
23
+ }
24
+
21
25
  // Remove outline for non-keyboard :focus
22
26
  // https://www.tpgi.com/focus-visible-and-backwards-compatibility/
23
27
  *:focus:not(:focus-visible) {
@@ -73,3 +73,10 @@ a {
73
73
  text-decoration: none;
74
74
  }
75
75
  }
76
+
77
+ /**
78
+ * Small
79
+ */
80
+ small {
81
+ font-size: 0.9em;
82
+ }
@@ -75,6 +75,9 @@
75
75
  --color-dark-l: 13.1%;
76
76
  --color-dark: var(--color-dark-h), var(--color-dark-s), var(--color-dark-l);
77
77
 
78
+ /* dark-5 */
79
+ --mg-color-dark-5-hsl: hsl(var(--color-dark-h), 9%, 96%);
80
+
78
81
  /* Light */
79
82
  /* white; (#ffffff) */
80
83
  /* rgb(255, 255, 255); */
@@ -259,4 +262,9 @@
259
262
  --mg-tabs-focused-background-color-hsl: var(--mg-color-app-hsl);
260
263
  --mg-tabs-border-color-active-hsl: var(--mg-color-app-hsl);
261
264
  --mg-tabs-color-active-hsl: var(--mg-color-app-hsl);
265
+
266
+ /*
267
+ <mg-details>
268
+ */
269
+ --mg-details-spacing: 1.5rem;
262
270
  }
@@ -22,7 +22,12 @@ const input$1 = {
22
22
  selectedValue: "{nb} selected value",
23
23
  editButton: "Edit",
24
24
  selectButton: "Select values",
25
- showButton: "Show"
25
+ showButton: "Show",
26
+ label: "Enter a value",
27
+ result: "result",
28
+ results: "results",
29
+ searchResults: "Search result(s) list.",
30
+ noResult: "No result."
26
31
  }
27
32
  };
28
33
  const form$1 = {
@@ -104,7 +109,12 @@ const input = {
104
109
  selectedValue: "{nb} valeur selectionnée",
105
110
  editButton: "Modifier",
106
111
  selectButton: "Sélectionner des valeurs",
107
- showButton: "Voir"
112
+ showButton: "Voir",
113
+ label: "Saisissez une valeur",
114
+ result: "resultat",
115
+ results: "resultats",
116
+ searchResults: "List de resultat(s) de la recherche.",
117
+ noResult: "Aucun resultat."
108
118
  }
109
119
  };
110
120
  const form = {
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { d as defineCustomElement$2 } from './mg-icon2.js';
3
3
 
4
- const mgDetailsCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}.mg-details summary{display:flex;align-items:baseline;cursor:pointer}.mg-details__toggle{margin-left:1.5rem;flex-shrink:0;display:flex;align-items:center;align-self:flex-start;gap:0.6rem;min-height:calc(var(--font-size) * var(--line-height))}.mg-details__details{margin-top:1.5rem}";
4
+ const mgDetailsCss = "/**\n * A11Y\n */\n.sr-only {\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n -webkit-clip-path: inset(50%) !important;\n clip-path: inset(50%) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n}\n\n*:focus:not(:focus-visible) {\n outline: none;\n}\n\n@media (prefers-reduced-motion) {\n .mg-a11y-animation {\n animation: none !important;\n transition: none !important;\n }\n}\n.mg-details {\n container: mg-details/inline-size;\n}\n.mg-details summary {\n display: flex;\n align-items: baseline;\n cursor: pointer;\n}\n.mg-details__toggle {\n margin-left: 1.5rem;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n align-self: flex-start;\n gap: 0.6rem;\n min-height: calc(var(--font-size) * var(--line-height));\n}\n.mg-details__details {\n margin-top: var(--mg-details-spacing);\n}\n\n@container mg-details (max-width: 60rem) {\n .mg-details__toggle span {\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n -webkit-clip-path: inset(50%) !important;\n clip-path: inset(50%) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n }\n}";
5
5
 
6
6
  const MgDetails$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {