@mgdis/mg-components 5.11.0 → 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 (49) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/mg-action-more_31.cjs.entry.js +294 -249
  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 +159 -17
  11. package/dist/collection/components/molecules/mg-details/mg-details.css +20 -3
  12. package/dist/collection/components/molecules/mg-popover/mg-popover.js +4 -4
  13. package/dist/collection/locales/en/messages.json +6 -1
  14. package/dist/collection/locales/fr/messages.json +6 -1
  15. package/dist/collection/styles/a11y.scss +5 -1
  16. package/dist/collection/styles/typography.scss +7 -0
  17. package/dist/collection/variables.css +8 -0
  18. package/dist/components/index2.js +12 -2
  19. package/dist/components/mg-details.js +1 -1
  20. package/dist/components/mg-icon2.js +157 -227
  21. package/dist/components/mg-input-checkbox.js +170 -26
  22. package/dist/components/mg-pagination.js +1 -170
  23. package/dist/components/mg-pagination2.js +172 -0
  24. package/dist/components/mg-popover2.js +4 -4
  25. package/dist/esm/loader.js +1 -1
  26. package/dist/esm/mg-action-more_31.entry.js +294 -249
  27. package/dist/esm/mg-components.js +1 -1
  28. package/dist/esm/mg-item-more.entry.js +1 -1
  29. package/dist/esm/{mg-menu.conf-c8aa56ce.js → mg-menu.conf-850d4c6e.js} +12 -2
  30. package/dist/mg-components/locales/en/messages.json +6 -1
  31. package/dist/mg-components/locales/fr/messages.json +6 -1
  32. package/dist/mg-components/mg-components.css +1 -1
  33. package/dist/mg-components/mg-components.esm.js +1 -1
  34. package/dist/mg-components/p-60b7afd9.entry.js +1 -0
  35. package/dist/mg-components/{p-d3ed97d3.entry.js → p-67ba5d05.entry.js} +1 -1
  36. package/dist/mg-components/p-689503fc.js +1 -0
  37. package/dist/mg-components/styles/a11y.scss +5 -1
  38. package/dist/mg-components/styles/typography.scss +7 -0
  39. package/dist/mg-components/variables.css +8 -0
  40. package/dist/types/components/atoms/mg-icon/mg-icon.conf.d.ts +0 -4
  41. package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +0 -5
  42. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +4 -0
  43. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +79 -2
  44. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +1 -1
  45. package/dist/types/components.d.ts +8 -0
  46. package/dist/types/locales/index.d.ts +10 -0
  47. package/package.json +7 -5
  48. package/dist/mg-components/p-51c2def3.entry.js +0 -1
  49. package/dist/mg-components/p-b14be68b.js +0 -1
