@swisspost/design-system-components 9.0.0-next.9 → 9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-5d4e0aed.js → index-824d2b71.js} +12 -2
- package/dist/cjs/{index-010dc207.js → index-e1f32cce.js} +17 -30
- package/dist/cjs/index.cjs.js +26 -50
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{package-8e810a59.js → package-93f142ae.js} +1 -1
- package/dist/cjs/{post-accordion-b9df8522.js → post-accordion-60af96cf.js} +3 -3
- package/dist/cjs/post-accordion-item-744c881d.js +52 -0
- package/dist/cjs/post-accordion-item.cjs.entry.js +4 -5
- package/dist/cjs/post-accordion.cjs.entry.js +3 -3
- package/dist/cjs/post-alert-2a768f58.js +99 -0
- package/dist/cjs/{post-banner.cjs.entry.js → post-alert.cjs.entry.js} +5 -6
- package/dist/cjs/post-card-control-197c8e44.js +272 -0
- package/dist/cjs/post-card-control.cjs.entry.js +3 -3
- package/dist/cjs/{post-collapsible-trigger-143cf84a.js → post-collapsible-trigger-3de8fe4e.js} +24 -11
- package/dist/cjs/post-collapsible_2.cjs.entry.js +4 -7
- package/dist/cjs/post-components.cjs.js +2 -2
- package/dist/cjs/post-icon-df629079.js +139 -0
- package/dist/cjs/post-icon.cjs.entry.js +16 -0
- package/dist/cjs/post-logo-7caeb918.js +39 -0
- package/dist/cjs/post-logo.cjs.entry.js +15 -0
- package/dist/cjs/post-popover-090c3d01.js +131 -0
- package/dist/cjs/post-popover.cjs.entry.js +3 -4
- package/dist/cjs/{post-togglebutton-0984a694.js → post-popovercontainer-872681bf.js} +148 -1106
- package/dist/cjs/post-popovercontainer.cjs.entry.js +11 -0
- package/dist/cjs/post-rating-21f9c46d.js +88 -0
- package/dist/cjs/post-rating.cjs.entry.js +3 -3
- package/dist/cjs/post-tab-header-422d0f03.js +32 -0
- package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
- package/dist/cjs/{post-tab-panel-60f211a5.js → post-tab-panel-dd58f425.js} +3 -3
- package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
- package/dist/cjs/{post-tabs-1f797ce4.js → post-tabs-83191b9a.js} +5 -5
- package/dist/cjs/post-tabs.cjs.entry.js +3 -3
- package/dist/cjs/post-tag-c72183f2.js +47 -0
- package/dist/cjs/post-tag.cjs.entry.js +3 -3
- package/dist/cjs/post-tooltip-782f020b.js +69 -0
- package/dist/cjs/{post-tooltip-38c839a4.js → post-tooltip-trigger-b2aeb636.js} +507 -557
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +12 -0
- package/dist/cjs/post-tooltip.cjs.entry.js +3 -8
- package/dist/collection/collection-manifest.json +4 -21
- package/dist/collection/components/post-accordion/post-accordion.css +1 -1
- package/dist/collection/components/post-accordion/post-accordion.js +2 -2
- package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.js +10 -24
- package/dist/collection/components/post-alert/alert-types.js +1 -0
- package/dist/collection/components/post-alert/post-alert.css +35 -0
- package/dist/collection/components/{post-banner/post-banner.js → post-alert/post-alert.js} +68 -39
- package/dist/collection/components/post-card-control/post-card-control.css +30 -2
- package/dist/collection/components/post-card-control/post-card-control.js +8 -8
- package/dist/collection/components/post-collapsible/post-collapsible.js +2 -4
- package/dist/collection/components/post-icon/post-icon.css +1 -1
- package/dist/collection/components/post-icon/post-icon.js +52 -13
- package/dist/collection/components/post-logo/post-logo.js +1 -1
- package/dist/collection/components/post-popover/post-popover.css +30 -2
- package/dist/collection/components/post-popover/post-popover.js +10 -6
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +31 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +180 -52
- package/dist/collection/components/post-rating/post-rating.css +29 -1
- package/dist/collection/components/post-rating/post-rating.js +1 -1
- package/dist/collection/components/post-tab-header/post-tab-header.css +29 -1
- package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
- package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
- package/dist/collection/components/post-tabs/post-tabs.css +1 -1
- package/dist/collection/components/post-tabs/post-tabs.js +2 -2
- package/dist/collection/components/post-tag/post-tag.css +29 -1
- package/dist/collection/components/post-tag/post-tag.js +2 -2
- package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.js +60 -213
- 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 -20
- package/dist/components/index.js +3 -20
- package/dist/components/index2.js +1 -1
- package/dist/components/package.js +1 -1
- package/dist/components/post-accordion-item2.js +12 -30
- package/dist/components/post-accordion2.js +1 -1
- package/dist/components/{post-list.d.ts → post-alert.d.ts} +4 -4
- package/dist/components/post-alert.js +6 -0
- package/dist/components/post-alert2.js +136 -0
- package/dist/components/post-card-control2.js +3 -3
- package/dist/components/post-collapsible-trigger2.js +17 -2
- package/dist/components/post-collapsible2.js +3 -5
- package/dist/components/post-icon2.js +54 -15
- package/dist/components/post-logo2.js +1 -1
- package/dist/components/post-popover2.js +35 -8
- package/dist/components/post-popovercontainer2.js +136 -41
- package/dist/components/post-rating2.js +2 -2
- package/dist/components/post-tab-header2.js +2 -2
- package/dist/components/post-tab-panel2.js +1 -1
- package/dist/components/post-tabs2.js +3 -3
- package/dist/components/post-tag2.js +2 -2
- package/dist/components/{post-breadcrumb-item.d.ts → post-tooltip-trigger.d.ts} +4 -4
- package/dist/components/post-tooltip-trigger.js +6 -0
- package/dist/components/post-tooltip-trigger2.js +4968 -0
- package/dist/components/post-tooltip2.js +32 -4962
- package/dist/docs.json +401 -1776
- package/dist/esm/{index-b49c9904.js → index-69587a51.js} +12 -2
- package/dist/esm/{index-fb8d6be7.js → index-e1b64755.js} +17 -30
- package/dist/esm/index.js +20 -27
- package/dist/esm/loader.js +3 -3
- package/dist/esm/package-45827c3b.js +3 -0
- package/dist/esm/{post-accordion-ee54a3ef.js → post-accordion-bcfe7e61.js} +3 -3
- package/dist/esm/post-accordion-item-8869c90b.js +50 -0
- package/dist/esm/post-accordion-item.entry.js +4 -5
- package/dist/esm/post-accordion.entry.js +3 -3
- package/dist/esm/post-alert-21fd0068.js +97 -0
- package/dist/esm/post-alert.entry.js +9 -0
- package/dist/esm/post-card-control-60c132dc.js +270 -0
- package/dist/esm/post-card-control.entry.js +3 -3
- package/dist/esm/{post-collapsible-trigger-1c7833f8.js → post-collapsible-trigger-3168178e.js} +22 -9
- package/dist/esm/post-collapsible_2.entry.js +4 -7
- package/dist/esm/post-components.js +3 -3
- package/dist/esm/post-icon-2e2e18ad.js +137 -0
- package/dist/esm/post-icon.entry.js +8 -0
- package/dist/esm/post-logo-f364eb72.js +37 -0
- package/dist/esm/post-logo.entry.js +7 -0
- package/dist/esm/post-popover-697201cd.js +129 -0
- package/dist/esm/post-popover.entry.js +3 -4
- package/dist/esm/{post-togglebutton-395bf3f0.js → post-popovercontainer-2b5f37fb.js} +149 -1093
- package/dist/esm/post-popovercontainer.entry.js +3 -0
- package/dist/esm/post-rating-0fd5de37.js +86 -0
- package/dist/esm/post-rating.entry.js +3 -3
- package/dist/esm/post-tab-header-c8898fa2.js +30 -0
- package/dist/esm/post-tab-header.entry.js +3 -3
- package/dist/esm/{post-tab-panel-cafd9e04.js → post-tab-panel-6b1219e0.js} +3 -3
- package/dist/esm/post-tab-panel.entry.js +3 -3
- package/dist/esm/{post-tabs-beef8eae.js → post-tabs-b8ff3c5d.js} +5 -5
- package/dist/esm/post-tabs.entry.js +3 -3
- package/dist/esm/post-tag-83470f28.js +45 -0
- package/dist/esm/post-tag.entry.js +3 -3
- package/dist/esm/post-tooltip-aa745743.js +67 -0
- package/dist/esm/{post-tooltip-b298039a.js → post-tooltip-trigger-ce0b4106.js} +507 -557
- package/dist/esm/post-tooltip-trigger.entry.js +4 -0
- package/dist/esm/post-tooltip.entry.js +3 -8
- package/dist/post-components/index.esm.js +1 -1
- package/dist/post-components/p-08dc45bb.entry.js +1 -0
- package/dist/post-components/p-1a48d1b0.js +1 -0
- package/dist/post-components/p-2b61a526.entry.js +1 -0
- package/dist/post-components/{p-c0ae9886.js → p-3eab790d.js} +1 -1
- package/dist/post-components/p-3f5bf5d9.entry.js +1 -0
- package/dist/post-components/p-40e5bb56.entry.js +1 -0
- package/dist/post-components/p-56ca6bb5.js +1 -0
- package/dist/post-components/p-58cbb854.entry.js +1 -0
- package/dist/post-components/p-5c557e64.js +1 -0
- package/dist/post-components/p-5ce2abc9.entry.js +1 -0
- package/dist/post-components/p-5f08d625.js +15 -0
- package/dist/post-components/p-7069ac74.entry.js +1 -0
- package/dist/post-components/p-755b2746.js +1 -0
- package/dist/post-components/p-788e64fb.js +1 -0
- package/dist/post-components/p-799cf60e.js +1 -0
- package/dist/post-components/p-7bbcc8ee.js +1 -0
- package/dist/post-components/p-7cdf9571.entry.js +1 -0
- package/dist/post-components/p-7e4181ce.entry.js +1 -0
- package/dist/post-components/p-9409f729.js +1 -0
- package/dist/post-components/p-a07846ea.js +1 -0
- package/dist/post-components/p-a4560368.js +1 -0
- package/dist/post-components/p-a503cb2c.entry.js +1 -0
- package/dist/post-components/p-b46e2451.js +1 -0
- package/dist/post-components/p-b7207224.js +1 -0
- package/dist/post-components/p-bafc0491.js +1 -0
- package/dist/post-components/p-c078fd94.entry.js +1 -0
- package/dist/post-components/p-c0aebe5e.entry.js +1 -0
- package/dist/post-components/p-c7e4acde.js +1 -0
- package/dist/post-components/p-ca71a3ff.entry.js +1 -0
- package/dist/post-components/p-d582cc10.js +1 -0
- package/dist/post-components/p-e49f57c0.entry.js +1 -0
- package/dist/post-components/p-eb712f9b.entry.js +1 -0
- package/dist/post-components/p-eebd060d.js +1 -0
- package/dist/post-components/p-f7cead60.entry.js +1 -0
- package/dist/post-components/p-ffd75503.js +1 -0
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/components/post-accordion/post-accordion.d.ts +1 -1
- package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +1 -7
- package/dist/types/components/post-alert/alert-types.d.ts +2 -0
- package/dist/types/components/post-alert/post-alert.d.ts +54 -0
- package/dist/types/components/post-card-control/post-card-control.d.ts +7 -7
- package/dist/types/components/post-icon/post-icon.d.ts +1 -1
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +31 -13
- package/dist/types/components/post-tag/post-tag.d.ts +1 -1
- package/dist/types/components/post-tooltip/post-tooltip.d.ts +20 -34
- package/dist/types/components/post-tooltip-trigger/post-tooltip-trigger.d.ts +47 -0
- package/dist/types/components.d.ts +124 -590
- package/dist/types/index.d.ts +3 -20
- package/loaders/index.d.ts +4 -38
- package/loaders/index.js +4 -21
- package/loaders/index2.js +1 -1
- package/loaders/package.js +1 -1
- package/loaders/post-accordion-item.js +82 -1
- package/loaders/post-accordion.js +1 -1
- package/loaders/{post-list.d.ts → post-alert.d.ts} +4 -4
- package/loaders/post-alert.js +139 -0
- package/loaders/post-card-control.js +3 -3
- package/loaders/post-collapsible-trigger2.js +17 -2
- package/loaders/post-collapsible2.js +3 -5
- package/loaders/post-icon2.js +54 -15
- package/loaders/post-logo.js +2 -2
- package/loaders/post-popover.js +35 -8
- package/loaders/post-popovercontainer2.js +136 -41
- package/loaders/post-rating.js +2 -2
- package/loaders/post-tab-header.js +2 -2
- package/loaders/post-tab-panel.js +1 -1
- package/loaders/post-tabs.js +3 -3
- package/loaders/post-tag.js +2 -2
- package/loaders/{post-avatar.d.ts → post-tooltip-trigger.d.ts} +4 -4
- package/loaders/post-tooltip-trigger.js +4971 -0
- package/loaders/post-tooltip.js +32 -4962
- package/package.json +6 -9
- package/dist/cjs/attribute-observer-10f08c04.js +0 -27
- package/dist/cjs/check-url-3ffdd2fb.js +0 -14
- package/dist/cjs/debounce-1151afe3.js +0 -12
- package/dist/cjs/get-root-7a3498ef.js +0 -11
- package/dist/cjs/post-accordion-item-ecc6749f.js +0 -63
- package/dist/cjs/post-avatar-f7236084.js +0 -148
- package/dist/cjs/post-avatar.cjs.entry.js +0 -13
- package/dist/cjs/post-back-to-top-60762f8e.js +0 -75
- package/dist/cjs/post-back-to-top.cjs.entry.js +0 -15
- package/dist/cjs/post-banner-9662f22c.js +0 -90
- package/dist/cjs/post-breadcrumb-b40732fc.js +0 -111
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +0 -17
- package/dist/cjs/post-breadcrumb.cjs.entry.js +0 -13
- package/dist/cjs/post-card-control-039c9a4b.js +0 -272
- package/dist/cjs/post-closebutton_15.cjs.entry.js +0 -33
- package/dist/cjs/post-footer-5f7fdf96.js +0 -84
- package/dist/cjs/post-footer.cjs.entry.js +0 -11
- package/dist/cjs/post-menu-item-bb0b0b9e.js +0 -74
- package/dist/cjs/post-popover-d0ce9dc6.js +0 -104
- package/dist/cjs/post-rating-1082197c.js +0 -88
- package/dist/cjs/post-tab-header-4b6d8d54.js +0 -32
- package/dist/cjs/post-tag-ddaaaedc.js +0 -47
- package/dist/cjs/slide-5d51abe8.js +0 -28
- package/dist/collection/animations/slide.js +0 -23
- package/dist/collection/components/post-avatar/post-avatar.css +0 -3
- package/dist/collection/components/post-avatar/post-avatar.js +0 -237
- package/dist/collection/components/post-back-to-top/post-back-to-top.css +0 -1
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +0 -107
- package/dist/collection/components/post-banner/banner-types.js +0 -1
- package/dist/collection/components/post-banner/post-banner.css +0 -3
- package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +0 -3
- package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +0 -161
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +0 -1
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +0 -93
- package/dist/collection/components/post-closebutton/post-closebutton.js +0 -12
- package/dist/collection/components/post-footer/post-footer.css +0 -1
- package/dist/collection/components/post-footer/post-footer.js +0 -75
- package/dist/collection/components/post-header/post-header.css +0 -1
- package/dist/collection/components/post-header/post-header.js +0 -160
- package/dist/collection/components/post-language-option/post-language-option.css +0 -3
- package/dist/collection/components/post-language-option/post-language-option.js +0 -215
- package/dist/collection/components/post-language-switch/post-language-switch.css +0 -1
- package/dist/collection/components/post-language-switch/post-language-switch.js +0 -163
- package/dist/collection/components/post-language-switch/switch-variants.js +0 -1
- package/dist/collection/components/post-list/post-list.css +0 -3
- package/dist/collection/components/post-list/post-list.js +0 -87
- 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 -25
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +0 -1
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +0 -52
- package/dist/collection/components/post-megadropdown/post-megadropdown.css +0 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.js +0 -151
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +0 -1
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +0 -104
- package/dist/collection/components/post-menu/post-menu.css +0 -3
- package/dist/collection/components/post-menu/post-menu.js +0 -280
- package/dist/collection/components/post-menu-item/post-menu-item.css +0 -1
- package/dist/collection/components/post-menu-item/post-menu-item.js +0 -20
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.css +0 -1
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +0 -114
- package/dist/collection/components/post-togglebutton/post-togglebutton.css +0 -1
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +0 -74
- package/dist/collection/utils/breakpoints.js +0 -46
- package/dist/collection/utils/is-focusable.js +0 -26
- package/dist/components/attribute-observer.js +0 -25
- package/dist/components/debounce.js +0 -10
- package/dist/components/get-root.js +0 -9
- package/dist/components/post-avatar.d.ts +0 -11
- package/dist/components/post-avatar.js +0 -6
- package/dist/components/post-avatar2.js +0 -173
- package/dist/components/post-back-to-top.d.ts +0 -11
- package/dist/components/post-back-to-top.js +0 -6
- package/dist/components/post-back-to-top2.js +0 -100
- package/dist/components/post-banner.d.ts +0 -11
- package/dist/components/post-banner.js +0 -6
- package/dist/components/post-banner2.js +0 -125
- package/dist/components/post-breadcrumb-item.js +0 -6
- package/dist/components/post-breadcrumb-item2.js +0 -82
- package/dist/components/post-breadcrumb.d.ts +0 -11
- package/dist/components/post-breadcrumb.js +0 -6
- package/dist/components/post-breadcrumb2.js +0 -168
- package/dist/components/post-closebutton.d.ts +0 -11
- package/dist/components/post-closebutton.js +0 -6
- package/dist/components/post-closebutton2.js +0 -34
- package/dist/components/post-footer.d.ts +0 -11
- package/dist/components/post-footer.js +0 -6
- package/dist/components/post-footer2.js +0 -124
- package/dist/components/post-header.d.ts +0 -11
- package/dist/components/post-header.js +0 -6
- package/dist/components/post-header2.js +0 -276
- package/dist/components/post-language-option.d.ts +0 -11
- package/dist/components/post-language-option.js +0 -6
- package/dist/components/post-language-option2.js +0 -94
- package/dist/components/post-language-switch.d.ts +0 -11
- package/dist/components/post-language-switch.js +0 -6
- package/dist/components/post-language-switch2.js +0 -146
- package/dist/components/post-list-item.d.ts +0 -11
- package/dist/components/post-list-item.js +0 -6
- package/dist/components/post-list-item2.js +0 -35
- package/dist/components/post-list.js +0 -6
- package/dist/components/post-list2.js +0 -53
- package/dist/components/post-mainnavigation.d.ts +0 -11
- package/dist/components/post-mainnavigation.js +0 -6
- package/dist/components/post-mainnavigation2.js +0 -48
- package/dist/components/post-megadropdown-trigger.d.ts +0 -11
- package/dist/components/post-megadropdown-trigger.js +0 -6
- package/dist/components/post-megadropdown-trigger2.js +0 -91
- package/dist/components/post-megadropdown.d.ts +0 -11
- package/dist/components/post-megadropdown.js +0 -6
- package/dist/components/post-megadropdown2.js +0 -93
- package/dist/components/post-menu-item.d.ts +0 -11
- package/dist/components/post-menu-item.js +0 -6
- package/dist/components/post-menu-item2.js +0 -33
- package/dist/components/post-menu-trigger.d.ts +0 -11
- package/dist/components/post-menu-trigger.js +0 -6
- package/dist/components/post-menu-trigger2.js +0 -102
- package/dist/components/post-menu.d.ts +0 -11
- package/dist/components/post-menu.js +0 -6
- package/dist/components/post-menu2.js +0 -203
- package/dist/components/post-togglebutton.d.ts +0 -11
- package/dist/components/post-togglebutton.js +0 -6
- package/dist/components/post-togglebutton2.js +0 -61
- package/dist/components/slide.js +0 -25
- package/dist/esm/attribute-observer-37fa950a.js +0 -25
- package/dist/esm/check-url-a974431e.js +0 -12
- package/dist/esm/debounce-abe98cc2.js +0 -10
- package/dist/esm/get-root-7af2e0d1.js +0 -9
- package/dist/esm/package-4d81f3c2.js +0 -3
- package/dist/esm/post-accordion-item-e10452dc.js +0 -61
- package/dist/esm/post-avatar-5572fa73.js +0 -146
- package/dist/esm/post-avatar.entry.js +0 -5
- package/dist/esm/post-back-to-top-1d823c43.js +0 -73
- package/dist/esm/post-back-to-top.entry.js +0 -7
- package/dist/esm/post-banner-78480475.js +0 -88
- package/dist/esm/post-banner.entry.js +0 -10
- package/dist/esm/post-breadcrumb-aaa77f74.js +0 -109
- package/dist/esm/post-breadcrumb-item_2.entry.js +0 -8
- package/dist/esm/post-breadcrumb.entry.js +0 -5
- package/dist/esm/post-card-control-862aa961.js +0 -270
- package/dist/esm/post-closebutton_15.entry.js +0 -11
- package/dist/esm/post-footer-b18875e7.js +0 -82
- package/dist/esm/post-footer.entry.js +0 -3
- package/dist/esm/post-menu-item-2906384b.js +0 -71
- package/dist/esm/post-popover-2432bb3f.js +0 -102
- package/dist/esm/post-rating-95cbdbb8.js +0 -86
- package/dist/esm/post-tab-header-dfea00ea.js +0 -30
- package/dist/esm/post-tag-a77e7af6.js +0 -45
- package/dist/esm/slide-3422b8a3.js +0 -25
- 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-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-4f67c5f5.entry.js +0 -1
- package/dist/post-components/p-4f9746f6.js +0 -15
- 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-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-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/animations/slide.d.ts +0 -2
- package/dist/types/components/post-avatar/post-avatar.d.ts +0 -51
- package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +0 -19
- package/dist/types/components/post-banner/banner-types.d.ts +0 -2
- package/dist/types/components/post-banner/post-banner.d.ts +0 -49
- package/dist/types/components/post-breadcrumb/post-breadcrumb.d.ts +0 -30
- package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +0 -16
- package/dist/types/components/post-closebutton/post-closebutton.d.ts +0 -7
- package/dist/types/components/post-footer/post-footer.d.ts +0 -23
- package/dist/types/components/post-header/post-header.d.ts +0 -24
- package/dist/types/components/post-language-option/post-language-option.d.ts +0 -45
- package/dist/types/components/post-language-switch/post-language-switch.d.ts +0 -31
- package/dist/types/components/post-language-switch/switch-variants.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-mainnavigation/post-mainnavigation.d.ts +0 -19
- package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +0 -35
- package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +0 -25
- package/dist/types/components/post-menu/post-menu.d.ts +0 -48
- package/dist/types/components/post-menu-item/post-menu-item.d.ts +0 -4
- package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +0 -27
- package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +0 -15
- package/dist/types/utils/breakpoints.d.ts +0 -11
- 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/get-root.js +0 -9
- package/loaders/post-accordion-item2.js +0 -102
- package/loaders/post-avatar.js +0 -176
- package/loaders/post-back-to-top.d.ts +0 -11
- package/loaders/post-back-to-top.js +0 -103
- package/loaders/post-banner.d.ts +0 -11
- package/loaders/post-banner.js +0 -128
- package/loaders/post-breadcrumb-item.d.ts +0 -11
- package/loaders/post-breadcrumb-item.js +0 -6
- package/loaders/post-breadcrumb-item2.js +0 -82
- package/loaders/post-breadcrumb.d.ts +0 -11
- package/loaders/post-breadcrumb.js +0 -171
- package/loaders/post-closebutton.d.ts +0 -11
- package/loaders/post-closebutton.js +0 -37
- package/loaders/post-footer.d.ts +0 -11
- package/loaders/post-footer.js +0 -127
- package/loaders/post-header.d.ts +0 -11
- package/loaders/post-header.js +0 -279
- package/loaders/post-language-option.d.ts +0 -11
- package/loaders/post-language-option.js +0 -97
- package/loaders/post-language-switch.d.ts +0 -11
- package/loaders/post-language-switch.js +0 -149
- package/loaders/post-list-item.d.ts +0 -11
- package/loaders/post-list-item.js +0 -38
- package/loaders/post-list.js +0 -56
- package/loaders/post-mainnavigation.d.ts +0 -11
- package/loaders/post-mainnavigation.js +0 -51
- package/loaders/post-megadropdown-trigger.d.ts +0 -11
- package/loaders/post-megadropdown-trigger.js +0 -94
- package/loaders/post-megadropdown.d.ts +0 -11
- package/loaders/post-megadropdown.js +0 -96
- package/loaders/post-menu-item.d.ts +0 -11
- package/loaders/post-menu-item.js +0 -6
- package/loaders/post-menu-item2.js +0 -33
- package/loaders/post-menu-trigger.d.ts +0 -11
- package/loaders/post-menu-trigger.js +0 -6
- package/loaders/post-menu-trigger2.js +0 -102
- package/loaders/post-menu.d.ts +0 -11
- package/loaders/post-menu.js +0 -6
- package/loaders/post-menu2.js +0 -203
- package/loaders/post-togglebutton.d.ts +0 -11
- package/loaders/post-togglebutton.js +0 -64
- package/loaders/slide.js +0 -25
|
@@ -1,220 +1,56 @@
|
|
|
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.
|
|
101
|
-
|
|
102
|
-
validateDelayed() {
|
|
103
|
-
checkEmptyOrType(this.delayed, 'boolean', 'The post-tooltip "delayed" property should be a boolean.');
|
|
7
|
+
this.arrow = false;
|
|
8
|
+
this.animation = null;
|
|
9
|
+
this.open = false;
|
|
104
10
|
}
|
|
105
|
-
|
|
106
|
-
this.
|
|
11
|
+
validateOpen() {
|
|
12
|
+
checkType(this.open, 'boolean', 'The "open" property of the post-tooltip must be a boolean.');
|
|
107
13
|
}
|
|
108
14
|
componentDidLoad() {
|
|
109
15
|
if (!this.host.id) {
|
|
110
|
-
|
|
16
|
+
console.error(
|
|
111
17
|
/*prettier-ignore*/
|
|
112
|
-
'No id set: <post-tooltip> must have an id, linking it to it\'s target element
|
|
18
|
+
'No id set: <post-tooltip> must have an id, linking it to it\'s target element with a <post-tooltip-trigger> element.');
|
|
113
19
|
}
|
|
114
20
|
}
|
|
115
21
|
/**
|
|
116
|
-
*
|
|
117
|
-
* the
|
|
22
|
+
* Programmatically display the tooltip.
|
|
23
|
+
* @param target An element where the tooltip should be shown
|
|
118
24
|
*/
|
|
119
|
-
|
|
120
|
-
if (
|
|
121
|
-
|
|
122
|
-
|
|
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++;
|
|
25
|
+
async show(target) {
|
|
26
|
+
if (this.open)
|
|
27
|
+
return;
|
|
28
|
+
this.popoverRef.show(target);
|
|
137
29
|
}
|
|
138
30
|
/**
|
|
139
|
-
*
|
|
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();
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Programmatically display the tooltip
|
|
156
|
-
* @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
|
|
157
|
-
* @param triggeredByFocus A boolean indicating if the tooltip was triggered by a focus event.
|
|
158
|
-
*/
|
|
159
|
-
async show(target, triggeredByFocus = false) {
|
|
160
|
-
const showTooltip = () => {
|
|
161
|
-
// If focus or pointer event is not on the button anymore, don't show the tooltip
|
|
162
|
-
if (globalCurrentTarget !== target)
|
|
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
|
-
}
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Programmatically hide this tooltip
|
|
31
|
+
* Programmatically hide this tooltip.
|
|
186
32
|
*/
|
|
187
33
|
async hide() {
|
|
188
34
|
this.popoverRef.hide();
|
|
189
35
|
}
|
|
190
36
|
/**
|
|
191
|
-
* Toggle tooltip display
|
|
192
|
-
* @param target An element
|
|
193
|
-
* @param force Pass true to always show or false to always hide
|
|
37
|
+
* Toggle tooltip display.
|
|
38
|
+
* @param target An element where the tooltip should be shown
|
|
39
|
+
* @param [force] Pass true to always show or false to always hide
|
|
194
40
|
*/
|
|
195
41
|
async toggle(target, force) {
|
|
196
42
|
this.popoverRef.toggle(target, force);
|
|
197
43
|
}
|
|
198
44
|
/**
|
|
199
|
-
*
|
|
45
|
+
* Set the open state based on the toggle event.
|
|
46
|
+
* @param e Popovercontainer toggle event
|
|
200
47
|
*/
|
|
201
|
-
|
|
202
|
-
|
|
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
|
|
210
|
-
*/
|
|
211
|
-
handleInterestLost() {
|
|
212
|
-
globalHideTooltip(this);
|
|
213
|
-
this.host.style.pointerEvents = 'auto';
|
|
48
|
+
handleToggle(e) {
|
|
49
|
+
this.open = e.detail;
|
|
214
50
|
}
|
|
215
51
|
render() {
|
|
216
|
-
const popoverClass = `${this.arrow ? '
|
|
217
|
-
return (h(Host, { key: '
|
|
52
|
+
const popoverClass = `${this.arrow ? 'has-arrow' : ''}`;
|
|
53
|
+
return (h(Host, { key: '42d4dbfacdfd2aa9d00c8555cfb672e71013d455', "data-version": version, role: "tooltip" }, h("post-popovercontainer", { key: '781b9a2a90d6e1d7dc1fe233d68787cdc96d1b2a', 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: '895559a810d2ec11e5078c0334f4e8f9c73533e5' }))));
|
|
218
54
|
}
|
|
219
55
|
static get is() { return "post-tooltip"; }
|
|
220
56
|
static get encapsulation() { return "shadow"; }
|
|
@@ -248,7 +84,7 @@ export class PostTooltip {
|
|
|
248
84
|
"optional": true,
|
|
249
85
|
"docs": {
|
|
250
86
|
"tags": [],
|
|
251
|
-
"text": "Defines the
|
|
87
|
+
"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
88
|
},
|
|
253
89
|
"attribute": "placement",
|
|
254
90
|
"reflect": false,
|
|
@@ -266,15 +102,33 @@ export class PostTooltip {
|
|
|
266
102
|
"optional": true,
|
|
267
103
|
"docs": {
|
|
268
104
|
"tags": [],
|
|
269
|
-
"text": "
|
|
105
|
+
"text": "Whether or not to display a little pointer arrow"
|
|
270
106
|
},
|
|
271
107
|
"attribute": "arrow",
|
|
272
108
|
"reflect": false,
|
|
273
|
-
"defaultValue": "
|
|
109
|
+
"defaultValue": "false"
|
|
274
110
|
},
|
|
275
|
-
"
|
|
276
|
-
"type": "
|
|
111
|
+
"animation": {
|
|
112
|
+
"type": "string",
|
|
277
113
|
"mutable": false,
|
|
114
|
+
"complexType": {
|
|
115
|
+
"original": "'pop-in' | null",
|
|
116
|
+
"resolved": "\"pop-in\"",
|
|
117
|
+
"references": {}
|
|
118
|
+
},
|
|
119
|
+
"required": false,
|
|
120
|
+
"optional": true,
|
|
121
|
+
"docs": {
|
|
122
|
+
"tags": [],
|
|
123
|
+
"text": "Choose a tooltip animation"
|
|
124
|
+
},
|
|
125
|
+
"attribute": "animation",
|
|
126
|
+
"reflect": false,
|
|
127
|
+
"defaultValue": "null"
|
|
128
|
+
},
|
|
129
|
+
"open": {
|
|
130
|
+
"type": "boolean",
|
|
131
|
+
"mutable": true,
|
|
278
132
|
"complexType": {
|
|
279
133
|
"original": "boolean",
|
|
280
134
|
"resolved": "boolean",
|
|
@@ -284,10 +138,10 @@ export class PostTooltip {
|
|
|
284
138
|
"optional": false,
|
|
285
139
|
"docs": {
|
|
286
140
|
"tags": [],
|
|
287
|
-
"text": "
|
|
141
|
+
"text": "Indicates the open state of the tooltip"
|
|
288
142
|
},
|
|
289
|
-
"attribute": "
|
|
290
|
-
"reflect":
|
|
143
|
+
"attribute": "open",
|
|
144
|
+
"reflect": true,
|
|
291
145
|
"defaultValue": "false"
|
|
292
146
|
}
|
|
293
147
|
};
|
|
@@ -296,15 +150,11 @@ export class PostTooltip {
|
|
|
296
150
|
return {
|
|
297
151
|
"show": {
|
|
298
152
|
"complexType": {
|
|
299
|
-
"signature": "(target: HTMLElement
|
|
153
|
+
"signature": "(target: HTMLElement) => Promise<void>",
|
|
300
154
|
"parameters": [{
|
|
301
155
|
"name": "target",
|
|
302
156
|
"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."
|
|
157
|
+
"docs": "An element where the tooltip should be shown"
|
|
308
158
|
}],
|
|
309
159
|
"references": {
|
|
310
160
|
"Promise": {
|
|
@@ -319,13 +169,10 @@ export class PostTooltip {
|
|
|
319
169
|
"return": "Promise<void>"
|
|
320
170
|
},
|
|
321
171
|
"docs": {
|
|
322
|
-
"text": "Programmatically display the tooltip",
|
|
172
|
+
"text": "Programmatically display the tooltip.",
|
|
323
173
|
"tags": [{
|
|
324
174
|
"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."
|
|
175
|
+
"text": "target An element where the tooltip should be shown"
|
|
329
176
|
}]
|
|
330
177
|
}
|
|
331
178
|
},
|
|
@@ -342,7 +189,7 @@ export class PostTooltip {
|
|
|
342
189
|
"return": "Promise<void>"
|
|
343
190
|
},
|
|
344
191
|
"docs": {
|
|
345
|
-
"text": "Programmatically hide this tooltip",
|
|
192
|
+
"text": "Programmatically hide this tooltip.",
|
|
346
193
|
"tags": []
|
|
347
194
|
}
|
|
348
195
|
},
|
|
@@ -352,7 +199,7 @@ export class PostTooltip {
|
|
|
352
199
|
"parameters": [{
|
|
353
200
|
"name": "target",
|
|
354
201
|
"type": "HTMLElement",
|
|
355
|
-
"docs": "An element
|
|
202
|
+
"docs": "An element where the tooltip should be shown"
|
|
356
203
|
}, {
|
|
357
204
|
"name": "force",
|
|
358
205
|
"type": "boolean",
|
|
@@ -371,10 +218,10 @@ export class PostTooltip {
|
|
|
371
218
|
"return": "Promise<void>"
|
|
372
219
|
},
|
|
373
220
|
"docs": {
|
|
374
|
-
"text": "Toggle tooltip display",
|
|
221
|
+
"text": "Toggle tooltip display.",
|
|
375
222
|
"tags": [{
|
|
376
223
|
"name": "param",
|
|
377
|
-
"text": "target An element
|
|
224
|
+
"text": "target An element where the tooltip should be shown"
|
|
378
225
|
}, {
|
|
379
226
|
"name": "param",
|
|
380
227
|
"text": "force Pass true to always show or false to always hide"
|
|
@@ -386,8 +233,8 @@ export class PostTooltip {
|
|
|
386
233
|
static get elementRef() { return "host"; }
|
|
387
234
|
static get watchers() {
|
|
388
235
|
return [{
|
|
389
|
-
"propName": "
|
|
390
|
-
"methodName": "
|
|
236
|
+
"propName": "open",
|
|
237
|
+
"methodName": "validateOpen"
|
|
391
238
|
}];
|
|
392
239
|
}
|
|
393
240
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
post-tooltip-trigger{vertical-align:top}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
import { checkType } from "../../utils/index";
|
|
3
|
+
import "long-press-event";
|
|
4
|
+
import { version } from "../../../../package";
|
|
5
|
+
import isFocusable from "ally.js/is/focusable";
|
|
6
|
+
const TRIGGER_EVENTS = ['pointerenter', 'pointerleave', 'focusin', 'focusout', 'long-press'];
|
|
7
|
+
/**
|
|
8
|
+
* @slot default - Content to trigger the tooltip. Can contain any focusable element or will be made focusable automatically.
|
|
9
|
+
*/
|
|
10
|
+
export class PostTooltipTrigger {
|
|
11
|
+
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* Reference to the element inside the host that will act as the trigger.
|
|
14
|
+
*/
|
|
15
|
+
this.trigger = null;
|
|
16
|
+
/**
|
|
17
|
+
* Timeout ID for the delay.
|
|
18
|
+
*/
|
|
19
|
+
this.delayTimeout = null;
|
|
20
|
+
this.for = undefined;
|
|
21
|
+
this.delay = 0;
|
|
22
|
+
this.boundTriggerHandler = this.handleTriggerEvent.bind(this);
|
|
23
|
+
this.boundTooltipHandler = this.handleTooltipEvent.bind(this);
|
|
24
|
+
}
|
|
25
|
+
validateControlFor() {
|
|
26
|
+
checkType(this.for, // The actual property value
|
|
27
|
+
'string', // The expected type
|
|
28
|
+
'The "for" property must be a string' // A meaningful error message
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
get tooltip() {
|
|
32
|
+
const ref = document.getElementById(this.for);
|
|
33
|
+
return (ref === null || ref === void 0 ? void 0 : ref.localName) === 'post-tooltip'
|
|
34
|
+
? ref
|
|
35
|
+
: null;
|
|
36
|
+
}
|
|
37
|
+
componentDidLoad() {
|
|
38
|
+
this.setupTrigger();
|
|
39
|
+
this.attachListeners();
|
|
40
|
+
this.attachTooltipListeners();
|
|
41
|
+
}
|
|
42
|
+
disconnectedCallback() {
|
|
43
|
+
this.removeListeners();
|
|
44
|
+
this.removeTooltipListeners();
|
|
45
|
+
this.cleanupTrigger();
|
|
46
|
+
if (this.delayTimeout) {
|
|
47
|
+
clearTimeout(this.delayTimeout);
|
|
48
|
+
this.delayTimeout = null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
handleSlotChange() {
|
|
52
|
+
this.cleanupTrigger();
|
|
53
|
+
this.setupTrigger();
|
|
54
|
+
}
|
|
55
|
+
cleanupTrigger() {
|
|
56
|
+
if (this.trigger) {
|
|
57
|
+
const describedBy = this.trigger.getAttribute('aria-describedby') || '';
|
|
58
|
+
if (describedBy.includes(this.for)) {
|
|
59
|
+
const newDescribedBy = describedBy
|
|
60
|
+
.split(' ')
|
|
61
|
+
.filter(id => id !== this.for)
|
|
62
|
+
.join(' ');
|
|
63
|
+
if (newDescribedBy) {
|
|
64
|
+
this.trigger.setAttribute('aria-describedby', newDescribedBy);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.trigger.removeAttribute('aria-describedby');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
this.trigger = null;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
setupTrigger() {
|
|
74
|
+
this.trigger = this.host.querySelector('*');
|
|
75
|
+
if (this.trigger) {
|
|
76
|
+
if (!isFocusable(this.trigger)) {
|
|
77
|
+
this.trigger.setAttribute('tabindex', '0');
|
|
78
|
+
}
|
|
79
|
+
const describedBy = this.trigger.getAttribute('aria-describedby') || '';
|
|
80
|
+
if (!describedBy.includes(this.for)) {
|
|
81
|
+
this.trigger.setAttribute('aria-describedby', `${describedBy} ${this.for}`.trim());
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
console.warn('No content found in the post-tooltip-trigger slot. Please insert a focusable element or content that can receive focus.');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
attachListeners() {
|
|
89
|
+
TRIGGER_EVENTS.forEach(event => {
|
|
90
|
+
this.host.addEventListener(event, this.boundTriggerHandler);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
removeListeners() {
|
|
94
|
+
TRIGGER_EVENTS.forEach(event => {
|
|
95
|
+
this.host.removeEventListener(event, this.boundTriggerHandler);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
attachTooltipListeners() {
|
|
99
|
+
if (this.tooltip) {
|
|
100
|
+
this.tooltip.addEventListener('pointerenter', this.boundTooltipHandler);
|
|
101
|
+
this.tooltip.addEventListener('pointerleave', this.boundTooltipHandler);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
removeTooltipListeners() {
|
|
105
|
+
if (this.tooltip) {
|
|
106
|
+
this.tooltip.removeEventListener('pointerenter', this.boundTooltipHandler);
|
|
107
|
+
this.tooltip.removeEventListener('pointerleave', this.boundTooltipHandler);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
handleTriggerEvent(event) {
|
|
111
|
+
switch (event.type) {
|
|
112
|
+
case 'pointerenter':
|
|
113
|
+
case 'focusin':
|
|
114
|
+
case 'long-press':
|
|
115
|
+
this.handleEnter();
|
|
116
|
+
break;
|
|
117
|
+
case 'pointerleave':
|
|
118
|
+
case 'focusout':
|
|
119
|
+
this.handleLeave(event);
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
handleTooltipEvent(event) {
|
|
124
|
+
switch (event.type) {
|
|
125
|
+
case 'pointerenter':
|
|
126
|
+
this.handleEnter();
|
|
127
|
+
break;
|
|
128
|
+
case 'pointerleave':
|
|
129
|
+
this.handleLeave(event);
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
handleEnter() {
|
|
134
|
+
if (this.delayTimeout) {
|
|
135
|
+
clearTimeout(this.delayTimeout);
|
|
136
|
+
this.delayTimeout = null;
|
|
137
|
+
}
|
|
138
|
+
this.interestHandler();
|
|
139
|
+
}
|
|
140
|
+
handleLeave(event) {
|
|
141
|
+
const newTarget = event.relatedTarget;
|
|
142
|
+
if ((this.tooltip && newTarget && this.tooltip.contains(newTarget)) ||
|
|
143
|
+
(newTarget === this.trigger)) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
this.interestLostHandler();
|
|
147
|
+
}
|
|
148
|
+
interestHandler() {
|
|
149
|
+
var _a;
|
|
150
|
+
if (this.delay > 0) {
|
|
151
|
+
this.delayTimeout = window.setTimeout(() => {
|
|
152
|
+
var _a;
|
|
153
|
+
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.show(this.trigger);
|
|
154
|
+
this.delayTimeout = null;
|
|
155
|
+
}, this.delay);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.show(this.trigger);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
interestLostHandler() {
|
|
162
|
+
var _a;
|
|
163
|
+
if (this.delayTimeout) {
|
|
164
|
+
clearTimeout(this.delayTimeout);
|
|
165
|
+
this.delayTimeout = null;
|
|
166
|
+
}
|
|
167
|
+
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.hide();
|
|
168
|
+
}
|
|
169
|
+
render() {
|
|
170
|
+
return (h(Host, { key: 'a37c76972c4db24292fa95ddacf097055dea70f0', "data-version": version }, h("slot", { key: '51de3cd7dedfc1c5fe5ef86fbf0ab953d07945cb', onSlotchange: () => this.handleSlotChange() })));
|
|
171
|
+
}
|
|
172
|
+
static get is() { return "post-tooltip-trigger"; }
|
|
173
|
+
static get encapsulation() { return "shadow"; }
|
|
174
|
+
static get originalStyleUrls() {
|
|
175
|
+
return {
|
|
176
|
+
"$": ["post-tooltip-trigger.scss"]
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
static get styleUrls() {
|
|
180
|
+
return {
|
|
181
|
+
"$": ["post-tooltip-trigger.css"]
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
static get properties() {
|
|
185
|
+
return {
|
|
186
|
+
"for": {
|
|
187
|
+
"type": "string",
|
|
188
|
+
"mutable": false,
|
|
189
|
+
"complexType": {
|
|
190
|
+
"original": "string",
|
|
191
|
+
"resolved": "string",
|
|
192
|
+
"references": {}
|
|
193
|
+
},
|
|
194
|
+
"required": true,
|
|
195
|
+
"optional": false,
|
|
196
|
+
"docs": {
|
|
197
|
+
"tags": [],
|
|
198
|
+
"text": "ID of the tooltip element that this trigger is linked to."
|
|
199
|
+
},
|
|
200
|
+
"attribute": "for",
|
|
201
|
+
"reflect": true
|
|
202
|
+
},
|
|
203
|
+
"delay": {
|
|
204
|
+
"type": "number",
|
|
205
|
+
"mutable": false,
|
|
206
|
+
"complexType": {
|
|
207
|
+
"original": "number",
|
|
208
|
+
"resolved": "number",
|
|
209
|
+
"references": {}
|
|
210
|
+
},
|
|
211
|
+
"required": false,
|
|
212
|
+
"optional": false,
|
|
213
|
+
"docs": {
|
|
214
|
+
"tags": [],
|
|
215
|
+
"text": "Delay (in milliseconds) before the tooltip is shown."
|
|
216
|
+
},
|
|
217
|
+
"attribute": "delay",
|
|
218
|
+
"reflect": false,
|
|
219
|
+
"defaultValue": "0"
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
static get elementRef() { return "host"; }
|
|
224
|
+
static get watchers() {
|
|
225
|
+
return [{
|
|
226
|
+
"propName": "for",
|
|
227
|
+
"methodName": "validateControlFor"
|
|
228
|
+
}];
|
|
229
|
+
}
|
|
230
|
+
}
|
package/dist/collection/index.js
CHANGED
|
@@ -1,35 +1,18 @@
|
|
|
1
1
|
// Export every single component so it gets included in the dist output
|
|
2
2
|
export { PostAccordion } from './components/post-accordion/post-accordion';
|
|
3
3
|
export { PostAccordionItem } from './components/post-accordion-item/post-accordion-item';
|
|
4
|
-
export {
|
|
5
|
-
export { PostBackToTop } from './components/post-back-to-top/post-back-to-top';
|
|
6
|
-
export { PostBanner } from './components/post-banner/post-banner';
|
|
7
|
-
export { PostBreadcrumb } from './components/post-breadcrumb/post-breadcrumb';
|
|
8
|
-
export { PostBreadcrumbItem } from './components/post-breadcrumb-item/post-breadcrumb-item';
|
|
4
|
+
export { PostAlert } from './components/post-alert/post-alert';
|
|
9
5
|
export { PostCardControl } from './components/post-card-control/post-card-control';
|
|
10
|
-
export { PostClosebutton } from './components/post-closebutton/post-closebutton';
|
|
11
6
|
export { PostCollapsible } from './components/post-collapsible/post-collapsible';
|
|
12
7
|
export { PostCollapsibleTrigger } from './components/post-collapsible-trigger/post-collapsible-trigger';
|
|
13
|
-
export { PostFooter } from './components/post-footer/post-footer';
|
|
14
|
-
export { PostHeader } from './components/post-header/post-header';
|
|
15
8
|
export { PostIcon } from './components/post-icon/post-icon';
|
|
16
|
-
export { PostLanguageOption } from './components/post-language-option/post-language-option';
|
|
17
|
-
export { PostLanguageSwitch } from './components/post-language-switch/post-language-switch';
|
|
18
|
-
export { PostList } from './components/post-list/post-list';
|
|
19
|
-
export { PostListItem } from './components/post-list-item/post-list-item';
|
|
20
9
|
export { PostLogo } from './components/post-logo/post-logo';
|
|
21
|
-
export { PostMainnavigation } from './components/post-mainnavigation/post-mainnavigation';
|
|
22
|
-
export { PostMegadropdown } from './components/post-megadropdown/post-megadropdown';
|
|
23
|
-
export { PostMegadropdownTrigger } from './components/post-megadropdown-trigger/post-megadropdown-trigger';
|
|
24
|
-
export { PostMenu } from './components/post-menu/post-menu';
|
|
25
|
-
export { PostMenuItem } from './components/post-menu-item/post-menu-item';
|
|
26
|
-
export { PostMenuTrigger } from './components/post-menu-trigger/post-menu-trigger';
|
|
27
10
|
export { PostPopover } from './components/post-popover/post-popover';
|
|
28
11
|
export { PostPopovercontainer } from './components/post-popovercontainer/post-popovercontainer';
|
|
29
12
|
export { PostRating } from './components/post-rating/post-rating';
|
|
30
13
|
export { PostTabs } from './components/post-tabs/post-tabs';
|
|
31
14
|
export { PostTabHeader } from './components/post-tab-header/post-tab-header';
|
|
32
15
|
export { PostTabPanel } from './components/post-tab-panel/post-tab-panel';
|
|
33
|
-
export { PostTag } from './components/post-tag/post-tag';
|
|
34
|
-
export { PostTogglebutton } from './components/post-togglebutton/post-togglebutton';
|
|
35
16
|
export { PostTooltip } from './components/post-tooltip/post-tooltip';
|
|
17
|
+
export { PostTooltipTrigger } from './components/post-tooltip-trigger/post-tooltip-trigger';
|
|
18
|
+
export { PostTag } from './components/post-tag/post-tag';
|