@mgdis/mg-components 6.9.0 → 6.10.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 (207) hide show
  1. package/dist/cjs/events.utils-D5SAtkpQ.js +28 -0
  2. package/dist/cjs/events.utils-D5SAtkpQ.js.map +1 -0
  3. package/dist/cjs/index-CATFkm3O.js +4 -0
  4. package/dist/cjs/{index-CTU2m-sy.js → index-CfIlskRh.js} +20 -6
  5. package/dist/cjs/{index-CTU2m-sy.js.map → index-CfIlskRh.js.map} +1 -1
  6. package/dist/cjs/index.es-BCLy9yYb.js +250 -0
  7. package/dist/cjs/index.es-BCLy9yYb.js.map +1 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/mg-action-more_37.cjs.entry.js +382 -373
  10. package/dist/cjs/mg-action-more_37.cjs.entry.js.map +1 -1
  11. package/dist/cjs/mg-alert.cjs.entry.js +7 -7
  12. package/dist/cjs/mg-components.cjs.js +1 -1
  13. package/dist/cjs/mg-input-combobox.cjs.entry.js +774 -0
  14. package/dist/cjs/mg-input-combobox.cjs.entry.js.map +1 -0
  15. package/dist/cjs/mg-input-combobox.entry.cjs.js.map +1 -0
  16. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +16 -14
  17. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js.map +1 -1
  18. package/dist/cjs/mg-input-rich-text-editor.entry.cjs.js.map +1 -1
  19. package/dist/cjs/mg-loader.cjs.entry.js +5 -5
  20. package/dist/cjs/mg-progress.cjs.entry.js +11 -11
  21. package/dist/collection/collection-manifest.json +1 -0
  22. package/dist/collection/components/atoms/mg-button/mg-button.js +3 -2
  23. package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
  24. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +47 -57
  25. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
  26. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js +2 -0
  27. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js.map +1 -0
  28. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js +1443 -0
  29. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js.map +1 -0
  30. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +1 -1
  31. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +2 -2
  32. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
  33. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +1 -1
  34. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +1 -1
  35. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/editor.scss +1 -0
  36. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +3 -3
  37. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js.map +1 -1
  38. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +1 -1
  39. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +1 -1
  40. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +1 -1
  41. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +1 -1
  42. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js +2 -2
  43. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js.map +1 -1
  44. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js +3 -3
  45. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js.map +1 -1
  46. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +2 -2
  47. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
  48. package/dist/collection/components/molecules/mg-alert/mg-alert.js +1 -1
  49. package/dist/collection/components/molecules/mg-details/mg-details.js +1 -1
  50. package/dist/collection/components/molecules/mg-form/mg-form.js +1 -1
  51. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +1 -1
  52. package/dist/collection/components/molecules/mg-loader/mg-loader.js +1 -1
  53. package/dist/collection/components/molecules/mg-message/mg-message.js +2 -2
  54. package/dist/collection/components/molecules/mg-modal/mg-modal.js +2 -2
  55. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +3 -3
  56. package/dist/collection/components/molecules/mg-panel/mg-panel.js +1 -1
  57. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +1 -1
  58. package/dist/collection/components/molecules/mg-popover/mg-popover.js +55 -81
  59. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
  60. package/dist/collection/components/molecules/mg-progress/mg-progress.js +1 -1
  61. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -1
  62. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +6 -5
  63. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
  64. package/dist/collection/locales/en/messages.json +8 -1
  65. package/dist/collection/locales/fr/messages.json +8 -1
  66. package/dist/collection/utils/behaviors.utils.js +3 -3
  67. package/dist/collection/utils/behaviors.utils.js.map +1 -1
  68. package/dist/collection/utils/events.utils.js +22 -0
  69. package/dist/collection/utils/events.utils.js.map +1 -0
  70. package/dist/collection/utils/floating-ui.utils.js +46 -2
  71. package/dist/collection/utils/floating-ui.utils.js.map +1 -1
  72. package/dist/components/events.utils.js +26 -0
  73. package/dist/components/events.utils.js.map +1 -0
  74. package/dist/components/floating-ui.utils.js +47 -3
  75. package/dist/components/floating-ui.utils.js.map +1 -1
  76. package/dist/components/index.es.js +136 -43
  77. package/dist/components/index.es.js.map +1 -1
  78. package/dist/components/index2.js +18 -4
  79. package/dist/components/index2.js.map +1 -1
  80. package/dist/components/mg-action-more.js +8 -8
  81. package/dist/components/mg-action-more.js.map +1 -1
  82. package/dist/components/mg-alert.js +6 -6
  83. package/dist/components/mg-badge2.js +6 -6
  84. package/dist/components/mg-button2.js +9 -8
  85. package/dist/components/mg-button2.js.map +1 -1
  86. package/dist/components/mg-character-left2.js +4 -4
  87. package/dist/components/mg-details.js +4 -4
  88. package/dist/components/mg-details.js.map +1 -1
  89. package/dist/components/mg-form.js +8 -8
  90. package/dist/components/mg-icon2.js +6 -6
  91. package/dist/components/mg-illustrated-message.js +6 -6
  92. package/dist/components/mg-input-checkbox.js +9 -9
  93. package/dist/components/mg-input-combobox.d.ts +11 -0
  94. package/dist/components/mg-input-combobox.js +897 -0
  95. package/dist/components/mg-input-combobox.js.map +1 -0
  96. package/dist/components/mg-input-date.js +18 -18
  97. package/dist/components/mg-input-date.js.map +1 -1
  98. package/dist/components/mg-input-numeric.js +16 -16
  99. package/dist/components/mg-input-numeric.js.map +1 -1
  100. package/dist/components/mg-input-password.js +5 -5
  101. package/dist/components/mg-input-password.js.map +1 -1
  102. package/dist/components/mg-input-radio.js +8 -8
  103. package/dist/components/mg-input-rich-text-editor.js +15 -13
  104. package/dist/components/mg-input-rich-text-editor.js.map +1 -1
  105. package/dist/components/mg-input-select2.js +9 -9
  106. package/dist/components/mg-input-select2.js.map +1 -1
  107. package/dist/components/mg-input-text2.js +11 -11
  108. package/dist/components/mg-input-text2.js.map +1 -1
  109. package/dist/components/mg-input-textarea.js +9 -9
  110. package/dist/components/mg-input-textarea.js.map +1 -1
  111. package/dist/components/mg-input-title2.js +4 -4
  112. package/dist/components/mg-input-toggle.js +7 -7
  113. package/dist/components/mg-input2.js +8 -8
  114. package/dist/components/mg-item-more2.js +12 -12
  115. package/dist/components/mg-item-more2.js.map +1 -1
  116. package/dist/components/mg-loader.js +1 -70
  117. package/dist/components/mg-loader.js.map +1 -1
  118. package/dist/components/mg-loader2.js +75 -0
  119. package/dist/components/mg-loader2.js.map +1 -0
  120. package/dist/components/mg-menu-item2.js +13 -13
  121. package/dist/components/mg-menu-item2.js.map +1 -1
  122. package/dist/components/mg-message2.js +6 -6
  123. package/dist/components/mg-modal.js +10 -10
  124. package/dist/components/mg-pagination2.js +9 -9
  125. package/dist/components/mg-panel.js +10 -10
  126. package/dist/components/mg-popover-content2.js +5 -5
  127. package/dist/components/mg-popover-content2.js.map +1 -1
  128. package/dist/components/mg-popover2.js +60 -86
  129. package/dist/components/mg-popover2.js.map +1 -1
  130. package/dist/components/mg-progress.js +11 -11
  131. package/dist/components/mg-skip-links.js +3 -3
  132. package/dist/components/mg-table.js +6 -6
  133. package/dist/components/mg-tabs.js +18 -17
  134. package/dist/components/mg-tabs.js.map +1 -1
  135. package/dist/components/mg-tag.js +4 -4
  136. package/dist/components/mg-tooltip-content2.js +1 -1
  137. package/dist/components/mg-tooltip-content2.js.map +1 -1
  138. package/dist/components/mg-tooltip2.js +56 -66
  139. package/dist/components/mg-tooltip2.js.map +1 -1
  140. package/dist/esm/events.utils-yMGqY8YG.js +26 -0
  141. package/dist/esm/events.utils-yMGqY8YG.js.map +1 -0
  142. package/dist/esm/index-CAuxALt5.js +4 -0
  143. package/dist/esm/{index-SQlkEaXW.js → index-DmsGewMC.js} +20 -6
  144. package/dist/esm/{index-SQlkEaXW.js.map → index-DmsGewMC.js.map} +1 -1
  145. package/dist/esm/index.es-rLV3KFPd.js +223 -0
  146. package/dist/esm/index.es-rLV3KFPd.js.map +1 -0
  147. package/dist/esm/loader.js +1 -1
  148. package/dist/esm/mg-action-more_37.entry.js +383 -374
  149. package/dist/esm/mg-action-more_37.entry.js.map +1 -1
  150. package/dist/esm/mg-alert.entry.js +7 -7
  151. package/dist/esm/mg-components.js +1 -1
  152. package/dist/esm/mg-input-combobox.entry.js +772 -0
  153. package/dist/esm/mg-input-combobox.entry.js.map +1 -0
  154. package/dist/esm/mg-input-rich-text-editor.entry.js +17 -15
  155. package/dist/esm/mg-input-rich-text-editor.entry.js.map +1 -1
  156. package/dist/esm/{mg-input.conf-BtkqaBXm.js → mg-input.conf-CNgv8hc5.js} +3 -3
  157. package/dist/esm/{mg-input.conf-BtkqaBXm.js.map → mg-input.conf-CNgv8hc5.js.map} +1 -1
  158. package/dist/esm/mg-loader.entry.js +5 -5
  159. package/dist/esm/mg-progress.entry.js +11 -11
  160. package/dist/mg-components/locales/en/messages.json +8 -1
  161. package/dist/mg-components/locales/fr/messages.json +8 -1
  162. package/dist/mg-components/mg-components.esm.js +1 -1
  163. package/dist/mg-components/mg-input-combobox.entry.esm.js.map +1 -0
  164. package/dist/mg-components/mg-input-rich-text-editor.entry.esm.js.map +1 -1
  165. package/dist/mg-components/p-0f761c6c.entry.js +2 -0
  166. package/dist/mg-components/p-0f761c6c.entry.js.map +1 -0
  167. package/dist/mg-components/{p-650d6986.entry.js → p-73099ed7.entry.js} +3 -3
  168. package/dist/mg-components/p-73099ed7.entry.js.map +1 -0
  169. package/dist/mg-components/p-88f77de2.entry.js +2 -0
  170. package/dist/mg-components/{p-680948e3.entry.js.map → p-88f77de2.entry.js.map} +1 -1
  171. package/dist/mg-components/p-CNgv8hc5.js +2 -0
  172. package/dist/mg-components/{p-BtkqaBXm.js.map → p-CNgv8hc5.js.map} +1 -1
  173. package/dist/mg-components/p-DK9teKTo.js +2 -0
  174. package/dist/mg-components/{p-CqGbLOnN.js.map → p-DK9teKTo.js.map} +1 -1
  175. package/dist/mg-components/{p-583b3769.entry.js → p-ad66e7b3.entry.js} +2 -2
  176. package/dist/mg-components/p-cdbe689e.entry.js +2 -0
  177. package/dist/mg-components/{p-9acc6504.entry.js.map → p-cdbe689e.entry.js.map} +1 -1
  178. package/dist/mg-components/p-d3a868f0.entry.js +2 -0
  179. package/dist/mg-components/p-d3a868f0.entry.js.map +1 -0
  180. package/dist/mg-components/p-rLV3KFPd.js +2 -0
  181. package/dist/mg-components/p-rLV3KFPd.js.map +1 -0
  182. package/dist/mg-components/p-yMGqY8YG.js +2 -0
  183. package/dist/mg-components/p-yMGqY8YG.js.map +1 -0
  184. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +6 -5
  185. package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.d.ts +24 -0
  186. package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.d.ts +340 -0
  187. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +5 -9
  188. package/dist/types/components.d.ts +247 -2
  189. package/dist/types/utils/events.utils.d.ts +4 -0
  190. package/dist/types/utils/floating-ui.utils.d.ts +9 -1
  191. package/ide/intellij/web-types.json +400 -1
  192. package/ide/vscode/html-custom-data.json +332 -0
  193. package/package.json +12 -12
  194. package/dist/cjs/index.es-jXqiN1uw.js +0 -152
  195. package/dist/cjs/index.es-jXqiN1uw.js.map +0 -1
  196. package/dist/esm/index.es-DDBtzymI.js +0 -130
  197. package/dist/esm/index.es-DDBtzymI.js.map +0 -1
  198. package/dist/mg-components/p-650d6986.entry.js.map +0 -1
  199. package/dist/mg-components/p-680948e3.entry.js +0 -2
  200. package/dist/mg-components/p-9acc6504.entry.js +0 -2
  201. package/dist/mg-components/p-BtkqaBXm.js +0 -2
  202. package/dist/mg-components/p-CqGbLOnN.js +0 -2
  203. package/dist/mg-components/p-DDBtzymI.js +0 -2
  204. package/dist/mg-components/p-DDBtzymI.js.map +0 -1
  205. package/dist/mg-components/p-c0fb6f62.entry.js +0 -2
  206. package/dist/mg-components/p-c0fb6f62.entry.js.map +0 -1
  207. /package/dist/mg-components/{p-583b3769.entry.js.map → p-ad66e7b3.entry.js.map} +0 -0
