@swisspost/design-system-components 9.0.0-next.9 → 10.0.0-next.37
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/.config/bindings.angular.js +4 -0
- package/dist/cjs/breakpoints-cdf1b747.js +59 -0
- package/dist/cjs/check-non-empty-bd99d236.js +15 -0
- package/dist/cjs/check-one-of-75d270b5.js +13 -0
- package/dist/cjs/check-type-cdbf6d29.js +21 -0
- package/dist/cjs/check-url-220a286c.js +19 -0
- package/dist/cjs/event-guard-efabc84f.js +47 -0
- package/dist/cjs/fade-72d5ef55.js +14 -0
- package/dist/cjs/get-root-8102fecd.js +17 -0
- package/dist/cjs/index-23e36ff7.js +37 -0
- package/dist/cjs/{index-010dc207.js → index-b60129c4.js} +17 -10
- package/dist/cjs/index.browser-4af21c17.js +16 -0
- package/dist/cjs/index.cjs.js +36 -31
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/long-press-event-6e62d113.js +266 -0
- package/dist/cjs/{package-8e810a59.js → package-8121f093.js} +1 -1
- package/dist/cjs/{post-accordion-b9df8522.js → post-accordion-beac7c9f.js} +11 -12
- package/dist/cjs/post-accordion-item-4846fbee.js +64 -0
- package/dist/cjs/post-accordion-item.cjs.entry.js +10 -7
- package/dist/cjs/post-accordion.cjs.entry.js +6 -4
- package/dist/cjs/{post-avatar-f7236084.js → post-avatar-a36991fb.js} +10 -13
- package/dist/cjs/post-avatar.cjs.entry.js +5 -4
- package/dist/cjs/post-back-to-top-32aa9017.js +96 -0
- package/dist/cjs/post-back-to-top.cjs.entry.js +7 -6
- package/dist/cjs/post-banner-be0e8909.js +92 -0
- package/dist/cjs/post-banner.cjs.entry.js +11 -9
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +8 -7
- package/dist/cjs/post-breadcrumbs-6ef82a41.js +120 -0
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +13 -0
- package/dist/cjs/post-card-control-fe919333.js +269 -0
- package/dist/cjs/post-card-control.cjs.entry.js +6 -5
- package/dist/cjs/post-closebutton_15.cjs.entry.js +13 -10
- package/dist/cjs/{post-collapsible-trigger-143cf84a.js → post-collapsible-trigger-f42be607.js} +59 -60
- package/dist/cjs/post-collapsible_2.cjs.entry.js +11 -10
- package/dist/cjs/post-components.cjs.js +2 -2
- package/dist/cjs/{post-footer-5f7fdf96.js → post-footer-5179aa17.js} +11 -57
- package/dist/cjs/post-footer.cjs.entry.js +4 -3
- package/dist/cjs/post-linkarea-27125078.js +30 -0
- package/dist/cjs/post-linkarea.cjs.entry.js +11 -0
- package/dist/cjs/{post-menu-item-bb0b0b9e.js → post-menu-item-d78a9121.js} +11 -17
- package/dist/cjs/post-popover-feb1e773.js +135 -0
- package/dist/cjs/post-popover.cjs.entry.js +4 -4
- package/dist/cjs/{post-rating-1082197c.js → post-rating-6d153a2c.js} +4 -4
- package/dist/cjs/post-rating.cjs.entry.js +3 -3
- package/dist/cjs/post-tab-header-e4532918.js +34 -0
- package/dist/cjs/post-tab-header.cjs.entry.js +6 -4
- package/dist/cjs/{post-tab-panel-60f211a5.js → post-tab-panel-40df21ad.js} +5 -4
- package/dist/cjs/post-tab-panel.cjs.entry.js +4 -3
- package/dist/cjs/{post-tabs-1f797ce4.js → post-tabs-45db2696.js} +13 -15
- package/dist/cjs/post-tabs.cjs.entry.js +5 -4
- package/dist/cjs/post-tag-0967bb1e.js +47 -0
- package/dist/cjs/post-tag.cjs.entry.js +3 -3
- package/dist/cjs/post-togglebutton-42b7d166.js +4494 -0
- package/dist/cjs/post-tooltip-f833d51d.js +73 -0
- package/dist/cjs/{post-tooltip-38c839a4.js → post-tooltip-trigger-3ceac010.js} +143 -456
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +13 -0
- package/dist/cjs/post-tooltip.cjs.entry.js +5 -9
- package/dist/cjs/{slide-5d51abe8.js → slide-cd1f09b3.js} +8 -8
- package/dist/collection/animations/collapse.js +8 -6
- package/dist/collection/animations/fade.js +6 -2
- package/dist/collection/animations/slide.js +8 -8
- package/dist/collection/collection-manifest.json +5 -3
- package/dist/collection/components/post-accordion/post-accordion.css +1 -1
- package/dist/collection/components/post-accordion/post-accordion.js +6 -8
- package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.js +12 -12
- package/dist/collection/components/post-avatar/post-avatar.css +1 -3
- package/dist/collection/components/post-avatar/post-avatar.js +7 -11
- package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -1
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +38 -18
- package/dist/collection/components/post-banner/post-banner.css +1 -3
- package/dist/collection/components/post-banner/post-banner.js +13 -12
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +11 -8
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -0
- package/dist/collection/components/{post-breadcrumb/post-breadcrumb.js → post-breadcrumbs/post-breadcrumbs.js} +20 -21
- package/dist/collection/components/post-card-control/post-card-control.css +1 -3
- package/dist/collection/components/post-card-control/post-card-control.js +15 -19
- package/dist/collection/components/post-closebutton/post-closebutton.css +1 -0
- package/dist/collection/components/post-closebutton/post-closebutton.js +12 -1
- package/dist/collection/components/post-collapsible/post-collapsible.css +1 -1
- package/dist/collection/components/post-collapsible/post-collapsible.js +3 -2
- package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +43 -45
- package/dist/collection/components/post-footer/post-footer.js +8 -8
- package/dist/collection/components/post-header/post-header.css +1 -1
- package/dist/collection/components/post-header/post-header.js +212 -52
- package/dist/collection/components/post-icon/post-icon.css +1 -1
- package/dist/collection/components/post-icon/post-icon.js +71 -29
- package/dist/collection/components/post-language-option/post-language-option.css +1 -3
- package/dist/collection/components/post-language-option/post-language-option.js +34 -12
- package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
- package/dist/collection/components/post-language-switch/post-language-switch.js +56 -33
- package/dist/collection/components/post-language-switch/switch-variants.js +1 -1
- package/dist/collection/components/post-linkarea/post-linkarea.css +1 -0
- package/dist/collection/components/post-linkarea/post-linkarea.js +30 -0
- package/dist/collection/components/post-list/post-list.css +1 -3
- package/dist/collection/components/post-list/post-list.js +4 -3
- package/dist/collection/components/post-list-item/post-list-item.js +2 -1
- package/dist/collection/components/post-logo/post-logo.css +1 -1
- package/dist/collection/components/post-logo/post-logo.js +2 -2
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +157 -25
- package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.js +179 -55
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +41 -12
- package/dist/collection/components/post-menu/post-menu.css +1 -3
- package/dist/collection/components/post-menu/post-menu.js +44 -30
- package/dist/collection/components/post-menu-item/post-menu-item.js +1 -13
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +16 -10
- package/dist/collection/components/post-popover/post-popover.css +1 -3
- package/dist/collection/components/post-popover/post-popover.js +23 -16
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +217 -56
- package/dist/collection/components/post-rating/post-rating.css +1 -3
- package/dist/collection/components/post-rating/post-rating.js +1 -1
- package/dist/collection/components/post-tab-header/post-tab-header.css +1 -3
- package/dist/collection/components/post-tab-header/post-tab-header.js +6 -5
- package/dist/collection/components/post-tab-panel/post-tab-panel.js +4 -3
- package/dist/collection/components/post-tabs/post-tabs.css +1 -1
- package/dist/collection/components/post-tabs/post-tabs.js +6 -14
- package/dist/collection/components/post-tag/post-tag.css +1 -3
- package/dist/collection/components/post-tag/post-tag.js +2 -2
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +3 -3
- package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.js +62 -212
- package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.css +1 -0
- package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +230 -0
- package/dist/collection/index.js +3 -1
- package/dist/collection/utils/attribute-observer.js +6 -5
- package/dist/collection/utils/breakpoints.js +21 -15
- package/dist/collection/utils/component-on-ready.js +4 -4
- package/dist/collection/utils/debounce.js +2 -1
- package/dist/collection/utils/environment.js +2 -0
- package/dist/collection/utils/event-guard.js +43 -0
- package/dist/collection/utils/{is-focusable.js → get-focusable-children.js} +10 -3
- package/dist/collection/utils/get-root.js +6 -1
- package/dist/collection/utils/index.js +5 -0
- package/dist/collection/utils/is-motion-reduced.js +2 -1
- package/dist/collection/utils/property-checkers/check-non-empty.js +6 -2
- package/dist/collection/utils/property-checkers/check-one-of.js +8 -3
- package/dist/collection/utils/property-checkers/check-pattern.js +8 -3
- package/dist/collection/utils/property-checkers/check-type.js +11 -6
- package/dist/collection/utils/property-checkers/check-url.js +11 -6
- package/dist/collection/utils/property-checkers/empty-or.js +5 -2
- package/dist/collection/utils/sass-export.js +8 -5
- package/dist/components/breakpoints.js +56 -0
- package/dist/components/check-non-empty.js +6 -2
- package/dist/components/check-one-of.js +8 -3
- package/dist/components/check-type.js +11 -6
- package/dist/components/event-guard.js +45 -0
- package/dist/components/fade.js +6 -2
- package/dist/components/get-focusable-children.js +35 -0
- package/dist/components/get-root.js +7 -1
- package/dist/components/index.browser.js +14 -0
- package/dist/components/index.js +3 -1
- package/dist/components/index2.js +24 -11
- package/dist/components/long-press-event.js +264 -0
- package/dist/components/package.js +1 -1
- package/dist/components/post-accordion-item2.js +14 -13
- package/dist/components/post-accordion2.js +8 -9
- package/dist/components/post-avatar2.js +8 -11
- package/dist/components/post-back-to-top2.js +41 -20
- package/dist/components/post-banner2.js +15 -13
- package/dist/components/post-breadcrumb-item2.js +9 -9
- package/dist/components/post-breadcrumbs.d.ts +11 -0
- package/dist/components/post-breadcrumbs.js +6 -0
- package/dist/components/post-breadcrumbs2.js +177 -0
- package/dist/components/post-card-control2.js +16 -19
- package/dist/components/post-closebutton2.js +7 -2
- package/dist/components/post-collapsible-trigger2.js +46 -48
- package/dist/components/post-collapsible2.js +13 -10
- package/dist/components/post-footer2.js +8 -54
- package/dist/components/post-header2.js +174 -51
- package/dist/components/post-icon2.js +72 -29
- package/dist/components/post-language-option2.js +21 -12
- package/dist/components/post-language-switch2.js +44 -45
- package/dist/components/{post-breadcrumb.d.ts → post-linkarea.d.ts} +4 -4
- package/dist/components/post-linkarea.js +6 -0
- package/dist/components/post-linkarea2.js +43 -0
- package/dist/components/post-list-item2.js +2 -1
- package/dist/components/post-list2.js +5 -4
- package/dist/components/post-logo2.js +4 -3
- package/dist/components/post-mainnavigation2.js +150 -15
- package/dist/components/post-megadropdown-trigger2.js +43 -13
- package/dist/components/post-megadropdown2.js +136 -39
- package/dist/components/post-menu-item2.js +2 -8
- package/dist/components/post-menu-trigger2.js +17 -10
- package/dist/components/post-menu2.js +43 -54
- package/dist/components/post-popover2.js +46 -15
- package/dist/components/post-popovercontainer2.js +921 -111
- package/dist/components/post-rating2.js +2 -2
- package/dist/components/post-tab-header2.js +8 -6
- package/dist/components/post-tab-panel2.js +4 -3
- package/dist/components/post-tabs2.js +10 -12
- package/dist/components/post-tag2.js +2 -2
- package/dist/components/post-togglebutton2.js +4 -3
- package/dist/components/post-tooltip-trigger.d.ts +11 -0
- package/dist/components/post-tooltip-trigger.js +6 -0
- package/dist/components/post-tooltip-trigger2.js +4705 -0
- package/dist/components/post-tooltip2.js +34 -4960
- package/dist/components/slide.js +9 -9
- package/dist/docs.json +567 -252
- package/dist/esm/breakpoints-7812702e.js +56 -0
- package/dist/esm/check-non-empty-258a56b3.js +13 -0
- package/dist/esm/check-one-of-0bee20f5.js +11 -0
- package/dist/esm/check-type-37d5d307.js +19 -0
- package/dist/esm/check-url-17962bc8.js +17 -0
- package/dist/esm/event-guard-538ee077.js +45 -0
- package/dist/esm/fade-1f3cacf4.js +11 -0
- package/dist/esm/get-root-1b1af46f.js +15 -0
- package/dist/esm/index-8f8fe5b0.js +32 -0
- package/dist/esm/{index-fb8d6be7.js → index-f4d19816.js} +17 -10
- package/dist/esm/index.browser-ff103197.js +14 -0
- package/dist/esm/index.js +33 -30
- package/dist/esm/loader.js +3 -3
- package/dist/esm/long-press-event-04d24397.js +264 -0
- package/dist/esm/package-d9237b44.js +3 -0
- package/dist/esm/{post-accordion-ee54a3ef.js → post-accordion-fdcf7205.js} +11 -12
- package/dist/esm/post-accordion-item-e11e3804.js +62 -0
- package/dist/esm/post-accordion-item.entry.js +10 -7
- package/dist/esm/post-accordion.entry.js +6 -4
- package/dist/esm/{post-avatar-5572fa73.js → post-avatar-d360c6d2.js} +10 -13
- package/dist/esm/post-avatar.entry.js +5 -4
- package/dist/esm/post-back-to-top-85796c8b.js +94 -0
- package/dist/esm/post-back-to-top.entry.js +7 -6
- package/dist/esm/post-banner-a3090f67.js +90 -0
- package/dist/esm/post-banner.entry.js +11 -9
- package/dist/esm/post-breadcrumb-item_2.entry.js +8 -7
- package/dist/esm/post-breadcrumbs-15ec5a26.js +118 -0
- package/dist/esm/post-breadcrumbs.entry.js +5 -0
- package/dist/esm/post-card-control-6142534e.js +267 -0
- package/dist/esm/post-card-control.entry.js +6 -5
- package/dist/esm/post-closebutton_15.entry.js +13 -10
- package/dist/esm/{post-collapsible-trigger-1c7833f8.js → post-collapsible-trigger-68306358.js} +59 -60
- package/dist/esm/post-collapsible_2.entry.js +11 -10
- package/dist/esm/post-components.js +3 -3
- package/dist/esm/{post-footer-b18875e7.js → post-footer-d2a3270e.js} +10 -56
- package/dist/esm/post-footer.entry.js +4 -3
- package/dist/esm/post-linkarea-64998c67.js +28 -0
- package/dist/esm/post-linkarea.entry.js +3 -0
- package/dist/esm/{post-menu-item-2906384b.js → post-menu-item-95a0a647.js} +11 -17
- package/dist/esm/post-popover-c5f81087.js +133 -0
- package/dist/esm/post-popover.entry.js +4 -4
- package/dist/esm/{post-rating-95cbdbb8.js → post-rating-7bfedafb.js} +4 -4
- package/dist/esm/post-rating.entry.js +3 -3
- package/dist/esm/post-tab-header-08033da4.js +32 -0
- package/dist/esm/post-tab-header.entry.js +6 -4
- package/dist/esm/{post-tab-panel-cafd9e04.js → post-tab-panel-be701793.js} +5 -4
- package/dist/esm/post-tab-panel.entry.js +4 -3
- package/dist/esm/{post-tabs-beef8eae.js → post-tabs-c69e2842.js} +13 -15
- package/dist/esm/post-tabs.entry.js +5 -4
- package/dist/esm/post-tag-ebac7f3e.js +45 -0
- package/dist/esm/post-tag.entry.js +3 -3
- package/dist/esm/post-togglebutton-706e3af0.js +4478 -0
- package/dist/esm/post-tooltip-9a195d47.js +71 -0
- package/dist/esm/{post-tooltip-b298039a.js → post-tooltip-trigger-7d6f234b.js} +143 -456
- package/dist/esm/post-tooltip-trigger.entry.js +5 -0
- package/dist/esm/post-tooltip.entry.js +5 -9
- package/dist/esm/{slide-3422b8a3.js → slide-cd2850ee.js} +9 -9
- package/dist/post-components/index.esm.js +1 -1
- package/dist/post-components/p-034715ec.js +1 -0
- package/dist/post-components/p-0717fe4c.js +1 -0
- package/dist/post-components/p-0889c759.js +1 -0
- package/dist/post-components/p-0c03547b.js +1 -0
- package/dist/post-components/p-0de8d05f.js +1 -0
- package/dist/post-components/p-1373a79b.entry.js +1 -0
- package/dist/post-components/{p-4f9746f6.js → p-17dc4170.js} +2 -9
- package/dist/post-components/p-181c73d5.js +1 -0
- package/dist/post-components/p-1a21fd8d.js +1 -0
- package/dist/post-components/p-1ab3eba4.entry.js +1 -0
- package/dist/post-components/p-2d6c0670.js +1 -0
- package/dist/post-components/p-2dc0a2d0.js +1 -0
- package/dist/post-components/p-35ad2e11.entry.js +1 -0
- package/dist/post-components/p-368c473a.js +1 -0
- package/dist/post-components/p-38f778a7.entry.js +1 -0
- package/dist/post-components/p-39a8df3c.entry.js +1 -0
- package/dist/post-components/p-3c7f6003.js +1 -0
- package/dist/post-components/p-474a41bc.entry.js +1 -0
- package/dist/post-components/p-64e3de38.js +1 -0
- package/dist/post-components/p-69bc8eaf.entry.js +1 -0
- package/dist/post-components/p-6b31a76a.js +1 -0
- package/dist/post-components/p-722ffaae.js +1 -0
- package/dist/post-components/p-72310bf0.entry.js +1 -0
- package/dist/post-components/p-7709c14a.js +1 -0
- package/dist/post-components/p-804b61b7.entry.js +1 -0
- package/dist/post-components/p-85fdc2d3.js +1 -0
- package/dist/post-components/p-89247caa.js +1 -0
- package/dist/post-components/p-89dc67c7.entry.js +1 -0
- package/dist/post-components/p-8db32dab.js +8 -0
- package/dist/post-components/p-8f7f5200.entry.js +1 -0
- package/dist/post-components/p-964f9581.js +1 -0
- package/dist/post-components/p-9b052461.js +1 -0
- package/dist/post-components/{p-c0ae9886.js → p-9e461613.js} +2 -2
- package/dist/post-components/p-a52b2d34.js +1 -0
- package/dist/post-components/p-ab566526.js +1 -0
- package/dist/post-components/p-b648e537.entry.js +1 -0
- package/dist/post-components/p-bc33a6d9.js +1 -0
- package/dist/post-components/p-bcfdbd0b.entry.js +1 -0
- package/dist/post-components/p-beb67979.js +1 -0
- package/dist/post-components/p-c41868b1.js +1 -0
- package/dist/post-components/p-c65f32b0.js +1 -0
- package/dist/post-components/p-c71700a7.js +1 -0
- package/dist/post-components/p-cb027003.js +1 -0
- package/dist/post-components/p-cc5b1437.js +1 -0
- package/dist/post-components/p-ceda889e.entry.js +1 -0
- package/dist/post-components/p-d45df336.js +1 -0
- package/dist/post-components/p-de4d4274.js +1 -0
- package/dist/post-components/p-deb9efcf.entry.js +1 -0
- package/dist/post-components/p-e585c6fe.js +1 -0
- package/dist/post-components/p-e9f1cc46.entry.js +1 -0
- package/dist/post-components/p-ee4e776d.entry.js +1 -0
- package/dist/post-components/p-ee7c3bcc.entry.js +1 -0
- package/dist/post-components/p-f56482fa.entry.js +1 -0
- package/dist/post-components/p-f8c652ce.entry.js +1 -0
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/animations/collapse.d.ts +2 -2
- package/dist/types/animations/fade.d.ts +2 -2
- package/dist/types/animations/slide.d.ts +2 -2
- package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +1 -1
- package/dist/types/components/post-avatar/post-avatar.d.ts +1 -1
- package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +4 -2
- package/dist/types/components/post-banner/post-banner.d.ts +5 -5
- package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +4 -0
- package/dist/types/components/{post-breadcrumb/post-breadcrumb.d.ts → post-breadcrumbs/post-breadcrumbs.d.ts} +4 -4
- package/dist/types/components/post-card-control/post-card-control.d.ts +3 -3
- package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +9 -14
- package/dist/types/components/post-footer/post-footer.d.ts +2 -2
- package/dist/types/components/post-header/post-header.d.ts +38 -10
- package/dist/types/components/post-icon/post-icon.d.ts +11 -7
- package/dist/types/components/post-language-option/post-language-option.d.ts +9 -5
- package/dist/types/components/post-language-switch/post-language-switch.d.ts +16 -8
- package/dist/types/components/post-language-switch/switch-variants.d.ts +1 -1
- package/dist/types/components/post-linkarea/post-linkarea.d.ts +5 -0
- package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +36 -9
- package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +37 -13
- package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +9 -1
- package/dist/types/components/post-menu/post-menu.d.ts +4 -3
- package/dist/types/components/post-menu-item/post-menu-item.d.ts +0 -1
- package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +4 -3
- package/dist/types/components/post-popover/post-popover.d.ts +6 -4
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +40 -14
- package/dist/types/components/post-tab-header/post-tab-header.d.ts +1 -1
- package/dist/types/components/post-tabs/post-tabs.d.ts +1 -1
- package/dist/types/components/post-tag/post-tag.d.ts +1 -1
- package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +1 -1
- package/dist/types/components/post-tooltip/post-tooltip.d.ts +21 -34
- package/dist/types/components/post-tooltip-trigger/post-tooltip-trigger.d.ts +46 -0
- package/dist/types/components.d.ts +181 -94
- package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/.config/bindings.angular.d.ts +2 -0
- package/dist/types/index.d.ts +5 -3
- package/dist/types/popover-fn.d.ts +11 -0
- package/dist/types/utils/attribute-observer.d.ts +1 -1
- package/dist/types/utils/breakpoints.d.ts +1 -0
- package/dist/types/utils/component-on-ready.d.ts +1 -1
- package/dist/types/utils/environment.d.ts +2 -0
- package/dist/types/utils/event-guard.d.ts +4 -0
- package/dist/types/utils/get-focusable-children.d.ts +1 -0
- package/dist/types/utils/get-root.d.ts +5 -1
- package/dist/types/utils/index.d.ts +5 -0
- package/dist/types/utils/property-checkers/check-non-empty.d.ts +3 -1
- package/dist/types/utils/property-checkers/check-one-of.d.ts +3 -1
- package/dist/types/utils/property-checkers/check-pattern.d.ts +3 -1
- package/dist/types/utils/property-checkers/check-type.d.ts +3 -1
- package/dist/types/utils/property-checkers/check-url.d.ts +3 -1
- package/dist/types/utils/property-checkers/index.d.ts +12 -4
- package/dist/types/utils/sass-export.d.ts +5 -1
- package/loaders/breakpoints.js +56 -0
- package/loaders/check-non-empty.js +6 -2
- package/loaders/check-one-of.js +8 -3
- package/loaders/check-type.js +11 -6
- package/loaders/event-guard.js +45 -0
- package/loaders/fade.js +6 -2
- package/loaders/get-focusable-children.js +35 -0
- package/loaders/get-root.js +7 -1
- package/loaders/index.browser.js +14 -0
- package/loaders/index.d.ts +6 -2
- package/loaders/index.js +8 -5
- package/loaders/index2.js +25 -12
- package/loaders/long-press-event.js +264 -0
- package/loaders/package.js +1 -1
- package/loaders/post-accordion-item2.js +15 -14
- package/loaders/post-accordion.js +8 -9
- package/loaders/post-avatar.js +8 -11
- package/loaders/post-back-to-top.js +41 -20
- package/loaders/post-banner.js +16 -14
- package/loaders/post-breadcrumb-item2.js +9 -9
- package/loaders/post-breadcrumbs.d.ts +11 -0
- package/loaders/post-breadcrumbs.js +180 -0
- package/loaders/post-card-control.js +16 -19
- package/loaders/post-closebutton.js +7 -2
- package/loaders/post-collapsible-trigger2.js +46 -48
- package/loaders/post-collapsible2.js +14 -11
- package/loaders/post-footer.js +8 -54
- package/loaders/post-header.js +174 -51
- package/loaders/post-icon2.js +73 -30
- package/loaders/post-language-option.js +22 -13
- package/loaders/post-language-switch.js +45 -46
- package/loaders/{post-breadcrumb.d.ts → post-linkarea.d.ts} +4 -4
- package/loaders/post-linkarea.js +46 -0
- package/loaders/post-list-item.js +2 -1
- package/loaders/post-list.js +5 -4
- package/loaders/post-logo.js +4 -3
- package/loaders/post-mainnavigation.js +150 -15
- package/loaders/post-megadropdown-trigger.js +43 -13
- package/loaders/post-megadropdown.js +136 -39
- package/loaders/post-menu-item2.js +2 -8
- package/loaders/post-menu-trigger2.js +17 -10
- package/loaders/post-menu2.js +43 -54
- package/loaders/post-popover.js +46 -15
- package/loaders/post-popovercontainer2.js +921 -111
- package/loaders/post-rating.js +2 -2
- package/loaders/post-tab-header.js +8 -6
- package/loaders/post-tab-panel.js +4 -3
- package/loaders/post-tabs.js +10 -12
- package/loaders/post-tag.js +2 -2
- package/loaders/post-togglebutton.js +4 -3
- package/loaders/post-tooltip-trigger.d.ts +11 -0
- package/loaders/post-tooltip-trigger.js +4708 -0
- package/loaders/post-tooltip.js +34 -4960
- package/loaders/slide.js +9 -9
- package/package.json +41 -32
- package/dist/cjs/attribute-observer-10f08c04.js +0 -27
- package/dist/cjs/check-non-empty-eeaa8f77.js +0 -11
- package/dist/cjs/check-one-of-f4f5d0c0.js +0 -8
- package/dist/cjs/check-type-64af82a9.js +0 -16
- package/dist/cjs/check-url-3ffdd2fb.js +0 -14
- package/dist/cjs/debounce-1151afe3.js +0 -12
- package/dist/cjs/fade-35a3633a.js +0 -10
- package/dist/cjs/get-root-7a3498ef.js +0 -11
- package/dist/cjs/index-5d4e0aed.js +0 -29
- package/dist/cjs/post-accordion-item-ecc6749f.js +0 -63
- package/dist/cjs/post-back-to-top-60762f8e.js +0 -75
- package/dist/cjs/post-banner-9662f22c.js +0 -90
- package/dist/cjs/post-breadcrumb-b40732fc.js +0 -111
- package/dist/cjs/post-breadcrumb.cjs.entry.js +0 -13
- package/dist/cjs/post-card-control-039c9a4b.js +0 -272
- package/dist/cjs/post-popover-d0ce9dc6.js +0 -104
- package/dist/cjs/post-tab-header-4b6d8d54.js +0 -32
- package/dist/cjs/post-tag-ddaaaedc.js +0 -47
- package/dist/cjs/post-togglebutton-0984a694.js +0 -3239
- package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +0 -3
- package/dist/collection/components/post-menu-item/post-menu-item.css +0 -1
- package/dist/components/attribute-observer.js +0 -25
- package/dist/components/debounce.js +0 -10
- package/dist/components/post-breadcrumb.js +0 -6
- package/dist/components/post-breadcrumb2.js +0 -168
- package/dist/esm/attribute-observer-37fa950a.js +0 -25
- package/dist/esm/check-non-empty-58bd6b17.js +0 -9
- package/dist/esm/check-one-of-6b3ef8eb.js +0 -6
- package/dist/esm/check-type-8828dbe4.js +0 -14
- package/dist/esm/check-url-a974431e.js +0 -12
- package/dist/esm/debounce-abe98cc2.js +0 -10
- package/dist/esm/fade-7fd71785.js +0 -7
- package/dist/esm/get-root-7af2e0d1.js +0 -9
- package/dist/esm/index-b49c9904.js +0 -24
- package/dist/esm/package-4d81f3c2.js +0 -3
- package/dist/esm/post-accordion-item-e10452dc.js +0 -61
- package/dist/esm/post-back-to-top-1d823c43.js +0 -73
- package/dist/esm/post-banner-78480475.js +0 -88
- package/dist/esm/post-breadcrumb-aaa77f74.js +0 -109
- package/dist/esm/post-breadcrumb.entry.js +0 -5
- package/dist/esm/post-card-control-862aa961.js +0 -270
- package/dist/esm/post-popover-2432bb3f.js +0 -102
- package/dist/esm/post-tab-header-dfea00ea.js +0 -30
- package/dist/esm/post-tag-a77e7af6.js +0 -45
- package/dist/esm/post-togglebutton-395bf3f0.js +0 -3223
- package/dist/post-components/p-0711f76d.entry.js +0 -1
- package/dist/post-components/p-095a06f6.entry.js +0 -1
- package/dist/post-components/p-0b5a5f32.js +0 -1
- package/dist/post-components/p-135fa60f.js +0 -1
- package/dist/post-components/p-18e38d8a.js +0 -1
- package/dist/post-components/p-2737eaf5.js +0 -1
- package/dist/post-components/p-2e1ec074.entry.js +0 -1
- package/dist/post-components/p-4202b433.entry.js +0 -1
- package/dist/post-components/p-45773f59.js +0 -1
- package/dist/post-components/p-4953de7e.js +0 -1
- package/dist/post-components/p-4a3f67ab.js +0 -1
- package/dist/post-components/p-4f67c5f5.entry.js +0 -1
- package/dist/post-components/p-5075c672.entry.js +0 -1
- package/dist/post-components/p-515e0f96.js +0 -1
- package/dist/post-components/p-5467b223.js +0 -1
- package/dist/post-components/p-611b3c41.js +0 -1
- package/dist/post-components/p-67036798.entry.js +0 -1
- package/dist/post-components/p-6adeaa6c.js +0 -1
- package/dist/post-components/p-6d953fb2.js +0 -1
- package/dist/post-components/p-6edb0ac5.js +0 -1
- package/dist/post-components/p-6f8f39ca.js +0 -1
- package/dist/post-components/p-7503a623.js +0 -1
- package/dist/post-components/p-761b24c7.entry.js +0 -1
- package/dist/post-components/p-77c4c1d2.js +0 -1
- package/dist/post-components/p-7cf0c2ad.js +0 -1
- package/dist/post-components/p-856c14d6.entry.js +0 -1
- package/dist/post-components/p-866bf50a.entry.js +0 -1
- package/dist/post-components/p-8d621781.js +0 -1
- package/dist/post-components/p-8fe2d72c.entry.js +0 -1
- package/dist/post-components/p-9ad5088f.entry.js +0 -1
- package/dist/post-components/p-a1d2b90e.js +0 -1
- package/dist/post-components/p-a521419d.entry.js +0 -1
- package/dist/post-components/p-aa538648.js +0 -1
- package/dist/post-components/p-afdbee2f.js +0 -1
- package/dist/post-components/p-b02817f2.entry.js +0 -1
- package/dist/post-components/p-b095519d.js +0 -1
- package/dist/post-components/p-b157dcba.entry.js +0 -1
- package/dist/post-components/p-b22656b1.js +0 -1
- package/dist/post-components/p-bdbd11cb.js +0 -1
- package/dist/post-components/p-c537e196.entry.js +0 -1
- package/dist/post-components/p-d4f93f2b.js +0 -1
- package/dist/post-components/p-dca4246a.entry.js +0 -1
- package/dist/post-components/p-f319b026.js +0 -1
- package/dist/post-components/p-f4b7b379.js +0 -1
- package/dist/post-components/p-fac66087.entry.js +0 -1
- package/dist/post-components/p-fc91cbc2.js +0 -1
- package/dist/types/utils/is-focusable.d.ts +0 -1
- package/loaders/attribute-observer.js +0 -25
- package/loaders/debounce.js +0 -10
- package/loaders/post-breadcrumb.js +0 -171
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Copyright 2021 by Swiss Post, Information Technology
|
|
3
|
-
*/.tag,.tag:where(:has(:not(pre))){--post-tag-bg: hsl(0, 0%, 90%);--post-tag-fg: #000;display:inline-flex;align-items:center;gap:.25rem;padding:0 .5rem;max-width:100%;background-color:var(--post-tag-bg);border:1px solid rgba(0,0,0,0);border-radius:.25rem;font-size:1rem;line-height:1.875rem;white-space:nowrap;color:var(--post-tag-fg)}.tag post-icon,.tag:where(:has(:not(pre))) post-icon{flex:0 0 auto;width:1.25rem;height:1.25rem}.tag .tag-text,.tag:where(:has(:not(pre))) .tag-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag .tag-text svg,.tag .tag-text img,.tag:where(:has(:not(pre))) .tag-text svg,.tag:where(:has(:not(pre))) .tag-text img{display:inline-block;height:1.25rem !important;vertical-align:text-top}.tag.tag-sm,.tag:where(:has(:not(pre))).tag-sm{line-height:1.5rem}.tag.tag-sm .tag-icon,.tag:where(:has(:not(pre))).tag-sm .tag-icon{width:1rem;height:1rem}.tag.tag-white,.tag:where(:has(:not(pre))).tag-white{--post-tag-bg: #fff;--post-tag-fg: #000}.tag.tag-yellow,.tag:where(:has(:not(pre))).tag-yellow{--post-tag-bg: #fc0;--post-tag-fg: #000}.tag.tag-success,.tag:where(:has(:not(pre))).tag-success{--post-tag-bg: #2c871d;--post-tag-fg: #fff}.tag.tag-warning,.tag:where(:has(:not(pre))).tag-warning{--post-tag-bg: #f49e00;--post-tag-fg: #000}.tag.tag-danger,.tag:where(:has(:not(pre))).tag-danger{--post-tag-bg: #a51728;--post-tag-fg: #fff}.tag.tag-info,.tag:where(:has(:not(pre))).tag-info{--post-tag-bg: #cce4ee;--post-tag-fg: #000}.tag.tag-white,.tag:where(:has(:not(pre))).tag-white{border-color:var(--post-contrast-color)}pre .tag,pre .tag:where(:has(:not(pre))){display:inline;padding:initial;max-width:initial;background:initial;border:initial;border-radius:initial;font-size:inherit;line-height:inherit;white-space:unset}*,*:before,*:after{box-sizing:border-box}.tag-text ::slotted(svg),.tag-text ::slotted(img){display:inline-block !important;height:1.25rem !important;vertical-align:text-top !important}
|
|
1
|
+
@keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}.tag,.tag:where(:has(:not(pre))){--post-tag-bg: hsl(0, 0%, 90%);--post-tag-fg: #000;display:inline-flex;align-items:center;gap:var(--post-core-dimension-4);padding:0 var(--post-core-dimension-8);max-width:100%;background-color:var(--post-tag-bg);border:var(--post-core-dimension-1) solid rgba(0,0,0,0);border-radius:var(--post-core-dimension-4);font-size:1rem;line-height:calc(var(--post-core-dimension-32) - var(--post-core-dimension-1)*2);white-space:nowrap;color:var(--post-tag-fg)}.tag post-icon,.tag:where(:has(:not(pre))) post-icon{flex:0 0 auto;width:1.25rem;height:1.25rem}.tag .tag-text,.tag:where(:has(:not(pre))) .tag-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag .tag-text svg,.tag .tag-text img,.tag:where(:has(:not(pre))) .tag-text svg,.tag:where(:has(:not(pre))) .tag-text img{display:inline-block;height:1.25rem !important;vertical-align:text-top}.tag.tag-sm,.tag:where(:has(:not(pre))).tag-sm{line-height:var(--post-core-dimension-24)}.tag.tag-sm .tag-icon,.tag:where(:has(:not(pre))).tag-sm .tag-icon{width:1rem;height:1rem}.tag.tag-white,.tag:where(:has(:not(pre))).tag-white{--post-tag-bg: #fff;--post-tag-fg: #000}.tag.tag-yellow,.tag:where(:has(:not(pre))).tag-yellow{--post-tag-bg: #fc0;--post-tag-fg: #000}.tag.tag-success,.tag:where(:has(:not(pre))).tag-success{--post-tag-bg: #2c871d;--post-tag-fg: #fff}.tag.tag-warning,.tag:where(:has(:not(pre))).tag-warning{--post-tag-bg: #f49e00;--post-tag-fg: #000}.tag.tag-danger,.tag:where(:has(:not(pre))).tag-danger{--post-tag-bg: #a51728;--post-tag-fg: #fff}.tag.tag-info,.tag:where(:has(:not(pre))).tag-info{--post-tag-bg: #cce4ee;--post-tag-fg: #000}.tag.tag-white,.tag:where(:has(:not(pre))).tag-white{border-color:#000}pre .tag,pre .tag:where(:has(:not(pre))){display:inline;padding:initial;max-width:initial;background:initial;border:initial;border-radius:initial;font-size:inherit;line-height:inherit;white-space:unset}*,*:before,*:after{box-sizing:border-box}.tag-text ::slotted(svg),.tag-text ::slotted(img){display:inline-block !important;height:1.25rem !important;vertical-align:text-top !important}
|
|
@@ -30,7 +30,7 @@ export class PostTag {
|
|
|
30
30
|
this.setClasses();
|
|
31
31
|
}
|
|
32
32
|
render() {
|
|
33
|
-
return (h(Host, { key: '
|
|
33
|
+
return (h(Host, { key: '4ca273166b81099dd8fc0f69d3d38215e3d7ccbc', "data-version": version }, h("div", { key: 'b6c4eb6a3bf8cbaad18cf6277dab79bd6e350f0a', class: this.classes }, this.icon ? h("post-icon", { name: this.icon }) : null, h("div", { key: '4f9e8cf6b2c723e31d60e30464c1106a9f72b5b4', class: "tag-text" }, h("slot", { key: '819a4e6ff743386f8d5d6b1d94dea9ee4a612784' })))));
|
|
34
34
|
}
|
|
35
35
|
static get is() { return "post-tag"; }
|
|
36
36
|
static get encapsulation() { return "shadow"; }
|
|
@@ -93,7 +93,7 @@ export class PostTag {
|
|
|
93
93
|
"optional": false,
|
|
94
94
|
"docs": {
|
|
95
95
|
"tags": [],
|
|
96
|
-
"text": "Defines the icon `name` inside of the component.\n<span className=\"banner banner-sm banner-info\">If not set the icon will not show up.</span>\nTo learn which icons are available, please visit our <a href=\"/?path=/docs/
|
|
96
|
+
"text": "Defines the icon `name` inside of the component.\n<span className=\"banner banner-sm banner-info\">If not set the icon will not show up.</span>\nTo learn which icons are available, please visit our <a href=\"/?path=/docs/0dcfe3c0-bfc0-4107-b43b-7e9d825b805f--docs\">icon library</a>."
|
|
97
97
|
},
|
|
98
98
|
"attribute": "icon",
|
|
99
99
|
"reflect": false,
|
|
@@ -18,8 +18,8 @@ export class PostTogglebutton {
|
|
|
18
18
|
};
|
|
19
19
|
this.toggled = false;
|
|
20
20
|
}
|
|
21
|
-
validateToggled(
|
|
22
|
-
checkType(
|
|
21
|
+
validateToggled() {
|
|
22
|
+
checkType(this, 'toggled', 'boolean');
|
|
23
23
|
}
|
|
24
24
|
componentWillLoad() {
|
|
25
25
|
this.validateToggled();
|
|
@@ -28,7 +28,7 @@ export class PostTogglebutton {
|
|
|
28
28
|
this.host.addEventListener('keydown', (e) => this.handleKeydown(e));
|
|
29
29
|
}
|
|
30
30
|
render() {
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: '3a1429a9b67b8cfafae184fe0d060ee3a04974e0', "data-version": version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, h("slot", { key: '9ab1537574423740fc335fde732c699698acac25' })));
|
|
32
32
|
}
|
|
33
33
|
static get is() { return "post-togglebutton"; }
|
|
34
34
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{
|
|
1
|
+
:host{display:none}:host([open]){display:block}post-popovercontainer[arrow]::after{position:absolute;content:"";inset:-13px;z-index:-1}post-popovercontainer>div{padding:var(--post-core-dimension-4) var(--post-core-dimension-8);max-width:200px;min-height:32px}
|
|
@@ -1,220 +1,59 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
2
|
import { version } from "../../../../package";
|
|
3
|
-
import
|
|
4
|
-
import "long-press-event";
|
|
5
|
-
import { getAttributeObserver } from "../../utils/attribute-observer";
|
|
6
|
-
import { checkEmptyOrType } from "../../utils/index";
|
|
7
|
-
const OPEN_DELAY = 650; // matches HTML title delay
|
|
8
|
-
/**
|
|
9
|
-
* @slot default - Slot for the content of the tooltip.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Track how many instances remain on the page. Used for removing global event listeners
|
|
13
|
-
*/
|
|
14
|
-
let tooltipInstances = 0;
|
|
15
|
-
let hideTooltipTimeout = null;
|
|
16
|
-
const tooltipTargetAttribute = 'data-tooltip-target';
|
|
17
|
-
const tooltipTargetAttributeSelector = `[${tooltipTargetAttribute}]`;
|
|
18
|
-
let globalCurrentTarget;
|
|
19
|
-
let tooltipTimeout = null;
|
|
20
|
-
/**
|
|
21
|
-
* Global event listener to show tooltips. This is globalized so that triggers that are rendered
|
|
22
|
-
* async will still work without the need to set listeners on the element itself
|
|
23
|
-
*
|
|
24
|
-
* This handler manages both pointer and focus events to properly trigger tooltips.
|
|
25
|
-
* If the event is a focus event (e.g., keyboard navigation), pointer events are ignored to avoid
|
|
26
|
-
* interference with tooltip behavior.
|
|
27
|
-
* @param e Event
|
|
28
|
-
* @returns
|
|
29
|
-
*/
|
|
30
|
-
const globalInterestHandler = (e) => {
|
|
31
|
-
const targetElement = e.target.closest(tooltipTargetAttributeSelector);
|
|
32
|
-
globalCurrentTarget = targetElement;
|
|
33
|
-
if (!targetElement || !('getAttribute' in targetElement)) {
|
|
34
|
-
clearTimeout(tooltipTimeout);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
const tooltipTarget = targetElement.getAttribute(tooltipTargetAttribute);
|
|
38
|
-
if (!tooltipTarget || tooltipTarget === '')
|
|
39
|
-
return;
|
|
40
|
-
const tooltip = document.getElementById(tooltipTarget);
|
|
41
|
-
// Determine if the tooltip was triggered by a focus event
|
|
42
|
-
const triggeredByFocus = e.type === 'focusin';
|
|
43
|
-
void (tooltip === null || tooltip === void 0 ? void 0 : tooltip.show(targetElement, triggeredByFocus));
|
|
44
|
-
if (hideTooltipTimeout) {
|
|
45
|
-
window.clearTimeout(hideTooltipTimeout);
|
|
46
|
-
hideTooltipTimeout = null;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Global event listener to hide tooltips. This is globalized so that triggers that are rendered
|
|
51
|
-
* async will still work without the need to set listeners on the element itself
|
|
52
|
-
* @param e Event
|
|
53
|
-
* @returns
|
|
54
|
-
*/
|
|
55
|
-
const globalInterestLostHandler = (e) => {
|
|
56
|
-
const targetElement = e.target.closest(tooltipTargetAttributeSelector);
|
|
57
|
-
if (!targetElement || !('getAttribute' in targetElement))
|
|
58
|
-
return;
|
|
59
|
-
const tooltipTarget = targetElement.getAttribute(tooltipTargetAttribute);
|
|
60
|
-
if (!tooltipTarget || tooltipTarget === '')
|
|
61
|
-
return;
|
|
62
|
-
const tooltip = document.getElementById(tooltipTarget);
|
|
63
|
-
globalHideTooltip(tooltip);
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Start the hiding process through a timeout to give other interest events a chance to
|
|
67
|
-
* intervene and cancel the hide event.
|
|
68
|
-
* @param {HTMLPostTooltipElement} tooltip
|
|
69
|
-
*/
|
|
70
|
-
const globalHideTooltip = (tooltip) => {
|
|
71
|
-
hideTooltipTimeout = window.setTimeout(() => {
|
|
72
|
-
tooltip.hide();
|
|
73
|
-
hideTooltipTimeout = null;
|
|
74
|
-
}, 42);
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* Patch some accessibility features that are hard to remember or understand
|
|
78
|
-
* @param {HTMLElement} trigger
|
|
79
|
-
*/
|
|
80
|
-
const patchAccessibilityFeatures = (trigger) => {
|
|
81
|
-
const describedBy = trigger.getAttribute('aria-describedby');
|
|
82
|
-
const id = trigger.getAttribute(tooltipTargetAttribute);
|
|
83
|
-
// Add tooltip to aria-describedby
|
|
84
|
-
if (!(describedBy === null || describedBy === void 0 ? void 0 : describedBy.includes(id))) {
|
|
85
|
-
const newDescribedBy = describedBy ? `${describedBy} ${id}` : id;
|
|
86
|
-
trigger.setAttribute('aria-describedby', newDescribedBy);
|
|
87
|
-
}
|
|
88
|
-
// Make element focusable
|
|
89
|
-
if (!isFocusable(trigger)) {
|
|
90
|
-
trigger.setAttribute('tabindex', '0');
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
// Initialize a mutation observer for patching accessibility features
|
|
94
|
-
const triggerObserver = getAttributeObserver(tooltipTargetAttribute, patchAccessibilityFeatures);
|
|
3
|
+
import { checkType } from "../../utils/index";
|
|
95
4
|
export class PostTooltip {
|
|
96
5
|
constructor() {
|
|
97
|
-
this.wasOpenedByFocus = false;
|
|
98
6
|
this.placement = 'top';
|
|
99
|
-
this.arrow =
|
|
100
|
-
this.
|
|
7
|
+
this.arrow = false;
|
|
8
|
+
this.animation = null;
|
|
9
|
+
this.open = false;
|
|
101
10
|
}
|
|
102
|
-
|
|
103
|
-
|
|
11
|
+
validateOpen() {
|
|
12
|
+
checkType(this, 'open', 'boolean', 'The "open" property of the post-tooltip must be a boolean.');
|
|
104
13
|
}
|
|
105
14
|
connectedCallback() {
|
|
106
|
-
this.
|
|
15
|
+
this.validateOpen();
|
|
107
16
|
}
|
|
108
17
|
componentDidLoad() {
|
|
109
18
|
if (!this.host.id) {
|
|
110
|
-
|
|
19
|
+
console.error(
|
|
111
20
|
/*prettier-ignore*/
|
|
112
|
-
'No id set: <post-tooltip> must have an id, linking it to it\'s target element
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Add interest event listeners, but only once, and start
|
|
117
|
-
* the accessibility patcher
|
|
118
|
-
*/
|
|
119
|
-
componentWillLoad() {
|
|
120
|
-
if (tooltipInstances === 0) {
|
|
121
|
-
// This is the first tooltip on the page, add event listeners
|
|
122
|
-
document.addEventListener('pointerover', globalInterestHandler);
|
|
123
|
-
document.addEventListener('pointerout', globalInterestLostHandler);
|
|
124
|
-
document.addEventListener('focusin', globalInterestHandler);
|
|
125
|
-
document.addEventListener('focusout', globalInterestLostHandler);
|
|
126
|
-
document.addEventListener('long-press', globalInterestHandler);
|
|
127
|
-
// Initially run the accessibility patcher on all triggers
|
|
128
|
-
document.querySelectorAll('[data-tooltip-target]').forEach(patchAccessibilityFeatures);
|
|
129
|
-
// Start watching for future triggers
|
|
130
|
-
triggerObserver.observe(document.body, {
|
|
131
|
-
subtree: true,
|
|
132
|
-
childList: true,
|
|
133
|
-
attributeFilter: [tooltipTargetAttribute],
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
tooltipInstances++;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Remove a bunch of event listeners if the tooltip gets removed from the DOM
|
|
140
|
-
* and disconnect the accessibility patcher
|
|
141
|
-
*/
|
|
142
|
-
disconnectedCallback() {
|
|
143
|
-
tooltipInstances--;
|
|
144
|
-
if (tooltipInstances <= 0) {
|
|
145
|
-
// The last tooltip has been removed, stop listening for these kind of events
|
|
146
|
-
document.removeEventListener('pointerover', globalInterestHandler);
|
|
147
|
-
document.removeEventListener('pointerout', globalInterestLostHandler);
|
|
148
|
-
document.removeEventListener('focusin', globalInterestHandler);
|
|
149
|
-
document.removeEventListener('focusout', globalInterestLostHandler);
|
|
150
|
-
document.removeEventListener('long-press', globalInterestHandler);
|
|
151
|
-
triggerObserver.disconnect();
|
|
21
|
+
'No id set: <post-tooltip> must have an id, linking it to it\'s target element with a <post-tooltip-trigger> element.');
|
|
152
22
|
}
|
|
153
23
|
}
|
|
154
24
|
/**
|
|
155
|
-
* Programmatically display the tooltip
|
|
156
|
-
* @param target An element
|
|
157
|
-
* @param triggeredByFocus A boolean indicating if the tooltip was triggered by a focus event.
|
|
25
|
+
* Programmatically display the tooltip.
|
|
26
|
+
* @param target An element where the tooltip should be shown
|
|
158
27
|
*/
|
|
159
|
-
async show(target
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
return;
|
|
164
|
-
// Determine if the tooltip was opened by a focus event
|
|
165
|
-
this.wasOpenedByFocus = triggeredByFocus;
|
|
166
|
-
// Disable pointer events if triggered by focus, otherwise enable them
|
|
167
|
-
if (this.wasOpenedByFocus) {
|
|
168
|
-
this.host.style.pointerEvents = 'none';
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
this.host.style.pointerEvents = 'auto';
|
|
172
|
-
}
|
|
173
|
-
this.popoverRef.show(target);
|
|
174
|
-
};
|
|
175
|
-
if (this.delayed) {
|
|
176
|
-
tooltipTimeout = setTimeout(() => {
|
|
177
|
-
showTooltip();
|
|
178
|
-
}, OPEN_DELAY);
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
showTooltip();
|
|
182
|
-
}
|
|
28
|
+
async show(target) {
|
|
29
|
+
if (this.open)
|
|
30
|
+
return;
|
|
31
|
+
this.popoverRef.show(target);
|
|
183
32
|
}
|
|
184
33
|
/**
|
|
185
|
-
* Programmatically hide this tooltip
|
|
34
|
+
* Programmatically hide this tooltip.
|
|
186
35
|
*/
|
|
187
36
|
async hide() {
|
|
188
37
|
this.popoverRef.hide();
|
|
189
38
|
}
|
|
190
39
|
/**
|
|
191
|
-
* Toggle tooltip display
|
|
192
|
-
* @param target An element
|
|
193
|
-
* @param force Pass true to always show or false to always hide
|
|
40
|
+
* Toggle tooltip display.
|
|
41
|
+
* @param target An element where the tooltip should be shown
|
|
42
|
+
* @param [force] Pass true to always show or false to always hide
|
|
194
43
|
*/
|
|
195
44
|
async toggle(target, force) {
|
|
196
45
|
this.popoverRef.toggle(target, force);
|
|
197
46
|
}
|
|
198
47
|
/**
|
|
199
|
-
*
|
|
200
|
-
|
|
201
|
-
handleInterest() {
|
|
202
|
-
if (hideTooltipTimeout) {
|
|
203
|
-
window.clearTimeout(hideTooltipTimeout);
|
|
204
|
-
hideTooltipTimeout = null;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Pointer or focus left the tooltip, initiate the hiding process
|
|
209
|
-
* Re-enable pointer events when the tooltip is no longer in focus or hovered
|
|
48
|
+
* Set the open state based on the toggle event.
|
|
49
|
+
* @param e Popovercontainer toggle event
|
|
210
50
|
*/
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
this.host.style.pointerEvents = 'auto';
|
|
51
|
+
handleToggle(e) {
|
|
52
|
+
this.open = e.detail;
|
|
214
53
|
}
|
|
215
54
|
render() {
|
|
216
|
-
const popoverClass = `${this.arrow ? '
|
|
217
|
-
return (h(Host, { key: '
|
|
55
|
+
const popoverClass = `${this.arrow ? 'has-arrow' : ''}`;
|
|
56
|
+
return (h(Host, { key: 'd6a76533f22e354ff89f15c1e9a10e20fe471579', "data-version": version, role: "tooltip" }, h("post-popovercontainer", { key: '60076aaa184ae98e9e813400cc2d03f5add274df', safeSpace: 'trapezoid', class: popoverClass, arrow: this.arrow, animation: this.animation, placement: this.placement, onPostToggle: e => this.handleToggle(e), ref: (el) => (this.popoverRef = el) }, h("slot", { key: '1d5ea42696cc60a8a84ff0ecc29e82152d028ba4' }))));
|
|
218
57
|
}
|
|
219
58
|
static get is() { return "post-tooltip"; }
|
|
220
59
|
static get encapsulation() { return "shadow"; }
|
|
@@ -240,7 +79,7 @@ export class PostTooltip {
|
|
|
240
79
|
"Placement": {
|
|
241
80
|
"location": "import",
|
|
242
81
|
"path": "@floating-ui/dom",
|
|
243
|
-
"id": "../../node_modules/.pnpm/@floating-ui+dom@1.
|
|
82
|
+
"id": "../../node_modules/.pnpm/@floating-ui+dom@1.7.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts::Placement"
|
|
244
83
|
}
|
|
245
84
|
}
|
|
246
85
|
},
|
|
@@ -248,7 +87,7 @@ export class PostTooltip {
|
|
|
248
87
|
"optional": true,
|
|
249
88
|
"docs": {
|
|
250
89
|
"tags": [],
|
|
251
|
-
"text": "Defines the
|
|
90
|
+
"text": "Defines the position of the tooltip relative to its trigger.\nTooltips 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.\nFor supported values and behavior details, see the [Floating UI placement documentation](https://floating-ui.com/docs/computePosition#placement)."
|
|
252
91
|
},
|
|
253
92
|
"attribute": "placement",
|
|
254
93
|
"reflect": false,
|
|
@@ -266,15 +105,33 @@ export class PostTooltip {
|
|
|
266
105
|
"optional": true,
|
|
267
106
|
"docs": {
|
|
268
107
|
"tags": [],
|
|
269
|
-
"text": "
|
|
108
|
+
"text": "Whether or not to display a little pointer arrow"
|
|
270
109
|
},
|
|
271
110
|
"attribute": "arrow",
|
|
272
111
|
"reflect": false,
|
|
273
|
-
"defaultValue": "
|
|
112
|
+
"defaultValue": "false"
|
|
274
113
|
},
|
|
275
|
-
"
|
|
276
|
-
"type": "
|
|
114
|
+
"animation": {
|
|
115
|
+
"type": "string",
|
|
277
116
|
"mutable": false,
|
|
117
|
+
"complexType": {
|
|
118
|
+
"original": "'pop-in' | null",
|
|
119
|
+
"resolved": "\"pop-in\"",
|
|
120
|
+
"references": {}
|
|
121
|
+
},
|
|
122
|
+
"required": false,
|
|
123
|
+
"optional": true,
|
|
124
|
+
"docs": {
|
|
125
|
+
"tags": [],
|
|
126
|
+
"text": "Choose a tooltip animation"
|
|
127
|
+
},
|
|
128
|
+
"attribute": "animation",
|
|
129
|
+
"reflect": false,
|
|
130
|
+
"defaultValue": "null"
|
|
131
|
+
},
|
|
132
|
+
"open": {
|
|
133
|
+
"type": "boolean",
|
|
134
|
+
"mutable": true,
|
|
278
135
|
"complexType": {
|
|
279
136
|
"original": "boolean",
|
|
280
137
|
"resolved": "boolean",
|
|
@@ -284,10 +141,10 @@ export class PostTooltip {
|
|
|
284
141
|
"optional": false,
|
|
285
142
|
"docs": {
|
|
286
143
|
"tags": [],
|
|
287
|
-
"text": "
|
|
144
|
+
"text": "Indicates the open state of the tooltip"
|
|
288
145
|
},
|
|
289
|
-
"attribute": "
|
|
290
|
-
"reflect":
|
|
146
|
+
"attribute": "open",
|
|
147
|
+
"reflect": true,
|
|
291
148
|
"defaultValue": "false"
|
|
292
149
|
}
|
|
293
150
|
};
|
|
@@ -296,15 +153,11 @@ export class PostTooltip {
|
|
|
296
153
|
return {
|
|
297
154
|
"show": {
|
|
298
155
|
"complexType": {
|
|
299
|
-
"signature": "(target: HTMLElement
|
|
156
|
+
"signature": "(target: HTMLElement) => Promise<void>",
|
|
300
157
|
"parameters": [{
|
|
301
158
|
"name": "target",
|
|
302
159
|
"type": "HTMLElement",
|
|
303
|
-
"docs": "An element
|
|
304
|
-
}, {
|
|
305
|
-
"name": "triggeredByFocus",
|
|
306
|
-
"type": "boolean",
|
|
307
|
-
"docs": "A boolean indicating if the tooltip was triggered by a focus event."
|
|
160
|
+
"docs": "An element where the tooltip should be shown"
|
|
308
161
|
}],
|
|
309
162
|
"references": {
|
|
310
163
|
"Promise": {
|
|
@@ -319,13 +172,10 @@ export class PostTooltip {
|
|
|
319
172
|
"return": "Promise<void>"
|
|
320
173
|
},
|
|
321
174
|
"docs": {
|
|
322
|
-
"text": "Programmatically display the tooltip",
|
|
175
|
+
"text": "Programmatically display the tooltip.",
|
|
323
176
|
"tags": [{
|
|
324
177
|
"name": "param",
|
|
325
|
-
"text": "target An element
|
|
326
|
-
}, {
|
|
327
|
-
"name": "param",
|
|
328
|
-
"text": "triggeredByFocus A boolean indicating if the tooltip was triggered by a focus event."
|
|
178
|
+
"text": "target An element where the tooltip should be shown"
|
|
329
179
|
}]
|
|
330
180
|
}
|
|
331
181
|
},
|
|
@@ -342,7 +192,7 @@ export class PostTooltip {
|
|
|
342
192
|
"return": "Promise<void>"
|
|
343
193
|
},
|
|
344
194
|
"docs": {
|
|
345
|
-
"text": "Programmatically hide this tooltip",
|
|
195
|
+
"text": "Programmatically hide this tooltip.",
|
|
346
196
|
"tags": []
|
|
347
197
|
}
|
|
348
198
|
},
|
|
@@ -352,7 +202,7 @@ export class PostTooltip {
|
|
|
352
202
|
"parameters": [{
|
|
353
203
|
"name": "target",
|
|
354
204
|
"type": "HTMLElement",
|
|
355
|
-
"docs": "An element
|
|
205
|
+
"docs": "An element where the tooltip should be shown"
|
|
356
206
|
}, {
|
|
357
207
|
"name": "force",
|
|
358
208
|
"type": "boolean",
|
|
@@ -371,10 +221,10 @@ export class PostTooltip {
|
|
|
371
221
|
"return": "Promise<void>"
|
|
372
222
|
},
|
|
373
223
|
"docs": {
|
|
374
|
-
"text": "Toggle tooltip display",
|
|
224
|
+
"text": "Toggle tooltip display.",
|
|
375
225
|
"tags": [{
|
|
376
226
|
"name": "param",
|
|
377
|
-
"text": "target An element
|
|
227
|
+
"text": "target An element where the tooltip should be shown"
|
|
378
228
|
}, {
|
|
379
229
|
"name": "param",
|
|
380
230
|
"text": "force Pass true to always show or false to always hide"
|
|
@@ -386,8 +236,8 @@ export class PostTooltip {
|
|
|
386
236
|
static get elementRef() { return "host"; }
|
|
387
237
|
static get watchers() {
|
|
388
238
|
return [{
|
|
389
|
-
"propName": "
|
|
390
|
-
"methodName": "
|
|
239
|
+
"propName": "open",
|
|
240
|
+
"methodName": "validateOpen"
|
|
391
241
|
}];
|
|
392
242
|
}
|
|
393
243
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
post-tooltip-trigger{vertical-align:top}
|