@mgdis/mg-components 5.18.0 → 5.19.1
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/{mg-menu.conf-43aacf30.js → components.utils-dc9c8a53.js} +160 -7
- package/dist/cjs/components.utils-dc9c8a53.js.map +1 -0
- package/dist/cjs/index-c042e24b.js +18 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mg-action-more_34.cjs.entry.js +381 -465
- package/dist/cjs/mg-action-more_34.cjs.entry.js.map +1 -1
- package/dist/cjs/mg-components.cjs.js +1 -1
- package/dist/cjs/mg-item-more.cjs.entry.js +7 -6
- package/dist/cjs/mg-item-more.cjs.entry.js.map +1 -1
- package/dist/collection/components/atoms/mg-badge/mg-badge.js +10 -10
- package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +1 -1
- package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js +5 -5
- package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js.map +1 -1
- package/dist/collection/components/atoms/mg-button/mg-button.js +13 -12
- package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
- package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js +4 -4
- package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js.map +1 -1
- package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js +3 -3
- package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js.map +1 -1
- package/dist/collection/components/atoms/mg-card/mg-card.js +13 -13
- package/dist/collection/components/atoms/mg-card/mg-card.js.map +1 -1
- package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +3 -3
- package/dist/collection/components/atoms/mg-character-left/mg-character-left.js.map +1 -1
- package/dist/collection/components/atoms/mg-divider/mg-divider.js +4 -4
- package/dist/collection/components/atoms/mg-divider/mg-divider.js.map +1 -1
- package/dist/collection/components/atoms/mg-icon/mg-icon.js +15 -17
- package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +1 -1
- package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js +4 -4
- package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js.map +1 -1
- package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +24 -5
- package/dist/collection/components/atoms/mg-input-title/mg-input-title.js.map +1 -1
- package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js +12 -0
- package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js.map +1 -0
- package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js +1 -5
- package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js.map +1 -1
- package/dist/collection/components/atoms/mg-tag/mg-tag.js +9 -9
- package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -1
- package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js +23 -0
- package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js.map +1 -0
- package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js +5 -5
- package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +2 -2
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +7 -7
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js +1 -1
- package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js +1 -1
- package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js.map +1 -1
- package/dist/collection/components/molecules/inputs/MgInput.js +14 -13
- package/dist/collection/components/molecules/inputs/MgInput.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +7 -4
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +20 -2
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +25 -27
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js +21 -27
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js +9 -7
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +6 -6
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +11 -10
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +6 -6
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +6 -6
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +8 -8
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js +6 -0
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js.map +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +52 -14
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js +147 -0
- package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js.map +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js +12 -2
- package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +12 -12
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js +2 -2
- package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +86 -10
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js +108 -0
- package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js.map +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js +46 -2
- package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +3 -3
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu/test/{mg-menu.e2e.js → mg-menu.e2e.playwright.js} +67 -96
- package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js.map +1 -0
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +8 -9
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js +100 -0
- package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js.map +1 -0
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js.map +1 -1
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +7 -7
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
- package/dist/collection/components/molecules/mg-details/mg-details.js +5 -4
- package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -1
- package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js +1 -1
- package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js.map +1 -1
- package/dist/collection/components/molecules/mg-form/mg-form.js +6 -5
- package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
- package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js +4 -4
- package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js.map +1 -1
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +7 -7
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +1 -1
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +5 -4
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.js.map +1 -1
- package/dist/collection/components/molecules/mg-message/mg-message.js +8 -8
- package/dist/collection/components/molecules/mg-message/mg-message.js.map +1 -1
- package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js +11 -11
- package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js.map +1 -1
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +8 -8
- package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -1
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js +7 -7
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js.map +1 -1
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js +3 -3
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js.map +1 -1
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js +1 -1
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js.map +1 -1
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +3 -3
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -1
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +9 -9
- package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -1
- package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js +2 -2
- package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js.map +1 -1
- package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js +8 -8
- package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js.map +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +4 -4
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js.map +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +2 -2
- package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
- package/dist/collection/components/molecules/mg-popover/test/{mg-popover.e2e.js → mg-popover.e2e.playwright.js} +46 -65
- package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js.map +1 -0
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +5 -6
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js.map +1 -1
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +34 -34
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
- package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js +13 -13
- package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js.map +1 -1
- package/dist/collection/locales/en/messages.json +3 -3
- package/dist/collection/locales/fr/messages.json +3 -3
- package/dist/collection/utils/behaviors.utils.js +2 -1
- package/dist/collection/utils/behaviors.utils.js.map +1 -1
- package/dist/collection/utils/components.utils.js +10 -0
- package/dist/collection/utils/components.utils.js.map +1 -1
- package/dist/collection/utils/components.utils.spec.js +14 -1
- package/dist/collection/utils/components.utils.spec.js.map +1 -1
- package/dist/collection/utils/playwright.e2e.test.utils.js +3 -3
- package/dist/collection/utils/playwright.e2e.test.utils.js.map +1 -1
- package/dist/collection/utils/unit.test.utils.js +0 -3
- package/dist/collection/utils/unit.test.utils.js.map +1 -1
- package/dist/collection/variables.css +1 -275
- package/dist/components/MgInput.js +19 -18
- package/dist/components/MgInput.js.map +1 -1
- package/dist/components/components.utils.js +11 -1
- package/dist/components/components.utils.js.map +1 -1
- package/dist/components/index2.js +6 -6
- package/dist/components/mg-action-more.js +6 -6
- package/dist/components/mg-action-more.js.map +1 -1
- package/dist/components/mg-badge2.js +9 -9
- package/dist/components/mg-badge2.js.map +1 -1
- package/dist/components/mg-button2.js +12 -11
- package/dist/components/mg-button2.js.map +1 -1
- package/dist/components/mg-card2.js +12 -12
- package/dist/components/mg-card2.js.map +1 -1
- package/dist/components/mg-character-left2.js +1 -1
- package/dist/components/mg-character-left2.js.map +1 -1
- package/dist/components/mg-details.js +4 -3
- package/dist/components/mg-details.js.map +1 -1
- package/dist/components/mg-divider.js +3 -3
- package/dist/components/mg-divider.js.map +1 -1
- package/dist/components/mg-form.js +5 -4
- package/dist/components/mg-form.js.map +1 -1
- package/dist/components/mg-icon2.js +14 -16
- package/dist/components/mg-icon2.js.map +1 -1
- package/dist/components/mg-illustrated-message.js +7 -7
- package/dist/components/mg-illustrated-message.js.map +1 -1
- package/dist/components/mg-input-checkbox-paginated2.js +13 -8
- package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
- package/dist/components/mg-input-checkbox.js +24 -26
- package/dist/components/mg-input-checkbox.js.map +1 -1
- package/dist/components/mg-input-date.js +5 -5
- package/dist/components/mg-input-date.js.map +1 -1
- package/dist/components/mg-input-numeric.js +10 -9
- package/dist/components/mg-input-numeric.js.map +1 -1
- package/dist/components/mg-input-password.js +5 -5
- package/dist/components/mg-input-password.js.map +1 -1
- package/dist/components/mg-input-radio.js +5 -5
- package/dist/components/mg-input-radio.js.map +1 -1
- package/dist/components/mg-input-select2.js +7 -7
- package/dist/components/mg-input-select2.js.map +1 -1
- package/dist/components/mg-input-text2.js +29 -12
- package/dist/components/mg-input-text2.js.map +1 -1
- package/dist/components/mg-input-textarea.js +12 -12
- package/dist/components/mg-input-textarea.js.map +1 -1
- package/dist/components/mg-input-title2.js +7 -4
- package/dist/components/mg-input-title2.js.map +1 -1
- package/dist/components/mg-input-toggle.js +48 -10
- package/dist/components/mg-input-toggle.js.map +1 -1
- package/dist/components/mg-item-more.js +6 -4
- package/dist/components/mg-item-more.js.map +1 -1
- package/dist/components/mg-menu-item2.js +7 -8
- package/dist/components/mg-menu-item2.js.map +1 -1
- package/dist/components/mg-menu2.js +2 -2
- package/dist/components/mg-menu2.js.map +1 -1
- package/dist/components/mg-message.js +7 -7
- package/dist/components/mg-message.js.map +1 -1
- package/dist/components/mg-modal.js +7 -7
- package/dist/components/mg-modal.js.map +1 -1
- package/dist/components/mg-pagination2.js +2 -2
- package/dist/components/mg-pagination2.js.map +1 -1
- package/dist/components/mg-panel.js +8 -8
- package/dist/components/mg-panel.js.map +1 -1
- package/dist/components/mg-popover-content2.js +4 -4
- package/dist/components/mg-popover-content2.js.map +1 -1
- package/dist/components/mg-popover2.js.map +1 -1
- package/dist/components/mg-skip-links.js +4 -5
- package/dist/components/mg-skip-links.js.map +1 -1
- package/dist/components/mg-tabs.js +33 -33
- package/dist/components/mg-tabs.js.map +1 -1
- package/dist/components/mg-tag.js +8 -8
- package/dist/components/mg-tag.js.map +1 -1
- package/dist/components/mg-tooltip-content2.js +1 -1
- package/dist/components/mg-tooltip-content2.js.map +1 -1
- package/dist/components/mg-tooltip2.js +5 -5
- package/dist/components/mg-tooltip2.js.map +1 -1
- package/dist/esm/{mg-menu.conf-012fc9b4.js → components.utils-0f76010d.js} +153 -8
- package/dist/esm/components.utils-0f76010d.js.map +1 -0
- package/dist/esm/index-ce01e63b.js +18 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/mg-action-more_34.entry.js +315 -399
- package/dist/esm/mg-action-more_34.entry.js.map +1 -1
- package/dist/esm/mg-components.js +1 -1
- package/dist/esm/mg-item-more.entry.js +6 -5
- package/dist/esm/mg-item-more.entry.js.map +1 -1
- package/dist/mg-components/locales/en/messages.json +3 -3
- package/dist/mg-components/locales/fr/messages.json +3 -3
- package/dist/mg-components/mg-components.css +1 -1
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/mg-components.esm.js.map +1 -1
- package/dist/mg-components/p-01ebc95a.entry.js +2 -0
- package/dist/mg-components/p-01ebc95a.entry.js.map +1 -0
- package/dist/mg-components/p-71a5a848.entry.js +2 -0
- package/dist/mg-components/p-71a5a848.entry.js.map +1 -0
- package/dist/mg-components/p-c9e2c669.js +2 -0
- package/dist/mg-components/p-c9e2c669.js.map +1 -0
- package/dist/mg-components/variables.css +1 -275
- package/dist/types/components/atoms/mg-card/mg-card.d.ts +1 -1
- package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +5 -1
- package/dist/types/components/atoms/mg-tag/test/mg-tag.e2e.playwright.d.ts +1 -0
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +2 -2
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +5 -1
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +5 -8
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +2 -2
- package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.conf.d.ts +9 -0
- package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +13 -1
- package/dist/types/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.d.ts +1 -0
- package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +22 -0
- package/dist/types/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.d.ts +1 -0
- package/dist/types/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.d.ts +1 -0
- package/dist/types/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.d.ts +1 -0
- package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +1 -3
- package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +2 -1
- package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +2 -2
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +1 -1
- package/dist/types/components/molecules/mg-popover/test/mg-popover.e2e.playwright.d.ts +1 -0
- package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +6 -5
- package/dist/types/components.d.ts +34 -2
- package/dist/types/utils/components.utils.d.ts +6 -0
- package/package.json +21 -22
- package/readme.md +0 -31
- package/dist/cjs/mg-menu.conf-43aacf30.js.map +0 -1
- package/dist/collection/components/atoms/mg-badge/mg-badge.css +0 -116
- package/dist/collection/components/atoms/mg-button/mg-button.css +0 -182
- package/dist/collection/components/atoms/mg-card/mg-card.css +0 -75
- package/dist/collection/components/atoms/mg-character-left/mg-character-left.css +0 -3
- package/dist/collection/components/atoms/mg-divider/mg-divider.css +0 -9
- package/dist/collection/components/atoms/mg-icon/mg-icon.css +0 -138
- package/dist/collection/components/atoms/mg-input-title/mg-input-title.css +0 -12
- package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.js +0 -18
- package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.js.map +0 -1
- package/dist/collection/components/atoms/mg-tag/mg-tag.css +0 -131
- package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.js +0 -37
- package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.js.map +0 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.css +0 -43
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.css +0 -3
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.css +0 -268
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.css +0 -211
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.css +0 -257
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.css +0 -254
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.css +0 -179
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.css +0 -264
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.css +0 -304
- package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.js +0 -171
- package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.css +0 -303
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.css +0 -233
- package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.js +0 -125
- package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.js.map +0 -1
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.css +0 -37
- package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.js.map +0 -1
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.css +0 -377
- package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.js +0 -119
- package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.js.map +0 -1
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.css +0 -39
- package/dist/collection/components/molecules/mg-details/mg-details.css +0 -64
- package/dist/collection/components/molecules/mg-form/mg-form.css +0 -19
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.css +0 -45
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.css +0 -30
- package/dist/collection/components/molecules/mg-message/mg-message.css +0 -82
- package/dist/collection/components/molecules/mg-modal/mg-modal.css +0 -67
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.css +0 -47
- package/dist/collection/components/molecules/mg-panel/mg-panel.css +0 -64
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.css +0 -135
- package/dist/collection/components/molecules/mg-popover/mg-popover.css +0 -11
- package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.js.map +0 -1
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.css +0 -28
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.css +0 -99
- package/dist/collection/styles/a11y.scss +0 -36
- package/dist/collection/styles/fonts.scss +0 -21
- package/dist/collection/styles/form.scss +0 -3
- package/dist/collection/styles/global.scss +0 -80
- package/dist/collection/styles/layout.scss +0 -29
- package/dist/collection/styles/main.scss +0 -23
- package/dist/collection/styles/mg-icon-animation.scss +0 -6
- package/dist/collection/styles/navigation-button.scss +0 -77
- package/dist/collection/styles/reset-mg-card-slotted-variables.scss +0 -11
- package/dist/collection/styles/typography.scss +0 -82
- package/dist/collection/styles/utilities.scss +0 -21
- package/dist/collection/test/typography.e2e.playwright.js +0 -12
- package/dist/collection/test/typography.e2e.playwright.js.map +0 -1
- package/dist/esm/mg-menu.conf-012fc9b4.js.map +0 -1
- package/dist/mg-components/p-1d7d6fa0.js +0 -2
- package/dist/mg-components/p-1d7d6fa0.js.map +0 -1
- package/dist/mg-components/p-9257e8f1.entry.js +0 -2
- package/dist/mg-components/p-9257e8f1.entry.js.map +0 -1
- package/dist/mg-components/p-ff3ca349.entry.js +0 -2
- package/dist/mg-components/p-ff3ca349.entry.js.map +0 -1
- package/dist/mg-components/styles/a11y.scss +0 -36
- package/dist/mg-components/styles/fonts.scss +0 -21
- package/dist/mg-components/styles/form.scss +0 -3
- package/dist/mg-components/styles/global.scss +0 -80
- package/dist/mg-components/styles/layout.scss +0 -29
- package/dist/mg-components/styles/main.scss +0 -23
- package/dist/mg-components/styles/mg-icon-animation.scss +0 -6
- package/dist/mg-components/styles/navigation-button.scss +0 -77
- package/dist/mg-components/styles/reset-mg-card-slotted-variables.scss +0 -11
- package/dist/mg-components/styles/typography.scss +0 -82
- package/dist/mg-components/styles/utilities.scss +0 -21
- /package/dist/types/{test/typography.e2e.playwright.d.ts → components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.d.ts} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-c042e24b.js');
|
|
6
|
-
const
|
|
6
|
+
const components_utils = require('./components.utils-dc9c8a53.js');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Available menu-item positions
|
|
@@ -24,142 +24,7 @@ var Status$1;
|
|
|
24
24
|
Status["ACTIVE"] = "active";
|
|
25
25
|
})(Status$1 || (Status$1 = {}));
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
* Create random ID
|
|
29
|
-
* @param prefix - add prefix to created ID
|
|
30
|
-
* @param length - ID length
|
|
31
|
-
* @returns ID
|
|
32
|
-
*/
|
|
33
|
-
const createID = (prefix = '', length = 10) => {
|
|
34
|
-
const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
|
35
|
-
const charsLength = chars.length;
|
|
36
|
-
let ID = '';
|
|
37
|
-
let now = Date.now();
|
|
38
|
-
while (length > 0) {
|
|
39
|
-
now += Math.pow(10, 6); // Add 1 millisecond to the timestamp
|
|
40
|
-
const index = now % charsLength;
|
|
41
|
-
ID += chars.charAt(index);
|
|
42
|
-
length--;
|
|
43
|
-
}
|
|
44
|
-
return (prefix !== '' ? `${prefix}-` : '') + ID;
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* Class to manage component classlist
|
|
48
|
-
* Set() are not working when imported in project
|
|
49
|
-
*/
|
|
50
|
-
class ClassList {
|
|
51
|
-
constructor(classlist = []) {
|
|
52
|
-
/**
|
|
53
|
-
* Add class
|
|
54
|
-
* @param className - class name to add
|
|
55
|
-
*/
|
|
56
|
-
this.add = (className) => {
|
|
57
|
-
if (!this.has(className)) {
|
|
58
|
-
this.classes.push(className);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* Delete class
|
|
63
|
-
* @param className - class name to delete
|
|
64
|
-
*/
|
|
65
|
-
this.delete = (className) => {
|
|
66
|
-
const index = this.classes.indexOf(className);
|
|
67
|
-
if (index > -1) {
|
|
68
|
-
this.classes.splice(index, 1);
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Check if class exist in list
|
|
73
|
-
* @param className - class name to check
|
|
74
|
-
* @returns class name is in the list
|
|
75
|
-
*/
|
|
76
|
-
this.has = (className) => {
|
|
77
|
-
return this.classes.includes(className);
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* Join classes seperated by spaces
|
|
81
|
-
* @returns joined values
|
|
82
|
-
*/
|
|
83
|
-
this.join = () => {
|
|
84
|
-
return this.classes.join(' ');
|
|
85
|
-
};
|
|
86
|
-
this.classes = classlist;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Check if all items are string
|
|
91
|
-
* @param items - items to check
|
|
92
|
-
* @returns all items are string
|
|
93
|
-
*/
|
|
94
|
-
const allItemsAreString = (items) => Array.isArray(items) && items.every(item => typeof item === 'string');
|
|
95
|
-
/**
|
|
96
|
-
* Check if element is a heading
|
|
97
|
-
* @param element - slotted element
|
|
98
|
-
* @param tagNames - allowed tag names list
|
|
99
|
-
* @returns element is a heading
|
|
100
|
-
*/
|
|
101
|
-
const isTagName = (element, tagNames) => {
|
|
102
|
-
return tagNames.includes(element === null || element === void 0 ? void 0 : element.tagName.toLowerCase());
|
|
103
|
-
};
|
|
104
|
-
/**
|
|
105
|
-
* Focusable elements query selector
|
|
106
|
-
*/
|
|
107
|
-
const focusableElements = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), [identifier]';
|
|
108
|
-
/**
|
|
109
|
-
* Get windows
|
|
110
|
-
* @param localWindow - the window we are lookink for other windows
|
|
111
|
-
* @returns The list of windows found
|
|
112
|
-
*/
|
|
113
|
-
const getWindows = (localWindow) => {
|
|
114
|
-
const parentWindows = getParentWindows(localWindow);
|
|
115
|
-
const childWindows = getChildWindows(localWindow);
|
|
116
|
-
return [localWindow, ...parentWindows, ...childWindows];
|
|
117
|
-
};
|
|
118
|
-
/**
|
|
119
|
-
* Get parent windows
|
|
120
|
-
* @param localWindow - the window we are lookink for parents
|
|
121
|
-
* @param windows - The list of allready found windows
|
|
122
|
-
* @returns The list of windows found
|
|
123
|
-
*/
|
|
124
|
-
const getParentWindows = (localWindow, windows = []) => {
|
|
125
|
-
// Check if is in iframe
|
|
126
|
-
if (localWindow.self !== localWindow.top) {
|
|
127
|
-
// Check if we have permission to access parent
|
|
128
|
-
try {
|
|
129
|
-
const parentWindow = localWindow.parent;
|
|
130
|
-
windows.push(parentWindow);
|
|
131
|
-
return getParentWindows(parentWindow, windows);
|
|
132
|
-
}
|
|
133
|
-
catch (err) {
|
|
134
|
-
console.error('Different hosts between iframes:', err);
|
|
135
|
-
return windows;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return windows;
|
|
139
|
-
};
|
|
140
|
-
/**
|
|
141
|
-
* Get child windows
|
|
142
|
-
* @param localWindow - the window we are lookink for children
|
|
143
|
-
* @param windows - The list of allready found windows
|
|
144
|
-
* @returns The list of windows found
|
|
145
|
-
*/
|
|
146
|
-
const getChildWindows = (localWindow, windows = []) => {
|
|
147
|
-
if (localWindow.frames.length > 0) {
|
|
148
|
-
for (const childWindow of Array.from(localWindow.frames)) {
|
|
149
|
-
windows.push(childWindow);
|
|
150
|
-
getChildWindows(childWindow, windows);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
return windows;
|
|
154
|
-
};
|
|
155
|
-
/**
|
|
156
|
-
* Validate string
|
|
157
|
-
* @param value - value to check
|
|
158
|
-
* @returns if string is valid
|
|
159
|
-
*/
|
|
160
|
-
const isValidString = (value) => typeof value === 'string' && value.trim() !== '';
|
|
161
|
-
|
|
162
|
-
const mgActionMoreCss = ".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{--mg-popover-padding-vertical:1rem;--mg-popover-padding-horizontal:0;--mg-popover-max-width:unset}.mg-action-more__chevron{transition:200ms}.mg-action-more__chevron--rotate.mg-action-more__chevron{transform:rotate(180deg)}";
|
|
27
|
+
const mgActionMoreCss = ".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}}:host{--mg-popover-padding-vertical:1rem;--mg-popover-padding-horizontal:0;--mg-popover-max-width:unset}.mg-c-action-more__chevron{transition:200ms}.mg-c-action-more__chevron--rotate.mg-c-action-more__chevron{transform:rotate(180deg)}";
|
|
163
28
|
|
|
164
29
|
/**
|
|
165
30
|
* MgActionMore['items'] type guard
|
|
@@ -195,12 +60,13 @@ const MgActionMore = class {
|
|
|
195
60
|
* Internal *
|
|
196
61
|
************/
|
|
197
62
|
this.name = 'mg-action-more';
|
|
198
|
-
this.
|
|
63
|
+
this.classBase = 'mg-c-action-more';
|
|
64
|
+
this.mgPopoverIdentifier = components_utils.createID(this.name);
|
|
199
65
|
/************
|
|
200
66
|
* Methods *
|
|
201
67
|
***********/
|
|
202
68
|
/**
|
|
203
|
-
*
|
|
69
|
+
* Toggle expanded props
|
|
204
70
|
*/
|
|
205
71
|
this.toggleExpanded = () => {
|
|
206
72
|
this.expanded = !this.expanded;
|
|
@@ -237,7 +103,7 @@ const MgActionMore = class {
|
|
|
237
103
|
if (newValue && !isMgActionMoreIcon(newValue)) {
|
|
238
104
|
throw new Error(`<${this.name}> prop icon must match MgActionMoreIconType.`);
|
|
239
105
|
}
|
|
240
|
-
else if (!
|
|
106
|
+
else if (!(newValue === null || newValue === void 0 ? void 0 : newValue.icon) && Boolean(this.button.isIcon)) {
|
|
241
107
|
this.icon = { icon: 'ellipsis' };
|
|
242
108
|
}
|
|
243
109
|
}
|
|
@@ -263,7 +129,7 @@ const MgActionMore = class {
|
|
|
263
129
|
* Validate props
|
|
264
130
|
*/
|
|
265
131
|
componentWillLoad() {
|
|
266
|
-
this.messages =
|
|
132
|
+
this.messages = components_utils.initLocales(this.element).messages.actionMore;
|
|
267
133
|
this.validateItems(this.items);
|
|
268
134
|
this.validateButton(this.button);
|
|
269
135
|
this.validateIcon(this.icon);
|
|
@@ -278,12 +144,11 @@ const MgActionMore = class {
|
|
|
278
144
|
const buttonContent = [buttonLabel];
|
|
279
145
|
if (!this.button.isIcon && this.displayChevron) {
|
|
280
146
|
buttonContent.push(index.h("span", { class: {
|
|
281
|
-
[`${this.
|
|
282
|
-
[`${this.
|
|
283
|
-
'mg-a11y-animation': true,
|
|
147
|
+
[`${this.classBase}__chevron`]: true,
|
|
148
|
+
[`${this.classBase}__chevron--rotate`]: this.expanded === true,
|
|
284
149
|
} }, index.h("mg-icon", { icon: "chevron-down", size: "small" })));
|
|
285
150
|
}
|
|
286
|
-
return (index.h(index.Host, { "data-mg-popover-guard": this.mgPopoverIdentifier }, index.h("span", { class: "mg-action-more" }, index.h("mg-popover", { identifier: this.mgPopoverIdentifier, display: this.expanded, "onDisplay-change": this.handleDisplayChange }, index.h("mg-button", { variant: this.button.variant, isIcon: this.button.isIcon, type: "button", label: buttonLabel, onClick: this.handleButton }, this.icon && index.h("mg-icon", Object.assign({}, this.icon)), !this.button.isIcon && buttonContent), index.h("div", { slot: "content" }, index.h("mg-menu", { direction:
|
|
151
|
+
return (index.h(index.Host, { "data-mg-popover-guard": this.mgPopoverIdentifier }, index.h("span", { class: "mg-action-more" }, index.h("mg-popover", { identifier: this.mgPopoverIdentifier, display: this.expanded, "onDisplay-change": this.handleDisplayChange }, index.h("mg-button", { variant: this.button.variant, isIcon: this.button.isIcon, type: "button", label: buttonLabel, onClick: this.handleButton }, this.icon && index.h("mg-icon", Object.assign({}, this.icon)), !this.button.isIcon && buttonContent), index.h("div", { slot: "content" }, index.h("mg-menu", { direction: components_utils.Direction.VERTICAL, label: this.messages.label }, this.items.map(item => {
|
|
287
152
|
var _a;
|
|
288
153
|
return (
|
|
289
154
|
// eslint-disable-next-line react/jsx-no-bind
|
|
@@ -305,7 +170,7 @@ MgActionMore.style = mgActionMoreCss;
|
|
|
305
170
|
*/
|
|
306
171
|
const variants$5 = ['info', 'primary', 'secondary', 'success', 'warning', 'danger', 'text-color'];
|
|
307
172
|
|
|
308
|
-
const mgBadgeCss = ".
|
|
173
|
+
const mgBadgeCss = ".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}}.mg-c-badge{min-width:var(--mg-badge-size);height:var(--mg-badge-size);box-sizing:border-box;padding:0 .4rem;border:.1rem solid;border-radius:calc(var(--mg-badge-size)/2);font-size:var(--mg-badge-font-size);font-weight:600;line-height:var(--mg-badge-size);text-align:center}.mg-c-badge.mg-c-badge--primary{border-color:hsl(var(--color-dark));background-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-c-badge.mg-c-badge--primary.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-dark))}.mg-c-badge.mg-c-badge--secondary{border-color:hsl(var(--color-light));background-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-c-badge.mg-c-badge--secondary.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-light))}.mg-c-badge.mg-c-badge--success{border-color:hsl(var(--color-success));background-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-c-badge.mg-c-badge--success.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-success))}.mg-c-badge.mg-c-badge--warning{border-color:hsl(var(--color-warning));background-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-c-badge.mg-c-badge--warning.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-warning))}.mg-c-badge.mg-c-badge--danger{border-color:hsl(var(--color-danger));background-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-c-badge.mg-c-badge--danger.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-danger))}.mg-c-badge.mg-c-badge--info{border-color:hsl(var(--color-info));background-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-c-badge.mg-c-badge--info.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-info))}.mg-c-badge.mg-c-badge--text-color{border-color:currentcolor;background-color:currentcolor}.mg-c-badge.mg-c-badge--text-color .mg-c-badge__value{color:hsl(var(--mg-badge-text-color, var(--color-light)))}.mg-c-badge.mg-c-badge--text-color.mg-c-badge--outline{background-color:rgba(0,0,0,0)}.mg-c-badge.mg-c-badge--text-color.mg-c-badge--outline .mg-c-badge__value{color:currentcolor}.mg-c-badge,mg-badge{display:inline-flex;align-items:center;justify-content:center}";
|
|
309
174
|
|
|
310
175
|
const MgBadge = class {
|
|
311
176
|
constructor(hostRef) {
|
|
@@ -314,20 +179,20 @@ const MgBadge = class {
|
|
|
314
179
|
* Internal *
|
|
315
180
|
************/
|
|
316
181
|
// Classes
|
|
317
|
-
this.classOutline = `mg-badge--outline`;
|
|
182
|
+
this.classOutline = `mg-c-badge--outline`;
|
|
318
183
|
this.value = undefined;
|
|
319
184
|
this.label = undefined;
|
|
320
185
|
this.variant = variants$5[0];
|
|
321
186
|
this.outline = undefined;
|
|
322
|
-
this.classCollection = new ClassList(['mg-badge']);
|
|
187
|
+
this.classCollection = new components_utils.ClassList(['mg-c-badge']);
|
|
323
188
|
}
|
|
324
189
|
validateValue(newValue) {
|
|
325
|
-
if (
|
|
190
|
+
if (/^(\d+\+*|[?*!a-z])$/i.exec(`${newValue}`) === null) {
|
|
326
191
|
throw new Error('<mg-badge> prop "value" must be integer or ponctuation character.');
|
|
327
192
|
}
|
|
328
193
|
}
|
|
329
194
|
validateLabel(newValue) {
|
|
330
|
-
if (
|
|
195
|
+
if (!components_utils.isValidString(newValue)) {
|
|
331
196
|
throw new Error('<mg-badge> prop "label" is required.');
|
|
332
197
|
}
|
|
333
198
|
}
|
|
@@ -337,9 +202,9 @@ const MgBadge = class {
|
|
|
337
202
|
}
|
|
338
203
|
else {
|
|
339
204
|
if (oldValue !== undefined) {
|
|
340
|
-
this.classCollection.delete(`mg-badge--${oldValue}`);
|
|
205
|
+
this.classCollection.delete(`mg-c-badge--${oldValue}`);
|
|
341
206
|
}
|
|
342
|
-
this.classCollection.add(`mg-badge--${newValue}`);
|
|
207
|
+
this.classCollection.add(`mg-c-badge--${newValue}`);
|
|
343
208
|
}
|
|
344
209
|
}
|
|
345
210
|
validateOutline(newValue) {
|
|
@@ -362,7 +227,7 @@ const MgBadge = class {
|
|
|
362
227
|
* @returns HTML Element
|
|
363
228
|
*/
|
|
364
229
|
render() {
|
|
365
|
-
return (index.h("span", { class: this.classCollection.join() }, index.h("span", { class: "mg-badge__value" }, this.value), index.h("span", { class: "
|
|
230
|
+
return (index.h("span", { class: this.classCollection.join() }, index.h("span", { class: "mg-c-badge__value" }, this.value), index.h("span", { class: "mg-u-visually-hidden" }, this.label)));
|
|
366
231
|
}
|
|
367
232
|
static get watchers() { return {
|
|
368
233
|
"value": ["validateValue"],
|
|
@@ -378,7 +243,7 @@ MgBadge.style = mgBadgeCss;
|
|
|
378
243
|
*/
|
|
379
244
|
const variants$4 = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'];
|
|
380
245
|
|
|
381
|
-
const mgButtonCss = ":host{display:inline-block;
|
|
246
|
+
const mgButtonCss = ":host{display:inline-block;max-width:100%;vertical-align:middle}:host(:hover) .mg-c-button--flat:not(.mg-c-button--disabled){background:hsl(var(--color-dark)/10%)}:host([full-width]){display:block}:host([disabled]),:host([aria-disabled=true]){pointer-events:none}.mg-c-button.mg-c-button--primary{border-color:hsl(var(--mg-button-primary-border-color, var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), calc(var(--mg-button-primary-color-l) - var(--mg-button-border-variation) * 10%)));background:linear-gradient(to bottom, hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), var(--mg-button-primary-color-l)), hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), calc(var(--mg-button-primary-color-l) - var(--mg-button-gradient) * 10%)));color:hsl(var(--mg-button-primary-font-color))}:host(:hover) .mg-c-button--primary:not(.mg-c-button--disabled){background:hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), var(--mg-button-primary-color-l))}.mg-c-button.mg-c-button--secondary{border-color:hsl(var(--mg-button-secondary-border-color, var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), calc(var(--mg-button-secondary-color-l) - var(--mg-button-border-variation) * 10%)));background:linear-gradient(to bottom, hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), var(--mg-button-secondary-color-l)), hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), calc(var(--mg-button-secondary-color-l) - var(--mg-button-gradient) * 10%)));color:hsl(var(--mg-button-secondary-font-color))}:host(:hover) .mg-c-button--secondary:not(.mg-c-button--disabled){background:hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), var(--mg-button-secondary-color-l))}.mg-c-button.mg-c-button--danger{border-color:hsl(var(--mg-button-danger-border-color, var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) - var(--mg-button-border-variation) * 10%)));background:linear-gradient(to bottom, hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l)), hsl(var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) - var(--mg-button-gradient) * 10%)));color:hsl(var(--color-neutral))}:host(:hover) .mg-c-button--danger:not(.mg-c-button--disabled){background:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l))}.mg-c-button.mg-c-button--danger-alt{border-color:hsl(var(--mg-button-danger-alt-border-color, var(--color-neutral-h), var(--color-neutral-s), calc(var(--color-neutral-l) - var(--mg-button-border-variation) * 10%)));background:linear-gradient(to bottom, hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l)), hsl(var(--color-neutral-h), var(--color-neutral-s), calc(var(--color-neutral-l) - var(--mg-button-gradient) * 10%)));color:hsl(var(--color-danger))}:host(:hover) .mg-c-button--danger-alt:not(.mg-c-button--disabled){background:hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l))}.mg-c-button.mg-c-button--info{border-color:hsl(var(--mg-button-info-border-color, var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) - var(--mg-button-border-variation) * 10%)));background:linear-gradient(to bottom, hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l)), hsl(var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) - var(--mg-button-gradient) * 10%)));color:hsl(var(--color-neutral))}:host(:hover) .mg-c-button--info:not(.mg-c-button--disabled){background:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l))}.mg-c-button.mg-c-button--success{border-color:hsl(var(--mg-button-success-border-color, var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) - var(--mg-button-border-variation) * 10%)));background:linear-gradient(to bottom, hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l)), hsl(var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) - var(--mg-button-gradient) * 10%)));color:hsl(var(--color-dark))}:host(:hover) .mg-c-button--success:not(.mg-c-button--disabled){background:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l))}.mg-c-button{position:relative;display:inline-flex;min-height:var(--default-size);box-sizing:border-box;align-items:center;padding:calc((var(--default-size) - .2rem - var(--font-size)*var(--line-height))/2) 1.1rem;border-width:var(--mg-button-border-top-width, 0.1rem) var(--mg-button-border-right-width, 0.1rem) var(--mg-button-border-bottom-width, 0.1rem) var(--mg-button-border-left-width, 0.1rem);border-style:solid;border-radius:var(--mg-button-border-radius-top-left, var(--mg-button-border-radius)) var(--mg-button-border-radius-top-right, var(--mg-button-border-radius)) var(--mg-button-border-radius-bottom-right, var(--mg-button-border-radius)) var(--mg-button-border-radius-bottom-left, var(--mg-button-border-radius));background-image:none;column-gap:.6rem;cursor:pointer;touch-action:manipulation;font-family:inherit;font-size:var(--font-size);font-weight:var(--mg-button-font-weight, normal);text-align:left;text-decoration:none}.mg-c-button.mg-c-button--disabled{cursor:default;opacity:var(--mg-button-disabled-opacity)}.mg-c-button.mg-c-button--icon{width:var(--default-size);height:var(--default-size);justify-content:center;padding:0;border-radius:var(--mg-button-border-radius-top-left, var(--mg-button-icon-border-radius)) var(--mg-button-border-radius-top-right, var(--mg-button-icon-border-radius)) var(--mg-button-border-radius-bottom-right, var(--mg-button-icon-border-radius)) var(--mg-button-border-radius-bottom-left, var(--mg-button-icon-border-radius));font-size:var(--font-size);line-height:var(--font-size)}.mg-c-button.mg-c-button--flat{border:none;background:none}.mg-c-button slot,.mg-c-button ::slotted(*:not(mg-icon)){font-family:inherit;font-size:var(--font-size);font-weight:var(--mg-button-font-weight, normal);text-align:left;text-decoration:none;display:flex;align-items:center;column-gap:.6rem}.mg-c-button.mg-c-button--link{min-height:unset;padding:unset;border:unset;border-radius:unset;background:unset;text-decoration:underline}.mg-c-button.mg-c-button--link slot{font-weight:600}.mg-c-button.mg-c-button--link:hover{text-decoration:none}.mg-c-button.mg-c-button--full-width{display:flex;justify-content:center}.mg-c-button mg-icon:only-child,.mg-c-button ::slotted(mg-icon){display:inline-flex;flex-shrink:0;margin:auto 0;line-height:1}.mg-c-button.mg-c-button--loading>mg-icon:first-of-type{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.mg-c-button.mg-c-button--loading .mg-c-button__content{opacity:0}:host(:focus-visible){outline:0}:host(:focus-visible) .mg-c-button{outline-color:-webkit-focus-ring-color;outline-style:auto;outline-width:.2rem}";
|
|
382
247
|
|
|
383
248
|
const MgButton = class {
|
|
384
249
|
constructor(hostRef) {
|
|
@@ -388,9 +253,9 @@ const MgButton = class {
|
|
|
388
253
|
* Internal *
|
|
389
254
|
************/
|
|
390
255
|
this.onClickElementFn = null;
|
|
391
|
-
this.classDisabled = 'mg-button--disabled';
|
|
392
|
-
this.classLoading = 'mg-button--loading';
|
|
393
|
-
this.classFullWidth = 'mg-button--full-width';
|
|
256
|
+
this.classDisabled = 'mg-c-button--disabled';
|
|
257
|
+
this.classLoading = 'mg-c-button--loading';
|
|
258
|
+
this.classFullWidth = 'mg-c-button--full-width';
|
|
394
259
|
/**
|
|
395
260
|
* Trigger actions onClick event
|
|
396
261
|
* @param event - click event
|
|
@@ -437,7 +302,7 @@ const MgButton = class {
|
|
|
437
302
|
this.isIcon = false;
|
|
438
303
|
this.disableOnClick = false;
|
|
439
304
|
this.loading = false;
|
|
440
|
-
this.classCollection = new ClassList(['mg-button']);
|
|
305
|
+
this.classCollection = new components_utils.ClassList(['mg-c-button']);
|
|
441
306
|
}
|
|
442
307
|
validateVariant(newValue, oldValue) {
|
|
443
308
|
if (!variants$4.includes(newValue)) {
|
|
@@ -445,9 +310,9 @@ const MgButton = class {
|
|
|
445
310
|
}
|
|
446
311
|
else {
|
|
447
312
|
if (oldValue !== undefined) {
|
|
448
|
-
this.classCollection.delete(`mg-button--${oldValue}`);
|
|
313
|
+
this.classCollection.delete(`mg-c-button--${oldValue}`);
|
|
449
314
|
}
|
|
450
|
-
this.classCollection.add(`mg-button--${newValue}`);
|
|
315
|
+
this.classCollection.add(`mg-c-button--${newValue}`);
|
|
451
316
|
}
|
|
452
317
|
}
|
|
453
318
|
validateFullWidth(newValue) {
|
|
@@ -495,8 +360,8 @@ const MgButton = class {
|
|
|
495
360
|
this.validateVariant(this.variant);
|
|
496
361
|
this.validateFullWidth(this.fullWidth);
|
|
497
362
|
if (this.isIcon) {
|
|
498
|
-
this.classCollection.add(`mg-button--icon`);
|
|
499
|
-
if (
|
|
363
|
+
this.classCollection.add(`mg-c-button--icon`);
|
|
364
|
+
if (!components_utils.isValidString(this.label)) {
|
|
500
365
|
throw new Error(`<mg-button> prop "label" is mandatory when prop "isIcon" is set to true.`);
|
|
501
366
|
}
|
|
502
367
|
}
|
|
@@ -509,7 +374,8 @@ const MgButton = class {
|
|
|
509
374
|
* @returns html element
|
|
510
375
|
*/
|
|
511
376
|
render() {
|
|
512
|
-
|
|
377
|
+
var _a;
|
|
378
|
+
return (index.h(index.Host, { role: "button", tabIndex: 0, type: this.type, form: this.form, "full-width": this.fullWidth, "aria-label": this.label, "aria-disabled": (_a = this.disabled) === null || _a === void 0 ? void 0 : _a.toString(), onClick: this.handleClick, onKeyup: this.handleKeyup, onKeydown: this.handleKeydown }, index.h("div", { class: this.classCollection.join(), id: this.identifier }, this.loading && index.h("mg-icon", { icon: "loader", spin: true }), index.h("div", { class: "mg-c-button__content" }, index.h("slot", null)))));
|
|
513
379
|
}
|
|
514
380
|
get element() { return index.getElement(this); }
|
|
515
381
|
static get watchers() { return {
|
|
@@ -530,7 +396,7 @@ const variants$3 = ['info', 'warning', 'success', 'danger', 'app'];
|
|
|
530
396
|
*/
|
|
531
397
|
const variantStyles$1 = ['bar-left', 'fill'];
|
|
532
398
|
|
|
533
|
-
const mgCardCss = ".mg-card{position:relative;
|
|
399
|
+
const mgCardCss = ".mg-c-card{position:relative;z-index:inherit;overflow:var(--mg-card-overflow, var(--mg-card-overflow-default));width:100%;min-width:var(--mg-card-min-width);max-width:var(--mg-card-max-width);box-sizing:border-box;padding:var(--mg-card-padding, var(--mg-card-padding-default));border:var(--mg-card-border, var(--mg-card-border-default));border-radius:var(--mg-card-border-radius, var(--mg-card-border-radius-default));background:var(--mg-card-background, var(--mg-card-background-default));box-shadow:var(--mg-card-box-shadow, var(--mg-card-box-shadow-default))}.mg-c-card ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset;--mg-card-min-width:unset}.mg-c-card.mg-c-card--info{overflow:hidden}.mg-c-card.mg-c-card--info.mg-c-card--bar-left .mg-c-card__bar{background-color:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l))}.mg-c-card.mg-c-card--info.mg-c-card--fill{background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l))}.mg-c-card.mg-c-card--warning{overflow:hidden}.mg-c-card.mg-c-card--warning.mg-c-card--bar-left .mg-c-card__bar{background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l))}.mg-c-card.mg-c-card--warning.mg-c-card--fill{background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l))}.mg-c-card.mg-c-card--success{overflow:hidden}.mg-c-card.mg-c-card--success.mg-c-card--bar-left .mg-c-card__bar{background-color:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l))}.mg-c-card.mg-c-card--success.mg-c-card--fill{background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l))}.mg-c-card.mg-c-card--danger{overflow:hidden}.mg-c-card.mg-c-card--danger.mg-c-card--bar-left .mg-c-card__bar{background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l))}.mg-c-card.mg-c-card--danger.mg-c-card--fill{background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l))}.mg-c-card.mg-c-card--app{overflow:hidden}.mg-c-card.mg-c-card--app.mg-c-card--bar-left .mg-c-card__bar{background-color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-app-l))}.mg-c-card.mg-c-card--app.mg-c-card--fill{background-color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-soft-l))}.mg-c-card__bar{position:absolute;top:0;left:0;width:.3rem;height:100%}";
|
|
534
400
|
|
|
535
401
|
const MgCard = class {
|
|
536
402
|
constructor(hostRef) {
|
|
@@ -539,7 +405,7 @@ const MgCard = class {
|
|
|
539
405
|
* Private *
|
|
540
406
|
*************/
|
|
541
407
|
this.name = 'mg-card';
|
|
542
|
-
this.
|
|
408
|
+
this.classBase = 'mg-c-card';
|
|
543
409
|
/**
|
|
544
410
|
* Methode to set default varianStyle props
|
|
545
411
|
* needeed has stencil doesn't know that props is mutated when updated in prop watcher
|
|
@@ -550,27 +416,27 @@ const MgCard = class {
|
|
|
550
416
|
};
|
|
551
417
|
this.variant = undefined;
|
|
552
418
|
this.variantStyle = undefined;
|
|
553
|
-
this.classCollection = new ClassList([this.
|
|
419
|
+
this.classCollection = new components_utils.ClassList([this.classBase]);
|
|
554
420
|
}
|
|
555
421
|
validateVariant(newValue, oldValue) {
|
|
556
422
|
if (newValue && !variants$3.includes(newValue))
|
|
557
423
|
throw new Error(`<${this.name}> prop "variant" must match VariantType type.`);
|
|
558
|
-
if (
|
|
424
|
+
if (newValue) {
|
|
559
425
|
this.setDefaultVariantStyle();
|
|
560
|
-
this.classCollection.add(`${this.
|
|
426
|
+
this.classCollection.add(`${this.classBase}--${newValue}`);
|
|
561
427
|
}
|
|
562
|
-
if (
|
|
563
|
-
this.classCollection.delete(`${this.
|
|
428
|
+
if (oldValue)
|
|
429
|
+
this.classCollection.delete(`${this.classBase}--${oldValue}`);
|
|
564
430
|
}
|
|
565
431
|
validateVariantStyle(newValue, oldValue) {
|
|
566
432
|
if (newValue && !variantStyles$1.includes(newValue))
|
|
567
433
|
throw new Error(`<${this.name}> prop "variantStyle" must match VariantStyleType type.`);
|
|
568
434
|
else if (Boolean(newValue) && !variants$3.includes(this.variant))
|
|
569
435
|
throw new Error(`<${this.name}> prop "variantStyle" must be paired with ${JSON.stringify(variants$3)} "variant" prop.`);
|
|
570
|
-
if (
|
|
571
|
-
this.classCollection.add(`${this.
|
|
572
|
-
if (
|
|
573
|
-
this.classCollection.delete(`${this.
|
|
436
|
+
if (newValue)
|
|
437
|
+
this.classCollection.add(`${this.classBase}--${newValue}`);
|
|
438
|
+
if (oldValue)
|
|
439
|
+
this.classCollection.delete(`${this.classBase}--${oldValue}`);
|
|
574
440
|
}
|
|
575
441
|
/*************
|
|
576
442
|
* Lifecycle *
|
|
@@ -588,7 +454,7 @@ const MgCard = class {
|
|
|
588
454
|
*/
|
|
589
455
|
render() {
|
|
590
456
|
var _a;
|
|
591
|
-
return (index.h("div", { class: this.classCollection.join() }, ((_a = this.variantStyle) === null || _a === void 0 ? void 0 : _a.startsWith('bar-')) && index.h("span", { class: "mg-card__bar" }), index.h("slot", null)));
|
|
457
|
+
return (index.h("div", { class: this.classCollection.join() }, ((_a = this.variantStyle) === null || _a === void 0 ? void 0 : _a.startsWith('bar-')) && index.h("span", { class: "mg-c-card__bar" }), index.h("slot", null)));
|
|
592
458
|
}
|
|
593
459
|
static get watchers() { return {
|
|
594
460
|
"variant": ["validateVariant"],
|
|
@@ -619,14 +485,14 @@ const MgCharacterLeft = class {
|
|
|
619
485
|
*/
|
|
620
486
|
componentWillLoad() {
|
|
621
487
|
this.validateMaxlength(this.maxlength);
|
|
622
|
-
this.messages =
|
|
488
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
623
489
|
}
|
|
624
490
|
/**
|
|
625
491
|
* Render component
|
|
626
492
|
* @returns HTML Element
|
|
627
493
|
*/
|
|
628
494
|
render() {
|
|
629
|
-
return (index.h("span", { id: this.identifier, "aria-live": "polite" }, index.h("span", { "aria-hidden": "true" }, this.maxlength - this.characters.length, "/", this.maxlength), index.h("span", { class: "
|
|
495
|
+
return (index.h("span", { id: this.identifier, "aria-live": "polite" }, index.h("span", { "aria-hidden": "true" }, this.maxlength - this.characters.length, "/", this.maxlength), index.h("span", { class: "mg-u-visually-hidden" }, this.messages.nbCharLeft.replace('{counter}', this.maxlength - this.characters.length))));
|
|
630
496
|
}
|
|
631
497
|
get element() { return index.getElement(this); }
|
|
632
498
|
static get watchers() { return {
|
|
@@ -635,7 +501,7 @@ const MgCharacterLeft = class {
|
|
|
635
501
|
};
|
|
636
502
|
MgCharacterLeft.style = mgCharacterLeftCss;
|
|
637
503
|
|
|
638
|
-
const mgDetailsCss = ".
|
|
504
|
+
const mgDetailsCss = ".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}}.mg-c-details summary{display:flex;align-items:baseline;cursor:pointer}.mg-c-details__toggle{display:flex;min-height:calc(var(--font-size)*var(--line-height));flex-shrink:0;align-items:center;align-self:flex-start;margin-left:1.5rem;gap:.6rem}.mg-c-details__toggle-icon.mg-c-details__toggle-icon--reverse{transform:rotate(180deg)}.mg-c-details__details{margin-top:var(--mg-details-spacing)}@media (width < 43.75rem){.mg-c-details__toggle>span{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}}";
|
|
639
505
|
|
|
640
506
|
const MgDetails = class {
|
|
641
507
|
constructor(hostRef) {
|
|
@@ -653,7 +519,7 @@ const MgDetails = class {
|
|
|
653
519
|
this.expanded = false;
|
|
654
520
|
}
|
|
655
521
|
validateTitles(newValue) {
|
|
656
|
-
if (
|
|
522
|
+
if (!components_utils.isValidString(newValue)) {
|
|
657
523
|
throw new Error('<mg-details> prop "toggleClosed" and "toggleOpened" must be defined.');
|
|
658
524
|
}
|
|
659
525
|
}
|
|
@@ -675,7 +541,7 @@ const MgDetails = class {
|
|
|
675
541
|
* @returns HTML Element
|
|
676
542
|
*/
|
|
677
543
|
render() {
|
|
678
|
-
return (index.h("details", { class: "mg-details", onToggle: this.handleToggle, open: this.expanded, ref: (el) => (this.details = el) }, index.h("summary", null, index.h("slot", { name: "summary" }), index.h("span", { class: "mg-details__toggle" }, index.h("mg-icon", { icon: "chevron-up", size: "small", class: { 'mg-details__toggle-icon': true, 'mg-details__toggle-icon--reverse': !this.expanded } }), index.h("span", { class: { '
|
|
544
|
+
return (index.h("details", { class: "mg-c-details", onToggle: this.handleToggle, open: this.expanded, ref: (el) => (this.details = el) }, index.h("summary", null, index.h("slot", { name: "summary" }), index.h("span", { class: "mg-c-details__toggle" }, index.h("mg-icon", { icon: "chevron-up", size: "small", class: { 'mg-c-details__toggle-icon': true, 'mg-c-details__toggle-icon--reverse': !this.expanded } }), index.h("span", { class: { 'mg-u-visually-hidden': this.hideSummary } }, this.expanded ? this.toggleOpened : this.toggleClosed))), index.h("div", { class: "mg-c-details__details" }, index.h("slot", { name: "details" }))));
|
|
679
545
|
}
|
|
680
546
|
static get watchers() { return {
|
|
681
547
|
"toggleClosed": ["validateTitles"],
|
|
@@ -685,7 +551,7 @@ const MgDetails = class {
|
|
|
685
551
|
};
|
|
686
552
|
MgDetails.style = mgDetailsCss;
|
|
687
553
|
|
|
688
|
-
const mgDividerCss = ".mg-divider{
|
|
554
|
+
const mgDividerCss = ".mg-c-divider{width:12rem;height:var(--mg-divider-thickness);margin:var(--mg-divider-vertical-spacing) auto;background-color:var(--mg-divider-background-color)}.mg-c-divider.mg-c-divider--full{width:100%}";
|
|
689
555
|
|
|
690
556
|
const MgDivider = class {
|
|
691
557
|
constructor(hostRef) {
|
|
@@ -698,14 +564,14 @@ const MgDivider = class {
|
|
|
698
564
|
*/
|
|
699
565
|
render() {
|
|
700
566
|
return (index.h("div", { class: {
|
|
701
|
-
'mg-divider': true,
|
|
702
|
-
'mg-divider--full': this.size === 'full',
|
|
567
|
+
'mg-c-divider': true,
|
|
568
|
+
'mg-c-divider--full': this.size === 'full',
|
|
703
569
|
} }));
|
|
704
570
|
}
|
|
705
571
|
};
|
|
706
572
|
MgDivider.style = mgDividerCss;
|
|
707
573
|
|
|
708
|
-
const mgFormCss = ".is-asterisk{color:hsl(var(--color-danger))}.mg-
|
|
574
|
+
const mgFormCss = ".mg-u-is-asterisk{color:hsl(var(--color-danger))}.mg-c-form{--mg-inputs-title-width:var(--mg-form-inputs-title-width, 15rem);--mg-inputs-margin-bottom:1.5rem;--mg-inputs-title-horizontal-space:3rem;--mg-inputs-shrink:0}.mg-c-form.mg-c-form--all-required{--mg-input-title-display:none}.mg-c-form>p{font-size:1.2rem}";
|
|
709
575
|
|
|
710
576
|
const MgForm = class {
|
|
711
577
|
constructor(hostRef) {
|
|
@@ -713,7 +579,7 @@ const MgForm = class {
|
|
|
713
579
|
this.formValid = index.createEvent(this, "form-valid", 7);
|
|
714
580
|
this.formSubmit = index.createEvent(this, "form-submit", 7);
|
|
715
581
|
// Classes
|
|
716
|
-
this.classAllRequired = 'mg-form--all-required';
|
|
582
|
+
this.classAllRequired = 'mg-c-form--all-required';
|
|
717
583
|
/**
|
|
718
584
|
* Define required message based on mg-inputs required elements
|
|
719
585
|
*/
|
|
@@ -787,13 +653,13 @@ const MgForm = class {
|
|
|
787
653
|
input.addEventListener('input-valid', this.checkValidity);
|
|
788
654
|
});
|
|
789
655
|
};
|
|
790
|
-
this.identifier = createID('mg-form');
|
|
656
|
+
this.identifier = components_utils.createID('mg-form');
|
|
791
657
|
this.name = this.identifier;
|
|
792
658
|
this.readonly = false;
|
|
793
659
|
this.disabled = false;
|
|
794
660
|
this.valid = undefined;
|
|
795
661
|
this.invalid = undefined;
|
|
796
|
-
this.classCollection = new ClassList(['mg-form']);
|
|
662
|
+
this.classCollection = new components_utils.ClassList(['mg-c-form']);
|
|
797
663
|
this.requiredMessage = undefined;
|
|
798
664
|
}
|
|
799
665
|
handleAttributeChange() {
|
|
@@ -806,7 +672,8 @@ const MgForm = class {
|
|
|
806
672
|
async displayError() {
|
|
807
673
|
if (!this.readonly) {
|
|
808
674
|
this.mgInputs.forEach(input => {
|
|
809
|
-
|
|
675
|
+
var _a;
|
|
676
|
+
(_a = input.displayError) === null || _a === void 0 ? void 0 : _a.call(input);
|
|
810
677
|
});
|
|
811
678
|
this.checkValidity();
|
|
812
679
|
}
|
|
@@ -819,7 +686,7 @@ const MgForm = class {
|
|
|
819
686
|
*/
|
|
820
687
|
componentWillLoad() {
|
|
821
688
|
// Get locales
|
|
822
|
-
this.messages =
|
|
689
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
823
690
|
// Get slotted mgButtons
|
|
824
691
|
this.mgButtons = Array.from(this.element.querySelectorAll('mg-button'));
|
|
825
692
|
// Set button form identifier
|
|
@@ -1255,7 +1122,7 @@ const icons = {
|
|
|
1255
1122
|
'wallet-outline': '<svg aria-hidden="true" viewBox="0 0 16 16"><path fill="currentColor" d="M12 8a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z"/><path fill="currentColor" fill-rule="evenodd" d="M1 12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8Zm12-8H2v1h11V4ZM2 6h12v6H2V6Z" clip-rule="evenodd"/></svg>'
|
|
1256
1123
|
};
|
|
1257
1124
|
|
|
1258
|
-
const mgIconCss = ".
|
|
1125
|
+
const mgIconCss = ".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}}:host{display:inline-flex;vertical-align:middle}.mg-c-icon{color:currentcolor}.mg-c-icon[size=small],.mg-c-icon.mg-c-icon--size-small{width:var(--mg-icon-small-size);height:var(--mg-icon-small-size)}.mg-c-icon[size=small][class*=mg-c-icon--variant-]:not(.mg-c-icon--variant-style-icon),.mg-c-icon.mg-c-icon--size-small[class*=mg-c-icon--variant-]:not(.mg-c-icon--variant-style-icon){padding:calc(var(--mg-icon-small-size)/2)}.mg-c-icon[size=regular],.mg-c-icon.mg-c-icon--size-regular{width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size)}.mg-c-icon[size=regular][class*=mg-c-icon--variant-]:not(.mg-c-icon--variant-style-icon),.mg-c-icon.mg-c-icon--size-regular[class*=mg-c-icon--variant-]:not(.mg-c-icon--variant-style-icon){padding:calc(var(--mg-icon-regular-size)/2)}.mg-c-icon[size=medium],.mg-c-icon.mg-c-icon--size-medium{width:var(--mg-icon-medium-size);height:var(--mg-icon-medium-size)}.mg-c-icon[size=medium][class*=mg-c-icon--variant-]:not(.mg-c-icon--variant-style-icon),.mg-c-icon.mg-c-icon--size-medium[class*=mg-c-icon--variant-]:not(.mg-c-icon--variant-style-icon){padding:calc(var(--mg-icon-medium-size)/2)}.mg-c-icon[size=large],.mg-c-icon.mg-c-icon--size-large{width:var(--mg-icon-large-size);height:var(--mg-icon-large-size)}.mg-c-icon[size=large][class*=mg-c-icon--variant-]:not(.mg-c-icon--variant-style-icon),.mg-c-icon.mg-c-icon--size-large[class*=mg-c-icon--variant-]:not(.mg-c-icon--variant-style-icon){padding:calc(var(--mg-icon-large-size)/2)}.mg-c-icon[size=extra-large],.mg-c-icon.mg-c-icon--size-extra-large{width:var(--mg-icon-extra-large-size);height:var(--mg-icon-extra-large-size)}.mg-c-icon[size=extra-large][class*=mg-c-icon--variant-]:not(.mg-c-icon--variant-style-icon),.mg-c-icon.mg-c-icon--size-extra-large[class*=mg-c-icon--variant-]:not(.mg-c-icon--variant-style-icon){padding:calc(var(--mg-icon-extra-large-size)/2)}.mg-c-icon.mg-c-icon--variant-success.mg-c-icon--variant-style-icon{color:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l))}.mg-c-icon.mg-c-icon--variant-warning.mg-c-icon--variant-style-icon{color:hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l))}.mg-c-icon.mg-c-icon--variant-danger.mg-c-icon--variant-style-icon{color:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l))}.mg-c-icon.mg-c-icon--variant-info.mg-c-icon--variant-style-icon{color:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l))}.mg-c-icon.mg-c-icon--variant-app.mg-c-icon--variant-style-icon{color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-app-l))}.mg-c-icon.mg-c-icon--variant-success.mg-c-icon--variant-style-background{background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l))}.mg-c-icon.mg-c-icon--variant-warning.mg-c-icon--variant-style-background{background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l))}.mg-c-icon.mg-c-icon--variant-danger.mg-c-icon--variant-style-background{background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l))}.mg-c-icon.mg-c-icon--variant-info.mg-c-icon--variant-style-background{background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l))}.mg-c-icon.mg-c-icon--variant-app.mg-c-icon--variant-style-background{background-color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-soft-l))}.mg-c-icon.mg-c-icon--variant-success.mg-c-icon--variant-style-full{color:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l));background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l))}.mg-c-icon.mg-c-icon--variant-warning.mg-c-icon--variant-style-full{color:hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l));background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l))}.mg-c-icon.mg-c-icon--variant-danger.mg-c-icon--variant-style-full{color:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l));background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l))}.mg-c-icon.mg-c-icon--variant-info.mg-c-icon--variant-style-full{color:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l));background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l))}.mg-c-icon.mg-c-icon--variant-app.mg-c-icon--variant-style-full{color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-app-l));background-color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-soft-l))}.mg-c-icon[class*=mg-c-icon--variant-]{border-radius:var(--mg-icon-border-radius)}.mg-c-icon--spin{animation-duration:.75s;animation-iteration-count:infinite;animation-name:rotate}@keyframes rotate{to{transform:rotate(360deg)}}";
|
|
1259
1126
|
|
|
1260
1127
|
const MgIcon = class {
|
|
1261
1128
|
constructor(hostRef) {
|
|
@@ -1285,15 +1152,15 @@ const MgIcon = class {
|
|
|
1285
1152
|
this.variant = undefined;
|
|
1286
1153
|
this.variantStyle = undefined;
|
|
1287
1154
|
this.spin = false;
|
|
1288
|
-
this.classCollection = new ClassList(['mg-icon']);
|
|
1155
|
+
this.classCollection = new components_utils.ClassList(['mg-c-icon']);
|
|
1289
1156
|
}
|
|
1290
1157
|
validateIcon(newValue, oldValue) {
|
|
1291
1158
|
if (!iconList.includes(newValue))
|
|
1292
1159
|
throw new Error(`<mg-icon> prop "icon" must be one of: ${iconList.join(', ')}`);
|
|
1293
1160
|
else {
|
|
1294
1161
|
if (oldValue !== undefined)
|
|
1295
|
-
this.classCollection.delete(`mg-icon--${oldValue}`);
|
|
1296
|
-
this.classCollection.add(`mg-icon--${newValue}`);
|
|
1162
|
+
this.classCollection.delete(`mg-c-icon--${oldValue}`);
|
|
1163
|
+
this.classCollection.add(`mg-c-icon--${newValue}`);
|
|
1297
1164
|
this.renderIcon(newValue);
|
|
1298
1165
|
}
|
|
1299
1166
|
}
|
|
@@ -1302,41 +1169,39 @@ const MgIcon = class {
|
|
|
1302
1169
|
throw new Error(`<mg-icon> prop "size" must be one of: ${sizes$1.join(', ')}`);
|
|
1303
1170
|
else {
|
|
1304
1171
|
if (oldValue !== undefined)
|
|
1305
|
-
this.classCollection.delete(`mg-icon--size-${oldValue}`);
|
|
1306
|
-
this.classCollection.add(`mg-icon--size-${newValue}`);
|
|
1172
|
+
this.classCollection.delete(`mg-c-icon--size-${oldValue}`);
|
|
1173
|
+
this.classCollection.add(`mg-c-icon--size-${newValue}`);
|
|
1307
1174
|
}
|
|
1308
1175
|
}
|
|
1309
1176
|
validateVariant(newValue, oldValue) {
|
|
1310
|
-
if (
|
|
1177
|
+
if (newValue) {
|
|
1311
1178
|
if (!variants$2.includes(newValue))
|
|
1312
1179
|
throw new Error(`<mg-icon> prop "variant" must be one of: ${variants$2.join(', ')}`);
|
|
1313
1180
|
else {
|
|
1314
1181
|
this.setDefaultVariantStyle();
|
|
1315
1182
|
if (oldValue !== undefined)
|
|
1316
|
-
this.classCollection.delete(`mg-icon--variant-${oldValue}`);
|
|
1317
|
-
this.classCollection.add(`mg-icon--variant-${newValue}`);
|
|
1183
|
+
this.classCollection.delete(`mg-c-icon--variant-${oldValue}`);
|
|
1184
|
+
this.classCollection.add(`mg-c-icon--variant-${newValue}`);
|
|
1318
1185
|
}
|
|
1319
1186
|
}
|
|
1320
1187
|
}
|
|
1321
1188
|
validateVariantStyle(newValue, oldValue) {
|
|
1322
|
-
if (
|
|
1189
|
+
if (newValue) {
|
|
1323
1190
|
if (!variantStyles.includes(newValue))
|
|
1324
1191
|
throw new Error(`<mg-icon> prop "variantStyle" must be one of: ${variantStyles.join(', ')}`);
|
|
1325
1192
|
else {
|
|
1326
1193
|
if (oldValue !== undefined)
|
|
1327
|
-
this.classCollection.delete(`mg-icon--variant-style-${oldValue}`);
|
|
1328
|
-
this.classCollection.add(`mg-icon--variant-style-${newValue}`);
|
|
1194
|
+
this.classCollection.delete(`mg-c-icon--variant-style-${oldValue}`);
|
|
1195
|
+
this.classCollection.add(`mg-c-icon--variant-style-${newValue}`);
|
|
1329
1196
|
}
|
|
1330
1197
|
}
|
|
1331
1198
|
}
|
|
1332
1199
|
handleSpin(newValue) {
|
|
1333
1200
|
if (newValue) {
|
|
1334
|
-
this.classCollection.add('mg-icon--spin');
|
|
1335
|
-
this.classCollection.add('mg-a11y-animation');
|
|
1201
|
+
this.classCollection.add('mg-c-icon--spin');
|
|
1336
1202
|
}
|
|
1337
1203
|
else {
|
|
1338
|
-
this.classCollection.delete('mg-icon--spin');
|
|
1339
|
-
this.classCollection.delete('mg-a11y-animation');
|
|
1204
|
+
this.classCollection.delete('mg-c-icon--spin');
|
|
1340
1205
|
}
|
|
1341
1206
|
}
|
|
1342
1207
|
/**
|
|
@@ -1368,7 +1233,7 @@ const MgIcon = class {
|
|
|
1368
1233
|
};
|
|
1369
1234
|
MgIcon.style = mgIconCss;
|
|
1370
1235
|
|
|
1371
|
-
const mgIllustratedMessageCss = ".mg-illustrated-message{display:flex;flex-direction:column;justify-content:center;
|
|
1236
|
+
const mgIllustratedMessageCss = ".mg-c-illustrated-message{display:flex;max-width:47.5rem;box-sizing:border-box;flex-direction:column;justify-content:center;padding:var(--mg-illustrated-message-padding-vertical) 1.5rem;margin:auto;gap:3em 7rem;text-align:center}.mg-c-illustrated-message__illustration{max-height:18.4rem}.mg-c-illustrated-message__illustration ::slotted([slot=illustration]){width:auto;max-width:100%;height:auto;max-height:18.4rem}.mg-c-illustrated-message__illustration.mg-c-illustrated-message__illustration--small{max-height:6rem}.mg-c-illustrated-message__illustration.mg-c-illustrated-message__illustration--small ::slotted([slot=illustration]){max-height:6rem}.mg-c-illustrated-message.mg-c-illustrated-message--horizontal{max-width:unset;flex-flow:row wrap;align-items:center}.mg-c-illustrated-message.mg-c-illustrated-message--horizontal .mg-c-illustrated-message__slots,.mg-c-illustrated-message.mg-c-illustrated-message--horizontal .mg-c-illustrated-message__illustration{max-width:47.5rem}.mg-c-illustrated-message__title ::slotted([slot=title]){margin:0;font-family:var(--font-family) !important;font-size:2rem !important;font-weight:400 !important}.mg-c-illustrated-message__details ::slotted([slot=details]){margin:2rem 0 0}";
|
|
1372
1237
|
|
|
1373
1238
|
const MgIllustratedMessage = class {
|
|
1374
1239
|
constructor(hostRef) {
|
|
@@ -1385,7 +1250,7 @@ const MgIllustratedMessage = class {
|
|
|
1385
1250
|
componentDidLoad() {
|
|
1386
1251
|
const headingTags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
|
|
1387
1252
|
const slottedIllustrations = this.element.querySelectorAll('[slot="illustration"]');
|
|
1388
|
-
if (!isTagName(this.element.querySelector('[slot="title"]'), headingTags)) {
|
|
1253
|
+
if (!components_utils.isTagName(this.element.querySelector('[slot="title"]'), headingTags)) {
|
|
1389
1254
|
throw new Error(`<mg-illustrated-message> Slotted title must be a heading: ${headingTags.join(', ')}`);
|
|
1390
1255
|
}
|
|
1391
1256
|
else if (slottedIllustrations.length !== 1) {
|
|
@@ -1399,12 +1264,12 @@ const MgIllustratedMessage = class {
|
|
|
1399
1264
|
*/
|
|
1400
1265
|
render() {
|
|
1401
1266
|
return (index.h("div", { class: {
|
|
1402
|
-
'mg-illustrated-message': true,
|
|
1403
|
-
'mg-illustrated-message--horizontal': this.direction === 'horizontal',
|
|
1267
|
+
'mg-c-illustrated-message': true,
|
|
1268
|
+
'mg-c-illustrated-message--horizontal': this.direction === 'horizontal',
|
|
1404
1269
|
} }, index.h("div", { class: {
|
|
1405
|
-
'mg-illustrated-message__illustration': true,
|
|
1406
|
-
'mg-illustrated-message__illustration--small': this.size === 'small',
|
|
1407
|
-
} }, index.h("slot", { name: "illustration" })), index.h("div", { class: "mg-illustrated-message__slots" }, index.h("div", { class: "mg-illustrated-message__title" }, index.h("slot", { name: "title" })), index.h("div", { class: "mg-illustrated-message__details" }, index.h("slot", { name: "details" })))));
|
|
1270
|
+
'mg-c-illustrated-message__illustration': true,
|
|
1271
|
+
'mg-c-illustrated-message__illustration--small': this.size === 'small',
|
|
1272
|
+
} }, index.h("slot", { name: "illustration" })), index.h("div", { class: "mg-c-illustrated-message__slots" }, index.h("div", { class: "mg-c-illustrated-message__title" }, index.h("slot", { name: "title" })), index.h("div", { class: "mg-c-illustrated-message__details" }, index.h("slot", { name: "details" })))));
|
|
1408
1273
|
}
|
|
1409
1274
|
get element() { return index.getElement(this); }
|
|
1410
1275
|
};
|
|
@@ -1436,27 +1301,27 @@ const applyAriadescribedBy = (children, ariaDescribedbyIDs, utils) => utils.map(
|
|
|
1436
1301
|
* @param props - MgInput Interface Props
|
|
1437
1302
|
*/
|
|
1438
1303
|
const manageClasses = (props) => {
|
|
1439
|
-
props.classCollection.add('mg-input');
|
|
1304
|
+
props.classCollection.add('mg-c-input');
|
|
1440
1305
|
if (props.labelOnTop)
|
|
1441
|
-
props.classCollection.add('mg-input--label-on-top');
|
|
1306
|
+
props.classCollection.add('mg-c-input--label-on-top');
|
|
1442
1307
|
else
|
|
1443
|
-
props.classCollection.delete('mg-input--label-on-top');
|
|
1308
|
+
props.classCollection.delete('mg-c-input--label-on-top');
|
|
1444
1309
|
if (props.readonly)
|
|
1445
|
-
props.classCollection.add('mg-input--readonly');
|
|
1310
|
+
props.classCollection.add('mg-c-input--readonly');
|
|
1446
1311
|
else
|
|
1447
|
-
props.classCollection.delete('mg-input--readonly');
|
|
1312
|
+
props.classCollection.delete('mg-c-input--readonly');
|
|
1448
1313
|
widths.forEach(width => {
|
|
1449
|
-
props.classCollection.delete(`mg-input--width-${width}`);
|
|
1314
|
+
props.classCollection.delete(`mg-c-input--width-${width}`);
|
|
1450
1315
|
});
|
|
1451
1316
|
if (props.mgWidth !== undefined)
|
|
1452
|
-
props.classCollection.add(`mg-input--width-${props.mgWidth}`);
|
|
1317
|
+
props.classCollection.add(`mg-c-input--width-${props.mgWidth}`);
|
|
1453
1318
|
};
|
|
1454
1319
|
/**
|
|
1455
1320
|
* Get tagname
|
|
1456
1321
|
* @param isFieldset - is fieldset
|
|
1457
1322
|
* @returns tag name
|
|
1458
1323
|
*/
|
|
1459
|
-
const getTagName = (isFieldset) => (isFieldset ? '
|
|
1324
|
+
const getTagName = (isFieldset, readOnly) => (!isFieldset || readOnly ? 'div' : 'fieldset');
|
|
1460
1325
|
/**
|
|
1461
1326
|
* Get input template
|
|
1462
1327
|
* @param props - MgInput Interface Props
|
|
@@ -1468,10 +1333,10 @@ const MgInput = (props, children, utils) => {
|
|
|
1468
1333
|
/**
|
|
1469
1334
|
* Check required properties
|
|
1470
1335
|
*/
|
|
1471
|
-
if (
|
|
1336
|
+
if (!components_utils.isValidString(props.identifier)) {
|
|
1472
1337
|
throw new Error('<mg-input> prop "identifier" is required.');
|
|
1473
1338
|
}
|
|
1474
|
-
if (
|
|
1339
|
+
if (!components_utils.isValidString(props.label)) {
|
|
1475
1340
|
throw new Error('<mg-input> prop "label" is required.');
|
|
1476
1341
|
}
|
|
1477
1342
|
if (props.labelOnTop && props.labelHide) {
|
|
@@ -1515,7 +1380,7 @@ const MgInput = (props, children, utils) => {
|
|
|
1515
1380
|
*
|
|
1516
1381
|
* Error message is based on this aria method: https://www.w3.org/WAI/tutorials/forms/notifications/#on-focus-change
|
|
1517
1382
|
*/
|
|
1518
|
-
const TagName = getTagName(props.isFieldset);
|
|
1383
|
+
const TagName = getTagName(props.isFieldset, props.readonly);
|
|
1519
1384
|
/**
|
|
1520
1385
|
* Get tooltip node
|
|
1521
1386
|
* @returns mg-tooltip
|
|
@@ -1527,19 +1392,19 @@ const MgInput = (props, children, utils) => {
|
|
|
1527
1392
|
* Display asterisk only if not disabled and not readonly
|
|
1528
1393
|
* @returns mg-input-title
|
|
1529
1394
|
*/
|
|
1530
|
-
const getInputTitle = () => (index.h("mg-input-title", { identifier: props.identifier, class: props.labelHide ? '
|
|
1395
|
+
const getInputTitle = () => (index.h("mg-input-title", { identifier: props.identifier, readonly: props.readonly, class: props.labelHide ? 'mg-u-visually-hidden' : undefined, required: props.required && !props.disabled && !props.readonly, "is-legend": props.isFieldset }, props.label));
|
|
1531
1396
|
return (index.h(TagName, { class: props.classCollection.join() },
|
|
1532
|
-
props.labelOnTop ? (index.h("div", { class: "mg-input__title" },
|
|
1397
|
+
props.labelOnTop ? (index.h("div", { class: "mg-c-input__title" },
|
|
1533
1398
|
getInputTitle(),
|
|
1534
1399
|
!props.readonly && props.tooltip && getTooltip())) : (getInputTitle()),
|
|
1535
|
-
props.readonly ? (index.h("div", { class: "mg-input__input-container" },
|
|
1400
|
+
props.readonly ? (index.h("div", { class: "mg-c-input__input-container" },
|
|
1536
1401
|
index.h("strong", null, props.readonlyValue),
|
|
1537
|
-
children.filter(child => child
|
|
1538
|
-
index.h("div", { class: { 'mg-input__input': true, 'mg-input__input--has-error': props.errorMessage !== undefined } },
|
|
1402
|
+
children.filter(child => Object.values(child).includes('append-input')))) : (index.h("div", { class: "mg-c-input__input-container" },
|
|
1403
|
+
index.h("div", { class: { 'mg-c-input__input': true, 'mg-c-input__input--has-error': props.errorMessage !== undefined } },
|
|
1539
1404
|
applyAriadescribedBy(children, ariaDescribedbyIDs, utils),
|
|
1540
1405
|
!props.labelOnTop && props.tooltip && getTooltip()),
|
|
1541
|
-
props.helpText && index.h("div", { id: helpTextId, class: "mg-input__help-text", innerHTML: props.helpText }),
|
|
1542
|
-
props.errorMessage && !props.readonly && !props.disabled && (index.h("div", { id: helpTextErrorId, class: "mg-input__error", innerHTML: props.errorMessage, "aria-live": "assertive" }))))));
|
|
1406
|
+
props.helpText && index.h("div", { id: helpTextId, class: "mg-c-input__help-text", innerHTML: props.helpText }),
|
|
1407
|
+
props.errorMessage && !props.readonly && !props.disabled && (index.h("div", { id: helpTextErrorId, class: "mg-c-input__error", innerHTML: props.errorMessage, "aria-live": "assertive" }))))));
|
|
1543
1408
|
};
|
|
1544
1409
|
|
|
1545
1410
|
/**
|
|
@@ -1571,16 +1436,19 @@ var SectionTitleKind;
|
|
|
1571
1436
|
const MgInputCheckboxList = (props) => (
|
|
1572
1437
|
// eslint-disable-next-line jsx-a11y/no-redundant-roles
|
|
1573
1438
|
index.h("ul", { class: {
|
|
1574
|
-
'mg-input__input-group-container': true,
|
|
1575
|
-
'mg-input__input-group-container--vertical': props.inputVerticalList || (props.type === 'multi' && !props.readonly),
|
|
1576
|
-
'mg-input__input-checkbox-multi-inputs': props.type === 'multi' && !props.readonly,
|
|
1439
|
+
'mg-c-input__input-group-container': true,
|
|
1440
|
+
'mg-c-input__input-group-container--vertical': props.inputVerticalList || (props.type === 'multi' && !props.readonly),
|
|
1441
|
+
'mg-c-input__input-checkbox-multi-inputs': props.type === 'multi' && !props.readonly,
|
|
1577
1442
|
}, role: "list", "aria-describedby": props.displaySearchInput ? 'search-results' : undefined, "aria-label": props.displaySearchInput ? props.messages.searchResults : undefined, "aria-live": props.displaySearchInput ? 'polite' : undefined, id: props.id }, props.checkboxes
|
|
1578
1443
|
.filter(item => !props.readonly || item.value)
|
|
1579
|
-
.map(input =>
|
|
1580
|
-
|
|
1581
|
-
index.h("
|
|
1444
|
+
.map(input => {
|
|
1445
|
+
var _a;
|
|
1446
|
+
return (index.h("li", { key: input._id, class: { 'mg-c-input__input-group': true, 'mg-c-input__input-group--disabled': props.disabled || input.disabled } },
|
|
1447
|
+
index.h("input", { type: "checkbox", id: input._id, name: props.name, value: input.value && input.value.toString(), checked: Boolean(input.value), required: input.required, "aria-invalid": ((_a = props.invalid) === null || _a === void 0 ? void 0 : _a.toString()) || 'false', disabled: props.readonly || props.disabled || input.disabled, indeterminate: input.value === null, onInput: input._handleInput, onBlur: input._handleBlur, onKeyDown: input._handleKeydown }),
|
|
1448
|
+
index.h("label", { htmlFor: input._id }, input.title)));
|
|
1449
|
+
})));
|
|
1582
1450
|
|
|
1583
|
-
const mgInputCheckboxCss = ":host{display:block}.mg-input{display:flex;
|
|
1451
|
+
const mgInputCheckboxCss = ":host{display:block}.mg-c-input__input mg-icon,.mg-c-input__error mg-icon{display:flex}.mg-c-input{display:flex;max-width:100%;min-height:var(--default-size);align-items:flex-start;margin-bottom:var(--mg-inputs-margin-bottom, 0)}.mg-c-input mg-input-title{width:var(--mg-inputs-title-width, auto);flex-shrink:var(--mg-inputs-shrink, 1);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-c-input__error{display:inline-block;padding:.3rem .8rem;border-radius:.3rem;margin-top:.2rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-c-input__input-container{min-height:var(--default-size)}.mg-c-input__input-container>strong{display:inline-block;min-height:var(--font-size);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2)}.mg-c-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-c-input__input-container .mg-c-input__help-text,.mg-c-input__input-container .mg-c-input__error{font-size:1.2rem;text-align:start}.mg-c-input.mg-c-input--label-on-top{flex-direction:column}.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-container{width:100%}.mg-c-input__title{display:flex;align-items:baseline;margin-bottom:.3rem}.mg-c-input__title mg-input-title{width:auto;flex-shrink:1;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-c-input__title mg-tooltip{margin-top:0}.mg-c-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-c-input__input{display:flex}.mg-c-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input__input.mg-c-input__input--has-error .mg-c-input__box{border-color:hsl(var(--color-danger))}.mg-c-input__input+.mg-c-input__help-text,.mg-c-input__input+.mg-c-input__error{margin-top:.5rem}.mg-c-input__input .mg-c-input__box:disabled,.mg-c-input__input-group--disabled label,.mg-c-input.mg-c-input--toggle-disabled .mg-c-input__input .mg-c-input__button-toggle,.mg-c-input.mg-c-input--checkbox-multi-disabled .mg-c-input__input strong{opacity:var(--mg-disabled-opacity)}.mg-c-input__input-group-container{display:flex;flex-wrap:wrap;padding:0;margin:0;margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);column-gap:2.3rem;list-style:none;row-gap:1rem}.mg-c-input__input-group-container--vertical{flex-direction:column}fieldset.mg-c-input{padding:0;border:0;margin-right:0;margin-left:0}fieldset.mg-c-input input[type=radio],fieldset.mg-c-input input[type=checkbox]{width:var(--mg-input-check-size);height:var(--mg-input-check-size);flex-shrink:0;margin:calc((var(--font-size)*var(--line-height) - var(--mg-input-check-size))/2) .6rem 0 0}fieldset.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-group-container{margin-top:.7rem}.mg-c-input__input-container mg-tooltip{margin-left:3rem}.mg-c-input__input-group{display:flex;align-items:start}.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}}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi{display:flex;flex-wrap:wrap;gap:calc(var(--mg-inputs-spacer)*1.2)}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi--with-values.mg-c-input__input-checkbox-multi{gap:.4rem}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi-values-container{display:flex;flex-flow:row wrap;gap:calc(0.4rem * 1);padding:0;margin:0;list-style:none}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi-value{display:inline-flex;min-width:var(--default-size);min-height:var(--default-size);box-sizing:border-box;align-items:center;justify-content:center;padding:calc((var(--default-size) - .2rem - var(--font-size)*var(--line-height))/2) 1.1rem;border-radius:.3rem;background-color:hsl(var(--mg-color-dark-5-hsl));font-size:var(--font-size)}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi-no-result{text-align:center}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi-text,.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi-title{display:inline;margin:0;color:hsl(var(--mg-color-dark-40-hsl))}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi-title{margin:0 1.1rem}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi-sections{display:flex;flex-flow:column wrap;gap:calc(0.4rem * 1)}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi-sections-container{display:flex;flex-flow:column nowrap;gap:calc(0.4rem * 0);max-height:80vh;padding-right:1rem;overflow-y:auto}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi-section-header{display:flex;flex-flow:row wrap;gap:calc(0.4rem * 2);min-height:var(--default-size);align-items:center}.mg-c-input.mg-c-input--checkbox-multi .mg-c-input__input-checkbox-multi-inputs{padding:.4rem calc(0.4rem * 2) .4rem calc(0.4rem / 2);margin:0}.mg-c-input.mg-c-input--checkbox-multi:not(.mg-c-input--label-on-top) mg-tooltip{margin-left:var(--mg-inputs-spacer)}.mg-c-input.mg-c-input--checkbox-multi mg-popover{--mg-popover-min-width:7rem;--mg-card-padding:calc(0.4rem * 2)}.mg-c-input.mg-c-input--checkbox-multi mg-popover-content [slot=content]{display:flex;flex-flow:column wrap;gap:calc(0.4rem * 2)}.mg-c-input.mg-c-input--checkbox-multi mg-popover-content [slot=content] .mg-c-input__input-group{margin-left:calc(0.4rem * 2)}.mg-c-input.mg-c-input--checkbox-multi mg-input-text{--mg-inputs-margin-bottom:0}";
|
|
1584
1452
|
|
|
1585
1453
|
/**
|
|
1586
1454
|
* type CheckboxItem validation function
|
|
@@ -1598,7 +1466,7 @@ const MgInputCheckbox = class {
|
|
|
1598
1466
|
this.hasDisplayedError = false;
|
|
1599
1467
|
this.mode = 'custom';
|
|
1600
1468
|
// style
|
|
1601
|
-
this.baseClassName = 'mg-input--checkbox';
|
|
1469
|
+
this.baseClassName = 'mg-c-input--checkbox';
|
|
1602
1470
|
// "multi" setup
|
|
1603
1471
|
this.multiStart = 5;
|
|
1604
1472
|
this.searchStart = 10;
|
|
@@ -1607,7 +1475,7 @@ const MgInputCheckbox = class {
|
|
|
1607
1475
|
* @param event - input event
|
|
1608
1476
|
*/
|
|
1609
1477
|
this.handleInput = (event) => {
|
|
1610
|
-
this.updateCheckboxItems('value', Boolean(event.target.checked), item => item.
|
|
1478
|
+
this.updateCheckboxItems('value', Boolean(event.target.checked), item => item._id === event.target.id);
|
|
1611
1479
|
this.updateValues();
|
|
1612
1480
|
this.checkValidity();
|
|
1613
1481
|
};
|
|
@@ -1625,11 +1493,11 @@ const MgInputCheckbox = class {
|
|
|
1625
1493
|
return;
|
|
1626
1494
|
}
|
|
1627
1495
|
const enableInputs = Array.from(this.element.shadowRoot.querySelectorAll('input'))
|
|
1628
|
-
.filter(input => !
|
|
1496
|
+
.filter(input => !input.getAttribute('disabled'))
|
|
1629
1497
|
.map(({ id }) => id);
|
|
1630
1498
|
const originInputIndex = enableInputs.findIndex(id => id === event.target.id);
|
|
1631
1499
|
// close popover when tab trigger focus outside its DOM
|
|
1632
|
-
if ((originInputIndex + 1 >= enableInputs.length && !event.shiftKey) || (originInputIndex === 0 && event.shiftKey && !
|
|
1500
|
+
if ((originInputIndex + 1 >= enableInputs.length && !event.shiftKey) || (originInputIndex === 0 && event.shiftKey && !this.searchInput))
|
|
1633
1501
|
this.mgPopover.display = false;
|
|
1634
1502
|
}
|
|
1635
1503
|
};
|
|
@@ -1671,7 +1539,13 @@ const MgInputCheckbox = class {
|
|
|
1671
1539
|
* Update values
|
|
1672
1540
|
*/
|
|
1673
1541
|
this.updateValues = () => {
|
|
1674
|
-
this.value = this.checkboxItems.map(o =>
|
|
1542
|
+
this.value = this.checkboxItems.map(o => {
|
|
1543
|
+
delete o._handleBlur;
|
|
1544
|
+
delete o._handleInput;
|
|
1545
|
+
delete o._handleKeydown;
|
|
1546
|
+
delete o._id;
|
|
1547
|
+
return o;
|
|
1548
|
+
});
|
|
1675
1549
|
};
|
|
1676
1550
|
/**
|
|
1677
1551
|
* get invalid element
|
|
@@ -1685,7 +1559,7 @@ const MgInputCheckbox = class {
|
|
|
1685
1559
|
* Method to update searchResults
|
|
1686
1560
|
*/
|
|
1687
1561
|
this.updateSearchResults = () => {
|
|
1688
|
-
this.searchResults = this.checkboxItems.filter(item => item.title
|
|
1562
|
+
this.searchResults = this.checkboxItems.filter(item => components_utils.cleanString(item.title).includes(components_utils.cleanString(this.searchValue)));
|
|
1689
1563
|
};
|
|
1690
1564
|
/**
|
|
1691
1565
|
* Methode to validate if one of inputs value is checked id required
|
|
@@ -1752,7 +1626,7 @@ const MgInputCheckbox = class {
|
|
|
1752
1626
|
this.helpText = undefined;
|
|
1753
1627
|
this.valid = undefined;
|
|
1754
1628
|
this.invalid = undefined;
|
|
1755
|
-
this.classCollection = new ClassList([this.baseClassName]);
|
|
1629
|
+
this.classCollection = new components_utils.ClassList([this.baseClassName]);
|
|
1756
1630
|
this.errorMessage = undefined;
|
|
1757
1631
|
this.checkboxItems = [];
|
|
1758
1632
|
this.displaySearchInput = undefined;
|
|
@@ -1761,16 +1635,7 @@ const MgInputCheckbox = class {
|
|
|
1761
1635
|
}
|
|
1762
1636
|
validateValue(newValue) {
|
|
1763
1637
|
if (isCheckboxItems(newValue)) {
|
|
1764
|
-
this.checkboxItems = newValue.map((item, index) => ({
|
|
1765
|
-
id: `${this.identifier}_${index}`,
|
|
1766
|
-
title: item.title,
|
|
1767
|
-
value: item.value,
|
|
1768
|
-
disabled: item.disabled,
|
|
1769
|
-
required: item.required,
|
|
1770
|
-
handleInput: this.handleInput.bind(this),
|
|
1771
|
-
handleBlur: this.handleBlur.bind(this),
|
|
1772
|
-
handleKeydown: this.handleKeydown.bind(this),
|
|
1773
|
-
}));
|
|
1638
|
+
this.checkboxItems = newValue.map((item, index) => (Object.assign(Object.assign({}, item), { _id: `${this.identifier}_${index}`, _handleInput: this.handleInput.bind(this), _handleBlur: this.handleBlur.bind(this), _handleKeydown: this.handleKeydown.bind(this) })));
|
|
1774
1639
|
this.valueChange.emit(newValue);
|
|
1775
1640
|
}
|
|
1776
1641
|
else {
|
|
@@ -1848,7 +1713,7 @@ const MgInputCheckbox = class {
|
|
|
1848
1713
|
if (typeof valid !== 'boolean') {
|
|
1849
1714
|
throw new Error('<mg-input-checkbox> method "setError()" param "valid" must be a boolean');
|
|
1850
1715
|
}
|
|
1851
|
-
else if (
|
|
1716
|
+
else if (!components_utils.isValidString(errorMessage)) {
|
|
1852
1717
|
throw new Error('<mg-input-checkbox> method "setError()" param "errorMessage" must be a string');
|
|
1853
1718
|
}
|
|
1854
1719
|
else {
|
|
@@ -1889,7 +1754,7 @@ const MgInputCheckbox = class {
|
|
|
1889
1754
|
*/
|
|
1890
1755
|
componentWillLoad() {
|
|
1891
1756
|
// Get locales
|
|
1892
|
-
this.messages =
|
|
1757
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
1893
1758
|
// Validate
|
|
1894
1759
|
this.validateType(this.type);
|
|
1895
1760
|
this.validateValue(this.value);
|
|
@@ -1917,9 +1782,9 @@ const MgInputCheckbox = class {
|
|
|
1917
1782
|
*/
|
|
1918
1783
|
renderCheckboxMultiDisplaySelectedValues(selectedValuesNb) {
|
|
1919
1784
|
if (this.displaySelectedValues) {
|
|
1920
|
-
return (selectedValuesNb > 0 && (index.h("ul", { role: "list", class: "mg-input__input-checkbox-multi-values-container" }, this.checkboxItems
|
|
1785
|
+
return (selectedValuesNb > 0 && (index.h("ul", { role: "list", class: "mg-c-input__input-checkbox-multi-values-container" }, this.checkboxItems
|
|
1921
1786
|
.filter(({ value }) => value)
|
|
1922
|
-
.map(({ title }) => (index.h("li", { class: "mg-input__input-checkbox-multi-value", key: title }, title))))));
|
|
1787
|
+
.map(({ title }) => (index.h("li", { class: "mg-c-input__input-checkbox-multi-value", key: title }, title))))));
|
|
1923
1788
|
}
|
|
1924
1789
|
else {
|
|
1925
1790
|
return index.h("strong", null, this.messages.input.checkbox[selectedValuesNb > 1 ? 'selectedValues' : 'selectedValue'].replace('{nb}', selectedValuesNb));
|
|
@@ -1953,20 +1818,21 @@ const MgInputCheckbox = class {
|
|
|
1953
1818
|
renderCheckboxMulti() {
|
|
1954
1819
|
const selectedValuesNb = this.checkboxItems.filter(({ value }) => value).length;
|
|
1955
1820
|
const checkboxes = this.getDisplayItems();
|
|
1956
|
-
return (index.h("div", { class: { 'mg-input__input-container': true, 'mg-input__input-checkbox-multi': true, 'mg-input__input-checkbox-multi--with-values': this.displaySelectedValues } }, this.renderCheckboxMultiDisplaySelectedValues(selectedValuesNb), index.h("mg-popover", { arrowHide: true, identifier: this.getMgPopoverIdentifier(), "onDisplay-change": this.handleMgPopoverDisplayChange, ref: (el) => {
|
|
1957
|
-
if (
|
|
1821
|
+
return (index.h("div", { class: { 'mg-c-input__input-container': true, 'mg-c-input__input-checkbox-multi': true, 'mg-c-input__input-checkbox-multi--with-values': this.displaySelectedValues } }, this.renderCheckboxMultiDisplaySelectedValues(selectedValuesNb), index.h("mg-popover", { arrowHide: true, identifier: this.getMgPopoverIdentifier(), "onDisplay-change": this.handleMgPopoverDisplayChange, ref: (el) => {
|
|
1822
|
+
if (el)
|
|
1958
1823
|
this.mgPopover = el;
|
|
1959
1824
|
} }, index.h("mg-button", { variant: "secondary" }, index.h("mg-icon", { icon: "list" }), this.renderButtonText(selectedValuesNb)), index.h("div", { slot: "content" }, this.displaySearchInput && [
|
|
1960
1825
|
index.h("mg-input-text", { key: "input-search", identifier: `${this.identifier}-input-search`, icon: "magnifying-glass", type: "search", placeholder: this.messages.input.checkbox.label, label: this.messages.input.checkbox.label, mgWidth: "full", value: this.searchValue, labelHide: true, displayCharacterLeft: false, name: "q", "onValue-change": this.handleSearchChange, "aria-controls": "search-results items-list" }),
|
|
1961
|
-
index.h("p", { key: "search-results", role: "status", class: "
|
|
1962
|
-
], this.displaySearchInput ? (index.h("div", { class: "mg-input__input-checkbox-multi-sections-container" }, this.renderCheckboxBySection(checkboxes))) : (index.h(MgInputCheckboxList, { checkboxes: checkboxes, inputVerticalList: true, type: this.type, readonly: this.readonly, displaySearchInput: this.displaySearchInput, messages: this.messages.input.checkbox, id: "checkboxes-list", disabled: this.disabled, name: this.name })), this.displaySearchInput && checkboxes.length === 0 && index.h("p", { class: "mg-input__input-checkbox-multi-no-result" }, this.messages.input.checkbox.noResult)))));
|
|
1826
|
+
index.h("p", { key: "search-results", role: "status", class: "mg-u-visually-hidden", id: "search-results" }, `${checkboxes.length} ${this.messages.input.checkbox[checkboxes.length > 0 ? 'results' : 'result']}`),
|
|
1827
|
+
], this.displaySearchInput ? (index.h("div", { class: "mg-c-input__input-checkbox-multi-sections-container" }, this.renderCheckboxBySection(checkboxes))) : (index.h(MgInputCheckboxList, { checkboxes: checkboxes, inputVerticalList: true, type: this.type, readonly: this.readonly, displaySearchInput: this.displaySearchInput, messages: this.messages.input.checkbox, id: "checkboxes-list", disabled: this.disabled, name: this.name, invalid: this.invalid })), this.displaySearchInput && checkboxes.length === 0 && index.h("p", { class: "mg-c-input__input-checkbox-multi-no-result" }, this.messages.input.checkbox.noResult)))));
|
|
1963
1828
|
}
|
|
1964
1829
|
/**
|
|
1965
1830
|
* Render
|
|
1966
1831
|
* @returns HTML Element
|
|
1967
1832
|
*/
|
|
1968
1833
|
render() {
|
|
1969
|
-
|
|
1834
|
+
var _a;
|
|
1835
|
+
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: !this.readonly ? this.required : undefined, readonly: undefined, mgWidth: undefined, disabled: this.disabled, value: (_a = this.value) === null || _a === void 0 ? void 0 : _a.toString(), readonlyValue: undefined, tooltip: !this.readonly ? this.tooltip : undefined, helpText: !this.readonly ? this.helpText : undefined, errorMessage: !this.readonly ? this.errorMessage : undefined, isFieldset: true }, this.type === 'checkbox' || this.readonly ? (index.h(MgInputCheckboxList, { checkboxes: this.checkboxItems, inputVerticalList: this.inputVerticalList, type: this.type, readonly: this.readonly, displaySearchInput: this.displaySearchInput, messages: this.messages.input.checkbox, id: "checkboxes-list", disabled: this.disabled, name: this.name, invalid: this.invalid })) : (this.renderCheckboxMulti())));
|
|
1970
1836
|
}
|
|
1971
1837
|
get element() { return index.getElement(this); }
|
|
1972
1838
|
static get watchers() { return {
|
|
@@ -2000,7 +1866,7 @@ const MgInputCheckboxPaginated = class {
|
|
|
2000
1866
|
this.massAction.emit(this.sectionKind);
|
|
2001
1867
|
};
|
|
2002
1868
|
/**
|
|
2003
|
-
*
|
|
1869
|
+
* Toggle items button handler
|
|
2004
1870
|
*/
|
|
2005
1871
|
this.handleToggleClick = () => {
|
|
2006
1872
|
this.expanded = !this.expanded;
|
|
@@ -2028,6 +1894,7 @@ const MgInputCheckboxPaginated = class {
|
|
|
2028
1894
|
this.readonly = undefined;
|
|
2029
1895
|
this.disabled = undefined;
|
|
2030
1896
|
this.name = undefined;
|
|
1897
|
+
this.invalid = undefined;
|
|
2031
1898
|
this.checkboxes = [];
|
|
2032
1899
|
this.sectionKind = undefined;
|
|
2033
1900
|
this.messages = undefined;
|
|
@@ -2077,7 +1944,7 @@ const MgInputCheckboxPaginated = class {
|
|
|
2077
1944
|
const [checkboxItemsFromIndex, checkboxItemsToIndex] = this.getFromToIndexes();
|
|
2078
1945
|
const itemsContainerId = `items-${this.sectionKind}-container`;
|
|
2079
1946
|
const getText = (checkboxes) => index.h("em", null, `${this.messages[checkboxes.length > 1 ? 'titlePlurial' : 'title']} (${checkboxes.length})`);
|
|
2080
|
-
return (index.h(index.Host, { hidden: this.checkboxes.length < 1 }, index.h("div", { class: "mg-input__input-checkbox-multi-section-header" }, this.titleKind === SectionTitleKind.BUTTON ? (index.h("mg-button", { variant: "flat", onClick: this.handleToggleClick, "aria-controls": itemsContainerId, "aria-expanded": this.expanded.toString() }, index.h("mg-icon", { icon: this.expanded ? 'chevron-up' : 'chevron-down', size: "small" }), index.h("span", { class: "mg-input__input-checkbox-multi-text" }, getText(this.checkboxes)))) : (index.h("p", { class: "mg-input__input-checkbox-multi-title" }, getText(this.checkboxes))), ((this.sectionKind === SectionKind.SELECTED && this.expanded) || this.sectionKind === SectionKind.NOT_SELECTED) && (index.h("mg-button", { variant: "link", onClick: this.massActionHandler }, this.messages.action)), this.expanded && this.getPageCount(this.checkboxes) > 1 && (index.h("mg-pagination", { key: "search-pagination", totalPages: this.getPageCount(this.checkboxes), currentPage: this.currentPage > 1 ? this.currentPage : 1, "onCurrent-page-change": this.handleCurrentPageChange, hideNavigationLabels: true, hidePageCount: true, identifier: `input-checkbox-pagination-${this.sectionKind}` }))), index.h("div", { hidden: !this.expanded, id: itemsContainerId, class: "mg-input__input-checkbox-multi-section-content" }, index.h(MgInputCheckboxList, { checkboxes: this.getArrayRange(this.checkboxes, checkboxItemsFromIndex, checkboxItemsToIndex), inputVerticalList: true, type: 'multi', displaySearchInput: true, messages: this.messages, id: `items-${this.sectionKind}`, readonly: this.readonly, disabled: this.disabled, name: this.name }))));
|
|
1947
|
+
return (index.h(index.Host, { hidden: this.checkboxes.length < 1 }, index.h("div", { class: "mg-c-input__input-checkbox-multi-section-header" }, this.titleKind === SectionTitleKind.BUTTON ? (index.h("mg-button", { variant: "flat", onClick: this.handleToggleClick, "aria-controls": itemsContainerId, "aria-expanded": this.expanded.toString() }, index.h("mg-icon", { icon: this.expanded ? 'chevron-up' : 'chevron-down', size: "small" }), index.h("span", { class: "mg-c-input__input-checkbox-multi-text" }, getText(this.checkboxes)))) : (index.h("p", { class: "mg-c-input__input-checkbox-multi-title" }, getText(this.checkboxes))), ((this.sectionKind === SectionKind.SELECTED && this.expanded) || this.sectionKind === SectionKind.NOT_SELECTED) && (index.h("mg-button", { variant: "link", onClick: this.massActionHandler }, this.messages.action)), this.expanded && this.getPageCount(this.checkboxes) > 1 && (index.h("mg-pagination", { key: "search-pagination", totalPages: this.getPageCount(this.checkboxes), currentPage: this.currentPage > 1 ? this.currentPage : 1, "onCurrent-page-change": this.handleCurrentPageChange, hideNavigationLabels: true, hidePageCount: true, identifier: `input-checkbox-pagination-${this.sectionKind}` }))), index.h("div", { hidden: !this.expanded, id: itemsContainerId, class: "mg-c-input__input-checkbox-multi-section-content" }, index.h(MgInputCheckboxList, { checkboxes: this.getArrayRange(this.checkboxes, checkboxItemsFromIndex, checkboxItemsToIndex), inputVerticalList: true, type: 'multi', displaySearchInput: true, messages: this.messages, id: `items-${this.sectionKind}`, readonly: this.readonly, disabled: this.disabled, name: this.name, invalid: this.invalid }))));
|
|
2081
1948
|
}
|
|
2082
1949
|
static get watchers() { return {
|
|
2083
1950
|
"checkboxes": ["validateCheckboxes"],
|
|
@@ -2093,7 +1960,7 @@ var InputError$1;
|
|
|
2093
1960
|
InputError["REQUIRED"] = "required";
|
|
2094
1961
|
})(InputError$1 || (InputError$1 = {}));
|
|
2095
1962
|
|
|
2096
|
-
const mgInputDateCss = ":host{display:block}.mg-input{display:flex;
|
|
1963
|
+
const mgInputDateCss = ":host{display:block}.mg-c-input__input mg-icon,.mg-c-input__error mg-icon{display:flex}.mg-c-input{display:flex;max-width:100%;min-height:var(--default-size);align-items:flex-start;margin-bottom:var(--mg-inputs-margin-bottom, 0)}.mg-c-input mg-input-title{width:var(--mg-inputs-title-width, auto);flex-shrink:var(--mg-inputs-shrink, 1);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-c-input__error{display:inline-block;padding:.3rem .8rem;border-radius:.3rem;margin-top:.2rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-c-input__input-container{min-height:var(--default-size)}.mg-c-input__input-container>strong{display:inline-block;min-height:var(--font-size);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2)}.mg-c-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-c-input__input-container .mg-c-input__help-text,.mg-c-input__input-container .mg-c-input__error{font-size:1.2rem;text-align:start}.mg-c-input.mg-c-input--label-on-top{flex-direction:column}.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-container{width:100%}.mg-c-input__title{display:flex;align-items:baseline;margin-bottom:.3rem}.mg-c-input__title mg-input-title{width:auto;flex-shrink:1;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-c-input__title mg-tooltip{margin-top:0}.mg-c-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-c-input__input{display:flex}.mg-c-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input__input.mg-c-input__input--has-error .mg-c-input__box{border-color:hsl(var(--color-danger))}.mg-c-input__input+.mg-c-input__help-text,.mg-c-input__input+.mg-c-input__error{margin-top:.5rem}.mg-c-input__input .mg-c-input__box:disabled,.mg-c-input__input-group--disabled label,.mg-c-input.mg-c-input--toggle-disabled .mg-c-input__input .mg-c-input__button-toggle,.mg-c-input.mg-c-input--checkbox-multi-disabled .mg-c-input__input strong{opacity:var(--mg-disabled-opacity)}.mg-c-input__box{height:var(--default-size);box-sizing:border-box;padding:calc((var(--default-size) - var(--font-size)*var(--line-height))/2) var(--mg-inputs-spacer);border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));color:hsl(var(--color-dark));font-family:inherit;font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 .6rem hsl(var(--mg-inputs-color-shadow-focus-hsl)/50%)}.mg-c-input__box:disabled{opacity:.3}.mg-c-input.mg-c-input--label-on-top .mg-c-input__box{width:auto;max-width:100%}.mg-c-input.mg-c-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:-0.1rem;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--is-input-group-append.mg-c-input--readonly slot[name=append-input]{display:none}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-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-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.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}}";
|
|
2097
1964
|
|
|
2098
1965
|
const MgInputDate = class {
|
|
2099
1966
|
constructor(hostRef) {
|
|
@@ -2169,12 +2036,12 @@ const MgInputDate = class {
|
|
|
2169
2036
|
}
|
|
2170
2037
|
// min, max & minMax
|
|
2171
2038
|
else if ([InputError$1.MIN, InputError$1.MAX, InputError$1.MINMAX].includes(inputError)) {
|
|
2172
|
-
this.errorMessage = this.messages.errors.date[inputError].replace('{min}',
|
|
2039
|
+
this.errorMessage = this.messages.errors.date[inputError].replace('{min}', components_utils.localeDate(this.min, this.locale)).replace('{max}', components_utils.localeDate(this.max, this.locale));
|
|
2173
2040
|
}
|
|
2174
2041
|
// wrong date format
|
|
2175
2042
|
// element.validity.badInput is default error message
|
|
2176
2043
|
else {
|
|
2177
|
-
this.errorMessage = this.messages.errors.date.badInput.replace('{min}', ((_a = this.min) === null || _a === void 0 ? void 0 : _a.length) > 0 ?
|
|
2044
|
+
this.errorMessage = this.messages.errors.date.badInput.replace('{min}', ((_a = this.min) === null || _a === void 0 ? void 0 : _a.length) > 0 ? components_utils.localeDate(this.min, this.locale) : components_utils.localeDate('1900-01-01', this.locale));
|
|
2178
2045
|
}
|
|
2179
2046
|
}
|
|
2180
2047
|
};
|
|
@@ -2193,14 +2060,14 @@ const MgInputDate = class {
|
|
|
2193
2060
|
this.invalid = undefined;
|
|
2194
2061
|
this.min = undefined;
|
|
2195
2062
|
this.max = undefined;
|
|
2196
|
-
this.classCollection = new ClassList(['mg-input--date']);
|
|
2063
|
+
this.classCollection = new components_utils.ClassList(['mg-c-input--date']);
|
|
2197
2064
|
this.errorMessage = undefined;
|
|
2198
2065
|
}
|
|
2199
2066
|
validateValue(newValue) {
|
|
2200
2067
|
// When the input is not fully completed or has been cleared, the value becomes an empty string.
|
|
2201
2068
|
if (newValue === '')
|
|
2202
2069
|
newValue = null;
|
|
2203
|
-
if (newValue !== undefined && newValue !== null && (typeof newValue !== 'string' || !
|
|
2070
|
+
if (newValue !== undefined && newValue !== null && (typeof newValue !== 'string' || !components_utils.dateRegExp.test(newValue))) {
|
|
2204
2071
|
throw new Error("<mg-input-date> props 'value' doesn't match pattern: yyyy-mm-dd");
|
|
2205
2072
|
}
|
|
2206
2073
|
else {
|
|
@@ -2218,7 +2085,7 @@ const MgInputDate = class {
|
|
|
2218
2085
|
}
|
|
2219
2086
|
}
|
|
2220
2087
|
validateMinMax(newValue) {
|
|
2221
|
-
if ((newValue === null || newValue === void 0 ? void 0 : newValue.length) === 0 || ((newValue === null || newValue === void 0 ? void 0 : newValue.length) > 0 && !(typeof newValue === 'string' &&
|
|
2088
|
+
if ((newValue === null || newValue === void 0 ? void 0 : newValue.length) === 0 || ((newValue === null || newValue === void 0 ? void 0 : newValue.length) > 0 && !(typeof newValue === 'string' && components_utils.dateRegExp.test(newValue)))) {
|
|
2222
2089
|
throw new Error("<mg-input-date> props 'min/max' doesn't match pattern: yyyy-mm-dd");
|
|
2223
2090
|
}
|
|
2224
2091
|
}
|
|
@@ -2242,7 +2109,7 @@ const MgInputDate = class {
|
|
|
2242
2109
|
if (typeof valid !== 'boolean') {
|
|
2243
2110
|
throw new Error('<mg-input-date> method "setError()" param "valid" must be a boolean');
|
|
2244
2111
|
}
|
|
2245
|
-
else if (
|
|
2112
|
+
else if (!components_utils.isValidString(errorMessage)) {
|
|
2246
2113
|
throw new Error('<mg-input-date> method "setError()" param "errorMessage" must be a string');
|
|
2247
2114
|
}
|
|
2248
2115
|
else {
|
|
@@ -2270,7 +2137,7 @@ const MgInputDate = class {
|
|
|
2270
2137
|
*/
|
|
2271
2138
|
componentWillLoad() {
|
|
2272
2139
|
// Get locales
|
|
2273
|
-
const locales =
|
|
2140
|
+
const locales = components_utils.initLocales(this.element);
|
|
2274
2141
|
this.locale = locales.locale;
|
|
2275
2142
|
this.messages = locales.messages;
|
|
2276
2143
|
// Validate
|
|
@@ -2289,7 +2156,7 @@ const MgInputDate = class {
|
|
|
2289
2156
|
* @returns HTML Element
|
|
2290
2157
|
*/
|
|
2291
2158
|
render() {
|
|
2292
|
-
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: undefined, disabled: this.disabled, value: this.value, readonlyValue:
|
|
2159
|
+
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: undefined, disabled: this.disabled, value: this.value, readonlyValue: components_utils.localeDate(this.value, this.locale), tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.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, ref: (el) => {
|
|
2293
2160
|
if (el !== null)
|
|
2294
2161
|
this.input = el;
|
|
2295
2162
|
} })));
|
|
@@ -2318,7 +2185,7 @@ var InputError;
|
|
|
2318
2185
|
InputError["REQUIRED"] = "required";
|
|
2319
2186
|
})(InputError || (InputError = {}));
|
|
2320
2187
|
|
|
2321
|
-
const mgInputNumericCss = ":host{display:block}.mg-input{display:flex;
|
|
2188
|
+
const mgInputNumericCss = ":host{display:block}.mg-c-input__input mg-icon,.mg-c-input__error mg-icon{display:flex}.mg-c-input{display:flex;max-width:100%;min-height:var(--default-size);align-items:flex-start;margin-bottom:var(--mg-inputs-margin-bottom, 0)}.mg-c-input mg-input-title{width:var(--mg-inputs-title-width, auto);flex-shrink:var(--mg-inputs-shrink, 1);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-c-input__error{display:inline-block;padding:.3rem .8rem;border-radius:.3rem;margin-top:.2rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-c-input__input-container{min-height:var(--default-size)}.mg-c-input__input-container>strong{display:inline-block;min-height:var(--font-size);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2)}.mg-c-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-c-input__input-container .mg-c-input__help-text,.mg-c-input__input-container .mg-c-input__error{font-size:1.2rem;text-align:start}.mg-c-input.mg-c-input--label-on-top{flex-direction:column}.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-container{width:100%}.mg-c-input__title{display:flex;align-items:baseline;margin-bottom:.3rem}.mg-c-input__title mg-input-title{width:auto;flex-shrink:1;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-c-input__title mg-tooltip{margin-top:0}.mg-c-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-c-input__input{display:flex}.mg-c-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input__input.mg-c-input__input--has-error .mg-c-input__box{border-color:hsl(var(--color-danger))}.mg-c-input__input+.mg-c-input__help-text,.mg-c-input__input+.mg-c-input__error{margin-top:.5rem}.mg-c-input__input .mg-c-input__box:disabled,.mg-c-input__input-group--disabled label,.mg-c-input.mg-c-input--toggle-disabled .mg-c-input__input .mg-c-input__button-toggle,.mg-c-input.mg-c-input--checkbox-multi-disabled .mg-c-input__input strong{opacity:var(--mg-disabled-opacity)}.mg-c-input__box{height:var(--default-size);box-sizing:border-box;padding:calc((var(--default-size) - var(--font-size)*var(--line-height))/2) var(--mg-inputs-spacer);border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));color:hsl(var(--color-dark));font-family:inherit;font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 .6rem hsl(var(--mg-inputs-color-shadow-focus-hsl)/50%)}.mg-c-input__box:disabled{opacity:.3}.mg-c-input.mg-c-input--label-on-top .mg-c-input__box{width:auto;max-width:100%}.mg-c-input.mg-c-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:-0.1rem;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--is-input-group-append.mg-c-input--readonly slot[name=append-input]{display:none}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-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-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input:not(.mg-c-input--label-on-top) .mg-c-input__box{width:100%;min-width:5rem;max-width:calc(17.7rem + var(--mg-inputs-spacer)*2)}.mg-c-input.mg-c-input--width-full:not(.mg-c-input--label-on-top){justify-content:space-between}.mg-c-input.mg-c-input--width-full.mg-c-input--label-on-top .mg-c-input__box{width:100%}.mg-c-input.mg-c-input--width-full .mg-c-input__input-container{width:100%;flex:auto}.mg-c-input.mg-c-input--width-full .mg-c-input__input-container .mg-c-input__box{max-width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container{width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__input{width:100%;max-width:21rem}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__with-character-left{width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__box{min-width:100%;max-width:21rem}.mg-c-input.mg-c-input--width-4 .mg-c-input__input-container .mg-c-input__box{max-width:7rem}.mg-c-input.mg-c-input--width-2 .mg-c-input__input-container .mg-c-input__box{max-width:5rem}.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}}.mg-c-input .mg-c-input__box{text-align:var(--mg-inputs-text-align, right)}";
|
|
2322
2189
|
|
|
2323
2190
|
const MgInputNumeric = class {
|
|
2324
2191
|
constructor(hostRef) {
|
|
@@ -2413,14 +2280,14 @@ const MgInputNumeric = class {
|
|
|
2413
2280
|
* @param value - value to format
|
|
2414
2281
|
* @returns formated local value
|
|
2415
2282
|
*/
|
|
2416
|
-
this.formatValue = (value) => (this.type === 'currency' ?
|
|
2283
|
+
this.formatValue = (value) => (this.type === 'currency' ? components_utils.localeCurrency(value, this.locale, this.currency) : components_utils.localeNumber(value, this.locale));
|
|
2417
2284
|
/**
|
|
2418
2285
|
* Validate append slot
|
|
2419
2286
|
*/
|
|
2420
2287
|
this.validateAppendSlot = () => {
|
|
2421
2288
|
const slotAppendInput = this.element.querySelector('[slot="append-input"]');
|
|
2422
2289
|
if (slotAppendInput !== null) {
|
|
2423
|
-
this.classCollection.add(slotAppendInput.nodeName === 'MG-BUTTON' ? 'mg-input--is-input-group-append' : 'mg-input--is-append-input-slot-content');
|
|
2290
|
+
this.classCollection.add(slotAppendInput.nodeName === 'MG-BUTTON' ? 'mg-c-input--is-input-group-append' : 'mg-c-input--is-append-input-slot-content');
|
|
2424
2291
|
}
|
|
2425
2292
|
};
|
|
2426
2293
|
this.value = undefined;
|
|
@@ -2444,7 +2311,7 @@ const MgInputNumeric = class {
|
|
|
2444
2311
|
this.decimalLength = 2;
|
|
2445
2312
|
this.valid = undefined;
|
|
2446
2313
|
this.invalid = undefined;
|
|
2447
|
-
this.classCollection = new ClassList(['mg-input--numeric']);
|
|
2314
|
+
this.classCollection = new components_utils.ClassList(['mg-c-input--numeric']);
|
|
2448
2315
|
this.errorMessage = undefined;
|
|
2449
2316
|
this.hasFocus = false;
|
|
2450
2317
|
}
|
|
@@ -2452,7 +2319,7 @@ const MgInputNumeric = class {
|
|
|
2452
2319
|
// has input value is always render as string we get a stringified value or a '' for nullish value, so we test string type
|
|
2453
2320
|
if (typeof newValue === 'string') {
|
|
2454
2321
|
// Split number and decimal
|
|
2455
|
-
const [integer, decimal = ''] = newValue.replace('-', '').split(/[
|
|
2322
|
+
const [integer, decimal = ''] = newValue.replace('-', '').split(/[.,]/);
|
|
2456
2323
|
// Regex
|
|
2457
2324
|
const regex = this.type === 'integer' ? /^-?\d+$/ : /^-?\d+(?:[.,]\d*)?$/;
|
|
2458
2325
|
// Filter input
|
|
@@ -2511,7 +2378,7 @@ const MgInputNumeric = class {
|
|
|
2511
2378
|
if (typeof valid !== 'boolean') {
|
|
2512
2379
|
throw new Error('<mg-input-numeric> method "setError()" param "valid" must be a boolean');
|
|
2513
2380
|
}
|
|
2514
|
-
else if (
|
|
2381
|
+
else if (!components_utils.isValidString(errorMessage)) {
|
|
2515
2382
|
throw new Error('<mg-input-numeric> method "setError()" param "errorMessage" must be a string');
|
|
2516
2383
|
}
|
|
2517
2384
|
else {
|
|
@@ -2539,14 +2406,15 @@ const MgInputNumeric = class {
|
|
|
2539
2406
|
* @returns Returns true if the value is valid, otherwise false.
|
|
2540
2407
|
*/
|
|
2541
2408
|
isValidValue(value, regex, integer, decimal) {
|
|
2542
|
-
return ['', '-'].includes(value) || (
|
|
2409
|
+
return (['', '-'].includes(value) || (regex.exec(value) !== null && integer.length <= this.integerLength && decimal.length <= (this.type === 'integer' ? 0 : this.decimalLength)));
|
|
2543
2410
|
}
|
|
2544
2411
|
/**
|
|
2545
2412
|
* Handles invalid input values and returns a corrected value.
|
|
2546
2413
|
* @returns The corrected value.
|
|
2547
2414
|
*/
|
|
2548
2415
|
handleInvalidValue() {
|
|
2549
|
-
|
|
2416
|
+
var _a;
|
|
2417
|
+
return (_a = this.storedValue) !== null && _a !== void 0 ? _a : null;
|
|
2550
2418
|
}
|
|
2551
2419
|
/**
|
|
2552
2420
|
* Updates the component values based on the validated input value.
|
|
@@ -2577,7 +2445,7 @@ const MgInputNumeric = class {
|
|
|
2577
2445
|
*/
|
|
2578
2446
|
componentWillLoad() {
|
|
2579
2447
|
// Get locales
|
|
2580
|
-
const locales =
|
|
2448
|
+
const locales = components_utils.initLocales(this.element);
|
|
2581
2449
|
this.locale = locales.locale;
|
|
2582
2450
|
this.messages = locales.messages;
|
|
2583
2451
|
// Validate component config
|
|
@@ -2599,7 +2467,7 @@ const MgInputNumeric = class {
|
|
|
2599
2467
|
* @returns HTML Element
|
|
2600
2468
|
*/
|
|
2601
2469
|
render() {
|
|
2602
|
-
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: this.value, readonlyValue: this.readonlyValue, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("input", { type: "text", class: "mg-input__box", value: this.displayValue(), id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled: this.disabled, required: this.required, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, ref: (el) => {
|
|
2470
|
+
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: this.value, readonlyValue: this.readonlyValue, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("input", { type: "text", class: "mg-c-input__box", value: this.displayValue(), id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled: this.disabled, required: this.required, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, ref: (el) => {
|
|
2603
2471
|
if (el !== null)
|
|
2604
2472
|
this.input = el;
|
|
2605
2473
|
} }), index.h("slot", { name: "append-input" })));
|
|
@@ -2617,7 +2485,7 @@ const MgInputNumeric = class {
|
|
|
2617
2485
|
};
|
|
2618
2486
|
MgInputNumeric.style = mgInputNumericCss;
|
|
2619
2487
|
|
|
2620
|
-
const mgInputPasswordCss = ":host{display:block}.mg-input{display:flex;
|
|
2488
|
+
const mgInputPasswordCss = ":host{display:block}.mg-c-input__input mg-icon,.mg-c-input__error mg-icon{display:flex}.mg-c-input{display:flex;max-width:100%;min-height:var(--default-size);align-items:flex-start;margin-bottom:var(--mg-inputs-margin-bottom, 0)}.mg-c-input mg-input-title{width:var(--mg-inputs-title-width, auto);flex-shrink:var(--mg-inputs-shrink, 1);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-c-input__error{display:inline-block;padding:.3rem .8rem;border-radius:.3rem;margin-top:.2rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-c-input__input-container{min-height:var(--default-size)}.mg-c-input__input-container>strong{display:inline-block;min-height:var(--font-size);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2)}.mg-c-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-c-input__input-container .mg-c-input__help-text,.mg-c-input__input-container .mg-c-input__error{font-size:1.2rem;text-align:start}.mg-c-input.mg-c-input--label-on-top{flex-direction:column}.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-container{width:100%}.mg-c-input__title{display:flex;align-items:baseline;margin-bottom:.3rem}.mg-c-input__title mg-input-title{width:auto;flex-shrink:1;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-c-input__title mg-tooltip{margin-top:0}.mg-c-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-c-input__input{display:flex}.mg-c-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input__input.mg-c-input__input--has-error .mg-c-input__box{border-color:hsl(var(--color-danger))}.mg-c-input__input+.mg-c-input__help-text,.mg-c-input__input+.mg-c-input__error{margin-top:.5rem}.mg-c-input__input .mg-c-input__box:disabled,.mg-c-input__input-group--disabled label,.mg-c-input.mg-c-input--toggle-disabled .mg-c-input__input .mg-c-input__button-toggle,.mg-c-input.mg-c-input--checkbox-multi-disabled .mg-c-input__input strong{opacity:var(--mg-disabled-opacity)}.mg-c-input__box{height:var(--default-size);box-sizing:border-box;padding:calc((var(--default-size) - var(--font-size)*var(--line-height))/2) var(--mg-inputs-spacer);border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));color:hsl(var(--color-dark));font-family:inherit;font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 .6rem hsl(var(--mg-inputs-color-shadow-focus-hsl)/50%)}.mg-c-input__box:disabled{opacity:.3}.mg-c-input.mg-c-input--label-on-top .mg-c-input__box{width:auto;max-width:100%}.mg-c-input.mg-c-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:-0.1rem;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--is-input-group-append.mg-c-input--readonly slot[name=append-input]{display:none}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-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-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input:not(.mg-c-input--label-on-top) .mg-c-input__box{width:100%;min-width:5rem;max-width:calc(17.7rem + var(--mg-inputs-spacer)*2)}.mg-c-input.mg-c-input--width-full:not(.mg-c-input--label-on-top){justify-content:space-between}.mg-c-input.mg-c-input--width-full.mg-c-input--label-on-top .mg-c-input__box{width:100%}.mg-c-input.mg-c-input--width-full .mg-c-input__input-container{width:100%;flex:auto}.mg-c-input.mg-c-input--width-full .mg-c-input__input-container .mg-c-input__box{max-width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container{width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__input{width:100%;max-width:21rem}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__with-character-left{width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__box{min-width:100%;max-width:21rem}.mg-c-input.mg-c-input--width-4 .mg-c-input__input-container .mg-c-input__box{max-width:7rem}.mg-c-input.mg-c-input--width-2 .mg-c-input__input-container .mg-c-input__box{max-width:5rem}.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}}";
|
|
2621
2489
|
|
|
2622
2490
|
const MgInputPassword = class {
|
|
2623
2491
|
constructor(hostRef) {
|
|
@@ -2681,7 +2549,7 @@ const MgInputPassword = class {
|
|
|
2681
2549
|
this.helpText = undefined;
|
|
2682
2550
|
this.valid = undefined;
|
|
2683
2551
|
this.invalid = undefined;
|
|
2684
|
-
this.classCollection = new ClassList(['mg-input--password']);
|
|
2552
|
+
this.classCollection = new components_utils.ClassList(['mg-c-input--password']);
|
|
2685
2553
|
this.errorMessage = undefined;
|
|
2686
2554
|
}
|
|
2687
2555
|
handleValue(newValue) {
|
|
@@ -2717,7 +2585,7 @@ const MgInputPassword = class {
|
|
|
2717
2585
|
if (typeof valid !== 'boolean') {
|
|
2718
2586
|
throw new Error('<mg-input-password> method "setError()" param "valid" must be a boolean');
|
|
2719
2587
|
}
|
|
2720
|
-
else if (
|
|
2588
|
+
else if (!components_utils.isValidString(errorMessage)) {
|
|
2721
2589
|
throw new Error('<mg-input-password> method "setError()" param "errorMessage" must be a string');
|
|
2722
2590
|
}
|
|
2723
2591
|
else {
|
|
@@ -2745,7 +2613,7 @@ const MgInputPassword = class {
|
|
|
2745
2613
|
*/
|
|
2746
2614
|
componentWillLoad() {
|
|
2747
2615
|
// Get locales
|
|
2748
|
-
this.messages =
|
|
2616
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
2749
2617
|
// Check validity when component is ready
|
|
2750
2618
|
// return a promise to process action only in the FIRST render().
|
|
2751
2619
|
// https://stenciljs.com/docs/component-lifecycle#componentwillload
|
|
@@ -2758,7 +2626,7 @@ const MgInputPassword = class {
|
|
|
2758
2626
|
* @returns HTML Element
|
|
2759
2627
|
*/
|
|
2760
2628
|
render() {
|
|
2761
|
-
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: this.value, readonlyValue: this.value !== undefined ? '•'.repeat(this.value.length) : undefined, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("input", { type: "password", class: "mg-input__box", value: this.value, id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled: this.disabled, required: this.required, onInput: this.handleInput, onBlur: this.handleBlur, ref: (el) => {
|
|
2629
|
+
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: this.value, readonlyValue: this.value !== undefined ? '•'.repeat(this.value.length) : undefined, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("input", { type: "password", class: "mg-c-input__box", value: this.value, id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled: this.disabled, required: this.required, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onBlur: this.handleBlur, ref: (el) => {
|
|
2762
2630
|
if (el !== null)
|
|
2763
2631
|
this.input = el;
|
|
2764
2632
|
} })));
|
|
@@ -2773,7 +2641,7 @@ const MgInputPassword = class {
|
|
|
2773
2641
|
};
|
|
2774
2642
|
MgInputPassword.style = mgInputPasswordCss;
|
|
2775
2643
|
|
|
2776
|
-
const mgInputRadioCss = ":host{display:block}.mg-input{display:flex;
|
|
2644
|
+
const mgInputRadioCss = ":host{display:block}.mg-c-input__input mg-icon,.mg-c-input__error mg-icon{display:flex}.mg-c-input{display:flex;max-width:100%;min-height:var(--default-size);align-items:flex-start;margin-bottom:var(--mg-inputs-margin-bottom, 0)}.mg-c-input mg-input-title{width:var(--mg-inputs-title-width, auto);flex-shrink:var(--mg-inputs-shrink, 1);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-c-input__error{display:inline-block;padding:.3rem .8rem;border-radius:.3rem;margin-top:.2rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-c-input__input-container{min-height:var(--default-size)}.mg-c-input__input-container>strong{display:inline-block;min-height:var(--font-size);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2)}.mg-c-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-c-input__input-container .mg-c-input__help-text,.mg-c-input__input-container .mg-c-input__error{font-size:1.2rem;text-align:start}.mg-c-input.mg-c-input--label-on-top{flex-direction:column}.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-container{width:100%}.mg-c-input__title{display:flex;align-items:baseline;margin-bottom:.3rem}.mg-c-input__title mg-input-title{width:auto;flex-shrink:1;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-c-input__title mg-tooltip{margin-top:0}.mg-c-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-c-input__input{display:flex}.mg-c-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input__input.mg-c-input__input--has-error .mg-c-input__box{border-color:hsl(var(--color-danger))}.mg-c-input__input+.mg-c-input__help-text,.mg-c-input__input+.mg-c-input__error{margin-top:.5rem}.mg-c-input__input .mg-c-input__box:disabled,.mg-c-input__input-group--disabled label,.mg-c-input.mg-c-input--toggle-disabled .mg-c-input__input .mg-c-input__button-toggle,.mg-c-input.mg-c-input--checkbox-multi-disabled .mg-c-input__input strong{opacity:var(--mg-disabled-opacity)}.mg-c-input__input-group-container{display:flex;flex-wrap:wrap;padding:0;margin:0;margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);column-gap:2.3rem;list-style:none;row-gap:1rem}.mg-c-input__input-group-container--vertical{flex-direction:column}fieldset.mg-c-input{padding:0;border:0;margin-right:0;margin-left:0}fieldset.mg-c-input input[type=radio],fieldset.mg-c-input input[type=checkbox]{width:var(--mg-input-check-size);height:var(--mg-input-check-size);flex-shrink:0;margin:calc((var(--font-size)*var(--line-height) - var(--mg-input-check-size))/2) .6rem 0 0}fieldset.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-group-container{margin-top:.7rem}.mg-c-input__input-container mg-tooltip{margin-left:3rem}.mg-c-input__input-group{display:flex;align-items:start}.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}}";
|
|
2777
2645
|
|
|
2778
2646
|
/**
|
|
2779
2647
|
* type Option validation function
|
|
@@ -2851,7 +2719,7 @@ const MgInputRadio = class {
|
|
|
2851
2719
|
this.helpText = undefined;
|
|
2852
2720
|
this.valid = undefined;
|
|
2853
2721
|
this.invalid = undefined;
|
|
2854
|
-
this.classCollection = new ClassList(['mg-input--radio']);
|
|
2722
|
+
this.classCollection = new components_utils.ClassList(['mg-c-input--radio']);
|
|
2855
2723
|
this.errorMessage = undefined;
|
|
2856
2724
|
this.options = undefined;
|
|
2857
2725
|
}
|
|
@@ -2864,7 +2732,7 @@ const MgInputRadio = class {
|
|
|
2864
2732
|
throw new Error('<mg-input-radio> prop "items" require at least 2 items.');
|
|
2865
2733
|
}
|
|
2866
2734
|
// String array
|
|
2867
|
-
else if (allItemsAreString(newValue)) {
|
|
2735
|
+
else if (components_utils.allItemsAreString(newValue)) {
|
|
2868
2736
|
this.options = newValue.map(item => ({ title: item, value: item, disabled: this.disabled }));
|
|
2869
2737
|
}
|
|
2870
2738
|
// Object array
|
|
@@ -2905,7 +2773,7 @@ const MgInputRadio = class {
|
|
|
2905
2773
|
if (typeof valid !== 'boolean') {
|
|
2906
2774
|
throw new Error('<mg-input-radio> method "setError()" param "valid" must be a boolean');
|
|
2907
2775
|
}
|
|
2908
|
-
else if (
|
|
2776
|
+
else if (!components_utils.isValidString(errorMessage)) {
|
|
2909
2777
|
throw new Error('<mg-input-radio> method "setError()" param "errorMessage" must be a string');
|
|
2910
2778
|
}
|
|
2911
2779
|
else {
|
|
@@ -2933,7 +2801,7 @@ const MgInputRadio = class {
|
|
|
2933
2801
|
*/
|
|
2934
2802
|
componentWillLoad() {
|
|
2935
2803
|
// Get locales
|
|
2936
|
-
this.messages =
|
|
2804
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
2937
2805
|
// Validate
|
|
2938
2806
|
this.validateItems(this.items);
|
|
2939
2807
|
// Check validity when component is ready
|
|
@@ -2948,7 +2816,7 @@ const MgInputRadio = class {
|
|
|
2948
2816
|
* @returns HTML Element
|
|
2949
2817
|
*/
|
|
2950
2818
|
render() {
|
|
2951
|
-
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, disabled: this.disabled, readonly: this.readonly, mgWidth: undefined, value: this.value, readonlyValue: this.value, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: true }, index.h("ul", { class: { 'mg-input__input-group-container': true, 'mg-input__input-group-container--vertical': this.inputVerticalList }, role: "list" }, this.options.map((input, index$1) => (index.h("li", { key: input.title, class: { 'mg-input__input-group': true, 'mg-input__input-group--disabled': this.disabled || input.disabled } }, index.h("input", { type: "radio", id: this.identifier + '_' + index$1, name: this.identifier, value: index$1, checked: JSON.stringify(this.value) === JSON.stringify(this.options[index$1].value), disabled: this.disabled || input.disabled, required: this.required, onBlur: this.handleBlur, onInput: this.handleInput, ref: (el) => {
|
|
2819
|
+
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, disabled: this.disabled, readonly: this.readonly, mgWidth: undefined, value: this.value, readonlyValue: this.value, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: true }, index.h("ul", { class: { 'mg-c-input__input-group-container': true, 'mg-c-input__input-group-container--vertical': this.inputVerticalList }, role: "list" }, this.options.map((input, index$1) => (index.h("li", { key: input.title, class: { 'mg-c-input__input-group': true, 'mg-c-input__input-group--disabled': this.disabled || input.disabled } }, index.h("input", { type: "radio", id: this.identifier + '_' + index$1, name: this.identifier, value: index$1, checked: JSON.stringify(this.value) === JSON.stringify(this.options[index$1].value), disabled: this.disabled || input.disabled, required: this.required, onBlur: this.handleBlur, onInput: this.handleInput, ref: (el) => {
|
|
2952
2820
|
if (el !== null)
|
|
2953
2821
|
this.inputs[index$1] = el;
|
|
2954
2822
|
} }), index.h("label", { htmlFor: this.identifier + '_' + index$1 }, input.title)))))));
|
|
@@ -2964,7 +2832,7 @@ const MgInputRadio = class {
|
|
|
2964
2832
|
};
|
|
2965
2833
|
MgInputRadio.style = mgInputRadioCss;
|
|
2966
2834
|
|
|
2967
|
-
const mgInputSelectCss = ":host{display:block}.mg-input{display:flex;
|
|
2835
|
+
const mgInputSelectCss = ":host{display:block}.mg-c-input__input mg-icon,.mg-c-input__error mg-icon{display:flex}.mg-c-input{display:flex;max-width:100%;min-height:var(--default-size);align-items:flex-start;margin-bottom:var(--mg-inputs-margin-bottom, 0)}.mg-c-input mg-input-title{width:var(--mg-inputs-title-width, auto);flex-shrink:var(--mg-inputs-shrink, 1);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-c-input__error{display:inline-block;padding:.3rem .8rem;border-radius:.3rem;margin-top:.2rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-c-input__input-container{min-height:var(--default-size)}.mg-c-input__input-container>strong{display:inline-block;min-height:var(--font-size);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2)}.mg-c-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-c-input__input-container .mg-c-input__help-text,.mg-c-input__input-container .mg-c-input__error{font-size:1.2rem;text-align:start}.mg-c-input.mg-c-input--label-on-top{flex-direction:column}.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-container{width:100%}.mg-c-input__title{display:flex;align-items:baseline;margin-bottom:.3rem}.mg-c-input__title mg-input-title{width:auto;flex-shrink:1;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-c-input__title mg-tooltip{margin-top:0}.mg-c-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-c-input__input{display:flex}.mg-c-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input__input.mg-c-input__input--has-error .mg-c-input__box{border-color:hsl(var(--color-danger))}.mg-c-input__input+.mg-c-input__help-text,.mg-c-input__input+.mg-c-input__error{margin-top:.5rem}.mg-c-input__input .mg-c-input__box:disabled,.mg-c-input__input-group--disabled label,.mg-c-input.mg-c-input--toggle-disabled .mg-c-input__input .mg-c-input__button-toggle,.mg-c-input.mg-c-input--checkbox-multi-disabled .mg-c-input__input strong{opacity:var(--mg-disabled-opacity)}.mg-c-input__box{height:var(--default-size);box-sizing:border-box;padding:calc((var(--default-size) - var(--font-size)*var(--line-height))/2) var(--mg-inputs-spacer);border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));color:hsl(var(--color-dark));font-family:inherit;font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 .6rem hsl(var(--mg-inputs-color-shadow-focus-hsl)/50%)}.mg-c-input__box:disabled{opacity:.3}.mg-c-input.mg-c-input--label-on-top .mg-c-input__box{width:auto;max-width:100%}.mg-c-input.mg-c-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:-0.1rem;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--is-input-group-append.mg-c-input--readonly slot[name=append-input]{display:none}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-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-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input:not(.mg-c-input--label-on-top) .mg-c-input__box{width:100%;min-width:5rem;max-width:calc(17.7rem + var(--mg-inputs-spacer)*2)}.mg-c-input.mg-c-input--width-full:not(.mg-c-input--label-on-top){justify-content:space-between}.mg-c-input.mg-c-input--width-full.mg-c-input--label-on-top .mg-c-input__box{width:100%}.mg-c-input.mg-c-input--width-full .mg-c-input__input-container{width:100%;flex:auto}.mg-c-input.mg-c-input--width-full .mg-c-input__input-container .mg-c-input__box{max-width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container{width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__input{width:100%;max-width:21rem}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__with-character-left{width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__box{min-width:100%;max-width:21rem}.mg-c-input.mg-c-input--width-4 .mg-c-input__input-container .mg-c-input__box{max-width:7rem}.mg-c-input.mg-c-input--width-2 .mg-c-input__input-container .mg-c-input__box{max-width:5rem}.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}}.mg-c-input__box{width:100%;padding-top:0;padding-right:1rem;padding-bottom:0}:host(:not([mg-width])) .mg-c-input--select:not(.mg-c-input--label-on-top) .mg-c-input__box{max-width:unset}";
|
|
2968
2836
|
|
|
2969
2837
|
/**
|
|
2970
2838
|
* Check if item is a well configured option
|
|
@@ -3044,7 +2912,7 @@ const MgInputSelect = class {
|
|
|
3044
2912
|
if (this.input.value === '') {
|
|
3045
2913
|
this.setValue(null);
|
|
3046
2914
|
}
|
|
3047
|
-
else if (allItemsAreString(this.items) && this.items.includes(this.input.value)) {
|
|
2915
|
+
else if (components_utils.allItemsAreString(this.items) && this.items.includes(this.input.value)) {
|
|
3048
2916
|
this.setValue(this.input.value);
|
|
3049
2917
|
}
|
|
3050
2918
|
else if (allItemsAreOptions(this.items) && typeof this.input.value === 'string' && this.items.some(this.isInputValue)) {
|
|
@@ -3114,7 +2982,7 @@ const MgInputSelect = class {
|
|
|
3114
2982
|
this.helpText = undefined;
|
|
3115
2983
|
this.valid = undefined;
|
|
3116
2984
|
this.invalid = undefined;
|
|
3117
|
-
this.classCollection = new ClassList(['mg-input--select']);
|
|
2985
|
+
this.classCollection = new components_utils.ClassList(['mg-c-input--select']);
|
|
3118
2986
|
this.errorMessage = undefined;
|
|
3119
2987
|
this.options = undefined;
|
|
3120
2988
|
this.valueExist = undefined;
|
|
@@ -3122,8 +2990,8 @@ const MgInputSelect = class {
|
|
|
3122
2990
|
}
|
|
3123
2991
|
validateValue(newValue) {
|
|
3124
2992
|
var _a, _b;
|
|
3125
|
-
if (allItemsAreString(this.items) && typeof newValue === 'string') {
|
|
3126
|
-
this.readonlyValue =
|
|
2993
|
+
if (components_utils.allItemsAreString(this.items) && typeof newValue === 'string') {
|
|
2994
|
+
this.readonlyValue = ((_a = this.input) === null || _a === void 0 ? void 0 : _a.value) ? this.input.value : newValue;
|
|
3127
2995
|
}
|
|
3128
2996
|
else if (allItemsAreOptions(this.items)) {
|
|
3129
2997
|
this.readonlyValue = (_b = this.items.find(item => item.value === newValue)) === null || _b === void 0 ? void 0 : _b.title;
|
|
@@ -3139,7 +3007,7 @@ const MgInputSelect = class {
|
|
|
3139
3007
|
this.options = [];
|
|
3140
3008
|
}
|
|
3141
3009
|
// String array
|
|
3142
|
-
else if (allItemsAreString(newValue)) {
|
|
3010
|
+
else if (components_utils.allItemsAreString(newValue)) {
|
|
3143
3011
|
if (typeof this.value === 'string')
|
|
3144
3012
|
this.valueExist = newValue.includes(this.value);
|
|
3145
3013
|
this.options = newValue.map(item => ({ title: item, value: item }));
|
|
@@ -3190,7 +3058,7 @@ const MgInputSelect = class {
|
|
|
3190
3058
|
if (typeof valid !== 'boolean') {
|
|
3191
3059
|
throw new Error('<mg-input-select> method "setError()" param "valid" must be a boolean');
|
|
3192
3060
|
}
|
|
3193
|
-
else if (
|
|
3061
|
+
else if (!components_utils.isValidString(errorMessage)) {
|
|
3194
3062
|
throw new Error('<mg-input-select> method "setError()" param "errorMessage" must be a string');
|
|
3195
3063
|
}
|
|
3196
3064
|
else {
|
|
@@ -3218,7 +3086,7 @@ const MgInputSelect = class {
|
|
|
3218
3086
|
*/
|
|
3219
3087
|
componentWillLoad() {
|
|
3220
3088
|
// Get locales
|
|
3221
|
-
this.messages =
|
|
3089
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
3222
3090
|
// Validate
|
|
3223
3091
|
this.validateItems(this.items);
|
|
3224
3092
|
this.validateValue(this.value);
|
|
@@ -3238,11 +3106,11 @@ const MgInputSelect = class {
|
|
|
3238
3106
|
* @returns HTML Element
|
|
3239
3107
|
*/
|
|
3240
3108
|
render() {
|
|
3241
|
-
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: undefined, readonlyValue: this.readonlyValue, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("select", { class: "mg-input__box", id: this.identifier, name: this.name, title: this.placeholder, disabled: this.disabled, required: this.required, onInput: this.handleInput, onBlur: this.handleBlur, ref: (el) => {
|
|
3109
|
+
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: undefined, readonlyValue: this.readonlyValue, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("select", { class: "mg-c-input__box", id: this.identifier, name: this.name, title: this.placeholder, disabled: this.disabled, required: this.required, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onBlur: this.handleBlur, ref: (el) => {
|
|
3242
3110
|
if (el !== null)
|
|
3243
3111
|
this.input = el;
|
|
3244
3112
|
} }, (!this.placeholderHide || !this.valueExist) && ( // In case passed value does not match any option we display the placeholder
|
|
3245
|
-
index.h("option", { value: "", disabled: this.placeholderDisabled && this.valueExist }, this.placeholder)), this.options.map(option => isOptGroup(option) ? index.h("optgroup", { label: option.group }, option.options.map(this.renderOption)) : isOption$1(option) && this.renderOption(option)))));
|
|
3113
|
+
index.h("option", { value: "", disabled: this.placeholderDisabled && this.valueExist }, this.placeholder)), this.options.map(option => isOptGroup(option) ? (index.h("optgroup", { label: option.group, key: option.group }, option.options.map(this.renderOption))) : (isOption$1(option) && this.renderOption(option))))));
|
|
3246
3114
|
}
|
|
3247
3115
|
get element() { return index.getElement(this); }
|
|
3248
3116
|
static get watchers() { return {
|
|
@@ -3255,8 +3123,9 @@ const MgInputSelect = class {
|
|
|
3255
3123
|
};
|
|
3256
3124
|
MgInputSelect.style = mgInputSelectCss;
|
|
3257
3125
|
|
|
3258
|
-
const mgInputTextCss = ":host{display:block}.mg-input{display:flex;
|
|
3126
|
+
const mgInputTextCss = ":host{display:block}.mg-c-input__input mg-icon,.mg-c-input__error mg-icon{display:flex}.mg-c-input{display:flex;max-width:100%;min-height:var(--default-size);align-items:flex-start;margin-bottom:var(--mg-inputs-margin-bottom, 0)}.mg-c-input mg-input-title{width:var(--mg-inputs-title-width, auto);flex-shrink:var(--mg-inputs-shrink, 1);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-c-input__error{display:inline-block;padding:.3rem .8rem;border-radius:.3rem;margin-top:.2rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-c-input__input-container{min-height:var(--default-size)}.mg-c-input__input-container>strong{display:inline-block;min-height:var(--font-size);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2)}.mg-c-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-c-input__input-container .mg-c-input__help-text,.mg-c-input__input-container .mg-c-input__error{font-size:1.2rem;text-align:start}.mg-c-input.mg-c-input--label-on-top{flex-direction:column}.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-container{width:100%}.mg-c-input__title{display:flex;align-items:baseline;margin-bottom:.3rem}.mg-c-input__title mg-input-title{width:auto;flex-shrink:1;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-c-input__title mg-tooltip{margin-top:0}.mg-c-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-c-input__input{display:flex}.mg-c-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input__input.mg-c-input__input--has-error .mg-c-input__box{border-color:hsl(var(--color-danger))}.mg-c-input__input+.mg-c-input__help-text,.mg-c-input__input+.mg-c-input__error{margin-top:.5rem}.mg-c-input__input .mg-c-input__box:disabled,.mg-c-input__input-group--disabled label,.mg-c-input.mg-c-input--toggle-disabled .mg-c-input__input .mg-c-input__button-toggle,.mg-c-input.mg-c-input--checkbox-multi-disabled .mg-c-input__input strong{opacity:var(--mg-disabled-opacity)}.mg-c-input__box{height:var(--default-size);box-sizing:border-box;padding:calc((var(--default-size) - var(--font-size)*var(--line-height))/2) var(--mg-inputs-spacer);border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));color:hsl(var(--color-dark));font-family:inherit;font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 .6rem hsl(var(--mg-inputs-color-shadow-focus-hsl)/50%)}.mg-c-input__box:disabled{opacity:.3}.mg-c-input.mg-c-input--label-on-top .mg-c-input__box{width:auto;max-width:100%}.mg-c-input.mg-c-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:-0.1rem;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--is-input-group-append.mg-c-input--readonly slot[name=append-input]{display:none}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-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-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input:not(.mg-c-input--label-on-top) .mg-c-input__box{width:100%;min-width:5rem;max-width:calc(17.7rem + var(--mg-inputs-spacer)*2)}.mg-c-input.mg-c-input--width-full:not(.mg-c-input--label-on-top){justify-content:space-between}.mg-c-input.mg-c-input--width-full.mg-c-input--label-on-top .mg-c-input__box{width:100%}.mg-c-input.mg-c-input--width-full .mg-c-input__input-container{width:100%;flex:auto}.mg-c-input.mg-c-input--width-full .mg-c-input__input-container .mg-c-input__box{max-width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container{width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__input{width:100%;max-width:21rem}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__with-character-left{width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__box{min-width:100%;max-width:21rem}.mg-c-input.mg-c-input--width-4 .mg-c-input__input-container .mg-c-input__box{max-width:7rem}.mg-c-input.mg-c-input--width-2 .mg-c-input__input-container .mg-c-input__box{max-width:5rem}.mg-c-input mg-character-left{font-size:1.1rem;opacity:.6}.mg-c-input.mg-c-input--has-display-character-left .mg-c-input__input+.mg-c-input__help-text,.mg-c-input.mg-c-input--has-display-character-left .mg-c-input__input+.mg-c-input__error{margin-top:0}.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}}.mg-c-input__with-character-left{position:relative;display:inline-flex}.mg-c-input--width-full .mg-c-input__with-character-left{width:100%}.mg-c-input.mg-u-is-focused .mg-c-input__with-character-left .mg-c-input__box{padding-right:calc(var(--mg-character-left-message-length)*1ch + .8rem)}.mg-c-input__with-character-left mg-character-left{position:absolute;top:50%;right:1rem;display:none;font-size:1.1rem;opacity:.6;transform:translateY(-50%)}.mg-c-input.mg-u-is-focused .mg-c-input__with-character-left mg-character-left{display:block}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left>mg-icon{position:absolute;top:50%;left:var(--mg-inputs-spacer);color:var(--mg-inputs-color);transform:translateY(-50%)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left .mg-c-input__box{padding-left:calc(var(--mg-icon-regular-size) + var(--mg-inputs-spacer)*2)}";
|
|
3259
3127
|
|
|
3128
|
+
const isDatalistOption = (options) => Array.isArray(options) && options.every(option => typeof option === 'string');
|
|
3260
3129
|
const MgInputText = class {
|
|
3261
3130
|
constructor(hostRef) {
|
|
3262
3131
|
index.registerInstance(this, hostRef);
|
|
@@ -3266,9 +3135,9 @@ const MgInputText = class {
|
|
|
3266
3135
|
* Internal *
|
|
3267
3136
|
************/
|
|
3268
3137
|
// Classes
|
|
3269
|
-
this.classFocus = 'is-focused';
|
|
3270
|
-
this.classIsInputGroupAppend = 'mg-input--is-input-group-append';
|
|
3271
|
-
this.classHasIcon = 'mg-input--has-icon';
|
|
3138
|
+
this.classFocus = 'mg-u-is-focused';
|
|
3139
|
+
this.classIsInputGroupAppend = 'mg-c-input--is-input-group-append';
|
|
3140
|
+
this.classHasIcon = 'mg-c-input--has-icon';
|
|
3272
3141
|
// hasDisplayedError (triggered by blur event)
|
|
3273
3142
|
this.hasDisplayedError = false;
|
|
3274
3143
|
/**
|
|
@@ -3286,7 +3155,7 @@ const MgInputText = class {
|
|
|
3286
3155
|
*/
|
|
3287
3156
|
this.handleFocus = () => {
|
|
3288
3157
|
this.classCollection.add(this.classFocus);
|
|
3289
|
-
this.classCollection = new ClassList(this.classCollection.classes);
|
|
3158
|
+
this.classCollection = new components_utils.ClassList(this.classCollection.classes);
|
|
3290
3159
|
};
|
|
3291
3160
|
/**
|
|
3292
3161
|
* Handle blur event
|
|
@@ -3294,7 +3163,7 @@ const MgInputText = class {
|
|
|
3294
3163
|
this.handleBlur = () => {
|
|
3295
3164
|
// Manage focus
|
|
3296
3165
|
this.classCollection.delete(this.classFocus);
|
|
3297
|
-
this.classCollection = new ClassList(this.classCollection.classes);
|
|
3166
|
+
this.classCollection = new components_utils.ClassList(this.classCollection.classes);
|
|
3298
3167
|
// Display Error
|
|
3299
3168
|
this.displayError();
|
|
3300
3169
|
};
|
|
@@ -3331,13 +3200,18 @@ const MgInputText = class {
|
|
|
3331
3200
|
this.validateAppendSlot = () => {
|
|
3332
3201
|
const slotAppendInput = Array.from(this.element.querySelectorAll('[slot="append-input"]'));
|
|
3333
3202
|
if (slotAppendInput.length === 1) {
|
|
3334
|
-
this.classCollection.add(slotAppendInput[0].nodeName === 'MG-BUTTON' ? this.classIsInputGroupAppend : 'mg-input--is-append-input-slot-content');
|
|
3203
|
+
this.classCollection.add(slotAppendInput[0].nodeName === 'MG-BUTTON' ? this.classIsInputGroupAppend : 'mg-c-input--is-append-input-slot-content');
|
|
3335
3204
|
}
|
|
3336
3205
|
else if (slotAppendInput.filter(slot => slot.nodeName === 'MG-BUTTON').length > 1) {
|
|
3337
3206
|
this.classCollection.add(this.classIsInputGroupAppend);
|
|
3338
|
-
this.classCollection.add('mg-input--has-buttons-group-append');
|
|
3207
|
+
this.classCollection.add('mg-c-input--has-buttons-group-append');
|
|
3339
3208
|
}
|
|
3340
3209
|
};
|
|
3210
|
+
/**
|
|
3211
|
+
* Methode to control datalist display condition
|
|
3212
|
+
* @returns true if display condition success
|
|
3213
|
+
*/
|
|
3214
|
+
this.hasDatalist = () => isDatalistOption(this.datalistoptions) && this.datalistoptions.length > 0;
|
|
3341
3215
|
this.value = undefined;
|
|
3342
3216
|
this.identifier = undefined;
|
|
3343
3217
|
this.name = this.identifier;
|
|
@@ -3347,6 +3221,7 @@ const MgInputText = class {
|
|
|
3347
3221
|
this.labelOnTop = undefined;
|
|
3348
3222
|
this.labelHide = false;
|
|
3349
3223
|
this.placeholder = undefined;
|
|
3224
|
+
this.datalistoptions = undefined;
|
|
3350
3225
|
this.maxlength = 400;
|
|
3351
3226
|
this.required = false;
|
|
3352
3227
|
this.readonly = false;
|
|
@@ -3359,7 +3234,7 @@ const MgInputText = class {
|
|
|
3359
3234
|
this.helpText = undefined;
|
|
3360
3235
|
this.valid = undefined;
|
|
3361
3236
|
this.invalid = undefined;
|
|
3362
|
-
this.classCollection = new ClassList(['mg-input--text']);
|
|
3237
|
+
this.classCollection = new components_utils.ClassList(['mg-c-input--text']);
|
|
3363
3238
|
this.errorMessage = undefined;
|
|
3364
3239
|
}
|
|
3365
3240
|
handleValue(newValue) {
|
|
@@ -3373,6 +3248,11 @@ const MgInputText = class {
|
|
|
3373
3248
|
this.classCollection.delete(this.classHasIcon);
|
|
3374
3249
|
}
|
|
3375
3250
|
}
|
|
3251
|
+
validateDatalistoptions(newValue) {
|
|
3252
|
+
if (Boolean(newValue) && !isDatalistOption(newValue)) {
|
|
3253
|
+
throw new Error('<mg-input-text> prop "datalistoptions" values must be the same type, string.');
|
|
3254
|
+
}
|
|
3255
|
+
}
|
|
3376
3256
|
handleValidityChange(newValue, _oldValue, prop) {
|
|
3377
3257
|
if (this.input !== undefined) {
|
|
3378
3258
|
this.input[prop] = newValue;
|
|
@@ -3384,7 +3264,7 @@ const MgInputText = class {
|
|
|
3384
3264
|
}
|
|
3385
3265
|
}
|
|
3386
3266
|
validatePattern(newValue) {
|
|
3387
|
-
if (newValue !== undefined && !(isValidString(this.pattern) && isValidString(this.patternErrorMessage))) {
|
|
3267
|
+
if (newValue !== undefined && !(components_utils.isValidString(this.pattern) && components_utils.isValidString(this.patternErrorMessage))) {
|
|
3388
3268
|
throw new Error('<mg-input-text> props "pattern" and "patternErrorMessage" must be non-empty string and paired.');
|
|
3389
3269
|
}
|
|
3390
3270
|
}
|
|
@@ -3414,7 +3294,7 @@ const MgInputText = class {
|
|
|
3414
3294
|
if (typeof valid !== 'boolean') {
|
|
3415
3295
|
throw new Error('<mg-input-text> method "setError()" param "valid" must be a boolean');
|
|
3416
3296
|
}
|
|
3417
|
-
else if (
|
|
3297
|
+
else if (!components_utils.isValidString(errorMessage)) {
|
|
3418
3298
|
throw new Error('<mg-input-text> method "setError()" param "errorMessage" must be a string');
|
|
3419
3299
|
}
|
|
3420
3300
|
else {
|
|
@@ -3442,10 +3322,12 @@ const MgInputText = class {
|
|
|
3442
3322
|
*/
|
|
3443
3323
|
componentWillLoad() {
|
|
3444
3324
|
// Get locales
|
|
3445
|
-
this.messages =
|
|
3325
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
3446
3326
|
this.characterLeftId = `${this.identifier}-character-left`;
|
|
3327
|
+
this.datalistId = `${this.identifier}-datalist`;
|
|
3447
3328
|
// Validate
|
|
3448
3329
|
this.validateIcon(this.icon);
|
|
3330
|
+
this.validateDatalistoptions(this.datalistoptions);
|
|
3449
3331
|
this.validatePattern(this.pattern);
|
|
3450
3332
|
this.validatePattern(this.patternErrorMessage);
|
|
3451
3333
|
this.validateAppendSlot();
|
|
@@ -3461,19 +3343,20 @@ const MgInputText = class {
|
|
|
3461
3343
|
* @returns HTML Element
|
|
3462
3344
|
*/
|
|
3463
3345
|
render() {
|
|
3464
|
-
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [this.characterLeftId], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: this.value, readonlyValue: undefined, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("div", { class: "mg-input__with-character-left", style: {
|
|
3346
|
+
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [this.characterLeftId], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: this.value, readonlyValue: undefined, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("div", { class: "mg-c-input__with-character-left", style: {
|
|
3465
3347
|
'--mg-character-left-message-length': (this.displayCharacterLeft
|
|
3466
3348
|
? (this.maxlength - (this.value || '').length).toString().length + this.maxlength.toString().length + 1
|
|
3467
3349
|
: 0).toString(),
|
|
3468
|
-
} }, this.icon !== undefined && index.h("mg-icon", { icon: this.icon }), index.h("input", { type: this.type, class: "mg-input__box", value: this.value, id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, maxlength: this.maxlength, disabled: this.disabled, required: this.required, pattern: this.pattern, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, ref: (el) => {
|
|
3350
|
+
} }, this.icon !== undefined && index.h("mg-icon", { icon: this.icon }), index.h("input", { type: this.type, class: "mg-c-input__box", value: this.value, id: this.identifier, list: this.hasDatalist() ? this.datalistId : undefined, autocomplete: this.hasDatalist() ? 'off' : undefined, name: this.name, placeholder: this.placeholder, title: this.placeholder, maxlength: this.maxlength, disabled: this.disabled, required: this.required, "aria-invalid": (this.invalid === true).toString(), pattern: this.pattern, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, ref: (el) => {
|
|
3469
3351
|
if (el !== null)
|
|
3470
3352
|
this.input = el;
|
|
3471
|
-
} }), this.displayCharacterLeft && this.maxlength > 0 && (index.h("mg-character-left", { identifier: this.characterLeftId, characters: this.value, maxlength: this.maxlength }))), index.h("slot", { name: "append-input" })));
|
|
3353
|
+
} }), this.hasDatalist() && (index.h("datalist", { id: this.datalistId }, this.datalistoptions.map(option => (index.h("option", { value: option, key: option }))))), this.displayCharacterLeft && this.maxlength > 0 && (index.h("mg-character-left", { identifier: this.characterLeftId, characters: this.value, maxlength: this.maxlength }))), index.h("slot", { name: "append-input" })));
|
|
3472
3354
|
}
|
|
3473
3355
|
get element() { return index.getElement(this); }
|
|
3474
3356
|
static get watchers() { return {
|
|
3475
3357
|
"value": ["handleValue"],
|
|
3476
3358
|
"icon": ["validateIcon"],
|
|
3359
|
+
"datalistoptions": ["validateDatalistoptions"],
|
|
3477
3360
|
"required": ["handleValidityChange"],
|
|
3478
3361
|
"readonly": ["handleValidityChange"],
|
|
3479
3362
|
"disabled": ["handleValidityChange"],
|
|
@@ -3483,7 +3366,7 @@ const MgInputText = class {
|
|
|
3483
3366
|
};
|
|
3484
3367
|
MgInputText.style = mgInputTextCss;
|
|
3485
3368
|
|
|
3486
|
-
const mgInputTextareaCss = ":host{display:block}.mg-input{display:flex;
|
|
3369
|
+
const mgInputTextareaCss = ":host{display:block}.mg-c-input__input mg-icon,.mg-c-input__error mg-icon{display:flex}.mg-c-input{display:flex;max-width:100%;min-height:var(--default-size);align-items:flex-start;margin-bottom:var(--mg-inputs-margin-bottom, 0)}.mg-c-input mg-input-title{width:var(--mg-inputs-title-width, auto);flex-shrink:var(--mg-inputs-shrink, 1);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-c-input__error{display:inline-block;padding:.3rem .8rem;border-radius:.3rem;margin-top:.2rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-c-input__input-container{min-height:var(--default-size)}.mg-c-input__input-container>strong{display:inline-block;min-height:var(--font-size);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2)}.mg-c-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-c-input__input-container .mg-c-input__help-text,.mg-c-input__input-container .mg-c-input__error{font-size:1.2rem;text-align:start}.mg-c-input.mg-c-input--label-on-top{flex-direction:column}.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-container{width:100%}.mg-c-input__title{display:flex;align-items:baseline;margin-bottom:.3rem}.mg-c-input__title mg-input-title{width:auto;flex-shrink:1;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-c-input__title mg-tooltip{margin-top:0}.mg-c-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-c-input__input{display:flex}.mg-c-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input__input.mg-c-input__input--has-error .mg-c-input__box{border-color:hsl(var(--color-danger))}.mg-c-input__input+.mg-c-input__help-text,.mg-c-input__input+.mg-c-input__error{margin-top:.5rem}.mg-c-input__input .mg-c-input__box:disabled,.mg-c-input__input-group--disabled label,.mg-c-input.mg-c-input--toggle-disabled .mg-c-input__input .mg-c-input__button-toggle,.mg-c-input.mg-c-input--checkbox-multi-disabled .mg-c-input__input strong{opacity:var(--mg-disabled-opacity)}.mg-c-input__box{height:var(--default-size);box-sizing:border-box;padding:calc((var(--default-size) - var(--font-size)*var(--line-height))/2) var(--mg-inputs-spacer);border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));color:hsl(var(--color-dark));font-family:inherit;font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 .6rem hsl(var(--mg-inputs-color-shadow-focus-hsl)/50%)}.mg-c-input__box:disabled{opacity:.3}.mg-c-input.mg-c-input--label-on-top .mg-c-input__box{width:auto;max-width:100%}.mg-c-input.mg-c-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:-0.1rem;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--is-input-group-append.mg-c-input--readonly slot[name=append-input]{display:none}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-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-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input:not(.mg-c-input--label-on-top) .mg-c-input__box{width:100%;min-width:5rem;max-width:calc(17.7rem + var(--mg-inputs-spacer)*2)}.mg-c-input.mg-c-input--width-full:not(.mg-c-input--label-on-top){justify-content:space-between}.mg-c-input.mg-c-input--width-full.mg-c-input--label-on-top .mg-c-input__box{width:100%}.mg-c-input.mg-c-input--width-full .mg-c-input__input-container{width:100%;flex:auto}.mg-c-input.mg-c-input--width-full .mg-c-input__input-container .mg-c-input__box{max-width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container{width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__input{width:100%;max-width:21rem}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__with-character-left{width:100%}.mg-c-input.mg-c-input--width-16 .mg-c-input__input-container .mg-c-input__box{min-width:100%;max-width:21rem}.mg-c-input.mg-c-input--width-4 .mg-c-input__input-container .mg-c-input__box{max-width:7rem}.mg-c-input.mg-c-input--width-2 .mg-c-input__input-container .mg-c-input__box{max-width:5rem}.mg-c-input mg-character-left{font-size:1.1rem;opacity:.6}.mg-c-input.mg-c-input--has-display-character-left .mg-c-input__input+.mg-c-input__help-text,.mg-c-input.mg-c-input--has-display-character-left .mg-c-input__input+.mg-c-input__error{margin-top:0}.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}}.mg-c-input__box{display:block;height:auto;resize:none}.mg-c-input__box.mg-c-input__box--resizable{resize:both}.mg-c-input__box.mg-c-input__box--resizable-horizontal{resize:horizontal}.mg-c-input__box.mg-c-input__box--resizable-vertical{resize:vertical}.mg-c-input__with-character-left{width:100%}.mg-c-input__with-character-left mg-character-left{display:block;margin-top:.2rem;text-align:end;visibility:hidden}.mg-c-input.mg-u-is-focused .mg-c-input__with-character-left mg-character-left{visibility:visible}@-moz-document url-prefix(){.mg-c-input__box{overflow-x:hidden}}";
|
|
3487
3370
|
|
|
3488
3371
|
const MgInputTextarea = class {
|
|
3489
3372
|
constructor(hostRef) {
|
|
@@ -3494,8 +3377,8 @@ const MgInputTextarea = class {
|
|
|
3494
3377
|
* Internal *
|
|
3495
3378
|
************/
|
|
3496
3379
|
// Classes
|
|
3497
|
-
this.classFocus = 'is-focused';
|
|
3498
|
-
this.classHasDisplayCharacterLeft = 'mg-input--has-display-character-left';
|
|
3380
|
+
this.classFocus = 'mg-u-is-focused';
|
|
3381
|
+
this.classHasDisplayCharacterLeft = 'mg-c-input--has-display-character-left';
|
|
3499
3382
|
// hasDisplayedError (triggered by blur event)
|
|
3500
3383
|
this.hasDisplayedError = false;
|
|
3501
3384
|
/**
|
|
@@ -3513,7 +3396,7 @@ const MgInputTextarea = class {
|
|
|
3513
3396
|
*/
|
|
3514
3397
|
this.handleFocus = () => {
|
|
3515
3398
|
this.classCollection.add(this.classFocus);
|
|
3516
|
-
this.classCollection = new ClassList(this.classCollection.classes);
|
|
3399
|
+
this.classCollection = new components_utils.ClassList(this.classCollection.classes);
|
|
3517
3400
|
};
|
|
3518
3401
|
/**
|
|
3519
3402
|
* Handle blur event
|
|
@@ -3521,7 +3404,7 @@ const MgInputTextarea = class {
|
|
|
3521
3404
|
this.handleBlur = () => {
|
|
3522
3405
|
// Manage focus
|
|
3523
3406
|
this.classCollection.delete(this.classFocus);
|
|
3524
|
-
this.classCollection = new ClassList(this.classCollection.classes);
|
|
3407
|
+
this.classCollection = new components_utils.ClassList(this.classCollection.classes);
|
|
3525
3408
|
// Display Error
|
|
3526
3409
|
this.displayError();
|
|
3527
3410
|
};
|
|
@@ -3580,7 +3463,7 @@ const MgInputTextarea = class {
|
|
|
3580
3463
|
this.valid = undefined;
|
|
3581
3464
|
this.invalid = undefined;
|
|
3582
3465
|
this.resizable = 'none';
|
|
3583
|
-
this.classCollection = new ClassList(['mg-input--textarea']);
|
|
3466
|
+
this.classCollection = new components_utils.ClassList(['mg-c-input--textarea']);
|
|
3584
3467
|
this.errorMessage = undefined;
|
|
3585
3468
|
}
|
|
3586
3469
|
handleValue(newValue) {
|
|
@@ -3598,7 +3481,7 @@ const MgInputTextarea = class {
|
|
|
3598
3481
|
}
|
|
3599
3482
|
}
|
|
3600
3483
|
validatePattern(newValue) {
|
|
3601
|
-
if (newValue !== undefined && !(isValidString(this.pattern) && isValidString(this.patternErrorMessage))) {
|
|
3484
|
+
if (newValue !== undefined && !(components_utils.isValidString(this.pattern) && components_utils.isValidString(this.patternErrorMessage))) {
|
|
3602
3485
|
throw new Error('<mg-input-textarea> props "pattern" and "patternErrorMessage" must be non-empty string and paired.');
|
|
3603
3486
|
}
|
|
3604
3487
|
}
|
|
@@ -3630,7 +3513,7 @@ const MgInputTextarea = class {
|
|
|
3630
3513
|
if (typeof valid !== 'boolean') {
|
|
3631
3514
|
throw new Error('<mg-input-textarea> method "setError()" param "valid" must be a boolean');
|
|
3632
3515
|
}
|
|
3633
|
-
else if (
|
|
3516
|
+
else if (!components_utils.isValidString(errorMessage)) {
|
|
3634
3517
|
throw new Error('<mg-input-textarea> method "setError()" param "errorMessage" must be a string');
|
|
3635
3518
|
}
|
|
3636
3519
|
else {
|
|
@@ -3658,7 +3541,7 @@ const MgInputTextarea = class {
|
|
|
3658
3541
|
*/
|
|
3659
3542
|
componentWillLoad() {
|
|
3660
3543
|
// Get locales
|
|
3661
|
-
this.messages =
|
|
3544
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
3662
3545
|
this.characterLeftId = `${this.identifier}-character-left`;
|
|
3663
3546
|
// Validate
|
|
3664
3547
|
this.validateDisplayCharacterLeft(this.displayCharacterLeft);
|
|
@@ -3676,12 +3559,12 @@ const MgInputTextarea = class {
|
|
|
3676
3559
|
* @returns HTML Element
|
|
3677
3560
|
*/
|
|
3678
3561
|
render() {
|
|
3679
|
-
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [this.characterLeftId], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: this.value, readonlyValue: undefined, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("div", { class: "mg-input__with-character-left" }, index.h("textarea", { class: {
|
|
3680
|
-
'mg-input__box': true,
|
|
3681
|
-
'mg-input__box--resizable': this.resizable === 'both',
|
|
3682
|
-
'mg-input__box--resizable-horizontal': this.resizable === 'horizontal',
|
|
3683
|
-
'mg-input__box--resizable-vertical': this.resizable === 'vertical',
|
|
3684
|
-
}, value: this.value, id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, rows: this.rows, maxlength: this.maxlength, disabled: this.disabled, required: this.required, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, ref: (el) => {
|
|
3562
|
+
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [this.characterLeftId], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: this.value, readonlyValue: undefined, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("div", { class: "mg-c-input__with-character-left" }, index.h("textarea", { class: {
|
|
3563
|
+
'mg-c-input__box': true,
|
|
3564
|
+
'mg-c-input__box--resizable': this.resizable === 'both',
|
|
3565
|
+
'mg-c-input__box--resizable-horizontal': this.resizable === 'horizontal',
|
|
3566
|
+
'mg-c-input__box--resizable-vertical': this.resizable === 'vertical',
|
|
3567
|
+
}, value: this.value, id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, rows: this.rows, maxlength: this.maxlength, disabled: this.disabled, required: this.required, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, ref: (el) => {
|
|
3685
3568
|
if (el !== null)
|
|
3686
3569
|
this.input = el;
|
|
3687
3570
|
} }), this.displayCharacterLeft && this.maxlength > 0 && (index.h("mg-character-left", { identifier: this.characterLeftId, characters: this.value, maxlength: this.maxlength })))));
|
|
@@ -3699,18 +3582,19 @@ const MgInputTextarea = class {
|
|
|
3699
3582
|
};
|
|
3700
3583
|
MgInputTextarea.style = mgInputTextareaCss;
|
|
3701
3584
|
|
|
3702
|
-
const mgInputTitleCss = ".is-asterisk.sc-mg-input-title{color:hsl(var(--color-danger))}legend.mg-input-title.sc-mg-input-title{padding-
|
|
3585
|
+
const mgInputTitleCss = ".mg-u-is-asterisk.sc-mg-input-title{color:hsl(var(--color-danger))}legend.mg-c-input-title.sc-mg-input-title{padding-right:0;padding-left:0}.mg-c-input-title__required.sc-mg-input-title{display:var(--mg-input-title-display, unset)}";
|
|
3703
3586
|
|
|
3704
3587
|
const MgInputTitle = class {
|
|
3705
3588
|
constructor(hostRef) {
|
|
3706
3589
|
index.registerInstance(this, hostRef);
|
|
3707
3590
|
this.identifier = undefined;
|
|
3708
3591
|
this.required = undefined;
|
|
3592
|
+
this.readonly = undefined;
|
|
3709
3593
|
this.isLegend = false;
|
|
3710
3594
|
this.tagName = 'label';
|
|
3711
3595
|
}
|
|
3712
3596
|
validateIdentifier(newValue) {
|
|
3713
|
-
if (
|
|
3597
|
+
if (!components_utils.isValidString(newValue)) {
|
|
3714
3598
|
throw new Error('<mg-input-title> prop "identifier" is required.');
|
|
3715
3599
|
}
|
|
3716
3600
|
}
|
|
@@ -3732,9 +3616,9 @@ const MgInputTitle = class {
|
|
|
3732
3616
|
* @returns HTML element
|
|
3733
3617
|
*/
|
|
3734
3618
|
render() {
|
|
3735
|
-
const TagName = this.tagName;
|
|
3619
|
+
const TagName = this.readonly ? 'span' : this.tagName;
|
|
3736
3620
|
// \u00A0 represent a
|
|
3737
|
-
return (index.h(TagName, { class: "mg-input-title", htmlFor: this.isLegend ? undefined : this.identifier }, index.h("slot", null), this.required && (index.h("span", { class: "mg-input-title__required" }, "\u00A0", index.h("span", { class: "is-asterisk" }, "*")))));
|
|
3621
|
+
return (index.h(TagName, { class: "mg-c-input-title", htmlFor: this.isLegend ? undefined : this.identifier }, index.h("slot", null), this.required && (index.h("span", { class: "mg-c-input-title__required" }, "\u00A0", index.h("span", { class: "mg-u-is-asterisk" }, "*")))));
|
|
3738
3622
|
}
|
|
3739
3623
|
static get watchers() { return {
|
|
3740
3624
|
"identifier": ["validateIdentifier"],
|
|
@@ -3743,7 +3627,7 @@ const MgInputTitle = class {
|
|
|
3743
3627
|
};
|
|
3744
3628
|
MgInputTitle.style = mgInputTitleCss;
|
|
3745
3629
|
|
|
3746
|
-
const mgInputToggleCss = ":host{display:block}.mg-input{display:flex;
|
|
3630
|
+
const mgInputToggleCss = ":host{display:block}.mg-c-input__input mg-icon,.mg-c-input__error mg-icon{display:flex}.mg-c-input{display:flex;max-width:100%;min-height:var(--default-size);align-items:flex-start;margin-bottom:var(--mg-inputs-margin-bottom, 0)}.mg-c-input mg-input-title{width:var(--mg-inputs-title-width, auto);flex-shrink:var(--mg-inputs-shrink, 1);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-c-input__error{display:inline-block;padding:.3rem .8rem;border-radius:.3rem;margin-top:.2rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-c-input__input-container{min-height:var(--default-size)}.mg-c-input__input-container>strong{display:inline-block;min-height:var(--font-size);margin-top:calc((var(--default-size) - var(--font-size)*var(--line-height))/2)}.mg-c-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-c-input__input-container .mg-c-input__help-text,.mg-c-input__input-container .mg-c-input__error{font-size:1.2rem;text-align:start}.mg-c-input.mg-c-input--label-on-top{flex-direction:column}.mg-c-input.mg-c-input--label-on-top .mg-c-input__input-container{width:100%}.mg-c-input__title{display:flex;align-items:baseline;margin-bottom:.3rem}.mg-c-input__title mg-input-title{width:auto;flex-shrink:1;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-c-input__title mg-tooltip{margin-top:0}.mg-c-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-c-input__input{display:flex}.mg-c-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size))/2)}.mg-c-input__input.mg-c-input__input--has-error .mg-c-input__box{border-color:hsl(var(--color-danger))}.mg-c-input__input+.mg-c-input__help-text,.mg-c-input__input+.mg-c-input__error{margin-top:.5rem}.mg-c-input__input .mg-c-input__box:disabled,.mg-c-input__input-group--disabled label,.mg-c-input.mg-c-input--toggle-disabled .mg-c-input__input .mg-c-input__button-toggle,.mg-c-input.mg-c-input--checkbox-multi-disabled .mg-c-input__input strong{opacity:var(--mg-disabled-opacity)}.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}}.mg-c-input__toggle-item-container{overflow:hidden;box-sizing:border-box;padding:.5rem .9rem;border:0;border-radius:calc((var(--font-size)*var(--line-height) + 1rem)/var(--mg-input-toggle-border-radius-ratio));background-color:unset;color:hsl(var(--color-dark));font-weight:unset;text-overflow:ellipsis;white-space:nowrap}.mg-c-input__toggle-item-container:first-of-type{background-color:hsl(var(--color-info-h), calc(var(--color-info-s) - 64%), calc(var(--color-info-l) + 55%));color:hsl(var(--color-info));font-weight:600}.mg-c-input__button-toggle{display:flex;min-width:0;padding:.2rem;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:calc((var(--font-size)*var(--line-height) + 2*(.7rem + var(--mg-inputs-border-width)))/var(--mg-input-toggle-border-radius-ratio));background-color:hsl(var(--color-light));cursor:pointer;font-family:var(--font-family);font-size:inherit;line-height:inherit}.mg-c-input__button-toggle:disabled{cursor:default}.mg-c-input.mg-c-input--toggle .mg-c-input__input-container{min-width:0;flex:auto}.mg-c-input.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:first-of-type{background-color:unset;color:hsl(var(--color-dark));font-weight:unset}.mg-c-input.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:last-of-type{background-color:hsl(var(--color-info-h), calc(var(--color-info-s) - 64%), calc(var(--color-info-l) + 55%));color:hsl(var(--color-info));font-weight:600}.mg-c-input.mg-c-input--toggle-icon .mg-c-input__toggle-item-container{display:flex;width:calc(var(--font-size)*var(--line-height) + 1rem);height:calc(var(--font-size)*var(--line-height) + 1rem);align-items:center;justify-content:center;padding:0;visibility:hidden}.mg-c-input.mg-c-input--toggle-icon .mg-c-input__toggle-item-container:first-of-type{visibility:visible}.mg-c-input.mg-c-input--toggle-icon .mg-c-input__toggle-item-container ::slotted(mg-icon){display:flex}.mg-c-input.mg-c-input--toggle-icon.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:first-of-type{visibility:hidden}.mg-c-input.mg-c-input--toggle-icon.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:last-of-type{visibility:visible}.mg-c-input.mg-c-input--toggle-readonly .mg-c-input__button-toggle{border-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0);cursor:initial}.mg-c-input.mg-c-input--toggle-readonly .mg-c-input__toggle-item-container:last-of-type{display:none}.mg-c-input.mg-c-input--toggle-readonly.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:first-of-type{display:none}.mg-c-input.mg-c-input--toggle-readonly.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:last-of-type{display:flex}.mg-c-input.mg-c-input--toggle-on-off .mg-c-input__toggle-item-container:first-of-type{background-color:hsl(var(--color-dark-h), calc(var(--color-dark-s) - 30%), calc(var(--color-dark-l) + 75%));color:hsl(var(--color-dark));font-weight:600}.mg-c-input.mg-c-input--toggle-on-off.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:first-of-type{background-color:unset;color:hsl(var(--color-dark));font-weight:unset}";
|
|
3747
3631
|
|
|
3748
3632
|
/**
|
|
3749
3633
|
* type Option validation function
|
|
@@ -3760,11 +3644,23 @@ const MgInputToggle = class {
|
|
|
3760
3644
|
* Internal *
|
|
3761
3645
|
************/
|
|
3762
3646
|
// Classes
|
|
3763
|
-
this.classReadonly = 'mg-input--toggle-readonly';
|
|
3764
|
-
this.classDisabled = 'mg-input--toggle-disabled';
|
|
3765
|
-
this.classIsActive = 'mg-input--toggle-is-active';
|
|
3766
|
-
this.classOnOff = 'mg-input--toggle-on-off';
|
|
3767
|
-
this.classIcon = 'mg-input--toggle-icon';
|
|
3647
|
+
this.classReadonly = 'mg-c-input--toggle-readonly';
|
|
3648
|
+
this.classDisabled = 'mg-c-input--toggle-disabled';
|
|
3649
|
+
this.classIsActive = 'mg-c-input--toggle-is-active';
|
|
3650
|
+
this.classOnOff = 'mg-c-input--toggle-on-off';
|
|
3651
|
+
this.classIcon = 'mg-c-input--toggle-icon';
|
|
3652
|
+
/**
|
|
3653
|
+
* Set input error message
|
|
3654
|
+
* @param errorMessage - errorMessage override
|
|
3655
|
+
*/
|
|
3656
|
+
this.setErrorMessage = (errorMessage) => {
|
|
3657
|
+
// Set error message
|
|
3658
|
+
this.errorMessage = undefined;
|
|
3659
|
+
// Does have a custom error message
|
|
3660
|
+
if (!this.valid && errorMessage !== undefined) {
|
|
3661
|
+
this.errorMessage = errorMessage;
|
|
3662
|
+
}
|
|
3663
|
+
};
|
|
3768
3664
|
/**
|
|
3769
3665
|
* Change checked value
|
|
3770
3666
|
*/
|
|
@@ -3798,8 +3694,10 @@ const MgInputToggle = class {
|
|
|
3798
3694
|
this.disabled = false;
|
|
3799
3695
|
this.tooltip = undefined;
|
|
3800
3696
|
this.helpText = undefined;
|
|
3801
|
-
this.classCollection = new ClassList(['mg-input--toggle']);
|
|
3697
|
+
this.classCollection = new components_utils.ClassList(['mg-c-input--toggle']);
|
|
3802
3698
|
this.options = undefined;
|
|
3699
|
+
this.errorMessage = undefined;
|
|
3700
|
+
this.valid = undefined;
|
|
3803
3701
|
this.checked = false;
|
|
3804
3702
|
}
|
|
3805
3703
|
handleValue(newValue) {
|
|
@@ -3813,7 +3711,7 @@ const MgInputToggle = class {
|
|
|
3813
3711
|
throw new Error('<mg-input-toggle> prop "items" require 2 items.');
|
|
3814
3712
|
}
|
|
3815
3713
|
// String array
|
|
3816
|
-
else if (allItemsAreString(newValue)) {
|
|
3714
|
+
else if (components_utils.allItemsAreString(newValue)) {
|
|
3817
3715
|
this.options = newValue.map(item => ({ title: item, value: item }));
|
|
3818
3716
|
}
|
|
3819
3717
|
// Object array
|
|
@@ -3857,6 +3755,27 @@ const MgInputToggle = class {
|
|
|
3857
3755
|
// update value
|
|
3858
3756
|
this.value = this.options[newValue ? 1 : 0].value;
|
|
3859
3757
|
}
|
|
3758
|
+
/**
|
|
3759
|
+
* Set an error and display a custom error message.
|
|
3760
|
+
* This method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.
|
|
3761
|
+
* It must be paired with an error message to display for the given context.
|
|
3762
|
+
* When used to set validity to `false`, you should use this method again to reset the validity to `true`.
|
|
3763
|
+
* @param valid - value indicating the validity
|
|
3764
|
+
* @param errorMessage - the error message to display
|
|
3765
|
+
*/
|
|
3766
|
+
async setError(valid, errorMessage) {
|
|
3767
|
+
if (typeof valid !== 'boolean') {
|
|
3768
|
+
throw new Error('<mg-input-toggle> method "setError()" param "valid" must be a boolean');
|
|
3769
|
+
}
|
|
3770
|
+
else if (!components_utils.isValidString(errorMessage)) {
|
|
3771
|
+
throw new Error('<mg-input-toggle> method "setError()" param "errorMessage" must be a string');
|
|
3772
|
+
}
|
|
3773
|
+
else {
|
|
3774
|
+
this.valid = valid;
|
|
3775
|
+
this.inputValid.emit(valid);
|
|
3776
|
+
this.setErrorMessage(valid ? undefined : errorMessage);
|
|
3777
|
+
}
|
|
3778
|
+
}
|
|
3860
3779
|
/**
|
|
3861
3780
|
* set checked state
|
|
3862
3781
|
*/
|
|
@@ -3903,7 +3822,7 @@ const MgInputToggle = class {
|
|
|
3903
3822
|
* @returns HTML Element
|
|
3904
3823
|
*/
|
|
3905
3824
|
render() {
|
|
3906
|
-
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: undefined, readonly: undefined, mgWidth: undefined, disabled: this.disabled, value: this.value, readonlyValue: undefined, tooltip: !this.readonly && this.tooltip, helpText: this.helpText, errorMessage:
|
|
3825
|
+
return (index.h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: undefined, readonly: undefined, mgWidth: undefined, disabled: this.disabled, value: this.value, readonlyValue: undefined, tooltip: !this.readonly && this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("button", { type: "button", role: "switch", "aria-checked": this.checked.toString(), "aria-readonly": this.disabled || this.readonly, id: this.identifier, class: "mg-c-input__button-toggle", disabled: this.disabled || this.readonly, onClick: this.toggleChecked }, index.h("span", { "aria-hidden": "true", class: "mg-c-input__toggle-item-container" }, index.h("slot", { name: "item-1" })), index.h("span", { "aria-hidden": "true", class: "mg-c-input__toggle-item-container" }, index.h("slot", { name: "item-2" })))));
|
|
3907
3826
|
}
|
|
3908
3827
|
get element() { return index.getElement(this); }
|
|
3909
3828
|
static get watchers() { return {
|
|
@@ -3918,7 +3837,7 @@ const MgInputToggle = class {
|
|
|
3918
3837
|
};
|
|
3919
3838
|
MgInputToggle.style = mgInputToggleCss;
|
|
3920
3839
|
|
|
3921
|
-
const mgMenuCss = ".
|
|
3840
|
+
const mgMenuCss = ".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}}:host{display:flex;background-color:hsl(var(--mg-menu-background-color-hsl, var(--color-light)))}:host([direction=vertical]){height:100%;flex-direction:column;overflow-y:auto}";
|
|
3922
3841
|
|
|
3923
3842
|
const MgMenu = class {
|
|
3924
3843
|
constructor(hostRef) {
|
|
@@ -3962,7 +3881,7 @@ const MgMenu = class {
|
|
|
3962
3881
|
(item.shadowRoot.querySelector('button') || item.shadowRoot.querySelector('a')).addEventListener(trigger, () => {
|
|
3963
3882
|
this.focusedMenuItem = index;
|
|
3964
3883
|
// reset expanded on previous active menu item
|
|
3965
|
-
(
|
|
3884
|
+
(this.getItemMoreMenuItem() ? [...this.menuItems, this.getItemMoreMenuItem()] : this.menuItems).forEach((item, index) => {
|
|
3966
3885
|
this.closeMenuItem(item, index !== this.focusedMenuItem);
|
|
3967
3886
|
});
|
|
3968
3887
|
});
|
|
@@ -3996,7 +3915,7 @@ const MgMenu = class {
|
|
|
3996
3915
|
this.element.appendChild(mgItemMore);
|
|
3997
3916
|
};
|
|
3998
3917
|
this.label = undefined;
|
|
3999
|
-
this.direction =
|
|
3918
|
+
this.direction = components_utils.Direction.HORIZONTAL;
|
|
4000
3919
|
this.itemmore = undefined;
|
|
4001
3920
|
this.size = 'regular';
|
|
4002
3921
|
this.isChildMenu = undefined;
|
|
@@ -4007,18 +3926,18 @@ const MgMenu = class {
|
|
|
4007
3926
|
}
|
|
4008
3927
|
}
|
|
4009
3928
|
validateDirection(newValue) {
|
|
4010
|
-
if (![
|
|
4011
|
-
throw new Error(`<${this.name}> prop "direction" must be one of: ${
|
|
3929
|
+
if (![components_utils.Direction.VERTICAL, components_utils.Direction.HORIZONTAL].includes(newValue)) {
|
|
3930
|
+
throw new Error(`<${this.name}> prop "direction" must be one of: ${components_utils.Direction.HORIZONTAL}, ${components_utils.Direction.VERTICAL}.`);
|
|
4012
3931
|
}
|
|
4013
3932
|
}
|
|
4014
3933
|
validateItemMore(newValue) {
|
|
4015
|
-
if (newValue !== undefined && this.direction !==
|
|
4016
|
-
throw new Error(`<${this.name}> prop "itemmore" must be paired with direction ${
|
|
3934
|
+
if (newValue !== undefined && this.direction !== components_utils.Direction.HORIZONTAL) {
|
|
3935
|
+
throw new Error(`<${this.name}> prop "itemmore" must be paired with direction ${components_utils.Direction.HORIZONTAL}.`);
|
|
4017
3936
|
}
|
|
4018
3937
|
}
|
|
4019
3938
|
validateSize(newValue) {
|
|
4020
|
-
if (!
|
|
4021
|
-
throw new Error(`<${this.name}> prop "size" must be one of: ${
|
|
3939
|
+
if (!components_utils.sizes.includes(newValue)) {
|
|
3940
|
+
throw new Error(`<${this.name}> prop "size" must be one of: ${components_utils.sizes.join(', ')}.`);
|
|
4022
3941
|
}
|
|
4023
3942
|
}
|
|
4024
3943
|
/*************
|
|
@@ -4046,7 +3965,7 @@ const MgMenu = class {
|
|
|
4046
3965
|
this.menuItems = Array.from(this.element.children).filter(child => child.nodeName === 'MG-MENU-ITEM');
|
|
4047
3966
|
this.isChildMenu = this.element.closest('mg-menu-item') !== null;
|
|
4048
3967
|
// add mg-item-more to manage OverflowBehavior
|
|
4049
|
-
if (this.direction ===
|
|
3968
|
+
if (this.direction === components_utils.Direction.HORIZONTAL && !this.isChildMenu)
|
|
4050
3969
|
this.renderMgItemMore();
|
|
4051
3970
|
// use mutation observer to improve reactivity
|
|
4052
3971
|
new MutationObserver(entries => {
|
|
@@ -4086,7 +4005,7 @@ const MgMenu = class {
|
|
|
4086
4005
|
};
|
|
4087
4006
|
MgMenu.style = mgMenuCss;
|
|
4088
4007
|
|
|
4089
|
-
const mgMenuItemCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding:1rem 2rem;height:3.8rem}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button,.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button ::slotted([slot=label]),.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button ::slotted([slot=metadata]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular ::slotted([slot=label]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular ::slotted([slot=metadata]){font-size:var(--font-size)}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular.mg-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular.mg-menu-item__navigation-button--vertical{padding-left:calc(2rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding:1rem 3rem;height:5.1rem}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button,.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button ::slotted([slot=label]),.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button ::slotted([slot=metadata]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium ::slotted([slot=label]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium ::slotted([slot=metadata]){font-size:calc(var(--font-size) + 0.2rem)}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium.mg-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium.mg-menu-item__navigation-button--vertical{padding-left:calc(3rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding:1rem 4rem;height:7.1rem}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button,.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button ::slotted([slot=label]),.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button ::slotted([slot=metadata]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large ::slotted([slot=label]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large ::slotted([slot=metadata]){font-size:calc(var(--font-size) + 0.2rem)}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large.mg-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large.mg-menu-item__navigation-button--vertical{padding-left:calc(4rem - 0.3rem)}.mg-menu-item__navigation-button{display:flex;align-items:center;column-gap:var(--mg-menu-item-navigation-button-column-gap, 1rem);background-color:unset;border:none;font-family:var(--font-family);font-weight:400;color:hsl(var(--mg-menu-item-color-hsl, var(--color-dark)));line-height:var(--line-height);text-decoration:none;white-space:nowrap;box-sizing:border-box;cursor:pointer}.mg-menu-item__navigation-button:disabled,.mg-menu-item__navigation-button--disabled{cursor:default;opacity:var(--mg-disabled-opacity)}.mg-menu-item__navigation-button:focus-visible{z-index:10}.mg-menu-item__navigation-button:hover:not(.mg-menu-item__navigation-button--disabled),.mg-menu-item__navigation-button:focus-visible:not(.mg-menu-item__navigation-button--disabled){background-color:hsl(var(--mg-menu-item-focused-background-color-hsl), 0.1)}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--active{color:hsl(var(--mg-menu-item-color-active-hsl));font-weight:600}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--active.mg-menu-item__navigation-button--horizontal{border-bottom-color:hsl(var(--mg-menu-item-border-color-active-hsl))}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--active.mg-menu-item__navigation-button--vertical{border-left-color:hsl(var(--mg-menu-item-border-color-active-hsl))}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--hidden{display:none}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal{border-bottom:0.3rem solid transparent}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical{border-left:0.3rem solid transparent}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(1 * 2rem - 0.3rem)}:host([data-level=\"1\"]) .mg-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(2 * 2rem - 0.3rem)}:host([data-level=\"2\"]) .mg-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(3 * 2rem - 0.3rem)}:host([data-level=\"3\"]) .mg-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(4 * 2rem - 0.3rem)}:host([data-level=\"4\"]) .mg-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(5 * 2rem - 0.3rem)}:host([data-level=\"5\"]) .mg-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(6 * 2rem - 0.3rem)}:host([data-level=\"6\"]) .mg-menu-item__collapse-container{z-index:calc(6 * 10)}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(1 * 3rem - 0.3rem)}:host([data-level=\"1\"]) .mg-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(2 * 3rem - 0.3rem)}:host([data-level=\"2\"]) .mg-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(3 * 3rem - 0.3rem)}:host([data-level=\"3\"]) .mg-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(4 * 3rem - 0.3rem)}:host([data-level=\"4\"]) .mg-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(5 * 3rem - 0.3rem)}:host([data-level=\"5\"]) .mg-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(6 * 3rem - 0.3rem)}:host([data-level=\"6\"]) .mg-menu-item__collapse-container{z-index:calc(6 * 10)}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(1 * 4rem - 0.3rem)}:host([data-level=\"1\"]) .mg-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(2 * 4rem - 0.3rem)}:host([data-level=\"2\"]) .mg-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(3 * 4rem - 0.3rem)}:host([data-level=\"3\"]) .mg-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(4 * 4rem - 0.3rem)}:host([data-level=\"4\"]) .mg-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(5 * 4rem - 0.3rem)}:host([data-level=\"5\"]) .mg-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(6 * 4rem - 0.3rem)}:host([data-level=\"6\"]) .mg-menu-item__collapse-container{z-index:calc(6 * 10)}:host{position:relative;display:flex;--mg-popover-padding-vertical:0;--mg-popover-padding-horizontal:0;--mg-popover-max-width:unset}:host([data-style-direction-vertical]){flex-direction:column}:host([data-style-direction-vertical]) .mg-menu-item__navigation-button{width:100%}:host([data-style-direction-vertical]) .mg-menu-item__collapse-container{left:unset;top:unset;position:unset;width:unset}:host([data-style-direction-vertical]) .mg-menu-item-chevron{margin-left:auto}:host([data-style-direction-horizontal]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level,:host([data-overflow-more]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level{background-color:hsl(var(--color-light))}:host([data-style-direction-horizontal]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level ::slotted(mg-menu),:host([data-overflow-more]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level ::slotted(mg-menu){padding:1rem 0}:host([data-overflow-more]){--mg-menu-item-navigation-button-column-gap:0}:host([data-overflow-more]) .mg-menu-item__navigation-button-chevron{display:none}:host([data-overflow-more]) .mg-menu-item__navigation-button-text-content ::slotted([slot=information]){margin-left:0}:host([data-overflow-more]) ::slotted(mg-menu){--mg-menu-item-navigation-button-column-gap:1rem}.mg-menu-item{max-width:var(--mg-menu-item-navigation-button-max-width)}.mg-menu-item__collapse-container{width:max-content;z-index:10}.mg-menu-item__navigation-button-center{min-width:0}.mg-menu-item__navigation-button-text-content{width:100%;display:flex;align-items:center}.mg-menu-item__navigation-button-text-content-notification,.mg-menu-item__navigation-button-text-content ::slotted([slot=information]){margin-left:1rem;font-size:var(--font-size)}.mg-menu-item__navigation-button-chevron{margin-left:auto;transition:200ms}.mg-menu-item__navigation-button-chevron--rotate.mg-menu-item__navigation-button-chevron{transform:rotate(180deg)}::slotted([slot=label]),::slotted([slot=metadata]){display:block;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::slotted(*){display:flex;flex-direction:column}:host([status=disabled]){pointer-events:none}:host([hidden]){display:none}";
|
|
4008
|
+
const mgMenuItemCss = ".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}}.mg-c-menu-item.mg-c-menu-item--size-regular .mg-c-menu-item__navigation-button,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular{height:3.8rem;padding:1rem 2rem}.mg-c-menu-item.mg-c-menu-item--size-regular .mg-c-menu-item__navigation-button,.mg-c-menu-item.mg-c-menu-item--size-regular .mg-c-menu-item__navigation-button ::slotted([slot=label]),.mg-c-menu-item.mg-c-menu-item--size-regular .mg-c-menu-item__navigation-button ::slotted([slot=metadata]),.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular ::slotted([slot=label]),.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular ::slotted([slot=metadata]){font-size:var(--font-size)}.mg-c-menu-item.mg-c-menu-item--size-regular .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--horizontal,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular.mg-c-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-c-menu-item.mg-c-menu-item--size-regular .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--vertical,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular.mg-c-menu-item__navigation-button--vertical{padding-left:calc(2rem - 0.3rem)}.mg-c-menu-item.mg-c-menu-item--size-medium .mg-c-menu-item__navigation-button,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium{height:5.1rem;padding:1rem 3rem}.mg-c-menu-item.mg-c-menu-item--size-medium .mg-c-menu-item__navigation-button,.mg-c-menu-item.mg-c-menu-item--size-medium .mg-c-menu-item__navigation-button ::slotted([slot=label]),.mg-c-menu-item.mg-c-menu-item--size-medium .mg-c-menu-item__navigation-button ::slotted([slot=metadata]),.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium ::slotted([slot=label]),.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium ::slotted([slot=metadata]){font-size:calc(var(--font-size) + .2rem)}.mg-c-menu-item.mg-c-menu-item--size-medium .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--horizontal,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium.mg-c-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-c-menu-item.mg-c-menu-item--size-medium .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--vertical,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium.mg-c-menu-item__navigation-button--vertical{padding-left:calc(3rem - 0.3rem)}.mg-c-menu-item.mg-c-menu-item--size-large .mg-c-menu-item__navigation-button,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large{height:7.1rem;padding:1rem 4rem}.mg-c-menu-item.mg-c-menu-item--size-large .mg-c-menu-item__navigation-button,.mg-c-menu-item.mg-c-menu-item--size-large .mg-c-menu-item__navigation-button ::slotted([slot=label]),.mg-c-menu-item.mg-c-menu-item--size-large .mg-c-menu-item__navigation-button ::slotted([slot=metadata]),.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large ::slotted([slot=label]),.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large ::slotted([slot=metadata]){font-size:calc(var(--font-size) + .2rem)}.mg-c-menu-item.mg-c-menu-item--size-large .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--horizontal,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large.mg-c-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-c-menu-item.mg-c-menu-item--size-large .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--vertical,.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large.mg-c-menu-item__navigation-button--vertical{padding-left:calc(4rem - 0.3rem)}.mg-c-menu-item__navigation-button{display:flex;box-sizing:border-box;align-items:center;border:none;background-color:unset;color:hsl(var(--mg-menu-item-color-hsl, var(--color-dark)));column-gap:var(--mg-menu-item-navigation-button-column-gap, 1rem);cursor:pointer;font-family:var(--font-family);font-weight:400;line-height:var(--line-height);text-decoration:none;white-space:nowrap}.mg-c-menu-item__navigation-button:disabled,.mg-c-menu-item__navigation-button--disabled{cursor:default;opacity:var(--mg-disabled-opacity)}.mg-c-menu-item__navigation-button:focus-visible{z-index:10}.mg-c-menu-item__navigation-button:hover:not(.mg-c-menu-item__navigation-button--disabled),.mg-c-menu-item__navigation-button:focus-visible:not(.mg-c-menu-item__navigation-button--disabled){background-color:hsl(var(--mg-menu-item-focused-background-color-hsl)/10%)}.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--active{color:hsl(var(--mg-menu-item-color-active-hsl));font-weight:600}.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--active.mg-c-menu-item__navigation-button--horizontal{border-bottom-color:hsl(var(--mg-menu-item-border-color-active-hsl))}.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--active.mg-c-menu-item__navigation-button--vertical{border-left-color:hsl(var(--mg-menu-item-border-color-active-hsl))}.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--hidden{display:none}.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--horizontal{border-bottom:.3rem solid rgba(0,0,0,0)}.mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--vertical{border-left:.3rem solid rgba(0,0,0,0)}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular{padding-left:calc(1 * 2rem - 0.3rem)}:host([data-level=\"1\"]) .mg-c-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular{padding-left:calc(2 * 2rem - 0.3rem)}:host([data-level=\"2\"]) .mg-c-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular{padding-left:calc(3 * 2rem - 0.3rem)}:host([data-level=\"3\"]) .mg-c-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular{padding-left:calc(4 * 2rem - 0.3rem)}:host([data-level=\"4\"]) .mg-c-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular{padding-left:calc(5 * 2rem - 0.3rem)}:host([data-level=\"5\"]) .mg-c-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-regular{padding-left:calc(6 * 2rem - 0.3rem)}:host([data-level=\"6\"]) .mg-c-menu-item__collapse-container{z-index:calc(6 * 10)}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium{padding-left:calc(1 * 3rem - 0.3rem)}:host([data-level=\"1\"]) .mg-c-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium{padding-left:calc(2 * 3rem - 0.3rem)}:host([data-level=\"2\"]) .mg-c-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium{padding-left:calc(3 * 3rem - 0.3rem)}:host([data-level=\"3\"]) .mg-c-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium{padding-left:calc(4 * 3rem - 0.3rem)}:host([data-level=\"4\"]) .mg-c-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium{padding-left:calc(5 * 3rem - 0.3rem)}:host([data-level=\"5\"]) .mg-c-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-medium{padding-left:calc(6 * 3rem - 0.3rem)}:host([data-level=\"6\"]) .mg-c-menu-item__collapse-container{z-index:calc(6 * 10)}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large{padding-left:calc(1 * 4rem - 0.3rem)}:host([data-level=\"1\"]) .mg-c-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large{padding-left:calc(2 * 4rem - 0.3rem)}:host([data-level=\"2\"]) .mg-c-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large{padding-left:calc(3 * 4rem - 0.3rem)}:host([data-level=\"3\"]) .mg-c-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large{padding-left:calc(4 * 4rem - 0.3rem)}:host([data-level=\"4\"]) .mg-c-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large{padding-left:calc(5 * 4rem - 0.3rem)}:host([data-level=\"5\"]) .mg-c-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-c-menu-item__navigation-button.mg-c-menu-item__navigation-button--size-large{padding-left:calc(6 * 4rem - 0.3rem)}:host([data-level=\"6\"]) .mg-c-menu-item__collapse-container{z-index:calc(6 * 10)}.mg-c-menu-item{max-width:var(--mg-menu-item-navigation-button-max-width)}.mg-c-menu-item__collapse-container{z-index:10;width:max-content}.mg-c-menu-item__navigation-button-center{min-width:0}.mg-c-menu-item__navigation-button-text-content{display:flex;width:100%;align-items:center}.mg-c-menu-item__navigation-button-text-content-notification,.mg-c-menu-item__navigation-button-text-content ::slotted([slot=information]){margin-left:1rem;font-size:var(--font-size)}.mg-c-menu-item__navigation-button-chevron{margin-left:auto;transition:200ms}.mg-c-menu-item__navigation-button-chevron--rotate.mg-c-menu-item__navigation-button-chevron{transform:rotate(180deg)}:host{position:relative;display:flex;--mg-popover-padding-vertical:0;--mg-popover-padding-horizontal:0;--mg-popover-max-width:unset}:host([data-style-direction-vertical]){flex-direction:column}:host([data-style-direction-vertical]) .mg-c-menu-item__navigation-button{width:100%}:host([data-style-direction-vertical]) .mg-c-menu-item__collapse-container{position:unset;top:unset;left:unset;width:unset}:host([data-style-direction-vertical]) .mg-c-menu-item-chevron{margin-left:auto}:host([data-overflow-more]){--mg-menu-item-navigation-button-column-gap:0}:host([data-overflow-more]) .mg-c-menu-item__navigation-button-chevron{display:none}:host([data-overflow-more]) .mg-c-menu-item__navigation-button-text-content ::slotted([slot=information]){margin-left:0}:host([data-overflow-more]) ::slotted(mg-menu){--mg-menu-item-navigation-button-column-gap:1rem}:host([data-style-direction-horizontal]) .mg-c-menu-item__collapse-container.mg-c-menu-item__collapse-container--first-level,:host([data-overflow-more]) .mg-c-menu-item__collapse-container.mg-c-menu-item__collapse-container--first-level{background-color:hsl(var(--color-light))}:host([data-style-direction-horizontal]) .mg-c-menu-item__collapse-container.mg-c-menu-item__collapse-container--first-level ::slotted(mg-menu),:host([data-overflow-more]) .mg-c-menu-item__collapse-container.mg-c-menu-item__collapse-container--first-level ::slotted(mg-menu){padding:1rem 0}::slotted([slot=label]),::slotted([slot=metadata]){display:block;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}::slotted(*){display:flex;flex-direction:column}:host([status=disabled]){pointer-events:none}:host([hidden]){display:none}";
|
|
4090
4009
|
|
|
4091
4010
|
const MgMenuItem = class {
|
|
4092
4011
|
constructor(hostRef) {
|
|
@@ -4097,7 +4016,7 @@ const MgMenuItem = class {
|
|
|
4097
4016
|
* Internal *
|
|
4098
4017
|
************/
|
|
4099
4018
|
this.name = 'mg-menu-item';
|
|
4100
|
-
this.navigationButton =
|
|
4019
|
+
this.navigationButton = 'mg-c-menu-item__navigation-button';
|
|
4101
4020
|
/***********
|
|
4102
4021
|
* Methods *
|
|
4103
4022
|
**********/
|
|
@@ -4150,7 +4069,7 @@ const MgMenuItem = class {
|
|
|
4150
4069
|
throw new Error(`<${this.name}> slot "label" is required.`);
|
|
4151
4070
|
['label', 'metadata'].forEach(slot => {
|
|
4152
4071
|
Array.from(this.element.querySelectorAll(`[slot="${slot}"]`)).forEach(element => {
|
|
4153
|
-
if (element.textContent
|
|
4072
|
+
if (!components_utils.isValidString(element.textContent))
|
|
4154
4073
|
throw new Error(`<${this.name}> slot "${slot}" must have text content.`);
|
|
4155
4074
|
if ((guard && element.getAttribute('title') === null) || !guard)
|
|
4156
4075
|
element.setAttribute('title', element.textContent);
|
|
@@ -4190,7 +4109,7 @@ const MgMenuItem = class {
|
|
|
4190
4109
|
* Condition to know if component should display a mg-popover
|
|
4191
4110
|
* @returns truthy if component display popover
|
|
4192
4111
|
*/
|
|
4193
|
-
this.displayPopover = () => this.isDirection(
|
|
4112
|
+
this.displayPopover = () => this.isDirection(components_utils.Direction.HORIZONTAL) && this.hasChildren && this.href === undefined;
|
|
4194
4113
|
/************
|
|
4195
4114
|
* Handlers *
|
|
4196
4115
|
************/
|
|
@@ -4219,12 +4138,12 @@ const MgMenuItem = class {
|
|
|
4219
4138
|
* @returns HTML Element
|
|
4220
4139
|
*/
|
|
4221
4140
|
this.renderSlot = () => index.h("slot", null);
|
|
4222
|
-
this.identifier = createID('mg-menu-item');
|
|
4141
|
+
this.identifier = components_utils.createID('mg-menu-item');
|
|
4223
4142
|
this.href = undefined;
|
|
4224
4143
|
this.status = Status$1.VISIBLE;
|
|
4225
4144
|
this.expanded = false;
|
|
4226
4145
|
this.size = 'regular';
|
|
4227
|
-
this.navigationButtonClassList = new ClassList([this.navigationButton]);
|
|
4146
|
+
this.navigationButtonClassList = new components_utils.ClassList([this.navigationButton]);
|
|
4228
4147
|
this.direction = undefined;
|
|
4229
4148
|
this.isInMainMenu = undefined;
|
|
4230
4149
|
this.isItemMore = undefined;
|
|
@@ -4269,7 +4188,7 @@ const MgMenuItem = class {
|
|
|
4269
4188
|
this.element.setAttribute(`data-style-direction-${newValue}`, '');
|
|
4270
4189
|
this.navigationButtonClassList.add(`${this.navigationButton}--${newValue}`);
|
|
4271
4190
|
// manage all sub levels child menu-items level with data-level attribut
|
|
4272
|
-
if (this.isDirection(
|
|
4191
|
+
if (this.isDirection(components_utils.Direction.VERTICAL, newValue)) {
|
|
4273
4192
|
Array.from(this.element.querySelectorAll('mg-menu-item')).forEach(item => {
|
|
4274
4193
|
item.dataset.level = `${(Number(item.dataset.level) || 1) + 1}`;
|
|
4275
4194
|
});
|
|
@@ -4299,7 +4218,7 @@ const MgMenuItem = class {
|
|
|
4299
4218
|
// has children items that is NOT [slot='image' | 'information' | 'label' | 'metadata'] element
|
|
4300
4219
|
// we store only matching elements
|
|
4301
4220
|
this.hasChildren = Array.from(this.element.children).some(child => !['image', 'information', 'label', 'metadata'].includes(child.getAttribute('slot')));
|
|
4302
|
-
this.badgeLabel =
|
|
4221
|
+
this.badgeLabel = components_utils.initLocales(this.element).messages.plusMenu.badgeLabel;
|
|
4303
4222
|
this.isItemMore = this.element.dataset.overflowMore !== undefined;
|
|
4304
4223
|
// Validate props
|
|
4305
4224
|
this.validateStatus(this.status);
|
|
@@ -4320,7 +4239,7 @@ const MgMenuItem = class {
|
|
|
4320
4239
|
return setTimeout(() => {
|
|
4321
4240
|
// define menu-item context states
|
|
4322
4241
|
const menu = this.element.closest('mg-menu');
|
|
4323
|
-
this.direction = this.isItemMore || menu === null ?
|
|
4242
|
+
this.direction = this.isItemMore || menu === null ? components_utils.Direction.HORIZONTAL : menu.direction;
|
|
4324
4243
|
this.isInMainMenu = menu !== null && this.element.parentElement.closest('mg-menu-item') === null;
|
|
4325
4244
|
if ((menu === null || menu === void 0 ? void 0 : menu.size) !== undefined)
|
|
4326
4245
|
this.size = menu.size;
|
|
@@ -4329,7 +4248,7 @@ const MgMenuItem = class {
|
|
|
4329
4248
|
// when main menu item contain an active item it will get the active style
|
|
4330
4249
|
// AND if item is in vertical menu it will be expanded
|
|
4331
4250
|
if (this.hasActiveChild() && this.isInMainMenu)
|
|
4332
|
-
this.expanded = this.isDirection(
|
|
4251
|
+
this.expanded = this.isDirection(components_utils.Direction.VERTICAL);
|
|
4333
4252
|
this.updateStatus([Status$1.ACTIVE]);
|
|
4334
4253
|
this.updateDisplayNotificationBadge();
|
|
4335
4254
|
this.updatePopoverGuard();
|
|
@@ -4352,10 +4271,9 @@ const MgMenuItem = class {
|
|
|
4352
4271
|
*/
|
|
4353
4272
|
renderInteractiveElement() {
|
|
4354
4273
|
const TagName = this.href !== undefined ? 'a' : 'button';
|
|
4355
|
-
return (index.h(TagName, { href: this.href, class: this.navigationButtonClassList.join(), tabindex: [Status$1.DISABLED, Status$1.HIDDEN].includes(this.status) ? -1 : undefined, disabled: this.status === Status$1.DISABLED, hidden: this.status === Status$1.HIDDEN, "aria-expanded": this.hasChildren && this.expanded.toString(), "aria-current": this.status === Status$1.ACTIVE && 'page', onClick: this.handleElementCLick }, index.h("slot", { name: "image" }), index.h("div", { class: `${this.navigationButton}-center` }, index.h("div", { class: `${this.navigationButton}-text-content` }, index.h("slot", { name: "label" }), !this.displayNotificationBadge && index.h("slot", { name: "information" }), this.displayNotificationBadge && (index.h("span", { class:
|
|
4274
|
+
return (index.h(TagName, { href: this.href, class: this.navigationButtonClassList.join(), tabindex: [Status$1.DISABLED, Status$1.HIDDEN].includes(this.status) ? -1 : undefined, disabled: this.status === Status$1.DISABLED, hidden: this.status === Status$1.HIDDEN, "aria-expanded": this.hasChildren && this.expanded.toString(), "aria-current": this.status === Status$1.ACTIVE && 'page', onClick: this.handleElementCLick }, index.h("slot", { name: "image" }), index.h("div", { class: `${this.navigationButton}-center` }, index.h("div", { class: `${this.navigationButton}-text-content` }, index.h("slot", { name: "label" }), !this.displayNotificationBadge && index.h("slot", { name: "information" }), this.displayNotificationBadge && (index.h("span", { class: `${this.navigationButton}-text-content-notification` }, index.h("mg-badge", { label: this.badgeLabel, value: "!", variant: "text-color", slot: "information" })))), this.size !== 'regular' && index.h("slot", { name: "metadata" })), this.hasChildren && this.href === undefined && (index.h("span", { class: {
|
|
4356
4275
|
[`${this.navigationButton}-chevron`]: true,
|
|
4357
4276
|
[`${this.navigationButton}-chevron--rotate`]: this.expanded === true,
|
|
4358
|
-
'mg-a11y-animation': true,
|
|
4359
4277
|
} }, index.h("mg-icon", { icon: "chevron-down", size: "small" })))));
|
|
4360
4278
|
}
|
|
4361
4279
|
/**
|
|
@@ -4364,8 +4282,8 @@ const MgMenuItem = class {
|
|
|
4364
4282
|
*/
|
|
4365
4283
|
render() {
|
|
4366
4284
|
const getContainerClasses = () => ({
|
|
4367
|
-
[
|
|
4368
|
-
[
|
|
4285
|
+
['mg-c-menu-item__collapse-container']: true,
|
|
4286
|
+
['mg-c-menu-item__collapse-container--first-level']: (this.isInMainMenu || this.isItemMore) && this.isDirection(components_utils.Direction.HORIZONTAL),
|
|
4369
4287
|
});
|
|
4370
4288
|
return (index.h(index.Host, { role: this.isItemMore ? 'presentation' : 'listitem' }, this.displayPopover() ? (index.h("mg-popover", { display: this.expanded, placement: "bottom-start", arrowHide: true, "onDisplay-change": this.handlePopoverDisplay, identifier: this.getPopoverIdentifier() }, this.renderInteractiveElement(), index.h("div", { class: getContainerClasses(), slot: "content" }, this.renderSlot()))) : ([
|
|
4371
4289
|
this.renderInteractiveElement(),
|
|
@@ -4388,7 +4306,7 @@ MgMenuItem.style = mgMenuItemCss;
|
|
|
4388
4306
|
*/
|
|
4389
4307
|
const variants$1 = ['info', 'warning', 'success', 'danger'];
|
|
4390
4308
|
|
|
4391
|
-
const mgMessageCss = ":host{--mg-card-padding:0;--mg-card-border-radius:var(--mg-message-border-radius);--mg-card-border:none;--mg-card-overflow:hidden}:host([hide]){display:none}.mg-message{display:inline-block;min-height:var(--default-size)}.mg-message.mg-message--info .mg-message__icon{color:hsl(var(--color-info))}.mg-message.mg-message--warning .mg-message__icon{color:hsl(var(--color-warning))}.mg-message.mg-message--success .mg-message__icon{color:hsl(var(--color-success))}.mg-message.mg-message--danger .mg-message__icon{color:hsl(var(--color-danger))}.mg-message.mg-message--close-button{--mg-card-padding:0 3.4rem 0 0}.mg-message.mg-message--hide{display:none}.mg-message ::slotted(*){
|
|
4309
|
+
const mgMessageCss = ":host{--mg-card-padding:0;--mg-card-border-radius:var(--mg-message-border-radius);--mg-card-border:none;--mg-card-overflow:hidden}:host([hide]){display:none}.mg-c-message{display:inline-block;min-height:var(--default-size)}.mg-c-message.mg-c-message--info .mg-c-message__icon{color:hsl(var(--color-info))}.mg-c-message.mg-c-message--warning .mg-c-message__icon{color:hsl(var(--color-warning))}.mg-c-message.mg-c-message--success .mg-c-message__icon{color:hsl(var(--color-success))}.mg-c-message.mg-c-message--danger .mg-c-message__icon{color:hsl(var(--color-danger))}.mg-c-message.mg-c-message--close-button{--mg-card-padding:0 3.4rem 0 0}.mg-c-message.mg-c-message--hide{display:none}.mg-c-message ::slotted(*){padding:0;margin:0}.mg-c-message__icon{position:absolute;top:calc((var(--default-size) - var(--mg-icon-regular-size))/2);left:1.3rem;line-height:1}.mg-c-message__content{display:flex;flex-wrap:wrap;align-content:stretch;justify-content:flex-end;padding:0 1rem 0 3.8rem}.mg-c-message__content-slot{flex-grow:1;margin:.84rem 0}.mg-c-message__content-separator{display:inline-block;width:4.5rem;height:0}.mg-c-message__content-actions-slot{padding:1rem 0;text-align:right}.mg-c-message__close-button{position:absolute;top:0;right:0}.mg-c-message ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset;--mg-card-min-width:unset}.mg-c-message,.mg-c-message mg-message{max-width:100%}";
|
|
4392
4310
|
|
|
4393
4311
|
const MgMessage = class {
|
|
4394
4312
|
constructor(hostRef) {
|
|
@@ -4399,7 +4317,7 @@ const MgMessage = class {
|
|
|
4399
4317
|
* Internal *
|
|
4400
4318
|
************/
|
|
4401
4319
|
// Classes
|
|
4402
|
-
this.classHide = 'mg-message--hide';
|
|
4320
|
+
this.classHide = 'mg-c-message--hide';
|
|
4403
4321
|
// IDs
|
|
4404
4322
|
this.closeButtonId = '';
|
|
4405
4323
|
// Stored timer setted when hide action is run from setTimeOut
|
|
@@ -4458,12 +4376,12 @@ const MgMessage = class {
|
|
|
4458
4376
|
return 'exclamation-circle';
|
|
4459
4377
|
}
|
|
4460
4378
|
};
|
|
4461
|
-
this.identifier = createID('mg-message');
|
|
4379
|
+
this.identifier = components_utils.createID('mg-message');
|
|
4462
4380
|
this.delay = undefined;
|
|
4463
4381
|
this.variant = variants$1[0];
|
|
4464
4382
|
this.closeButton = false;
|
|
4465
4383
|
this.hide = false;
|
|
4466
|
-
this.classCollection = new ClassList(['mg-message']);
|
|
4384
|
+
this.classCollection = new components_utils.ClassList(['mg-c-message']);
|
|
4467
4385
|
this.hasActions = false;
|
|
4468
4386
|
}
|
|
4469
4387
|
validateDelay(newValue) {
|
|
@@ -4477,9 +4395,9 @@ const MgMessage = class {
|
|
|
4477
4395
|
}
|
|
4478
4396
|
else {
|
|
4479
4397
|
if (oldValue !== undefined) {
|
|
4480
|
-
this.classCollection.delete(`mg-message--${oldValue}`);
|
|
4398
|
+
this.classCollection.delete(`mg-c-message--${oldValue}`);
|
|
4481
4399
|
}
|
|
4482
|
-
this.classCollection.add(`mg-message--${newValue}`);
|
|
4400
|
+
this.classCollection.add(`mg-c-message--${newValue}`);
|
|
4483
4401
|
}
|
|
4484
4402
|
}
|
|
4485
4403
|
validateCloseButton(newValue) {
|
|
@@ -4521,14 +4439,14 @@ const MgMessage = class {
|
|
|
4521
4439
|
*/
|
|
4522
4440
|
componentWillLoad() {
|
|
4523
4441
|
// Get locales
|
|
4524
|
-
this.messages =
|
|
4442
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
4525
4443
|
// Validate
|
|
4526
4444
|
this.validateVariant(this.variant);
|
|
4527
4445
|
// Check if close button is an can be activated
|
|
4528
4446
|
this.hasActions = this.element.querySelector('[slot="actions"]') !== null;
|
|
4529
4447
|
this.validateCloseButton(this.closeButton);
|
|
4530
4448
|
if (this.closeButton) {
|
|
4531
|
-
this.classCollection.add('mg-message--close-button');
|
|
4449
|
+
this.classCollection.add('mg-c-message--close-button');
|
|
4532
4450
|
this.closeButtonId = `${this.identifier}-close-button`;
|
|
4533
4451
|
}
|
|
4534
4452
|
this.validateDelay(this.delay);
|
|
@@ -4539,7 +4457,7 @@ const MgMessage = class {
|
|
|
4539
4457
|
* @returns HTML Element
|
|
4540
4458
|
*/
|
|
4541
4459
|
render() {
|
|
4542
|
-
return (index.h("div", { id: this.identifier, class: this.classCollection.join(), role: this.variant === 'info' ? 'status' : 'alert' }, index.h("mg-card", { variant: this.variant, "variant-style": "bar-left" }, index.h("span", { class: "mg-message__icon" }, index.h("mg-icon", { icon: this.getIcon() })), index.h("div", { class: "mg-message__content" }, index.h("span", { class: "mg-message__content-slot" }, index.h("slot", null)), this.hasActions && index.h("span", { class: "mg-message__content-separator" }), this.hasActions && (index.h("span", { class: "mg-message__content-actions-slot" }, index.h("slot", { name: "actions" })))), this.closeButton && (index.h("span", { class: "mg-message__close-button" }, index.h("mg-button", { identifier: this.closeButtonId, "is-icon": true, variant: "flat", label: this.messages.message.closeButton, onClick: this.handleClose }, index.h("mg-icon", { icon: "cross" })))))));
|
|
4460
|
+
return (index.h("div", { id: this.identifier, class: this.classCollection.join(), role: this.variant === 'info' ? 'status' : 'alert' }, index.h("mg-card", { variant: this.variant, "variant-style": "bar-left" }, index.h("span", { class: "mg-c-message__icon" }, index.h("mg-icon", { icon: this.getIcon() })), index.h("div", { class: "mg-c-message__content" }, index.h("span", { class: "mg-c-message__content-slot" }, index.h("slot", null)), this.hasActions && index.h("span", { class: "mg-c-message__content-separator" }), this.hasActions && (index.h("span", { class: "mg-c-message__content-actions-slot" }, index.h("slot", { name: "actions" })))), this.closeButton && (index.h("span", { class: "mg-c-message__close-button" }, index.h("mg-button", { identifier: this.closeButtonId, "is-icon": true, variant: "flat", label: this.messages.message.closeButton, onClick: this.handleClose }, index.h("mg-icon", { icon: "cross" })))))));
|
|
4543
4461
|
}
|
|
4544
4462
|
get element() { return index.getElement(this); }
|
|
4545
4463
|
static get watchers() { return {
|
|
@@ -4556,7 +4474,7 @@ MgMessage.style = mgMessageCss;
|
|
|
4556
4474
|
*/
|
|
4557
4475
|
const dialogRoles = ['dialog', 'alertdialog'];
|
|
4558
4476
|
|
|
4559
|
-
const mgModalCss = ":host{--mg-card-border-radius:var(--mg-modal-border-radius);--mg-card-padding:1.5rem 2.5rem;--mg-card-border:none}.mg-modal{
|
|
4477
|
+
const mgModalCss = ":host{--mg-card-border-radius:var(--mg-modal-border-radius);--mg-card-padding:1.5rem 2.5rem;--mg-card-border:none}.mg-c-modal{position:fixed;z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem 0;background-color:hsl(var(--color-light)/85%);inset:0}.mg-c-modal mg-card{display:flex;width:60rem;max-width:100%;max-height:100%}.mg-c-modal__dialog{position:relative;display:flex;height:fit-content;max-height:100%;flex-direction:column;align-self:center;row-gap:3rem}.mg-c-modal__header{margin-bottom:.5rem}.mg-c-modal__title{margin:0;font-family:var(--font-family-heading);font-size:var(--mg-modal-title-font-size);font-weight:600}.mg-c-modal__close-button{height:var(--mg-modal-title-font-size);margin-top:calc((var(--default-size) - var(--mg-modal-title-font-size)*var(--line-height))/2*-1);margin-right:calc((var(--default-size) - var(--mg-icon-regular-size))/2*-1);float:right}.mg-c-modal__content{overflow-y:auto}.mg-c-modal__content::slotted(*){font-size:var(--mg-modal-content-font-size)}.mg-c-modal.mg-c-modal--hide{display:none}.mg-c-modal ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset;--mg-card-min-width:unset}";
|
|
4560
4478
|
|
|
4561
4479
|
const MgModal = class {
|
|
4562
4480
|
constructor(hostRef) {
|
|
@@ -4569,7 +4487,7 @@ const MgModal = class {
|
|
|
4569
4487
|
// Modal focusable elements
|
|
4570
4488
|
this.modalFocusableElements = [];
|
|
4571
4489
|
// Classes
|
|
4572
|
-
this.classHide = 'mg-modal--hide';
|
|
4490
|
+
this.classHide = 'mg-c-modal--hide';
|
|
4573
4491
|
// IDs
|
|
4574
4492
|
this.titleId = '';
|
|
4575
4493
|
/**
|
|
@@ -4602,11 +4520,11 @@ const MgModal = class {
|
|
|
4602
4520
|
*/
|
|
4603
4521
|
this.setFocus = () => {
|
|
4604
4522
|
// Get all focusable elements
|
|
4605
|
-
const allFocusableElements = Array.from(this.element.querySelectorAll(focusableElements));
|
|
4523
|
+
const allFocusableElements = Array.from(this.element.querySelectorAll(components_utils.focusableElements));
|
|
4606
4524
|
// If at least one
|
|
4607
4525
|
if (allFocusableElements.length > 0) {
|
|
4608
4526
|
this.modalFocusableElements = allFocusableElements.reduce((acc, focusableElement) => {
|
|
4609
|
-
acc.push(focusableElement.shadowRoot !== null ? focusableElement.shadowRoot.querySelector(focusableElements) || focusableElement : focusableElement);
|
|
4527
|
+
acc.push(focusableElement.shadowRoot !== null ? focusableElement.shadowRoot.querySelector(components_utils.focusableElements) || focusableElement : focusableElement);
|
|
4610
4528
|
return acc;
|
|
4611
4529
|
}, []);
|
|
4612
4530
|
// When close button is enabled it's the first focusable element.
|
|
@@ -4628,21 +4546,21 @@ const MgModal = class {
|
|
|
4628
4546
|
this.handleClose = () => {
|
|
4629
4547
|
this.hide = true;
|
|
4630
4548
|
};
|
|
4631
|
-
this.identifier = createID('mg-modal');
|
|
4549
|
+
this.identifier = components_utils.createID('mg-modal');
|
|
4632
4550
|
this.dialogRole = dialogRoles[0];
|
|
4633
4551
|
this.modalTitle = undefined;
|
|
4634
4552
|
this.closeButton = false;
|
|
4635
4553
|
this.hide = undefined;
|
|
4636
4554
|
this.hasActions = false;
|
|
4637
4555
|
this.hasContent = false;
|
|
4638
|
-
this.classCollection = new ClassList(['mg-modal']);
|
|
4556
|
+
this.classCollection = new components_utils.ClassList(['mg-c-modal']);
|
|
4639
4557
|
}
|
|
4640
4558
|
validateDialogRole(newValue) {
|
|
4641
4559
|
if (!dialogRoles.includes(newValue))
|
|
4642
4560
|
throw new Error(`<mg-modal> prop "dialogRole" must be one of: ${dialogRoles.join(', ')}.`);
|
|
4643
4561
|
}
|
|
4644
4562
|
validateModalTitle(newValue) {
|
|
4645
|
-
if (
|
|
4563
|
+
if (!components_utils.isValidString(newValue)) {
|
|
4646
4564
|
throw new Error('<mg-modal> prop "modalTitle" is required.');
|
|
4647
4565
|
}
|
|
4648
4566
|
}
|
|
@@ -4684,7 +4602,7 @@ const MgModal = class {
|
|
|
4684
4602
|
// Store body overflow
|
|
4685
4603
|
this.bodyOverflow = document.body.style.overflow;
|
|
4686
4604
|
// Get locales
|
|
4687
|
-
this.messages =
|
|
4605
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
4688
4606
|
// Validate
|
|
4689
4607
|
this.hasActions = this.element.querySelector('[slot="actions"]') !== null;
|
|
4690
4608
|
this.hasContent = this.element.querySelector('[slot="content"]') !== null;
|
|
@@ -4710,14 +4628,14 @@ const MgModal = class {
|
|
|
4710
4628
|
* @returns HTML Element
|
|
4711
4629
|
*/
|
|
4712
4630
|
render() {
|
|
4713
|
-
return (index.h("div", { role: this.dialogRole, id: this.identifier, class: this.classCollection.join(), tabindex: "-1", "aria-labelledby": this.titleId, "aria-modal": "true", "aria-hidden": this.hide }, index.h("mg-card", null, index.h("div", { class: "mg-modal__dialog" }, index.h("header", { class: "mg-modal__header" }, this.closeButton && (index.h("span", { class: "mg-modal__close-button" }, index.h("mg-button", { identifier: `${this.identifier}-close-button`, "is-icon": true, variant: "flat", label: this.messages.modal.closeButton, onClick: this.handleClose, ref: (el) => {
|
|
4631
|
+
return (index.h("div", { role: this.dialogRole, id: this.identifier, class: this.classCollection.join(), tabindex: "-1", "aria-labelledby": this.titleId, "aria-modal": "true", "aria-hidden": this.hide }, index.h("mg-card", null, index.h("div", { class: "mg-c-modal__dialog" }, index.h("header", { class: "mg-c-modal__header" }, this.closeButton && (index.h("span", { class: "mg-c-modal__close-button" }, index.h("mg-button", { identifier: `${this.identifier}-close-button`, "is-icon": true, variant: "flat", label: this.messages.modal.closeButton, onClick: this.handleClose, ref: (el) => {
|
|
4714
4632
|
if (el !== null) {
|
|
4715
4633
|
// store closeButton Element
|
|
4716
4634
|
this.closeButtonElement = el;
|
|
4717
4635
|
// add close button element to modalFocusableElements when it is render
|
|
4718
4636
|
this.modalFocusableElements.unshift(this.closeButtonElement);
|
|
4719
4637
|
}
|
|
4720
|
-
} }, index.h("mg-icon", { icon: "cross" })))), index.h("h1", { class: "mg-modal__title", id: this.titleId }, this.modalTitle)), this.hasContent && (index.h("article", { class: "mg-modal__content" }, index.h("slot", { name: "content" }))), this.hasActions && (index.h("footer", { class: "mg-modal__footer" }, index.h("slot", { name: "actions" })))))));
|
|
4638
|
+
} }, index.h("mg-icon", { icon: "cross" })))), index.h("h1", { class: "mg-c-modal__title", id: this.titleId }, this.modalTitle)), this.hasContent && (index.h("article", { class: "mg-c-modal__content" }, index.h("slot", { name: "content" }))), this.hasActions && (index.h("footer", { class: "mg-c-modal__footer" }, index.h("slot", { name: "actions" })))))));
|
|
4721
4639
|
}
|
|
4722
4640
|
get element() { return index.getElement(this); }
|
|
4723
4641
|
static get watchers() { return {
|
|
@@ -4734,7 +4652,7 @@ var NavigationAction;
|
|
|
4734
4652
|
NavigationAction["PREVIOUS"] = "previous";
|
|
4735
4653
|
})(NavigationAction || (NavigationAction = {}));
|
|
4736
4654
|
|
|
4737
|
-
const mgPaginationCss = ".
|
|
4655
|
+
const mgPaginationCss = ".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}}.mg-c-pagination{display:flex;flex-direction:row;align-items:center}.mg-c-pagination mg-input-select{margin-right:.5rem}.mg-c-pagination mg-button{display:flex}.mg-c-pagination mg-button:first-of-type{margin-right:1rem}.mg-c-pagination mg-button:last-of-type{margin-left:1rem}.mg-c-pagination.mg-c-pagination--hide-page-count mg-button{margin:0}";
|
|
4738
4656
|
|
|
4739
4657
|
/**
|
|
4740
4658
|
* Range generator
|
|
@@ -4788,7 +4706,7 @@ const MgPagination = class {
|
|
|
4788
4706
|
this.handleGoToPage = (action, disabled) => {
|
|
4789
4707
|
!disabled && this.goToPage(action === NavigationAction.NEXT ? this.currentPage + 1 : this.currentPage - 1);
|
|
4790
4708
|
};
|
|
4791
|
-
this.identifier = createID('mg-pagination');
|
|
4709
|
+
this.identifier = components_utils.createID('mg-pagination');
|
|
4792
4710
|
this.label = undefined;
|
|
4793
4711
|
this.hideNavigationLabels = undefined;
|
|
4794
4712
|
this.hidePageCount = undefined;
|
|
@@ -4817,7 +4735,7 @@ const MgPagination = class {
|
|
|
4817
4735
|
*/
|
|
4818
4736
|
componentWillLoad() {
|
|
4819
4737
|
// Get locales
|
|
4820
|
-
this.messages =
|
|
4738
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
4821
4739
|
// Validate
|
|
4822
4740
|
this.validateTotalPages(this.totalPages);
|
|
4823
4741
|
this.validateCurrentPage(this.currentPage);
|
|
@@ -4834,7 +4752,7 @@ const MgPagination = class {
|
|
|
4834
4752
|
const navigationActionButton = (disabled, action) => (index.h("mg-button", { identifier: `${this.identifier}-button-${action}`, label: this.messages.pagination[`${action}Page`],
|
|
4835
4753
|
// eslint-disable-next-line react/jsx-no-bind
|
|
4836
4754
|
onClick: () => this.handleGoToPage(action, disabled), disabled: disabled, variant: "flat", isIcon: this.hideNavigationLabels }, action === NavigationAction.PREVIOUS && index.h("mg-icon", { icon: "chevron-left" }), !this.hideNavigationLabels && this.messages.general[action], action === NavigationAction.NEXT && index.h("mg-icon", { icon: "chevron-right" })));
|
|
4837
|
-
return (index.h(index.Host, { hidden: this.totalPages < 2 }, index.h("nav", { "aria-label": this.label, id: this.identifier, class: { 'mg-pagination': true, 'mg-pagination--hide-page-count': this.hidePageCount } }, navigationActionButton(this.currentPage <= 1, NavigationAction.PREVIOUS), !this.hidePageCount && (index.h("mg-input-select", { identifier: `${this.identifier}-select`, items: range(1, this.totalPages).map(page => page.toString()), label: this.messages.pagination.selectPage, "label-hide": true, "on-value-change": this.handleSelect, value: this.currentPage.toString(), "placeholder-hide": true })), index.h("span", { class: "
|
|
4755
|
+
return (index.h(index.Host, { hidden: this.totalPages < 2 }, index.h("nav", { role: "navigation", "aria-label": this.label, id: this.identifier, class: { 'mg-c-pagination': true, 'mg-c-pagination--hide-page-count': this.hidePageCount } }, navigationActionButton(this.currentPage <= 1, NavigationAction.PREVIOUS), !this.hidePageCount && (index.h("mg-input-select", { identifier: `${this.identifier}-select`, items: range(1, this.totalPages).map(page => page.toString()), label: this.messages.pagination.selectPage, "label-hide": true, "on-value-change": this.handleSelect, value: this.currentPage.toString(), "placeholder-hide": true })), index.h("span", { class: "mg-u-visually-hidden" }, this.messages.pagination.page, " ", this.currentPage), index.h("span", { class: { 'mg-u-visually-hidden': this.hidePageCount } }, "/ ", this.totalPages, " ", this.totalPages > 1 ? this.messages.pagination.pages : this.messages.pagination.page), navigationActionButton(this.currentPage >= this.totalPages, NavigationAction.NEXT))));
|
|
4838
4756
|
}
|
|
4839
4757
|
get element() { return index.getElement(this); }
|
|
4840
4758
|
static get watchers() { return {
|
|
@@ -4853,7 +4771,7 @@ const expandToggleDisplays = ['text', 'icon'];
|
|
|
4853
4771
|
*/
|
|
4854
4772
|
const titlePositions = ['left', 'right'];
|
|
4855
4773
|
|
|
4856
|
-
const mgPanelCss = ":host{--mg-card-border:none;--mg-card-padding:0;--mg-card-border-radius:var(--mg-panel-border-radius);--mg-card-background:hsl(var(--mg-panel-background));--mg-card-box-shadow:var(--mg-panel-box-shadow)}.mg-panel__header{display:flex;flex-wrap:wrap;justify-content:space-between;padding:0 1rem 0
|
|
4774
|
+
const mgPanelCss = ":host{--mg-card-border:none;--mg-card-padding:0;--mg-card-border-radius:var(--mg-panel-border-radius);--mg-card-background:hsl(var(--mg-panel-background));--mg-card-box-shadow:var(--mg-panel-box-shadow)}.mg-c-panel__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;padding:0 1rem 0 .3rem}.mg-c-panel__header.mg-c-panel__header--reverse{padding-right:.3rem;padding-left:1rem}.mg-c-panel__header-title,.mg-c-panel__header-content{display:flex;margin:.3rem 0}.mg-c-panel__header-content{min-height:var(--default-size);flex:1 auto;align-items:center;padding-left:.3rem}.mg-c-panel__header-title mg-input-text{flex-grow:1;margin-left:.3rem}.mg-c-panel__header-title mg-button+mg-button:not([slot=append-input]){margin-left:.3rem}.mg-c-panel__header-title.mg-c-panel__header-title--full{flex:1 1 auto}.mg-c-panel__collapse-button-content{--font-size:1.4rem;--mg-button-font-weight:600}.mg-c-panel__collapse-button-icon.mg-c-panel__collapse-button-icon--reverse{transform:rotate(180deg)}.mg-c-panel__content{padding:var(--mg-panel-content-padding)}.mg-c-panel ::slotted([slot=header-right]){display:flex;flex-wrap:wrap;margin-left:auto;gap:1rem}.mg-c-panel ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset;--mg-card-min-width:unset}";
|
|
4857
4775
|
|
|
4858
4776
|
const MgPanel = class {
|
|
4859
4777
|
constructor(hostRef) {
|
|
@@ -4916,7 +4834,7 @@ const MgPanel = class {
|
|
|
4916
4834
|
* Render collapse button
|
|
4917
4835
|
* @returns collpase button
|
|
4918
4836
|
*/
|
|
4919
|
-
this.renderCollapseButton = () => (index.h("mg-button", { onClick: this.handleCollapseButton, variant: "flat", identifier: `${this.identifier}-collapse-button`, "aria-expanded": this.expanded
|
|
4837
|
+
this.renderCollapseButton = () => (index.h("mg-button", { onClick: this.handleCollapseButton, variant: "flat", identifier: `${this.identifier}-collapse-button`, "aria-expanded": this.expanded.toString(), "aria-controls": `${this.identifier}-content`, disabled: this.expandToggleDisabled, isIcon: this.expandToggleDisplay === 'icon', label: this.panelTitle }, index.h("span", { class: "mg-c-panel__collapse-button-content" }, index.h("mg-icon", { icon: "chevron-up", class: { 'mg-c-panel__collapse-button-icon': true, 'mg-c-panel__collapse-button-icon--reverse': !this.expanded } }), !this.isEditing && this.expandToggleDisplay !== 'icon' && this.panelTitle)));
|
|
4920
4838
|
/**
|
|
4921
4839
|
* Render edit button
|
|
4922
4840
|
* @returns edit Button
|
|
@@ -4947,12 +4865,12 @@ const MgPanel = class {
|
|
|
4947
4865
|
*/
|
|
4948
4866
|
this.renderHeaderChildren = () => {
|
|
4949
4867
|
const children = [
|
|
4950
|
-
index.h("div", { class: { 'mg-panel__header-title': true, 'mg-panel__header-title--full': this.isEditing, 'mg-panel__header-title--reverse': this.titlePosition === 'right' }, key: this.panelTitle }, this.renderTitle()),
|
|
4951
|
-
index.h("div", { class: "mg-panel__header-content", key: "slot-header" }, index.h("slot", { name: "header-right" })),
|
|
4868
|
+
index.h("div", { class: { 'mg-c-panel__header-title': true, 'mg-c-panel__header-title--full': this.isEditing, 'mg-c-panel__header-title--reverse': this.titlePosition === 'right' }, key: this.panelTitle }, this.renderTitle()),
|
|
4869
|
+
index.h("div", { class: "mg-c-panel__header-content", key: "slot-header" }, index.h("slot", { name: "header-right" })),
|
|
4952
4870
|
];
|
|
4953
4871
|
return this.titlePosition === 'right' ? children.reverse() : children;
|
|
4954
4872
|
};
|
|
4955
|
-
this.identifier = createID('mg-panel');
|
|
4873
|
+
this.identifier = components_utils.createID('mg-panel');
|
|
4956
4874
|
this.panelTitle = undefined;
|
|
4957
4875
|
this.titlePattern = undefined;
|
|
4958
4876
|
this.titlePatternErrorMessage = undefined;
|
|
@@ -4961,12 +4879,12 @@ const MgPanel = class {
|
|
|
4961
4879
|
this.expanded = false;
|
|
4962
4880
|
this.expandToggleDisplay = expandToggleDisplays[0];
|
|
4963
4881
|
this.expandToggleDisabled = undefined;
|
|
4964
|
-
this.classCollection = new ClassList(['mg-panel']);
|
|
4882
|
+
this.classCollection = new components_utils.ClassList(['mg-c-panel']);
|
|
4965
4883
|
this.isEditing = false;
|
|
4966
4884
|
this.updatedPanelTitle = undefined;
|
|
4967
4885
|
}
|
|
4968
4886
|
validatePanelTitle(newValue) {
|
|
4969
|
-
if (
|
|
4887
|
+
if (!components_utils.isValidString(newValue))
|
|
4970
4888
|
throw new Error('<mg-panel> prop "panelTitle" is required.');
|
|
4971
4889
|
this.titleChange.emit(newValue);
|
|
4972
4890
|
}
|
|
@@ -4995,7 +4913,7 @@ const MgPanel = class {
|
|
|
4995
4913
|
*/
|
|
4996
4914
|
componentWillLoad() {
|
|
4997
4915
|
// Get locales
|
|
4998
|
-
this.messages =
|
|
4916
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
4999
4917
|
// Validate
|
|
5000
4918
|
this.validateTitlePattern(this.titlePattern);
|
|
5001
4919
|
this.validateTitlePattern(this.titlePatternErrorMessage);
|
|
@@ -5017,7 +4935,7 @@ const MgPanel = class {
|
|
|
5017
4935
|
*/
|
|
5018
4936
|
render() {
|
|
5019
4937
|
const headerId = `${this.identifier}-header`;
|
|
5020
|
-
return (index.h("section", { class: this.classCollection.join(), id: this.identifier }, index.h("mg-card", null, index.h("header", { class: { 'mg-panel__header': true, 'mg-panel__header--reverse': this.titlePosition === 'right' }, id: headerId }, this.renderHeaderChildren()), index.h("article", { class: "mg-panel__content", id: `${this.identifier}-content`, "aria-labelledby": headerId, hidden: !this.expanded }, index.h("slot", null)))));
|
|
4938
|
+
return (index.h("section", { class: this.classCollection.join(), id: this.identifier }, index.h("mg-card", null, index.h("header", { class: { 'mg-c-panel__header': true, 'mg-c-panel__header--reverse': this.titlePosition === 'right' }, id: headerId }, this.renderHeaderChildren()), index.h("article", { class: "mg-c-panel__content", id: `${this.identifier}-content`, "aria-labelledby": headerId, hidden: !this.expanded }, index.h("slot", null)))));
|
|
5021
4939
|
}
|
|
5022
4940
|
get element() { return index.getElement(this); }
|
|
5023
4941
|
static get watchers() { return {
|
|
@@ -6905,7 +6823,7 @@ const MgPopover = class {
|
|
|
6905
6823
|
mgPopoverContent.setAttribute('id', this.identifier);
|
|
6906
6824
|
}
|
|
6907
6825
|
};
|
|
6908
|
-
this.identifier = createID('mg-popover');
|
|
6826
|
+
this.identifier = components_utils.createID('mg-popover');
|
|
6909
6827
|
this.placement = 'bottom';
|
|
6910
6828
|
this.arrowHide = false;
|
|
6911
6829
|
this.closeButton = false;
|
|
@@ -6948,7 +6866,7 @@ const MgPopover = class {
|
|
|
6948
6866
|
*/
|
|
6949
6867
|
componentWillLoad() {
|
|
6950
6868
|
// Get windows to attach events
|
|
6951
|
-
this.windows = getWindows(window);
|
|
6869
|
+
this.windows = components_utils.getWindows(window);
|
|
6952
6870
|
// render mg-popover-content slot
|
|
6953
6871
|
this.renderPopoverContent();
|
|
6954
6872
|
this.validateCloseButton(this.closeButton);
|
|
@@ -7020,7 +6938,7 @@ const MgPopover = class {
|
|
|
7020
6938
|
};
|
|
7021
6939
|
MgPopover.style = mgPopoverCss;
|
|
7022
6940
|
|
|
7023
|
-
const mgPopoverContentCss = ":host{display:none;padding:1rem;
|
|
6941
|
+
const mgPopoverContentCss = ":host{position:relative;z-index:2000;display:none;padding:1rem;color:hsl(var(--mg-popover-font-color))}:host([data-show]){display:block}:host([data-popper-placement^=left-start]),:host([data-popper-placement^=left-end]),:host([data-popper-placement^=right-start]),:host([data-popper-placement^=right-end]){padding:0 1rem}.mg-c-popover-content{--mg-card-max-width:var(--mg-popover-max-width);--mg-card-min-width:var(--mg-popover-min-width)}.mg-c-popover-content mg-button{margin-top:calc(0rem - (var(--default-size) - var(--mg-popover-title-font-size)*var(--line-height))/2);margin-right:calc(0rem - (var(--default-size) - var(--mg-icon-regular-size))/2);margin-left:3rem;float:right}.mg-c-popover-content__title ::slotted([slot=title]){margin:0 0 1rem !important;font-size:var(--mg-popover-title-font-size) !important;font-weight:600 !important}.mg-c-popover-content ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset;--mg-card-min-width:unset}:host([data-popper-placement^=top][data-arrow-hide]){padding-bottom:0}:host([data-popper-placement^=bottom][data-arrow-hide]){padding-top:0}:host([data-popper-placement$=end][data-arrow-hide]),:host([data-popper-placement^=left][data-arrow-hide]){padding-right:0}:host([data-popper-placement$=start][data-arrow-hide]),:host([data-popper-placement^=right][data-arrow-hide]){padding-left:0}::slotted([slot=arrow]){position:absolute;width:calc(3rem + 2*var(--mg-card-border-radius) + 2rem);height:calc(3rem + 2*var(--mg-card-border-radius) + 2rem);visibility:hidden}::slotted([slot=arrow])::before{position:absolute;content:\"\";visibility:visible}:host([data-arrow-hide]) ::slotted([slot=arrow]){display:none}:host([data-popper-placement^=top]) ::slotted([slot=arrow]),:host([data-popper-placement^=bottom]) ::slotted([slot=arrow]){height:1rem}:host([data-popper-placement^=top]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=bottom]) ::slotted([slot=arrow])::before{left:calc(var(--mg-card-border-radius) + 1rem);border-right:calc(3rem / 2) solid rgba(0,0,0,0);border-left:calc(3rem / 2) solid rgba(0,0,0,0)}:host([data-popper-placement^=top]) ::slotted([slot=arrow]){bottom:.1rem;filter:drop-shadow(0 0.5rem 0.25rem hsl(var(--color-dark)/15%))}:host([data-popper-placement^=top]) ::slotted([slot=arrow])::before{border-top:1rem solid hsl(var(--mg-popover-background-color))}:host([data-popper-placement^=bottom]) ::slotted([slot=arrow]){top:.1rem;filter:drop-shadow(0 -0.5rem 0.25rem hsl(var(--color-dark)/15%))}:host([data-popper-placement^=bottom]) ::slotted([slot=arrow])::before{border-bottom:1rem solid hsl(var(--mg-popover-background-color))}:host([data-popper-placement^=left]) ::slotted([slot=arrow]),:host([data-popper-placement^=right]) ::slotted([slot=arrow]){width:1rem}:host([data-popper-placement^=left]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right]) ::slotted([slot=arrow])::before{top:calc(var(--mg-card-border-radius) + 1rem);border-top:calc(3rem / 2) solid rgba(0,0,0,0);border-bottom:calc(3rem / 2) solid rgba(0,0,0,0)}:host([data-popper-placement^=left]) ::slotted([slot=arrow]){right:.1rem;filter:drop-shadow(0.5rem 0 0.25rem hsl(var(--color-dark)/15%))}:host([data-popper-placement^=left]) ::slotted([slot=arrow])::before{border-left:1rem solid hsl(var(--mg-popover-background-color))}:host([data-popper-placement^=right]) ::slotted([slot=arrow]){left:.1rem;filter:drop-shadow(-0.5rem 0 0.25rem hsl(var(--color-dark)/15%))}:host([data-popper-placement^=right]) ::slotted([slot=arrow])::before{border-right:1rem solid hsl(var(--mg-popover-background-color))}:host([data-popper-placement^=left-start]) ::slotted([slot=arrow]),:host([data-popper-placement^=left-end]) ::slotted([slot=arrow]),:host([data-popper-placement^=right-start]) ::slotted([slot=arrow]),:host([data-popper-placement^=right-end]) ::slotted([slot=arrow]){height:calc(3rem + 2*var(--mg-card-border-radius))}:host([data-popper-placement^=left-start]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=left-end]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right-start]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right-end]) ::slotted([slot=arrow])::before{top:var(--mg-card-border-radius)}";
|
|
7024
6942
|
|
|
7025
6943
|
const MgPopoverContent = class {
|
|
7026
6944
|
constructor(hostRef) {
|
|
@@ -7033,7 +6951,7 @@ const MgPopoverContent = class {
|
|
|
7033
6951
|
this.hideContent.emit();
|
|
7034
6952
|
};
|
|
7035
6953
|
this.closeButton = false;
|
|
7036
|
-
this.classCollection = new ClassList(['mg-popover-content']);
|
|
6954
|
+
this.classCollection = new components_utils.ClassList(['mg-c-popover-content']);
|
|
7037
6955
|
}
|
|
7038
6956
|
/*************
|
|
7039
6957
|
* Lifecycle *
|
|
@@ -7043,7 +6961,7 @@ const MgPopoverContent = class {
|
|
|
7043
6961
|
*/
|
|
7044
6962
|
componentWillLoad() {
|
|
7045
6963
|
// Get locales
|
|
7046
|
-
this.messages =
|
|
6964
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
7047
6965
|
}
|
|
7048
6966
|
/**
|
|
7049
6967
|
* Check if component slots are valide
|
|
@@ -7051,7 +6969,7 @@ const MgPopoverContent = class {
|
|
|
7051
6969
|
componentDidLoad() {
|
|
7052
6970
|
const headingTags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
|
|
7053
6971
|
const slottedTitleElement = this.element.querySelector('[slot="title"]');
|
|
7054
|
-
if (slottedTitleElement && !isTagName(slottedTitleElement, headingTags)) {
|
|
6972
|
+
if (slottedTitleElement && !components_utils.isTagName(slottedTitleElement, headingTags)) {
|
|
7055
6973
|
throw new Error(`<mg-popover> Slotted title must be a heading: ${headingTags.join(', ')}`);
|
|
7056
6974
|
}
|
|
7057
6975
|
}
|
|
@@ -7060,13 +6978,13 @@ const MgPopoverContent = class {
|
|
|
7060
6978
|
* @returns HTML Element
|
|
7061
6979
|
*/
|
|
7062
6980
|
render() {
|
|
7063
|
-
return (index.h(index.Host, null, index.h("mg-card", { class: this.classCollection.join() }, this.closeButton && (index.h("mg-button", { "is-icon": true, variant: "flat", label: this.messages.general.close, onClick: this.handleCloseButton }, index.h("mg-icon", { icon: "cross" }))), index.h("div", { class: "mg-popover-content__title" }, index.h("slot", { name: "title" })), index.h("slot", { name: "content" })), index.h("slot", { name: "arrow" })));
|
|
6981
|
+
return (index.h(index.Host, null, index.h("mg-card", { class: this.classCollection.join() }, this.closeButton && (index.h("mg-button", { "is-icon": true, variant: "flat", label: this.messages.general.close, onClick: this.handleCloseButton }, index.h("mg-icon", { icon: "cross" }))), index.h("div", { class: "mg-c-popover-content__title" }, index.h("slot", { name: "title" })), index.h("slot", { name: "content" })), index.h("slot", { name: "arrow" })));
|
|
7064
6982
|
}
|
|
7065
6983
|
get element() { return index.getElement(this); }
|
|
7066
6984
|
};
|
|
7067
6985
|
MgPopoverContent.style = mgPopoverContentCss;
|
|
7068
6986
|
|
|
7069
|
-
const mgSkipLinksCss = ".mg-skip-links{position:absolute;
|
|
6987
|
+
const mgSkipLinksCss = ".mg-c-skip-links{position:absolute;background:hsl(var(--color-light));opacity:0;transform:translateY(-100%)}.mg-c-skip-links:focus-within{position:relative;opacity:1;transform:translateY(0)}.mg-c-skip-links__list{display:flex;flex-wrap:wrap;align-items:center;padding:.64rem 1.8rem;margin:0;gap:.6rem;list-style:none}.mg-c-skip-links__link{display:inline-block;padding:1.2rem;color:hsl(var(--color-dark))}.mg-c-skip-links__link:hover{background:hsl(var(--color-dark)/10%)}";
|
|
7070
6988
|
|
|
7071
6989
|
const MgSkipLinks = class {
|
|
7072
6990
|
constructor(hostRef) {
|
|
@@ -7086,9 +7004,7 @@ const MgSkipLinks = class {
|
|
|
7086
7004
|
this.links = undefined;
|
|
7087
7005
|
}
|
|
7088
7006
|
validateLinks(links) {
|
|
7089
|
-
if (links === undefined ||
|
|
7090
|
-
links.length === 0 ||
|
|
7091
|
-
links.some(link => link.href === undefined || !link.href.startsWith('#') || link.label === undefined || link.label.trim() === '')) {
|
|
7007
|
+
if (links === undefined || links.length === 0 || links.some(link => !components_utils.isValidString(link.href) || !link.href.startsWith('#') || !components_utils.isValidString(link.label))) {
|
|
7092
7008
|
throw new Error(`<mg-skip-links> prop "links": Cannot be empty and each link must contains an href starting with a "#" and a non empty label attributes.`);
|
|
7093
7009
|
}
|
|
7094
7010
|
}
|
|
@@ -7100,14 +7016,14 @@ const MgSkipLinks = class {
|
|
|
7100
7016
|
*/
|
|
7101
7017
|
componentWillLoad() {
|
|
7102
7018
|
this.validateLinks(this.links);
|
|
7103
|
-
this.messages =
|
|
7019
|
+
this.messages = components_utils.initLocales(this.element).messages;
|
|
7104
7020
|
}
|
|
7105
7021
|
/**
|
|
7106
7022
|
* Render
|
|
7107
7023
|
* @returns HTML Element
|
|
7108
7024
|
*/
|
|
7109
7025
|
render() {
|
|
7110
|
-
return (index.h("nav", { class: "mg-skip-links", role: "navigation", "aria-label": this.messages.skipLinks.navLabel }, index.h("ul", { class: "mg-skip-links__list", role: "list" }, this.links.map(link => (index.h("li", { key: link.href }, index.h("a", { class: "mg-skip-links__link", href: link.href, onClick: this.handleLinkCLick }, link.label)))))));
|
|
7026
|
+
return (index.h("nav", { class: "mg-c-skip-links", role: "navigation", "aria-label": this.messages.skipLinks.navLabel }, index.h("ul", { class: "mg-c-skip-links__list", role: "list" }, this.links.map(link => (index.h("li", { key: link.href }, index.h("a", { class: "mg-c-skip-links__link", href: link.href, onClick: this.handleLinkCLick }, link.label)))))));
|
|
7111
7027
|
}
|
|
7112
7028
|
get element() { return index.getElement(this); }
|
|
7113
7029
|
static get watchers() { return {
|
|
@@ -7131,7 +7047,7 @@ var Status;
|
|
|
7131
7047
|
*/
|
|
7132
7048
|
const sizes = ['regular', 'large'];
|
|
7133
7049
|
|
|
7134
|
-
const mgTabsCss = ".mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular{padding:1rem 2rem}.mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button,.mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button ::slotted([slot=label]),.mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button ::slotted([slot=metadata]),.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular ::slotted([slot=label]),.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular ::slotted([slot=metadata]){font-size:var(--font-size)}.mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button.mg-tabs__navigation-button--horizontal,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular.mg-tabs__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button.mg-tabs__navigation-button--vertical,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular.mg-tabs__navigation-button--vertical{padding-left:calc(2rem - 0.3rem)}.mg-tabs.mg-tabs--size-large .mg-tabs__navigation-button,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-large{padding:1.5rem 3rem}.mg-tabs.mg-tabs--size-large .mg-tabs__navigation-button,.mg-tabs.mg-tabs--size-large .mg-tabs__navigation-button ::slotted([slot=label]),.mg-tabs.mg-tabs--size-large .mg-tabs__navigation-button ::slotted([slot=metadata]),.mg-tabs__navigation-button.mg-tabs__navigation-button--size-large,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-large ::slotted([slot=label]),.mg-tabs__navigation-button.mg-tabs__navigation-button--size-large ::slotted([slot=metadata]){font-size:calc(var(--font-size) +
|
|
7050
|
+
const mgTabsCss = ".mg-c-tabs.mg-c-tabs--size-regular .mg-c-tabs__navigation-button,.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-regular{padding:1rem 2rem}.mg-c-tabs.mg-c-tabs--size-regular .mg-c-tabs__navigation-button,.mg-c-tabs.mg-c-tabs--size-regular .mg-c-tabs__navigation-button ::slotted([slot=label]),.mg-c-tabs.mg-c-tabs--size-regular .mg-c-tabs__navigation-button ::slotted([slot=metadata]),.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-regular,.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-regular ::slotted([slot=label]),.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-regular ::slotted([slot=metadata]){font-size:var(--font-size)}.mg-c-tabs.mg-c-tabs--size-regular .mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--horizontal,.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-regular.mg-c-tabs__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-c-tabs.mg-c-tabs--size-regular .mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--vertical,.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-regular.mg-c-tabs__navigation-button--vertical{padding-left:calc(2rem - 0.3rem)}.mg-c-tabs.mg-c-tabs--size-large .mg-c-tabs__navigation-button,.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-large{padding:1.5rem 3rem}.mg-c-tabs.mg-c-tabs--size-large .mg-c-tabs__navigation-button,.mg-c-tabs.mg-c-tabs--size-large .mg-c-tabs__navigation-button ::slotted([slot=label]),.mg-c-tabs.mg-c-tabs--size-large .mg-c-tabs__navigation-button ::slotted([slot=metadata]),.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-large,.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-large ::slotted([slot=label]),.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-large ::slotted([slot=metadata]){font-size:calc(var(--font-size) + .2rem)}.mg-c-tabs.mg-c-tabs--size-large .mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--horizontal,.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-large.mg-c-tabs__navigation-button--horizontal{padding-bottom:calc(1.5rem - 0.3rem)}.mg-c-tabs.mg-c-tabs--size-large .mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--vertical,.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--size-large.mg-c-tabs__navigation-button--vertical{padding-left:calc(3rem - 0.3rem)}.mg-c-tabs__navigation-button{display:flex;box-sizing:border-box;align-items:center;border:none;background-color:unset;color:hsl(var(--mg-tabs-color-hsl, var(--color-dark)));column-gap:var(--mg-tabs-navigation-button-column-gap, 1rem);cursor:pointer;font-family:var(--font-family);font-weight:400;line-height:var(--line-height);text-decoration:none;white-space:nowrap}.mg-c-tabs__navigation-button:disabled,.mg-c-tabs__navigation-button--disabled{cursor:default;opacity:var(--mg-disabled-opacity)}.mg-c-tabs__navigation-button:focus-visible{z-index:10}.mg-c-tabs__navigation-button:hover:not(.mg-c-tabs__navigation-button--disabled),.mg-c-tabs__navigation-button:focus-visible:not(.mg-c-tabs__navigation-button--disabled){background-color:hsl(var(--mg-tabs-focused-background-color-hsl)/10%)}.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--active{color:hsl(var(--mg-tabs-color-active-hsl));font-weight:600}.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--active.mg-c-tabs__navigation-button--horizontal{border-bottom-color:hsl(var(--mg-tabs-border-color-active-hsl))}.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--active.mg-c-tabs__navigation-button--vertical{border-left-color:hsl(var(--mg-tabs-border-color-active-hsl))}.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--hidden{display:none}.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--horizontal{border-bottom:.3rem solid rgba(0,0,0,0)}.mg-c-tabs__navigation-button.mg-c-tabs__navigation-button--vertical{border-left:.3rem solid rgba(0,0,0,0)}.mg-c-tabs__header{display:flex;flex-flow:row wrap;border-bottom:var(--mg-tabs-border-bottom)}.mg-c-tabs__content-container:focus-visible{outline:none}.mg-c-tabs__navigation-button-text{flex:0 0 content}";
|
|
7135
7051
|
|
|
7136
7052
|
/**
|
|
7137
7053
|
* type TabItem validation function
|
|
@@ -7148,8 +7064,14 @@ const MgTabs = class {
|
|
|
7148
7064
|
************/
|
|
7149
7065
|
// classes
|
|
7150
7066
|
this.tabPanel = 'panel';
|
|
7151
|
-
this.buttonTabBaseClass = 'mg-tabs__navigation-button';
|
|
7067
|
+
this.buttonTabBaseClass = 'mg-c-tabs__navigation-button';
|
|
7152
7068
|
this.startIndex = 1;
|
|
7069
|
+
/**
|
|
7070
|
+
* Validate that new tab status can be `Status.ACTIVE`
|
|
7071
|
+
* @param tab - tab item
|
|
7072
|
+
* @returns true when tab match condition to get a `Status.ACTIVE`
|
|
7073
|
+
*/
|
|
7074
|
+
this.isActivableTab = (tab) => [undefined, Status.ACTIVE, Status.VISIBLE].includes(tab.status);
|
|
7153
7075
|
/**
|
|
7154
7076
|
* Method to know if given tab has the given status
|
|
7155
7077
|
* @param tab - item tab key to set to ACTIVE status
|
|
@@ -7170,19 +7092,13 @@ const MgTabs = class {
|
|
|
7170
7092
|
* @returns index
|
|
7171
7093
|
*/
|
|
7172
7094
|
this.getTabItemIndex = (index) => index + this.startIndex;
|
|
7173
|
-
/**
|
|
7174
|
-
* Method to get the active-tab value
|
|
7175
|
-
* @returns of the active-tab
|
|
7176
|
-
*/
|
|
7177
|
-
this.getActiveTab = () => this.activeTab || this.getTabItemIndex(this.tabs.map((tab, index) => (Object.assign(Object.assign({}, tab), { index }))).find(tab => this.tabHasStatus(tab, Status.ACTIVE)).index);
|
|
7178
7095
|
/**
|
|
7179
7096
|
* Handle click events on tabs
|
|
7180
7097
|
* @param event - mouse event
|
|
7181
7098
|
*/
|
|
7182
7099
|
this.handleClick = (event) => {
|
|
7183
7100
|
const tabId = event.currentTarget.dataset.index;
|
|
7184
|
-
|
|
7185
|
-
if (this.tabHasStatus(tab, Status.HIDDEN) || this.tabHasStatus(tab, Status.DISABLED)) {
|
|
7101
|
+
if (!this.isActivableTab(this.tabs[Number(tabId) - this.startIndex])) {
|
|
7186
7102
|
event.preventDefault();
|
|
7187
7103
|
}
|
|
7188
7104
|
else {
|
|
@@ -7242,7 +7158,7 @@ const MgTabs = class {
|
|
|
7242
7158
|
setTimeout(() => {
|
|
7243
7159
|
this.tabFocus = undefined;
|
|
7244
7160
|
Array.from(this.element.shadowRoot.querySelectorAll('[data-index]')).forEach((tab, index) => {
|
|
7245
|
-
tab.setAttribute('tabindex', this.
|
|
7161
|
+
tab.setAttribute('tabindex', this.activeTab - this.startIndex !== index ? '-1' : '0');
|
|
7246
7162
|
});
|
|
7247
7163
|
}, 0);
|
|
7248
7164
|
};
|
|
@@ -7254,16 +7170,16 @@ const MgTabs = class {
|
|
|
7254
7170
|
if (slots.length !== this.tabs.length)
|
|
7255
7171
|
throw new Error('<mg-tabs> Must have slots counts equal to tabs count.');
|
|
7256
7172
|
};
|
|
7257
|
-
this.identifier = createID('mg-tabs');
|
|
7173
|
+
this.identifier = components_utils.createID('mg-tabs');
|
|
7258
7174
|
this.label = undefined;
|
|
7259
7175
|
this.size = 'regular';
|
|
7260
7176
|
this.items = undefined;
|
|
7261
7177
|
this.activeTab = undefined;
|
|
7262
7178
|
this.tabs = [];
|
|
7263
|
-
this.classCollection = new ClassList(['mg-tabs']);
|
|
7179
|
+
this.classCollection = new components_utils.ClassList(['mg-c-tabs']);
|
|
7264
7180
|
}
|
|
7265
7181
|
validateLabel(newValue) {
|
|
7266
|
-
if (
|
|
7182
|
+
if (!components_utils.isValidString(newValue)) {
|
|
7267
7183
|
throw new Error('<mg-tabs> prop "label" is required.');
|
|
7268
7184
|
}
|
|
7269
7185
|
}
|
|
@@ -7271,42 +7187,42 @@ const MgTabs = class {
|
|
|
7271
7187
|
if (!sizes.includes(newValue)) {
|
|
7272
7188
|
throw new Error(`<mg-tabs> prop "size" must be one of: ${sizes.join(', ')}`);
|
|
7273
7189
|
}
|
|
7274
|
-
this.classCollection.add(`mg-tabs--size-${this.size}`);
|
|
7190
|
+
this.classCollection.add(`mg-c-tabs--size-${this.size}`);
|
|
7275
7191
|
}
|
|
7276
7192
|
validateItems(newValue) {
|
|
7277
7193
|
// String array
|
|
7278
|
-
if (allItemsAreString(newValue))
|
|
7279
|
-
this.tabs = newValue.map(
|
|
7280
|
-
}
|
|
7194
|
+
if (components_utils.allItemsAreString(newValue))
|
|
7195
|
+
this.tabs = newValue.map(item => ({ label: item, status: Status.VISIBLE }));
|
|
7281
7196
|
// Object array
|
|
7282
|
-
else if (newValue && newValue.length > 0 && newValue.every(
|
|
7197
|
+
else if (Array.isArray(newValue) && newValue.length > 0 && newValue.every(isTabItem))
|
|
7283
7198
|
this.tabs = newValue;
|
|
7284
|
-
|
|
7285
|
-
if (this.tabs.find(tab => this.tabHasStatus(tab, Status.ACTIVE)) === undefined)
|
|
7286
|
-
this.tabs[0].status = Status.ACTIVE;
|
|
7287
|
-
}
|
|
7288
|
-
else {
|
|
7199
|
+
else
|
|
7289
7200
|
throw new Error('<mg-tabs> prop "items" is required and all items must be the same type: TabItem.');
|
|
7290
|
-
}
|
|
7291
7201
|
}
|
|
7292
7202
|
validateActiveTab(newValue) {
|
|
7293
|
-
|
|
7203
|
+
// when `active-tab` is undefined we set default value by searching an item with `Status.ACTIVE` or we use the `startIndex` has fallback value
|
|
7204
|
+
// after setting new value to `active-tab` the validate will be triggered again with the updated value and process the tab update
|
|
7205
|
+
if (newValue === undefined) {
|
|
7206
|
+
this.activeTab = this.tabs.some(tab => this.tabHasStatus(tab, Status.ACTIVE))
|
|
7207
|
+
? this.getTabItemIndex(this.tabs.findIndex(tab => this.tabHasStatus(tab, Status.ACTIVE)))
|
|
7208
|
+
: this.startIndex;
|
|
7209
|
+
}
|
|
7210
|
+
else if (typeof newValue === 'number' && newValue >= this.startIndex && newValue <= this.tabs.length && this.isActivableTab(this.tabs[newValue - this.startIndex])) {
|
|
7211
|
+
// if new 'active-tab' is activable we update tab status to ACTIVE and toggle past ACTIVE to VISIBLE
|
|
7294
7212
|
this.tabs.forEach((tab, index) => {
|
|
7295
7213
|
const isNewActiveTab = index === newValue - this.startIndex;
|
|
7296
7214
|
// reset active tabs
|
|
7297
7215
|
if (this.tabHasStatus(tab, Status.ACTIVE) && !isNewActiveTab)
|
|
7298
7216
|
tab.status = Status.VISIBLE;
|
|
7299
7217
|
// set active tab from given tab key
|
|
7300
|
-
else if (
|
|
7218
|
+
else if (this.isActivableTab(tab) && isNewActiveTab)
|
|
7301
7219
|
tab.status = Status.ACTIVE;
|
|
7302
7220
|
});
|
|
7303
7221
|
// emit change active tab key event
|
|
7304
|
-
|
|
7305
|
-
this.activeTabChange.emit(newValue);
|
|
7306
|
-
}
|
|
7222
|
+
this.activeTabChange.emit(newValue);
|
|
7307
7223
|
}
|
|
7308
|
-
else
|
|
7309
|
-
throw new Error(
|
|
7224
|
+
else {
|
|
7225
|
+
throw new Error(`<mg-tabs> prop "activeTab" must be a number between ${this.startIndex} and ${this.tabs.length} and new value must be "activable".`);
|
|
7310
7226
|
}
|
|
7311
7227
|
}
|
|
7312
7228
|
/*************
|
|
@@ -7337,13 +7253,13 @@ const MgTabs = class {
|
|
|
7337
7253
|
* @returns HTML Element
|
|
7338
7254
|
*/
|
|
7339
7255
|
render() {
|
|
7340
|
-
return (index.h("div", { class: this.classCollection.join() }, index.h("header", { role: "tablist", "aria-label": this.label, class: "mg-tabs__header" }, this.tabs.map((tab, index$1) => (index.h("button", { key: tab.label, role: "tab", id: this.getElementId(this.identifier, index$1), class: {
|
|
7256
|
+
return (index.h("div", { class: this.classCollection.join() }, index.h("header", { role: "tablist", "aria-label": this.label, class: "mg-c-tabs__header" }, this.tabs.map((tab, index$1) => (index.h("button", { key: tab.label, role: "tab", id: this.getElementId(this.identifier, index$1), class: {
|
|
7341
7257
|
[`${this.buttonTabBaseClass}`]: true,
|
|
7342
7258
|
[`${this.buttonTabBaseClass}--horizontal`]: true,
|
|
7343
7259
|
[`${this.getNavigationButtonClass(Status.ACTIVE)}`]: this.tabHasStatus(tab, Status.ACTIVE),
|
|
7344
7260
|
[`${this.getNavigationButtonClass(Status.DISABLED)}`]: this.tabHasStatus(tab, Status.DISABLED),
|
|
7345
7261
|
[`${this.getNavigationButtonClass(Status.HIDDEN)}`]: this.tabHasStatus(tab, Status.HIDDEN),
|
|
7346
|
-
}, tabindex: this.tabHasStatus(tab, Status.ACTIVE) ? 0 : -1, "aria-selected": this.tabHasStatus(tab, Status.ACTIVE).toString(), "aria-controls": this.getElementId(this.tabPanel, index$1), "aria-disabled": this.tabHasStatus(tab, Status.DISABLED), onClick: this.handleClick, onKeyDown: this.handleKeydown, "data-index": this.getTabItemIndex(index$1) }, tab.icon !== undefined && index.h("mg-icon", { icon: tab.icon }), tab.label, tab.badge !== undefined && index.h("mg-badge", { variant: "text-color", value: tab.badge.value, label: tab.badge.label, outline: tab.badge.role === 'information' }))))), this.tabs.map((tab, index$1) => (index.h("article", { key: tab.label, role: "tabpanel", id: this.getElementId(this.tabPanel, index$1), hidden: !this.tabHasStatus(tab, Status.ACTIVE), "aria-labelledby": this.getElementId(this.identifier, index$1), tabindex: this.tabHasStatus(tab, Status.ACTIVE) ? 0 : -1, class: "mg-tabs__content-container" }, index.h("slot", { name: this.getElementId('tab_content', index$1) }))))));
|
|
7262
|
+
}, tabindex: this.tabHasStatus(tab, Status.ACTIVE) ? 0 : -1, "aria-selected": this.tabHasStatus(tab, Status.ACTIVE).toString(), "aria-controls": this.getElementId(this.tabPanel, index$1), "aria-disabled": this.tabHasStatus(tab, Status.DISABLED), onClick: this.handleClick, onKeyDown: this.handleKeydown, "data-index": this.getTabItemIndex(index$1) }, tab.icon !== undefined && index.h("mg-icon", { icon: tab.icon }), tab.label, tab.badge !== undefined && index.h("mg-badge", { variant: "text-color", value: tab.badge.value, label: tab.badge.label, outline: tab.badge.role === 'information' }))))), this.tabs.map((tab, index$1) => (index.h("article", { key: tab.label, role: "tabpanel", id: this.getElementId(this.tabPanel, index$1), hidden: !this.tabHasStatus(tab, Status.ACTIVE), "aria-labelledby": this.getElementId(this.identifier, index$1), tabindex: this.tabHasStatus(tab, Status.ACTIVE) ? 0 : -1, class: "mg-c-tabs__content-container" }, index.h("slot", { name: this.getElementId('tab_content', index$1) }))))));
|
|
7347
7263
|
}
|
|
7348
7264
|
get element() { return index.getElement(this); }
|
|
7349
7265
|
static get watchers() { return {
|
|
@@ -7360,7 +7276,7 @@ MgTabs.style = mgTabsCss;
|
|
|
7360
7276
|
*/
|
|
7361
7277
|
const variants = ['primary', 'secondary', 'success', 'warning', 'danger', 'info'];
|
|
7362
7278
|
|
|
7363
|
-
const mgTagCss = ".mg-tag{padding:calc((var(--mg-tag-height) -
|
|
7279
|
+
const mgTagCss = ":host{display:inline-block}.mg-c-tag{display:inline-flex;min-height:var(--mg-tag-height);box-sizing:border-box;align-items:center;padding:calc((var(--mg-tag-height) - .2rem - var(--mg-tag-font-size)*var(--line-height))/2) .6rem;border:.1rem solid;border-radius:var(--mg-tag-border-radius);font-size:var(--mg-tag-font-size);font-weight:600;text-align:center;vertical-align:middle}.mg-c-tag.mg-c-tag--primary{border-color:hsl(var(--color-dark));background-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--primary.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--primary.mg-c-tag--soft{border-color:hsl(var(--color-dark-h), var(--color-dark-s), var(--mg-color-soft-l));background-color:hsl(var(--color-dark-h), var(--color-dark-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--primary.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--secondary{border-color:hsl(var(--color-light));background-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--soft{border-color:hsl(var(--color-light-h), var(--color-light-s), var(--mg-color-soft-l));background-color:hsl(var(--color-light-h), var(--color-light-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--success{border-color:hsl(var(--color-success));background-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--success.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-success))}.mg-c-tag.mg-c-tag--success.mg-c-tag--soft{border-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l));background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--success.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-success))}.mg-c-tag.mg-c-tag--warning{border-color:hsl(var(--color-warning));background-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--warning.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-warning))}.mg-c-tag.mg-c-tag--warning.mg-c-tag--soft{border-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l));background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--warning.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-warning))}.mg-c-tag.mg-c-tag--danger{border-color:hsl(var(--color-danger));background-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--danger.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-danger))}.mg-c-tag.mg-c-tag--danger.mg-c-tag--soft{border-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l));background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--danger.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-danger))}.mg-c-tag.mg-c-tag--info{border-color:hsl(var(--color-info));background-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--info.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-info))}.mg-c-tag.mg-c-tag--info.mg-c-tag--soft{border-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l));background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--info.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-info))}::slotted(mg-icon){margin-right:.4rem}slot{display:inline-flex;align-items:center}";
|
|
7364
7280
|
|
|
7365
7281
|
const MgTag = class {
|
|
7366
7282
|
constructor(hostRef) {
|
|
@@ -7369,12 +7285,12 @@ const MgTag = class {
|
|
|
7369
7285
|
* Internal *
|
|
7370
7286
|
************/
|
|
7371
7287
|
// Classes
|
|
7372
|
-
this.classOutline = 'mg-tag--outline';
|
|
7373
|
-
this.classSoft = 'mg-tag--soft';
|
|
7288
|
+
this.classOutline = 'mg-c-tag--outline';
|
|
7289
|
+
this.classSoft = 'mg-c-tag--soft';
|
|
7374
7290
|
this.variant = variants[0];
|
|
7375
7291
|
this.outline = undefined;
|
|
7376
7292
|
this.soft = undefined;
|
|
7377
|
-
this.classCollection = new ClassList(['mg-tag']);
|
|
7293
|
+
this.classCollection = new components_utils.ClassList(['mg-c-tag']);
|
|
7378
7294
|
}
|
|
7379
7295
|
validateVariant(newValue, oldValue) {
|
|
7380
7296
|
if (!variants.includes(newValue)) {
|
|
@@ -7382,9 +7298,9 @@ const MgTag = class {
|
|
|
7382
7298
|
}
|
|
7383
7299
|
else {
|
|
7384
7300
|
if (oldValue !== undefined) {
|
|
7385
|
-
this.classCollection.delete(`mg-tag--${oldValue}`);
|
|
7301
|
+
this.classCollection.delete(`mg-c-tag--${oldValue}`);
|
|
7386
7302
|
}
|
|
7387
|
-
this.classCollection.add(`mg-tag--${newValue}`);
|
|
7303
|
+
this.classCollection.add(`mg-c-tag--${newValue}`);
|
|
7388
7304
|
}
|
|
7389
7305
|
}
|
|
7390
7306
|
validateOutline(newValue) {
|
|
@@ -7411,7 +7327,7 @@ const MgTag = class {
|
|
|
7411
7327
|
* @param textContent - html element textContent property
|
|
7412
7328
|
*/
|
|
7413
7329
|
validateTextContent(textContent) {
|
|
7414
|
-
if (
|
|
7330
|
+
if (!components_utils.isValidString(textContent))
|
|
7415
7331
|
throw new Error('<mg-tag> slot must contain a text content.');
|
|
7416
7332
|
}
|
|
7417
7333
|
/*************
|
|
@@ -7552,12 +7468,12 @@ const MgTooltip = class {
|
|
|
7552
7468
|
this.setMgButtonWrapper = (mgButton) => {
|
|
7553
7469
|
if (mgButton.disabled) {
|
|
7554
7470
|
const div = document.createElement('div');
|
|
7555
|
-
div.classList.add('mg-tooltip__mg-button-wrapper');
|
|
7471
|
+
div.classList.add('mg-c-tooltip__mg-button-wrapper');
|
|
7556
7472
|
mgButton.parentNode.insertBefore(div, mgButton);
|
|
7557
7473
|
div.appendChild(mgButton);
|
|
7558
7474
|
this.tooltipedElement = div;
|
|
7559
7475
|
}
|
|
7560
|
-
else if (mgButton.parentElement.classList.contains('mg-tooltip__mg-button-wrapper')) {
|
|
7476
|
+
else if (mgButton.parentElement.classList.contains('mg-c-tooltip__mg-button-wrapper')) {
|
|
7561
7477
|
this.element.firstElementChild.replaceWith(mgButton);
|
|
7562
7478
|
this.tooltipedElement = mgButton;
|
|
7563
7479
|
}
|
|
@@ -7569,7 +7485,7 @@ const MgTooltip = class {
|
|
|
7569
7485
|
*/
|
|
7570
7486
|
this.initTooltip = (slotElement, interactiveElement) => {
|
|
7571
7487
|
// Add tabindex to slotted element if we can't find any interactive element
|
|
7572
|
-
if (!this.disabled && !
|
|
7488
|
+
if (!this.disabled && !interactiveElement) {
|
|
7573
7489
|
this.hasCustomTabIndex = true;
|
|
7574
7490
|
slotElement.tabIndex = 0;
|
|
7575
7491
|
// Add role on non-interactive element to work with "aria-describedby" for screen readers
|
|
@@ -7632,7 +7548,7 @@ const MgTooltip = class {
|
|
|
7632
7548
|
});
|
|
7633
7549
|
});
|
|
7634
7550
|
};
|
|
7635
|
-
this.identifier = createID('mg-tooltip');
|
|
7551
|
+
this.identifier = components_utils.createID('mg-tooltip');
|
|
7636
7552
|
this.message = undefined;
|
|
7637
7553
|
this.placement = 'bottom';
|
|
7638
7554
|
this.display = false;
|
|
@@ -7643,7 +7559,7 @@ const MgTooltip = class {
|
|
|
7643
7559
|
this.renderTooltipContent();
|
|
7644
7560
|
}
|
|
7645
7561
|
validateMessage(newValue) {
|
|
7646
|
-
if (
|
|
7562
|
+
if (!components_utils.isValidString(newValue)) {
|
|
7647
7563
|
throw new Error('<mg-tooltip> prop "message" is required.');
|
|
7648
7564
|
}
|
|
7649
7565
|
this.mgTooltipContent.message = newValue;
|
|
@@ -7692,7 +7608,7 @@ const MgTooltip = class {
|
|
|
7692
7608
|
*/
|
|
7693
7609
|
componentWillLoad() {
|
|
7694
7610
|
// Get windows to attach events
|
|
7695
|
-
this.windows = getWindows(window);
|
|
7611
|
+
this.windows = components_utils.getWindows(window);
|
|
7696
7612
|
// Get tooltip element
|
|
7697
7613
|
this.renderTooltipContent();
|
|
7698
7614
|
this.mgTooltipContent = this.element.querySelector(`#${this.identifier}`);
|
|
@@ -7711,7 +7627,7 @@ const MgTooltip = class {
|
|
|
7711
7627
|
// get slotted element wich is not the tooltip
|
|
7712
7628
|
const slotElement = this.element.querySelector(`*:not(#${this.identifier})`);
|
|
7713
7629
|
// Get interactive element
|
|
7714
|
-
const interactiveElement = slotElement.matches(focusableElements) ? slotElement : (_a = slotElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(focusableElements);
|
|
7630
|
+
const interactiveElement = slotElement.matches(components_utils.focusableElements) ? slotElement : (_a = slotElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(components_utils.focusableElements);
|
|
7715
7631
|
// define selected element to become tooltip selector
|
|
7716
7632
|
this.tooltipedElement = interactiveElement || slotElement;
|
|
7717
7633
|
// Check if slotted element is a disabled mg-button
|
|
@@ -7755,7 +7671,7 @@ const MgTooltip = class {
|
|
|
7755
7671
|
};
|
|
7756
7672
|
MgTooltip.style = mgTooltipCss;
|
|
7757
7673
|
|
|
7758
|
-
const mgTooltipContentCss = ":host{display:none;padding
|
|
7674
|
+
const mgTooltipContentCss = ":host{z-index:1000;display:none;max-width:40rem;box-sizing:border-box;padding:.5rem .8rem;border-radius:var(--mg-tooltip-border-radius);background-color:hsl(var(--mg-tooltip-background-color));color:hsl(var(--mg-tooltip-font-color));text-align:start}:host([data-show]){display:block}::slotted([slot=arrow]){visibility:hidden}::slotted([slot=arrow])::before{content:\"\";transform:rotate(45deg);visibility:visible}::slotted([slot=arrow]),::slotted([slot=arrow])::before{position:absolute;z-index:9999;width:.8rem;height:.8rem;background-color:hsl(var(--mg-tooltip-background-color))}:host([data-popper-placement^=top])>::slotted([slot=arrow]){bottom:-0.4rem}:host([data-popper-placement^=bottom])>::slotted([slot=arrow]){top:-0.4rem}:host([data-popper-placement^=left])>::slotted([slot=arrow]){right:-0.4rem}:host([data-popper-placement^=right])>::slotted([slot=arrow]){left:-0.4rem}";
|
|
7759
7675
|
|
|
7760
7676
|
const MgTooltipContent = class {
|
|
7761
7677
|
constructor(hostRef) {
|