@@ -14,6 +14,8 @@ import { IconSizeType, IconType, IconVariantStyleType, IconVariantType } from ".
14
14
  import { IllustratedMessageDirectionType, IllustratedMessageSizeType } from "./components/molecules/mg-illustrated-message/mg-illustrated-message.conf";
15
15
  import { TooltipPosition, Width } from "./components/molecules/inputs/mg-input/mg-input.conf";
16
16
  import { CheckboxItem, CheckboxType, CheckboxValue, SectionKindType } from "./components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf";
17
+ import { Direction, Option } from "./types";
18
+ import { RequestMappingType, ResponseMappingType } from "./components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf";
17
19
  import { Format, NumericType } from "./components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf";
18
20
  import { RadioOption } from "./components/molecules/inputs/mg-input-radio/mg-input-radio.conf";
19
21
  import { EditorOptionsType } from "./components/molecules/inputs/mg-input-rich-text-editor/editor";
@@ -22,7 +24,6 @@ import { OptionType, TextType } from "./components/molecules/inputs/mg-input-tex
22
24
  import { IconType as IconType1 } from "./components";
23
25
  import { ToggleValue } from "./components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf";
24
26
  import { IconType as IconType2, SizeType as SizeType1, SlotLabelType } from "./components/molecules/internals/mg-item-more/mg-item-more.conf";
