@mgdis/mg-components 5.19.3 → 5.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{components.utils-69435877.js → components.utils-cd908d4e.js} +102 -99
- package/dist/cjs/components.utils-cd908d4e.js.map +1 -0
- package/dist/cjs/{index-60dd0c56.js → index-8532b5e9.js} +185 -87
- package/dist/cjs/index-8532b5e9.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/mg-action-more_34.cjs.entry.js +5115 -5110
- package/dist/cjs/mg-action-more_34.cjs.entry.js.map +1 -1
- package/dist/cjs/mg-components.cjs.js +3 -3
- package/dist/cjs/mg-components.cjs.js.map +1 -1
- package/dist/cjs/mg-item-more.cjs.entry.js +224 -224
- package/dist/cjs/mg-item-more.cjs.entry.js.map +1 -1
- package/dist/collection/assets/icons/index.js +192 -190
- package/dist/collection/assets/icons/index.js.map +1 -0
- package/dist/collection/collection-manifest.json +6 -6
- package/dist/collection/components/atoms/mg-badge/mg-badge.js +161 -161
- package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +1 -1
- package/dist/collection/components/atoms/mg-button/mg-button.js +362 -362
- package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
- package/dist/collection/components/atoms/mg-card/mg-card.js +126 -126
- 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 +101 -101
- 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 +47 -47
- package/dist/collection/components/atoms/mg-divider/mg-divider.js.map +1 -1
- package/dist/collection/components/atoms/mg-icon/mg-icon.js +231 -231
- package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +1 -1
- package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +132 -132
- package/dist/collection/components/atoms/mg-input-title/mg-input-title.js.map +1 -1
- package/dist/collection/components/atoms/mg-tag/mg-tag.js +158 -158
- package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +46 -46
- 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.conf.js +3 -3
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +398 -398
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
- package/dist/collection/components/molecules/inputs/MgInput.conf.js +2 -2
- package/dist/collection/components/molecules/inputs/MgInput.conf.js.map +1 -1
- package/dist/collection/components/molecules/inputs/MgInput.js +84 -84
- package/dist/collection/components/molecules/inputs/MgInput.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +8 -8
- 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 +266 -266
- 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 +4 -4
- 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 +788 -791
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +4 -4
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +588 -578
- 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.conf.js +4 -4
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +778 -773
- 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 +536 -526
- 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 +565 -555
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +700 -695
- 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.js +770 -760
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +705 -695
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +527 -522
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +2 -2
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +263 -263
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js +6 -6
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +423 -423
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -1
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +214 -214
- 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 +155 -150
- package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -1
- package/dist/collection/components/molecules/mg-form/mg-form.js +332 -327
- package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +85 -85
- 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 +189 -189
- 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 +325 -304
- package/dist/collection/components/molecules/mg-message/mg-message.js.map +1 -1
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +317 -317
- package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -1
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js +2 -2
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js.map +1 -1
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +216 -216
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -1
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +409 -399
- package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +91 -91
- 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 +336 -329
- package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +94 -94
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js.map +1 -1
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +4 -4
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js.map +1 -1
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +348 -343
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
- package/dist/collection/locales/fr/messages.json +4 -4
- package/dist/collection/locales/index.spec.js +20 -20
- package/dist/collection/locales/index.spec.js.map +1 -1
- package/dist/collection/utils/behaviors.utils.js +127 -127
- package/dist/collection/utils/behaviors.utils.js.map +1 -1
- package/dist/collection/utils/behaviors.utils.spec.js +42 -42
- package/dist/collection/utils/behaviors.utils.spec.js.map +1 -1
- package/dist/collection/utils/components.utils.js +77 -75
- package/dist/collection/utils/components.utils.js.map +1 -1
- package/dist/collection/utils/components.utils.spec.js +150 -140
- package/dist/collection/utils/components.utils.spec.js.map +1 -1
- package/dist/collection/utils/e2e.test.utils.js +21 -21
- package/dist/collection/utils/e2e.test.utils.js.map +1 -1
- package/dist/collection/utils/locale.utils.js +17 -17
- package/dist/collection/utils/locale.utils.js.map +1 -1
- package/dist/collection/utils/locale.utils.spec.js +45 -45
- package/dist/collection/utils/locale.utils.spec.js.map +1 -1
- package/dist/collection/utils/playwright.e2e.test.utils.js +41 -41
- package/dist/collection/utils/playwright.e2e.test.utils.js.map +1 -1
- package/dist/collection/utils/playwright.fixture.js +24 -0
- package/dist/collection/utils/playwright.fixture.js.map +1 -0
- package/dist/collection/utils/unit.test.utils.js +50 -50
- package/dist/collection/utils/unit.test.utils.js.map +1 -1
- package/dist/components/MgInput.js +98 -98
- package/dist/components/MgInput.js.map +1 -1
- package/dist/components/components.utils.js +78 -76
- package/dist/components/components.utils.js.map +1 -1
- package/dist/components/index2.js +21 -21
- package/dist/components/index2.js.map +1 -1
- package/dist/components/mg-action-more.d.ts +2 -2
- package/dist/components/mg-action-more.js +173 -173
- package/dist/components/mg-action-more.js.map +1 -1
- package/dist/components/mg-badge.d.ts +2 -2
- package/dist/components/mg-badge2.js +83 -83
- package/dist/components/mg-badge2.js.map +1 -1
- package/dist/components/mg-button.d.ts +2 -2
- package/dist/components/mg-button2.js +182 -182
- package/dist/components/mg-button2.js.map +1 -1
- package/dist/components/mg-card.d.ts +2 -2
- package/dist/components/mg-card2.js +77 -77
- package/dist/components/mg-card2.js.map +1 -1
- package/dist/components/mg-character-left.d.ts +2 -2
- package/dist/components/mg-character-left2.js +50 -50
- package/dist/components/mg-character-left2.js.map +1 -1
- package/dist/components/mg-details.d.ts +2 -2
- package/dist/components/mg-details.js +69 -69
- package/dist/components/mg-details.js.map +1 -1
- package/dist/components/mg-divider.d.ts +2 -2
- package/dist/components/mg-divider.js +30 -30
- package/dist/components/mg-divider.js.map +1 -1
- package/dist/components/mg-form.d.ts +2 -2
- package/dist/components/mg-form.js +171 -171
- package/dist/components/mg-form.js.map +1 -1
- package/dist/components/mg-icon.d.ts +2 -2
- package/dist/components/mg-icon2.js +318 -316
- package/dist/components/mg-icon2.js.map +1 -1
- package/dist/components/mg-illustrated-message.d.ts +2 -2
- package/dist/components/mg-illustrated-message.js +51 -51
- package/dist/components/mg-illustrated-message.js.map +1 -1
- package/dist/components/mg-input-checkbox-paginated.d.ts +2 -2
- package/dist/components/mg-input-checkbox-paginated2.js +170 -170
- package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
- package/dist/components/mg-input-checkbox.d.ts +2 -2
- package/dist/components/mg-input-checkbox.js +477 -480
- package/dist/components/mg-input-checkbox.js.map +1 -1
- package/dist/components/mg-input-date.d.ts +2 -2
- package/dist/components/mg-input-date.js +265 -265
- package/dist/components/mg-input-date.js.map +1 -1
- package/dist/components/mg-input-numeric.d.ts +2 -2
- package/dist/components/mg-input-numeric.js +353 -353
- package/dist/components/mg-input-numeric.js.map +1 -1
- package/dist/components/mg-input-password.d.ts +2 -2
- package/dist/components/mg-input-password.js +204 -204
- package/dist/components/mg-input-password.js.map +1 -1
- package/dist/components/mg-input-radio.d.ts +2 -2
- package/dist/components/mg-input-radio.js +234 -234
- package/dist/components/mg-input-radio.js.map +1 -1
- package/dist/components/mg-input-select.d.ts +2 -2
- package/dist/components/mg-input-select2.js +315 -315
- package/dist/components/mg-input-select2.js.map +1 -1
- package/dist/components/mg-input-text.d.ts +2 -2
- package/dist/components/mg-input-text2.js +305 -305
- package/dist/components/mg-input-text2.js.map +1 -1
- package/dist/components/mg-input-textarea.d.ts +2 -2
- package/dist/components/mg-input-textarea.js +276 -276
- package/dist/components/mg-input-textarea.js.map +1 -1
- package/dist/components/mg-input-title.d.ts +2 -2
- package/dist/components/mg-input-title2.js +60 -60
- package/dist/components/mg-input-title2.js.map +1 -1
- package/dist/components/mg-input-toggle.d.ts +2 -2
- package/dist/components/mg-input-toggle.js +251 -251
- package/dist/components/mg-input-toggle.js.map +1 -1
- package/dist/components/mg-item-more.d.ts +2 -2
- package/dist/components/mg-item-more.js +285 -285
- package/dist/components/mg-item-more.js.map +1 -1
- package/dist/components/mg-menu-item.d.ts +2 -2
- package/dist/components/mg-menu-item2.js +344 -344
- package/dist/components/mg-menu-item2.js.map +1 -1
- package/dist/components/mg-menu.conf.js +2 -2
- package/dist/components/mg-menu.conf.js.map +1 -1
- package/dist/components/mg-menu.d.ts +2 -2
- package/dist/components/mg-menu2.js +176 -176
- package/dist/components/mg-menu2.js.map +1 -1
- package/dist/components/mg-message.d.ts +2 -2
- package/dist/components/mg-message.js +197 -192
- package/dist/components/mg-message.js.map +1 -1
- package/dist/components/mg-modal.d.ts +2 -2
- package/dist/components/mg-modal.js +198 -198
- package/dist/components/mg-modal.js.map +1 -1
- package/dist/components/mg-pagination.d.ts +2 -2
- package/dist/components/mg-pagination2.js +133 -133
- package/dist/components/mg-pagination2.js.map +1 -1
- package/dist/components/mg-panel.d.ts +2 -2
- package/dist/components/mg-panel.js +238 -238
- package/dist/components/mg-panel.js.map +1 -1
- package/dist/components/mg-popover-content.d.ts +2 -2
- package/dist/components/mg-popover-content2.js +69 -69
- package/dist/components/mg-popover-content2.js.map +1 -1
- package/dist/components/mg-popover.d.ts +2 -2
- package/dist/components/mg-popover2.js +224 -222
- package/dist/components/mg-popover2.js.map +1 -1
- package/dist/components/mg-skip-links.d.ts +2 -2
- package/dist/components/mg-skip-links.js +57 -57
- package/dist/components/mg-skip-links.js.map +1 -1
- package/dist/components/mg-tabs.d.ts +2 -2
- package/dist/components/mg-tabs.js +243 -243
- package/dist/components/mg-tabs.js.map +1 -1
- package/dist/components/mg-tag.d.ts +2 -2
- package/dist/components/mg-tag.js +97 -97
- package/dist/components/mg-tag.js.map +1 -1
- package/dist/components/mg-tooltip-content.d.ts +2 -2
- package/dist/components/mg-tooltip-content2.js +30 -30
- package/dist/components/mg-tooltip-content2.js.map +1 -1
- package/dist/components/mg-tooltip.d.ts +2 -2
- package/dist/components/mg-tooltip2.js +316 -316
- package/dist/components/mg-tooltip2.js.map +1 -1
- package/dist/esm/{components.utils-6cf27db1.js → components.utils-0d67c31c.js} +102 -100
- package/dist/esm/components.utils-0d67c31c.js.map +1 -0
- package/dist/esm/{index-0f833068.js → index-f34a3a2c.js} +185 -87
- package/dist/esm/index-f34a3a2c.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mg-action-more_34.entry.js +5115 -5110
- package/dist/esm/mg-action-more_34.entry.js.map +1 -1
- package/dist/esm/mg-components.js +4 -4
- package/dist/esm/mg-components.js.map +1 -1
- package/dist/esm/mg-item-more.entry.js +224 -224
- package/dist/esm/mg-item-more.entry.js.map +1 -1
- package/dist/mg-components/locales/fr/messages.json +4 -4
- 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-629454f7.entry.js +2 -0
- package/dist/mg-components/p-629454f7.entry.js.map +1 -0
- package/dist/mg-components/p-7444ff40.js +3 -0
- package/dist/mg-components/p-7444ff40.js.map +1 -0
- package/dist/mg-components/p-af42d17b.js +2 -0
- package/dist/mg-components/p-af42d17b.js.map +1 -0
- package/dist/mg-components/{p-91feda5a.entry.js → p-e0fb0f3c.entry.js} +2 -2
- package/dist/types/assets/icons/index.d.ts +193 -0
- package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +41 -41
- package/dist/types/components/atoms/mg-button/mg-button.d.ts +100 -100
- package/dist/types/components/atoms/mg-card/mg-card.d.ts +39 -39
- package/dist/types/components/atoms/mg-character-left/mg-character-left.d.ts +37 -37
- package/dist/types/components/atoms/mg-divider/mg-divider.d.ts +12 -12
- package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +56 -56
- package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +34 -34
- package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +51 -51
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.d.ts +12 -12
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.conf.d.ts +3 -3
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +113 -113
- package/dist/types/components/molecules/inputs/MgInput.conf.d.ts +5 -5
- package/dist/types/components/molecules/inputs/MgInput.d.ts +16 -16
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +100 -100
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +26 -26
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +262 -262
- package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.conf.d.ts +4 -4
- package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +150 -150
- package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.d.ts +4 -4
- package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +223 -223
- package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +142 -142
- package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.d.ts +3 -3
- package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +152 -152
- package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.conf.d.ts +6 -6
- package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +193 -193
- package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +195 -195
- package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +181 -181
- package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.d.ts +2 -2
- package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +141 -141
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.conf.d.ts +2 -2
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +97 -97
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.conf.d.ts +6 -6
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +179 -179
- package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +12 -12
- package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +72 -72
- package/dist/types/components/molecules/mg-details/mg-details.d.ts +45 -45
- package/dist/types/components/molecules/mg-form/mg-form.d.ts +103 -103
- package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.d.ts +27 -27
- package/dist/types/components/molecules/mg-item-more/mg-item-more.conf.d.ts +5 -5
- package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +61 -61
- package/dist/types/components/molecules/mg-message/mg-message.d.ts +100 -93
- package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +107 -107
- package/dist/types/components/molecules/mg-pagination/mg-pagination.conf.d.ts +2 -2
- package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +74 -74
- package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +149 -149
- package/dist/types/components/molecules/mg-popover/mg-popover-content/mg-popover-content.d.ts +43 -43
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +88 -88
- package/dist/types/components/molecules/mg-skip-links/mg-skip-links.conf.d.ts +2 -2
- package/dist/types/components/molecules/mg-skip-links/mg-skip-links.d.ts +40 -40
- package/dist/types/components/molecules/mg-tabs/mg-tabs.conf.d.ts +10 -10
- package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +118 -118
- package/dist/types/components.d.ts +294 -30
- package/dist/types/locales/index.d.ts +172 -172
- package/dist/types/stencil-public-runtime.d.ts +29 -0
- package/dist/types/utils/behaviors.utils.d.ts +65 -65
- package/dist/types/utils/components.utils.d.ts +32 -26
- package/dist/types/utils/locale.utils.d.ts +2 -2
- package/dist/types/utils/playwright.fixture.d.ts +3 -0
- package/dist/types/utils/unit.test.utils.d.ts +5 -5
- package/package.json +18 -32
- package/dist/cjs/components.utils-69435877.js.map +0 -1
- package/dist/cjs/index-60dd0c56.js.map +0 -1
- package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js +0 -33
- package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js.map +0 -1
- package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js +0 -70
- package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js.map +0 -1
- package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js +0 -91
- package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js.map +0 -1
- package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js +0 -192
- package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js.map +0 -1
- package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js +0 -36
- package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js.map +0 -1
- package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js +0 -43
- package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js.map +0 -1
- package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js +0 -15
- package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js.map +0 -1
- package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js +0 -42
- package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js.map +0 -1
- package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js +0 -11
- package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js.map +0 -1
- package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js +0 -14
- package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js.map +0 -1
- package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js +0 -55
- package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js.map +0 -1
- package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js +0 -84
- package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js.map +0 -1
- package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js +0 -12
- package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js.map +0 -1
- package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js +0 -23
- package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js.map +0 -1
- package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js +0 -23
- package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js.map +0 -1
- package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js +0 -71
- package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js.map +0 -1
- package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js +0 -138
- package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js.map +0 -1
- package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js +0 -272
- package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js +0 -237
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js +0 -634
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js +0 -123
- package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js +0 -383
- package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js +0 -212
- package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js +0 -460
- package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js +0 -115
- package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js +0 -293
- package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js +0 -154
- package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js +0 -359
- package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js +0 -194
- package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js +0 -403
- package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js +0 -147
- package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js +0 -355
- package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js +0 -129
- package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js +0 -320
- package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js +0 -108
- package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js +0 -247
- package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js.map +0 -1
- package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js +0 -239
- package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js +0 -175
- package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js.map +0 -1
- package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js +0 -100
- package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js +0 -295
- package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js +0 -136
- package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js +0 -195
- package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js +0 -30
- package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js +0 -42
- package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js +0 -169
- package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js.map +0 -1
- package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js +0 -292
- package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js +0 -39
- package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js.map +0 -1
- package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js +0 -36
- package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js +0 -85
- package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js +0 -106
- package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js +0 -64
- package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js.map +0 -1
- package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js +0 -109
- package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js +0 -62
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js +0 -40
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js.map +0 -1
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js +0 -26
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js +0 -122
- package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js +0 -57
- package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js +0 -121
- package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js +0 -106
- package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js +0 -213
- package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js +0 -140
- package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js +0 -142
- package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js +0 -55
- package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js.map +0 -1
- package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js +0 -55
- package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js.map +0 -1
- package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js +0 -76
- package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js.map +0 -1
- package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js +0 -332
- package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js.map +0 -1
- package/dist/collection/utils/stencil.e2e.test.utils.js +0 -33
- package/dist/collection/utils/stencil.e2e.test.utils.js.map +0 -1
- package/dist/esm/components.utils-6cf27db1.js.map +0 -1
- package/dist/esm/index-0f833068.js.map +0 -1
- package/dist/mg-components/p-10ed4425.entry.js +0 -2
- package/dist/mg-components/p-10ed4425.entry.js.map +0 -1
- package/dist/mg-components/p-36a51c5e.js +0 -2
- package/dist/mg-components/p-36a51c5e.js.map +0 -1
- package/dist/mg-components/p-9b12021b.js +0 -3
- package/dist/mg-components/p-9b12021b.js.map +0 -1
- package/dist/types/components/atoms/mg-badge/test/mg-badge.e2e.playwright.d.ts +0 -1
- package/dist/types/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.d.ts +0 -1
- package/dist/types/components/atoms/mg-tag/test/mg-tag.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.d.ts +0 -2
- package/dist/types/components/molecules/mg-details/test/mg-details.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.template.d.ts +0 -12
- package/dist/types/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/mg-panel/test/mg-panel.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/mg-popover/test/mg-popover.e2e.playwright.d.ts +0 -1
- package/dist/types/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.d.ts +0 -1
- package/dist/types/utils/stencil.e2e.test.utils.d.ts +0 -14
- /package/dist/mg-components/{p-91feda5a.entry.js.map → p-e0fb0f3c.entry.js.map} +0 -0
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { h } from "@stencil/core";
|
|
2
|
-
import { newSpecPage } from "@stencil/core/testing";
|
|
3
|
-
import { MgTooltip } from "../mg-tooltip";
|
|
4
|
-
import { MgButton } from "../../mg-button/mg-button";
|
|
5
|
-
import { MgIcon } from "../../mg-icon/mg-icon";
|
|
6
|
-
import { setupMutationObserverMock, mockWindowFrames, mockConsoleError } from "../../../../utils/unit.test.utils";
|
|
7
|
-
import { MgTooltipContent } from "../mg-tooltip-content/mg-tooltip-content";
|
|
8
|
-
mockWindowFrames();
|
|
9
|
-
mockConsoleError();
|
|
10
|
-
const getPage = (args, element) => newSpecPage({
|
|
11
|
-
components: [MgTooltip, MgTooltipContent, MgButton, MgIcon],
|
|
12
|
-
template: () => h("mg-tooltip", Object.assign({}, args), element),
|
|
13
|
-
});
|
|
14
|
-
describe('mg-tooltip', () => {
|
|
15
|
-
let fireMo;
|
|
16
|
-
beforeEach(() => {
|
|
17
|
-
jest.useFakeTimers();
|
|
18
|
-
setupMutationObserverMock({
|
|
19
|
-
observe: function () {
|
|
20
|
-
fireMo = this.cb;
|
|
21
|
-
},
|
|
22
|
-
disconnect: function () {
|
|
23
|
-
return null;
|
|
24
|
-
},
|
|
25
|
-
takeRecords: () => [],
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
afterEach(() => jest.runOnlyPendingTimers());
|
|
29
|
-
describe.each([
|
|
30
|
-
() => h("span", null, "span"),
|
|
31
|
-
() => h("button", { "aria-describedby": "blu" }, "button"),
|
|
32
|
-
() => h("mg-icon", { icon: "check-circle" }),
|
|
33
|
-
() => h("mg-button", { identifier: "identifier" }, "mg-button"),
|
|
34
|
-
() => (h("mg-button", { identifier: "identifier", disabled: true }, "mg-button.disabled")),
|
|
35
|
-
])('render', element => {
|
|
36
|
-
test.each([true, false])('Should render with tooltip', async (disabled) => {
|
|
37
|
-
const page = await getPage({ identifier: 'identifier', message: 'My tooltip message', disabled }, element());
|
|
38
|
-
expect(page.root).toMatchSnapshot();
|
|
39
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
40
|
-
mgTooltip.disabled = !disabled;
|
|
41
|
-
await page.waitForChanges();
|
|
42
|
-
expect(page.root).toMatchSnapshot();
|
|
43
|
-
mgTooltip.disabled = disabled;
|
|
44
|
-
await page.waitForChanges();
|
|
45
|
-
expect(page.root).toMatchSnapshot();
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
test('Should render with element with given placement', async () => {
|
|
49
|
-
const args = { identifier: 'identifier', message: 'My tooltip message', placement: 'auto' };
|
|
50
|
-
const { root } = await getPage(args, h("span", null, "span"));
|
|
51
|
-
expect(root).toMatchSnapshot();
|
|
52
|
-
});
|
|
53
|
-
test.each(['', ' ', undefined])('Should throw error, case invalid message prop', async (message) => {
|
|
54
|
-
expect.assertions(1);
|
|
55
|
-
try {
|
|
56
|
-
await getPage({ message }, h("span", null, "span"));
|
|
57
|
-
}
|
|
58
|
-
catch (err) {
|
|
59
|
-
expect(err.message).toContain('<mg-tooltip> prop "message" is required.');
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
describe.each([
|
|
63
|
-
{ eventIn: 'mouseenter', eventOut: 'mouseleave' },
|
|
64
|
-
{ eventIn: 'focus', eventOut: 'blur' },
|
|
65
|
-
{ eventIn: 'mouseenter', eventOut: 'clickDocument' },
|
|
66
|
-
])('Should manage display on events enter with %s, leave with %s', ({ eventIn, eventOut }) => {
|
|
67
|
-
test.each([
|
|
68
|
-
h("span", null, "span"),
|
|
69
|
-
h("button", { "aria-describedby": "blu" }, "button"),
|
|
70
|
-
h("mg-icon", { icon: "check-circle" }),
|
|
71
|
-
h("mg-button", { identifier: "identifier-mg-button" }, "mg-button"),
|
|
72
|
-
])('element', async (element) => {
|
|
73
|
-
const args = { identifier: 'identifier', message: 'blu' };
|
|
74
|
-
const page = await getPage(args, element);
|
|
75
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
76
|
-
const linkedTooltipElement = mgTooltip.querySelector(`[aria-describedby*='${args.identifier}']`);
|
|
77
|
-
const tooltip = mgTooltip.querySelector(`#${args.identifier}`);
|
|
78
|
-
linkedTooltipElement.dispatchEvent(new CustomEvent(eventIn, { bubbles: true }));
|
|
79
|
-
// flush windows addEventListener timeout
|
|
80
|
-
jest.runOnlyPendingTimers();
|
|
81
|
-
await page.waitForChanges();
|
|
82
|
-
expect(page.root).toMatchSnapshot();
|
|
83
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
84
|
-
if (eventOut !== 'clickDocument')
|
|
85
|
-
linkedTooltipElement.dispatchEvent(new CustomEvent(eventOut, { bubbles: true }));
|
|
86
|
-
else
|
|
87
|
-
page.doc.dispatchEvent(new Event('click', { bubbles: true }));
|
|
88
|
-
if (eventOut !== 'blur')
|
|
89
|
-
jest.runOnlyPendingTimers();
|
|
90
|
-
await page.waitForChanges();
|
|
91
|
-
expect(tooltip).not.toHaveAttribute('data-show');
|
|
92
|
-
});
|
|
93
|
-
test.each([false, true])('should not call event methods when disabled and display:%s', async (display) => {
|
|
94
|
-
const args = { identifier: 'identifier', message: 'blu', disabled: true, display };
|
|
95
|
-
const page = await getPage(args, h("span", null, "span"));
|
|
96
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
97
|
-
const linkedTooltipElement = mgTooltip.querySelector(`[aria-describedby*='${args.identifier}']`);
|
|
98
|
-
const tooltip = mgTooltip.querySelector(`#${args.identifier}`);
|
|
99
|
-
[eventIn, eventOut].forEach(async (event) => {
|
|
100
|
-
linkedTooltipElement.dispatchEvent(new CustomEvent(event, { bubbles: true }));
|
|
101
|
-
await page.waitForChanges();
|
|
102
|
-
if (display) {
|
|
103
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
expect(tooltip).not.toHaveAttribute('data-show');
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
test.each([
|
|
112
|
-
h("span", null, "span"),
|
|
113
|
-
h("button", { "aria-describedby": "blu" }, "button"),
|
|
114
|
-
h("mg-icon", { icon: "check-circle" }),
|
|
115
|
-
h("mg-button", { identifier: "identifier-mg-button" }, "mg-button"),
|
|
116
|
-
])('should manage cross mouse and keyboard navigation', async (element) => {
|
|
117
|
-
const args = { identifier: 'identifier', message: 'blu' };
|
|
118
|
-
const page = await getPage(args, element);
|
|
119
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
120
|
-
const linkedTooltipElement = mgTooltip.querySelector(`[aria-describedby*='${args.identifier}']`);
|
|
121
|
-
const tooltip = mgTooltip.querySelector(`#${args.identifier}`);
|
|
122
|
-
linkedTooltipElement.dispatchEvent(new CustomEvent('focus', { bubbles: true }));
|
|
123
|
-
await page.waitForChanges();
|
|
124
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
125
|
-
page.doc.dispatchEvent(new KeyboardEvent('keydown', { code: 'Escape' }));
|
|
126
|
-
await page.waitForChanges();
|
|
127
|
-
expect(tooltip).not.toHaveAttribute('data-show');
|
|
128
|
-
linkedTooltipElement.dispatchEvent(new CustomEvent('mouseenter', { bubbles: true }));
|
|
129
|
-
await page.waitForChanges();
|
|
130
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
131
|
-
linkedTooltipElement.dispatchEvent(new CustomEvent('mouseleave', { bubbles: true }));
|
|
132
|
-
// flush windows addEventListener timeout
|
|
133
|
-
jest.runOnlyPendingTimers();
|
|
134
|
-
await page.waitForChanges();
|
|
135
|
-
expect(tooltip).not.toHaveAttribute('data-show');
|
|
136
|
-
});
|
|
137
|
-
test.each([true, false])('Should toggle tooltip from prop display, case display %s', async (display) => {
|
|
138
|
-
const args = { identifier: 'identifier', message: 'batman', display };
|
|
139
|
-
const page = await getPage(args, h("span", null, "batman"));
|
|
140
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
141
|
-
const tooltip = mgTooltip.querySelector(`#${args.identifier}`);
|
|
142
|
-
expect(page.root).toMatchSnapshot();
|
|
143
|
-
if (display) {
|
|
144
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
expect(tooltip).not.toHaveAttribute('data-show');
|
|
148
|
-
}
|
|
149
|
-
page.rootInstance.display = !display;
|
|
150
|
-
await page.waitForChanges();
|
|
151
|
-
expect(page.root).toMatchSnapshot();
|
|
152
|
-
if (display) {
|
|
153
|
-
expect(tooltip).not.toHaveAttribute('data-show');
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
describe('hide method', () => {
|
|
160
|
-
test.each(['Tab', 'Space', 'Enter', 'i'])('should prevent keyboardEvent, case not "Escape" code', async (code) => {
|
|
161
|
-
const args = { identifier: 'identifier', message: 'batman' };
|
|
162
|
-
const page = await getPage(args, h("span", { id: "batman" }, "batman"));
|
|
163
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
164
|
-
const tooltip = mgTooltip.querySelector(`#${args.identifier}`);
|
|
165
|
-
const element = page.doc.getElementById('batman');
|
|
166
|
-
element.dispatchEvent(new CustomEvent('focus', { bubbles: true }));
|
|
167
|
-
await page.waitForChanges();
|
|
168
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
169
|
-
page.doc.dispatchEvent(new KeyboardEvent('keydown', { code }));
|
|
170
|
-
await page.waitForChanges();
|
|
171
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
172
|
-
});
|
|
173
|
-
test('should hide tooltip with keyboardEvent, case "Escape" code', async () => {
|
|
174
|
-
const args = { identifier: 'identifier', message: 'batman' };
|
|
175
|
-
const page = await getPage(args, h("span", { id: "batman" }, "batman"));
|
|
176
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
177
|
-
const tooltip = mgTooltip.querySelector(`#${args.identifier}`);
|
|
178
|
-
const element = page.doc.getElementById('batman');
|
|
179
|
-
element.dispatchEvent(new CustomEvent('focus', { bubbles: true }));
|
|
180
|
-
await page.waitForChanges();
|
|
181
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
182
|
-
page.doc.dispatchEvent(new KeyboardEvent('keydown', { code: 'Escape' }));
|
|
183
|
-
await page.waitForChanges();
|
|
184
|
-
expect(tooltip).not.toHaveAttribute('data-show');
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
test('Should keep displayed tooltip when hover it', async () => {
|
|
188
|
-
const element = h("span", null, "span");
|
|
189
|
-
const eventIn = 'mouseenter';
|
|
190
|
-
const eventOut = 'mouseleave';
|
|
191
|
-
const args = { identifier: 'identifier', message: 'blu' };
|
|
192
|
-
const page = await getPage(args, element);
|
|
193
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
194
|
-
const linkedTooltipElement = mgTooltip.querySelector(`[aria-describedby*='${args.identifier}']`);
|
|
195
|
-
const tooltip = mgTooltip.querySelector(`#${args.identifier}`);
|
|
196
|
-
// 1. hover tooltipedElement and display tooltip
|
|
197
|
-
linkedTooltipElement.dispatchEvent(new CustomEvent(eventIn, { bubbles: true }));
|
|
198
|
-
await page.waitForChanges();
|
|
199
|
-
expect(page.root).toMatchSnapshot();
|
|
200
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
201
|
-
// 2.1 leave tooltipedElement and tooltip stay displayed
|
|
202
|
-
linkedTooltipElement.dispatchEvent(new CustomEvent(eventOut, { bubbles: true }));
|
|
203
|
-
await page.waitForChanges();
|
|
204
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
205
|
-
// 2.2 hover on tooltipedElement and tooltip stay displayed
|
|
206
|
-
tooltip.dispatchEvent(new CustomEvent(eventIn, { bubbles: true }));
|
|
207
|
-
await page.waitForChanges();
|
|
208
|
-
// 2.3 flush promise to keep tooltip display thanks to guard
|
|
209
|
-
jest.advanceTimersByTime(200);
|
|
210
|
-
await page.waitForChanges();
|
|
211
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
212
|
-
// 3 leave tooltipElement
|
|
213
|
-
tooltip.dispatchEvent(new CustomEvent(eventOut, { bubbles: true }));
|
|
214
|
-
await page.waitForChanges();
|
|
215
|
-
// 3.2 flush promise to pass tooltip guard and hide it
|
|
216
|
-
jest.advanceTimersByTime(200);
|
|
217
|
-
await page.waitForChanges();
|
|
218
|
-
expect(tooltip).not.toHaveAttribute('data-show');
|
|
219
|
-
});
|
|
220
|
-
test('Should prevent focus guard with click event', async () => {
|
|
221
|
-
const args = { identifier: 'identifier', message: 'batman' };
|
|
222
|
-
const page = await getPage(args, h("mg-button", null, "batman"));
|
|
223
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
224
|
-
const tooltip = mgTooltip.querySelector(`#${args.identifier}`);
|
|
225
|
-
const element = page.doc.querySelector('mg-button');
|
|
226
|
-
element.dispatchEvent(new MouseEvent('mouseenter', { bubbles: true }));
|
|
227
|
-
await page.waitForChanges();
|
|
228
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
229
|
-
// recompose a click event as click event is not properly mock by jest `mousedown` + `focus` + `mouseup`
|
|
230
|
-
for (const event of ['mousedown', 'focus', 'mouseup']) {
|
|
231
|
-
const Constructor = event === 'focus' ? FocusEvent : MouseEvent;
|
|
232
|
-
element.dispatchEvent(new Constructor(event, { bubbles: true }));
|
|
233
|
-
await page.waitForChanges();
|
|
234
|
-
}
|
|
235
|
-
expect(tooltip).toHaveAttribute('data-show');
|
|
236
|
-
element.dispatchEvent(new MouseEvent('mouseleave', { bubbles: true }));
|
|
237
|
-
await page.waitForChanges();
|
|
238
|
-
jest.runOnlyPendingTimers();
|
|
239
|
-
expect(tooltip).not.toHaveAttribute('data-show');
|
|
240
|
-
});
|
|
241
|
-
test.each(['button', 'mg-button'])('Should update %s wrapper dynamically', async (TagName) => {
|
|
242
|
-
const page = await getPage({ identifier: 'identifier', message: 'My tooltip message' }, h(TagName, { identifier: "identifier", disabled: true }, TagName, ".disabled"));
|
|
243
|
-
expect(page.root).toMatchSnapshot();
|
|
244
|
-
// Mock replaceWith
|
|
245
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
246
|
-
mgTooltip.firstElementChild.replaceWith = jest.fn(element => {
|
|
247
|
-
mgTooltip.innerHTML = element.parentElement.innerHTML;
|
|
248
|
-
});
|
|
249
|
-
const mgButton = page.doc.querySelector(TagName);
|
|
250
|
-
mgButton.disabled = false;
|
|
251
|
-
fireMo([{ attributeName: TagName === 'MG-BUTTON' ? 'aria-disabled' : 'disabled' }]);
|
|
252
|
-
await page.waitForChanges();
|
|
253
|
-
expect(page.root).toMatchSnapshot();
|
|
254
|
-
});
|
|
255
|
-
test('Should update popper instance when "message" prop change', async () => {
|
|
256
|
-
const page = await getPage({ identifier: 'identifier', message: 'My tooltip message' }, h("mg-button", { identifier: "identifier", disabled: true }, "mg-button.disabled"));
|
|
257
|
-
const spy = jest.spyOn(page.rootInstance.popper, 'update');
|
|
258
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
259
|
-
mgTooltip.message = 'my new message';
|
|
260
|
-
await page.waitForChanges();
|
|
261
|
-
expect(spy).toHaveBeenCalled();
|
|
262
|
-
});
|
|
263
|
-
test('should update mg-popover-content id when "identifier" is updated', async () => {
|
|
264
|
-
const page = await getPage({ identifier: 'identifier', message: 'My tooltip message' }, h("mg-button", { identifier: "identifier", disabled: true }, "mg-button.disabled"));
|
|
265
|
-
expect(page.root).toMatchSnapshot();
|
|
266
|
-
const mgTooltip = page.doc.querySelector('mg-tooltip');
|
|
267
|
-
mgTooltip.identifier = 'new-identifier';
|
|
268
|
-
await page.waitForChanges();
|
|
269
|
-
expect(page.root).toMatchSnapshot();
|
|
270
|
-
});
|
|
271
|
-
});
|
|
272
|
-
//# sourceMappingURL=mg-tooltip.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mg-tooltip.spec.js","sourceRoot":"","sources":["../../../../../src/components/atoms/mg-tooltip/test/mg-tooltip.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport { newSpecPage } from '@stencil/core/testing';\nimport { MgTooltip } from '../mg-tooltip';\nimport { MgButton } from '../../mg-button/mg-button';\nimport { MgIcon } from '../../mg-icon/mg-icon';\nimport { setupMutationObserverMock, mockWindowFrames, mockConsoleError } from '../../../../utils/unit.test.utils';\nimport { MgTooltipContent } from '../mg-tooltip-content/mg-tooltip-content';\n\nmockWindowFrames();\nmockConsoleError();\n\nconst getPage = (args, element) =>\n newSpecPage({\n components: [MgTooltip, MgTooltipContent, MgButton, MgIcon],\n template: () => <mg-tooltip {...args}>{element}</mg-tooltip>,\n });\n\ndescribe('mg-tooltip', () => {\n let fireMo;\n\n beforeEach(() => {\n jest.useFakeTimers();\n setupMutationObserverMock({\n observe: function () {\n fireMo = this.cb;\n },\n disconnect: function () {\n return null;\n },\n takeRecords: () => [],\n });\n });\n\n afterEach(() => jest.runOnlyPendingTimers());\n\n describe.each([\n () => <span>span</span>,\n () => <button aria-describedby=\"blu\">button</button>,\n () => <mg-icon icon=\"check-circle\"></mg-icon>,\n () => <mg-button identifier=\"identifier\">mg-button</mg-button>,\n () => (\n <mg-button identifier=\"identifier\" disabled>\n mg-button.disabled\n </mg-button>\n ),\n ])('render', element => {\n test.each([true, false])('Should render with tooltip', async disabled => {\n const page = await getPage({ identifier: 'identifier', message: 'My tooltip message', disabled }, element());\n expect(page.root).toMatchSnapshot();\n\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n mgTooltip.disabled = !disabled;\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n mgTooltip.disabled = disabled;\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n });\n\n test('Should render with element with given placement', async () => {\n const args = { identifier: 'identifier', message: 'My tooltip message', placement: 'auto' };\n const { root } = await getPage(args, <span>span</span>);\n expect(root).toMatchSnapshot();\n });\n\n test.each(['', ' ', undefined])('Should throw error, case invalid message prop', async message => {\n expect.assertions(1);\n try {\n await getPage({ message }, <span>span</span>);\n } catch (err) {\n expect(err.message).toContain('<mg-tooltip> prop \"message\" is required.');\n }\n });\n\n describe.each([\n { eventIn: 'mouseenter', eventOut: 'mouseleave' },\n { eventIn: 'focus', eventOut: 'blur' },\n { eventIn: 'mouseenter', eventOut: 'clickDocument' },\n ])('Should manage display on events enter with %s, leave with %s', ({ eventIn, eventOut }) => {\n test.each([\n <span>span</span>,\n <button aria-describedby=\"blu\">button</button>,\n <mg-icon icon=\"check-circle\"></mg-icon>,\n <mg-button identifier=\"identifier-mg-button\">mg-button</mg-button>,\n ])('element', async element => {\n const args = { identifier: 'identifier', message: 'blu' };\n const page = await getPage(args, element);\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n const linkedTooltipElement = mgTooltip.querySelector(`[aria-describedby*='${args.identifier}']`);\n const tooltip = mgTooltip.querySelector(`#${args.identifier}`);\n\n linkedTooltipElement.dispatchEvent(new CustomEvent(eventIn, { bubbles: true }));\n\n // flush windows addEventListener timeout\n jest.runOnlyPendingTimers();\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n expect(tooltip).toHaveAttribute('data-show');\n\n if (eventOut !== 'clickDocument') linkedTooltipElement.dispatchEvent(new CustomEvent(eventOut, { bubbles: true }));\n else page.doc.dispatchEvent(new Event('click', { bubbles: true }));\n\n if (eventOut !== 'blur') jest.runOnlyPendingTimers();\n\n await page.waitForChanges();\n\n expect(tooltip).not.toHaveAttribute('data-show');\n });\n\n test.each([false, true])('should not call event methods when disabled and display:%s', async display => {\n const args = { identifier: 'identifier', message: 'blu', disabled: true, display };\n const page = await getPage(args, <span>span</span>);\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n const linkedTooltipElement = mgTooltip.querySelector(`[aria-describedby*='${args.identifier}']`);\n const tooltip = mgTooltip.querySelector(`#${args.identifier}`);\n\n [eventIn, eventOut].forEach(async event => {\n linkedTooltipElement.dispatchEvent(new CustomEvent(event, { bubbles: true }));\n await page.waitForChanges();\n if (display) {\n expect(tooltip).toHaveAttribute('data-show');\n } else {\n expect(tooltip).not.toHaveAttribute('data-show');\n }\n });\n });\n });\n\n test.each([\n <span>span</span>,\n <button aria-describedby=\"blu\">button</button>,\n <mg-icon icon=\"check-circle\"></mg-icon>,\n <mg-button identifier=\"identifier-mg-button\">mg-button</mg-button>,\n ])('should manage cross mouse and keyboard navigation', async element => {\n const args = { identifier: 'identifier', message: 'blu' };\n const page = await getPage(args, element);\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n const linkedTooltipElement = mgTooltip.querySelector(`[aria-describedby*='${args.identifier}']`);\n const tooltip = mgTooltip.querySelector(`#${args.identifier}`);\n\n linkedTooltipElement.dispatchEvent(new CustomEvent('focus', { bubbles: true }));\n await page.waitForChanges();\n expect(tooltip).toHaveAttribute('data-show');\n\n page.doc.dispatchEvent(new KeyboardEvent('keydown', { code: 'Escape' }));\n await page.waitForChanges();\n expect(tooltip).not.toHaveAttribute('data-show');\n\n linkedTooltipElement.dispatchEvent(new CustomEvent('mouseenter', { bubbles: true }));\n await page.waitForChanges();\n expect(tooltip).toHaveAttribute('data-show');\n\n linkedTooltipElement.dispatchEvent(new CustomEvent('mouseleave', { bubbles: true }));\n // flush windows addEventListener timeout\n jest.runOnlyPendingTimers();\n\n await page.waitForChanges();\n expect(tooltip).not.toHaveAttribute('data-show');\n });\n\n test.each([true, false])('Should toggle tooltip from prop display, case display %s', async display => {\n const args = { identifier: 'identifier', message: 'batman', display };\n const page = await getPage(args, <span>batman</span>);\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n const tooltip = mgTooltip.querySelector(`#${args.identifier}`);\n\n expect(page.root).toMatchSnapshot();\n if (display) {\n expect(tooltip).toHaveAttribute('data-show');\n } else {\n expect(tooltip).not.toHaveAttribute('data-show');\n }\n\n page.rootInstance.display = !display;\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n if (display) {\n expect(tooltip).not.toHaveAttribute('data-show');\n } else {\n expect(tooltip).toHaveAttribute('data-show');\n }\n });\n\n describe('hide method', () => {\n test.each(['Tab', 'Space', 'Enter', 'i'])('should prevent keyboardEvent, case not \"Escape\" code', async code => {\n const args = { identifier: 'identifier', message: 'batman' };\n const page = await getPage(args, <span id=\"batman\">batman</span>);\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n const tooltip = mgTooltip.querySelector(`#${args.identifier}`);\n const element = page.doc.getElementById('batman');\n\n element.dispatchEvent(new CustomEvent('focus', { bubbles: true }));\n await page.waitForChanges();\n\n expect(tooltip).toHaveAttribute('data-show');\n\n page.doc.dispatchEvent(new KeyboardEvent('keydown', { code }));\n await page.waitForChanges();\n\n expect(tooltip).toHaveAttribute('data-show');\n });\n\n test('should hide tooltip with keyboardEvent, case \"Escape\" code', async () => {\n const args = { identifier: 'identifier', message: 'batman' };\n const page = await getPage(args, <span id=\"batman\">batman</span>);\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n const tooltip = mgTooltip.querySelector(`#${args.identifier}`);\n const element = page.doc.getElementById('batman');\n\n element.dispatchEvent(new CustomEvent('focus', { bubbles: true }));\n await page.waitForChanges();\n\n expect(tooltip).toHaveAttribute('data-show');\n\n page.doc.dispatchEvent(new KeyboardEvent('keydown', { code: 'Escape' }));\n await page.waitForChanges();\n\n expect(tooltip).not.toHaveAttribute('data-show');\n });\n });\n\n test('Should keep displayed tooltip when hover it', async () => {\n const element = <span>span</span>;\n const eventIn = 'mouseenter';\n const eventOut = 'mouseleave';\n const args = { identifier: 'identifier', message: 'blu' };\n const page = await getPage(args, element);\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n const linkedTooltipElement = mgTooltip.querySelector(`[aria-describedby*='${args.identifier}']`);\n const tooltip = mgTooltip.querySelector(`#${args.identifier}`);\n\n // 1. hover tooltipedElement and display tooltip\n linkedTooltipElement.dispatchEvent(new CustomEvent(eventIn, { bubbles: true }));\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n expect(tooltip).toHaveAttribute('data-show');\n\n // 2.1 leave tooltipedElement and tooltip stay displayed\n linkedTooltipElement.dispatchEvent(new CustomEvent(eventOut, { bubbles: true }));\n await page.waitForChanges();\n\n expect(tooltip).toHaveAttribute('data-show');\n\n // 2.2 hover on tooltipedElement and tooltip stay displayed\n tooltip.dispatchEvent(new CustomEvent(eventIn, { bubbles: true }));\n await page.waitForChanges();\n\n // 2.3 flush promise to keep tooltip display thanks to guard\n jest.advanceTimersByTime(200);\n await page.waitForChanges();\n\n expect(tooltip).toHaveAttribute('data-show');\n\n // 3 leave tooltipElement\n tooltip.dispatchEvent(new CustomEvent(eventOut, { bubbles: true }));\n await page.waitForChanges();\n\n // 3.2 flush promise to pass tooltip guard and hide it\n jest.advanceTimersByTime(200);\n await page.waitForChanges();\n\n expect(tooltip).not.toHaveAttribute('data-show');\n });\n\n test('Should prevent focus guard with click event', async () => {\n const args = { identifier: 'identifier', message: 'batman' };\n const page = await getPage(args, <mg-button>batman</mg-button>);\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n const tooltip = mgTooltip.querySelector(`#${args.identifier}`);\n const element = page.doc.querySelector('mg-button');\n\n element.dispatchEvent(new MouseEvent('mouseenter', { bubbles: true }));\n await page.waitForChanges();\n\n expect(tooltip).toHaveAttribute('data-show');\n\n // recompose a click event as click event is not properly mock by jest `mousedown` + `focus` + `mouseup`\n for (const event of ['mousedown', 'focus', 'mouseup']) {\n const Constructor = event === 'focus' ? FocusEvent : MouseEvent;\n element.dispatchEvent(new Constructor(event, { bubbles: true }));\n await page.waitForChanges();\n }\n\n expect(tooltip).toHaveAttribute('data-show');\n\n element.dispatchEvent(new MouseEvent('mouseleave', { bubbles: true }));\n await page.waitForChanges();\n jest.runOnlyPendingTimers();\n\n expect(tooltip).not.toHaveAttribute('data-show');\n });\n\n test.each(['button', 'mg-button'])('Should update %s wrapper dynamically', async TagName => {\n const page = await getPage(\n { identifier: 'identifier', message: 'My tooltip message' },\n <TagName identifier=\"identifier\" disabled>\n {TagName}.disabled\n </TagName>,\n );\n\n expect(page.root).toMatchSnapshot();\n\n // Mock replaceWith\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n mgTooltip.firstElementChild.replaceWith = jest.fn(element => {\n mgTooltip.innerHTML = (element as Node).parentElement.innerHTML;\n });\n\n const mgButton: HTMLButtonElement | HTMLMgButtonElement = page.doc.querySelector(TagName);\n mgButton.disabled = false;\n fireMo([{ attributeName: TagName === 'MG-BUTTON' ? 'aria-disabled' : 'disabled' }]);\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n test('Should update popper instance when \"message\" prop change', async () => {\n const page = await getPage(\n { identifier: 'identifier', message: 'My tooltip message' },\n <mg-button identifier=\"identifier\" disabled>\n mg-button.disabled\n </mg-button>,\n );\n\n const spy = jest.spyOn(page.rootInstance.popper, 'update');\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n mgTooltip.message = 'my new message';\n\n await page.waitForChanges();\n\n expect(spy).toHaveBeenCalled();\n });\n\n test('should update mg-popover-content id when \"identifier\" is updated', async () => {\n const page = await getPage(\n { identifier: 'identifier', message: 'My tooltip message' },\n <mg-button identifier=\"identifier\" disabled>\n mg-button.disabled\n </mg-button>,\n );\n\n expect(page.root).toMatchSnapshot();\n\n const mgTooltip = page.doc.querySelector('mg-tooltip');\n mgTooltip.identifier = 'new-identifier';\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n});\n"]}
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import { setPageContent, expect, describe, describeEach, testEach, updateScreenshotClass, test } from "../../../../../utils/playwright.e2e.test.utils";
|
|
2
|
-
import { createID } from "../../../../../utils/components.utils";
|
|
3
|
-
import { renderAttributes, renderProperties } from "../../../../../utils/e2e.test.utils";
|
|
4
|
-
import { checkboxTypes } from "../mg-input-checkbox.conf";
|
|
5
|
-
const TIMEOUT = 1000;
|
|
6
|
-
const baseArgs = {
|
|
7
|
-
label: 'legend',
|
|
8
|
-
value: [
|
|
9
|
-
{ title: 'Batman', value: false },
|
|
10
|
-
{ title: 'Robin', value: false },
|
|
11
|
-
{ title: 'Joker', value: false },
|
|
12
|
-
{ title: 'Bane', value: false },
|
|
13
|
-
],
|
|
14
|
-
};
|
|
15
|
-
const createHTML = (args, identifier = createID()) => `<mg-input-checkbox ${renderAttributes(Object.assign(Object.assign({}, args), { identifier }))}></mg-input-checkbox><script>${renderProperties(args, `[identifier="${identifier}"]`)}</script>`;
|
|
16
|
-
const waitForInteractiveElement = async (page, type) => {
|
|
17
|
-
// wait few seconds to insure to have the interactive element rendered
|
|
18
|
-
const interactiveElement = await page.locator(type === 'multi' ? 'mg-button[tabindex="0"].hydrated' : 'mg-icon[tabindex="0"].hydrated').first();
|
|
19
|
-
return interactiveElement.waitFor({ timeout: 3000 });
|
|
20
|
-
};
|
|
21
|
-
describe('mg-input-checkbox', () => {
|
|
22
|
-
describeEach(checkboxTypes)('type %s', (type) => {
|
|
23
|
-
testEach([
|
|
24
|
-
Object.assign(Object.assign({}, baseArgs), { readonly: true }),
|
|
25
|
-
Object.assign(Object.assign({}, baseArgs), { readonly: true, labelOnTop: true }),
|
|
26
|
-
Object.assign(Object.assign({}, baseArgs), { disabled: true }),
|
|
27
|
-
Object.assign(Object.assign({}, baseArgs), { inputVerticalList: true, helpText: 'HelpText Message' }),
|
|
28
|
-
Object.assign(Object.assign({}, baseArgs), { inputVerticalList: true, helpText: 'HelpText Message', labelOnTop: true }),
|
|
29
|
-
Object.assign(Object.assign({}, baseArgs), { helpText: `<mg-icon icon='user' size='small'></mg-icon> Welcome batman` }),
|
|
30
|
-
Object.assign(Object.assign({}, baseArgs), { helpText: 'HelpText Message', required: true }),
|
|
31
|
-
Object.assign(Object.assign({}, baseArgs), { helpText: 'HelpText Message', required: true, readonly: true }),
|
|
32
|
-
Object.assign(Object.assign({}, baseArgs), { helpText: 'HelpText Message', required: true, disabled: true }),
|
|
33
|
-
])('Should render with template %s', async (page, args) => {
|
|
34
|
-
await setPageContent(page, createHTML(Object.assign(Object.assign({}, args), { type, value: [
|
|
35
|
-
{ title: 'Batman', value: true },
|
|
36
|
-
{ title: 'Robin', value: false },
|
|
37
|
-
{ title: 'Joker', value: null },
|
|
38
|
-
{ title: 'Bane', value: true, disabled: true },
|
|
39
|
-
] })));
|
|
40
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
41
|
-
});
|
|
42
|
-
testEach([true, false])(`render with tooltip, case label-on-top %s`, async (page, labelOnTop) => {
|
|
43
|
-
await setPageContent(page, createHTML(Object.assign(Object.assign({}, baseArgs), { tooltip: 'Tooltip message', labelOnTop,
|
|
44
|
-
type })));
|
|
45
|
-
const KEY_TAB = 'Tab';
|
|
46
|
-
await expect(page.locator('mg-input-checkbox.hydrated')).toBeDefined();
|
|
47
|
-
// wait few seconds to insure to have the interactive element rendered
|
|
48
|
-
await waitForInteractiveElement(page, type);
|
|
49
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
50
|
-
let actions = [KEY_TAB];
|
|
51
|
-
// when label on top tooltip is on first tab (next to label)
|
|
52
|
-
if (!labelOnTop) {
|
|
53
|
-
await updateScreenshotClass(page, { height: '65px', width: '500px' });
|
|
54
|
-
// when type is 'multi' the tooltip is on second tab
|
|
55
|
-
actions = type !== 'multi' ? [...actions, KEY_TAB, KEY_TAB, KEY_TAB, KEY_TAB] : [...actions, KEY_TAB];
|
|
56
|
-
}
|
|
57
|
-
for (const key of actions) {
|
|
58
|
-
await page.keyboard.down(key);
|
|
59
|
-
}
|
|
60
|
-
await page.locator('mg-tooltip-content').waitFor({ timeout: TIMEOUT });
|
|
61
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
62
|
-
});
|
|
63
|
-
testEach([
|
|
64
|
-
Object.assign(Object.assign({}, baseArgs), { type }),
|
|
65
|
-
Object.assign(Object.assign({}, baseArgs), { type, labelOnTop: true }),
|
|
66
|
-
Object.assign(Object.assign({}, baseArgs), { type, labelHide: true }),
|
|
67
|
-
Object.assign(Object.assign({}, baseArgs), { type, helpText: 'HelpText Message' }),
|
|
68
|
-
])('Should render without tooltip %s', async (page, args) => {
|
|
69
|
-
await setPageContent(page, createHTML(args), type === 'multi' ? { width: 300, height: 200 } : undefined);
|
|
70
|
-
await page.waitForSelector('mg-input-checkbox.hydrated');
|
|
71
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
72
|
-
// when multi open checkbox in popover
|
|
73
|
-
if (type === 'multi') {
|
|
74
|
-
// wait few seconds to insure to have the interactive element rendered
|
|
75
|
-
await waitForInteractiveElement(page, type);
|
|
76
|
-
await page.keyboard.down('Tab');
|
|
77
|
-
await page.keyboard.down('Enter');
|
|
78
|
-
await page.locator('mg-popover-content').waitFor({ timeout: TIMEOUT });
|
|
79
|
-
}
|
|
80
|
-
await page.keyboard.down('Tab');
|
|
81
|
-
await expect(page.locator(type === 'multi' ? 'body' : '.e2e-screenshot')).toHaveScreenshot();
|
|
82
|
-
await page.locator('mg-input-checkbox .mg-c-input__input-group:first-of-type input').press('Space');
|
|
83
|
-
await page.keyboard.down('Tab');
|
|
84
|
-
await page.locator('mg-input-checkbox .mg-c-input__input-group:nth-of-type(2) input').press('Space');
|
|
85
|
-
await page.keyboard.down('Tab');
|
|
86
|
-
await page.locator('mg-input-checkbox .mg-c-input__input-group:nth-of-type(3) input').press('Space');
|
|
87
|
-
await page.keyboard.down('Tab');
|
|
88
|
-
await page.locator('mg-input-checkbox .mg-c-input__input-group:nth-of-type(4) input').press('Space');
|
|
89
|
-
await expect(page.locator(type === 'multi' ? 'body' : '.e2e-screenshot')).toHaveScreenshot();
|
|
90
|
-
});
|
|
91
|
-
testEach([
|
|
92
|
-
Object.assign(Object.assign({}, baseArgs), { helpText: 'HelpText Message', required: true, type }),
|
|
93
|
-
Object.assign(Object.assign({}, baseArgs), { helpText: "Message d'aide", lang: 'fr', required: true, type }),
|
|
94
|
-
])('Should render error when leaving an empty required input %s', async (page, args) => {
|
|
95
|
-
await setPageContent(page, createHTML(args), type === 'multi' ? { width: 390, height: 200 } : undefined);
|
|
96
|
-
await page.waitForSelector('mg-input-checkbox.hydrated');
|
|
97
|
-
// when multi open checkbox in popover
|
|
98
|
-
if (type === 'multi') {
|
|
99
|
-
// wait few seconds to insure to have the interactive element rendered
|
|
100
|
-
await waitForInteractiveElement(page, type);
|
|
101
|
-
await page.keyboard.down('Tab');
|
|
102
|
-
await page.keyboard.down('Enter');
|
|
103
|
-
await page.locator('mg-popover-content').waitFor({ timeout: TIMEOUT });
|
|
104
|
-
}
|
|
105
|
-
await page.keyboard.down('Tab');
|
|
106
|
-
await page.keyboard.down('Tab');
|
|
107
|
-
await page.keyboard.down('Tab');
|
|
108
|
-
await page.keyboard.down('Tab');
|
|
109
|
-
await page.keyboard.down('Tab');
|
|
110
|
-
if (type === 'multi') {
|
|
111
|
-
await page.keyboard.down('Escape');
|
|
112
|
-
}
|
|
113
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
114
|
-
});
|
|
115
|
-
testEach([
|
|
116
|
-
{ label: 'long label long label long label long label long label long label long label long label long label long label long label', type, tooltip: 'tooltip message' },
|
|
117
|
-
{
|
|
118
|
-
label: 'long label long label long label long label long label long label long label long label long label long label long label',
|
|
119
|
-
type,
|
|
120
|
-
tooltip: 'tooltip message',
|
|
121
|
-
labelOnTop: true,
|
|
122
|
-
},
|
|
123
|
-
])('render long label in .mg-form-group, %s', async (page, args) => {
|
|
124
|
-
await setPageContent(page, `<div class="mg-form-group">${createHTML(Object.assign(Object.assign(Object.assign({}, baseArgs), args), { value: [
|
|
125
|
-
{ title: 'Batman', value: true },
|
|
126
|
-
{ title: 'Robin', value: false },
|
|
127
|
-
{ title: 'Joker', value: null },
|
|
128
|
-
{ title: 'Bane', value: true, disabled: true },
|
|
129
|
-
] }))}</div>`);
|
|
130
|
-
await page.waitForSelector('mg-input-checkbox.hydrated');
|
|
131
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
132
|
-
});
|
|
133
|
-
testEach([false, true])('Ensure component fit in width 200px with label-on-top: %s', async (page, labelOnTop) => {
|
|
134
|
-
await setPageContent(page, createHTML(Object.assign(Object.assign({}, baseArgs), { labelOnTop, type })));
|
|
135
|
-
await page.waitForSelector('mg-input-checkbox.hydrated');
|
|
136
|
-
await page.setViewportSize({ width: 200, height: 100 });
|
|
137
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
describe('type multi', () => {
|
|
141
|
-
const selectedValues = baseArgs.value.map(argValue => (Object.assign(Object.assign({}, argValue), { value: true })));
|
|
142
|
-
const smallValues = baseArgs.value.map((argValue, index) => (Object.assign(Object.assign({}, argValue), { title: index.toString(), value: true })));
|
|
143
|
-
testEach([
|
|
144
|
-
{ disable: true, value: selectedValues },
|
|
145
|
-
{ disable: true, value: smallValues },
|
|
146
|
-
])('Ensure component fit in width 200px with display-values: %s', async (page, args) => {
|
|
147
|
-
await setPageContent(page, createHTML(Object.assign(Object.assign(Object.assign({}, baseArgs), args), { type: 'multi', displaySelectedValues: true })));
|
|
148
|
-
await page.locator('mg-input-checkbox.hydrated').waitFor({ timeout: TIMEOUT });
|
|
149
|
-
// wait few seconds to insure to have the interactive element rendered
|
|
150
|
-
await waitForInteractiveElement(page, 'multi');
|
|
151
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
152
|
-
});
|
|
153
|
-
testEach([false, true])('Ensure component fit in width 200px with display-values: %s', async (page, displaySelectedValues) => {
|
|
154
|
-
await setPageContent(page, createHTML(Object.assign(Object.assign({}, baseArgs), { type: 'multi', value: selectedValues, displaySelectedValues })));
|
|
155
|
-
await page.locator('mg-input-checkbox.hydrated').waitFor({ timeout: TIMEOUT });
|
|
156
|
-
// wait few seconds to insure to have the interactive element rendered
|
|
157
|
-
await waitForInteractiveElement(page, 'multi');
|
|
158
|
-
await page.setViewportSize({ width: 200, height: 100 });
|
|
159
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
160
|
-
});
|
|
161
|
-
test('Should render "multi" with search', async ({ page }) => {
|
|
162
|
-
const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map((item, index) => ({
|
|
163
|
-
title: index === 9 ? `my super long title item ${item} is very super long and finaly it could not be shorter so what can I do with it` : `${item}`,
|
|
164
|
-
value: false,
|
|
165
|
-
}));
|
|
166
|
-
await setPageContent(page, createHTML(Object.assign(Object.assign({}, baseArgs), { value })), { width: 450, height: 470 });
|
|
167
|
-
// wait few seconds to insure to have the interactive element rendered
|
|
168
|
-
await waitForInteractiveElement(page, 'multi');
|
|
169
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
170
|
-
// open popover
|
|
171
|
-
await page.keyboard.down('Tab');
|
|
172
|
-
await page.keyboard.down('Enter');
|
|
173
|
-
await page.locator('mg-popover-content').waitFor({ timeout: TIMEOUT });
|
|
174
|
-
await expect(page.locator('body')).toHaveScreenshot();
|
|
175
|
-
// take focus in search input
|
|
176
|
-
await page.keyboard.down('Tab');
|
|
177
|
-
await expect(page.locator('body')).toHaveScreenshot();
|
|
178
|
-
// got to navigation after 10th input
|
|
179
|
-
for (const index of value.map((_item, index) => index)) {
|
|
180
|
-
if (index < 10)
|
|
181
|
-
await page.keyboard.down('Tab');
|
|
182
|
-
}
|
|
183
|
-
await expect(page.locator('body')).toHaveScreenshot();
|
|
184
|
-
// use navigatio to go to last page
|
|
185
|
-
await page.keyboard.down('Tab');
|
|
186
|
-
await page.keyboard.down('Tab');
|
|
187
|
-
await page.keyboard.down('Tab');
|
|
188
|
-
await page.keyboard.down('Enter');
|
|
189
|
-
await page.keyboard.down('Enter');
|
|
190
|
-
await expect(page.locator('body')).toHaveScreenshot();
|
|
191
|
-
await page.getByPlaceholder(/value/).fill('2');
|
|
192
|
-
await expect(page.locator('body')).toHaveScreenshot();
|
|
193
|
-
// update search with an unmatchable value
|
|
194
|
-
await page.getByPlaceholder(/value/).fill('batman');
|
|
195
|
-
await expect(page.locator('body')).toHaveScreenshot();
|
|
196
|
-
// close popover
|
|
197
|
-
await page.keyboard.down('Escape');
|
|
198
|
-
await updateScreenshotClass(page, { width: '285px', height: '35px' });
|
|
199
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
200
|
-
});
|
|
201
|
-
test('Should render "multi" with 2 sections', async ({ page }) => {
|
|
202
|
-
const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map((item, index) => ({
|
|
203
|
-
title: `item ${item}`,
|
|
204
|
-
value: [5, 12, 13, 17].some(item => item === index),
|
|
205
|
-
}));
|
|
206
|
-
await setPageContent(page, createHTML(Object.assign(Object.assign({}, baseArgs), { value })), { width: 450, height: 570 });
|
|
207
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
208
|
-
// wait few seconds to insure to have the interactive element rendered
|
|
209
|
-
await waitForInteractiveElement(page, 'multi');
|
|
210
|
-
// open popover
|
|
211
|
-
await page.keyboard.down('Tab');
|
|
212
|
-
await page.keyboard.down('Enter');
|
|
213
|
-
await page.locator('mg-popover-content').waitFor({ timeout: TIMEOUT });
|
|
214
|
-
await expect(page.locator('body')).toHaveScreenshot();
|
|
215
|
-
});
|
|
216
|
-
test('Should render "multi" with 2 sections and a closed selected section', async ({ page }) => {
|
|
217
|
-
const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map((item, index) => ({
|
|
218
|
-
title: `item ${item}`,
|
|
219
|
-
value: [5, 12, 13, 17].some(item => item === index),
|
|
220
|
-
}));
|
|
221
|
-
await setPageContent(page, createHTML(Object.assign(Object.assign({}, baseArgs), { value })), { width: 450, height: 570 });
|
|
222
|
-
// wait few seconds to insure to have the interactive element rendered
|
|
223
|
-
await waitForInteractiveElement(page, 'multi');
|
|
224
|
-
await expect(page.locator('.e2e-screenshot')).toHaveScreenshot();
|
|
225
|
-
// open popover
|
|
226
|
-
await page.keyboard.down('Tab');
|
|
227
|
-
await page.keyboard.down('Enter');
|
|
228
|
-
await page.locator('mg-popover-content').waitFor({ timeout: TIMEOUT });
|
|
229
|
-
// close section
|
|
230
|
-
await page.keyboard.down('Tab');
|
|
231
|
-
await page.keyboard.down('Tab');
|
|
232
|
-
await page.keyboard.down('Enter');
|
|
233
|
-
await expect(page.locator('body')).toHaveScreenshot();
|
|
234
|
-
});
|
|
235
|
-
});
|
|
236
|
-
});
|
|
237
|
-
//# sourceMappingURL=mg-input-checkbox.e2e.playwright.js.map
|