@mgdis/mg-components 5.10.0 → 5.11.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.
- package/dist/cjs/{index-9e1091ab.js → index-03d2557d.js} +3 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/mg-action-more_31.cjs.entry.js +444 -455
- package/dist/cjs/mg-components.cjs.js +2 -2
- package/dist/cjs/mg-item-more.cjs.entry.js +20 -29
- package/dist/cjs/{mg-menu.conf-1942ac70.js → mg-menu.conf-05ec32a3.js} +30 -16
- package/dist/collection/components/atoms/mg-badge/mg-badge.js +8 -9
- package/dist/collection/components/atoms/mg-button/mg-button.js +16 -20
- package/dist/collection/components/atoms/mg-card/mg-card.css +2 -0
- package/dist/collection/components/atoms/mg-card/mg-card.js +10 -12
- package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +1 -2
- package/dist/collection/components/atoms/mg-divider/mg-divider.js +1 -1
- package/dist/collection/components/atoms/mg-icon/mg-icon.js +17 -19
- package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +1 -2
- package/dist/collection/components/atoms/mg-tag/mg-tag.js +11 -13
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +20 -25
- package/dist/collection/components/molecules/inputs/MgInput.conf.js +4 -1
- package/dist/collection/components/molecules/inputs/MgInput.js +26 -18
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js +4 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.css +18 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +126 -19
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.css +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +7 -12
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.css +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +14 -22
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.css +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +6 -10
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.css +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +10 -18
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.css +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +21 -32
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.css +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +16 -31
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.css +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +13 -17
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.css +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +17 -23
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +11 -18
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +20 -29
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +11 -15
- package/dist/collection/components/molecules/mg-details/mg-details.js +1 -3
- package/dist/collection/components/molecules/mg-form/mg-form.js +8 -19
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +1 -2
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +4 -7
- package/dist/collection/components/molecules/mg-message/mg-message.css +1 -0
- package/dist/collection/components/molecules/mg-message/mg-message.js +11 -14
- package/dist/collection/components/molecules/mg-modal/mg-modal.css +1 -0
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +7 -11
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +11 -13
- package/dist/collection/components/molecules/mg-panel/mg-panel.css +1 -0
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +6 -15
- package/dist/collection/components/molecules/mg-popover/mg-popover.css +2 -0
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +16 -16
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +2 -4
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +20 -24
- package/dist/collection/locales/en/messages.json +7 -0
- package/dist/collection/locales/fr/messages.json +7 -0
- package/dist/collection/locales/index.js +2 -2
- package/dist/collection/styles/reset-mg-card-slotted-variables.scss +1 -0
- package/dist/collection/utils/behaviors.utils.js +16 -22
- package/dist/collection/utils/components.utils.js +21 -23
- package/dist/collection/utils/locale.utils.js +14 -14
- package/dist/collection/utils/unit.test.utils.js +7 -10
- package/dist/components/MgInput.js +30 -18
- package/dist/components/components.utils.js +21 -23
- package/dist/components/index2.js +30 -16
- package/dist/components/mg-action-more.js +9 -13
- package/dist/components/mg-badge2.js +8 -9
- package/dist/components/mg-button2.js +16 -20
- package/dist/components/mg-card2.js +9 -11
- package/dist/components/mg-character-left2.js +1 -2
- package/dist/components/mg-details.js +1 -3
- package/dist/components/mg-divider.js +1 -1
- package/dist/components/mg-form.js +7 -15
- package/dist/components/mg-icon2.js +17 -19
- package/dist/components/mg-illustrated-message.js +1 -2
- package/dist/components/mg-input-checkbox.js +126 -21
- package/dist/components/mg-input-date.js +7 -9
- package/dist/components/mg-input-numeric.js +14 -19
- package/dist/components/mg-input-password.js +6 -7
- package/dist/components/mg-input-radio.js +10 -15
- package/dist/components/mg-input-select2.js +21 -29
- package/dist/components/mg-input-text2.js +15 -24
- package/dist/components/mg-input-textarea.js +13 -14
- package/dist/components/mg-input-title2.js +1 -2
- package/dist/components/mg-input-toggle.js +17 -20
- package/dist/components/mg-item-more.js +18 -27
- package/dist/components/mg-menu-item2.js +17 -26
- package/dist/components/mg-menu2.js +9 -16
- package/dist/components/mg-message.js +12 -15
- package/dist/components/mg-modal.js +8 -12
- package/dist/components/mg-pagination.js +11 -13
- package/dist/components/mg-panel.js +7 -16
- package/dist/components/mg-popover2.js +17 -17
- package/dist/components/mg-skip-links.js +2 -4
- package/dist/components/mg-tabs.js +20 -24
- package/dist/components/mg-tag.js +11 -13
- package/dist/components/mg-tooltip2.js +20 -25
- package/dist/esm/{index-3249671d.js → index-407d5211.js} +3 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mg-action-more_31.entry.js +444 -455
- package/dist/esm/mg-components.js +3 -3
- package/dist/esm/mg-item-more.entry.js +20 -29
- package/dist/esm/{mg-menu.conf-2cc1bb67.js → mg-menu.conf-c8aa56ce.js} +30 -16
- package/dist/mg-components/locales/en/messages.json +7 -0
- package/dist/mg-components/locales/fr/messages.json +7 -0
- package/dist/mg-components/mg-components.css +1 -1
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/p-3bf533f7.js +2 -0
- package/dist/mg-components/p-51c2def3.entry.js +1 -0
- package/dist/mg-components/p-b14be68b.js +1 -0
- package/dist/mg-components/{p-a56a3157.entry.js → p-d3ed97d3.entry.js} +1 -1
- package/dist/mg-components/styles/reset-mg-card-slotted-variables.scss +1 -0
- package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +2 -3
- package/dist/types/components/atoms/mg-button/mg-button.d.ts +5 -9
- package/dist/types/components/atoms/mg-card/mg-card.d.ts +2 -6
- package/dist/types/components/atoms/mg-character-left/mg-character-left.d.ts +1 -2
- package/dist/types/components/atoms/mg-divider/mg-divider.d.ts +1 -1
- package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +3 -5
- package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +1 -2
- package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +3 -5
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +15 -21
- package/dist/types/components/molecules/inputs/MgInput.conf.d.ts +2 -1
- package/dist/types/components/molecules/inputs/MgInput.d.ts +5 -5
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +8 -0
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +40 -7
- package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +4 -6
- package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +7 -14
- package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +3 -4
- package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +5 -10
- package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.conf.d.ts +2 -2
- package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +9 -13
- package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +3 -12
- package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +4 -5
- package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +2 -6
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +10 -18
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +21 -31
- package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +3 -10
- package/dist/types/components/molecules/mg-details/mg-details.d.ts +1 -3
- package/dist/types/components/molecules/mg-form/mg-form.d.ts +3 -11
- package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.d.ts +1 -2
- package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +2 -7
- package/dist/types/components/molecules/mg-message/mg-message.d.ts +4 -7
- package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +3 -7
- package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +5 -9
- package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +4 -13
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +7 -9
- package/dist/types/components/molecules/mg-skip-links/mg-skip-links.d.ts +2 -4
- package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +15 -19
- package/dist/types/components.d.ts +31 -35
- package/dist/types/locales/index.d.ts +16 -2
- package/dist/types/utils/behaviors.utils.d.ts +14 -20
- package/dist/types/utils/components.utils.d.ts +18 -20
- package/dist/types/utils/locale.utils.d.ts +14 -14
- package/dist/types/utils/unit.test.utils.d.ts +11 -17
- package/package.json +4 -4
- package/dist/mg-components/p-73156ac9.js +0 -1
- package/dist/mg-components/p-8fbc0d87.js +0 -2
- package/dist/mg-components/p-eb32bb18.entry.js +0 -1
|
@@ -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])$/,n=(e,a)=>"string"==typeof e&&""!==e&&t.test(e)?new Intl.DateTimeFormat(a).format(new Date(e)):"",s={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"}},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"}},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]"),n=Intl.NumberFormat.supportedLocalesOf(null==t?void 0:t.lang),s=n.length>0?n[0]:navigator.language||"en",r=s.split("-").shift();return{locale:s,messages:a[r]||a.en}})(e,s);var i;!function(e){e.VERTICAL="vertical",e.HORIZONTAL="horizontal"}(i||(i={}));const l=["regular","medium","large"];export{i as D,e as a,a as b,t as d,r as i,n as l,l as s}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,h as i,H as s,g as e}from"./p-
|
|
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}
|
|
@@ -32,15 +32,14 @@ export declare class MgBadge {
|
|
|
32
32
|
/**
|
|
33
33
|
* Component classes
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
classCollection: ClassList;
|
|
36
36
|
/**
|
|
37
37
|
* Check if props are well configured on init
|
|
38
|
-
* @returns {void}
|
|
39
38
|
*/
|
|
40
39
|
componentWillLoad(): void;
|
|
41
40
|
/**
|
|
42
41
|
* Render
|
|
43
|
-
* @returns
|
|
42
|
+
* @returns HTML Element
|
|
44
43
|
*/
|
|
45
44
|
render(): HTMLElement;
|
|
46
45
|
}
|
|
@@ -69,37 +69,33 @@ export declare class MgButton {
|
|
|
69
69
|
/**
|
|
70
70
|
* Component classes
|
|
71
71
|
*/
|
|
72
|
-
|
|
72
|
+
classCollection: ClassList;
|
|
73
73
|
/**
|
|
74
74
|
* Emmited event when disabled change
|
|
75
75
|
*/
|
|
76
76
|
disabledChange: EventEmitter<MgButton['disabled']>;
|
|
77
77
|
/**
|
|
78
78
|
* Trigger actions onClick event
|
|
79
|
-
* @param
|
|
80
|
-
* @returns {void}
|
|
79
|
+
* @param event - click event
|
|
81
80
|
*/
|
|
82
81
|
private handleClick;
|
|
83
82
|
/**
|
|
84
83
|
* Handle onKeydown event
|
|
85
|
-
* @param
|
|
86
|
-
* @returns {void}
|
|
84
|
+
* @param event - keyboard event
|
|
87
85
|
*/
|
|
88
86
|
private handleKeydown;
|
|
89
87
|
/**
|
|
90
88
|
* Handle onKeyup event
|
|
91
|
-
* @param
|
|
92
|
-
* @returns {void}
|
|
89
|
+
* @param event - keyboard event
|
|
93
90
|
*/
|
|
94
91
|
private handleKeyup;
|
|
95
92
|
/**
|
|
96
93
|
* Check if props are well configured on init
|
|
97
|
-
* @returns {void}
|
|
98
94
|
*/
|
|
99
95
|
componentWillLoad(): void;
|
|
100
96
|
/**
|
|
101
97
|
* Render component
|
|
102
|
-
* @returns
|
|
98
|
+
* @returns html element
|
|
103
99
|
*/
|
|
104
100
|
render(): HTMLElement;
|
|
105
101
|
}
|
|
@@ -11,24 +11,21 @@ export declare class MgCard {
|
|
|
11
11
|
*************/
|
|
12
12
|
/**
|
|
13
13
|
* Define variant prop
|
|
14
|
-
* Default: undefined
|
|
15
14
|
*/
|
|
16
15
|
variant: undefined | VariantType;
|
|
17
16
|
validateVariant(newValue: MgCard['variant'], oldValue?: MgCard['variant']): void;
|
|
18
17
|
/**
|
|
19
18
|
* Define variantStyle prop
|
|
20
|
-
* Default: undefined
|
|
21
19
|
*/
|
|
22
20
|
variantStyle: undefined | VariantStyleType;
|
|
23
21
|
validateVariantStyle(newValue: MgCard['variantStyle'], oldValue?: MgCard['variantStyle']): void;
|
|
24
22
|
/**
|
|
25
23
|
* Component classes
|
|
26
24
|
*/
|
|
27
|
-
|
|
25
|
+
classCollection: ClassList;
|
|
28
26
|
/**
|
|
29
27
|
* Methode to set default varianStyle props
|
|
30
28
|
* needeed has stencil doesn't know that props is mutated when updated in prop watcher
|
|
31
|
-
* @returns {void}
|
|
32
29
|
*/
|
|
33
30
|
private setDefaultVariantStyle;
|
|
34
31
|
/*************
|
|
@@ -36,12 +33,11 @@ export declare class MgCard {
|
|
|
36
33
|
*************/
|
|
37
34
|
/**
|
|
38
35
|
* Check if props are well configured on init
|
|
39
|
-
* @returns {void}
|
|
40
36
|
*/
|
|
41
37
|
componentWillLoad(): void;
|
|
42
38
|
/**
|
|
43
39
|
* Render
|
|
44
|
-
* @returns
|
|
40
|
+
* @returns HTML Element
|
|
45
41
|
*/
|
|
46
42
|
render(): HTMLElement;
|
|
47
43
|
}
|
|
@@ -29,12 +29,11 @@ export declare class MgCharacterLeft {
|
|
|
29
29
|
*************/
|
|
30
30
|
/**
|
|
31
31
|
* Check if props are well configured on init
|
|
32
|
-
* @returns {void}
|
|
33
32
|
*/
|
|
34
33
|
componentWillLoad(): void;
|
|
35
34
|
/**
|
|
36
35
|
* Render component
|
|
37
|
-
* @returns
|
|
36
|
+
* @returns HTML Element
|
|
38
37
|
*/
|
|
39
38
|
render(): HTMLElement;
|
|
40
39
|
}
|
|
@@ -33,26 +33,24 @@ export declare class MgIcon {
|
|
|
33
33
|
/**
|
|
34
34
|
* Component classes
|
|
35
35
|
*/
|
|
36
|
-
|
|
36
|
+
classCollection: ClassList;
|
|
37
37
|
/**
|
|
38
38
|
* getIcon
|
|
39
|
-
* @returns
|
|
39
|
+
* @returns icon html
|
|
40
40
|
*/
|
|
41
41
|
private getIcon;
|
|
42
42
|
/**
|
|
43
43
|
* Method to set default varianStyle props
|
|
44
44
|
* needeed has stencil doesn't know that props is mutated when updated in prop watcher
|
|
45
|
-
* @returns {void}
|
|
46
45
|
*/
|
|
47
46
|
private setDefaultVariantStyle;
|
|
48
47
|
/**
|
|
49
48
|
* Check if props are well configured on init
|
|
50
|
-
* @returns {void}
|
|
51
49
|
*/
|
|
52
50
|
componentWillLoad(): void;
|
|
53
51
|
/**
|
|
54
52
|
* Render component
|
|
55
|
-
* @returns
|
|
53
|
+
* @returns HTML Element
|
|
56
54
|
*/
|
|
57
55
|
render(): HTMLElement;
|
|
58
56
|
}
|
|
@@ -22,12 +22,11 @@ export declare class MgInputTitle {
|
|
|
22
22
|
*************/
|
|
23
23
|
/**
|
|
24
24
|
* Init tag name
|
|
25
|
-
* @returns {void}
|
|
26
25
|
*/
|
|
27
26
|
componentWillLoad(): void;
|
|
28
27
|
/**
|
|
29
28
|
* Render
|
|
30
|
-
* @returns
|
|
29
|
+
* @returns HTML element
|
|
31
30
|
*/
|
|
32
31
|
render(): HTMLElement;
|
|
33
32
|
}
|
|
@@ -31,14 +31,13 @@ export declare class MgTag {
|
|
|
31
31
|
/**
|
|
32
32
|
* Component classes
|
|
33
33
|
*/
|
|
34
|
-
|
|
34
|
+
classCollection: ClassList;
|
|
35
35
|
/*************
|
|
36
36
|
* Methods *
|
|
37
37
|
*************/
|
|
38
38
|
/**
|
|
39
39
|
* Validate the given textContent
|
|
40
|
-
* @param
|
|
41
|
-
* @returns {void}
|
|
40
|
+
* @param textContent - html element textContent property
|
|
42
41
|
*/
|
|
43
42
|
private validateTextContent;
|
|
44
43
|
/*************
|
|
@@ -46,12 +45,11 @@ export declare class MgTag {
|
|
|
46
45
|
*************/
|
|
47
46
|
/**
|
|
48
47
|
* Check if props are well configured on init
|
|
49
|
-
* @returns {void}
|
|
50
48
|
*/
|
|
51
49
|
componentWillLoad(): void;
|
|
52
50
|
/**
|
|
53
51
|
* Render
|
|
54
|
-
* @returns
|
|
52
|
+
* @returns HTML Element
|
|
55
53
|
*/
|
|
56
54
|
render(): HTMLElement;
|
|
57
55
|
}
|
|
@@ -40,56 +40,48 @@ export declare class MgTooltip {
|
|
|
40
40
|
disabled: boolean;
|
|
41
41
|
/**
|
|
42
42
|
* Show tooltip
|
|
43
|
-
* @returns {void}
|
|
44
43
|
*/
|
|
45
44
|
private show;
|
|
46
45
|
/**
|
|
47
46
|
* Hide tooltip
|
|
48
|
-
* @returns {void}
|
|
49
47
|
*/
|
|
50
48
|
private hide;
|
|
51
49
|
/**
|
|
52
50
|
* Check if clicked outside of component and hidde tooltip
|
|
53
|
-
* @param
|
|
54
|
-
* @returns {void}
|
|
51
|
+
* @param event - mouse event
|
|
55
52
|
*/
|
|
56
53
|
private clickOutside;
|
|
57
54
|
/**
|
|
58
55
|
* Check if 'Escape' key is pressed of component and hidde tooltip
|
|
59
|
-
* @param
|
|
60
|
-
* @returns {void}
|
|
56
|
+
* @param event - keyboard event
|
|
61
57
|
*/
|
|
62
58
|
private pressEscape;
|
|
63
59
|
/**
|
|
64
60
|
* Method to set display prop
|
|
65
|
-
* @param
|
|
66
|
-
* @param
|
|
67
|
-
* @returns {void}
|
|
61
|
+
* @param newValue - display prop new value
|
|
62
|
+
* @param condition - additionnal condition to apply display prop newValue
|
|
68
63
|
*/
|
|
69
64
|
private setDisplay;
|
|
70
65
|
/**
|
|
71
66
|
* Action for tooltip element and tooltiped element mouse listener
|
|
72
|
-
* @param
|
|
73
|
-
* @param
|
|
74
|
-
* @param
|
|
75
|
-
* @returns {void}
|
|
67
|
+
* @param elementGuard - tooltip element guard
|
|
68
|
+
* @param isMouseenter - mouseenter validation
|
|
69
|
+
* @param conditionalGuard - guard condition
|
|
76
70
|
*/
|
|
77
71
|
private tooltipMouseListenerAction;
|
|
78
72
|
/**
|
|
79
73
|
* Method to reset guard value
|
|
80
|
-
* @returns {void}
|
|
81
74
|
*/
|
|
82
75
|
private resetGuard;
|
|
83
76
|
/**
|
|
84
77
|
* Update slot content when it is a mg-button
|
|
85
|
-
* @param
|
|
86
|
-
* @returns {void}
|
|
78
|
+
* @param mgButton - slotted mg-button
|
|
87
79
|
*/
|
|
88
80
|
private setMgButtonWrapper;
|
|
89
81
|
/**
|
|
90
82
|
* Init tooltip
|
|
91
|
-
* @param
|
|
92
|
-
* @param
|
|
83
|
+
* @param slotElement - slotted element
|
|
84
|
+
* @param interactiveElement - interactive element
|
|
93
85
|
*/
|
|
94
86
|
private initTooltip;
|
|
95
87
|
/*************
|
|
@@ -97,19 +89,21 @@ export declare class MgTooltip {
|
|
|
97
89
|
*************/
|
|
98
90
|
/**
|
|
99
91
|
* set variables
|
|
100
|
-
* @returns {void}
|
|
101
92
|
*/
|
|
102
93
|
componentWillLoad(): void;
|
|
103
94
|
/**
|
|
104
95
|
* Get slotted element
|
|
105
96
|
* Check if it already contain an interactive element, if not we need to add a tabIndex attribute
|
|
106
97
|
* We need to attach the focused element to the tooltip (aria-describedby)
|
|
107
|
-
* @returns {void}
|
|
108
98
|
*/
|
|
109
99
|
componentDidLoad(): void;
|
|
100
|
+
/**
|
|
101
|
+
* update popper position after props change on component did update hook to benefit from render ended
|
|
102
|
+
*/
|
|
103
|
+
componentDidUpdate(): void;
|
|
110
104
|
/**
|
|
111
105
|
* Render
|
|
112
|
-
* @returns
|
|
106
|
+
* @returns HTML Element
|
|
113
107
|
*/
|
|
114
108
|
render(): HTMLElement;
|
|
115
109
|
}
|
|
@@ -6,7 +6,7 @@ import { ClassList } from '../../../utils/components.utils';
|
|
|
6
6
|
*/
|
|
7
7
|
interface MgInputProps {
|
|
8
8
|
identifier: string;
|
|
9
|
-
|
|
9
|
+
classCollection: ClassList;
|
|
10
10
|
label: string;
|
|
11
11
|
labelOnTop: boolean;
|
|
12
12
|
labelHide: boolean;
|
|
@@ -24,10 +24,10 @@ interface MgInputProps {
|
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Get input template
|
|
27
|
-
* @param
|
|
28
|
-
* @param
|
|
29
|
-
* @param
|
|
30
|
-
* @returns
|
|
27
|
+
* @param props - MgInput Interface Props
|
|
28
|
+
* @param children - Represent scoped elements
|
|
29
|
+
* @param utils - Stencil.js utils
|
|
30
|
+
* @returns input template
|
|
31
31
|
*/
|
|
32
32
|
export declare const MgInput: FunctionalComponent<MgInputProps>;
|
|
33
33
|
export {};
|
package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts
CHANGED
|
@@ -17,3 +17,11 @@ export type CheckboxValue = {
|
|
|
17
17
|
value: boolean | null;
|
|
18
18
|
disabled?: boolean;
|
|
19
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* List of all availables checkbox type
|
|
22
|
+
*/
|
|
23
|
+
export declare const checkboxTypes: readonly ["checkbox", "multi"];
|
|
24
|
+
/**
|
|
25
|
+
* ChecboxType from checkbox types
|
|
26
|
+
*/
|
|
27
|
+
export type CheckboxType = (typeof checkboxTypes)[number];
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { EventEmitter } from '../../../../stencil-public-runtime';
|
|
2
2
|
import { ClassList } from '../../../../utils/components.utils';
|
|
3
|
-
import { CheckboxItem, CheckboxValue } from './mg-input-checkbox.conf';
|
|
3
|
+
import { CheckboxItem, CheckboxType, CheckboxValue } 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
10
|
private messages;
|
|
10
11
|
private hasDisplayedError;
|
|
12
|
+
private baseClassName;
|
|
11
13
|
/**************
|
|
12
14
|
* Decorators *
|
|
13
15
|
**************/
|
|
@@ -22,6 +24,11 @@ export declare class MgInputCheckbox {
|
|
|
22
24
|
*/
|
|
23
25
|
value: CheckboxValue[];
|
|
24
26
|
validateValue(newValue: MgInputCheckbox['value']): void;
|
|
27
|
+
/**
|
|
28
|
+
* Define checkbox type
|
|
29
|
+
*/
|
|
30
|
+
type: CheckboxType;
|
|
31
|
+
validateType(newValue: MgInputCheckbox['type']): void;
|
|
25
32
|
/**
|
|
26
33
|
* Identifier is used for the element ID (id is a reserved prop in Stencil.js)
|
|
27
34
|
*/
|
|
@@ -60,6 +67,7 @@ export declare class MgInputCheckbox {
|
|
|
60
67
|
*/
|
|
61
68
|
disabled: boolean;
|
|
62
69
|
handleValidityChange(newValue: boolean, _oldValue: boolean, prop: string): void;
|
|
70
|
+
validateDisabled(newValue: MgInputCheckbox['disabled']): void;
|
|
63
71
|
/**
|
|
64
72
|
* Add a tooltip message next to the input
|
|
65
73
|
*/
|
|
@@ -79,7 +87,7 @@ export declare class MgInputCheckbox {
|
|
|
79
87
|
/**
|
|
80
88
|
* Component classes
|
|
81
89
|
*/
|
|
82
|
-
|
|
90
|
+
classCollection: ClassList;
|
|
83
91
|
/**
|
|
84
92
|
* Error message to display
|
|
85
93
|
*/
|
|
@@ -98,42 +106,67 @@ export declare class MgInputCheckbox {
|
|
|
98
106
|
inputValid: EventEmitter<MgInputCheckbox['valid']>;
|
|
99
107
|
/**
|
|
100
108
|
* Public method to display errors
|
|
101
|
-
* @returns {Promise<void>}
|
|
102
109
|
*/
|
|
103
110
|
displayError(): Promise<void>;
|
|
104
111
|
/**
|
|
105
112
|
* Handle input event
|
|
106
|
-
* @param
|
|
113
|
+
* @param event - input event
|
|
107
114
|
*/
|
|
108
115
|
private handleInput;
|
|
116
|
+
/**
|
|
117
|
+
* Keyboard handler
|
|
118
|
+
* @param event - to trak "tab" key
|
|
119
|
+
*/
|
|
120
|
+
private handleKeydown;
|
|
109
121
|
/**
|
|
110
122
|
* Handle blur event
|
|
111
123
|
*/
|
|
112
124
|
private handleBlur;
|
|
113
125
|
/**
|
|
114
126
|
* get invalid element
|
|
115
|
-
* @returns
|
|
127
|
+
* @returns element
|
|
116
128
|
*/
|
|
117
129
|
private getInvalidElement;
|
|
118
130
|
/**
|
|
119
131
|
* Check if input is valid
|
|
120
132
|
*/
|
|
121
133
|
private checkValidity;
|
|
134
|
+
/**
|
|
135
|
+
* Render button text
|
|
136
|
+
* @param selectedValuesNb - nb of selected values
|
|
137
|
+
* @returns translated message
|
|
138
|
+
*/
|
|
139
|
+
private renderButtonText;
|
|
122
140
|
/**
|
|
123
141
|
* Set input error message
|
|
124
142
|
*/
|
|
125
143
|
private setErrorMessage;
|
|
144
|
+
/**
|
|
145
|
+
* Method to get mg-popover identifier
|
|
146
|
+
* @returns MgPopover identifier
|
|
147
|
+
*/
|
|
148
|
+
private getMgPopoverIdentifier;
|
|
126
149
|
/*************
|
|
127
150
|
* Lifecycle *
|
|
128
151
|
*************/
|
|
129
152
|
/**
|
|
130
153
|
* Check if component props are well configured on init
|
|
131
|
-
* @returns
|
|
154
|
+
* @returns timeout
|
|
132
155
|
*/
|
|
133
156
|
componentWillLoad(): ReturnType<typeof setTimeout>;
|
|
157
|
+
/**
|
|
158
|
+
* render checkbox multi element
|
|
159
|
+
* @returns html element
|
|
160
|
+
*/
|
|
161
|
+
private renderCheckboxMulti;
|
|
162
|
+
/**
|
|
163
|
+
* Render checkbox element
|
|
164
|
+
* @returns HTML Element
|
|
165
|
+
*/
|
|
166
|
+
private renderCheckboxes;
|
|
134
167
|
/**
|
|
135
168
|
* Render
|
|
136
|
-
* @returns
|
|
169
|
+
* @returns HTML Element
|
|
137
170
|
*/
|
|
138
171
|
render(): HTMLElement;
|
|
139
172
|
}
|
|
@@ -84,7 +84,7 @@ export declare class MgInputDate {
|
|
|
84
84
|
/**
|
|
85
85
|
* Component classes
|
|
86
86
|
*/
|
|
87
|
-
|
|
87
|
+
classCollection: ClassList;
|
|
88
88
|
/**
|
|
89
89
|
* Error message to display
|
|
90
90
|
*/
|
|
@@ -99,7 +99,6 @@ export declare class MgInputDate {
|
|
|
99
99
|
inputValid: EventEmitter<boolean>;
|
|
100
100
|
/**
|
|
101
101
|
* Public method to display errors
|
|
102
|
-
* @returns {Promise<void>}
|
|
103
102
|
*/
|
|
104
103
|
displayError(): Promise<void>;
|
|
105
104
|
/**
|
|
@@ -116,12 +115,11 @@ export declare class MgInputDate {
|
|
|
116
115
|
private checkValidity;
|
|
117
116
|
/**
|
|
118
117
|
* get input error code
|
|
119
|
-
* @returns
|
|
118
|
+
* @returns error code
|
|
120
119
|
*/
|
|
121
120
|
private getInputError;
|
|
122
121
|
/**
|
|
123
122
|
* Check input errors
|
|
124
|
-
* @returns {void}
|
|
125
123
|
*/
|
|
126
124
|
private setErrorMessage;
|
|
127
125
|
/*************
|
|
@@ -129,12 +127,12 @@ export declare class MgInputDate {
|
|
|
129
127
|
*************/
|
|
130
128
|
/**
|
|
131
129
|
* Check if component props are well configured on init
|
|
132
|
-
* @returns
|
|
130
|
+
* @returns timeout
|
|
133
131
|
*/
|
|
134
132
|
componentWillLoad(): ReturnType<typeof setTimeout>;
|
|
135
133
|
/**
|
|
136
134
|
* Render
|
|
137
|
-
* @returns
|
|
135
|
+
* @returns HTML Element
|
|
138
136
|
*/
|
|
139
137
|
render(): HTMLElement;
|
|
140
138
|
}
|
|
@@ -115,7 +115,7 @@ export declare class MgInputNumeric {
|
|
|
115
115
|
/**
|
|
116
116
|
* Component classes
|
|
117
117
|
*/
|
|
118
|
-
|
|
118
|
+
classCollection: ClassList;
|
|
119
119
|
/**
|
|
120
120
|
* Error message to display
|
|
121
121
|
*/
|
|
@@ -134,54 +134,47 @@ export declare class MgInputNumeric {
|
|
|
134
134
|
inputValid: EventEmitter<boolean>;
|
|
135
135
|
/**
|
|
136
136
|
* Public method to display errors
|
|
137
|
-
* @returns {Promise<void>}
|
|
138
137
|
*/
|
|
139
138
|
displayError(): Promise<void>;
|
|
140
139
|
/**
|
|
141
140
|
* Displayed value in input
|
|
142
141
|
* Change on focus/blur
|
|
143
|
-
* @returns
|
|
142
|
+
* @returns display value
|
|
144
143
|
*/
|
|
145
144
|
private displayValue;
|
|
146
145
|
/**
|
|
147
146
|
* Handle input event
|
|
148
|
-
* @returns {void}
|
|
149
147
|
*/
|
|
150
148
|
private handleInput;
|
|
151
149
|
/**
|
|
152
150
|
* Handle focus event
|
|
153
|
-
* @returns {void}
|
|
154
151
|
*/
|
|
155
152
|
private handleFocus;
|
|
156
153
|
/**
|
|
157
154
|
* Handle blur event
|
|
158
|
-
* @returns {void}
|
|
159
155
|
*/
|
|
160
156
|
private handleBlur;
|
|
161
157
|
/**
|
|
162
158
|
* Check if input is valid
|
|
163
|
-
* @returns {void}
|
|
164
159
|
*/
|
|
165
160
|
private checkValidity;
|
|
166
161
|
/**
|
|
167
162
|
* Set input error message
|
|
168
|
-
* @returns {void}
|
|
169
163
|
*/
|
|
170
164
|
private setErrorMessage;
|
|
171
165
|
/**
|
|
172
166
|
* Get input error code
|
|
173
|
-
* @returns
|
|
167
|
+
* @returns error code
|
|
174
168
|
*/
|
|
175
169
|
private getInputError;
|
|
176
170
|
/**
|
|
177
171
|
* Format value based on type
|
|
178
|
-
* @param
|
|
179
|
-
* @returns
|
|
172
|
+
* @param value - value to format
|
|
173
|
+
* @returns formated local value
|
|
180
174
|
*/
|
|
181
175
|
private formatValue;
|
|
182
176
|
/**
|
|
183
177
|
* Validate append slot
|
|
184
|
-
* @returns {void}
|
|
185
178
|
*/
|
|
186
179
|
private validateAppendSlot;
|
|
187
180
|
/*************
|
|
@@ -189,12 +182,12 @@ export declare class MgInputNumeric {
|
|
|
189
182
|
*************/
|
|
190
183
|
/**
|
|
191
184
|
* Check if component props are well configured on init
|
|
192
|
-
* @returns
|
|
185
|
+
* @returns timeout
|
|
193
186
|
*/
|
|
194
187
|
componentWillLoad(): ReturnType<typeof setTimeout>;
|
|
195
188
|
/**
|
|
196
189
|
* Render
|
|
197
|
-
* @returns
|
|
190
|
+
* @returns HTML Element
|
|
198
191
|
*/
|
|
199
192
|
render(): HTMLElement;
|
|
200
193
|
}
|
|
@@ -82,7 +82,7 @@ export declare class MgInputPassword {
|
|
|
82
82
|
/**
|
|
83
83
|
* Component classes
|
|
84
84
|
*/
|
|
85
|
-
|
|
85
|
+
classCollection: ClassList;
|
|
86
86
|
/**
|
|
87
87
|
* Error message to display
|
|
88
88
|
*/
|
|
@@ -97,7 +97,6 @@ export declare class MgInputPassword {
|
|
|
97
97
|
inputValid: EventEmitter<boolean>;
|
|
98
98
|
/**
|
|
99
99
|
* Public method to display errors
|
|
100
|
-
* @returns {Promise<void>}
|
|
101
100
|
*/
|
|
102
101
|
displayError(): Promise<void>;
|
|
103
102
|
/**
|
|
@@ -121,12 +120,12 @@ export declare class MgInputPassword {
|
|
|
121
120
|
*************/
|
|
122
121
|
/**
|
|
123
122
|
* Check if component props are well configured on init
|
|
124
|
-
* @returns
|
|
123
|
+
* @returns timeout
|
|
125
124
|
*/
|
|
126
125
|
componentWillLoad(): ReturnType<typeof setTimeout>;
|
|
127
126
|
/**
|
|
128
127
|
* Render
|
|
129
|
-
* @returns
|
|
128
|
+
* @returns HTML Element
|
|
130
129
|
*/
|
|
131
130
|
render(): HTMLElement;
|
|
132
131
|
}
|