25
- import { Direction } from "./types";
26
27
  import { ItemMoreType, MenuSizeType } from "./components/molecules/menus/mg-menu/mg-menu.conf";
27
28
  import { MgMenuStatusType, TargetType } from "./components/molecules/menus/mg-menu-item/mg-menu-item.conf";
28
29
  import { VariantStyleType as VariantStyleType1, VariantType as VariantType2 } from "./components/molecules/mg-message/mg-message.conf";
@@ -44,6 +45,8 @@ export { IconSizeType, IconType, IconVariantStyleType, IconVariantType } from ".
44
45
  export { IllustratedMessageDirectionType, IllustratedMessageSizeType } from "./components/molecules/mg-illustrated-message/mg-illustrated-message.conf";
45
46
  export { TooltipPosition, Width } from "./components/molecules/inputs/mg-input/mg-input.conf";
46
47
  export { CheckboxItem, CheckboxType, CheckboxValue, SectionKindType } from "./components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf";
48
+ export { Direction, Option } from "./types";
49
+ export { RequestMappingType, ResponseMappingType } from "./components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf";
47
50
  export { Format, NumericType } from "./components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf";
48
51
  export { RadioOption } from "./components/molecules/inputs/mg-input-radio/mg-input-radio.conf";
49
52
  export { EditorOptionsType } from "./components/molecules/inputs/mg-input-rich-text-editor/editor";