@@ -1 +1 @@
1
- import{r as t,h as i,H as s,g as e}from"./p-3bf533f7.js";import{i as o,D as h}from"./p-b14be68b.js";var n;!function(t){t.BASE_INDEX="data-overflow-base-index",t.PROXY_INDEX="data-overflow-proxy-index"}(n||(n={}));class r{constructor(t,i){this.element=t,this.render=i,this.disconnect=()=>{this._resizeObserver.disconnect()},this.run=t=>{void 0===this._moreElement&&(this._moreElement=this.render(),this._baseChildren=this.getInteractiveItems(this.element),(()=>"MG-ITEM-MORE"===this._moreElement.nodeName)()&&(this._proxyChildren=this.getInteractiveItems(this._moreElement.shadowRoot.querySelector("mg-menu"))),this._baseChildren.forEach(((t,i)=>{t.setAttribute(n.BASE_INDEX,`${i}`),this._proxyChildren[i].setAttribute(n.PROXY_INDEX,`${i}`)}))),void 0!==t&&this.updateDisplayedItems(t)},this.getInteractiveItems=t=>{var i;return((null===(i=t.children)||void 0===i?void 0:i.length)>0?Array.from(t.children):[]).filter((t=>["MG-MENU-ITEM","MG-BUTTON"].includes(t.nodeName)))},this.updateDisplayedItems=t=>{this.restoreItems();const i={accWidth:0,previousItem:null};[...this._baseChildren,this._moreElement].forEach((s=>{i.accWidth+=s.offsetWidth;const e=null!==i.previousItem&&null!==i.previousItem.getAttribute("hidden");this.toggleItem(s,e&&!this.isMoreElement(s)||this.isOverflowElement(i.accWidth,s,t)||this.isMoreElement(s)&&!e),i.previousItem=s}))},this.isOverflowElement=(t,i,s)=>null!==i.previousElementSibling&&!this.isMoreElement(i)&&(this.isMoreElement(i.nextElementSibling)?t>s:t+this._moreElement.offsetWidth>s),this.isMoreElement=t=>"MG-ITEM-MORE"===t.nodeName,this.toggleItem=(t,i)=>{const s=Number(t.getAttribute(n.BASE_INDEX));this.isMoreElement(t)?this.toggleElement(this._moreElement,i):s>=0&&(this.toggleElement(t,i),this.toggleElement(this._proxyChildren[s],!i))},this.toggleElement=(t,i)=>{i?t.setAttribute("hidden",""):t.removeAttribute("hidden")},this.restoreItems=()=>{[...this._baseChildren,this._moreElement].forEach((t=>t.removeAttribute("hidden")))},void 0===this._resizeObserver&&(this._resizeObserver=new ResizeObserver((t=>{t.forEach((t=>{this.run(t.contentRect.width)}))})),this._resizeObserver.observe(this.element)),this.run()}}const a=class{constructor(i){t(this,i),this.name="mg-item-more",this.renderMgMenuItemOverflowElement=()=>{const t=this.element.shadowRoot.querySelector("mg-menu-item");this.menuItems.forEach((i=>{t.querySelector("mg-menu").appendChild(i.cloneNode(!0))}));const i=Array.from(this.parentMenu.querySelectorAll("mg-menu-item:not([data-overflow-more])"));return Array.from(t.querySelectorAll("mg-menu-item:not([data-overflow-more])")).forEach(((t,s)=>{t.addEventListener("click",(()=>{i[s].shadowRoot.querySelector("a, button").click()})),""!==t.id.trim()&&(t.id=`${t.id}-proxy`),i[s].addEventListener("status-change",(i=>{t.setAttribute("status",i.detail)}))})),this.element},this.icon={icon:"ellipsis-vertical"},this.slotlabel={display:!1},this.size=void 0,this.parentMenu=void 0}validateIcon(t){if("object"!=typeof t||"object"==typeof t&&"string"!=typeof t.icon)throw new Error(`<${this.name}> prop "icon" must match MgItemMore['icon'] type.`)}validateSlotLabel(t){if("object"!=typeof t||"object"==typeof t&&"boolean"!=typeof t.display)throw new Error(`<${this.name}> prop "slotlabel" must match MgItemMore['slotlabel'] type.`);"string"!=typeof t.label&&(this.slotlabel.label=this.messages.moreLabel)}validateSize(t){if(t&&"string"!=typeof t)throw new Error(`<${this.name}> prop "size" must match MgItemMore['size'] type.`)}disconnectedCallback(){this.overflowBehavior.disconnect()}componentWillLoad(){this.messages=o(this.element).messages.plusMenu,this.parentMenu=this.element.closest("mg-menu"),this.menuItems=Array.from(this.parentMenu.children).filter((t=>"MG-MENU-ITEM"===t.nodeName)),this.validateIcon(this.icon),this.validateSlotLabel(this.slotlabel),this.validateSize(this.size)}componentDidLoad(){this.overflowBehavior=new r(this.parentMenu,this.renderMgMenuItemOverflowElement)}render(){return i(s,{role:"menuitem","aria-haspopup":"true"},i("mg-menu-item",{"data-overflow-more":!0,"data-size":this.parentMenu.size},i("mg-icon",{icon:this.icon.icon,slot:"image"}),i("span",{class:{"sr-only":!this.slotlabel.display},slot:"label"},this.slotlabel.label),i("mg-menu",{direction:h.VERTICAL,label:this.messages.moreLabel,size:this.size})))}get element(){return e(this)}static get watchers(){return{icon:["validateIcon"],slotlabel:["validateSlotLabel"],size:["validateSize"]}}};a.style=".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}}:host{display:flex}";export{a as mg_item_more}
1
+ import{r as t,h as i,H as s,g as e}from"./p-3bf533f7.js";import{i as o,D as h}from"./p-689503fc.js";var n;!function(t){t.BASE_INDEX="data-overflow-base-index",t.PROXY_INDEX="data-overflow-proxy-index"}(n||(n={}));class r{constructor(t,i){this.element=t,this.render=i,this.disconnect=()=>{this._resizeObserver.disconnect()},this.run=t=>{void 0===this._moreElement&&(this._moreElement=this.render(),this._baseChildren=this.getInteractiveItems(this.element),(()=>"MG-ITEM-MORE"===this._moreElement.nodeName)()&&(this._proxyChildren=this.getInteractiveItems(this._moreElement.shadowRoot.querySelector("mg-menu"))),this._baseChildren.forEach(((t,i)=>{t.setAttribute(n.BASE_INDEX,`${i}`),this._proxyChildren[i].setAttribute(n.PROXY_INDEX,`${i}`)}))),void 0!==t&&this.updateDisplayedItems(t)},this.getInteractiveItems=t=>{var i;return((null===(i=t.children)||void 0===i?void 0:i.length)>0?Array.from(t.children):[]).filter((t=>["MG-MENU-ITEM","MG-BUTTON"].includes(t.nodeName)))},this.updateDisplayedItems=t=>{this.restoreItems();const i={accWidth:0,previousItem:null};[...this._baseChildren,this._moreElement].forEach((s=>{i.accWidth+=s.offsetWidth;const e=null!==i.previousItem&&null!==i.previousItem.getAttribute("hidden");this.toggleItem(s,e&&!this.isMoreElement(s)||this.isOverflowElement(i.accWidth,s,t)||this.isMoreElement(s)&&!e),i.previousItem=s}))},this.isOverflowElement=(t,i,s)=>null!==i.previousElementSibling&&!this.isMoreElement(i)&&(this.isMoreElement(i.nextElementSibling)?t>s:t+this._moreElement.offsetWidth>s),this.isMoreElement=t=>"MG-ITEM-MORE"===t.nodeName,this.toggleItem=(t,i)=>{const s=Number(t.getAttribute(n.BASE_INDEX));this.isMoreElement(t)?this.toggleElement(this._moreElement,i):s>=0&&(this.toggleElement(t,i),this.toggleElement(this._proxyChildren[s],!i))},this.toggleElement=(t,i)=>{i?t.setAttribute("hidden",""):t.removeAttribute("hidden")},this.restoreItems=()=>{[...this._baseChildren,this._moreElement].forEach((t=>t.removeAttribute("hidden")))},void 0===this._resizeObserver&&(this._resizeObserver=new ResizeObserver((t=>{t.forEach((t=>{this.run(t.contentRect.width)}))})),this._resizeObserver.observe(this.element)),this.run()}}const a=class{constructor(i){t(this,i),this.name="mg-item-more",this.renderMgMenuItemOverflowElement=()=>{const t=this.element.shadowRoot.querySelector("mg-menu-item");this.menuItems.forEach((i=>{t.querySelector("mg-menu").appendChild(i.cloneNode(!0))}));const i=Array.from(this.parentMenu.querySelectorAll("mg-menu-item:not([data-overflow-more])"));return Array.from(t.querySelectorAll("mg-menu-item:not([data-overflow-more])")).forEach(((t,s)=>{t.addEventListener("click",(()=>{i[s].shadowRoot.querySelector("a, button").click()})),""!==t.id.trim()&&(t.id=`${t.id}-proxy`),i[s].addEventListener("status-change",(i=>{t.setAttribute("status",i.detail)}))})),this.element},this.icon={icon:"ellipsis-vertical"},this.slotlabel={display:!1},this.size=void 0,this.parentMenu=void 0}validateIcon(t){if("object"!=typeof t||"object"==typeof t&&"string"!=typeof t.icon)throw new Error(`<${this.name}> prop "icon" must match MgItemMore['icon'] type.`)}validateSlotLabel(t){if("object"!=typeof t||"object"==typeof t&&"boolean"!=typeof t.display)throw new Error(`<${this.name}> prop "slotlabel" must match MgItemMore['slotlabel'] type.`);"string"!=typeof t.label&&(this.slotlabel.label=this.messages.moreLabel)}validateSize(t){if(t&&"string"!=typeof t)throw new Error(`<${this.name}> prop "size" must match MgItemMore['size'] type.`)}disconnectedCallback(){this.overflowBehavior.disconnect()}componentWillLoad(){this.messages=o(this.element).messages.plusMenu,this.parentMenu=this.element.closest("mg-menu"),this.menuItems=Array.from(this.parentMenu.children).filter((t=>"MG-MENU-ITEM"===t.nodeName)),this.validateIcon(this.icon),this.validateSlotLabel(this.slotlabel),this.validateSize(this.size)}componentDidLoad(){this.overflowBehavior=new r(this.parentMenu,this.renderMgMenuItemOverflowElement)}render(){return i(s,{role:"menuitem","aria-haspopup":"true"},i("mg-menu-item",{"data-overflow-more":!0,"data-size":this.parentMenu.size},i("mg-icon",{icon:this.icon.icon,slot:"image"}),i("span",{class:{"sr-only":!this.slotlabel.display},slot:"label"},this.slotlabel.label),i("mg-menu",{direction:h.VERTICAL,label:this.messages.moreLabel,size:this.size})))}get element(){return e(this)}static get watchers(){return{icon:["validateIcon"],slotlabel:["validateSlotLabel"],size:["validateSize"]}}};a.style=".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}}:host{display:flex}";export{a as mg_item_more}
@@ -0,0 +1 @@
1
+ const e=(e,a,t)=>new Intl.NumberFormat(a,{style:"currency",currency:t}).format(e),a=(e,a)=>new Intl.NumberFormat(a).format(e),t=/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/,s=(e,a)=>"string"==typeof e&&""!==e&&t.test(e)?new Intl.DateTimeFormat(a).format(new Date(e)):"",n={en:{errors:{required:"This field is required.",date:{badInput:'The date format must be <span aria-hidden="true">mm/dd/yyyy</span><span class="sr-only">m m / d d / y y y y</span> and the date must be greater than {min}',min:"The date cannot be earlier than {min}",max:"The date cannot be later than {max}",minMax:"The date must be between {min} and {max}"},numeric:{min:"The value cannot be less than {min}",max:"The value cannot be greater than {max}",minMax:"The value must be between {min} et {max}"}},nbCharLeft:"{counter} characters left.",input:{select:{placeholder:"Select a value"},checkbox:{selectedValues:"{nb} selected values",selectedValue:"{nb} selected value",editButton:"Edit",selectButton:"Select values",showButton:"Show",label:"Enter a value",result:"result",results:"results",searchResults:"Search result(s) list.",noResult:"No result."}},form:{required:'Fields with a <strong class="is-asterisk">*</strong> are required',requiredSingle:'Field with a <strong class="is-asterisk">*</strong> is required',allRequired:"All fields are required",allRequiredSingle:"The field is required"},message:{closeButton:"Close message"},modal:{closeButton:"Close modal"},pagination:{label:"Pagination",page:"page",pages:"pages",nextPage:"Next page",previousPage:"Previous page",selectPage:"Select the page to display."},panel:{editLabel:"Edit section title."},skipLinks:{navLabel:"Quick access"},general:{confirm:"Confirm",cancel:"Cancel",close:"Close",next:"next",previous:"previous"},plusMenu:{moreLabel:"Additional menu",badgeLabel:"Include notification(s)"},actionMore:{label:"Actions"}},fr:{errors:{required:"Ce champ est obligatoire.",date:{badInput:'Le format de la date doit être du type <span aria-hidden="true">jj/mm/aaaa</span><span class="sr-only">j j / m m / a a a a</span> et la date supérieure au {min}',min:"La date ne peut pas être antérieure au {min}",max:"La date ne peut pas être postérieure au {max}",minMax:"La date doit être comprise entre le {min} et le {max}"},numeric:{min:"La valeur ne peut pas être inférieure à {min}",max:"La valeur ne peut pas être supérieure à {max}",minMax:"La valeur doit être comprise entre {min} et {max}"}},nbCharLeft:"{counter} caractères disponibles.",input:{select:{placeholder:"Sélectionnez une valeur"},checkbox:{selectedValues:"{nb} valeurs selectionnées",selectedValue:"{nb} valeur selectionnée",editButton:"Modifier",selectButton:"Sélectionner des valeurs",showButton:"Voir",label:"Saisissez une valeur",result:"resultat",results:"resultats",searchResults:"List de resultat(s) de la recherche.",noResult:"Aucun resultat."}},form:{required:'Les champs marqués d\'un <strong class="is-asterisk">*</strong> sont obligatoires',requiredSingle:'Le champ marqué d\'un <strong class="is-asterisk">*</strong> est obligatoire',allRequired:"Tous les champs sont obligatoires",allRequiredSingle:"Le champ est obligatoire"},message:{closeButton:"Fermer le message"},modal:{closeButton:"Fermer la modale"},pagination:{label:"Pagination",page:"page",pages:"pages",nextPage:"Page suivante",previousPage:"Page précédente",selectPage:"Sélectionner la page à afficher."},panel:{editLabel:"Modifier le titre de la section."},skipLinks:{navLabel:"Accès rapide"},general:{confirm:"Valider",cancel:"Annuler",close:"Fermer",next:"suivant",previous:"précédent"},plusMenu:{moreLabel:"Menu complémentaire",badgeLabel:"Notification(s) incluse(s)"},actionMore:{label:"Actions"}}},r=e=>((e,a)=>{const t=e.closest("[lang]"),s=Intl.NumberFormat.supportedLocalesOf(null==t?void 0:t.lang),n=s.length>0?s[0]:navigator.language||"en",r=n.split("-").shift();return{locale:n,messages:a[r]||a.en}})(e,n);var l;!function(e){e.VERTICAL="vertical",e.HORIZONTAL="horizontal"}(l||(l={}));const i=["regular","medium","large"];export{l as D,e as a,a as b,t as d,r as i,s as l,i as s}
@@ -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
  }
