@mgdis/mg-components 6.14.0 → 6.15.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-DzBkSgSK.js → index-BGxkpQwi.js} +7 -1
- package/dist/cjs/{index-DUJwxnoi.js → index-CpENFzEo.js} +2 -2
- package/dist/cjs/{index-CwjAofQ1.js → index-iUZvsp-F.js} +55 -31
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/mg-action-more_37.cjs.entry.js +431 -208
- package/dist/cjs/mg-alert.cjs.entry.js +4 -4
- package/dist/cjs/mg-components.cjs.js +3 -3
- package/dist/cjs/mg-input-combobox.cjs.entry.js +145 -81
- package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +1248 -16004
- package/dist/cjs/{mg-input.conf-WTsvDfpC.js → mg-input.conf-CwjEAih3.js} +7 -0
- package/dist/cjs/mg-input.utils-D-ASK4ua.js +49 -0
- package/dist/cjs/mg-loader.cjs.entry.js +4 -4
- package/dist/cjs/mg-progress.cjs.entry.js +3 -3
- package/dist/collection/assets/icons/index.js +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/atoms/mg-icon/mg-icon.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input/mg-input.conf.js +6 -0
- package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +93 -22
- package/dist/collection/components/molecules/inputs/mg-input/mg-input.utils.js +21 -0
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +2 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +49 -106
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +123 -48
- package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js +140 -56
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +6 -1
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +63 -10
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +54 -6
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +2 -2
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +142 -9
- package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js +1 -1
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +2 -2
- package/dist/collection/components/molecules/mg-alert/mg-alert.js +1 -1
- package/dist/collection/components/molecules/mg-details/mg-details.js +1 -1
- package/dist/collection/components/molecules/mg-form/mg-form.js +1 -1
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +1 -1
- package/dist/collection/components/molecules/mg-loader/mg-loader.js +1 -1
- package/dist/collection/components/molecules/mg-message/mg-message.js +2 -2
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +2 -2
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +1 -1
- package/dist/collection/components/molecules/mg-progress/mg-progress.js +1 -1
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -1
- package/dist/collection/components/molecules/mg-table/mg-table.js +2 -2
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +1 -1
- package/dist/collection/locales/en/messages.json +23 -14
- package/dist/collection/locales/fr/messages.json +24 -15
- package/dist/components/index2.js +3 -3
- package/dist/components/index3.js +55 -31
- package/dist/components/mg-action-more.js +2 -2
- package/dist/components/mg-alert.js +2 -2
- package/dist/components/mg-badge2.js +1 -1
- package/dist/components/mg-button2.js +1 -1
- package/dist/components/mg-card2.js +1 -1
- package/dist/components/mg-character-left2.js +1 -1
- package/dist/components/mg-details.js +1 -97
- package/dist/components/mg-details2.js +99 -0
- package/dist/components/mg-divider2.js +1 -1
- package/dist/components/mg-form.js +2 -2
- package/dist/components/mg-icon2.js +1 -1
- package/dist/components/mg-illustrated-message.js +2 -2
- package/dist/components/mg-input-checkbox-paginated2.js +43 -124
- package/dist/components/mg-input-checkbox.js +136 -62
- package/dist/components/mg-input-combobox.js +135 -63
- package/dist/components/mg-input-date.js +9 -3
- package/dist/components/mg-input-numeric.js +14 -3
- package/dist/components/mg-input-password.js +10 -4
- package/dist/components/mg-input-radio.js +54 -13
- package/dist/components/mg-input-rich-text-editor.js +1266 -16016
- package/dist/components/mg-input-select2.js +45 -9
- package/dist/components/mg-input-text2.js +10 -4
- package/dist/components/mg-input-textarea.js +10 -4
- package/dist/components/mg-input-title2.js +1 -1
- package/dist/components/mg-input-toggle.js +97 -12
- package/dist/components/mg-input.utils.js +24 -0
- package/dist/components/mg-input2.js +100 -23
- package/dist/components/mg-item-more2.js +2 -2
- package/dist/components/mg-loader2.js +2 -2
- package/dist/components/mg-menu-item2.js +1 -1
- package/dist/components/mg-message2.js +3 -3
- package/dist/components/mg-modal.js +3 -3
- package/dist/components/mg-pagination.js +233 -1
- package/dist/components/mg-panel.js +14 -8
- package/dist/components/mg-popover-content2.js +2 -2
- package/dist/components/mg-popover2.js +2 -2
- package/dist/components/mg-progress.js +2 -2
- package/dist/components/mg-skip-links.js +2 -2
- package/dist/components/mg-table.js +3 -3
- package/dist/components/mg-tabs.js +1 -311
- package/dist/components/mg-tabs2.js +313 -0
- package/dist/components/mg-tag.js +1 -1
- package/dist/components/mg-tooltip-content2.js +1 -1
- package/dist/components/mg-tooltip2.js +2 -2
- package/dist/esm/{index-Bv7NHR-W.js → index-CKB-AnCZ.js} +55 -31
- package/dist/esm/{index-Degtjvph.js → index-DhAOnZJn.js} +7 -1
- package/dist/esm/{index-Dr7GYvIz.js → index-WtiuOkLj.js} +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mg-action-more_37.entry.js +426 -203
- package/dist/esm/mg-alert.entry.js +4 -4
- package/dist/esm/mg-components.js +4 -4
- package/dist/esm/mg-input-combobox.entry.js +125 -61
- package/dist/esm/mg-input-rich-text-editor.entry.js +1249 -16005
- package/dist/esm/{mg-input.conf-CNgv8hc5.js → mg-input.conf-BAUTlb6r.js} +7 -1
- package/dist/esm/mg-input.utils-BYI03zSi.js +46 -0
- package/dist/esm/mg-loader.entry.js +4 -4
- package/dist/esm/mg-progress.entry.js +3 -3
- package/dist/mg-components/locales/en/messages.json +23 -14
- package/dist/mg-components/locales/fr/messages.json +24 -15
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/p-31856cff.entry.js +1 -0
- package/dist/mg-components/{p-056ba467.entry.js → p-420daa1e.entry.js} +1 -1
- package/dist/mg-components/{p-d13a6fdc.entry.js → p-47e19783.entry.js} +1 -1
- package/dist/mg-components/p-67af6274.entry.js +1 -0
- package/dist/mg-components/p-698dfc6c.entry.js +1 -0
- package/dist/mg-components/p-BAUTlb6r.js +1 -0
- package/dist/mg-components/p-CKB-AnCZ.js +1 -0
- package/dist/mg-components/p-DhAOnZJn.js +2 -0
- package/dist/mg-components/p-PuX-pdL4.js +1 -0
- package/dist/mg-components/p-WtiuOkLj.js +1 -0
- package/dist/mg-components/p-a0fa44cf.entry.js +1 -0
- package/dist/types/assets/icons/index.d.ts +6 -0
- package/dist/types/components/molecules/inputs/mg-input/mg-input.conf.d.ts +13 -0
- package/dist/types/components/molecules/inputs/mg-input/mg-input.d.ts +15 -4
- package/dist/types/components/molecules/inputs/mg-input/mg-input.utils.d.ts +8 -0
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +17 -40
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +1 -2
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +36 -9
- package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.d.ts +17 -3
- package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +18 -0
- package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +18 -0
- package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +40 -4
- package/dist/types/components.d.ts +69 -40
- package/ide/intellij/web-types.json +148 -22
- package/ide/vscode/html-custom-data.json +143 -9
- package/package.json +15 -15
- package/dist/cjs/events.utils-D5SAtkpQ.js +0 -25
- package/dist/components/mg-pagination2.js +0 -229
- package/dist/esm/events.utils-yMGqY8YG.js +0 -23
- package/dist/mg-components/p-625c463c.entry.js +0 -1
- package/dist/mg-components/p-Bv7NHR-W.js +0 -1
- package/dist/mg-components/p-CNgv8hc5.js +0 -1
- package/dist/mg-components/p-Degtjvph.js +0 -2
- package/dist/mg-components/p-Dr7GYvIz.js +0 -1
- package/dist/mg-components/p-c522f3c1.entry.js +0 -1
- package/dist/mg-components/p-cac23bd7.entry.js +0 -1
- package/dist/mg-components/p-e75f5383.entry.js +0 -10
- package/dist/mg-components/p-yMGqY8YG.js +0 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
|
-
import { P as Paginate, C as ClassList, f as formatID,
|
|
3
|
-
import { d as defineCustomElement$8, c as classReadonly, a as classDisabled, w as widths } from './mg-input2.js';
|
|
2
|
+
import { P as Paginate, C as ClassList, f as formatID, e as Cursor, h as isObject, n as nextTick, j as Page, k as getObjectValueFromKey, t as toString, d as allItemsAreString, i as isValidString } from './index2.js';
|
|
3
|
+
import { d as defineCustomElement$8, C as CustomError, c as classReadonly, a as classDisabled, w as widths } from './mg-input2.js';
|
|
4
4
|
import { i as initLocales } from './index3.js';
|
|
5
5
|
import { K as Keys } from './events.utils.js';
|
|
6
|
-
import { d as
|
|
7
|
-
import { d as defineCustomElement$
|
|
6
|
+
import { d as defineErrorMessage } from './mg-input.utils.js';
|
|
7
|
+
import { d as defineCustomElement$c } from './mg-button2.js';
|
|
8
|
+
import { d as defineCustomElement$b } from './mg-card2.js';
|
|
9
|
+
import { d as defineCustomElement$a } from './mg-details2.js';
|
|
8
10
|
import { d as defineCustomElement$9 } from './mg-icon2.js';
|
|
9
11
|
import { d as defineCustomElement$7 } from './mg-input-title2.js';
|
|
10
12
|
import { d as defineCustomElement$6 } from './mg-loader2.js';
|
|
@@ -13,7 +15,7 @@ import { d as defineCustomElement$4 } from './mg-popover-content2.js';
|
|
|
13
15
|
import { d as defineCustomElement$3 } from './mg-tooltip2.js';
|
|
14
16
|
import { d as defineCustomElement$2 } from './mg-tooltip-content2.js';
|
|
15
17
|
|
|
16
|
-
const mgInputComboboxCss = ".mg-c-input__box{height:var(--mg-b-size-min-height);box-sizing:border-box;padding:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2) var(--mg-b-size-8);border-width:var(--mg-c-input-border-width);border-style:solid;border-color:var(--mg-c-input-color-border);border-radius:var(--mg-c-input-border-radius);background-color:var(--mg-b-color-light);color:var(--mg-b-color-dark);font-family:inherit;font-size:var(--mg-b-font-size);text-align:var(--mg-c-input-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-c-input-placeholder-color-text);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 var(--mg-b-size-4) var(--mg-c-input-color-box-shadow-focus)}.mg-c-input__box:disabled{opacity:var(--mg-b-opacity-element-disabled)}.mg-c-input.mg-c-input--has-error .mg-c-input__box{border-color:var(--mg-b-color-danger)}.mg-c-input.mg-c-input--is-input-group-append{--mg-c-button-border-radius-top-left:0;--mg-c-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:calc(-1*var(--mg-b-size-border));border-bottom-right-radius:0;border-top-right-radius:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box:focus-visible{outline-offset:-0.2rem;outline-style:solid;outline-width:.2rem}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-c-button-border-radius-top-right:0;--mg-c-button-border-radius-bottom-right:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-c-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-c-button-border-radius-top-right:var(--mg-c-input-border-radius);--mg-c-button-border-radius-bottom-right:var(--mg-c-input-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){align-self:start;padding-top:calc((var(--mg-b-size-min-height) - var(--mg-b-size-16))/2)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left>mg-icon:first-of-type,.mg-c-input.mg-c-input--has-icon .mg-c-input__input-group-container>mg-icon:first-of-type{position:absolute;top:50%;left:var(--mg-b-size-8);color:var(--mg-c-input-color-icon);transform:translateY(-50%)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left .mg-c-input__box,.mg-c-input.mg-c-input--has-icon .mg-c-input__input-group-container .mg-c-input__box{padding-left:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2)}.mg-c-input__input-container{width:100%;flex:1 auto}.mg-c-input.mg-c-input--width-full .mg-c-input__box{width:100%}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left,.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left,.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left{width:max-content}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left:has(textarea),.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left:has(textarea),.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left:has(textarea){flex-grow:inherit}.mg-c-input.mg-c-input--width-2 .mg-c-input__box{width:var(--mg-b-size-48)}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(var(--mg-b-size-48) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-4 .mg-c-input__box{width:var(--mg-b-size-72)}.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(var(--mg-b-size-72) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-16 .mg-c-input__box{width:calc(26*var(--mg-b-size-8))}.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(calc(26 * var(--mg-b-size-8)) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-full:not(.mg-c-input--label-on-top){justify-content:stretch}.mg-c-input.mg-c-input--is-input-group-append ::slotted([slot=append-input]),.mg-c-input.mg-c-input--is-append-input-slot-content ::slotted([slot=append-input]){width:auto}:host(.mg-c-input.mg-c-input--width-full) ::slotted(*:not(mg-input-title)){width:100%;max-width:100%}.mg-c-input__readonly-value{min-height:var(--mg-b-font-size);align-self:flex-start;margin-top:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2);overflow-wrap:anywhere}.mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){*{animation:none !important;transition:none !important}}a{color:inherit;text-decoration:underline}a:hover,a:focus,a:active{text-decoration:none}.mg-c-input.mg-c-input--combobox mg-popover{--mg-c-card-overflow:hidden;--mg-c-popover-padding-vertical:0;--mg-c-popover-padding-horizontal:0}.mg-c-input.mg-c-input--combobox .mg-c-input__input-group-container{position:relative}.mg-c-input.mg-c-input--combobox .mg-c-input__box{cursor:pointer}.mg-c-input.mg-c-input--combobox .mg-c-input__popover-container{display:flex;min-width:var(--mg-c-input-list-width);max-height:calc(50*var(--mg-b-size-8) - var(--mg-b-size-32));flex-direction:column;gap:var(--mg-b-size-4);overflow-y:scroll}.mg-c-input.mg-c-input--combobox .mg-c-
|
|
18
|
+
const mgInputComboboxCss = ".mg-c-input__error-details{margin:0}.mg-c-input__box{height:var(--mg-b-size-min-height);box-sizing:border-box;padding:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2) var(--mg-b-size-8);border-width:var(--mg-c-input-border-width);border-style:solid;border-color:var(--mg-c-input-color-border);border-radius:var(--mg-c-input-border-radius);background-color:var(--mg-b-color-light);color:var(--mg-b-color-dark);font-family:inherit;font-size:var(--mg-b-font-size);text-align:var(--mg-c-input-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-c-input-placeholder-color-text);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 var(--mg-b-size-4) var(--mg-c-input-color-box-shadow-focus)}.mg-c-input__box:disabled{opacity:var(--mg-b-opacity-element-disabled)}.mg-c-input.mg-c-input--has-error .mg-c-input__box{border-color:var(--mg-b-color-danger)}.mg-c-input.mg-c-input--is-input-group-append{--mg-c-button-border-radius-top-left:0;--mg-c-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:calc(-1*var(--mg-b-size-border));border-bottom-right-radius:0;border-top-right-radius:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box:focus-visible{outline-offset:-0.2rem;outline-style:solid;outline-width:.2rem}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-c-button-border-radius-top-right:0;--mg-c-button-border-radius-bottom-right:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-c-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-c-button-border-radius-top-right:var(--mg-c-input-border-radius);--mg-c-button-border-radius-bottom-right:var(--mg-c-input-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){align-self:start;padding-top:calc((var(--mg-b-size-min-height) - var(--mg-b-size-16))/2)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left>mg-icon:first-of-type,.mg-c-input.mg-c-input--has-icon .mg-c-input__input-group-container>mg-icon:first-of-type{position:absolute;top:50%;left:var(--mg-b-size-8);color:var(--mg-c-input-color-icon);transform:translateY(-50%)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left .mg-c-input__box,.mg-c-input.mg-c-input--has-icon .mg-c-input__input-group-container .mg-c-input__box{padding-left:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2)}.mg-c-input__popover-info{padding:var(--mg-b-size-8);margin:0;color:var(--mg-b-color-neutral-90);text-align:center}.mg-c-input__input-container{width:100%;flex:1 auto}.mg-c-input.mg-c-input--width-full .mg-c-input__box{width:100%}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left,.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left,.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left{width:max-content}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left:has(textarea),.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left:has(textarea),.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left:has(textarea){flex-grow:inherit}.mg-c-input.mg-c-input--width-2 .mg-c-input__box{width:var(--mg-b-size-48)}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(var(--mg-b-size-48) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-4 .mg-c-input__box{width:var(--mg-b-size-72)}.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(var(--mg-b-size-72) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-16 .mg-c-input__box{width:calc(26*var(--mg-b-size-8))}.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(calc(26 * var(--mg-b-size-8)) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-full:not(.mg-c-input--label-on-top){justify-content:stretch}.mg-c-input.mg-c-input--is-input-group-append ::slotted([slot=append-input]),.mg-c-input.mg-c-input--is-append-input-slot-content ::slotted([slot=append-input]){width:auto}:host(.mg-c-input.mg-c-input--width-full) ::slotted(*:not(mg-input-title)){width:100%;max-width:100%}.mg-c-input__readonly-value{min-height:var(--mg-b-font-size);align-self:flex-start;margin-top:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2);overflow-wrap:anywhere}.mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){*{animation:none !important;transition:none !important}}a{color:inherit;text-decoration:underline}a:hover,a:focus,a:active{text-decoration:none}.mg-c-input.mg-c-input--combobox mg-popover{--mg-c-card-overflow:hidden;--mg-c-popover-padding-vertical:0;--mg-c-popover-padding-horizontal:0}.mg-c-input.mg-c-input--combobox .mg-c-input__input-group-container{position:relative}.mg-c-input.mg-c-input--combobox .mg-c-input__box:not(:disabled){cursor:pointer}.mg-c-input.mg-c-input--combobox .mg-c-input__popover-container{display:flex;min-width:var(--mg-c-input-list-width);max-height:calc(50*var(--mg-b-size-8) - var(--mg-b-size-32));flex-direction:column;gap:var(--mg-b-size-4);overflow-y:scroll}.mg-c-input.mg-c-input--combobox .mg-c-input__load-more{padding:0 var(--mg-b-size-8) var(--mg-b-size-4)}.mg-c-input.mg-c-input--combobox .mg-c-input__input-list{padding:0;margin:0;cursor:pointer;list-style:none}.mg-c-input.mg-c-input--combobox .mg-c-input__input-list-item{display:flex;padding:var(--mg-b-size-8)}.mg-c-input.mg-c-input--combobox .mg-c-input__input-list-item:hover,.mg-c-input.mg-c-input--combobox .mg-c-input__input-list-item.mg-c-input__input-list-item--focus-visible{background-color:var(--mg-b-color-neutral-20)}.mg-c-input.mg-c-input--combobox .mg-c-input__input-list-item.mg-c-input__input-list-item--selected{font-weight:700}.mg-c-input.mg-c-input--combobox .mg-c-input__input-list-item.mg-c-input__input-list-item--selected mg-icon{margin-left:auto}.mg-c-input.mg-c-input--combobox.mg-c-input--width-2 .mg-c-input__box{width:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2 + var(--mg-b-size-24) + var(--mg-b-size-min-height) + var(--mg-b-size-4))}.mg-c-input.mg-c-input--combobox.mg-c-input--width-4 .mg-c-input__box{width:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2 + var(--mg-b-size-48) + var(--mg-b-size-min-height) + var(--mg-b-size-4))}.mg-c-input.mg-c-input--combobox.mg-c-input--width-16 .mg-c-input__box{width:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2 + calc(23 * var(--mg-b-size-8)) + var(--mg-b-size-min-height) + var(--mg-b-size-4))}.mg-c-input.mg-c-input--combobox.mg-c-input--width-full mg-popover{--mg-c-popover-max-width:var(--mg-c-input-list-width, var(--mg-c-popover-max-width))}.mg-c-input.mg-c-input--combobox.mg-c-input--width-full .mg-c-input__input-group-container{display:flex;width:100%}.mg-c-input.mg-c-input--combobox.mg-c-input--width-full .mg-c-input__box{flex:1}.mg-c-input.mg-c-input--combobox.mg-c-input--input-append .mg-c-input__box{padding-right:calc(var(--mg-b-size-min-height) + var(--mg-b-size-4))}.mg-c-input.mg-c-input--combobox.mg-c-input--input-append .mg-c-input__box-append{position:absolute;top:0;right:0}";
|
|
17
19
|
|
|
18
20
|
/**
|
|
19
21
|
* Check if object is an item
|
|
@@ -58,7 +60,7 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
58
60
|
this.__attachShadow();
|
|
59
61
|
this.valueChange = createEvent(this, "value-change", 7);
|
|
60
62
|
this.filterChange = createEvent(this, "filter-change", 7);
|
|
61
|
-
this.
|
|
63
|
+
this.showMore = createEvent(this, "load-more", 7);
|
|
62
64
|
this.inputValid = createEvent(this, "input-valid", 7);
|
|
63
65
|
this.fetchError = createEvent(this, "fetch-error", 7);
|
|
64
66
|
/************
|
|
@@ -146,10 +148,12 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
146
148
|
*/
|
|
147
149
|
this.handleFilterInput = () => {
|
|
148
150
|
this.checkValidity();
|
|
149
|
-
if (this.hasDisplayedError)
|
|
151
|
+
if (this.hasDisplayedError) {
|
|
150
152
|
this.setErrorMessage();
|
|
151
|
-
|
|
153
|
+
}
|
|
154
|
+
if (!this.popoverDisplay) {
|
|
152
155
|
this.popoverDisplay = true;
|
|
156
|
+
}
|
|
153
157
|
// update filter with debounce to prevent filter update overload
|
|
154
158
|
if (!this.debounce) {
|
|
155
159
|
this.debounce = true;
|
|
@@ -206,7 +210,7 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
206
210
|
const option = this.option || this.options.items.find(this.isCurrentOption);
|
|
207
211
|
// Sets the value to the content of the focused option in the listbox.
|
|
208
212
|
if (this.popoverDisplay)
|
|
209
|
-
this.setValue(
|
|
213
|
+
this.setValue(option);
|
|
210
214
|
// Closes the popover.
|
|
211
215
|
this.popoverDisplay = false;
|
|
212
216
|
break;
|
|
@@ -327,28 +331,47 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
327
331
|
else
|
|
328
332
|
return '';
|
|
329
333
|
};
|
|
334
|
+
/**
|
|
335
|
+
* Test if component has no value error message displayed
|
|
336
|
+
* @returns truthy if compent display no value error message
|
|
337
|
+
*/
|
|
338
|
+
this.hasNoValueError = () => this.customError === CustomError.NoValue;
|
|
330
339
|
/**
|
|
331
340
|
* Check if input is valid
|
|
332
341
|
*/
|
|
333
342
|
this.checkValidity = () => {
|
|
334
|
-
|
|
343
|
+
// force validity with readonly|disabled states
|
|
344
|
+
this.setValidity(this.readonly || this.disabled);
|
|
335
345
|
};
|
|
336
346
|
/**
|
|
337
347
|
* Set input error message
|
|
338
|
-
* @param errorMessage - errorMessage override
|
|
339
348
|
*/
|
|
340
|
-
this.setErrorMessage = (
|
|
349
|
+
this.setErrorMessage = () => {
|
|
341
350
|
// Set error message
|
|
342
351
|
this.errorMessage = undefined;
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
this.
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
352
|
+
if (!this.valid) {
|
|
353
|
+
// Does have a custom error message
|
|
354
|
+
if (this.customError !== undefined && !Object.values(CustomError).includes(this.customError)) {
|
|
355
|
+
this.errorMessage = this.customError;
|
|
356
|
+
}
|
|
357
|
+
// no items
|
|
358
|
+
else if (this.hasNoValueError()) {
|
|
359
|
+
this.errorMessage = this.messages.errors.noValue;
|
|
360
|
+
}
|
|
361
|
+
// required
|
|
362
|
+
else if (this.input.validity.valueMissing) {
|
|
363
|
+
this.errorMessage = this.messages.errors.required;
|
|
364
|
+
}
|
|
350
365
|
}
|
|
351
366
|
};
|
|
367
|
+
/**
|
|
368
|
+
* Reset error message
|
|
369
|
+
*/
|
|
370
|
+
this.resetErrorMessage = () => {
|
|
371
|
+
this.checkValidity();
|
|
372
|
+
this.errorMessage = undefined;
|
|
373
|
+
this.hasDisplayedError = false;
|
|
374
|
+
};
|
|
352
375
|
/**
|
|
353
376
|
* Get filtered options from `filter` input value
|
|
354
377
|
* @returns filtered options
|
|
@@ -373,8 +396,8 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
373
396
|
else if (this.loadingAction === 'load-more') {
|
|
374
397
|
index = this.page.items.length - this.page.baseIndex;
|
|
375
398
|
}
|
|
376
|
-
// when action require a
|
|
377
|
-
// Set "
|
|
399
|
+
// when action require a showMore we fetch the API else we report action to next tick
|
|
400
|
+
// Set "Show more" if action match OR if next item not available in the current page
|
|
378
401
|
if (action.name === 'load-more') {
|
|
379
402
|
// wait for new element render and update scroll position
|
|
380
403
|
// set component loading
|
|
@@ -420,15 +443,15 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
420
443
|
* @returns promise
|
|
421
444
|
*/
|
|
422
445
|
this.goToNextPage = () => {
|
|
423
|
-
this.
|
|
424
|
-
if (
|
|
446
|
+
this.showMore.emit();
|
|
447
|
+
if (this.fetchurl !== undefined) {
|
|
425
448
|
return this.getOptions(typeof this.page.next === 'string' ? this.page.next : undefined).then(nextPage => {
|
|
426
|
-
if (
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
449
|
+
if (isObject(nextPage)) {
|
|
450
|
+
// merge items from current page and next page
|
|
451
|
+
const items = [...this.page.items, ...nextPage.items];
|
|
452
|
+
// create new options pagination withe merged items
|
|
453
|
+
this.options = new Paginate(items, { total: nextPage.total, next: nextPage.next, top: items.length });
|
|
454
|
+
}
|
|
432
455
|
});
|
|
433
456
|
}
|
|
434
457
|
else {
|
|
@@ -445,12 +468,20 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
445
468
|
* @returns promise
|
|
446
469
|
*/
|
|
447
470
|
this.updatePage = async () => {
|
|
448
|
-
if (
|
|
471
|
+
if (this.fetchurl !== undefined) {
|
|
449
472
|
return this.getOptions().then(page => {
|
|
450
|
-
if (
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
473
|
+
if (isObject(page)) {
|
|
474
|
+
// reset current options pagination from API response
|
|
475
|
+
this.options = new Paginate(page.items, { total: page.total, next: page.next, top: page.top });
|
|
476
|
+
// has items aren't updated with fetch mode we run the noValueError control here
|
|
477
|
+
if (this.filter.length === 0 && page.total === 0) {
|
|
478
|
+
this.displayError();
|
|
479
|
+
}
|
|
480
|
+
// force to reset error when noValueError is displaied
|
|
481
|
+
else if (this.invalid && this.hasNoValueError()) {
|
|
482
|
+
this.resetErrorMessage();
|
|
483
|
+
}
|
|
484
|
+
}
|
|
454
485
|
});
|
|
455
486
|
}
|
|
456
487
|
else {
|
|
@@ -469,14 +500,16 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
469
500
|
const response = await fetch(updateUrl, this.fetchoptions);
|
|
470
501
|
if (!response.ok) {
|
|
471
502
|
this.fetchError.emit(new Error(`${response.status} - ${response.statusText}`));
|
|
503
|
+
this.displayError();
|
|
472
504
|
return;
|
|
473
505
|
}
|
|
474
506
|
const json = await response.json();
|
|
475
|
-
const
|
|
476
|
-
|
|
477
|
-
|
|
507
|
+
const defaultItems = [];
|
|
508
|
+
const items = getObjectValueFromKey(json, this.fetchmappings.response.items, defaultItems).map((item) => ({
|
|
509
|
+
title: getObjectValueFromKey(item, this.fetchmappings.response.itemTitle, typeof item === 'string' ? item : JSON.stringify(item)),
|
|
510
|
+
value: getObjectValueFromKey(item, this.fetchmappings.response.itemValue, item),
|
|
478
511
|
}));
|
|
479
|
-
const total = Number(getObjectValueFromKey(json, this.fetchmappings.response.total,
|
|
512
|
+
const total = Number(getObjectValueFromKey(json, this.fetchmappings.response.total, defaultItems.length));
|
|
480
513
|
let next = getObjectValueFromKey(json, this.fetchmappings.response.next);
|
|
481
514
|
if (URL.canParse(updateUrl) && Boolean(next) && !URL.canParse(next)) {
|
|
482
515
|
const previousUrl = new URL(updateUrl);
|
|
@@ -488,6 +521,7 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
488
521
|
}
|
|
489
522
|
catch (error) {
|
|
490
523
|
this.fetchError.emit(error);
|
|
524
|
+
this.displayError();
|
|
491
525
|
}
|
|
492
526
|
};
|
|
493
527
|
}
|
|
@@ -496,24 +530,35 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
496
530
|
this.valueChange.emit(newValue);
|
|
497
531
|
}
|
|
498
532
|
watchItems(newValue) {
|
|
499
|
-
|
|
533
|
+
// fetch items
|
|
534
|
+
if (![undefined, null].includes(this.fetchurl) && [undefined, null].includes(newValue)) {
|
|
500
535
|
// skip newValue check
|
|
501
536
|
return;
|
|
502
537
|
}
|
|
503
|
-
|
|
538
|
+
// invalid items
|
|
539
|
+
else if (![undefined, null].includes(this.fetchurl) && Array.isArray(newValue)) {
|
|
504
540
|
throw new Error(`<mg-input-combobox> prop "items" values cannot be use with "fetchurl" prop defined. Passed value: ${toString(newValue)}.`);
|
|
505
541
|
}
|
|
506
|
-
// Empty
|
|
507
|
-
else if (Array.isArray(newValue) && newValue.length === 0) {
|
|
542
|
+
// Empty items
|
|
543
|
+
else if ([undefined, null].includes(newValue) || (Array.isArray(newValue) && newValue.length === 0)) {
|
|
508
544
|
this.options = new Paginate([]);
|
|
545
|
+
this.displayError();
|
|
509
546
|
}
|
|
510
547
|
// String array
|
|
511
548
|
else if (allItemsAreString(newValue)) {
|
|
512
549
|
this.options = new Paginate(newValue.map(item => ({ title: item, value: item })), { total: newValue.length });
|
|
550
|
+
// force to reset error when noValueError is displayed
|
|
551
|
+
if (this.invalid && this.hasNoValueError()) {
|
|
552
|
+
this.resetErrorMessage();
|
|
553
|
+
}
|
|
513
554
|
}
|
|
514
555
|
// Object array
|
|
515
556
|
else if (isItems(newValue)) {
|
|
516
557
|
this.options = new Paginate(newValue, { total: newValue.length });
|
|
558
|
+
// force to reset error when noValueError is displayed
|
|
559
|
+
if (this.invalid && this.hasNoValueError()) {
|
|
560
|
+
this.resetErrorMessage();
|
|
561
|
+
}
|
|
517
562
|
}
|
|
518
563
|
else {
|
|
519
564
|
throw new Error(`<mg-input-combobox> prop "items" values must be the same type, string or Option. Passed value: ${toString(newValue)}.`);
|
|
@@ -581,7 +626,7 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
581
626
|
}
|
|
582
627
|
}
|
|
583
628
|
watchOptions(newValue) {
|
|
584
|
-
this.page = newValue.getPage(0,
|
|
629
|
+
this.page = newValue.getPage(0, this.filter.length > 0 ? this.optionsFilter : undefined);
|
|
585
630
|
}
|
|
586
631
|
watchFilter(newValue) {
|
|
587
632
|
this.loadingWrapper({ name: 'load-data' });
|
|
@@ -647,8 +692,8 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
647
692
|
throw new Error('<mg-input-combobox> method "setError()" param "errorMessage" must be a string.');
|
|
648
693
|
}
|
|
649
694
|
else {
|
|
650
|
-
this.setValidity(valid);
|
|
651
|
-
this.setErrorMessage(
|
|
695
|
+
this.setValidity(valid, errorMessage);
|
|
696
|
+
this.setErrorMessage();
|
|
652
697
|
this.hasDisplayedError = this.invalid;
|
|
653
698
|
}
|
|
654
699
|
}
|
|
@@ -668,9 +713,7 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
668
713
|
// - Keep everything in sync both inside and outside the component
|
|
669
714
|
return new Promise(resolve => {
|
|
670
715
|
requestAnimationFrame(() => {
|
|
671
|
-
this.
|
|
672
|
-
this.errorMessage = undefined;
|
|
673
|
-
this.hasDisplayedError = false;
|
|
716
|
+
this.resetErrorMessage();
|
|
674
717
|
resolve();
|
|
675
718
|
});
|
|
676
719
|
});
|
|
@@ -693,15 +736,34 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
693
736
|
}
|
|
694
737
|
/**
|
|
695
738
|
* Method to set validity values
|
|
696
|
-
* @param
|
|
739
|
+
* @param newValidValue - new valid value. `true` will bypass input check.
|
|
740
|
+
* @param customErrorMessage - custom error message
|
|
697
741
|
*/
|
|
698
|
-
setValidity(
|
|
742
|
+
setValidity(newValidValue, customErrorMessage) {
|
|
743
|
+
var _a;
|
|
699
744
|
const oldValidValue = this.valid;
|
|
700
|
-
|
|
745
|
+
let valid = newValidValue;
|
|
746
|
+
// Set custom validity
|
|
747
|
+
if (!valid && this.input !== undefined) {
|
|
748
|
+
// custom errror, start by reset it
|
|
749
|
+
this.customError = undefined;
|
|
750
|
+
if (isValidString(customErrorMessage)) {
|
|
751
|
+
this.customError = customErrorMessage;
|
|
752
|
+
}
|
|
753
|
+
// no value
|
|
754
|
+
else if ((this.fetchurl === undefined ? ((_a = this.items) !== null && _a !== void 0 ? _a : []).length : this.page.total) === 0) {
|
|
755
|
+
this.customError = CustomError.NoValue;
|
|
756
|
+
}
|
|
757
|
+
// get new input validity from validity state
|
|
758
|
+
valid = this.input.checkValidity() && this.customError === undefined;
|
|
759
|
+
}
|
|
760
|
+
// set valid/invalid props
|
|
761
|
+
this.valid = valid;
|
|
701
762
|
this.invalid = !this.valid;
|
|
702
763
|
// We need to send valid event even if it is the same value
|
|
703
|
-
if (this.handlerInProgress === undefined || (this.handlerInProgress === 'blur' && this.valid !== oldValidValue))
|
|
764
|
+
if (this.handlerInProgress === undefined || (this.handlerInProgress === 'blur' && this.valid !== oldValidValue)) {
|
|
704
765
|
this.inputValid.emit(this.valid);
|
|
766
|
+
}
|
|
705
767
|
}
|
|
706
768
|
/*************
|
|
707
769
|
* Lifecycle *
|
|
@@ -742,15 +804,19 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
742
804
|
const listId = `${this.identifier}-list`;
|
|
743
805
|
const readonlyValue = this.getValueTitle();
|
|
744
806
|
const withResetButton = this.value && !this.disabled;
|
|
807
|
+
const disabled = this.disabled || this.hasNoValueError();
|
|
745
808
|
let popoverContent;
|
|
746
|
-
if (((_a = this.page) === null || _a === void 0 ? void 0 : _a.items.length) > 0)
|
|
809
|
+
if (((_a = this.page) === null || _a === void 0 ? void 0 : _a.items.length) > 0) {
|
|
747
810
|
popoverContent = 'list';
|
|
748
|
-
|
|
811
|
+
}
|
|
812
|
+
else if (((_b = this.page) === null || _b === void 0 ? void 0 : _b.items.length) === 0 && this.filter.length > 0) {
|
|
749
813
|
popoverContent = 'notfound';
|
|
750
|
-
|
|
814
|
+
}
|
|
815
|
+
else if (((_c = this.page) === null || _c === void 0 ? void 0 : _c.items.length) === 0) {
|
|
751
816
|
popoverContent = 'notavailable';
|
|
817
|
+
}
|
|
752
818
|
let activeDescendant;
|
|
753
|
-
if (
|
|
819
|
+
if (![null, undefined].includes((_d = this.option) === null || _d === void 0 ? void 0 : _d.value)) {
|
|
754
820
|
activeDescendant = this.option.value;
|
|
755
821
|
}
|
|
756
822
|
else if (typeof this.value === 'string') {
|
|
@@ -759,12 +825,12 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
759
825
|
else {
|
|
760
826
|
activeDescendant = (_e = this.value) === null || _e === void 0 ? void 0 : _e.value;
|
|
761
827
|
}
|
|
762
|
-
return (h("mg-input", { key: '
|
|
828
|
+
return (h("mg-input", { key: 'fa0977713a1150c39b4f989bbb139e0e345b4c5f', label: this.label, identifier: this.identifier, class: this.classCollection.classes.join(' '), ariaDescribedbyIDs: popoverContent && popoverContent !== 'list' ? popoverContent : undefined, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && this.value === undefined ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: defineErrorMessage(this.errorMessage, this.noValueErrorDetail) }, this.readonly ? (readonlyValue && h("b", { class: "mg-c-input__readonly-value" }, readonlyValue)) : (h("mg-popover", { identifier: this.popoverId, placement: "bottom-start", display: this.popoverDisplay, "arrow-hide": true, style: {
|
|
763
829
|
'--mg-c-input-list-width': Boolean((_f = this.input) === null || _f === void 0 ? void 0 : _f.offsetWidth) ? `${this.input.offsetWidth}px` : undefined,
|
|
764
|
-
}, "data-fallback-placement": "bottom-end", "onDisplay-change": this.handlePopoverDisplay }, h("div", { class: "mg-c-input__input-group-container" }, h("mg-icon", { icon: "magnifying-glass" }), h("input", { type: "text", role: "combobox", class: "mg-c-input__box mg-c-input__box--width", value: this.filter, id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled:
|
|
830
|
+
}, "data-fallback-placement": "bottom-end", "onDisplay-change": this.handlePopoverDisplay }, h("div", { class: "mg-c-input__input-group-container" }, h("mg-icon", { icon: "magnifying-glass" }), h("input", { type: "text", role: "combobox", class: "mg-c-input__box mg-c-input__box--width", value: this.filter, id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled: disabled, required: this.required, autocomplete: "off", "aria-autocomplete": "list", "aria-expanded": this.popoverDisplay.toString(), "aria-controls": listId, "aria-invalid": (this.invalid === true).toString(), "aria-activedescendant": formatID(activeDescendant), onInput: this.handleFilterInput, onBlur: this.handleFilterBlur, onFocus: this.handleFilterFocus, onKeyDown: this.handleFilterKeydown, ref: (el) => {
|
|
765
831
|
if (el !== null)
|
|
766
832
|
this.input = el;
|
|
767
|
-
} }), withResetButton ? (h("mg-button", { class: "mg-c-input__box-append mg-c-input__reset", variant: "flat", "is-icon": true, label: this.messages.general.reset, "aria-controls": this.identifier, tabindex: "-1", onClick: this.handleResetButton }, h("mg-icon", { icon: "cross" }))) : (h("mg-button", { class: "mg-c-input__box-append", variant: "flat", "is-icon": true, label: this.itemsLabel, tabindex: "-1", disabled:
|
|
833
|
+
} }), withResetButton ? (h("mg-button", { class: "mg-c-input__box-append mg-c-input__reset", variant: "flat", "is-icon": true, label: this.messages.general.reset, "aria-controls": this.identifier, tabindex: "-1", onClick: this.handleResetButton, disabled: disabled }, h("mg-icon", { icon: "cross" }))) : (h("mg-button", { class: "mg-c-input__box-append", variant: "flat", "is-icon": true, label: this.itemsLabel, tabindex: "-1", disabled: disabled }, h("mg-icon", { icon: `chevron-${this.popoverDisplay ? 'up' : 'down'}` })))), h("div", { slot: "content", class: "mg-c-input__popover-container" }, popoverContent === 'list' && [
|
|
768
834
|
// eslint-disable-next-line jsx-a11y/role-supports-aria-props
|
|
769
835
|
h("ul", { key: "list", class: "mg-c-input__input-list", role: "listbox", id: listId, "aria-label": this.itemsLabel, "aria-setsize": this.page.total }, this.page.items.map(option => {
|
|
770
836
|
var _a;
|
|
@@ -780,7 +846,7 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
780
846
|
this.page.next && (h("mg-button", { key: "load-more", variant: "flat", class: "mg-c-input__load-more", tabIndex: -1, disabled: this.isLoading, "full-width": true, "disable-on-click": true, onClick: this.handleLoadMoreButton, "aria-controls": listId, ref: (el) => {
|
|
781
847
|
if (el !== null)
|
|
782
848
|
this.loadMoreElement = el;
|
|
783
|
-
} }, h("mg-icon", { icon: "chevron-down" }), this.messages.input.
|
|
849
|
+
} }, h("mg-icon", { icon: "chevron-down" }), this.messages.input.showMore)),
|
|
784
850
|
], popoverContent === 'notfound' && (h("p", { id: popoverContent, class: "mg-c-input__popover-info" }, this.messages.input.combobox.notFound)), popoverContent === 'notavailable' && (h("p", { id: popoverContent, class: "mg-c-input__popover-info" }, this.messages.input.combobox.notAvailable)))))));
|
|
785
851
|
}
|
|
786
852
|
get element() { return this; }
|
|
@@ -800,7 +866,7 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
800
866
|
"popoverDisplay": ["watchPopoverDisplay"]
|
|
801
867
|
}; }
|
|
802
868
|
static get style() { return mgInputComboboxCss; }
|
|
803
|
-
}, [
|
|
869
|
+
}, [257, "mg-input-combobox", {
|
|
804
870
|
"value": [1537],
|
|
805
871
|
"items": [16],
|
|
806
872
|
"itemsLabel": [1, "items-label"],
|
|
@@ -820,6 +886,7 @@ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox
|
|
|
820
886
|
"fetchurl": [1],
|
|
821
887
|
"fetchoptions": [16],
|
|
822
888
|
"fetchmappings": [16],
|
|
889
|
+
"noValueErrorDetail": [1, "no-value-error-detail"],
|
|
823
890
|
"valid": [1028],
|
|
824
891
|
"invalid": [1028],
|
|
825
892
|
"isLoading": [32],
|
|
@@ -852,7 +919,7 @@ function defineCustomElement$1() {
|
|
|
852
919
|
if (typeof customElements === "undefined") {
|
|
853
920
|
return;
|
|
854
921
|
}
|
|
855
|
-
const components = ["mg-input-combobox", "mg-button", "mg-card", "mg-icon", "mg-input", "mg-input-title", "mg-loader", "mg-popover", "mg-popover-content", "mg-tooltip", "mg-tooltip-content"];
|
|
922
|
+
const components = ["mg-input-combobox", "mg-button", "mg-card", "mg-details", "mg-icon", "mg-input", "mg-input-title", "mg-loader", "mg-popover", "mg-popover-content", "mg-tooltip", "mg-tooltip-content"];
|
|
856
923
|
components.forEach(tagName => { switch (tagName) {
|
|
857
924
|
case "mg-input-combobox":
|
|
858
925
|
if (!customElements.get(tagName)) {
|
|
@@ -861,10 +928,15 @@ function defineCustomElement$1() {
|
|
|
861
928
|
break;
|
|
862
929
|
case "mg-button":
|
|
863
930
|
if (!customElements.get(tagName)) {
|
|
864
|
-
defineCustomElement$
|
|
931
|
+
defineCustomElement$c();
|
|
865
932
|
}
|
|
866
933
|
break;
|
|
867
934
|
case "mg-card":
|
|
935
|
+
if (!customElements.get(tagName)) {
|
|
936
|
+
defineCustomElement$b();
|
|
937
|
+
}
|
|
938
|
+
break;
|
|
939
|
+
case "mg-details":
|
|
868
940
|
if (!customElements.get(tagName)) {
|
|
869
941
|
defineCustomElement$a();
|
|
870
942
|
}
|
|
@@ -2,6 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/i
|
|
|
2
2
|
import { C as ClassList, i as isValidString, o as dateRegExp, p as dateToString, t as toString } from './index2.js';
|
|
3
3
|
import { l as localeDate, a as localeDatePattern, i as initLocales } from './index3.js';
|
|
4
4
|
import { d as defineCustomElement$5, c as classReadonly, a as classDisabled } from './mg-input2.js';
|
|
5
|
+
import { d as defineCustomElement$7 } from './mg-details2.js';
|
|
5
6
|
import { d as defineCustomElement$6 } from './mg-icon2.js';
|
|
6
7
|
import { d as defineCustomElement$4 } from './mg-input-title2.js';
|
|
7
8
|
import { d as defineCustomElement$3 } from './mg-tooltip2.js';
|
|
@@ -374,7 +375,7 @@ const MgInputDate$1 = /*@__PURE__*/ proxyCustomElement(class MgInputDate extends
|
|
|
374
375
|
* @returns HTML Element
|
|
375
376
|
*/
|
|
376
377
|
render() {
|
|
377
|
-
return (h("mg-input", { key: '
|
|
378
|
+
return (h("mg-input", { key: '71daaa8818ab7120c61a45399ae016a4621c8f50', label: this.label, identifier: this.identifier, class: this.classCollection.join(), labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && this.value === null ? 'label' : this.tooltipPosition, helpText: this.formatHelpText(this.helpText), errorMessage: this.errorMessage }, this.readonly ? (this.value && h("b", { class: "mg-c-input__readonly-value" }, localeDate(this.value, this.locale))) : (h("input", { type: "date", class: "mg-c-input__box", min: this.min, max: this.max, value: this.value, id: this.identifier, name: this.name, disabled: this.disabled, required: this.required, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, ref: (el) => {
|
|
378
379
|
if (el !== null)
|
|
379
380
|
this.input = el;
|
|
380
381
|
} }))));
|
|
@@ -389,7 +390,7 @@ const MgInputDate$1 = /*@__PURE__*/ proxyCustomElement(class MgInputDate extends
|
|
|
389
390
|
"disabled": ["handleValidityChange", "watchDisabled"]
|
|
390
391
|
}; }
|
|
391
392
|
static get style() { return mgInputDateCss; }
|
|
392
|
-
}, [
|
|
393
|
+
}, [257, "mg-input-date", {
|
|
393
394
|
"value": [1537],
|
|
394
395
|
"identifier": [1],
|
|
395
396
|
"name": [1],
|
|
@@ -424,13 +425,18 @@ function defineCustomElement$1() {
|
|
|
424
425
|
if (typeof customElements === "undefined") {
|
|
425
426
|
return;
|
|
426
427
|
}
|
|
427
|
-
const components = ["mg-input-date", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
|
|
428
|
+
const components = ["mg-input-date", "mg-details", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
|
|
428
429
|
components.forEach(tagName => { switch (tagName) {
|
|
429
430
|
case "mg-input-date":
|
|
430
431
|
if (!customElements.get(tagName)) {
|
|
431
432
|
customElements.define(tagName, MgInputDate$1);
|
|
432
433
|
}
|
|
433
434
|
break;
|
|
435
|
+
case "mg-details":
|
|
436
|
+
if (!customElements.get(tagName)) {
|
|
437
|
+
defineCustomElement$7();
|
|
438
|
+
}
|
|
439
|
+
break;
|
|
434
440
|
case "mg-icon":
|
|
435
441
|
if (!customElements.get(tagName)) {
|
|
436
442
|
defineCustomElement$6();
|
|
@@ -2,6 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/i
|
|
|
2
2
|
import { C as ClassList, i as isValidString, t as toString } from './index2.js';
|
|
3
3
|
import { b as localeNumber, c as localeUnit, d as localePercent, e as localeCurrency, i as initLocales } from './index3.js';
|
|
4
4
|
import { d as defineCustomElement$5, c as classReadonly, a as classDisabled, w as widths } from './mg-input2.js';
|
|
5
|
+
import { d as defineCustomElement$7 } from './mg-details2.js';
|
|
5
6
|
import { d as defineCustomElement$6 } from './mg-icon2.js';
|
|
6
7
|
import { d as defineCustomElement$4 } from './mg-input-title2.js';
|
|
7
8
|
import { d as defineCustomElement$3 } from './mg-tooltip2.js';
|
|
@@ -254,6 +255,11 @@ const MgInputNumeric$1 = /*@__PURE__*/ proxyCustomElement(class MgInputNumeric e
|
|
|
254
255
|
var _a;
|
|
255
256
|
// has input value is always render as string we get a stringified value or a '' for nullish value, so we test string type
|
|
256
257
|
if (typeof newValue === 'string') {
|
|
258
|
+
// Check if integer value starts with '0' (leading zero)
|
|
259
|
+
if (newValue.startsWith('0') && parseInt(newValue, 10) > 0) {
|
|
260
|
+
// Remove leading zero
|
|
261
|
+
newValue = newValue.substring(1);
|
|
262
|
+
}
|
|
257
263
|
// Split number and decimal
|
|
258
264
|
const [integer, decimal = ''] = newValue.replace('-', '').split(/[.,]/);
|
|
259
265
|
// Regex
|
|
@@ -470,7 +476,7 @@ const MgInputNumeric$1 = /*@__PURE__*/ proxyCustomElement(class MgInputNumeric e
|
|
|
470
476
|
* @returns HTML Element
|
|
471
477
|
*/
|
|
472
478
|
render() {
|
|
473
|
-
return (h("mg-input", { key: '
|
|
479
|
+
return (h("mg-input", { key: 'ca551b49b1b4dc98fd4e943e51de8a32bc78882b', label: this.label, identifier: this.identifier, class: this.classCollection.join(), labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && this.value === undefined ? 'label' : this.tooltipPosition, helpText: this.formatHelpText(this.helpText), errorMessage: this.errorMessage }, this.readonly
|
|
474
480
|
? this.readonlyValue && this.renderReadonly()
|
|
475
481
|
: [
|
|
476
482
|
h("input", { key: "input", type: "text", class: "mg-c-input__box mg-c-input__box--width", value: this.displayValue(), id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled: this.disabled, required: this.required, autocomplete: "off", "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, ref: (el) => {
|
|
@@ -495,7 +501,7 @@ const MgInputNumeric$1 = /*@__PURE__*/ proxyCustomElement(class MgInputNumeric e
|
|
|
495
501
|
"decimalLength": ["validateDecimalLength"]
|
|
496
502
|
}; }
|
|
497
503
|
static get style() { return mgInputNumericCss; }
|
|
498
|
-
}, [
|
|
504
|
+
}, [257, "mg-input-numeric", {
|
|
499
505
|
"value": [1537],
|
|
500
506
|
"identifier": [1],
|
|
501
507
|
"name": [1],
|
|
@@ -545,13 +551,18 @@ function defineCustomElement$1() {
|
|
|
545
551
|
if (typeof customElements === "undefined") {
|
|
546
552
|
return;
|
|
547
553
|
}
|
|
548
|
-
const components = ["mg-input-numeric", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
|
|
554
|
+
const components = ["mg-input-numeric", "mg-details", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
|
|
549
555
|
components.forEach(tagName => { switch (tagName) {
|
|
550
556
|
case "mg-input-numeric":
|
|
551
557
|
if (!customElements.get(tagName)) {
|
|
552
558
|
customElements.define(tagName, MgInputNumeric$1);
|
|
553
559
|
}
|
|
554
560
|
break;
|
|
561
|
+
case "mg-details":
|
|
562
|
+
if (!customElements.get(tagName)) {
|
|
563
|
+
defineCustomElement$7();
|
|
564
|
+
}
|
|
565
|
+
break;
|
|
555
566
|
case "mg-icon":
|
|
556
567
|
if (!customElements.get(tagName)) {
|
|
557
568
|
defineCustomElement$6();
|
|
@@ -2,7 +2,8 @@ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/i
|
|
|
2
2
|
import { C as ClassList, i as isValidString } from './index2.js';
|
|
3
3
|
import { d as defineCustomElement$5, c as classReadonly, a as classDisabled, w as widths } from './mg-input2.js';
|
|
4
4
|
import { i as initLocales } from './index3.js';
|
|
5
|
-
import { d as defineCustomElement$
|
|
5
|
+
import { d as defineCustomElement$8 } from './mg-button2.js';
|
|
6
|
+
import { d as defineCustomElement$7 } from './mg-details2.js';
|
|
6
7
|
import { d as defineCustomElement$6 } from './mg-icon2.js';
|
|
7
8
|
import { d as defineCustomElement$4 } from './mg-input-title2.js';
|
|
8
9
|
import { d as defineCustomElement$3 } from './mg-tooltip2.js';
|
|
@@ -250,7 +251,7 @@ const MgInputPassword$1 = /*@__PURE__*/ proxyCustomElement(class MgInputPassword
|
|
|
250
251
|
* @returns HTML Element
|
|
251
252
|
*/
|
|
252
253
|
render() {
|
|
253
|
-
return (h("mg-input", { key: '
|
|
254
|
+
return (h("mg-input", { key: '4bdaa6d26811f66fa43b580ac6e85c61b308ee92', label: this.label, identifier: this.identifier, class: this.classCollection.join(), labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && this.value === undefined ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: this.errorMessage }, this.readonly ? (this.value !== undefined && h("b", { class: "mg-c-input__readonly-value" }, '•'.repeat(this.value.length))) : (h("span", { class: "mg-c-input__input-group" }, h("input", { type: this.displayPassword ? 'text' : 'password', class: "mg-c-input__box mg-c-input__box--width", value: this.value, id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled: this.disabled, required: this.required, maxlength: this.maxlength, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onBlur: this.handleBlur, ref: (el) => {
|
|
254
255
|
if (el !== null)
|
|
255
256
|
this.input = el;
|
|
256
257
|
} }), h("mg-button", { label: this.messages.input.password[this.displayPassword ? 'hide' : 'display'], disabled: this.disabled, variant: "flat", class: "mg-c-input__append-button", "is-icon": true, onClick: this.toggleDisplayPassword, "aria-controls": this.identifier }, h("mg-icon", { class: "mg-c-input__input-icon", icon: this.displayPassword ? 'eye-slash' : 'eye' }))))));
|
|
@@ -264,7 +265,7 @@ const MgInputPassword$1 = /*@__PURE__*/ proxyCustomElement(class MgInputPassword
|
|
|
264
265
|
"mgWidth": ["watchMgWidth"]
|
|
265
266
|
}; }
|
|
266
267
|
static get style() { return mgInputPasswordCss; }
|
|
267
|
-
}, [
|
|
268
|
+
}, [257, "mg-input-password", {
|
|
268
269
|
"value": [1537],
|
|
269
270
|
"identifier": [1],
|
|
270
271
|
"name": [1],
|
|
@@ -300,7 +301,7 @@ function defineCustomElement$1() {
|
|
|
300
301
|
if (typeof customElements === "undefined") {
|
|
301
302
|
return;
|
|
302
303
|
}
|
|
303
|
-
const components = ["mg-input-password", "mg-button", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
|
|
304
|
+
const components = ["mg-input-password", "mg-button", "mg-details", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
|
|
304
305
|
components.forEach(tagName => { switch (tagName) {
|
|
305
306
|
case "mg-input-password":
|
|
306
307
|
if (!customElements.get(tagName)) {
|
|
@@ -308,6 +309,11 @@ function defineCustomElement$1() {
|
|
|
308
309
|
}
|
|
309
310
|
break;
|
|
310
311
|
case "mg-button":
|
|
312
|
+
if (!customElements.get(tagName)) {
|
|
313
|
+
defineCustomElement$8();
|
|
314
|
+
}
|
|
315
|
+
break;
|
|
316
|
+
case "mg-details":
|
|
311
317
|
if (!customElements.get(tagName)) {
|
|
312
318
|
defineCustomElement$7();
|
|
313
319
|
}
|