@@ -52,7 +55,6 @@ export { OptionType, TextType } from "./components/molecules/inputs/mg-input-tex
52
55
  export { IconType as IconType1 } from "./components";
53
56
  export { ToggleValue } from "./components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf";
54
57
  export { IconType as IconType2, SizeType as SizeType1, SlotLabelType } from "./components/molecules/internals/mg-item-more/mg-item-more.conf";
55
- export { Direction } from "./types";
56
58
  export { ItemMoreType, MenuSizeType } from "./components/molecules/menus/mg-menu/mg-menu.conf";
57
59
  export { MgMenuStatusType, TargetType } from "./components/molecules/menus/mg-menu-item/mg-menu-item.conf";
58
60
  export { VariantStyleType as VariantStyleType1, VariantType as VariantType2 } from "./components/molecules/mg-message/mg-message.conf";
@@ -443,6 +445,115 @@ export namespace Components {
443
445
  */
444
446
  "readonly": boolean;
445
447
  }
448
+ interface MgInputCombobox {
449
+ /**
450
+ * Define if input is disabled
451
+ */
452
+ "disabled": boolean;
453
+ /**
454
+ * Display input error if it exists.
455
+ */
456
+ "displayError": () => Promise<void>;
457
+ /**
458
+ * Define fetch request mappings. Required with `fetchurl`
459
+ * @example ``` { request: { filter: 'name', // `filter` key }, response: { total: 'body.data.total', // response object mapping to get `total` value items: 'body.data.results' // response object mapping to get `items` value next: 'body.next' // response object mapping to get `next` items itemTitle: 'name', // item property to map on item['title'] itemValue: 'href', // item property to map on item['value'] } } ```
460
+ */
461
+ "fetchmappings"?: { request: RequestMappingType; response: ResponseMappingType };
462
+ /**
463
+ * Define fetch options object Require `fetchurl` prop to be defined otherwith it will be ignored if defined
464
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/RequestInit}
465
+ * @example JSON headers: ```json { "headers": { "authorization": "my-token" } } ```
466
+ */
467
+ "fetchoptions"?: RequestInit;
468
+ /**
469
+ * Define API url to fetch
470
+ * @example ``` { url: "http://myapi.com?$select='href,name'&my-custom-param='my-custom-value'", // url to fetch } ```
471
+ */
472
+ "fetchurl"?: string | URL;
473
+ /**
474
+ * Add a help text under the input, usually expected data format and example
475
+ */
476
+ "helpText"?: string;
477
+ /**
478
+ * Identifier is used for the element ID (id is a reserved prop in Stencil.js)
479
+ */
480
+ "identifier": string;
481
+ /**
482
+ * Define input invalid state
483
+ */
484
+ "invalid": boolean;
485
+ /**
486
+ * Define components items
487
+ */
488
+ "items": (string | Option)[];
489
+ /**
490
+ * Define items label Include short description. Required for accessibility.
491
+ * @example ``` Countries ```
492
+ */
493
+ "itemsLabel": string;
494
+ /**
495
+ * Input label
496
+ */
497
+ "label": string;
498
+ /**
499
+ * Define if label is visible
500
+ */
501
+ "labelHide": boolean;
502
+ /**
503
+ * Define if label is displayed on top
504
+ */
505
+ "labelOnTop": boolean;
506
+ /**
507
+ * Define input width
508
+ */
509
+ "mgWidth": Width;
510
+ /**
511
+ * Input name If not set the value equals the identifier
512
+ */
513
+ "name": string;
514
+ /**
515
+ * Define input placeholder. It should be a word or short phrase that demonstrates the expected type of data, not a replacement for labels or help combobox.
516
+ */
517
+ "placeholder"?: string;
518
+ /**
519
+ * Define if input is readonly
520
+ */
521
+ "readonly": boolean;
522
+ /**
523
+ * Define if input is required
524
+ */
525
+ "required": boolean;
526
+ /**
527
+ * Reset value, validity and error state
528
+ */
529
+ "reset": () => Promise<void>;
530
+ /**
531
+ * Set an error and display a custom error message. This method can be used to set the component's error state from its concombobox by passing a boolean value to the `valid` parameter. It must be paired with an error message to display for the given concombobox. When used to set validity to `false`, you should use this method again to reset the validity to `true`.
532
+ * @param valid - value indicating the validity
533
+ * @param errorMessage - the error message to display
534
+ */
535
+ "setError": (valid: MgInputCombobox["valid"], errorMessage: string) => Promise<void>;
536
+ /**
537
+ * Public method to play input focus
538
+ */
539
+ "setFocus": () => Promise<void>;
540
+ /**
541
+ * Add a tooltip message next to the input
542
+ */
543
+ "tooltip"?: string;
544
+ /**
545
+ * Define tooltip position
546
+ */
547
+ "tooltipPosition": TooltipPosition;
548
+ /**
549
+ * Define input valid state
550
+ */
551
+ "valid": boolean;
552
+ /**
553
+ * Define component value
554
+ */
555
+ "value": string | Option;
556
+ }
446
557
  interface MgInputDate {
447
558
  /**
448
559
  * Define if input is disabled
@@ -1618,6 +1729,10 @@ export interface MgInputCheckboxPaginatedCustomEvent<T> extends CustomEvent<T> {
1618
1729
  detail: T;
1619
1730
  target: HTMLMgInputCheckboxPaginatedElement;
1620
1731
  }
1732
+ export interface MgInputComboboxCustomEvent<T> extends CustomEvent<T> {
1733
+ detail: T;
1734
+ target: HTMLMgInputComboboxElement;
1735
+ }
1621
1736
  export interface MgInputDateCustomEvent<T> extends CustomEvent<T> {
1622
1737
  detail: T;
1623
1738
  target: HTMLMgInputDateElement;
@@ -1844,6 +1959,26 @@ declare global {
1844
1959
  prototype: HTMLMgInputCheckboxPaginatedElement;
1845
1960
  new (): HTMLMgInputCheckboxPaginatedElement;
1846
1961
  };
1962
+ interface HTMLMgInputComboboxElementEventMap {
1963
+ "value-change": HTMLMgInputComboboxElement['value'];
1964
+ "filter-change": string;
1965
+ "load-more": void;
1966
+ "input-valid": HTMLMgInputComboboxElement['valid'];
1967
+ }
1968
+ interface HTMLMgInputComboboxElement extends Components.MgInputCombobox, HTMLStencilElement {
1969
+ addEventListener<K extends keyof HTMLMgInputComboboxElementEventMap>(type: K, listener: (this: HTMLMgInputComboboxElement, ev: MgInputComboboxCustomEvent<HTMLMgInputComboboxElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1970
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1971
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1972
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1973
+ removeEventListener<K extends keyof HTMLMgInputComboboxElementEventMap>(type: K, listener: (this: HTMLMgInputComboboxElement, ev: MgInputComboboxCustomEvent<HTMLMgInputComboboxElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1974
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1975
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1976
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1977
+ }
1978
+ var HTMLMgInputComboboxElement: {
1979
+ prototype: HTMLMgInputComboboxElement;
1980
+ new (): HTMLMgInputComboboxElement;
1981
+ };
1847
1982
  interface HTMLMgInputDateElementEventMap {
1848
1983
  "value-change": HTMLMgInputDateElement['value'];
1849
1984
  "input-valid": HTMLMgInputDateElement['valid'];
@@ -2222,6 +2357,7 @@ declare global {
2222
2357
  "mg-input": HTMLMgInputElement;
2223
2358
  "mg-input-checkbox": HTMLMgInputCheckboxElement;
2224
2359
  "mg-input-checkbox-paginated": HTMLMgInputCheckboxPaginatedElement;
2360
+ "mg-input-combobox": HTMLMgInputComboboxElement;
2225
2361
  "mg-input-date": HTMLMgInputDateElement;
2226
2362
  "mg-input-numeric": HTMLMgInputNumericElement;
2227
2363
  "mg-input-password": HTMLMgInputPasswordElement;
@@ -2647,6 +2783,113 @@ declare namespace LocalJSX {
2647
2783
  */
2648
2784
  "readonly"?: boolean;
2649
2785
  }