@@ -1,7 +1,3 @@
1
- /**
2
- * Icon SVG paths
3
- */
4
- export declare const icons: unknown;
5
1
  /**
6
2
  * List of all possibles sizes
7
3
  */
@@ -34,11 +34,6 @@ export declare class MgIcon {
34
34
  * Component classes
35
35
  */
36
36
  classCollection: ClassList;
37
- /**
38
- * getIcon
39
- * @returns icon html
40
- */
41
- private getIcon;
42
37
  /**
43
38
  * Method to set default varianStyle props
44
39
  * needeed has stencil doesn't know that props is mutated when updated in prop watcher
@@ -25,3 +25,7 @@ export declare const checkboxTypes: readonly ["checkbox", "multi"];
25
25
  * ChecboxType from checkbox types
26
26
  */
27
27
  export type CheckboxType = (typeof checkboxTypes)[number];
28
+ /**
29
+ * Search value type
30
+ */
31
+ export type SearchValueType = string;
@@ -1,15 +1,18 @@
1
1
  import { EventEmitter } from '../../../../stencil-public-runtime';
2
2
  import { ClassList } from '../../../../utils/components.utils';
3
- import { CheckboxItem, CheckboxType, CheckboxValue } from './mg-input-checkbox.conf';
3
+ import { CheckboxItem, CheckboxType, CheckboxValue, SearchValueType } from './mg-input-checkbox.conf';
4
4
  export declare class MgInputCheckbox {
5
5
  /************
6
6
  * Internal *
7
7
  ************/
8
8
  private inputs;
9
- private popover;
9
+ private mgPopover;
10
10
  private messages;
11
11
  private hasDisplayedError;
12
12
  private baseClassName;
13
+ private multiStart;
14
+ private searchStart;
15
+ private searchOffset;
13
16
  /**************
14
17
  * Decorators *
15
18
  **************/
@@ -62,6 +65,11 @@ export declare class MgInputCheckbox {
62
65
  * Define if input is readonly
63
66
  */
64
67
  readonly: boolean;
68
+ /**
69
+ * Display selected values list in "multi" type
70
+ */
71
+ displaySelectedValues: boolean;
72
+ validateDisplaySelectedValues(newValue: MgInputCheckbox['displaySelectedValues']): void;
65
73
  /**
66
74
  * Define if input is disabled
67
75
  */
@@ -96,6 +104,24 @@ export declare class MgInputCheckbox {
96
104
  * Formated value for display
97
105
  */
98
106
  checkboxItems: CheckboxItem[];
107
+ validateCheckboxItems(newValue: MgInputCheckbox['checkboxItems']): void;
108
+ /**
109
+ * Display search input
110
+ */
111
+ displaySearchInput: boolean;
112
+ /**
113
+ * Search current page
114
+ */
115
+ currentSearchPage: number;
116
+ /**
117
+ * Search value
118
+ */
119
+ searchValue: SearchValueType;
120
+ validateSearchValue(newValue: MgInputCheckbox['searchValue']): void;
121
+ /**
122
+ * Search current page
123
+ */
124
+ searchResults: CheckboxItem[];
99
125
  /**
100
126
  * Emitted event when value change
101
127
  */
@@ -118,10 +144,25 @@ export declare class MgInputCheckbox {
118
144
  * @param event - to trak "tab" key
119
145
  */
120
146
  private handleKeydown;
147
+ /**
148
+ * Reset current-search-page prop
149
+ */
150
+ private setCurrentSearchPage;
121
151
  /**
122
152
  * Handle blur event
123
153
  */
124
154
  private handleBlur;
155
+ /**
156
+ * Handle input search value-change event
157
+ * @param event - input value-change event
158
+ */
159
+ private handleSearchChange;
160
+ /**
161
+ * Handle mg-pagination current page change event
162
+ * @param event - pagination current page change event
163
+ */
164
+ private handleCurrentPageChange;
165
+ private handleMgPopoverDisplayChange;
125
166
  /**
126
167
  * get invalid element
127
168
  * @returns element
@@ -146,6 +187,29 @@ export declare class MgInputCheckbox {
146
187
  * @returns MgPopover identifier
147
188
  */
148
189
  private getMgPopoverIdentifier;
190
+ /**
191
+ * Manage items to display depending on the search state
192
+ * @returns items to display
193
+ */
194
+ private getDisplayItems;
195
+ /**
196
+ * Method to get a array range
197
+ * @param from - array start index
198
+ * @param to - array end index
199
+ * @returns array's range
200
+ */
201
+ private getArrayRange;
202
+ /**
203
+ * Get from and to index
204
+ * @returns [from,to] index
205
+ */
206
+ private getFromToIndexes;
207
+ /**
208
+ * Method to get pagination total-page
209
+ * @param checkboxes - checkboxes to paginate
210
+ * @returns total page number for pagination
211
+ */
212
+ private getPaginationTotalPages;
149
213
  /*************
150
214
  * Lifecycle *
151
215
  *************/
@@ -154,6 +218,18 @@ export declare class MgInputCheckbox {
154
218
  * @returns timeout
155
219
  */
156
220
  componentWillLoad(): ReturnType<typeof setTimeout>;
221
+ /**
222
+ * Render checkbox multi display values
223
+ * @param selectedValuesNb - selected values length
224
+ * @returns display selected values
225
+ */
226
+ private renderCheckboxMultiDisplaySelectedValues;
227
+ /**
228
+ * Render paginated checkboxes
229
+ * @param checkboxes - checkboxes to render
230
+ * @returns paginated checkboxes
231
+ */
232
+ private renderPaginatedCheckboxes;
157
233
  /**
158
234
  * render checkbox multi element
159
235
  * @returns html element
@@ -161,6 +237,7 @@ export declare class MgInputCheckbox {
161
237
  private renderCheckboxMulti;
162
238
  /**
163
239
  * Render checkbox element
240
+ * @param checkboxes - checkboxes to render
164
241
  * @returns HTML Element
165
242
  */
166
243
  private renderCheckboxes;
@@ -6,7 +6,7 @@ export declare class MgPopover {
6
6
  * Internal *
7
7
  ************/
8
8
  private popper;
9
- private popover;
9
+ private mgPopover;
10
10
  private closeButtonId;
11
11
  private windows;
12
12
  private resizeObserver;
@@ -217,6 +217,10 @@ export namespace Components {
217
217
  * Public method to display errors
218
218
  */
219
219
  "displayError": () => Promise<void>;
220
+ /**
221
+ * Display selected values list in "multi" type
222
+ */
223
+ "displaySelectedValues": boolean;
220
224
  /**
221
225
  * Add a help text under the input, usually expected data format and example
222
226
  */
@@ -1635,6 +1639,10 @@ declare namespace LocalJSX {
1635
1639
  * Define if input is disabled
1636
1640
  */
1637
1641
  "disabled"?: boolean;
1642
+ /**
1643
+ * Display selected values list in "multi" type
1644
+ */
1645
+ "displaySelectedValues"?: boolean;
1638
1646
  /**
1639
1647
  * Add a help text under the input, usually expected data format and example
1640
1648
  */
@@ -25,6 +25,11 @@ declare const messages: {
25
25
  editButton: string;
26
26
  selectButton: string;
27
27
  showButton: string;
28
+ label: string;
29
+ result: string;
30
+ results: string;
31
+ searchResults: string;
32
+ noResult: string;
28
33
  };
29
34
  };
30
35
  form: {
@@ -94,6 +99,11 @@ declare const messages: {
94
99
  editButton: string;
95
100
  selectButton: string;
96
101
  showButton: string;
102
+ label: string;
103
+ result: string;
104
+ results: string;
105
+ searchResults: string;
106
+ noResult: string;
97
107
  };
98
108
  };
99
109
  form: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mgdis/mg-components",
3
- "version": "5.11.0",
3
+ "version": "5.12.0",
4
4
  "description": "MG Components",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -25,7 +25,8 @@
25
25
  "dependencies": {
26
26
  "@popperjs/core": "^2.11.7",
27
27
  "@stencil/core": "^2.22.1",
28
- "normalize.css": "^8.0.1"
28
+ "normalize.css": "^8.0.1",
29
+ "@mgdis/img": "1.0.0"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@babel/core": "^7.20.12",
@@ -53,9 +54,9 @@
53
54
  "jest-cli": "npm:jest-cli@^26",
54
55
  "jest-image-snapshot": "^4.5.1",
55
56
  "jest-junit": "^15.0.0",
57
+ "jest-transform-stub": "^2.0.0",
56
58
  "jsx-dom": "^8.0.4",
57
59
  "npm-run-all": "^4.1.5",
58
- "playwright-config": "^1.0.0",
59
60
  "prettier": "^2.8.4",
60
61
  "puppeteer": "^13.7.0",
61
62
  "sass": "^1.58.0",
@@ -63,9 +64,10 @@
63
64
  "style-loader": "^2.0.0",
64
65
  "ts-node": "^10.9.1",
65
66
  "typescript": "^4.9.5",
66
- "@mgdis/linting-stencil": "1.0.0",
67
+ "playwright-config": "1.0.0",
68
+ "tsconfig": "1.0.0",
67
69
  "eslint-config-stencil": "1.0.0",
68
- "tsconfig": "1.0.0"
70
+ "@mgdis/linting-stencil": "1.0.0"
69
71
  },
70
72
  "license": "BSD-3-Clause",
71
73
  "scripts": {