@swisspost/design-system-components 10.0.0-next.54 → 10.0.0-next.56
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/{components/react/p-CJ80BZ06.js → cjs/breakpoints-Df03Ct7n.js} +103 -5
- package/dist/cjs/debounce-BsIBi_-2.js +13 -0
- package/dist/cjs/environment-BQE9Unf_.js +52 -0
- package/dist/cjs/{event-from-CLvtSUKf.js → event-from-CwMw19f8.js} +2 -2
- package/dist/cjs/fade-CPQhl1fP.js +26 -0
- package/dist/cjs/fade-slide-dPhQa-I1.js +38 -0
- package/dist/cjs/{get-focusable-children-Bx63XUQg.js → get-focusable-children-ChETM1wK.js} +29 -21
- package/dist/cjs/{get-root-CyMf3Vsd.js → get-root-CUAv4k4C.js} +2 -2
- package/dist/cjs/{index-Cb8CTrOz.js → index-CKNxhb0S.js} +29 -13
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{package-CvZxvdTJ.js → package-CY7IOoiw.js} +1 -1
- package/dist/cjs/post-accordion_2.cjs.entry.js +12 -12
- package/dist/cjs/post-avatar.cjs.entry.js +11 -11
- package/dist/cjs/post-back-to-top.cjs.entry.js +16 -40
- package/dist/cjs/post-banner.cjs.entry.js +11 -10
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +7 -7
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +22 -31
- package/dist/cjs/post-card-control.cjs.entry.js +16 -16
- package/dist/cjs/{post-closebutton_15.cjs.entry.js → post-closebutton_13.cjs.entry.js} +537 -507
- package/dist/cjs/post-collapsible_2.cjs.entry.js +39 -38
- package/dist/cjs/post-components.cjs.js +2 -2
- package/dist/cjs/post-env-test.cjs.entry.js +15 -0
- package/dist/cjs/post-footer.cjs.entry.js +21 -19
- package/dist/cjs/post-linkarea.cjs.entry.js +3 -3
- package/dist/cjs/post-pagination.cjs.entry.js +589 -0
- package/dist/cjs/post-popover-trigger.cjs.entry.js +46 -30
- package/dist/cjs/post-popover.cjs.entry.js +12 -12
- package/dist/cjs/post-rating.cjs.entry.js +13 -13
- package/dist/cjs/post-stepper-item.cjs.entry.js +18 -0
- package/dist/cjs/post-stepper.cjs.entry.js +109 -0
- package/dist/cjs/post-tab-item.cjs.entry.js +49 -0
- package/dist/cjs/post-tab-panel.cjs.entry.js +9 -9
- package/dist/cjs/post-tabs.cjs.entry.js +191 -38
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +8 -8
- package/dist/cjs/post-tooltip.cjs.entry.js +7 -7
- package/dist/cjs/utils-s05L2ulk.js +26 -0
- package/dist/collection/animations/collapse.js +3 -3
- package/dist/collection/animations/fade-slide.js +33 -0
- package/dist/collection/animations/fade.js +19 -7
- package/dist/collection/animations/index.js +2 -0
- package/dist/collection/animations/slide.js +25 -21
- package/dist/collection/animations/types.js +14 -0
- package/dist/collection/animations/utils.js +8 -0
- package/dist/collection/collection-manifest.json +8 -6
- package/dist/collection/components/post-accordion/post-accordion.css +1 -1
- package/dist/collection/components/post-accordion/post-accordion.js +2 -2
- package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.js +4 -4
- package/dist/collection/components/post-avatar/post-avatar.css +1 -1
- package/dist/collection/components/post-avatar/post-avatar.js +1 -1
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +14 -14
- package/dist/collection/components/post-banner/post-banner.css +4 -1
- package/dist/collection/components/post-banner/post-banner.js +3 -3
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +1 -1
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +28 -28
- package/dist/collection/components/post-card-control/post-card-control.js +3 -3
- package/dist/collection/components/post-closebutton/post-closebutton.css +1 -1
- package/dist/collection/components/post-closebutton/post-closebutton.js +1 -1
- package/dist/collection/components/post-collapsible/post-collapsible.js +27 -27
- package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +6 -5
- package/dist/collection/components/post-footer/post-footer.css +1 -1
- package/dist/collection/components/post-footer/post-footer.js +18 -16
- package/dist/collection/components/post-header/post-header.css +1 -1
- package/dist/collection/components/post-header/post-header.js +186 -105
- package/dist/collection/components/post-icon/post-icon.js +6 -4
- package/dist/collection/components/post-language-menu/post-language-menu.css +1 -0
- package/dist/collection/components/{post-language-switch/post-language-switch.js → post-language-menu/post-language-menu.js} +25 -25
- package/dist/collection/components/post-language-menu-item/post-language-menu-item.css +1 -0
- package/dist/collection/components/{post-language-option/post-language-option.js → post-language-menu-item/post-language-menu-item.js} +14 -14
- package/dist/collection/components/post-linkarea/post-linkarea.js +1 -1
- package/dist/collection/components/post-logo/post-logo.css +3 -1
- package/dist/collection/components/post-logo/post-logo.js +1 -1
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +41 -29
- package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.js +184 -75
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +3 -1
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +80 -74
- package/dist/collection/components/post-menu/post-menu.css +1 -1
- package/dist/collection/components/post-menu/post-menu.js +35 -35
- package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +1 -1
- package/dist/collection/components/post-pagination/post-pagination.css +1 -0
- package/dist/collection/components/post-pagination/post-pagination.js +838 -0
- package/dist/collection/components/post-popover/post-popover.css +1 -1
- package/dist/collection/components/post-popover/post-popover.js +10 -10
- package/dist/collection/components/post-popover-trigger/post-popover-trigger.js +43 -27
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +45 -92
- package/dist/collection/components/post-rating/post-rating.js +3 -3
- package/dist/collection/components/post-stepper/post-stepper.css +1 -0
- package/dist/collection/components/post-stepper/post-stepper.js +207 -0
- package/dist/collection/components/post-stepper-item/post-stepper-item.css +7 -0
- package/dist/collection/components/post-stepper-item/post-stepper-item.js +18 -0
- package/dist/collection/components/post-tab-item/post-tab-item.css +1 -0
- package/dist/collection/components/post-tab-item/post-tab-item.js +86 -0
- package/dist/collection/components/post-tab-panel/post-tab-panel.js +9 -9
- package/dist/collection/components/post-tabs/post-tabs.js +230 -57
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.js +1 -1
- package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +1 -1
- package/dist/collection/utils/environment.js +47 -2
- package/dist/collection/utils/event-from.js +2 -2
- package/dist/collection/utils/get-focusable-children.js +29 -21
- package/dist/collection/utils/is-motion-reduced.js +1 -1
- package/dist/collection/utils/tests/environment/hydrate-app-helper.js +16 -0
- package/dist/collection/utils/tests/environment/post-env-test.js +9 -0
- package/dist/component-names.json +6 -5
- package/dist/components/breakpoints.js +90 -3
- package/dist/components/debounce.js +11 -0
- package/dist/components/environment.js +49 -0
- package/dist/components/event-from.js +2 -2
- package/dist/components/fade-slide.js +36 -0
- package/dist/components/fade.js +21 -8
- package/dist/components/get-focusable-children.js +29 -21
- package/dist/components/get-root.js +1 -1
- package/dist/components/index.d.ts +14 -10
- package/dist/components/index.js +7 -5
- package/dist/components/package.js +1 -1
- package/dist/components/post-accordion-item2.js +4 -5
- package/dist/components/post-accordion2.js +4 -5
- package/dist/components/post-avatar.js +3 -4
- package/dist/components/post-back-to-top.js +14 -40
- package/dist/components/post-banner.js +5 -6
- package/dist/components/post-breadcrumb-item2.js +2 -3
- package/dist/components/post-breadcrumbs.js +24 -34
- package/dist/components/post-card-control.js +4 -5
- package/dist/components/post-closebutton2.js +3 -4
- package/dist/components/post-collapsible-trigger2.js +10 -10
- package/dist/components/post-collapsible2.js +25 -25
- package/dist/components/{post-list.d.ts → post-env-test.d.ts} +4 -4
- package/dist/components/post-env-test.js +31 -0
- package/dist/components/post-footer.js +17 -16
- package/dist/components/post-header.js +156 -119
- package/dist/components/post-icon2.js +8 -6
- package/dist/components/post-language-menu-item.d.ts +11 -0
- package/dist/components/post-language-menu-item.js +98 -0
- package/dist/components/{post-language-switch.d.ts → post-language-menu.d.ts} +4 -4
- package/dist/components/post-language-menu.js +156 -0
- package/dist/components/post-linkarea.js +1 -1
- package/dist/components/post-logo.js +3 -4
- package/dist/components/post-mainnavigation.js +21 -32
- package/dist/components/post-megadropdown-trigger.js +72 -79
- package/dist/components/post-megadropdown.js +183 -78
- package/dist/components/post-menu-item2.js +1 -1
- package/dist/components/post-menu-trigger2.js +2 -3
- package/dist/components/post-menu2.js +35 -36
- package/dist/components/post-pagination.d.ts +11 -0
- package/dist/components/post-pagination.js +635 -0
- package/dist/components/post-popover-trigger.js +41 -26
- package/dist/components/post-popover.js +9 -10
- package/dist/components/post-popovercontainer2.js +44 -40
- package/dist/components/post-rating.js +3 -4
- package/dist/components/post-stepper-item.d.ts +11 -0
- package/dist/components/post-stepper-item.js +33 -0
- package/dist/components/{post-list-item.d.ts → post-stepper.d.ts} +4 -4
- package/dist/components/post-stepper.js +136 -0
- package/dist/components/{post-tab-header.d.ts → post-tab-item.d.ts} +4 -4
- package/dist/components/post-tab-item.js +70 -0
- package/dist/components/post-tab-panel.js +8 -9
- package/dist/components/post-tabs.js +192 -37
- package/dist/components/post-togglebutton.js +1 -51
- package/dist/components/post-togglebutton2.js +53 -0
- package/dist/components/post-tooltip-trigger.js +3 -3
- package/dist/components/post-tooltip.js +3 -4
- package/dist/components/react/index.js +1 -1
- package/dist/{cjs/breakpoints-CEkeixld.js → components/react/p-B8YiQ3mz.js} +89 -6
- package/dist/components/react/{p-2U_BGLjc.js → p-BOLlAY91.js} +9 -7
- package/dist/components/react/p-BVCjnh6Q.js +36 -0
- package/dist/components/react/{p-CBFgkSgY.js → p-BVGcVycs.js} +1 -1
- package/dist/components/react/{p-D4NSCxrX.js → p-BYCGzO-t.js} +13 -13
- package/dist/components/react/p-C9hMpmsD.js +11 -0
- package/dist/components/react/{p-BVXiQdHq.js → p-CJ13r5fi.js} +29 -21
- package/dist/components/react/{p-nSFSgY-P.js → p-CnZWXrbA.js} +40 -41
- package/dist/components/react/p-CoDiS_Ik.js +24 -0
- package/dist/components/react/p-CyniMNY-.js +54 -0
- package/dist/components/react/p-D5knoiyy.js +24 -0
- package/dist/components/react/{p-Ccgu_WOx.js → p-DBO6FfHt.js} +4 -5
- package/dist/components/react/{p-BfLuYwf7.js → p-DRfa3MOV.js} +26 -26
- package/dist/components/react/{p-BUxAs8N5.js → p-DYImHx0e.js} +4 -5
- package/dist/components/react/p-DZ5m2Ttg.js +3 -0
- package/dist/components/react/p-FxUVQ4Tx.js +49 -0
- package/dist/components/react/{p-BK474oMI.js → p-L36-yvgK.js} +2 -2
- package/dist/components/react/{p-DVxZMuPW.js → p-NCAcc7ZZ.js} +6 -7
- package/dist/components/react/{p-mENtrn2l.js → p-QNPIvxLq.js} +45 -41
- package/dist/components/react/{p-D3CFjhAf.js → p-_pLhqTys.js} +5 -6
- package/dist/components/react/p-c6yNOQwn.js +113 -0
- package/dist/components/react/{p-CzIKqBrS.js → p-rEfV4v4a.js} +2 -2
- package/dist/components/react/post-accordion-item.js +1 -1
- package/dist/components/react/post-accordion.js +1 -1
- package/dist/components/react/post-avatar.js +4 -5
- package/dist/components/react/post-back-to-top.js +16 -42
- package/dist/components/react/post-banner.js +7 -8
- package/dist/components/react/post-breadcrumb-item.js +1 -1
- package/dist/components/react/post-breadcrumbs.js +31 -41
- package/dist/components/react/post-card-control.js +6 -7
- package/dist/components/react/post-closebutton.js +1 -1
- package/dist/components/react/post-collapsible-trigger.js +1 -1
- package/dist/components/react/post-collapsible.js +1 -1
- package/dist/components/react/{post-list.d.ts → post-env-test.d.ts} +4 -4
- package/dist/components/react/post-env-test.js +32 -0
- package/dist/components/react/post-footer.js +23 -22
- package/dist/components/react/post-header.js +158 -121
- package/dist/components/react/post-icon.js +1 -1
- package/dist/components/react/post-language-menu-item.d.ts +11 -0
- package/dist/components/react/post-language-menu-item.js +99 -0
- package/dist/components/react/{post-language-option.d.ts → post-language-menu.d.ts} +4 -4
- package/dist/components/react/post-language-menu.js +157 -0
- package/dist/components/react/post-linkarea.js +2 -2
- package/dist/components/react/post-logo.js +4 -5
- package/dist/components/react/post-mainnavigation.js +23 -34
- package/dist/components/react/post-megadropdown-trigger.js +74 -81
- package/dist/components/react/post-megadropdown.js +185 -80
- package/dist/components/react/post-menu-item.js +1 -1
- package/dist/components/react/post-menu-trigger.js +1 -1
- package/dist/components/react/post-menu.js +1 -1
- package/dist/components/react/post-pagination.d.ts +11 -0
- package/dist/components/react/post-pagination.js +636 -0
- package/dist/components/react/post-popover-trigger.js +42 -27
- package/dist/components/react/post-popover.js +14 -15
- package/dist/components/react/post-popovercontainer.js +1 -1
- package/dist/components/react/post-rating.js +5 -6
- package/dist/components/react/post-stepper-item.d.ts +11 -0
- package/dist/components/react/post-stepper-item.js +34 -0
- package/dist/components/react/{post-list-item.d.ts → post-stepper.d.ts} +4 -4
- package/dist/components/react/post-stepper.js +137 -0
- package/dist/components/react/{post-tab-header.d.ts → post-tab-item.d.ts} +4 -4
- package/dist/components/react/post-tab-item.js +71 -0
- package/dist/components/react/post-tab-panel.js +9 -10
- package/dist/components/react/post-tabs.js +193 -38
- package/dist/components/react/post-togglebutton.js +1 -52
- package/dist/components/react/post-tooltip-trigger.js +4 -4
- package/dist/components/react/post-tooltip.js +5 -6
- package/dist/components/utils.js +24 -0
- package/dist/docs.json +968 -563
- package/dist/esm/{breakpoints-CJ80BZ06.js → breakpoints-DYoSKGHO.js} +90 -3
- package/dist/esm/debounce-C9hMpmsD.js +11 -0
- package/dist/esm/environment-CEmnRoA6.js +49 -0
- package/dist/esm/{event-from-CzIKqBrS.js → event-from-rEfV4v4a.js} +2 -2
- package/dist/esm/fade-DsgPYmAa.js +24 -0
- package/dist/esm/fade-slide-CvOvauo9.js +36 -0
- package/dist/esm/{get-focusable-children-D9ZHp2FP.js → get-focusable-children-BXNs2_sw.js} +29 -21
- package/dist/esm/{get-root-BkQ3CrLq.js → get-root-CXfAA093.js} +1 -1
- package/dist/esm/{index-CFNKgUjL.js → index-1ReqxAnI.js} +29 -13
- package/dist/esm/loader.js +3 -3
- package/dist/esm/package-DZ5m2Ttg.js +3 -0
- package/dist/esm/post-accordion_2.entry.js +10 -10
- package/dist/esm/post-avatar.entry.js +6 -6
- package/dist/esm/post-back-to-top.entry.js +16 -40
- package/dist/esm/post-banner.entry.js +10 -9
- package/dist/esm/post-breadcrumb-item_2.entry.js +6 -6
- package/dist/esm/post-breadcrumbs.entry.js +20 -29
- package/dist/esm/post-card-control.entry.js +6 -6
- package/dist/esm/{post-closebutton_15.entry.js → post-closebutton_13.entry.js} +518 -486
- package/dist/esm/post-collapsible_2.entry.js +36 -35
- package/dist/esm/post-components.js +3 -3
- package/dist/esm/post-env-test.entry.js +13 -0
- package/dist/esm/post-footer.entry.js +18 -16
- package/dist/esm/post-linkarea.entry.js +3 -3
- package/dist/esm/post-pagination.entry.js +587 -0
- package/dist/esm/post-popover-trigger.entry.js +44 -28
- package/dist/esm/post-popover.entry.js +11 -11
- package/dist/esm/post-rating.entry.js +5 -5
- package/dist/esm/post-stepper-item.entry.js +16 -0
- package/dist/esm/post-stepper.entry.js +107 -0
- package/dist/esm/post-tab-item.entry.js +47 -0
- package/dist/esm/post-tab-panel.entry.js +9 -9
- package/dist/esm/post-tabs.entry.js +191 -38
- package/dist/esm/post-tooltip-trigger.entry.js +5 -5
- package/dist/esm/post-tooltip.entry.js +6 -6
- package/dist/esm/utils-CoDiS_Ik.js +24 -0
- package/dist/post-components/{p-8f0fc02a.entry.js → p-130eb074.entry.js} +1 -1
- package/dist/post-components/p-13d018fe.entry.js +1 -0
- package/dist/post-components/p-143e5a84.entry.js +1 -0
- package/dist/post-components/p-1ReqxAnI.js +2 -0
- package/dist/post-components/p-2b220851.entry.js +1 -0
- package/dist/post-components/{p-96750e25.entry.js → p-390f111f.entry.js} +1 -1
- package/dist/post-components/p-3cf09fbd.entry.js +1 -0
- package/dist/post-components/p-52e584ca.entry.js +1 -0
- package/dist/post-components/p-56a4040c.entry.js +1 -0
- package/dist/post-components/p-675dab57.entry.js +1 -0
- package/dist/post-components/p-6857fd9d.entry.js +1 -0
- package/dist/post-components/p-7cd00e3e.entry.js +1 -0
- package/dist/post-components/p-7f5d2487.entry.js +1 -0
- package/dist/post-components/{p-bf41fe56.entry.js → p-88201353.entry.js} +1 -1
- package/dist/post-components/p-89360cd1.entry.js +1 -0
- package/dist/post-components/p-B7ebLhHc.js +1 -0
- package/dist/post-components/p-BVCjnh6Q.js +1 -0
- package/dist/post-components/p-BXNs2_sw.js +1 -0
- package/dist/post-components/p-C9hMpmsD.js +1 -0
- package/dist/post-components/p-CEmnRoA6.js +1 -0
- package/dist/post-components/p-CoDiS_Ik.js +1 -0
- package/dist/post-components/p-D5knoiyy.js +1 -0
- package/dist/post-components/p-DI-h_mEL.js +1 -0
- package/dist/post-components/p-DZ5m2Ttg.js +1 -0
- package/dist/post-components/p-a740eaed.entry.js +1 -0
- package/dist/post-components/{p-261b1452.entry.js → p-a79590f5.entry.js} +1 -1
- package/dist/post-components/p-b708d96a.entry.js +1 -0
- package/dist/post-components/p-bcf5786f.entry.js +1 -0
- package/dist/post-components/p-c92512f5.entry.js +1 -0
- package/dist/post-components/{p-658b1ccc.entry.js → p-d7cb3a61.entry.js} +1 -1
- package/dist/post-components/p-d7f33813.entry.js +1 -0
- package/dist/post-components/p-da97ee21.entry.js +1 -0
- package/dist/post-components/{p-11c204e0.entry.js → p-ed4db774.entry.js} +1 -1
- package/dist/post-components/post-components.css +1 -1
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/prebuild.js +46 -0
- package/dist/types/animations/collapse.d.ts +1 -0
- package/dist/types/animations/fade-slide.d.ts +11 -0
- package/dist/types/animations/fade.d.ts +2 -2
- package/dist/types/animations/index.d.ts +2 -0
- package/dist/types/animations/slide.d.ts +9 -2
- package/dist/types/animations/types.d.ts +13 -0
- package/dist/types/animations/utils.d.ts +2 -0
- package/dist/types/components/post-accordion-item/heading-levels.d.ts +1 -1
- package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +2 -2
- package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +2 -2
- package/dist/types/components/post-breadcrumbs/post-breadcrumbs.d.ts +6 -6
- package/dist/types/components/post-collapsible/post-collapsible.d.ts +4 -5
- package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +1 -0
- package/dist/types/components/post-footer/post-footer.d.ts +4 -4
- package/dist/types/components/post-header/post-header.d.ts +28 -19
- package/dist/types/components/{post-language-switch/post-language-switch.d.ts → post-language-menu/post-language-menu.d.ts} +6 -6
- package/dist/types/components/{post-language-option/post-language-option.d.ts → post-language-menu-item/post-language-menu-item.d.ts} +5 -5
- package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +6 -5
- package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +20 -2
- package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +17 -23
- package/dist/types/components/post-menu/post-menu.d.ts +4 -4
- package/dist/types/components/post-pagination/post-pagination.d.ts +224 -0
- package/dist/types/components/post-popover/post-popover.d.ts +3 -3
- package/dist/types/components/post-popover-trigger/post-popover-trigger.d.ts +2 -1
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +13 -16
- package/dist/types/components/post-rating/post-rating.d.ts +1 -1
- package/dist/types/components/post-stepper/post-stepper.d.ts +39 -0
- package/dist/types/components/post-stepper-item/post-stepper-item.d.ts +3 -0
- package/dist/types/components/post-tab-item/post-tab-item.d.ts +19 -0
- package/dist/types/components/post-tab-panel/post-tab-panel.d.ts +3 -3
- package/dist/types/components/post-tabs/post-tabs.d.ts +33 -12
- package/dist/types/components.d.ts +357 -186
- package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/prebuild.d.ts +9 -0
- package/dist/types/types/heading-levels.d.ts +1 -1
- package/dist/types/utils/environment.d.ts +25 -1
- package/dist/types/utils/get-focusable-children.d.ts +2 -2
- package/dist/types/utils/tests/environment/hydrate-app-helper.d.ts +5 -0
- package/dist/types/utils/tests/environment/post-env-test.d.ts +3 -0
- package/hydrate/index.js +1882 -833
- package/hydrate/index.mjs +1882 -833
- package/package.json +9 -11
- package/dist/cjs/fade-nS5zzDQS.js +0 -14
- package/dist/cjs/index-DtvYdwe1.js +0 -96
- package/dist/cjs/post-tab-header.cjs.entry.js +0 -31
- package/dist/collection/animations/slide-and-fade.js +0 -25
- package/dist/collection/components/post-language-option/post-language-option.css +0 -1
- package/dist/collection/components/post-language-switch/post-language-switch.css +0 -1
- package/dist/collection/components/post-list/post-list.css +0 -1
- package/dist/collection/components/post-list/post-list.js +0 -97
- package/dist/collection/components/post-list-item/post-list-item.css +0 -1
- package/dist/collection/components/post-list-item/post-list-item.js +0 -26
- package/dist/collection/components/post-tab-header/post-tab-header.css +0 -1
- package/dist/collection/components/post-tab-header/post-tab-header.js +0 -65
- package/dist/components/index2.js +0 -88
- package/dist/components/post-language-option.d.ts +0 -11
- package/dist/components/post-language-option.js +0 -99
- package/dist/components/post-language-switch.js +0 -157
- package/dist/components/post-list-item.js +0 -38
- package/dist/components/post-list.js +0 -61
- package/dist/components/post-tab-header.js +0 -52
- package/dist/components/react/p-BXRsHuTS.js +0 -3
- package/dist/components/react/p-CV7fm1rW.js +0 -88
- package/dist/components/react/p-Dj7qWba5.js +0 -114
- package/dist/components/react/p-SbIC4aZX.js +0 -11
- package/dist/components/react/post-language-option.js +0 -100
- package/dist/components/react/post-language-switch.d.ts +0 -11
- package/dist/components/react/post-language-switch.js +0 -158
- package/dist/components/react/post-list-item.js +0 -39
- package/dist/components/react/post-list.js +0 -62
- package/dist/components/react/post-tab-header.js +0 -53
- package/dist/esm/fade-SbIC4aZX.js +0 -11
- package/dist/esm/index-VmK3ABCB.js +0 -88
- package/dist/esm/package-BXRsHuTS.js +0 -3
- package/dist/esm/post-tab-header.entry.js +0 -29
- package/dist/post-components/p-02ea3ec5.entry.js +0 -1
- package/dist/post-components/p-0e92dbef.entry.js +0 -1
- package/dist/post-components/p-0ec2bdd7.entry.js +0 -1
- package/dist/post-components/p-197a0f25.entry.js +0 -1
- package/dist/post-components/p-3274ab81.entry.js +0 -1
- package/dist/post-components/p-77e43032.entry.js +0 -1
- package/dist/post-components/p-BXRsHuTS.js +0 -1
- package/dist/post-components/p-CBFgkSgY.js +0 -1
- package/dist/post-components/p-CFNKgUjL.js +0 -2
- package/dist/post-components/p-CJ80BZ06.js +0 -1
- package/dist/post-components/p-D9ZHp2FP.js +0 -1
- package/dist/post-components/p-SbIC4aZX.js +0 -1
- package/dist/post-components/p-VmK3ABCB.js +0 -1
- package/dist/post-components/p-b5b5e4b9.entry.js +0 -1
- package/dist/post-components/p-b8059ba1.entry.js +0 -1
- package/dist/post-components/p-d6134e24.entry.js +0 -1
- package/dist/post-components/p-e7029b9e.entry.js +0 -1
- package/dist/post-components/p-e90688ab.entry.js +0 -1
- package/dist/post-components/p-ea5da614.entry.js +0 -1
- package/dist/post-components/p-f1b815b6.entry.js +0 -1
- package/dist/types/animations/slide-and-fade.d.ts +0 -2
- package/dist/types/components/post-list/post-list.d.ts +0 -24
- package/dist/types/components/post-list-item/post-list-item.d.ts +0 -8
- package/dist/types/components/post-tab-header/post-tab-header.d.ts +0 -14
- /package/dist/collection/components/{post-language-switch → post-language-menu}/switch-variants.js +0 -0
- /package/dist/post-components/{p-CzIKqBrS.js → p-rEfV4v4a.js} +0 -0
- /package/dist/types/components/{post-language-switch → post-language-menu}/switch-variants.d.ts +0 -0
|
@@ -64,7 +64,7 @@ export class PostTooltip {
|
|
|
64
64
|
}
|
|
65
65
|
render() {
|
|
66
66
|
const popoverClass = `${this.arrow ? 'has-arrow' : ''}`;
|
|
67
|
-
return (h(Host, { key: '
|
|
67
|
+
return (h(Host, { key: 'a9ce457973507a7cd05edb774c84c769ba11bcce', "data-version": version }, h("post-popovercontainer", { key: '8fa8c699ddccd7d46f240992ab1d7e515637cab5', safeSpace: "trapezoid", class: popoverClass, role: "tooltip", arrow: this.arrow, animation: this.animation, placement: this.placement, onPostToggle: e => this.handleToggle(e), ref: (el) => (this.popoverRef = el) }, h("slot", { key: '2ce3408b95a511b9c3c91905fff7142b3598fc55' }))));
|
|
68
68
|
}
|
|
69
69
|
static get is() { return "post-tooltip"; }
|
|
70
70
|
static get encapsulation() { return "shadow"; }
|
|
@@ -169,7 +169,7 @@ export class PostTooltipTrigger {
|
|
|
169
169
|
this.tooltip?.hide();
|
|
170
170
|
}
|
|
171
171
|
render() {
|
|
172
|
-
return (h(Host, { key: '
|
|
172
|
+
return (h(Host, { key: '272df9fbda27a695e083a71e7740dd6c8c3afb2d', "data-version": version }, h("slot", { key: '616b48a7dcbe591f4490aa8ec41abf43c17259bb', onSlotchange: () => this.handleSlotChange() })));
|
|
173
173
|
}
|
|
174
174
|
static get is() { return "post-tooltip-trigger"; }
|
|
175
175
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,2 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Environment detection helper
|
|
3
|
+
*
|
|
4
|
+
* Goal: Distinguish between real browser execution and Stencil's server-side
|
|
5
|
+
* hydration context. During SSR/hydration Stencil provides a mocked `window`
|
|
6
|
+
* (Domino / JSDOM–like) so naive checks (e.g. `typeof window !== 'undefined'`)
|
|
7
|
+
* incorrectly classify the environment as a browser.
|
|
8
|
+
*
|
|
9
|
+
* Detection strategy:
|
|
10
|
+
* - Stencils hydrate context uses a hardcoded user agent string ('MockNavigator')
|
|
11
|
+
* and origin ('http://mockdoc.stenciljs.com') for its mocked `window` object.
|
|
12
|
+
* We can use this to identify the hydrate context.
|
|
13
|
+
* - Stencils unit test context also uses the same hardcoded user agent string,
|
|
14
|
+
* but a differnet value for the origin.
|
|
15
|
+
* That's why comparing the origin is aboslutely mandatory.
|
|
16
|
+
* - Since we test the hydrate app in the test context, the origin is getting
|
|
17
|
+
* overwritten by the test setup, leading to a false positive in the
|
|
18
|
+
* `isHydrateApp` detection.
|
|
19
|
+
* To circumvent this, we use a global flag (`isHydrateAppTestEnv`),
|
|
20
|
+
* that we set/reset during the server test, so we can correctly identify
|
|
21
|
+
* the hydrate app in the test context.
|
|
22
|
+
* As a drawback, we can't properly test if the hydrate app is detected as
|
|
23
|
+
* expected, in a real world scenario (elsewhere than in our tests).
|
|
24
|
+
*/
|
|
25
|
+
const MOCKED_USERAGENT = 'MockNavigator';
|
|
26
|
+
const MOCKED_ORIGIN = 'http://mockdoc.stenciljs.com';
|
|
27
|
+
const isNodeEnv = typeof global !== 'undefined';
|
|
28
|
+
const hasWindow = typeof window !== 'undefined';
|
|
29
|
+
const isMockedUserAgent = hasWindow && window.navigator.userAgent === MOCKED_USERAGENT;
|
|
30
|
+
const isMockedOrigin = hasWindow && window.location.origin === MOCKED_ORIGIN;
|
|
31
|
+
/**
|
|
32
|
+
* This is the natural hydrate app environment
|
|
33
|
+
* Is `true` if the hydrate app runs on server
|
|
34
|
+
*/
|
|
35
|
+
const isHydrateAppEnv = isNodeEnv && isMockedUserAgent && isMockedOrigin;
|
|
36
|
+
/**
|
|
37
|
+
* This is the test app server test env
|
|
38
|
+
* Is `true` if the server unit test runs (`false` if the browser unit test runs)
|
|
39
|
+
*/
|
|
40
|
+
const isTestAppServerTestEnv = isNodeEnv && isMockedUserAgent && global.IS_HYDRATEAPP_SERVERTEST;
|
|
41
|
+
/**
|
|
42
|
+
* This is the final hydrate app flag
|
|
43
|
+
* if it`s `true`, IS_BROWSER equals `false` and IS_SERVER equals `true
|
|
44
|
+
*/
|
|
45
|
+
const isHydrateApp = isHydrateAppEnv || isTestAppServerTestEnv;
|
|
46
|
+
export const IS_BROWSER = hasWindow && !isHydrateApp;
|
|
47
|
+
export const IS_SERVER = !IS_BROWSER;
|
|
@@ -58,7 +58,7 @@ export function EventFrom(tag, option) {
|
|
|
58
58
|
// Create hidden storage for original method
|
|
59
59
|
Object.defineProperty(target, privateKey, {
|
|
60
60
|
writable: true,
|
|
61
|
-
configurable: true
|
|
61
|
+
configurable: true,
|
|
62
62
|
});
|
|
63
63
|
// Replace property with getter/setter
|
|
64
64
|
Object.defineProperty(target, propertyKey, {
|
|
@@ -82,7 +82,7 @@ export function EventFrom(tag, option) {
|
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
84
|
configurable: true,
|
|
85
|
-
enumerable: true
|
|
85
|
+
enumerable: true,
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
};
|
|
@@ -27,32 +27,40 @@ export function getFocusableChildren(element) {
|
|
|
27
27
|
const focusableChildren = element.querySelectorAll(`${focusableSelector}:not(${focusDisablingSelector})`);
|
|
28
28
|
return Array.from(focusableChildren).filter(isVisible);
|
|
29
29
|
}
|
|
30
|
-
// Searches deeper
|
|
31
|
-
export function getDeepFocusableChildren(
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
// Searches deeper across shadow DOM
|
|
31
|
+
export function getDeepFocusableChildren(el, filter, visited = new Set()) {
|
|
32
|
+
if (visited.has(el))
|
|
33
|
+
return [];
|
|
34
|
+
visited.add(el);
|
|
35
|
+
let nodes = [];
|
|
36
|
+
// SLOT
|
|
37
|
+
if (el instanceof HTMLSlotElement) {
|
|
38
|
+
const assigned = el.assignedElements({ flatten: true });
|
|
39
|
+
nodes = assigned.length ? assigned : Array.from(el.children);
|
|
40
|
+
}
|
|
41
|
+
// SHADOW ROOT
|
|
42
|
+
else if (el instanceof HTMLElement && el.shadowRoot) {
|
|
43
|
+
nodes = Array.from(el.shadowRoot.children);
|
|
44
|
+
}
|
|
45
|
+
// NORMAL ELEMENT
|
|
46
|
+
else if (el instanceof Element) {
|
|
47
|
+
nodes = Array.from(el.children);
|
|
48
|
+
}
|
|
49
|
+
if (filter) {
|
|
50
|
+
nodes = nodes.filter(filter);
|
|
51
|
+
}
|
|
52
|
+
const focusableElements = [];
|
|
53
|
+
for (const node of nodes) {
|
|
34
54
|
if (isElementFocusable(node)) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (node instanceof HTMLElement && node.shadowRoot) {
|
|
38
|
-
traverse(node.shadowRoot);
|
|
39
|
-
}
|
|
40
|
-
for (const child of Array.from(node.children)) {
|
|
41
|
-
traverse(child);
|
|
42
|
-
}
|
|
43
|
-
if (node instanceof HTMLElement) {
|
|
44
|
-
for (const slot of Array.from(node.querySelectorAll('slot'))) {
|
|
45
|
-
for (const el of slot.assignedElements({ flatten: true })) {
|
|
46
|
-
traverse(el);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
55
|
+
focusableElements.push(node);
|
|
56
|
+
continue;
|
|
49
57
|
}
|
|
58
|
+
focusableElements.push(...getDeepFocusableChildren(node, filter, visited));
|
|
50
59
|
}
|
|
51
|
-
|
|
52
|
-
return results;
|
|
60
|
+
return focusableElements;
|
|
53
61
|
}
|
|
54
62
|
function isVisible(el) {
|
|
55
|
-
const style = window.getComputedStyle(el
|
|
63
|
+
const style = window.getComputedStyle(el);
|
|
56
64
|
return style.display !== 'none' && style.visibility !== 'hidden';
|
|
57
65
|
}
|
|
58
66
|
function isElementFocusable(node) {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export async function getAppEnv() {
|
|
2
|
+
global.IS_HYDRATEAPP_SERVERTEST = true;
|
|
3
|
+
// keep this, to have runtime-only import (otherwise the build fails)
|
|
4
|
+
const HYDRATE_ID = '@swisspost/design-system-components/hydrate';
|
|
5
|
+
const hydrateApp = await import(HYDRATE_ID);
|
|
6
|
+
const results = await hydrateApp.renderToString('<post-env-test></post-env-test>');
|
|
7
|
+
const IS_BROWSER = /data-browser="(true|false)"/.exec(results.html)?.[1] === 'true';
|
|
8
|
+
const IS_SERVER = /data-server="(true|false)"/.exec(results.html)?.[1] === 'true';
|
|
9
|
+
return {
|
|
10
|
+
IS_BROWSER,
|
|
11
|
+
IS_SERVER,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export function afterTestCleanup() {
|
|
15
|
+
delete global.IS_HYDRATEAPP_SERVERTEST;
|
|
16
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { IS_BROWSER, IS_SERVER } from "../../environment";
|
|
3
|
+
export class PostEnvTest {
|
|
4
|
+
render() {
|
|
5
|
+
return h("div", { key: '65b18a8e4890205313601723d25f938ac3c6f4a8', "data-browser": String(IS_BROWSER), "data-server": String(IS_SERVER) });
|
|
6
|
+
}
|
|
7
|
+
static get is() { return "post-env-test"; }
|
|
8
|
+
static get encapsulation() { return "shadow"; }
|
|
9
|
+
}
|
|
@@ -14,11 +14,9 @@
|
|
|
14
14
|
"post-footer",
|
|
15
15
|
"post-header",
|
|
16
16
|
"post-icon",
|
|
17
|
-
"post-language-
|
|
18
|
-
"post-language-
|
|
17
|
+
"post-language-menu",
|
|
18
|
+
"post-language-menu-item",
|
|
19
19
|
"post-linkarea",
|
|
20
|
-
"post-list",
|
|
21
|
-
"post-list-item",
|
|
22
20
|
"post-logo",
|
|
23
21
|
"post-mainnavigation",
|
|
24
22
|
"post-megadropdown",
|
|
@@ -26,11 +24,14 @@
|
|
|
26
24
|
"post-menu",
|
|
27
25
|
"post-menu-item",
|
|
28
26
|
"post-menu-trigger",
|
|
27
|
+
"post-pagination",
|
|
29
28
|
"post-popover",
|
|
30
29
|
"post-popover-trigger",
|
|
31
30
|
"post-popovercontainer",
|
|
32
31
|
"post-rating",
|
|
33
|
-
"post-
|
|
32
|
+
"post-stepper",
|
|
33
|
+
"post-stepper-item",
|
|
34
|
+
"post-tab-item",
|
|
34
35
|
"post-tab-panel",
|
|
35
36
|
"post-tabs",
|
|
36
37
|
"post-togglebutton",
|
|
@@ -1,5 +1,92 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { a as IS_SERVER } from './environment.js';
|
|
2
|
+
|
|
3
|
+
const EMPTY_VALUES = [undefined, null, '', NaN];
|
|
4
|
+
|
|
5
|
+
function isValueEmpty(value) {
|
|
6
|
+
return EMPTY_VALUES.some(v => v === value);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function requiredAnd(check) {
|
|
10
|
+
return (component, prop, ...extraArgs) => {
|
|
11
|
+
const componentName = component.host.localName;
|
|
12
|
+
const value = component[prop];
|
|
13
|
+
const message = `The prop \`${String(prop)}\` of the \`${componentName}\` component is not defined.`;
|
|
14
|
+
if (isValueEmpty(value)) {
|
|
15
|
+
throw new Error(message);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
check(component, prop, ...extraArgs);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function checkOneOf(component, prop, possibleValues) {
|
|
24
|
+
const componentName = component.host.localName;
|
|
25
|
+
const value = component[prop];
|
|
26
|
+
const message = `The prop \`${String(prop)}\` of the \`${componentName}\` component must be one of the following values: ${possibleValues.join(', ')}.`;
|
|
27
|
+
if (!possibleValues.includes(value)) {
|
|
28
|
+
console.error(message);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function checkPattern(component, prop, pattern) {
|
|
33
|
+
const componentName = component.host.localName;
|
|
34
|
+
const value = component[prop];
|
|
35
|
+
const message = `The prop \`${String(prop)}\` of the \`${componentName}\` component must follow the format \`${pattern}\`.`;
|
|
36
|
+
if (typeof value !== 'string' || !pattern.test(value)) {
|
|
37
|
+
console.error(message);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function checkType(component, prop, type) {
|
|
42
|
+
const componentName = component.host.localName;
|
|
43
|
+
const value = component[prop];
|
|
44
|
+
const typeIsArray = type === 'array';
|
|
45
|
+
const valueIsArray = Array.isArray(value);
|
|
46
|
+
const message = `The prop \`${String(prop)}\` of the \`${componentName}\` component must be of type \`${type}\`.`;
|
|
47
|
+
if (typeIsArray || valueIsArray) {
|
|
48
|
+
if (valueIsArray !== typeIsArray) {
|
|
49
|
+
console.error(message);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else if (typeof value !== type) {
|
|
53
|
+
console.error(message);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function checkUrl(component, prop) {
|
|
58
|
+
const componentName = component.host.localName;
|
|
59
|
+
const value = component[prop];
|
|
60
|
+
const message = `The prop \`${String(prop)}\` of the \`${componentName}\` component is invalid.`;
|
|
61
|
+
if (typeof value !== 'string' && !(value instanceof URL)) {
|
|
62
|
+
console.error(message);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
new URL(value, 'https://www.post.ch');
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
console.error(message);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function emptyOr(check) {
|
|
74
|
+
return (component, prop, ...extraArgs) => {
|
|
75
|
+
const value = component[prop];
|
|
76
|
+
if (!isValueEmpty(value)) {
|
|
77
|
+
check(component, prop, ...extraArgs);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const checkEmptyOrOneOf = emptyOr(checkOneOf);
|
|
83
|
+
const checkEmptyOrPattern = emptyOr(checkPattern);
|
|
84
|
+
const checkEmptyOrType = emptyOr(checkType);
|
|
85
|
+
const checkEmptyOrUrl = emptyOr(checkUrl);
|
|
86
|
+
const checkRequiredAndOneOf = requiredAnd(checkOneOf);
|
|
87
|
+
const checkRequiredAndPattern = requiredAnd(checkPattern);
|
|
88
|
+
const checkRequiredAndType = requiredAnd(checkType);
|
|
89
|
+
const checkRequiredAndUrl = requiredAnd(checkUrl);
|
|
3
90
|
|
|
4
91
|
/* eslint-disable no-undefined,no-param-reassign,no-shadow */
|
|
5
92
|
|
|
@@ -175,4 +262,4 @@ class Breakpoint {
|
|
|
175
262
|
}
|
|
176
263
|
const breakpoint = new Breakpoint();
|
|
177
264
|
|
|
178
|
-
export {
|
|
265
|
+
export { checkEmptyOrUrl as a, checkRequiredAndOneOf as b, checkRequiredAndType as c, checkEmptyOrOneOf as d, checkEmptyOrType as e, checkRequiredAndUrl as f, breakpoint as g, checkRequiredAndPattern as h, checkEmptyOrPattern as i, throttle as t };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment detection helper
|
|
3
|
+
*
|
|
4
|
+
* Goal: Distinguish between real browser execution and Stencil's server-side
|
|
5
|
+
* hydration context. During SSR/hydration Stencil provides a mocked `window`
|
|
6
|
+
* (Domino / JSDOM–like) so naive checks (e.g. `typeof window !== 'undefined'`)
|
|
7
|
+
* incorrectly classify the environment as a browser.
|
|
8
|
+
*
|
|
9
|
+
* Detection strategy:
|
|
10
|
+
* - Stencils hydrate context uses a hardcoded user agent string ('MockNavigator')
|
|
11
|
+
* and origin ('http://mockdoc.stenciljs.com') for its mocked `window` object.
|
|
12
|
+
* We can use this to identify the hydrate context.
|
|
13
|
+
* - Stencils unit test context also uses the same hardcoded user agent string,
|
|
14
|
+
* but a differnet value for the origin.
|
|
15
|
+
* That's why comparing the origin is aboslutely mandatory.
|
|
16
|
+
* - Since we test the hydrate app in the test context, the origin is getting
|
|
17
|
+
* overwritten by the test setup, leading to a false positive in the
|
|
18
|
+
* `isHydrateApp` detection.
|
|
19
|
+
* To circumvent this, we use a global flag (`isHydrateAppTestEnv`),
|
|
20
|
+
* that we set/reset during the server test, so we can correctly identify
|
|
21
|
+
* the hydrate app in the test context.
|
|
22
|
+
* As a drawback, we can't properly test if the hydrate app is detected as
|
|
23
|
+
* expected, in a real world scenario (elsewhere than in our tests).
|
|
24
|
+
*/
|
|
25
|
+
const MOCKED_USERAGENT = 'MockNavigator';
|
|
26
|
+
const MOCKED_ORIGIN = 'http://mockdoc.stenciljs.com';
|
|
27
|
+
const isNodeEnv = typeof global !== 'undefined';
|
|
28
|
+
const hasWindow = typeof window !== 'undefined';
|
|
29
|
+
const isMockedUserAgent = hasWindow && window.navigator.userAgent === MOCKED_USERAGENT;
|
|
30
|
+
const isMockedOrigin = hasWindow && window.location.origin === MOCKED_ORIGIN;
|
|
31
|
+
/**
|
|
32
|
+
* This is the natural hydrate app environment
|
|
33
|
+
* Is `true` if the hydrate app runs on server
|
|
34
|
+
*/
|
|
35
|
+
const isHydrateAppEnv = isNodeEnv && isMockedUserAgent && isMockedOrigin;
|
|
36
|
+
/**
|
|
37
|
+
* This is the test app server test env
|
|
38
|
+
* Is `true` if the server unit test runs (`false` if the browser unit test runs)
|
|
39
|
+
*/
|
|
40
|
+
const isTestAppServerTestEnv = isNodeEnv && isMockedUserAgent && global.IS_HYDRATEAPP_SERVERTEST;
|
|
41
|
+
/**
|
|
42
|
+
* This is the final hydrate app flag
|
|
43
|
+
* if it`s `true`, IS_BROWSER equals `false` and IS_SERVER equals `true
|
|
44
|
+
*/
|
|
45
|
+
const isHydrateApp = isHydrateAppEnv || isTestAppServerTestEnv;
|
|
46
|
+
const IS_BROWSER = hasWindow && !isHydrateApp;
|
|
47
|
+
const IS_SERVER = !IS_BROWSER;
|
|
48
|
+
|
|
49
|
+
export { IS_BROWSER as I, IS_SERVER as a };
|
|
@@ -58,7 +58,7 @@ function EventFrom(tag, option) {
|
|
|
58
58
|
// Create hidden storage for original method
|
|
59
59
|
Object.defineProperty(target, privateKey, {
|
|
60
60
|
writable: true,
|
|
61
|
-
configurable: true
|
|
61
|
+
configurable: true,
|
|
62
62
|
});
|
|
63
63
|
// Replace property with getter/setter
|
|
64
64
|
Object.defineProperty(target, propertyKey, {
|
|
@@ -82,7 +82,7 @@ function EventFrom(tag, option) {
|
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
84
|
configurable: true,
|
|
85
|
-
enumerable: true
|
|
85
|
+
enumerable: true,
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { r as resolveEasing } from './utils.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Used by
|
|
5
|
+
* 1. PostHeader (burger menu)
|
|
6
|
+
* 2. PostMegadropdown
|
|
7
|
+
* 3. BackToTopButton
|
|
8
|
+
*/
|
|
9
|
+
const defaultOptions = {
|
|
10
|
+
duration: 500,
|
|
11
|
+
easing: 'ease',
|
|
12
|
+
fill: 'none',
|
|
13
|
+
translate: -100,
|
|
14
|
+
};
|
|
15
|
+
function animateFadeSlide(el, keyframes, options) {
|
|
16
|
+
const { duration, easing, fill } = { ...defaultOptions, ...options };
|
|
17
|
+
return el.animate(keyframes, {
|
|
18
|
+
duration,
|
|
19
|
+
easing: resolveEasing(easing),
|
|
20
|
+
fill,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function fadeSlide(el, direction, options) {
|
|
24
|
+
if (!el)
|
|
25
|
+
return;
|
|
26
|
+
const mergedOptions = options;
|
|
27
|
+
const { translate } = mergedOptions;
|
|
28
|
+
const baseKeyframes = [
|
|
29
|
+
{ opacity: '0', transform: `translateY(${translate}px)` },
|
|
30
|
+
{ opacity: '1', transform: 'translateY(0px)' },
|
|
31
|
+
];
|
|
32
|
+
const keyframes = direction === 'in' ? baseKeyframes : [...baseKeyframes].reverse();
|
|
33
|
+
return animateFadeSlide(el, keyframes, options);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { fadeSlide as f };
|
package/dist/components/fade.js
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { r as resolveEasing } from './utils.js';
|
|
2
|
+
|
|
3
|
+
const defaultOptions = {
|
|
4
|
+
duration: 200,
|
|
5
|
+
easing: 'linear',
|
|
6
|
+
fill: 'forwards',
|
|
7
|
+
};
|
|
8
|
+
function animateFade(el, keyframes, options = {}) {
|
|
9
|
+
const { duration, easing, fill } = { ...defaultOptions, ...options };
|
|
10
|
+
return el.animate(keyframes, {
|
|
11
|
+
duration,
|
|
12
|
+
easing: resolveEasing(easing),
|
|
13
|
+
fill,
|
|
14
|
+
});
|
|
6
15
|
}
|
|
7
|
-
function
|
|
8
|
-
|
|
16
|
+
function fade(el, direction, options = {}) {
|
|
17
|
+
if (!el)
|
|
18
|
+
return;
|
|
19
|
+
const baseKeyframes = [{ opacity: '0' }, { opacity: '1' }];
|
|
20
|
+
const keyframes = direction === 'in' ? baseKeyframes : [...baseKeyframes].reverse();
|
|
21
|
+
return animateFade(el, keyframes, options);
|
|
9
22
|
}
|
|
10
23
|
|
|
11
|
-
export {
|
|
24
|
+
export { fade as f };
|
|
@@ -27,32 +27,40 @@ function getFocusableChildren(element) {
|
|
|
27
27
|
const focusableChildren = element.querySelectorAll(`${focusableSelector}:not(${focusDisablingSelector})`);
|
|
28
28
|
return Array.from(focusableChildren).filter(isVisible);
|
|
29
29
|
}
|
|
30
|
-
// Searches deeper
|
|
31
|
-
function getDeepFocusableChildren(
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
// Searches deeper across shadow DOM
|
|
31
|
+
function getDeepFocusableChildren(el, filter, visited = new Set()) {
|
|
32
|
+
if (visited.has(el))
|
|
33
|
+
return [];
|
|
34
|
+
visited.add(el);
|
|
35
|
+
let nodes = [];
|
|
36
|
+
// SLOT
|
|
37
|
+
if (el instanceof HTMLSlotElement) {
|
|
38
|
+
const assigned = el.assignedElements({ flatten: true });
|
|
39
|
+
nodes = assigned.length ? assigned : Array.from(el.children);
|
|
40
|
+
}
|
|
41
|
+
// SHADOW ROOT
|
|
42
|
+
else if (el instanceof HTMLElement && el.shadowRoot) {
|
|
43
|
+
nodes = Array.from(el.shadowRoot.children);
|
|
44
|
+
}
|
|
45
|
+
// NORMAL ELEMENT
|
|
46
|
+
else if (el instanceof Element) {
|
|
47
|
+
nodes = Array.from(el.children);
|
|
48
|
+
}
|
|
49
|
+
if (filter) {
|
|
50
|
+
nodes = nodes.filter(filter);
|
|
51
|
+
}
|
|
52
|
+
const focusableElements = [];
|
|
53
|
+
for (const node of nodes) {
|
|
34
54
|
if (isElementFocusable(node)) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (node instanceof HTMLElement && node.shadowRoot) {
|
|
38
|
-
traverse(node.shadowRoot);
|
|
39
|
-
}
|
|
40
|
-
for (const child of Array.from(node.children)) {
|
|
41
|
-
traverse(child);
|
|
42
|
-
}
|
|
43
|
-
if (node instanceof HTMLElement) {
|
|
44
|
-
for (const slot of Array.from(node.querySelectorAll('slot'))) {
|
|
45
|
-
for (const el of slot.assignedElements({ flatten: true })) {
|
|
46
|
-
traverse(el);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
55
|
+
focusableElements.push(node);
|
|
56
|
+
continue;
|
|
49
57
|
}
|
|
58
|
+
focusableElements.push(...getDeepFocusableChildren(node, filter, visited));
|
|
50
59
|
}
|
|
51
|
-
|
|
52
|
-
return results;
|
|
60
|
+
return focusableElements;
|
|
53
61
|
}
|
|
54
62
|
function isVisible(el) {
|
|
55
|
-
const style = window.getComputedStyle(el
|
|
63
|
+
const style = window.getComputedStyle(el);
|
|
56
64
|
return style.display !== 'none' && style.visibility !== 'hidden';
|
|
57
65
|
}
|
|
58
66
|
function isElementFocusable(node) {
|
|
@@ -21,22 +21,20 @@ export { PostCollapsible as PostCollapsible } from '../types/components/post-col
|
|
|
21
21
|
export { defineCustomElement as defineCustomElementPostCollapsible } from './post-collapsible';
|
|
22
22
|
export { PostCollapsibleTrigger as PostCollapsibleTrigger } from '../types/components/post-collapsible-trigger/post-collapsible-trigger';
|
|
23
23
|
export { defineCustomElement as defineCustomElementPostCollapsibleTrigger } from './post-collapsible-trigger';
|
|
24
|
+
export { PostEnvTest as PostEnvTest } from '../types/utils/tests/environment/post-env-test';
|
|
25
|
+
export { defineCustomElement as defineCustomElementPostEnvTest } from './post-env-test';
|
|
24
26
|
export { PostFooter as PostFooter } from '../types/components/post-footer/post-footer';
|
|
25
27
|
export { defineCustomElement as defineCustomElementPostFooter } from './post-footer';
|
|
26
28
|
export { PostHeader as PostHeader } from '../types/components/post-header/post-header';
|
|
27
29
|
export { defineCustomElement as defineCustomElementPostHeader } from './post-header';
|
|
28
30
|
export { PostIcon as PostIcon } from '../types/components/post-icon/post-icon';
|
|
29
31
|
export { defineCustomElement as defineCustomElementPostIcon } from './post-icon';
|
|
30
|
-
export {
|
|
31
|
-
export { defineCustomElement as
|
|
32
|
-
export {
|
|
33
|
-
export { defineCustomElement as
|
|
32
|
+
export { PostLanguageMenu as PostLanguageMenu } from '../types/components/post-language-menu/post-language-menu';
|
|
33
|
+
export { defineCustomElement as defineCustomElementPostLanguageMenu } from './post-language-menu';
|
|
34
|
+
export { PostLanguageMenuItem as PostLanguageMenuItem } from '../types/components/post-language-menu-item/post-language-menu-item';
|
|
35
|
+
export { defineCustomElement as defineCustomElementPostLanguageMenuItem } from './post-language-menu-item';
|
|
34
36
|
export { PostLinkarea as PostLinkarea } from '../types/components/post-linkarea/post-linkarea';
|
|
35
37
|
export { defineCustomElement as defineCustomElementPostLinkarea } from './post-linkarea';
|
|
36
|
-
export { PostList as PostList } from '../types/components/post-list/post-list';
|
|
37
|
-
export { defineCustomElement as defineCustomElementPostList } from './post-list';
|
|
38
|
-
export { PostListItem as PostListItem } from '../types/components/post-list-item/post-list-item';
|
|
39
|
-
export { defineCustomElement as defineCustomElementPostListItem } from './post-list-item';
|
|
40
38
|
export { PostLogo as PostLogo } from '../types/components/post-logo/post-logo';
|
|
41
39
|
export { defineCustomElement as defineCustomElementPostLogo } from './post-logo';
|
|
42
40
|
export { PostMainnavigation as PostMainnavigation } from '../types/components/post-mainnavigation/post-mainnavigation';
|
|
@@ -51,6 +49,8 @@ export { PostMenuItem as PostMenuItem } from '../types/components/post-menu-item
|
|
|
51
49
|
export { defineCustomElement as defineCustomElementPostMenuItem } from './post-menu-item';
|
|
52
50
|
export { PostMenuTrigger as PostMenuTrigger } from '../types/components/post-menu-trigger/post-menu-trigger';
|
|
53
51
|
export { defineCustomElement as defineCustomElementPostMenuTrigger } from './post-menu-trigger';
|
|
52
|
+
export { PostPagination as PostPagination } from '../types/components/post-pagination/post-pagination';
|
|
53
|
+
export { defineCustomElement as defineCustomElementPostPagination } from './post-pagination';
|
|
54
54
|
export { PostPopover as PostPopover } from '../types/components/post-popover/post-popover';
|
|
55
55
|
export { defineCustomElement as defineCustomElementPostPopover } from './post-popover';
|
|
56
56
|
export { PostPopoverTrigger as PostPopoverTrigger } from '../types/components/post-popover-trigger/post-popover-trigger';
|
|
@@ -59,8 +59,12 @@ export { PostPopovercontainer as PostPopovercontainer } from '../types/component
|
|
|
59
59
|
export { defineCustomElement as defineCustomElementPostPopovercontainer } from './post-popovercontainer';
|
|
60
60
|
export { PostRating as PostRating } from '../types/components/post-rating/post-rating';
|
|
61
61
|
export { defineCustomElement as defineCustomElementPostRating } from './post-rating';
|
|
62
|
-
export {
|
|
63
|
-
export { defineCustomElement as
|
|
62
|
+
export { PostStepper as PostStepper } from '../types/components/post-stepper/post-stepper';
|
|
63
|
+
export { defineCustomElement as defineCustomElementPostStepper } from './post-stepper';
|
|
64
|
+
export { PostStepperItem as PostStepperItem } from '../types/components/post-stepper-item/post-stepper-item';
|
|
65
|
+
export { defineCustomElement as defineCustomElementPostStepperItem } from './post-stepper-item';
|
|
66
|
+
export { PostTabItem as PostTabItem } from '../types/components/post-tab-item/post-tab-item';
|
|
67
|
+
export { defineCustomElement as defineCustomElementPostTabItem } from './post-tab-item';
|
|
64
68
|
export { PostTabPanel as PostTabPanel } from '../types/components/post-tab-panel/post-tab-panel';
|
|
65
69
|
export { defineCustomElement as defineCustomElementPostTabPanel } from './post-tab-panel';
|
|
66
70
|
export { PostTabs as PostTabs } from '../types/components/post-tabs/post-tabs';
|
package/dist/components/index.js
CHANGED
|
@@ -10,14 +10,13 @@ export { PostCardControl, defineCustomElement as defineCustomElementPostCardCont
|
|
|
10
10
|
export { PostClosebutton, defineCustomElement as defineCustomElementPostClosebutton } from './post-closebutton.js';
|
|
11
11
|
export { PostCollapsible, defineCustomElement as defineCustomElementPostCollapsible } from './post-collapsible.js';
|
|
12
12
|
export { PostCollapsibleTrigger, defineCustomElement as defineCustomElementPostCollapsibleTrigger } from './post-collapsible-trigger.js';
|
|
13
|
+
export { PostEnvTest, defineCustomElement as defineCustomElementPostEnvTest } from './post-env-test.js';
|
|
13
14
|
export { PostFooter, defineCustomElement as defineCustomElementPostFooter } from './post-footer.js';
|
|
14
15
|
export { PostHeader, defineCustomElement as defineCustomElementPostHeader } from './post-header.js';
|
|
15
16
|
export { PostIcon, defineCustomElement as defineCustomElementPostIcon } from './post-icon.js';
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
17
|
+
export { PostLanguageMenu, defineCustomElement as defineCustomElementPostLanguageMenu } from './post-language-menu.js';
|
|
18
|
+
export { PostLanguageMenuItem, defineCustomElement as defineCustomElementPostLanguageMenuItem } from './post-language-menu-item.js';
|
|
18
19
|
export { PostLinkarea, defineCustomElement as defineCustomElementPostLinkarea } from './post-linkarea.js';
|
|
19
|
-
export { PostList, defineCustomElement as defineCustomElementPostList } from './post-list.js';
|
|
20
|
-
export { PostListItem, defineCustomElement as defineCustomElementPostListItem } from './post-list-item.js';
|
|
21
20
|
export { PostLogo, defineCustomElement as defineCustomElementPostLogo } from './post-logo.js';
|
|
22
21
|
export { PostMainnavigation, defineCustomElement as defineCustomElementPostMainnavigation } from './post-mainnavigation.js';
|
|
23
22
|
export { PostMegadropdown, defineCustomElement as defineCustomElementPostMegadropdown } from './post-megadropdown.js';
|
|
@@ -25,11 +24,14 @@ export { PostMegadropdownTrigger, defineCustomElement as defineCustomElementPost
|
|
|
25
24
|
export { PostMenu, defineCustomElement as defineCustomElementPostMenu } from './post-menu.js';
|
|
26
25
|
export { PostMenuItem, defineCustomElement as defineCustomElementPostMenuItem } from './post-menu-item.js';
|
|
27
26
|
export { PostMenuTrigger, defineCustomElement as defineCustomElementPostMenuTrigger } from './post-menu-trigger.js';
|
|
27
|
+
export { PostPagination, defineCustomElement as defineCustomElementPostPagination } from './post-pagination.js';
|
|
28
28
|
export { PostPopover, defineCustomElement as defineCustomElementPostPopover } from './post-popover.js';
|
|
29
29
|
export { PostPopoverTrigger, defineCustomElement as defineCustomElementPostPopoverTrigger } from './post-popover-trigger.js';
|
|
30
30
|
export { PostPopovercontainer, defineCustomElement as defineCustomElementPostPopovercontainer } from './post-popovercontainer.js';
|
|
31
31
|
export { PostRating, defineCustomElement as defineCustomElementPostRating } from './post-rating.js';
|
|
32
|
-
export {
|
|
32
|
+
export { PostStepper, defineCustomElement as defineCustomElementPostStepper } from './post-stepper.js';
|
|
33
|
+
export { PostStepperItem, defineCustomElement as defineCustomElementPostStepperItem } from './post-stepper-item.js';
|
|
34
|
+
export { PostTabItem, defineCustomElement as defineCustomElementPostTabItem } from './post-tab-item.js';
|
|
33
35
|
export { PostTabPanel, defineCustomElement as defineCustomElementPostTabPanel } from './post-tab-panel.js';
|
|
34
36
|
export { PostTabs, defineCustomElement as defineCustomElementPostTabs } from './post-tabs.js';
|
|
35
37
|
export { PostTogglebutton, defineCustomElement as defineCustomElementPostTogglebutton } from './post-togglebutton.js';
|