2786
+ interface MgInputCombobox {
2787
+ /**
2788
+ * Define if input is disabled
2789
+ */
2790
+ "disabled"?: boolean;
2791
+ /**
2792
+ * Define fetch request mappings. Required with `fetchurl`
2793
+ * @example ``` { request: { filter: 'name', // `filter` key }, response: { total: 'body.data.total', // response object mapping to get `total` value items: 'body.data.results' // response object mapping to get `items` value next: 'body.next' // response object mapping to get `next` items itemTitle: 'name', // item property to map on item['title'] itemValue: 'href', // item property to map on item['value'] } } ```
2794
+ */
2795
+ "fetchmappings"?: { request: RequestMappingType; response: ResponseMappingType };
2796
+ /**
2797
+ * Define fetch options object Require `fetchurl` prop to be defined otherwith it will be ignored if defined
2798
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/RequestInit}
2799
+ * @example JSON headers: ```json { "headers": { "authorization": "my-token" } } ```
2800
+ */
2801
+ "fetchoptions"?: RequestInit;
2802
+ /**
2803
+ * Define API url to fetch
2804
+ * @example ``` { url: "http://myapi.com?$select='href,name'&my-custom-param='my-custom-value'", // url to fetch } ```
2805
+ */
2806
+ "fetchurl"?: string | URL;
2807
+ /**
2808
+ * Add a help text under the input, usually expected data format and example
2809
+ */
2810
+ "helpText"?: string;
2811
+ /**
2812
+ * Identifier is used for the element ID (id is a reserved prop in Stencil.js)
2813
+ */
2814
+ "identifier": string;
2815
+ /**
2816
+ * Define input invalid state
2817
+ */
2818
+ "invalid"?: boolean;
2819
+ /**
2820
+ * Define components items
2821
+ */
2822
+ "items"?: (string | Option)[];
2823
+ /**
2824
+ * Define items label Include short description. Required for accessibility.
2825
+ * @example ``` Countries ```
2826
+ */
2827
+ "itemsLabel": string;
2828
+ /**
2829
+ * Input label
2830
+ */
2831
+ "label": string;
2832
+ /**
2833
+ * Define if label is visible
2834
+ */
2835
+ "labelHide"?: boolean;
2836
+ /**
2837
+ * Define if label is displayed on top
2838
+ */
2839
+ "labelOnTop"?: boolean;
2840
+ /**
2841
+ * Define input width
2842
+ */
2843
+ "mgWidth"?: Width;
2844
+ /**
2845
+ * Input name If not set the value equals the identifier
2846
+ */
2847
+ "name"?: string;
2848
+ /**
2849
+ * Emited event when filter change
2850
+ */
2851
+ "onFilter-change"?: (event: MgInputComboboxCustomEvent<string>) => void;
2852
+ /**
2853
+ * Emited event when checking validity
2854
+ */
2855
+ "onInput-valid"?: (event: MgInputComboboxCustomEvent<HTMLMgInputComboboxElement['valid']>) => void;
2856
+ /**
2857
+ * Emited event when `load-more` is called
2858
+ */
2859
+ "onLoad-more"?: (event: MgInputComboboxCustomEvent<void>) => void;
2860
+ /**
2861
+ * Emited event when value change
2862
+ */
2863
+ "onValue-change"?: (event: MgInputComboboxCustomEvent<HTMLMgInputComboboxElement['value']>) => void;
2864
+ /**
2865
+ * Define input placeholder. It should be a word or short phrase that demonstrates the expected type of data, not a replacement for labels or help combobox.
2866
+ */
2867
+ "placeholder"?: string;
2868
+ /**
2869
+ * Define if input is readonly
2870
+ */
2871
+ "readonly"?: boolean;
2872
+ /**
2873
+ * Define if input is required
2874
+ */
2875
+ "required"?: boolean;
2876
+ /**
2877
+ * Add a tooltip message next to the input
2878
+ */
2879
+ "tooltip"?: string;
2880
+ /**
2881
+ * Define tooltip position
2882
+ */
2883
+ "tooltipPosition"?: TooltipPosition;
2884
+ /**
2885
+ * Define input valid state
2886
+ */
2887
+ "valid"?: boolean;
2888
+ /**
2889
+ * Define component value
2890
+ */
2891
+ "value"?: string | Option;
2892
+ }
2650
2893
  interface MgInputDate {
2651
2894
  /**
2652
2895
  * Define if input is disabled
@@ -3800,6 +4043,7 @@ declare namespace LocalJSX {
3800
4043
  "mg-input": MgInput;
3801
4044
  "mg-input-checkbox": MgInputCheckbox;
3802
4045
  "mg-input-checkbox-paginated": MgInputCheckboxPaginated;
4046
+ "mg-input-combobox": MgInputCombobox;
3803
4047
  "mg-input-date": MgInputDate;
3804
4048
  "mg-input-numeric": MgInputNumeric;
3805
4049
  "mg-input-password": MgInputPassword;
@@ -3850,6 +4094,7 @@ declare module "@stencil/core" {
3850
4094
  * Internal component use to manage sections instances
3851
4095
  */
3852
4096
  "mg-input-checkbox-paginated": LocalJSX.MgInputCheckboxPaginated & JSXBase.HTMLAttributes<HTMLMgInputCheckboxPaginatedElement>;
4097
+ "mg-input-combobox": LocalJSX.MgInputCombobox & JSXBase.HTMLAttributes<HTMLMgInputComboboxElement>;
3853
4098
  "mg-input-date": LocalJSX.MgInputDate & JSXBase.HTMLAttributes<HTMLMgInputDateElement>;
3854
4099
  "mg-input-numeric": LocalJSX.MgInputNumeric & JSXBase.HTMLAttributes<HTMLMgInputNumericElement>;
3855
4100
  "mg-input-password": LocalJSX.MgInputPassword & JSXBase.HTMLAttributes<HTMLMgInputPasswordElement>;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Keyboard keys
3
+ */
4
+ export declare const Keys: Record<string, KeyboardEvent['key']>;
@@ -11,10 +11,18 @@ export declare const placements: readonly ["top", "right", "bottom", "left", "au
11
11
  * Define placement type
12
12
  */
13
13
  export type ExtendedPlacement = Placement | (typeof placements)[number];
14
+ export declare const alignments: readonly ["start", any, "end"];
14
15
  /**
15
16
  * FloatingUI Placement type guard
16
17
  * @param placement - value to check
17
18
  * @returns truthy if placement is valid
18
19
  */
19
20
  export declare const isFloatingUIPlacement: (placement: any) => placement is Placement;
20
- export declare const alignments: readonly ["start", any, "end"];
21
+ /**
22
+ * Get translation for tooltip
23
+ * @param x - x-axis value
24
+ * @param y - y-axis value
25
+ * @returns translation string
26
+ */
27
+ export declare const getTransformation: (x: number, y: number) => string;
28
+ export declare const numberToPx: (number: number) => string;