@swisspost/design-system-components 10.0.0-next.55 → 10.0.0-next.57
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-B4gYpuJF.js → index-B4rc1pqu.js} +2150 -292
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{package-DkJrv93P.js → package-uQ5oiSiN.js} +1 -1
- package/dist/cjs/post-accordion_2.cjs.entry.js +19 -15
- package/dist/cjs/post-avatar.cjs.entry.js +27 -17
- package/dist/cjs/post-back-to-top.cjs.entry.js +23 -43
- package/dist/cjs/post-banner.cjs.entry.js +15 -12
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +14 -12
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +33 -34
- package/dist/cjs/post-card-control.cjs.entry.js +42 -26
- package/dist/cjs/{post-closebutton_15.cjs.entry.js → post-closebutton_13.cjs.entry.js} +618 -531
- package/dist/cjs/post-collapsible_2.cjs.entry.js +41 -37
- package/dist/cjs/post-components.cjs.js +3 -3
- package/dist/cjs/post-env-test.cjs.entry.js +15 -0
- package/dist/cjs/post-footer.cjs.entry.js +24 -20
- package/dist/cjs/post-linkarea.cjs.entry.js +5 -5
- package/dist/cjs/post-pagination.cjs.entry.js +615 -0
- package/dist/cjs/post-popover-trigger.cjs.entry.js +54 -34
- package/dist/cjs/post-popover.cjs.entry.js +26 -17
- package/dist/cjs/post-rating.cjs.entry.js +24 -18
- package/dist/cjs/post-stepper-item.cjs.entry.js +5 -5
- package/dist/cjs/post-stepper.cjs.entry.js +40 -29
- package/dist/cjs/post-tab-item.cjs.entry.js +51 -0
- package/dist/cjs/post-tab-panel.cjs.entry.js +13 -11
- package/dist/cjs/post-tabs.cjs.entry.js +195 -40
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +13 -11
- package/dist/cjs/post-tooltip.cjs.entry.js +14 -12
- 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 -8
- package/dist/collection/components/post-accordion/post-accordion.css +1 -1
- package/dist/collection/components/post-accordion/post-accordion.js +5 -4
- package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.js +9 -8
- package/dist/collection/components/post-avatar/post-avatar.js +11 -11
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +15 -15
- package/dist/collection/components/post-banner/post-banner.css +4 -1
- package/dist/collection/components/post-banner/post-banner.js +6 -5
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +3 -3
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +29 -29
- package/dist/collection/components/post-card-control/post-card-control.js +18 -18
- package/dist/collection/components/post-closebutton/post-closebutton.css +1 -1
- package/dist/collection/components/post-closebutton/post-closebutton.js +4 -3
- package/dist/collection/components/post-collapsible/post-collapsible.js +28 -28
- package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +3 -3
- 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 +144 -82
- package/dist/collection/components/post-icon/post-icon.js +18 -16
- 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} +45 -36
- 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} +24 -23
- 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 +3 -3
- 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 +183 -74
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +3 -1
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +81 -75
- package/dist/collection/components/post-menu/post-menu.css +1 -1
- package/dist/collection/components/post-menu/post-menu.js +39 -38
- package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +3 -3
- 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.js +22 -16
- package/dist/collection/components/post-popover-trigger/post-popover-trigger.js +45 -29
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +82 -131
- package/dist/collection/components/post-rating/post-rating.js +7 -7
- package/dist/collection/components/post-stepper/post-stepper.js +38 -35
- package/dist/collection/components/post-stepper-item/post-stepper-item.css +2 -2
- package/dist/collection/components/post-stepper-item/post-stepper-item.js +1 -1
- 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 +10 -10
- package/dist/collection/components/post-tabs/post-tabs.js +232 -59
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +2 -2
- package/dist/collection/components/post-tooltip/post-tooltip.js +9 -27
- package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +4 -4
- 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 +4 -5
- package/dist/components/breakpoints.js +1 -178
- package/dist/components/debounce.js +1 -0
- package/dist/components/environment.js +1 -0
- package/dist/components/event-from.js +1 -119
- package/dist/components/fade-slide.js +1 -0
- package/dist/components/fade.js +1 -11
- package/dist/components/focusable.js +1 -5018
- package/dist/components/get-focusable-children.js +1 -64
- package/dist/components/get-root.js +1 -15
- package/dist/components/heading-levels.js +1 -3
- package/dist/components/index.browser.js +1 -14
- package/dist/components/index.d.ts +11 -10
- package/dist/components/index.js +1 -39
- package/dist/components/long-press-event.js +1 -257
- package/dist/components/package.js +1 -3
- package/dist/components/post-accordion-item.js +1 -6
- package/dist/components/post-accordion-item2.js +1 -113
- package/dist/components/post-accordion.js +1 -6
- package/dist/components/post-accordion2.js +1 -138
- package/dist/components/post-avatar.js +1 -217
- package/dist/components/post-back-to-top.js +1 -144
- package/dist/components/post-banner.js +1 -98
- package/dist/components/post-breadcrumb-item.js +1 -6
- package/dist/components/post-breadcrumb-item2.js +1 -79
- package/dist/components/post-breadcrumbs.js +1 -196
- package/dist/components/post-card-control.js +1 -326
- package/dist/components/post-closebutton.js +1 -6
- package/dist/components/post-closebutton2.js +1 -77
- package/dist/components/post-collapsible-trigger.js +1 -6
- package/dist/components/post-collapsible-trigger2.js +1 -136
- package/dist/components/post-collapsible.js +1 -6
- package/dist/components/post-collapsible2.js +1 -110
- package/dist/components/{post-list.d.ts → post-env-test.d.ts} +4 -4
- package/dist/components/post-env-test.js +1 -0
- package/dist/components/post-footer.js +1 -116
- package/dist/components/post-header.js +1 -372
- package/dist/components/post-icon.js +1 -6
- package/dist/components/post-icon2.js +1 -159
- package/dist/components/post-language-menu-item.d.ts +11 -0
- package/dist/components/post-language-menu-item.js +1 -0
- package/dist/components/{post-language-switch.d.ts → post-language-menu.d.ts} +4 -4
- package/dist/components/post-language-menu.js +1 -0
- package/dist/components/post-linkarea.js +1 -58
- package/dist/components/post-logo.js +1 -58
- package/dist/components/post-mainnavigation.js +1 -180
- package/dist/components/post-megadropdown-trigger.js +1 -136
- package/dist/components/post-megadropdown.js +1 -267
- package/dist/components/post-menu-item.js +1 -6
- package/dist/components/post-menu-item2.js +1 -30
- package/dist/components/post-menu-trigger.js +1 -6
- package/dist/components/post-menu-trigger2.js +1 -110
- package/dist/components/post-menu.js +1 -6
- package/dist/components/post-menu2.js +1 -242
- package/dist/components/{post-tab-header.d.ts → post-pagination.d.ts} +4 -4
- package/dist/components/post-pagination.js +1 -0
- package/dist/components/post-popover-trigger.js +1 -132
- package/dist/components/post-popover.js +1 -118
- package/dist/components/post-popovercontainer.js +1 -6
- package/dist/components/post-popovercontainer2.js +1 -3127
- package/dist/components/post-rating.js +1 -148
- package/dist/components/post-stepper-item.js +1 -33
- package/dist/components/post-stepper.js +1 -134
- package/dist/components/{post-list-item.d.ts → post-tab-item.d.ts} +4 -4
- package/dist/components/post-tab-item.js +1 -0
- package/dist/components/post-tab-panel.js +1 -54
- package/dist/components/post-tabs.js +1 -196
- package/dist/components/post-togglebutton.js +1 -56
- package/dist/components/post-togglebutton2.js +1 -0
- package/dist/components/post-tooltip-trigger.js +1 -206
- package/dist/components/post-tooltip.js +1 -114
- package/dist/components/react/index.d.ts +2 -0
- package/dist/components/react/index.js +1 -2315
- package/dist/components/react/p-B8YiQ3mz.js +1 -0
- package/dist/components/react/p-BC5nlBvn.js +1 -0
- package/dist/components/react/p-BLchVpF6.js +1 -14
- package/dist/components/react/p-BVCjnh6Q.js +1 -0
- package/dist/{post-components/p-CBFgkSgY.js → components/react/p-BVGcVycs.js} +1 -1
- package/dist/components/react/p-B_XPj2c8.js +1 -0
- package/dist/components/react/p-BllOMLDs.js +1 -0
- package/dist/components/react/p-BmRNjQUZ.js +1 -0
- package/dist/components/react/p-ByFh05IW.js +1 -0
- package/dist/components/react/p-C9hMpmsD.js +1 -0
- package/dist/components/react/p-CJ13r5fi.js +1 -0
- package/dist/components/react/p-CZvbetqX.js +1 -0
- package/dist/components/react/p-C_2k3G1c.js +1 -257
- package/dist/components/react/p-CoDiS_Ik.js +1 -0
- package/dist/components/react/p-Cou17ld8.js +1 -0
- package/dist/components/react/p-D5knoiyy.js +1 -0
- package/dist/components/react/p-D9DDtvFM.js +1 -0
- package/dist/components/react/p-DY2U5CQt.js +1 -0
- package/dist/components/react/p-DjIHLduJ.js +1 -3
- package/dist/components/react/p-DpATRD2W.js +1 -0
- package/dist/components/react/p-FxUVQ4Tx.js +1 -0
- package/dist/components/react/p-HygIVKXC.js +1 -5018
- package/dist/components/react/p-YR7U0Z_g.js +1 -0
- package/dist/components/react/p-ZeKXASQs.js +1 -0
- package/dist/components/react/p-r4txK0AC.js +1 -3
- package/dist/components/react/p-sSn0kXFi.js +1 -0
- package/dist/components/react/post-accordion-item.js +1 -6
- package/dist/components/react/post-accordion.js +1 -6
- package/dist/components/react/post-avatar.js +1 -218
- package/dist/components/react/post-back-to-top.js +1 -145
- package/dist/components/react/post-banner.js +1 -99
- package/dist/components/react/post-breadcrumb-item.js +1 -6
- package/dist/components/react/post-breadcrumbs.js +1 -197
- package/dist/components/react/post-card-control.js +1 -327
- package/dist/components/react/post-closebutton.js +1 -6
- package/dist/components/react/post-collapsible-trigger.js +1 -6
- package/dist/components/react/post-collapsible.js +1 -6
- package/dist/components/react/{post-list.d.ts → post-env-test.d.ts} +4 -4
- package/dist/components/react/post-env-test.js +1 -0
- package/dist/components/react/post-footer.js +1 -117
- package/dist/components/react/post-header.js +1 -373
- package/dist/components/react/post-icon.js +1 -6
- package/dist/components/react/post-language-menu-item.d.ts +11 -0
- package/dist/components/react/post-language-menu-item.js +1 -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 +1 -0
- package/dist/components/react/post-linkarea.js +1 -59
- package/dist/components/react/post-logo.js +1 -59
- package/dist/components/react/post-mainnavigation.js +1 -181
- package/dist/components/react/post-megadropdown-trigger.js +1 -137
- package/dist/components/react/post-megadropdown.js +1 -268
- package/dist/components/react/post-menu-item.js +1 -6
- package/dist/components/react/post-menu-trigger.js +1 -6
- package/dist/components/react/post-menu.js +1 -6
- package/dist/components/react/{post-tab-header.d.ts → post-pagination.d.ts} +4 -4
- package/dist/components/react/post-pagination.js +1 -0
- package/dist/components/react/post-popover-trigger.js +1 -133
- package/dist/components/react/post-popover.js +1 -119
- package/dist/components/react/post-popovercontainer.js +1 -6
- package/dist/components/react/post-rating.js +1 -149
- package/dist/components/react/post-stepper-item.js +1 -34
- package/dist/components/react/post-stepper.js +1 -135
- package/dist/components/react/{post-list-item.d.ts → post-tab-item.d.ts} +4 -4
- package/dist/components/react/post-tab-item.js +1 -0
- package/dist/components/react/post-tab-panel.js +1 -55
- package/dist/components/react/post-tabs.js +1 -197
- package/dist/components/react/post-togglebutton.js +1 -57
- package/dist/components/react/post-tooltip-trigger.js +1 -207
- package/dist/components/react/post-tooltip.js +1 -115
- package/dist/components/switch-variants.js +1 -3
- package/dist/components/utils.js +1 -0
- package/dist/docs.d.ts +11 -0
- package/dist/docs.json +873 -631
- package/dist/{cjs/breakpoints-CEkeixld.js → esm/breakpoints-DYoSKGHO.js} +89 -6
- package/dist/esm/debounce-C9hMpmsD.js +11 -0
- package/dist/esm/environment-CEmnRoA6.js +49 -0
- package/dist/{components/react/p-CzIKqBrS.js → esm/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/{components/react/p-CBFgkSgY.js → esm/get-root-CXfAA093.js} +1 -1
- package/dist/esm/{index-wEFJ-c34.js → index-CDZBzSdV.js} +2150 -292
- package/dist/esm/loader.js +3 -3
- package/dist/esm/package-CZvbetqX.js +3 -0
- package/dist/esm/post-accordion_2.entry.js +17 -13
- package/dist/esm/post-avatar.entry.js +22 -12
- package/dist/esm/post-back-to-top.entry.js +23 -43
- package/dist/esm/post-banner.entry.js +14 -11
- package/dist/esm/post-breadcrumb-item_2.entry.js +13 -11
- package/dist/esm/post-breadcrumbs.entry.js +31 -32
- package/dist/esm/post-card-control.entry.js +32 -16
- package/dist/esm/{post-closebutton_15.entry.js → post-closebutton_13.entry.js} +599 -510
- package/dist/esm/post-collapsible_2.entry.js +38 -34
- package/dist/esm/post-components.js +4 -4
- package/dist/esm/post-env-test.entry.js +13 -0
- package/dist/esm/post-footer.entry.js +21 -17
- package/dist/esm/post-linkarea.entry.js +5 -5
- package/dist/esm/post-pagination.entry.js +613 -0
- package/dist/esm/post-popover-trigger.entry.js +52 -32
- package/dist/esm/post-popover.entry.js +25 -16
- package/dist/esm/post-rating.entry.js +16 -10
- package/dist/esm/post-stepper-item.entry.js +5 -5
- package/dist/esm/post-stepper.entry.js +39 -28
- package/dist/esm/post-tab-item.entry.js +49 -0
- package/dist/esm/post-tab-panel.entry.js +13 -11
- package/dist/esm/post-tabs.entry.js +195 -40
- package/dist/esm/post-tooltip-trigger.entry.js +10 -8
- package/dist/esm/post-tooltip.entry.js +13 -11
- package/dist/esm/utils-CoDiS_Ik.js +24 -0
- package/dist/post-components/p-09ba7cf9.entry.js +1 -0
- package/dist/post-components/p-0c091898.entry.js +1 -0
- package/dist/post-components/{p-cd03e6f2.entry.js → p-0e97fcfd.entry.js} +1 -1
- package/dist/post-components/p-296f1dd5.entry.js +1 -0
- package/dist/post-components/p-32ad2b21.entry.js +1 -0
- package/dist/post-components/p-366c28cb.entry.js +1 -0
- package/dist/post-components/p-41ae68d5.entry.js +1 -0
- package/dist/post-components/p-448e7265.entry.js +1 -0
- package/dist/post-components/p-554da188.entry.js +1 -0
- package/dist/post-components/p-5912f8f1.entry.js +1 -0
- package/dist/post-components/p-790f300d.entry.js +1 -0
- package/dist/post-components/p-7ed5a493.entry.js +1 -0
- package/dist/post-components/p-85bea1b6.entry.js +1 -0
- package/dist/post-components/p-8bcff4d2.entry.js +1 -0
- package/dist/post-components/p-9dc9c245.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-CDZBzSdV.js +2 -0
- package/dist/post-components/p-CEmnRoA6.js +1 -0
- package/dist/post-components/p-CZvbetqX.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-a06f9695.entry.js +1 -0
- package/dist/post-components/p-a191f1df.entry.js +1 -0
- package/dist/post-components/p-c5d19d62.entry.js +1 -0
- package/dist/post-components/{p-24dc54d1.entry.js → p-c8c4d05b.entry.js} +1 -1
- package/dist/post-components/{p-57288cb2.entry.js → p-d1a5c980.entry.js} +1 -1
- package/dist/post-components/p-d4e2c556.entry.js +1 -0
- package/dist/post-components/p-f96a310c.entry.js +1 -0
- package/dist/post-components/p-fab2327d.entry.js +1 -0
- package/dist/post-components/p-rEfV4v4a.js +1 -0
- 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-footer/post-footer.d.ts +4 -4
- package/dist/types/components/post-header/post-header.d.ts +23 -13
- package/dist/types/components/{post-language-switch/post-language-switch.d.ts → post-language-menu/post-language-menu.d.ts} +12 -11
- 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 +4 -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 +23 -21
- package/dist/types/components/post-rating/post-rating.d.ts +1 -1
- package/dist/types/components/post-stepper/post-stepper.d.ts +9 -8
- 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/post-tooltip/post-tooltip.d.ts +1 -5
- package/dist/types/components.d.ts +322 -219
- package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/prebuild.d.ts +9 -0
- package/dist/types/stencil-public-runtime.d.ts +147 -10
- 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.d.ts +14 -0
- package/hydrate/index.js +7494 -2714
- package/hydrate/index.mjs +7493 -2715
- package/package.json +7 -8
- package/dist/cjs/fade-nS5zzDQS.js +0 -14
- package/dist/cjs/index-UFKR6Ok0.js +0 -98
- 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 -89
- 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-BVXiQdHq.js +0 -64
- package/dist/components/react/p-BhxZzOEC.js +0 -3
- package/dist/components/react/p-CSAMO7iJ.js +0 -243
- package/dist/components/react/p-CYkf_7Y5.js +0 -89
- package/dist/components/react/p-Ccrl2AQn.js +0 -111
- package/dist/components/react/p-CewRvBtg.js +0 -139
- package/dist/components/react/p-Cwiv86_f.js +0 -111
- package/dist/components/react/p-D2waO0Zc.js +0 -31
- package/dist/components/react/p-DBPOV12C.js +0 -160
- package/dist/components/react/p-DVGEExot.js +0 -3128
- package/dist/components/react/p-Djvj8fd2.js +0 -80
- package/dist/components/react/p-LtiDhYis.js +0 -137
- package/dist/components/react/p-SbIC4aZX.js +0 -11
- package/dist/components/react/p-XrZzCOKT.js +0 -78
- package/dist/components/react/p-v3pOrMNQ.js +0 -114
- 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/breakpoints-CJ80BZ06.js +0 -178
- package/dist/esm/event-from-CzIKqBrS.js +0 -119
- package/dist/esm/fade-SbIC4aZX.js +0 -11
- package/dist/esm/get-root-BkQ3CrLq.js +0 -15
- package/dist/esm/index-Beaz8wEe.js +0 -89
- package/dist/esm/package-BhxZzOEC.js +0 -3
- package/dist/esm/post-tab-header.entry.js +0 -29
- package/dist/post-components/p-01e678c9.entry.js +0 -1
- package/dist/post-components/p-034a453f.entry.js +0 -1
- package/dist/post-components/p-15a4cdbf.entry.js +0 -1
- package/dist/post-components/p-2a2030bf.entry.js +0 -1
- package/dist/post-components/p-2ed84cc3.entry.js +0 -1
- package/dist/post-components/p-3228968f.entry.js +0 -1
- package/dist/post-components/p-3c01ddfe.entry.js +0 -1
- package/dist/post-components/p-748b1f01.entry.js +0 -1
- package/dist/post-components/p-7745e46e.entry.js +0 -1
- package/dist/post-components/p-7f635728.entry.js +0 -1
- package/dist/post-components/p-82c178a3.entry.js +0 -1
- package/dist/post-components/p-9b5f8319.entry.js +0 -1
- package/dist/post-components/p-Beaz8wEe.js +0 -1
- package/dist/post-components/p-BhxZzOEC.js +0 -1
- 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-a9644e54.entry.js +0 -1
- package/dist/post-components/p-af030a3a.entry.js +0 -1
- package/dist/post-components/p-b8ba8139.entry.js +0 -1
- package/dist/post-components/p-db935e8e.entry.js +0 -1
- package/dist/post-components/p-e62e1f57.entry.js +0 -1
- package/dist/post-components/p-fb4b1641.entry.js +0 -1
- package/dist/post-components/p-wEFJ-c34.js +0 -2
- 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 → components/react/p-rEfV4v4a.js} +0 -0
- /package/dist/types/components/{post-language-switch → post-language-menu}/switch-variants.d.ts +0 -0
|
@@ -1,242 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { a as PLACEMENT_TYPES, d as defineCustomElement$1 } from './post-popovercontainer2.js';
|
|
3
|
-
import { v as version } from './package.js';
|
|
4
|
-
import { g as getFocusableChildren } from './get-focusable-children.js';
|
|
5
|
-
import { d as checkEmptyOrOneOf, c as checkRequiredAndType } from './index2.js';
|
|
6
|
-
import './breakpoints.js';
|
|
7
|
-
import { E as EventFrom } from './event-from.js';
|
|
8
|
-
import { g as getRoot } from './get-root.js';
|
|
9
|
-
|
|
10
|
-
const postMenuCss = ":host{display:block}:where([part=menu]){display:flex;flex-direction:column;padding-block:.5rem}::slotted([slot=header]){margin-top:-0.5rem;padding:1rem;display:flex;align-items:center;gap:.5rem;border-block-end:1px solid #050400;font-weight:700}@media screen and (max-width: 1023.98px){::slotted([slot=header]){padding:.75rem 1rem}}@media screen and (max-width: 779.98px){::slotted([slot=header]){padding:.5rem 1rem}}";
|
|
11
|
-
|
|
12
|
-
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
13
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
14
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
15
|
-
r = Reflect.decorate(decorators, target, key, desc);
|
|
16
|
-
else
|
|
17
|
-
for (var i = decorators.length - 1; i >= 0; i--)
|
|
18
|
-
if (d = decorators[i])
|
|
19
|
-
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
20
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
21
|
-
};
|
|
22
|
-
const PostMenu = /*@__PURE__*/ proxyCustomElement(class PostMenu extends HTMLElement {
|
|
23
|
-
constructor() {
|
|
24
|
-
super();
|
|
25
|
-
this.__registerHost();
|
|
26
|
-
this.__attachShadow();
|
|
27
|
-
this.toggleMenu = createEvent(this, "toggleMenu", 7);
|
|
28
|
-
this.lastFocusedElement = null;
|
|
29
|
-
this.KEYCODES = {
|
|
30
|
-
SPACE: ' ',
|
|
31
|
-
ENTER: 'Enter',
|
|
32
|
-
UP: 'ArrowUp',
|
|
33
|
-
DOWN: 'ArrowDown',
|
|
34
|
-
TAB: 'Tab',
|
|
35
|
-
HOME: 'Home',
|
|
36
|
-
END: 'End',
|
|
37
|
-
ESCAPE: 'Escape',
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Defines the position of the menu relative to its trigger.
|
|
41
|
-
* Menus are automatically flipped to the opposite side if there is not enough available space and are shifted towards the viewport if they would overlap edge boundaries.
|
|
42
|
-
* For supported values and behavior details, see the [Floating UI placement documentation](https://floating-ui.com/docs/computePosition#placement).
|
|
43
|
-
*/
|
|
44
|
-
this.placement = 'bottom';
|
|
45
|
-
/**
|
|
46
|
-
* Holds the current visibility state of the menu.
|
|
47
|
-
* This state is internally managed to track whether the menu is open (`true`) or closed (`false`),
|
|
48
|
-
* and updates automatically when the menu is toggled.
|
|
49
|
-
*/
|
|
50
|
-
this.isVisible = false;
|
|
51
|
-
this.handleKeyDown = (e) => {
|
|
52
|
-
e.stopPropagation();
|
|
53
|
-
if (e.key === this.KEYCODES.ESCAPE) {
|
|
54
|
-
this.toggle(this.host);
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
if (Object.values(this.KEYCODES).includes(e.key)) {
|
|
58
|
-
this.controlKeyDownHandler(e);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
this.handlePostShown = (event) => {
|
|
62
|
-
// Only for the first open
|
|
63
|
-
if (event.detail.first) {
|
|
64
|
-
// Add "menu" and "menuitem" aria roles and aria-label
|
|
65
|
-
this.host.setAttribute('role', 'menu');
|
|
66
|
-
const menuItems = this.getSlottedItems();
|
|
67
|
-
for (const item of menuItems) {
|
|
68
|
-
item.setAttribute('role', 'menuitem');
|
|
69
|
-
}
|
|
70
|
-
if (this.label)
|
|
71
|
-
this.host.setAttribute('aria-label', this.label);
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
this.handlePostToggled = (event) => {
|
|
75
|
-
this.isVisible = event.detail.isOpen;
|
|
76
|
-
this.toggleMenu.emit(this.isVisible);
|
|
77
|
-
if (this.isVisible) {
|
|
78
|
-
this.lastFocusedElement = this.root?.activeElement;
|
|
79
|
-
requestAnimationFrame(() => {
|
|
80
|
-
const menuItems = this.getSlottedItems();
|
|
81
|
-
if (menuItems.length > 0) {
|
|
82
|
-
menuItems[0].focus();
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
else if (this.lastFocusedElement) {
|
|
87
|
-
this.lastFocusedElement.focus();
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
this.handleClick = (e) => {
|
|
91
|
-
const target = e.target;
|
|
92
|
-
if (['BUTTON', 'A', 'INPUT', 'SELECT', 'TEXTAREA'].includes(target.tagName)) {
|
|
93
|
-
this.toggle(this.host);
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
validatePlacement() {
|
|
98
|
-
checkEmptyOrOneOf(this, 'placement', PLACEMENT_TYPES);
|
|
99
|
-
}
|
|
100
|
-
validateLabel() {
|
|
101
|
-
checkRequiredAndType(this, 'label', 'string');
|
|
102
|
-
}
|
|
103
|
-
connectedCallback() {
|
|
104
|
-
this.root = getRoot(this.host);
|
|
105
|
-
this.host.addEventListener('keydown', this.handleKeyDown);
|
|
106
|
-
this.host.addEventListener('click', this.handleClick);
|
|
107
|
-
}
|
|
108
|
-
disconnectedCallback() {
|
|
109
|
-
this.host.removeEventListener('keydown', this.handleKeyDown);
|
|
110
|
-
this.host.removeEventListener('click', this.handleClick);
|
|
111
|
-
}
|
|
112
|
-
componentDidLoad() {
|
|
113
|
-
this.validatePlacement();
|
|
114
|
-
this.validateLabel();
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Toggles the menu visibility based on its current state.
|
|
118
|
-
*/
|
|
119
|
-
async toggle(target) {
|
|
120
|
-
if (this.popoverRef) {
|
|
121
|
-
await this.popoverRef.toggle(target);
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
console.error('toggle: popoverRef is null or undefined');
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Displays the popover menu, focusing the first menu item.
|
|
129
|
-
*
|
|
130
|
-
* @param target - The HTML element relative to which the popover menu should be displayed.
|
|
131
|
-
*/
|
|
132
|
-
async show(target) {
|
|
133
|
-
if (this.popoverRef) {
|
|
134
|
-
await this.popoverRef.show(target);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
console.error('show: popoverRef is null or undefined');
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Hides the popover menu and restores focus to the previously focused element.
|
|
142
|
-
*/
|
|
143
|
-
async hide() {
|
|
144
|
-
if (this.popoverRef) {
|
|
145
|
-
await this.popoverRef.hide();
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
console.error('hide: popoverRef is null or undefined');
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
controlKeyDownHandler(e) {
|
|
152
|
-
const menuItems = this.getSlottedItems();
|
|
153
|
-
if (!menuItems.length) {
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
let currentIndex = menuItems.findIndex(el => {
|
|
157
|
-
// Check if the item is currently focused within its rendered scope (document or shadow root)
|
|
158
|
-
return el === getRoot(el).activeElement;
|
|
159
|
-
});
|
|
160
|
-
switch (e.key) {
|
|
161
|
-
case this.KEYCODES.UP:
|
|
162
|
-
e.preventDefault();
|
|
163
|
-
currentIndex = (currentIndex - 1 + menuItems.length) % menuItems.length;
|
|
164
|
-
break;
|
|
165
|
-
case this.KEYCODES.DOWN:
|
|
166
|
-
e.preventDefault();
|
|
167
|
-
currentIndex = (currentIndex + 1) % menuItems.length;
|
|
168
|
-
break;
|
|
169
|
-
case this.KEYCODES.HOME:
|
|
170
|
-
currentIndex = 0;
|
|
171
|
-
break;
|
|
172
|
-
case this.KEYCODES.END:
|
|
173
|
-
e.preventDefault();
|
|
174
|
-
currentIndex = menuItems.length - 1;
|
|
175
|
-
break;
|
|
176
|
-
case this.KEYCODES.SPACE:
|
|
177
|
-
this.toggle(this.host);
|
|
178
|
-
return;
|
|
179
|
-
case this.KEYCODES.TAB:
|
|
180
|
-
this.toggle(this.host);
|
|
181
|
-
break;
|
|
182
|
-
}
|
|
183
|
-
if (menuItems[currentIndex]) {
|
|
184
|
-
menuItems[currentIndex].focus();
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
getSlottedItems() {
|
|
188
|
-
const slot = this.host.shadowRoot.querySelectorAll('slot');
|
|
189
|
-
const slottedElements = [];
|
|
190
|
-
slot.forEach(slotItem => slottedElements.push(...slotItem.assignedElements()));
|
|
191
|
-
return (slottedElements
|
|
192
|
-
// If the element is a slot, get the assigned elements
|
|
193
|
-
.flatMap(el => (el instanceof HTMLSlotElement ? el.assignedElements() : el))
|
|
194
|
-
// For each menu item, get any focusable children (e.g., buttons, links)
|
|
195
|
-
.flatMap(el => Array.from(getFocusableChildren(el))));
|
|
196
|
-
}
|
|
197
|
-
render() {
|
|
198
|
-
return (h(Host, { key: 'ab27eeef6ddcca57eb65ca9f7471809d9f78d7d1', "data-version": version }, h("post-popovercontainer", { key: 'c8053a6cbae6d22751e81107099180b95829b8c4', onPostShow: this.handlePostShown, onPostToggle: this.handlePostToggled, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'c60d336220b331cd7f3d5b896788f3fdcee090cf', part: "menu" }, h("slot", { key: '629b1f5dbe4074df6459bdfe64e1c0f836314e85', name: "header" }), h("slot", { key: 'c918bba494424db857e7e99fd80d24224bdeb9ed' })))));
|
|
199
|
-
}
|
|
200
|
-
get host() { return this; }
|
|
201
|
-
static get watchers() { return {
|
|
202
|
-
"placement": ["validatePlacement"],
|
|
203
|
-
"label": ["validateLabel"]
|
|
204
|
-
}; }
|
|
205
|
-
static get style() { return postMenuCss; }
|
|
206
|
-
}, [1, "post-menu", {
|
|
207
|
-
"placement": [1],
|
|
208
|
-
"label": [513],
|
|
209
|
-
"isVisible": [32],
|
|
210
|
-
"toggle": [64],
|
|
211
|
-
"show": [64],
|
|
212
|
-
"hide": [64]
|
|
213
|
-
}, undefined, {
|
|
214
|
-
"placement": ["validatePlacement"],
|
|
215
|
-
"label": ["validateLabel"]
|
|
216
|
-
}]);
|
|
217
|
-
__decorate([
|
|
218
|
-
EventFrom('post-popovercontainer')
|
|
219
|
-
], PostMenu.prototype, "handlePostShown", void 0);
|
|
220
|
-
__decorate([
|
|
221
|
-
EventFrom('post-popovercontainer')
|
|
222
|
-
], PostMenu.prototype, "handlePostToggled", void 0);
|
|
223
|
-
function defineCustomElement() {
|
|
224
|
-
if (typeof customElements === "undefined") {
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
const components = ["post-menu", "post-popovercontainer"];
|
|
228
|
-
components.forEach(tagName => { switch (tagName) {
|
|
229
|
-
case "post-menu":
|
|
230
|
-
if (!customElements.get(tagName)) {
|
|
231
|
-
customElements.define(tagName, PostMenu);
|
|
232
|
-
}
|
|
233
|
-
break;
|
|
234
|
-
case "post-popovercontainer":
|
|
235
|
-
if (!customElements.get(tagName)) {
|
|
236
|
-
defineCustomElement$1();
|
|
237
|
-
}
|
|
238
|
-
break;
|
|
239
|
-
} });
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
export { PostMenu as P, defineCustomElement as d };
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as t,createEvent as s,h as o,Host as i,transformTag as a}from"@stencil/core/internal/client";import{a as n,d as r}from"./post-popovercontainer2.js";import{v as l}from"./package.js";import{g as c}from"./get-focusable-children.js";import{d as h,c as d}from"./breakpoints.js";import{E as p}from"./event-from.js";import{g as m}from"./get-root.js";var f=function(e,t,s,o){var i,a=arguments.length,n=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,s):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,o);else for(var r=e.length-1;r>=0;r--)(i=e[r])&&(n=(a<3?i(n):a>3?i(t,s,n):i(t,s))||n);return a>3&&n&&Object.defineProperty(t,s,n),n};const b=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.toggleMenu=s(this,"toggleMenu",7),this.lastFocusedElement=null,this.KEYCODES={SPACE:" ",ENTER:"Enter",UP:"ArrowUp",DOWN:"ArrowDown",TAB:"Tab",HOME:"Home",END:"End",ESCAPE:"Escape"},this.placement="bottom",this.isVisible=!1,this.handleKeyDown=e=>{e.stopPropagation(),e.key!==this.KEYCODES.ESCAPE?Object.values(this.KEYCODES).includes(e.key)&&this.controlKeyDownHandler(e):this.toggle(this.host)},this.handleClick=e=>{["BUTTON","A","INPUT","SELECT","TEXTAREA"].includes(e.target.tagName)&&this.toggle(this.host)}}validatePlacement(){h(this,"placement",n)}validateLabel(){d(this,"label","string")}connectedCallback(){this.root=m(this.host),this.host.addEventListener("keydown",this.handleKeyDown),this.host.addEventListener("click",this.handleClick)}disconnectedCallback(){this.host.removeEventListener("keydown",this.handleKeyDown),this.host.removeEventListener("click",this.handleClick)}componentDidLoad(){this.validatePlacement(),this.validateLabel()}async toggle(e){this.popoverRef?await this.popoverRef.toggle(e):console.error("toggle: popoverRef is null or undefined")}async show(e){this.popoverRef?await this.popoverRef.show(e):console.error("show: popoverRef is null or undefined")}async hide(){this.popoverRef?await this.popoverRef.hide():console.error("hide: popoverRef is null or undefined")}handlePostShown(e){if(e.detail.first){this.host.setAttribute("role","menu");const e=this.getSlottedItems();for(const t of e)t.setAttribute("role","menuitem");this.label&&this.host.setAttribute("aria-label",this.label)}}handlePostBeforeToggle(e){this.isVisible=e.detail.willOpen,this.toggleMenu.emit(this.isVisible),this.isVisible?(this.lastFocusedElement=this.root?.activeElement,requestAnimationFrame((()=>{const e=this.getSlottedItems();e.length>0&&e[0].focus()}))):this.lastFocusedElement&&this.lastFocusedElement.focus()}controlKeyDownHandler(e){const t=this.getSlottedItems();if(!t.length)return;let s=t.findIndex((e=>e===m(e).activeElement));switch(e.key){case this.KEYCODES.UP:e.preventDefault(),s=(s-1+t.length)%t.length;break;case this.KEYCODES.DOWN:e.preventDefault(),s=(s+1)%t.length;break;case this.KEYCODES.HOME:s=0;break;case this.KEYCODES.END:e.preventDefault(),s=t.length-1;break;case this.KEYCODES.SPACE:return void this.toggle(this.host);case this.KEYCODES.TAB:this.toggle(this.host)}t[s]&&t[s].focus()}getSlottedItems(){const e=this.host.shadowRoot.querySelectorAll("slot"),t=[];return e.forEach((e=>t.push(...e.assignedElements()))),t.flatMap((e=>e instanceof HTMLSlotElement?e.assignedElements():e)).flatMap((e=>Array.from(c(e))))}render(){return o(i,{key:"b8eed085445b840a741ee5115c10ef4e9b3fb387","data-version":l},o("post-popovercontainer",{key:"4d885d0d4a23c5b29312588bccdc0cbbf7e3da23",onPostShow:this.handlePostShown.bind(this),onPostBeforeToggle:this.handlePostBeforeToggle.bind(this),placement:this.placement,ref:e=>this.popoverRef=e},o("div",{key:"69ed7ce44051026ca85f6a6cd25aeb1f2ef56a3c",part:"post-menu"},o("slot",{key:"431d56f067986a0eded7b15c6dbc4ab0662a5b86",name:"header"}),o("slot",{key:"3b906c3a19cce7372de493b5dfe90d1587925a2c"}))))}get host(){return this}static get watchers(){return{placement:[{validatePlacement:0}],label:[{validateLabel:0}]}}static get style(){return":host{display:block}:where([part=post-menu]){display:flex;flex-direction:column;padding-block:.5rem}::slotted([slot=header]){margin-top:-0.5rem;padding:1rem;display:flex;align-items:center;gap:.5rem;border-block-end:1px solid #050400;font-weight:700}@media screen and (max-width: 1023.98px){::slotted([slot=header]){padding:.75rem 1rem}}@media screen and (max-width: 779.98px){::slotted([slot=header]){padding:.5rem 1rem}}"}},[257,"post-menu",{placement:[1],label:[513],isVisible:[32],toggle:[64],show:[64],hide:[64]},void 0,{placement:[{validatePlacement:0}],label:[{validateLabel:0}]}]);function u(){"undefined"!=typeof customElements&&["post-menu","post-popovercontainer"].forEach((e=>{switch(e){case"post-menu":customElements.get(a(e))||customElements.define(a(e),b);break;case"post-popovercontainer":customElements.get(a(e))||r()}}))}f([p("post-popovercontainer")],b.prototype,"handlePostShown",null),f([p("post-popovercontainer")],b.prototype,"handlePostBeforeToggle",null);export{b as P,u as d}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Components, JSX } from "../types/components";
|
|
2
2
|
|
|
3
|
-
interface
|
|
4
|
-
export const
|
|
5
|
-
prototype:
|
|
6
|
-
new ():
|
|
3
|
+
interface PostPagination extends Components.PostPagination, HTMLElement {}
|
|
4
|
+
export const PostPagination: {
|
|
5
|
+
prototype: PostPagination;
|
|
6
|
+
new (): PostPagination;
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
9
9
|
* Used to define this component and all nested components recursively.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{proxyCustomElement as t,HTMLElement as i,createEvent as e,h as n,Host as a,transformTag as s}from"@stencil/core/internal/client";import{v as o}from"./package.js";import{n as l}from"./index.browser.js";import{c as r,e as h}from"./breakpoints.js";import{d}from"./debounce.js";import{d as p}from"./post-icon2.js";const g=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.postChange=e(this,"postChange",7),this.items=[],this.lastWindowWidth=window.innerWidth,this.loaded=!1,this.debouncedResize=d(this.handleResizeInternal.bind(this),150),this.measurementTimeoutId=null}validatePage(){this.validateProp("page","number",!1)}validatePageSize(){this.validateProp("pageSize","number",!0)}validateCollectionSize(){this.validateProp("collectionSize","number",!0)}validateLabel(){this.validateProp("label","string",!0)}validateTextPrevious(){this.validateProp("textPrevious","string",!0)}validateTextNext(){this.validateProp("textNext","string",!0)}validateTextPage(){this.validateProp("textPage","string",!0)}validateTextFirst(){this.validateProp("textFirst","string",!0)}validateTextLast(){this.validateProp("textLast","string",!0)}validateDisabled(){this.validateProp("disabled","boolean",!1)}handlePropsChange(){this.updatePagesWithValidation()}componentWillLoad(){this.paginationId="pagination-"+(this.host.id||l(6)),null==this.page&&(this.page=1)}connectedCallback(){window.addEventListener("resize",this.debouncedResize)}componentDidLoad(){this.loaded=!0,this.runAllValidations(),this.scheduleMeasurement()}disconnectedCallback(){this.loaded=!1,window.removeEventListener("resize",this.debouncedResize),null!==this.measurementTimeoutId&&(clearTimeout(this.measurementTimeoutId),this.measurementTimeoutId=null)}validateProp(t,i,e=!0){e?r(this,t,i):h(this,t,i)}runAllValidations(){this.validateProp("page","number",!1),this.validateProp("pageSize","number",!0),this.validateProp("collectionSize","number",!0),this.validateProp("label","string",!0),this.validateProp("textPrevious","string",!0),this.validateProp("textNext","string",!0),this.validateProp("textPage","string",!0),this.validateProp("textFirst","string",!0),this.validateProp("textLast","string",!0),this.validateProp("disabled","boolean",!1)}scheduleMeasurement(){this.loaded&&(this.measurementTimeoutId=window.setTimeout((()=>{this.navRef?.clientWidth>0&&this.hiddenItemsRef?this.measureAndCalculateVisiblePages():this.scheduleMeasurement()}),50))}handleResizeInternal(){this.loaded&&window.innerWidth!==this.lastWindowWidth&&(this.lastWindowWidth=window.innerWidth,this.measureAndCalculateVisiblePages())}calculateGap(t,i){const e=t.getBoundingClientRect();return i.getBoundingClientRect().left-e.right}measureAndCalculateVisiblePages(){if(!this.navRef||!this.hiddenItemsRef||!this.loaded)return;const t=this.getTotalPages();if(t<=1)return;const i=this.getPaginationPadding(),e=this.getAvailableWidth()-i,n=this.getControlButtonsWidth(),a=this.hiddenItemsRef.querySelector(".hidden-page-button"),s=this.hiddenItemsRef.querySelector(".hidden-ellipsis");if(!a)return;const o=a.getBoundingClientRect().width,l=a&&s?this.calculateGap(a,s):0;this.maxVisiblePages=Math.max(3,Math.min(Math.floor((e-n-2*l+l)/(o+l)),t)),this.updatePagesWithValidation()}getControlButtonsWidth(){return this.hiddenItemsRef?Array.from(this.hiddenItemsRef.querySelectorAll(".hidden-control-button")).reduce(((t,i)=>t+i.getBoundingClientRect().width),0):0}getPaginationPadding(){if(!this.navRef)return 0;const t=window.getComputedStyle(this.navRef);return(parseFloat(t.paddingLeft)||0)+(parseFloat(t.paddingRight)||0)}getAvailableWidth(){return this.navRef?this.host.parentElement?.clientWidth??window.innerWidth:0}get invalidSize(){return 0===this.collectionSize||0===this.pageSize}clampPageToValidRange(t){return 0===t||this.invalidSize||isNaN(t)||!this.page||this.page<1||isNaN(this.page)?1:this.page>t?t:this.page}updatePagesWithValidation(){const t=this.getTotalPages();this.page=this.clampPageToValidRange(t),this.generatePages(t)}getTotalPages(){return this.invalidSize?1:Math.ceil(this.collectionSize/this.pageSize)}sectionForGap(t){return t<=1?"none":2===t?"page":"ellipsis"}getSections(t,i,e){const n=t-1,a=e-i;return{leftSection:this.sectionForGap(n),rightSection:this.sectionForGap(a),leftGap:n,rightGap:a}}computeTotalItems(t,i,e){const{leftSection:n,rightSection:a}=this.getSections(t,i,e);return 2+("none"===n?0:1)+("none"===a?0:1)+Math.max(0,i-t+1)}buildAllPages(t){const i=[];for(let e=1;e<=t;e++)i.push({type:"page",page:e});return i}adjustForGapTwo(t,i,e,n){const a={startPage:t,endPage:i};return 2==e-i&&(a.endPage=e-1,a.startPage=Math.max(2,a.endPage-n+1)),2==a.startPage-1&&(a.startPage=2,a.endPage=Math.min(e-1,a.startPage+n-1)),a}ensureMiddleSlots(t,i,e,n){const a={startPage:t,endPage:i},s=i-t+1;return s<n&&i<e-1&&(a.endPage=Math.min(e-1,t+n-1)),s<n&&t>2&&(a.startPage=Math.max(2,i-n+1)),a}trimExcessItems(t,i,e,n,a){const s={startPage:t,endPage:i};let o=this.computeTotalItems(s.startPage,s.endPage,e);for(;o>n;){if(s.endPage-a>=a-s.startPage&&s.endPage>s.startPage)s.endPage=Math.max(s.startPage-1,s.endPage-1);else{if(!(s.startPage<s.endPage))break;s.startPage=Math.min(s.endPage+1,s.startPage+1)}const t=this.computeTotalItems(s.startPage,s.endPage,e);if(t===o)break;o=t}return s}expandToFillSlots(t,i,e,n){const a={startPage:t,endPage:i};let s=this.computeTotalItems(a.startPage,a.endPage,e);for(;s<n;){const t=a.endPage<e-1;if(a.startPage>2)a.startPage=Math.max(2,a.startPage-1);else{if(!t)break;a.endPage=Math.min(e-1,a.endPage+1)}const i=this.computeTotalItems(a.startPage,a.endPage,e);if(i===s)break;s=i}return a}balanceTotalItems(t,i,e,n,a){const s=this.trimExcessItems(t,i,e,n,a);return this.expandToFillSlots(s.startPage,s.endPage,e,n)}calculatePageRange(t,i,e){const n=Math.max(0,e-2-2);if(n<=0)return{startPage:2,endPage:1};let a=t-Math.floor(n/2),s=a+n-1;a<2&&(a=2,s=a+n-1),s>i-1&&(s=i-1,a=s-n+1),a=Math.max(2,a),s=Math.min(i-1,s);const o=this.adjustForGapTwo(a,s,i,n),l=this.ensureMiddleSlots(o.startPage,o.endPage,i,n);return this.balanceTotalItems(l.startPage,l.endPage,i,e,t)}buildPaginationItems(t,i,e){const n=[],a=t<=i;if(n.push({type:"page",page:1}),a){const{leftSection:a,rightSection:s}=this.getSections(t,i,e);"page"===a?n.push({type:"page",page:2}):"ellipsis"===a&&n.push({type:"ellipsis"});for(let e=t;e<=i;e++)n.push({type:"page",page:e});return"page"===s?n.push({type:"page",page:e-1}):"ellipsis"===s&&n.push({type:"ellipsis"}),n.push({type:"page",page:e}),n}}generateSmallPagination(t,i){return 1===t||t===i?[{type:"page",page:1},{type:"ellipsis"},{type:"page",page:i}]:[{type:"ellipsis"},{type:"page",page:t},{type:"ellipsis"}]}generatePages(t){const i=this.maxVisiblePages,e=this.page||1;if(t<=i)return void(this.items=this.buildAllPages(t));if(i<=4)return void(this.items=this.generateSmallPagination(e,t));const{startPage:n,endPage:a}=this.calculatePageRange(e,t,i);this.items=this.buildPaginationItems(n,a,t)}emitPageChange(t){this.page=t,this.postChange.emit(t)}handlePageClick(t){this.disabled||t===this.page||this.emitPageChange(t)}handlePrevious(){this.disabled||this.page<=1||this.emitPageChange(this.page-1)}handleNext(){const t=this.getTotalPages();this.disabled||this.page>=t||this.emitPageChange(this.page+1)}handleKeyDown(t,i){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),i())}buildPageLabel(t){const i=this.getTotalPages();return 1===t?`${this.textFirst}, ${this.textPage} ${t}`:t===i?`${this.textLast}, ${this.textPage} ${t}`:`${this.textPage} ${t}`}renderEllipsis(t){return n("li",{class:"pagination-item pagination-ellipsis",key:t},n("span",{class:"pagination-ellipsis-content","aria-hidden":"true"},"..."))}renderPageButton(t){const i=t===this.page;return n("li",{class:"pagination-item",key:"page-"+t},n("button",{type:"button",class:{"pagination-link":!0,"pagination-link-active":i},"aria-label":this.buildPageLabel(t),"aria-current":i?"page":void 0,onClick:()=>this.handlePageClick(t),onKeyDown:i=>this.handleKeyDown(i,(()=>this.handlePageClick(t))),disabled:!!this.disabled||void 0,tabIndex:this.disabled?-1:0},n("span",{"aria-hidden":"true"},t)))}renderItem(t,i){return"ellipsis"===t.type?this.renderEllipsis("ellipsis-"+i):this.renderPageButton(t.page)}renderControlButton(t,i,e,a,s=!1){return n("li",{class:"pagination-item pagination-control"},n("button",{type:"button",class:{"pagination-link":!0,"pagination-control-button":!0,"pagination-link-disabled":e},"aria-label":i,onClick:a,onKeyDown:t=>this.handleKeyDown(t,a),disabled:e,tabIndex:e?-1:0},n("post-icon",{name:t,class:s?"pagination-icon-rotated":void 0,"aria-hidden":"true"}),n("span",{class:"visually-hidden"},i)))}renderHiddenItems(t){return[n("button",{class:"pagination-link pagination-control-button hidden-control-button",disabled:!0},n("post-icon",{name:"chevronleft","aria-hidden":"true"})),n("button",{class:"pagination-link pagination-control-button hidden-page-button","aria-label":this.buildPageLabel(t),disabled:!0},n("span",{"aria-hidden":"true"},t)),n("span",{class:"pagination-ellipsis-content hidden-ellipsis","aria-hidden":"true"},"..."),n("button",{class:"pagination-link pagination-control-button hidden-control-button",disabled:!0},n("post-icon",{name:"chevronleft",class:"pagination-icon-rotated","aria-hidden":"true"}))]}render(){const t=this.getTotalPages();if(t<=1)return null;const i=this.disabled||this.page>=t;return n(a,{slot:"post-pagination","data-version":o},n("nav",{class:"pagination","aria-label":this.label,id:this.paginationId,ref:t=>this.navRef=t},n("ul",{class:"pagination-list",role:"list"},this.renderControlButton("chevronleft",this.textPrevious,this.disabled||this.page<=1,(()=>this.handlePrevious())),this.items.map(((t,i)=>this.renderItem(t,i))),this.renderControlButton("chevronleft",this.textNext,i,(()=>this.handleNext()),!0)),n("div",{class:"hidden-items","aria-hidden":"true",ref:t=>this.hiddenItemsRef=t},this.renderHiddenItems(t))))}get host(){return this}static get watchers(){return{page:[{validatePage:0},{handlePropsChange:0}],pageSize:[{validatePageSize:0},{handlePropsChange:0}],collectionSize:[{validateCollectionSize:0},{handlePropsChange:0}],label:[{validateLabel:0}],textPrevious:[{validateTextPrevious:0}],textNext:[{validateTextNext:0}],textPage:[{validateTextPage:0}],textFirst:[{validateTextFirst:0}],textLast:[{validateTextLast:0}],disabled:[{validateDisabled:0}]}}static get style(){return".pagination{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;padding:8px;overflow:hidden}.pagination-list{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;flex-wrap:nowrap}.pagination-item{display:flex;align-items:center;margin:0;padding:0;flex-shrink:0;flex-grow:0}.pagination-link{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:32px;height:32px;min-width:32px;padding:0;margin:0;font-size:14px;font-weight:700;color:#050400;text-decoration:none;background-color:rgba(0,0,0,0);border:1px solid #ccc;border-radius:100%;cursor:pointer;appearance:none;outline:none}.pagination-link:hover:not(:disabled):not(.pagination-link-disabled){color:#504f4b;background-color:#f5f5f5;border:2px solid #504f4b}.pagination-link:active:not(:disabled):not(.pagination-link-disabled):not(.pagination-link-active){color:#504f4b;background-color:#f5f5f5;border:2px solid #504f4b}.pagination-link:focus-visible{z-index:1;outline:2px solid #050400;outline-offset:2px}.pagination-link:focus:not(:focus-visible){outline:none}.pagination-link.pagination-link-active{font-weight:700;color:#fff;background-color:#050400;border-color:#050400;cursor:default}.pagination-link.pagination-link-active:hover:not(:disabled):not(.pagination-link-disabled){background-color:#504f4b;border-color:#504f4b;color:#fff}.pagination-link:disabled,.pagination-link.pagination-link-disabled{color:#6b6b6b;background-color:#f0f0f0;border-color:#ccc;opacity:.6;cursor:default}@media (min-width: 600px){.pagination-link{width:40px;height:40px;min-width:40px;font-size:16px}}@media (min-width: 1024px){.pagination-link{width:48px;height:48px;min-width:48px;font-size:20px}}.pagination-control-button post-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px}@media (min-width: 600px){.pagination-control-button post-icon{width:18px;height:18px}}@media (min-width: 1024px){.pagination-control-button post-icon{width:20px;height:20px}}.pagination-control-button:active:not(:disabled):not(.pagination-link-disabled){background-color:#f5f5f5;border:2px solid #504f4b}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;flex-shrink:0;flex-grow:0}.pagination-ellipsis-content{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:14px;color:#050400;user-select:none}@media (min-width: 600px){.pagination-ellipsis-content{width:40px;height:40px}}@media (min-width: 1024px){.pagination-ellipsis-content{width:48px;height:48px}}.hidden-items{position:absolute;display:flex;gap:4px;height:0;overflow:hidden;white-space:nowrap;visibility:hidden;pointer-events:none}.pagination-icon-rotated{display:inline-block;transform:rotate(180deg)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}"}},[1,"post-pagination",{page:[1026],pageSize:[514,"page-size"],collectionSize:[514,"collection-size"],label:[513],textPrevious:[513,"text-previous"],textNext:[513,"text-next"],textPage:[513,"text-page"],textFirst:[513,"text-first"],textLast:[513,"text-last"],disabled:[4],paginationId:[32],maxVisiblePages:[32],items:[32]},void 0,{page:[{validatePage:0},{handlePropsChange:0}],pageSize:[{validatePageSize:0},{handlePropsChange:0}],collectionSize:[{validateCollectionSize:0},{handlePropsChange:0}],label:[{validateLabel:0}],textPrevious:[{validateTextPrevious:0}],textNext:[{validateTextNext:0}],textPage:[{validateTextPage:0}],textFirst:[{validateTextFirst:0}],textLast:[{validateTextLast:0}],disabled:[{validateDisabled:0}]}]),c=g,u=function(){"undefined"!=typeof customElements&&["post-pagination","post-icon"].forEach((t=>{switch(t){case"post-pagination":customElements.get(s(t))||customElements.define(s(t),g);break;case"post-icon":customElements.get(s(t))||p()}}))};export{c as PostPagination,u as defineCustomElement}
|
|
@@ -1,132 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { v as version } from './package.js';
|
|
3
|
-
import { i as isFocusable } from './focusable.js';
|
|
4
|
-
import { c as checkRequiredAndType } from './index2.js';
|
|
5
|
-
import './breakpoints.js';
|
|
6
|
-
|
|
7
|
-
const postPopoverTriggerCss = ":host{cursor:pointer}";
|
|
8
|
-
|
|
9
|
-
const PostPopoverTrigger$1 = /*@__PURE__*/ proxyCustomElement(class PostPopoverTrigger extends HTMLElement {
|
|
10
|
-
syncAriaExpanded(newValue) {
|
|
11
|
-
this.ariaExpanded = newValue;
|
|
12
|
-
if (this.trigger) {
|
|
13
|
-
this.trigger.setAttribute('aria-expanded', String(newValue));
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Watch for changes to the `for` property to validate its type and ensure it is a string.
|
|
18
|
-
* @param forValue - The new value of the `for` property.
|
|
19
|
-
*/
|
|
20
|
-
validateFor() {
|
|
21
|
-
checkRequiredAndType(this, 'for', 'string');
|
|
22
|
-
}
|
|
23
|
-
// Gets the associated popover element to the trigger based on 'for'
|
|
24
|
-
get popover() {
|
|
25
|
-
const ref = document.getElementById(this.for);
|
|
26
|
-
return ref?.localName === 'post-popover' ? ref : null;
|
|
27
|
-
}
|
|
28
|
-
setupTrigger() {
|
|
29
|
-
this.trigger = this.host.querySelector('*');
|
|
30
|
-
if (this.trigger) {
|
|
31
|
-
this.trigger.setAttribute('aria-expanded', this.ariaExpanded.toString());
|
|
32
|
-
// check if its not focusable and add aria role and tabindex
|
|
33
|
-
if (!isFocusable(this.trigger)) {
|
|
34
|
-
this.trigger.setAttribute('tabindex', '0');
|
|
35
|
-
this.trigger.setAttribute('role', 'button');
|
|
36
|
-
}
|
|
37
|
-
// Set aria attributes
|
|
38
|
-
this.trigger.setAttribute('aria-haspopup', 'true');
|
|
39
|
-
this.trigger.setAttribute('aria-controls', this.for);
|
|
40
|
-
this.trigger.addEventListener('click', this.boundHandleToggle);
|
|
41
|
-
this.trigger.addEventListener('keydown', this.boundHandleKeyDown);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
console.error('No content found in the post-popover-trigger slot. Please insert a focusable element or content that can receive focus.');
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
handleToggle() {
|
|
48
|
-
const popoverEl = this.popover;
|
|
49
|
-
if (popoverEl) {
|
|
50
|
-
popoverEl.toggle(this.trigger);
|
|
51
|
-
this.focusTrigger();
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
console.warn(`No post-popover found with ID: ${this.for}`);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
focusTrigger() {
|
|
58
|
-
// Restores focus to the trigger
|
|
59
|
-
if (!this.popoverOpen && this.trigger) {
|
|
60
|
-
this.trigger.focus();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
constructor() {
|
|
64
|
-
super();
|
|
65
|
-
this.__registerHost();
|
|
66
|
-
this.__attachShadow();
|
|
67
|
-
/**
|
|
68
|
-
* Manages the accessibility attribute `aria-expanded` to indicate whether the associated popover is expanded or collapsed.
|
|
69
|
-
*/
|
|
70
|
-
this.ariaExpanded = false;
|
|
71
|
-
/**
|
|
72
|
-
* Holds the state of the popover toggle
|
|
73
|
-
*/
|
|
74
|
-
this.popoverOpen = false;
|
|
75
|
-
this.handleKeyDown = (e) => {
|
|
76
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
|
77
|
-
e.preventDefault();
|
|
78
|
-
this.handleToggle();
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
this.boundHandleToggle = this.handleToggle.bind(this);
|
|
82
|
-
this.boundHandleKeyDown = this.handleKeyDown.bind(this);
|
|
83
|
-
this.boundHandlePostToggle = (event) => {
|
|
84
|
-
this.popoverOpen = event.detail.isOpen;
|
|
85
|
-
this.focusTrigger();
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
componentDidLoad() {
|
|
89
|
-
this.validateFor();
|
|
90
|
-
this.setupTrigger();
|
|
91
|
-
this.popover?.addEventListener('postToggle', this.boundHandlePostToggle);
|
|
92
|
-
}
|
|
93
|
-
disconnectedCallback() {
|
|
94
|
-
this.trigger.removeEventListener('click', this.boundHandleToggle);
|
|
95
|
-
this.trigger.removeEventListener('keydown', this.boundHandleKeyDown);
|
|
96
|
-
this.popover?.removeEventListener('postToggle', this.boundHandlePostToggle);
|
|
97
|
-
}
|
|
98
|
-
render() {
|
|
99
|
-
return (h(Host, { key: '5beba85bbe276a0f047415c4fefa2a013f922cdc', "data-version": version }, h("slot", { key: '4f1a4834e97275ab8a011888d0c932db6471e727', onSlotchange: () => this.setupTrigger() })));
|
|
100
|
-
}
|
|
101
|
-
get host() { return this; }
|
|
102
|
-
static get watchers() { return {
|
|
103
|
-
"popoverOpen": ["syncAriaExpanded"],
|
|
104
|
-
"for": ["validateFor"]
|
|
105
|
-
}; }
|
|
106
|
-
static get style() { return postPopoverTriggerCss; }
|
|
107
|
-
}, [1, "post-popover-trigger", {
|
|
108
|
-
"for": [513],
|
|
109
|
-
"ariaExpanded": [32],
|
|
110
|
-
"popoverOpen": [32]
|
|
111
|
-
}, undefined, {
|
|
112
|
-
"popoverOpen": ["syncAriaExpanded"],
|
|
113
|
-
"for": ["validateFor"]
|
|
114
|
-
}]);
|
|
115
|
-
function defineCustomElement$1() {
|
|
116
|
-
if (typeof customElements === "undefined") {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
const components = ["post-popover-trigger"];
|
|
120
|
-
components.forEach(tagName => { switch (tagName) {
|
|
121
|
-
case "post-popover-trigger":
|
|
122
|
-
if (!customElements.get(tagName)) {
|
|
123
|
-
customElements.define(tagName, PostPopoverTrigger$1);
|
|
124
|
-
}
|
|
125
|
-
break;
|
|
126
|
-
} });
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
const PostPopoverTrigger = PostPopoverTrigger$1;
|
|
130
|
-
const defineCustomElement = defineCustomElement$1;
|
|
131
|
-
|
|
132
|
-
export { PostPopoverTrigger, defineCustomElement };
|
|
1
|
+
import{proxyCustomElement as t,HTMLElement as s,h as e,Host as i,transformTag as o}from"@stencil/core/internal/client";import{v as r}from"./package.js";import{i as n}from"./focusable.js";import{e as h}from"./breakpoints.js";const a=t(class extends s{syncAriaExpanded(t){this.ariaExpanded=t,this.trigger&&this.trigger.setAttribute("aria-expanded",t+"")}validateFor(){h(this,"for","string")}hasAriaControlsElements(t){return"ariaControlsElements"in t}get popover(){const t=this.host.querySelector("post-popover")??document.getElementById(this.for);return t?"post-popover"===t?.localName?t:null:(console.error(`No post-popover found ${this.for?"with ID: "+this.for:"inside the <post-popover-trigger>"}.`),null)}setupTrigger(){const t=this.popover;this.trigger=this.host.querySelector("*"),this.trigger?(n(this.trigger)||(this.trigger.setAttribute("tabindex","0"),this.trigger.setAttribute("role","button")),t&&(this.trigger.setAttribute("aria-expanded",""+this.ariaExpanded),this.trigger.setAttribute("aria-haspopup","true"),this.for?this.trigger.setAttribute("aria-controls",this.for):this.hasAriaControlsElements(this.trigger)?this.trigger.ariaControlsElements=[t]:(t.id||(t.id="popover-"+crypto.randomUUID()),this.trigger.setAttribute("aria-controls",t.id)),this.trigger.addEventListener("click",this.boundHandleToggle),this.trigger.addEventListener("keydown",this.boundHandleKeyDown))):console.error("No content found in the post-popover-trigger slot. Please insert a focusable element or content that can receive focus.")}handleToggle(){this.popover?.toggle(this.trigger),this.focusTrigger()}focusTrigger(){!this.popoverOpen&&this.trigger&&this.trigger.focus()}constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.ariaExpanded=!1,this.popoverOpen=!1,this.handleKeyDown=t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.handleToggle())},this.boundHandleToggle=this.handleToggle.bind(this),this.boundHandleKeyDown=this.handleKeyDown.bind(this),this.boundHandlePostToggle=t=>{this.popoverOpen=t.detail.isOpen,this.focusTrigger()}}componentDidLoad(){this.validateFor(),this.setupTrigger(),this.popover?.addEventListener("postToggle",this.boundHandlePostToggle)}disconnectedCallback(){this.trigger.removeEventListener("click",this.boundHandleToggle),this.trigger.removeEventListener("keydown",this.boundHandleKeyDown),this.popover?.removeEventListener("postToggle",this.boundHandlePostToggle)}render(){return e(i,{key:"8552f66f45c0cf3f772cb96b4974a447a4a2cf19","data-version":r},e("slot",{key:"06824853f828cc65ba7a7a2b7ae8b762f6b1eaee",onSlotchange:()=>this.setupTrigger()}))}get host(){return this}static get watchers(){return{popoverOpen:[{syncAriaExpanded:0}],for:[{validateFor:0}]}}static get style(){return":host{cursor:pointer}"}},[257,"post-popover-trigger",{for:[513],ariaExpanded:[32],popoverOpen:[32]},void 0,{popoverOpen:[{syncAriaExpanded:0}],for:[{validateFor:0}]}]),p=a,c=function(){"undefined"!=typeof customElements&&["post-popover-trigger"].forEach((t=>{"post-popover-trigger"===t&&(customElements.get(o(t))||customElements.define(o(t),a))}))};export{p as PostPopoverTrigger,c as defineCustomElement}
|
|
@@ -1,118 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { a as PLACEMENT_TYPES, d as defineCustomElement$2 } from './post-popovercontainer2.js';
|
|
3
|
-
import { v as version } from './package.js';
|
|
4
|
-
import { a as getDeepFocusableChildren } from './get-focusable-children.js';
|
|
5
|
-
import { d as checkEmptyOrOneOf, c as checkRequiredAndType } from './index2.js';
|
|
6
|
-
import './breakpoints.js';
|
|
7
|
-
import { d as defineCustomElement$4 } from './post-closebutton2.js';
|
|
8
|
-
import { d as defineCustomElement$3 } from './post-icon2.js';
|
|
9
|
-
|
|
10
|
-
const postPopoverCss = "*{box-sizing:border-box}:host{display:block}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.popover-container{color:var(--post-current-fg);background-color:var(--post-current-bg);display:flex;align-items:self-start;padding:.5em;min-width:160px;max-width:var(--post-popover-max-width, 280px)}.popover-content{padding:.5em;flex-grow:1}";
|
|
11
|
-
|
|
12
|
-
const PostPopover$1 = /*@__PURE__*/ proxyCustomElement(class PostPopover extends HTMLElement {
|
|
13
|
-
constructor() {
|
|
14
|
-
super();
|
|
15
|
-
this.__registerHost();
|
|
16
|
-
this.__attachShadow();
|
|
17
|
-
/**
|
|
18
|
-
* Defines the position of the popover relative to its trigger.
|
|
19
|
-
* Popovers are automatically flipped to the opposite side if there is not enough available space and are shifted towards the viewport if they would overlap edge boundaries.
|
|
20
|
-
* For supported values and behavior details, see the [Floating UI placement documentation](https://floating-ui.com/docs/computePosition#placement).
|
|
21
|
-
*/
|
|
22
|
-
this.placement = 'top';
|
|
23
|
-
/**
|
|
24
|
-
* Show a little indicator arrow
|
|
25
|
-
*/
|
|
26
|
-
// eslint-disable-next-line @stencil-community/ban-default-true
|
|
27
|
-
this.arrow = true;
|
|
28
|
-
}
|
|
29
|
-
validatePlacement() {
|
|
30
|
-
checkEmptyOrOneOf(this, 'placement', PLACEMENT_TYPES);
|
|
31
|
-
}
|
|
32
|
-
validateCloseButtonCaption() {
|
|
33
|
-
checkRequiredAndType(this, 'closeButtonCaption', 'string');
|
|
34
|
-
}
|
|
35
|
-
componentDidLoad() {
|
|
36
|
-
this.validatePlacement();
|
|
37
|
-
this.validateCloseButtonCaption();
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Programmatically display the popover
|
|
41
|
-
* @param target A focusable element inside the <post-popover-trigger> component that controls the popover
|
|
42
|
-
*/
|
|
43
|
-
async show(target) {
|
|
44
|
-
this.popoverRef.show(target);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Programmatically hide this popover
|
|
48
|
-
*/
|
|
49
|
-
async hide() {
|
|
50
|
-
this.popoverRef.hide();
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Toggle popover display
|
|
54
|
-
* @param target A focusable element inside the <post-popover-trigger> component that controls the popover
|
|
55
|
-
* @param force Pass true to always show or false to always hide
|
|
56
|
-
*/
|
|
57
|
-
async toggle(target, force) {
|
|
58
|
-
await this.popoverRef.toggle(target, force);
|
|
59
|
-
const focusableChildren = getDeepFocusableChildren(this.host);
|
|
60
|
-
// find first focusable element
|
|
61
|
-
const firstFocusable = focusableChildren[0];
|
|
62
|
-
if (firstFocusable) {
|
|
63
|
-
firstFocusable.focus();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
render() {
|
|
67
|
-
return (h(Host, { key: '5ef2edb171dada1bf701a6583471410e02297a5b', "data-version": version }, h("post-popovercontainer", { key: '3f913ddf3756ecbec65c1ab04423421adbc46f16', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '541a5a7da9eb1362609d7d58717ffde7ef4cbb90', class: "popover-container" }, h("div", { key: '1b3d22349574f7fb542cfa662aca0d34c85c1d2f', class: "popover-content" }, h("slot", { key: 'a17a97f0abe47fb7a1777fa3f9365efc0cfc5b1d' })), h("post-closebutton", { key: '9888084b892be0381c64620a534c45231533fa59', onClick: () => this.hide() }, this.closeButtonCaption)))));
|
|
68
|
-
}
|
|
69
|
-
get host() { return this; }
|
|
70
|
-
static get watchers() { return {
|
|
71
|
-
"placement": ["validatePlacement"],
|
|
72
|
-
"closeButtonCaption": ["validateCloseButtonCaption"]
|
|
73
|
-
}; }
|
|
74
|
-
static get style() { return postPopoverCss; }
|
|
75
|
-
}, [1, "post-popover", {
|
|
76
|
-
"placement": [1],
|
|
77
|
-
"closeButtonCaption": [513, "close-button-caption"],
|
|
78
|
-
"arrow": [4],
|
|
79
|
-
"show": [64],
|
|
80
|
-
"hide": [64],
|
|
81
|
-
"toggle": [64]
|
|
82
|
-
}, undefined, {
|
|
83
|
-
"placement": ["validatePlacement"],
|
|
84
|
-
"closeButtonCaption": ["validateCloseButtonCaption"]
|
|
85
|
-
}]);
|
|
86
|
-
function defineCustomElement$1() {
|
|
87
|
-
if (typeof customElements === "undefined") {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
const components = ["post-popover", "post-closebutton", "post-icon", "post-popovercontainer"];
|
|
91
|
-
components.forEach(tagName => { switch (tagName) {
|
|
92
|
-
case "post-popover":
|
|
93
|
-
if (!customElements.get(tagName)) {
|
|
94
|
-
customElements.define(tagName, PostPopover$1);
|
|
95
|
-
}
|
|
96
|
-
break;
|
|
97
|
-
case "post-closebutton":
|
|
98
|
-
if (!customElements.get(tagName)) {
|
|
99
|
-
defineCustomElement$4();
|
|
100
|
-
}
|
|
101
|
-
break;
|
|
102
|
-
case "post-icon":
|
|
103
|
-
if (!customElements.get(tagName)) {
|
|
104
|
-
defineCustomElement$3();
|
|
105
|
-
}
|
|
106
|
-
break;
|
|
107
|
-
case "post-popovercontainer":
|
|
108
|
-
if (!customElements.get(tagName)) {
|
|
109
|
-
defineCustomElement$2();
|
|
110
|
-
}
|
|
111
|
-
break;
|
|
112
|
-
} });
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
const PostPopover = PostPopover$1;
|
|
116
|
-
const defineCustomElement = defineCustomElement$1;
|
|
117
|
-
|
|
118
|
-
export { PostPopover, defineCustomElement };
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as t,h as o,Host as s,transformTag as a}from"@stencil/core/internal/client";import{a as i,d as c}from"./post-popovercontainer2.js";import{v as r}from"./package.js";import{a as n}from"./get-focusable-children.js";import{d as p,c as l}from"./breakpoints.js";import{d}from"./post-closebutton2.js";import{d as m}from"./post-icon2.js";const h=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.placement="top",this.arrow=!0}validatePlacement(){p(this,"placement",i)}validateTextClose(){l(this,"textClose","string")}componentDidLoad(){this.validatePlacement(),this.validateTextClose()}async show(e){await this.popoverRef.show(e),this.focusFirstEl()}async hide(){this.popoverRef.hide()}async toggle(e,t){await this.popoverRef.toggle(e,t)&&this.focusFirstEl()}focusFirstEl(){const e=n(this.host)[0];e&&e.focus()}render(){return o(s,{key:"d015a324a7c9fe1c3508ccd3e434435d92d74f85","data-version":r},o("post-popovercontainer",{key:"01c575c2b9370d512858e9c71a402ee08843d052",arrow:this.arrow,placement:this.placement,ref:e=>this.popoverRef=e},o("div",{key:"4be3ccad4885493091a9572c6bf95ea137ad66f9",class:"popover-container"},o("div",{key:"3b9e69e7e84f7acdb2a14cb27e11d10d4aa2900b",class:"popover-content"},o("slot",{key:"de871fc377dfdc17f64f9bb40e5421e00a103ce0"})),o("post-closebutton",{key:"d73a44affc7e09a3452988f63f16cc4eea83aa66",onClick:()=>this.hide()},this.textClose))))}get host(){return this}static get watchers(){return{placement:[{validatePlacement:0}],textClose:[{validateTextClose:0}]}}static get style(){return"*{box-sizing:border-box}:host{display:block}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.popover-container{color:var(--post-current-fg);background-color:var(--post-current-bg);display:flex;align-items:self-start;padding:.5em;min-width:160px;max-width:var(--post-popover-max-width, 280px)}.popover-content{padding:.5em;flex-grow:1}"}},[257,"post-popover",{placement:[1],textClose:[513,"text-close"],arrow:[4],show:[64],hide:[64],toggle:[64]},void 0,{placement:[{validatePlacement:0}],textClose:[{validateTextClose:0}]}]),f=h,v=function(){"undefined"!=typeof customElements&&["post-popover","post-closebutton","post-icon","post-popovercontainer"].forEach((e=>{switch(e){case"post-popover":customElements.get(a(e))||customElements.define(a(e),h);break;case"post-closebutton":customElements.get(a(e))||d();break;case"post-icon":customElements.get(a(e))||m();break;case"post-popovercontainer":customElements.get(a(e))||c()}}))};export{f as PostPopover,v as defineCustomElement}
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
const PostPopovercontainer = PostPopovercontainer$1;
|
|
4
|
-
const defineCustomElement = defineCustomElement$1;
|
|
5
|
-
|
|
6
|
-
export { PostPopovercontainer, defineCustomElement };
|
|
1
|
+
import{P as o,d as p}from"./post-popovercontainer2.js";const r=o,s=p;export{r as PostPopovercontainer,s as defineCustomElement}
|