@swisspost/design-system-components 9.0.0-next.1 → 9.0.0-next.10
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/check-type-64af82a9.js +16 -0
- package/dist/cjs/check-url-3ffdd2fb.js +14 -0
- package/dist/cjs/debounce-1151afe3.js +12 -0
- package/dist/cjs/get-root-7a3498ef.js +11 -0
- package/dist/cjs/{index-01f30442.js → index-5d4e0aed.js} +4 -27
- package/dist/cjs/{index-c15bd800.js → index-f1b08cdb.js} +45 -16
- package/dist/cjs/index.browser-2f65f583.js +15 -0
- package/dist/cjs/index.cjs.js +51 -24
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{package-c7d01968.js → package-aaec3cba.js} +1 -1
- package/dist/cjs/{post-accordion-e29956c4.js → post-accordion-85bf5e0a.js} +3 -3
- package/dist/cjs/post-accordion-item-957b3464.js +64 -0
- package/dist/cjs/post-accordion-item.cjs.entry.js +7 -4
- package/dist/cjs/post-accordion.cjs.entry.js +3 -3
- package/dist/cjs/post-avatar-58540591.js +148 -0
- package/dist/cjs/post-avatar.cjs.entry.js +13 -0
- package/dist/cjs/post-back-to-top-db5c7d01.js +75 -0
- package/dist/cjs/post-back-to-top.cjs.entry.js +15 -0
- package/dist/cjs/post-banner-727866d5.js +91 -0
- package/dist/cjs/post-banner.cjs.entry.js +19 -0
- package/dist/cjs/post-breadcrumb-cacca682.js +111 -0
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +17 -0
- package/dist/cjs/post-breadcrumb.cjs.entry.js +13 -0
- package/dist/cjs/post-card-control-f5d72ddc.js +272 -0
- package/dist/cjs/post-card-control.cjs.entry.js +3 -3
- package/dist/cjs/post-closebutton_15.cjs.entry.js +34 -0
- package/dist/cjs/{post-collapsible-trigger-32549d33.js → post-collapsible-trigger-067d1f4c.js} +14 -26
- package/dist/cjs/post-collapsible_2.cjs.entry.js +8 -4
- package/dist/cjs/post-components.cjs.js +2 -2
- package/dist/cjs/post-footer-beeb36c8.js +84 -0
- package/dist/cjs/post-footer.cjs.entry.js +11 -0
- package/dist/cjs/post-menu-item-e0e214b9.js +69 -0
- package/dist/cjs/{post-popover-cfc1b31b.js → post-popover-7acbdf17.js} +4 -4
- package/dist/cjs/post-popover.cjs.entry.js +3 -3
- package/dist/cjs/{post-rating-b9b8b6f3.js → post-rating-ac1b9b3c.js} +4 -4
- package/dist/cjs/post-rating.cjs.entry.js +3 -3
- package/dist/cjs/post-tab-header-a3d28719.js +33 -0
- package/dist/cjs/post-tab-header.cjs.entry.js +4 -3
- package/dist/cjs/{post-tab-panel-300a0618.js → post-tab-panel-4562e265.js} +5 -4
- package/dist/cjs/post-tab-panel.cjs.entry.js +4 -3
- package/dist/cjs/{post-tabs-b06f799b.js → post-tabs-80f65e1d.js} +9 -7
- package/dist/cjs/post-tabs.cjs.entry.js +3 -3
- package/dist/cjs/post-tag-5741a78d.js +47 -0
- package/dist/cjs/post-tag.cjs.entry.js +3 -3
- package/dist/cjs/{post-popovercontainer-c0b86b11.js → post-togglebutton-245e33f1.js} +1082 -21
- package/dist/cjs/{post-tooltip-8d7e64f6.js → post-tooltip-cefce5e1.js} +31 -19
- package/dist/cjs/post-tooltip.cjs.entry.js +6 -4
- package/dist/cjs/slide-5d51abe8.js +28 -0
- package/dist/collection/animations/slide.js +23 -0
- package/dist/collection/collection-manifest.json +21 -3
- package/dist/collection/components/post-accordion/post-accordion.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.js +26 -9
- package/dist/collection/components/post-avatar/post-avatar.css +3 -0
- package/dist/collection/components/post-avatar/post-avatar.js +237 -0
- package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -0
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +107 -0
- package/dist/collection/components/post-banner/banner-types.js +1 -0
- package/dist/collection/components/post-banner/post-banner.css +3 -0
- package/dist/collection/components/{post-alert/post-alert.js → post-banner/post-banner.js} +41 -69
- package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +3 -0
- package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +161 -0
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -0
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +93 -0
- package/dist/collection/components/post-card-control/post-card-control.css +1 -1
- package/dist/collection/components/post-card-control/post-card-control.js +8 -8
- package/dist/collection/components/post-closebutton/post-closebutton.js +12 -0
- package/dist/collection/components/post-collapsible/post-collapsible.js +5 -3
- package/dist/collection/components/post-footer/post-footer.css +1 -0
- package/dist/collection/components/post-footer/post-footer.js +75 -0
- package/dist/collection/components/post-header/post-header.css +1 -0
- package/dist/collection/components/post-header/post-header.js +172 -0
- package/dist/collection/components/post-icon/post-icon.js +22 -30
- package/dist/collection/components/post-language-option/post-language-option.css +3 -0
- package/dist/collection/components/post-language-option/post-language-option.js +219 -0
- package/dist/collection/components/post-language-switch/post-language-switch.css +1 -0
- package/dist/collection/components/post-language-switch/post-language-switch.js +163 -0
- package/dist/collection/components/post-language-switch/switch-variants.js +1 -0
- package/dist/collection/components/post-list/post-list.css +3 -0
- package/dist/collection/components/post-list/post-list.js +88 -0
- package/dist/collection/components/post-list-item/post-list-item.css +1 -0
- package/dist/collection/components/post-list-item/post-list-item.js +25 -0
- package/dist/collection/components/post-logo/post-logo.js +2 -2
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -0
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +52 -0
- package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -0
- package/dist/collection/components/post-megadropdown/post-megadropdown.js +158 -0
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -0
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +104 -0
- package/dist/collection/components/post-menu/post-menu.css +3 -0
- package/dist/collection/components/post-menu/post-menu.js +280 -0
- package/dist/collection/components/post-menu-item/post-menu-item.js +8 -0
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.css +1 -0
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +114 -0
- package/dist/collection/components/post-popover/post-popover.css +1 -1
- package/dist/collection/components/post-popover/post-popover.js +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +26 -6
- package/dist/collection/components/post-rating/post-rating.css +1 -1
- package/dist/collection/components/post-rating/post-rating.js +1 -1
- package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
- package/dist/collection/components/post-tab-header/post-tab-header.js +3 -2
- package/dist/collection/components/post-tab-panel/post-tab-panel.js +3 -2
- package/dist/collection/components/post-tabs/post-tabs.css +1 -1
- package/dist/collection/components/post-tabs/post-tabs.js +6 -4
- package/dist/collection/components/post-tag/post-tag.css +1 -1
- package/dist/collection/components/post-tag/post-tag.js +2 -2
- package/dist/collection/components/post-togglebutton/post-togglebutton.css +1 -0
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +74 -0
- package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.js +28 -12
- package/dist/collection/index.js +20 -2
- package/dist/collection/utils/breakpoints.js +46 -0
- package/dist/collection/utils/get-focusable-children.js +27 -0
- package/dist/components/debounce.js +10 -0
- package/dist/components/get-root.js +9 -0
- package/dist/components/index.browser.js +13 -0
- package/dist/components/index.js +20 -2
- package/dist/components/index2.js +1 -1
- package/dist/components/package.js +1 -1
- package/dist/components/post-accordion-item2.js +33 -13
- package/dist/components/post-accordion2.js +1 -1
- package/dist/components/post-avatar.d.ts +11 -0
- package/dist/components/post-avatar.js +6 -0
- package/dist/components/post-avatar2.js +173 -0
- package/dist/components/post-back-to-top.d.ts +11 -0
- package/dist/components/post-back-to-top.js +6 -0
- package/dist/components/post-back-to-top2.js +100 -0
- package/dist/components/post-banner.d.ts +11 -0
- package/dist/components/post-banner.js +6 -0
- package/dist/components/post-banner2.js +126 -0
- package/dist/components/post-breadcrumb-item.d.ts +11 -0
- package/dist/components/post-breadcrumb-item.js +6 -0
- package/dist/components/post-breadcrumb-item2.js +82 -0
- package/dist/components/post-breadcrumb.d.ts +11 -0
- package/dist/components/post-breadcrumb.js +6 -0
- package/dist/components/post-breadcrumb2.js +168 -0
- package/dist/components/post-card-control2.js +3 -3
- package/dist/components/post-closebutton.d.ts +11 -0
- package/dist/components/post-closebutton.js +6 -0
- package/dist/components/post-closebutton2.js +34 -0
- package/dist/components/post-collapsible-trigger2.js +2 -17
- package/dist/components/post-collapsible2.js +6 -4
- package/dist/components/post-footer.d.ts +11 -0
- package/dist/components/post-footer.js +6 -0
- package/dist/components/post-footer2.js +124 -0
- package/dist/components/post-header.d.ts +11 -0
- package/dist/components/post-header.js +6 -0
- package/dist/components/post-header2.js +279 -0
- package/dist/components/post-icon2.js +24 -28
- package/dist/components/post-language-option.d.ts +11 -0
- package/dist/components/post-language-option.js +6 -0
- package/dist/components/post-language-option2.js +98 -0
- package/dist/components/post-language-switch.d.ts +11 -0
- package/dist/components/post-language-switch.js +6 -0
- package/dist/components/post-language-switch2.js +135 -0
- package/dist/components/post-list-item.d.ts +11 -0
- package/dist/components/post-list-item.js +6 -0
- package/dist/components/post-list-item2.js +35 -0
- package/dist/components/{post-alert.d.ts → post-list.d.ts} +4 -4
- package/dist/components/post-list.js +6 -0
- package/dist/components/post-list2.js +54 -0
- package/dist/components/post-logo2.js +2 -2
- package/dist/components/post-mainnavigation.d.ts +11 -0
- package/dist/components/post-mainnavigation.js +6 -0
- package/dist/components/post-mainnavigation2.js +48 -0
- package/dist/components/post-megadropdown-trigger.d.ts +11 -0
- package/dist/components/post-megadropdown-trigger.js +6 -0
- package/dist/components/post-megadropdown-trigger2.js +91 -0
- package/dist/components/post-megadropdown.d.ts +11 -0
- package/dist/components/post-megadropdown.js +6 -0
- package/dist/components/post-megadropdown2.js +100 -0
- package/dist/components/post-menu-item.d.ts +11 -0
- package/dist/components/post-menu-item.js +6 -0
- package/dist/components/post-menu-item2.js +27 -0
- package/dist/components/post-menu-trigger.d.ts +11 -0
- package/dist/components/post-menu-trigger.js +6 -0
- package/dist/components/post-menu-trigger2.js +102 -0
- package/dist/components/post-menu.d.ts +11 -0
- package/dist/components/post-menu.js +6 -0
- package/dist/components/post-menu2.js +204 -0
- package/dist/components/post-popover2.js +2 -2
- package/dist/components/post-popovercontainer2.js +10 -7
- package/dist/components/post-rating2.js +2 -2
- package/dist/components/post-tab-header2.js +4 -3
- package/dist/components/post-tab-panel2.js +3 -2
- package/dist/components/post-tabs2.js +7 -5
- package/dist/components/post-tag2.js +2 -2
- package/dist/components/post-togglebutton.d.ts +11 -0
- package/dist/components/post-togglebutton.js +6 -0
- package/dist/components/post-togglebutton2.js +61 -0
- package/dist/components/post-tooltip2.js +29 -17
- package/dist/components/slide.js +25 -0
- package/dist/docs.json +1870 -283
- package/dist/esm/check-type-8828dbe4.js +14 -0
- package/dist/esm/check-url-a974431e.js +12 -0
- package/dist/esm/debounce-abe98cc2.js +10 -0
- package/dist/esm/get-root-7af2e0d1.js +9 -0
- package/dist/esm/{index-0b56fc28.js → index-6bfe6554.js} +45 -16
- package/dist/esm/index-b49c9904.js +24 -0
- package/dist/esm/index.browser-51485f85.js +13 -0
- package/dist/esm/index.js +28 -19
- package/dist/esm/loader.js +3 -3
- package/dist/esm/package-2ee42825.js +3 -0
- package/dist/esm/{post-accordion-3a7b3f3c.js → post-accordion-3bf30525.js} +3 -3
- package/dist/esm/post-accordion-item-6683fbed.js +62 -0
- package/dist/esm/post-accordion-item.entry.js +7 -4
- package/dist/esm/post-accordion.entry.js +3 -3
- package/dist/esm/post-avatar-3ddb4c79.js +146 -0
- package/dist/esm/post-avatar.entry.js +5 -0
- package/dist/esm/post-back-to-top-15ee2771.js +73 -0
- package/dist/esm/post-back-to-top.entry.js +7 -0
- package/dist/esm/post-banner-fc407f6e.js +89 -0
- package/dist/esm/post-banner.entry.js +11 -0
- package/dist/esm/post-breadcrumb-6252b112.js +109 -0
- package/dist/esm/post-breadcrumb-item_2.entry.js +8 -0
- package/dist/esm/post-breadcrumb.entry.js +5 -0
- package/dist/esm/post-card-control-cb3dfc60.js +270 -0
- package/dist/esm/post-card-control.entry.js +3 -3
- package/dist/esm/post-closebutton_15.entry.js +12 -0
- package/dist/esm/{post-collapsible-trigger-8d7e027b.js → post-collapsible-trigger-b727bf7e.js} +11 -23
- package/dist/esm/post-collapsible_2.entry.js +8 -4
- package/dist/esm/post-components.js +3 -3
- package/dist/esm/post-footer-7a03a9bb.js +82 -0
- package/dist/esm/post-footer.entry.js +3 -0
- package/dist/esm/post-menu-item-3e168ecd.js +66 -0
- package/dist/esm/{post-popover-972c5ea7.js → post-popover-bff5cffd.js} +4 -4
- package/dist/esm/post-popover.entry.js +3 -3
- package/dist/esm/{post-rating-cca784ae.js → post-rating-ce595a65.js} +4 -4
- package/dist/esm/post-rating.entry.js +3 -3
- package/dist/esm/post-tab-header-c864586f.js +31 -0
- package/dist/esm/post-tab-header.entry.js +4 -3
- package/dist/esm/{post-tab-panel-633a5e6b.js → post-tab-panel-800425b8.js} +5 -4
- package/dist/esm/post-tab-panel.entry.js +4 -3
- package/dist/esm/{post-tabs-74ded897.js → post-tabs-e5aa8b08.js} +9 -7
- package/dist/esm/post-tabs.entry.js +3 -3
- package/dist/esm/post-tag-fc3df50a.js +45 -0
- package/dist/esm/post-tag.entry.js +3 -3
- package/dist/esm/{post-popovercontainer-2485b7d9.js → post-togglebutton-101dd3bd.js} +1069 -22
- package/dist/esm/{post-tooltip-0457467f.js → post-tooltip-e8484aea.js} +31 -19
- package/dist/esm/post-tooltip.entry.js +6 -4
- package/dist/esm/slide-3422b8a3.js +25 -0
- package/dist/post-components/index.esm.js +1 -1
- package/dist/post-components/p-02bb5231.js +1 -0
- package/dist/post-components/p-0e216cc4.js +2 -0
- package/dist/post-components/p-11880d55.js +1 -0
- package/dist/post-components/p-1489d777.entry.js +1 -0
- package/dist/post-components/p-19707347.entry.js +1 -0
- package/dist/post-components/p-1d3acbfd.js +1 -0
- package/dist/post-components/p-24476696.js +1 -0
- package/dist/post-components/p-25f6efab.entry.js +1 -0
- package/dist/post-components/p-27ad2d1f.js +1 -0
- package/dist/post-components/p-29626238.entry.js +1 -0
- package/dist/post-components/p-339488ba.entry.js +1 -0
- package/dist/post-components/p-3de1151e.js +1 -0
- package/dist/post-components/p-413d1fff.js +1 -0
- package/dist/post-components/p-47095b84.entry.js +1 -0
- package/dist/post-components/p-4a3f67ab.js +1 -0
- package/dist/post-components/p-515e0f96.js +1 -0
- package/dist/post-components/p-5467b223.js +1 -0
- package/dist/post-components/p-5959f2bd.js +1 -0
- package/dist/post-components/p-5b0703a4.entry.js +1 -0
- package/dist/post-components/p-618b8929.js +1 -0
- package/dist/post-components/p-66c8d0a2.entry.js +1 -0
- package/dist/post-components/p-6e6e5447.entry.js +1 -0
- package/dist/post-components/p-80b282a2.js +1 -0
- package/dist/post-components/p-86a1ad40.js +1 -0
- package/dist/post-components/p-97647d03.entry.js +1 -0
- package/dist/post-components/p-98f1d284.js +1 -0
- package/dist/post-components/p-9e287cb5.js +1 -0
- package/dist/post-components/{p-41094063.js → p-a3694196.js} +1 -1
- package/dist/post-components/p-adc79d26.entry.js +1 -0
- package/dist/post-components/p-b22656b1.js +1 -0
- package/dist/post-components/p-bcf94111.entry.js +1 -0
- package/dist/post-components/p-bd87a2b5.entry.js +1 -0
- package/dist/post-components/p-bec07e51.js +1 -0
- package/dist/post-components/p-bec09df9.entry.js +1 -0
- package/dist/post-components/p-d1d9c9a5.js +1 -0
- package/dist/post-components/p-d4f93f2b.js +1 -0
- package/dist/post-components/p-db2ac0a2.entry.js +1 -0
- package/dist/post-components/p-e93a4bd0.entry.js +1 -0
- package/dist/post-components/p-eed26f43.js +1 -0
- package/dist/post-components/p-f35d5d4a.entry.js +1 -0
- package/dist/post-components/p-fa6c79b8.entry.js +1 -0
- package/dist/post-components/{p-01a8fe6a.js → p-faf15ec1.js} +3 -3
- package/dist/post-components/p-fc09ac69.js +1 -0
- package/dist/post-components/p-fc91cbc2.js +1 -0
- package/dist/post-components/p-ffcd735f.js +1 -0
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/animations/slide.d.ts +2 -0
- package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +7 -1
- package/dist/types/components/post-avatar/post-avatar.d.ts +51 -0
- package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +19 -0
- package/dist/types/components/post-banner/banner-types.d.ts +2 -0
- package/dist/types/components/post-banner/post-banner.d.ts +49 -0
- package/dist/types/components/post-breadcrumb/post-breadcrumb.d.ts +30 -0
- package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +16 -0
- package/dist/types/components/post-card-control/post-card-control.d.ts +7 -7
- package/dist/types/components/post-closebutton/post-closebutton.d.ts +7 -0
- package/dist/types/components/post-footer/post-footer.d.ts +23 -0
- package/dist/types/components/post-header/post-header.d.ts +33 -0
- package/dist/types/components/post-icon/post-icon.d.ts +3 -6
- package/dist/types/components/post-language-option/post-language-option.d.ts +45 -0
- package/dist/types/components/post-language-switch/post-language-switch.d.ts +31 -0
- package/dist/types/components/post-language-switch/switch-variants.d.ts +2 -0
- package/dist/types/components/post-list/post-list.d.ts +24 -0
- package/dist/types/components/post-list-item/post-list-item.d.ts +8 -0
- package/dist/types/components/post-logo/post-logo.d.ts +1 -1
- package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +19 -0
- package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +36 -0
- package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +25 -0
- package/dist/types/components/post-menu/post-menu.d.ts +48 -0
- package/dist/types/components/post-menu-item/post-menu-item.d.ts +3 -0
- package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +27 -0
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +4 -0
- package/dist/types/components/post-tag/post-tag.d.ts +1 -1
- package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +15 -0
- package/dist/types/components.d.ts +570 -44
- package/dist/types/index.d.ts +20 -2
- package/dist/types/utils/breakpoints.d.ts +11 -0
- package/dist/types/utils/get-focusable-children.d.ts +1 -0
- package/dist/types/utils/get-root.d.ts +1 -1
- package/loaders/debounce.js +10 -0
- package/loaders/get-root.js +9 -0
- package/loaders/index.browser.js +13 -0
- package/loaders/index.d.ts +38 -2
- package/loaders/index.js +20 -2
- package/loaders/index2.js +1 -1
- package/loaders/package.js +1 -1
- package/loaders/post-accordion-item.js +1 -81
- package/loaders/post-accordion-item2.js +103 -0
- package/loaders/post-accordion.js +1 -1
- package/loaders/post-avatar.d.ts +11 -0
- package/loaders/post-avatar.js +176 -0
- package/loaders/post-back-to-top.d.ts +11 -0
- package/loaders/post-back-to-top.js +103 -0
- package/loaders/post-banner.d.ts +11 -0
- package/loaders/post-banner.js +129 -0
- package/loaders/post-breadcrumb-item.d.ts +11 -0
- package/loaders/post-breadcrumb-item.js +6 -0
- package/loaders/post-breadcrumb-item2.js +82 -0
- package/loaders/post-breadcrumb.d.ts +11 -0
- package/loaders/post-breadcrumb.js +171 -0
- package/loaders/post-card-control.js +3 -3
- package/loaders/post-closebutton.d.ts +11 -0
- package/loaders/post-closebutton.js +37 -0
- package/loaders/post-collapsible-trigger2.js +2 -17
- package/loaders/post-collapsible2.js +5 -3
- package/loaders/post-footer.d.ts +11 -0
- package/loaders/post-footer.js +127 -0
- package/loaders/post-header.d.ts +11 -0
- package/loaders/post-header.js +282 -0
- package/loaders/post-icon2.js +24 -28
- package/loaders/post-language-option.d.ts +11 -0
- package/loaders/post-language-option.js +101 -0
- package/loaders/post-language-switch.d.ts +11 -0
- package/loaders/post-language-switch.js +138 -0
- package/loaders/post-list-item.d.ts +11 -0
- package/loaders/post-list-item.js +38 -0
- package/loaders/{post-alert.d.ts → post-list.d.ts} +4 -4
- package/loaders/post-list.js +57 -0
- package/loaders/post-logo.js +3 -3
- package/loaders/post-mainnavigation.d.ts +11 -0
- package/loaders/post-mainnavigation.js +51 -0
- package/loaders/post-megadropdown-trigger.d.ts +11 -0
- package/loaders/post-megadropdown-trigger.js +94 -0
- package/loaders/post-megadropdown.d.ts +11 -0
- package/loaders/post-megadropdown.js +103 -0
- package/loaders/post-menu-item.d.ts +11 -0
- package/loaders/post-menu-item.js +6 -0
- package/loaders/post-menu-item2.js +27 -0
- package/loaders/post-menu-trigger.d.ts +11 -0
- package/loaders/post-menu-trigger.js +6 -0
- package/loaders/post-menu-trigger2.js +102 -0
- package/loaders/post-menu.d.ts +11 -0
- package/loaders/post-menu.js +6 -0
- package/loaders/post-menu2.js +204 -0
- package/loaders/post-popover.js +2 -2
- package/loaders/post-popovercontainer2.js +10 -7
- package/loaders/post-rating.js +2 -2
- package/loaders/post-tab-header.js +4 -3
- package/loaders/post-tab-panel.js +3 -2
- package/loaders/post-tabs.js +7 -5
- package/loaders/post-tag.js +2 -2
- package/loaders/post-togglebutton.d.ts +11 -0
- package/loaders/post-togglebutton.js +64 -0
- package/loaders/post-tooltip.js +28 -16
- package/loaders/slide.js +25 -0
- package/package.json +9 -6
- package/dist/cjs/post-accordion-item-dc4d1801.js +0 -51
- package/dist/cjs/post-alert-106c34ac.js +0 -98
- package/dist/cjs/post-alert.cjs.entry.js +0 -16
- package/dist/cjs/post-card-control-69769d1a.js +0 -272
- package/dist/cjs/post-icon-221d976f.js +0 -104
- package/dist/cjs/post-icon.cjs.entry.js +0 -15
- package/dist/cjs/post-logo-e6cb079f.js +0 -39
- package/dist/cjs/post-logo.cjs.entry.js +0 -14
- package/dist/cjs/post-popovercontainer.cjs.entry.js +0 -11
- package/dist/cjs/post-tab-header-43310d08.js +0 -32
- package/dist/cjs/post-tag-d7ac3cbb.js +0 -47
- package/dist/collection/components/post-alert/alert-types.js +0 -1
- package/dist/collection/components/post-alert/post-alert.css +0 -7
- package/dist/components/post-alert.js +0 -6
- package/dist/components/post-alert2.js +0 -136
- package/dist/esm/index-f41b763f.js +0 -46
- package/dist/esm/package-bc6404e2.js +0 -3
- package/dist/esm/post-accordion-item-55d1e771.js +0 -49
- package/dist/esm/post-alert-6c908130.js +0 -96
- package/dist/esm/post-alert.entry.js +0 -8
- package/dist/esm/post-card-control-9fff6efc.js +0 -270
- package/dist/esm/post-icon-d59ad345.js +0 -102
- package/dist/esm/post-icon.entry.js +0 -7
- package/dist/esm/post-logo-a1487634.js +0 -37
- package/dist/esm/post-logo.entry.js +0 -6
- package/dist/esm/post-popovercontainer.entry.js +0 -3
- package/dist/esm/post-tab-header-dd2cb68e.js +0 -30
- package/dist/esm/post-tag-f60a71fd.js +0 -45
- package/dist/post-components/p-0e0c11f9.entry.js +0 -1
- package/dist/post-components/p-124fe6c8.js +0 -1
- package/dist/post-components/p-15c6739e.entry.js +0 -1
- package/dist/post-components/p-2180e02d.entry.js +0 -1
- package/dist/post-components/p-22ec06ae.entry.js +0 -1
- package/dist/post-components/p-26bbd8e5.entry.js +0 -1
- package/dist/post-components/p-2b43665d.js +0 -1
- package/dist/post-components/p-2d1f85f4.js +0 -1
- package/dist/post-components/p-464ce10a.entry.js +0 -1
- package/dist/post-components/p-51eff367.js +0 -1
- package/dist/post-components/p-586f7f53.entry.js +0 -1
- package/dist/post-components/p-65031b20.entry.js +0 -1
- package/dist/post-components/p-6d9c46f4.js +0 -1
- package/dist/post-components/p-6f12f3e5.js +0 -1
- package/dist/post-components/p-718eb560.js +0 -1
- package/dist/post-components/p-78407640.entry.js +0 -1
- package/dist/post-components/p-79a40235.entry.js +0 -1
- package/dist/post-components/p-7ab513fc.js +0 -1
- package/dist/post-components/p-9cba7d2f.js +0 -1
- package/dist/post-components/p-9eb27378.entry.js +0 -1
- package/dist/post-components/p-a528acc4.js +0 -1
- package/dist/post-components/p-aa8e43c3.js +0 -1
- package/dist/post-components/p-b68c86a7.js +0 -1
- package/dist/post-components/p-b8db0e0a.entry.js +0 -1
- package/dist/post-components/p-bcd5843c.entry.js +0 -1
- package/dist/post-components/p-c21b810d.js +0 -1
- package/dist/post-components/p-c386219b.js +0 -1
- package/dist/post-components/p-d2f9de94.js +0 -2
- package/dist/post-components/p-deb4131c.js +0 -1
- package/dist/post-components/p-e7c67ff0.entry.js +0 -1
- package/dist/post-components/p-f10e2bb1.entry.js +0 -1
- package/dist/types/components/post-alert/alert-types.d.ts +0 -2
- package/dist/types/components/post-alert/post-alert.d.ts +0 -54
- package/loaders/post-alert.js +0 -139
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const index = require('./index-
|
|
4
|
-
const _package = require('./package-
|
|
3
|
+
const index = require('./index-f1b08cdb.js');
|
|
4
|
+
const _package = require('./package-aaec3cba.js');
|
|
5
5
|
const attributeObserver = require('./attribute-observer-10f08c04.js');
|
|
6
|
-
const index$1 = require('./index-
|
|
7
|
-
|
|
8
|
-
function timeout(delay) {
|
|
9
|
-
return new Promise(resolve => setTimeout(resolve, delay));
|
|
10
|
-
}
|
|
6
|
+
const index$1 = require('./index-5d4e0aed.js');
|
|
11
7
|
|
|
12
8
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
13
9
|
|
|
@@ -4778,7 +4774,7 @@ const isFocusable = /*@__PURE__*/getDefaultExportFromCjs(focusable.exports);
|
|
|
4778
4774
|
|
|
4779
4775
|
}(window, document));
|
|
4780
4776
|
|
|
4781
|
-
const postTooltipCss = ":
|
|
4777
|
+
const postTooltipCss = "post-popovercontainer{padding:var(--post-core-dimension-4) var(--post-core-dimension-8);max-width:calc(2*var(--post-core-dimension-112) - var(--post-core-dimension-8));min-height:var(--post-core-dimension-16)}post-popovercontainer[arrow]::after{position:absolute;content:\"\";inset:-13px;z-index:-1}";
|
|
4782
4778
|
const PostTooltipStyle0 = postTooltipCss;
|
|
4783
4779
|
|
|
4784
4780
|
const OPEN_DELAY = 650; // matches HTML title delay
|
|
@@ -4792,6 +4788,8 @@ let tooltipInstances = 0;
|
|
|
4792
4788
|
let hideTooltipTimeout = null;
|
|
4793
4789
|
const tooltipTargetAttribute = 'data-tooltip-target';
|
|
4794
4790
|
const tooltipTargetAttributeSelector = `[${tooltipTargetAttribute}]`;
|
|
4791
|
+
let globalCurrentTarget;
|
|
4792
|
+
let tooltipTimeout = null;
|
|
4795
4793
|
/**
|
|
4796
4794
|
* Global event listener to show tooltips. This is globalized so that triggers that are rendered
|
|
4797
4795
|
* async will still work without the need to set listeners on the element itself
|
|
@@ -4804,8 +4802,11 @@ const tooltipTargetAttributeSelector = `[${tooltipTargetAttribute}]`;
|
|
|
4804
4802
|
*/
|
|
4805
4803
|
const globalInterestHandler = (e) => {
|
|
4806
4804
|
const targetElement = e.target.closest(tooltipTargetAttributeSelector);
|
|
4807
|
-
|
|
4805
|
+
globalCurrentTarget = targetElement;
|
|
4806
|
+
if (!targetElement || !('getAttribute' in targetElement)) {
|
|
4807
|
+
clearTimeout(tooltipTimeout);
|
|
4808
4808
|
return;
|
|
4809
|
+
}
|
|
4809
4810
|
const tooltipTarget = targetElement.getAttribute(tooltipTargetAttribute);
|
|
4810
4811
|
if (!tooltipTarget || tooltipTarget === '')
|
|
4811
4812
|
return;
|
|
@@ -4930,18 +4931,29 @@ const PostTooltip = class {
|
|
|
4930
4931
|
* @param triggeredByFocus A boolean indicating if the tooltip was triggered by a focus event.
|
|
4931
4932
|
*/
|
|
4932
4933
|
async show(target, triggeredByFocus = false) {
|
|
4933
|
-
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
4934
|
+
const showTooltip = () => {
|
|
4935
|
+
// If focus or pointer event is not on the button anymore, don't show the tooltip
|
|
4936
|
+
if (globalCurrentTarget !== target)
|
|
4937
|
+
return;
|
|
4938
|
+
// Determine if the tooltip was opened by a focus event
|
|
4939
|
+
this.wasOpenedByFocus = triggeredByFocus;
|
|
4940
|
+
// Disable pointer events if triggered by focus, otherwise enable them
|
|
4941
|
+
if (this.wasOpenedByFocus) {
|
|
4942
|
+
this.host.style.pointerEvents = 'none';
|
|
4943
|
+
}
|
|
4944
|
+
else {
|
|
4945
|
+
this.host.style.pointerEvents = 'auto';
|
|
4946
|
+
}
|
|
4947
|
+
this.popoverRef.show(target);
|
|
4948
|
+
};
|
|
4949
|
+
if (this.delayed) {
|
|
4950
|
+
tooltipTimeout = setTimeout(() => {
|
|
4951
|
+
showTooltip();
|
|
4952
|
+
}, OPEN_DELAY);
|
|
4940
4953
|
}
|
|
4941
4954
|
else {
|
|
4942
|
-
|
|
4955
|
+
showTooltip();
|
|
4943
4956
|
}
|
|
4944
|
-
this.popoverRef.show(target);
|
|
4945
4957
|
}
|
|
4946
4958
|
/**
|
|
4947
4959
|
* Programmatically hide this tooltip
|
|
@@ -4976,7 +4988,7 @@ const PostTooltip = class {
|
|
|
4976
4988
|
}
|
|
4977
4989
|
render() {
|
|
4978
4990
|
const popoverClass = `${this.arrow ? ' has-arrow' : ''}`;
|
|
4979
|
-
return (index.h(index.Host, { key: '
|
|
4991
|
+
return (index.h(index.Host, { key: '492f3f8b1b323417304ffba6c93f277c18f5b3d8', "data-version": _package.version, role: "tooltip", onPointerOver: this.handleInterest, onPointerOut: this.handleInterestLost, onFocusIn: this.handleInterest, onFocusOut: this.handleInterestLost }, index.h("post-popovercontainer", { key: '1b25c36c8351f0471e9acdf1fdf3073fa59683da', class: popoverClass, arrow: this.arrow, placement: this.placement, ref: (el) => (this.popoverRef = el) }, index.h("slot", { key: '0c1f7d6c81e214155976d1fb6151ec0f97724724' }))));
|
|
4980
4992
|
}
|
|
4981
4993
|
get host() { return index.getElement(this); }
|
|
4982
4994
|
static get watchers() { return {
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const postTooltip = require('./post-tooltip-
|
|
6
|
-
require('./index-
|
|
7
|
-
require('./package-
|
|
5
|
+
const postTooltip = require('./post-tooltip-cefce5e1.js');
|
|
6
|
+
require('./index-f1b08cdb.js');
|
|
7
|
+
require('./package-aaec3cba.js');
|
|
8
8
|
require('./attribute-observer-10f08c04.js');
|
|
9
|
-
require('./index-
|
|
9
|
+
require('./index-5d4e0aed.js');
|
|
10
10
|
require('./constants-238701d3.js');
|
|
11
11
|
require('./check-one-of-f4f5d0c0.js');
|
|
12
|
+
require('./check-type-64af82a9.js');
|
|
13
|
+
require('./check-url-3ffdd2fb.js');
|
|
12
14
|
|
|
13
15
|
|
|
14
16
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const easing = 'ease';
|
|
4
|
+
const duration = 500;
|
|
5
|
+
const fill = 'forwards';
|
|
6
|
+
const slideUp = (el, translateSize = '100%') => {
|
|
7
|
+
return el.animate([
|
|
8
|
+
{ transform: `translateY(${translateSize})` }, // Starting position (no translation)
|
|
9
|
+
{ transform: 'translateY(0)' }, // End position
|
|
10
|
+
], {
|
|
11
|
+
duration: duration,
|
|
12
|
+
easing,
|
|
13
|
+
fill,
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
const slideDown = (el, translateSize = '100%') => {
|
|
17
|
+
return el.animate([
|
|
18
|
+
{ transform: 'translateY(0)' }, // Starting position (no translation)
|
|
19
|
+
{ transform: `translateY(${translateSize})` }, // End position
|
|
20
|
+
], {
|
|
21
|
+
duration: duration,
|
|
22
|
+
easing,
|
|
23
|
+
fill,
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.slideDown = slideDown;
|
|
28
|
+
exports.slideUp = slideUp;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const easing = 'ease';
|
|
2
|
+
const duration = 500;
|
|
3
|
+
const fill = 'forwards';
|
|
4
|
+
export const slideUp = (el, translateSize = '100%') => {
|
|
5
|
+
return el.animate([
|
|
6
|
+
{ transform: `translateY(${translateSize})` }, // Starting position (no translation)
|
|
7
|
+
{ transform: 'translateY(0)' }, // End position
|
|
8
|
+
], {
|
|
9
|
+
duration: duration,
|
|
10
|
+
easing,
|
|
11
|
+
fill,
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
export const slideDown = (el, translateSize = '100%') => {
|
|
15
|
+
return el.animate([
|
|
16
|
+
{ transform: 'translateY(0)' }, // Starting position (no translation)
|
|
17
|
+
{ transform: `translateY(${translateSize})` }, // End position
|
|
18
|
+
], {
|
|
19
|
+
duration: duration,
|
|
20
|
+
easing,
|
|
21
|
+
fill,
|
|
22
|
+
});
|
|
23
|
+
};
|
|
@@ -2,20 +2,38 @@
|
|
|
2
2
|
"entries": [
|
|
3
3
|
"components/post-accordion/post-accordion.js",
|
|
4
4
|
"components/post-accordion-item/post-accordion-item.js",
|
|
5
|
-
"components/post-
|
|
5
|
+
"components/post-avatar/post-avatar.js",
|
|
6
|
+
"components/post-back-to-top/post-back-to-top.js",
|
|
7
|
+
"components/post-banner/post-banner.js",
|
|
8
|
+
"components/post-breadcrumb/post-breadcrumb.js",
|
|
9
|
+
"components/post-breadcrumb-item/post-breadcrumb-item.js",
|
|
6
10
|
"components/post-card-control/post-card-control.js",
|
|
11
|
+
"components/post-closebutton/post-closebutton.js",
|
|
7
12
|
"components/post-collapsible/post-collapsible.js",
|
|
8
13
|
"components/post-collapsible-trigger/post-collapsible-trigger.js",
|
|
14
|
+
"components/post-footer/post-footer.js",
|
|
15
|
+
"components/post-header/post-header.js",
|
|
9
16
|
"components/post-icon/post-icon.js",
|
|
17
|
+
"components/post-language-option/post-language-option.js",
|
|
18
|
+
"components/post-language-switch/post-language-switch.js",
|
|
19
|
+
"components/post-list/post-list.js",
|
|
20
|
+
"components/post-list-item/post-list-item.js",
|
|
10
21
|
"components/post-logo/post-logo.js",
|
|
22
|
+
"components/post-mainnavigation/post-mainnavigation.js",
|
|
23
|
+
"components/post-megadropdown/post-megadropdown.js",
|
|
24
|
+
"components/post-megadropdown-trigger/post-megadropdown-trigger.js",
|
|
25
|
+
"components/post-menu/post-menu.js",
|
|
26
|
+
"components/post-menu-item/post-menu-item.js",
|
|
27
|
+
"components/post-menu-trigger/post-menu-trigger.js",
|
|
11
28
|
"components/post-popover/post-popover.js",
|
|
12
29
|
"components/post-popovercontainer/post-popovercontainer.js",
|
|
13
30
|
"components/post-rating/post-rating.js",
|
|
14
31
|
"components/post-tabs/post-tabs.js",
|
|
15
32
|
"components/post-tab-header/post-tab-header.js",
|
|
16
33
|
"components/post-tab-panel/post-tab-panel.js",
|
|
17
|
-
"components/post-
|
|
18
|
-
"components/post-
|
|
34
|
+
"components/post-tag/post-tag.js",
|
|
35
|
+
"components/post-togglebutton/post-togglebutton.js",
|
|
36
|
+
"components/post-tooltip/post-tooltip.js"
|
|
19
37
|
],
|
|
20
38
|
"compiler": {
|
|
21
39
|
"name": "@stencil/core",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{display:block}
|
|
1
|
+
:host{display:block}::slotted(post-accordion-item){display:block}::slotted(post-accordion-item:not(:only-of-type:first-of-type)){margin-top:calc(var(--post-device-border-width-default)*-1)}::slotted(post-accordion-item:not(:only-of-type):first-of-type){--post-accordion-button-border-top: var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-primary-enabled-stroke)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
post-accordion-item::part(accordion-item),.bg-yellow post-accordion-item::part(accordion-item),.bg-white post-accordion-item::part(accordion-item),.bg-light post-accordion-item::part(accordion-item),.bg-gray post-accordion-item::part(accordion-item),.bg-dark post-accordion-item::part(accordion-item),.bg-black post-accordion-item::part(accordion-item),.bg-primary post-accordion-item::part(accordion-item),.bg-secondary post-accordion-item::part(accordion-item),.bg-success post-accordion-item::part(accordion-item),.bg-warning post-accordion-item::part(accordion-item),.bg-error post-accordion-item::part(accordion-item),.bg-info post-accordion-item::part(accordion-item),.bg-success-background post-accordion-item::part(accordion-item),.bg-warning-background post-accordion-item::part(accordion-item),.bg-error-background post-accordion-item::part(accordion-item),.bg-nightblue post-accordion-item::part(accordion-item),.bg-nightblue-bright post-accordion-item::part(accordion-item),.bg-petrol post-accordion-item::part(accordion-item),.bg-petrol-bright post-accordion-item::part(accordion-item),.bg-coral post-accordion-item::part(accordion-item),.bg-coral-bright post-accordion-item::part(accordion-item),.bg-olive post-accordion-item::part(accordion-item),.bg-olive-bright post-accordion-item::part(accordion-item),.bg-purple post-accordion-item::part(accordion-item),.bg-purple-bright post-accordion-item::part(accordion-item),.bg-aubergine post-accordion-item::part(accordion-item),.bg-aubergine-bright post-accordion-item::part(accordion-item),.accordion-item,.bg-yellow .accordion-item,.bg-white .accordion-item,.bg-light .accordion-item,.bg-gray .accordion-item,.bg-dark .accordion-item,.bg-black .accordion-item,.bg-primary .accordion-item,.bg-secondary .accordion-item,.bg-success .accordion-item,.bg-warning .accordion-item,.bg-error .accordion-item,.bg-info .accordion-item,.bg-success-background .accordion-item,.bg-warning-background .accordion-item,.bg-error-background .accordion-item,.bg-nightblue .accordion-item,.bg-nightblue-bright .accordion-item,.bg-petrol .accordion-item,.bg-petrol-bright .accordion-item,.bg-coral .accordion-item,.bg-coral-bright .accordion-item,.bg-olive .accordion-item,.bg-olive-bright .accordion-item,.bg-purple .accordion-item,.bg-purple-bright .accordion-item,.bg-aubergine .accordion-item,.bg-aubergine-bright .accordion-item{--post-bg-opacity: 1;background-color:rgba(var(--post-bg-rgb), var(--post-bg-opacity)) !important;color:var(--post-contrast-color) !important}post-accordion-item::part(accordion-item),.bg-yellow post-accordion-item::part(accordion-item),.bg-white post-accordion-item::part(accordion-item),.bg-light post-accordion-item::part(accordion-item),.bg-gray post-accordion-item::part(accordion-item),.bg-dark post-accordion-item::part(accordion-item),.bg-black post-accordion-item::part(accordion-item),.bg-primary post-accordion-item::part(accordion-item),.bg-secondary post-accordion-item::part(accordion-item),.bg-success post-accordion-item::part(accordion-item),.bg-warning post-accordion-item::part(accordion-item),.bg-error post-accordion-item::part(accordion-item),.bg-info post-accordion-item::part(accordion-item),.bg-success-background post-accordion-item::part(accordion-item),.bg-warning-background post-accordion-item::part(accordion-item),.bg-error-background post-accordion-item::part(accordion-item),.bg-nightblue post-accordion-item::part(accordion-item),.bg-nightblue-bright post-accordion-item::part(accordion-item),.bg-petrol post-accordion-item::part(accordion-item),.bg-petrol-bright post-accordion-item::part(accordion-item),.bg-coral post-accordion-item::part(accordion-item),.bg-coral-bright post-accordion-item::part(accordion-item),.bg-olive post-accordion-item::part(accordion-item),.bg-olive-bright post-accordion-item::part(accordion-item),.bg-purple post-accordion-item::part(accordion-item),.bg-purple-bright post-accordion-item::part(accordion-item),.bg-aubergine post-accordion-item::part(accordion-item),.bg-aubergine-bright post-accordion-item::part(accordion-item),.accordion-item,.bg-yellow .accordion-item,.bg-white .accordion-item,.bg-light .accordion-item,.bg-gray .accordion-item,.bg-dark .accordion-item,.bg-black .accordion-item,.bg-primary .accordion-item,.bg-secondary .accordion-item,.bg-success .accordion-item,.bg-warning .accordion-item,.bg-error .accordion-item,.bg-info .accordion-item,.bg-success-background .accordion-item,.bg-warning-background .accordion-item,.bg-error-background .accordion-item,.bg-nightblue .accordion-item,.bg-nightblue-bright .accordion-item,.bg-petrol .accordion-item,.bg-petrol-bright .accordion-item,.bg-coral .accordion-item,.bg-coral-bright .accordion-item,.bg-olive .accordion-item,.bg-olive-bright .accordion-item,.bg-purple .accordion-item,.bg-purple-bright .accordion-item,.bg-aubergine .accordion-item,.bg-aubergine-bright .accordion-item{--post-contrast-color: #000;--post-focus-color: #1976c8;--post-contrast-color-inverted: #fff;--post-gray-10: hsl(0, 0%, 90%);--post-gray-20: hsl(0, 0%, 80%);--post-gray-40: hsl(0, 0%, 60%);--post-gray-60: hsl(0, 0%, 40%);--post-gray-80: hsl(0, 0%, 20%);--post-yellow: #fc0;--post-white: #fff;--post-light: #faf9f8;--post-gray: #f4f3f1;--post-dark: hsl(0, 0%, 20%);--post-black: #000;--post-primary: hsl(0, 0%, 20%);--post-secondary: hsl(0, 0%, 40%);--post-success: #2c871d;--post-warning: #f49e00;--post-error: #a51728;--post-info: #cce4ee;--post-success-background: #c0debb;--post-warning-background: #fce2b2;--post-error-background: #ffdade;--post-nightblue: #004976;--post-nightblue-bright: #0076a8;--post-petrol: #006d68;--post-petrol-bright: #00968f;--post-coral: #9e2a2f;--post-coral-bright: #e03c31;--post-olive: #716135;--post-olive-bright: #aa9d2e;--post-purple: #80276c;--post-purple-bright: #c5299b;--post-aubergine: #523178;--post-aubergine-bright: #7566a0;--post-contrast-color-rgb: 0, 0, 0;--post-contrast-color-inverted-rgb: 255, 255, 255;--post-gray-10-rgb: 230, 230, 230;--post-gray-20-rgb: 204, 204, 204;--post-gray-40-rgb: 153, 153, 153;--post-gray-60-rgb: 102, 102, 102;--post-gray-80-rgb: 51, 51, 51;--post-black-alpha-10-rgba: rgba(0, 0, 0, 0.1);--post-black-alpha-20-rgba: rgba(0, 0, 0, 0.2);--post-black-alpha-40-rgba: rgba(0, 0, 0, 0.4);--post-black-alpha-60-rgba: rgba(0, 0, 0, 0.6);--post-black-alpha-80-rgba: rgba(0, 0, 0, 0.8);--post-white-alpha-10-rgba: rgba(255, 255, 255, 0.1);--post-white-alpha-20-rgba: rgba(255, 255, 255, 0.2);--post-white-alpha-40-rgba: rgba(255, 255, 255, 0.4);--post-white-alpha-60-rgba: rgba(255, 255, 255, 0.6);--post-white-alpha-80-rgba: rgba(255, 255, 255, 0.8);--post-yellow-rgb: 255, 204, 0;--post-white-rgb: 255, 255, 255;--post-light-rgb: 250, 249, 248;--post-gray-rgb: 244, 243, 241;--post-dark-rgb: 51, 51, 51;--post-black-rgb: 0, 0, 0;--post-primary-rgb: 51, 51, 51;--post-secondary-rgb: 102, 102, 102;--post-success-rgb: 44, 135, 29;--post-warning-rgb: 244, 158, 0;--post-error-rgb: 165, 23, 40;--post-info-rgb: 204, 228, 238;--post-success-background-rgb: 192, 222, 187;--post-warning-background-rgb: 252, 226, 178;--post-error-background-rgb: 255, 218, 222;--post-nightblue-rgb: 0, 73, 118;--post-nightblue-bright-rgb: 0, 118, 168;--post-petrol-rgb: 0, 109, 104;--post-petrol-bright-rgb: 0, 150, 143;--post-coral-rgb: 158, 42, 47;--post-coral-bright-rgb: 224, 60, 49;--post-olive-rgb: 113, 97, 53;--post-olive-bright-rgb: 170, 157, 46;--post-purple-rgb: 128, 39, 108;--post-purple-bright-rgb: 197, 41, 155;--post-aubergine-rgb: 82, 49, 120;--post-aubergine-bright-rgb: 117, 102, 160}.accordion-item{--post-bg-rgb: 244, 243, 241;border-block:2px solid #666}.bg-yellow .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-white .accordion-item{--post-bg-rgb: 244, 243, 241}.bg-light .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-gray .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-dark .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-black .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-primary .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-secondary .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-success .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-warning .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-error .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-info .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-success-background .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-warning-background .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-error-background .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-nightblue .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-nightblue-bright .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-petrol .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-petrol-bright .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-coral .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-coral-bright .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-olive .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-olive-bright .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-purple .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-purple-bright .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-aubergine .accordion-item{--post-bg-rgb: 255, 255, 255}.bg-aubergine-bright .accordion-item{--post-bg-rgb: 255, 255, 255}.accordion-item+.accordion-item{border-block-start:0}.accordion-header{color:#333;font-size:1rem;font-weight:700;line-height:1.5;margin:0}.accordion-button{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;outline:none;width:100%;position:relative;padding-block:1rem;padding-inline-start:1rem;padding-inline-end:3rem;text-align:start;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms}.accordion-button:focus-visible{outline:2px solid #1976c8}.accordion-button:hover{color:#000;background-color:#e6e6e6}.accordion-button:disabled{opacity:.4;pointer-events:none}.accordion-button::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 18.3-.9.9-6.7-6.6-6.6 6.6-.9-.9 7.5-7.6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 18.3-.9.9-6.7-6.6-6.6 6.6-.9-.9 7.5-7.6z'/%3E%3C/svg%3E");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;content:"";display:block;height:1.5rem;width:1.5rem;position:absolute;inset-inline-end:1rem;inset-block-start:50%;transform:translateY(-50%);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}.accordion-button.collapsed::after{transform:translateY(-50%) rotate(-180deg)}.accordion-button>.text-truncate{display:block}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.accordion-button:hover:not(:disabled),.accordion-button:focus-visible:not(:disabled){outline:2px solid Highlight}.accordion-button:disabled{opacity:1 !important}}.accordion-body{padding:.5rem 1rem 1rem;font-weight:400}.accordion-button>*,.accordion-body>:first-child{margin-block-start:0 !important}.accordion-button>*,.accordion-body>:last-child{margin-block-end:0 !important}:host{display:block}.accordion-button{cursor:pointer}.accordion-button>::slotted(.text-truncate){display:block}post-accordion-item::part(accordion-item){--post-bg-rgb: 244, 243, 241}.bg-yellow post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-white post-accordion-item::part(accordion-item){--post-bg-rgb: 244, 243, 241}.bg-light post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-gray post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-dark post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-black post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-primary post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-secondary post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-success post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-warning post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-error post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-info post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-success-background post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-warning-background post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-error-background post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-nightblue post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-nightblue-bright post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-petrol post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-petrol-bright post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-coral post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-coral-bright post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-olive post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-olive-bright post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-purple post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-purple-bright post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-aubergine post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}.bg-aubergine-bright post-accordion-item::part(accordion-item){--post-bg-rgb: 255, 255, 255}:host(:not(:first-of-type)) .accordion-item{border-block-start:0}
|
|
1
|
+
:host::after{display:block;content:"";margin-top:calc(var(--post-device-border-width-default)*-1);border-bottom:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-primary-enabled-stroke)}:host:has(.accordion-button:hover)::after{border-color:var(--post-scheme-color-interactive-primary-hover-stroke)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host:has(.accordion-button:hover)::after{border-color:Highlight}}.accordion-header{color:var(--post-scheme-color-interactive-primary-enabled-fg1);font-size:var(--post-device-font-size-5);margin:0;line-height:var(--post-device-line-height-heading);font-weight:var(--post-device-font-weight-black)}.accordion-button{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;display:flex;position:relative;width:100%;align-items:center;text-align:start;gap:var(--post-device-spacing-gap-7);padding:calc(var(--post-device-spacing-padding-19) + var(--post-device-border-width-default)) calc(var(--post-device-spacing-padding-5) + var(--post-device-border-width-default));cursor:pointer}.accordion-button::before{display:block;position:absolute;content:"";inset:0;bottom:auto;border-top:var(--post-accordion-button-border-top)}.accordion-button{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.accordion-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:var(--post-device-border-radius-focus)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.accordion-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.accordion-button:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:var(--post-device-border-radius-focus)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.accordion-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.accordion-button slot::slotted(span[slot=header]){flex-grow:1}.accordion-button post-icon{flex:none;width:var(--post-core-dimension-24);aspect-ratio:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}.accordion-button.collapsed{padding-block-start:calc(var(--post-device-spacing-padding-19) + var(--post-device-border-width-default));padding-block-end:calc(var(--post-device-spacing-padding-19) + var(--post-device-border-width-default))}.accordion-button.collapsed post-icon{transform:rotate(-180deg)}.accordion-button:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}.accordion-button>::slotted(.text-truncate){display:block}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.accordion-button:hover,.accordion-button:focus-visible{color:Highlight}}.accordion-body{padding-block-start:var(--post-device-spacing-padding-15);padding-block-end:calc(var(--post-device-spacing-padding-block-25) + var(--post-device-border-width-default));padding-inline:var(--post-device-spacing-padding-5)}.logo-container{display:none;width:var(--post-device-sizing-logo-1);aspect-ratio:1}.logo-container.has-image{display:block}.logo-container slot::slotted(img){display:block;width:100%;height:100%;object-fit:cover}.accordion-button>::slotted(:first-child),.accordion-body>::slotted(:first-child){margin-block-start:0 !important}.accordion-button>::slotted(:last-child),.accordion-body>::slotted(:last-child){margin-block-end:0 !important}
|
|
@@ -2,28 +2,34 @@ import { h, Host } from "@stencil/core";
|
|
|
2
2
|
import { version } from "../../../../package";
|
|
3
3
|
import { HEADING_LEVELS } from "../../types/index";
|
|
4
4
|
import { checkEmptyOrOneOf } from "../../utils/index";
|
|
5
|
+
import { nanoid } from "nanoid";
|
|
5
6
|
/**
|
|
7
|
+
* @part button - The pseudo-element, used to override styles on the components internal header `button` element.
|
|
8
|
+
* @part body - The pseudo-element, used to override styles on the components internal `body` element.
|
|
9
|
+
* @slot logo - Slot for the placing a logo before the header.
|
|
6
10
|
* @slot header - Slot for placing custom content within the accordion item's header.
|
|
7
11
|
* @slot default - Slot for placing content within the accordion item's body.
|
|
8
12
|
*/
|
|
9
13
|
export class PostAccordionItem {
|
|
10
14
|
constructor() {
|
|
11
15
|
this.id = undefined;
|
|
16
|
+
this.slottedLogo = undefined;
|
|
12
17
|
this.collapsed = false;
|
|
13
18
|
this.headingLevel = undefined;
|
|
14
19
|
}
|
|
15
20
|
validateHeadingLevel(newValue = this.headingLevel) {
|
|
16
21
|
checkEmptyOrOneOf(newValue, HEADING_LEVELS, 'The `heading-level` property of the `post-accordion-item` must be a number between 1 and 6.');
|
|
17
22
|
}
|
|
18
|
-
connectedCallback() {
|
|
19
|
-
this.validateHeadingLevel();
|
|
20
|
-
}
|
|
21
23
|
componentWillLoad() {
|
|
22
|
-
this.id = this.host.id || `
|
|
24
|
+
this.id = this.host.id || `p${nanoid(6)}`;
|
|
25
|
+
}
|
|
26
|
+
componentDidLoad() {
|
|
27
|
+
this.validateHeadingLevel();
|
|
23
28
|
}
|
|
24
29
|
// capture to make sure the "collapsed" property is updated before the event is consumed
|
|
25
30
|
onCollapseToggle(event) {
|
|
26
|
-
if (event.target === this.host &&
|
|
31
|
+
if (event.target === this.host &&
|
|
32
|
+
event.target.localName === 'post-accordion-item') {
|
|
27
33
|
this.collapsed = !event.detail;
|
|
28
34
|
}
|
|
29
35
|
}
|
|
@@ -33,10 +39,20 @@ export class PostAccordionItem {
|
|
|
33
39
|
async toggle(force) {
|
|
34
40
|
return this.collapsible.toggle(force);
|
|
35
41
|
}
|
|
42
|
+
onSlotLogoChange() {
|
|
43
|
+
this.slottedLogo = this.host.querySelector('img[slot="logo"]');
|
|
44
|
+
}
|
|
45
|
+
componentWillRender() {
|
|
46
|
+
this.slottedLogo = this.host.querySelector('img[slot="logo"]');
|
|
47
|
+
}
|
|
36
48
|
render() {
|
|
37
|
-
var _a;
|
|
38
|
-
const
|
|
39
|
-
|
|
49
|
+
var _a, _b;
|
|
50
|
+
const headingLevel = (_a = this.host.closest('post-accorddion')) === null || _a === void 0 ? void 0 : _a.getAttribute('heading-level');
|
|
51
|
+
const HeadingTag = `h${(_b = headingLevel !== null && headingLevel !== void 0 ? headingLevel : this.headingLevel) !== null && _b !== void 0 ? _b : 2}`;
|
|
52
|
+
return (h(Host, { key: '373cd09f89f295da7e3757223720c63ef66a5713', id: this.id, "data-version": version }, h("div", { key: '8039b22b872c62681a5322a97e7d3152c9a95539', part: "accordion-item", class: "accordion-item" }, h("post-collapsible-trigger", { key: '110fd30957bba9116e7de9ea8489c2c0284bacf6', for: `${this.id}--collapse` }, h(HeadingTag, { key: '2ae4afc979da88ea988356403461f6a3efaa07aa', class: "accordion-header", id: `${this.id}--header` }, h("button", { key: '2ac61546ba0de5571225d6e7b9558f3dbc7f62d3', type: "button", class: `accordion-button${this.collapsed ? ' collapsed' : ''}`, part: "button" }, h("span", { key: '132516a258f87e4226d218ced5c57f9aa42c88e5', class: {
|
|
53
|
+
'logo-container': true,
|
|
54
|
+
'has-image': !!this.slottedLogo,
|
|
55
|
+
} }, h("slot", { key: 'dba5d7d0774640dbc12931c25fd07454e4210d1f', name: "logo", onSlotchange: this.onSlotLogoChange.bind(this) })), h("slot", { key: 'a26af2ee15938855748a828cca2855d2381f4aba', name: "header" }), h("post-icon", { key: '37a112eb68bed41d5b88472c160d355af967957f', name: "2051" })))), h("post-collapsible", { key: '6486a18c1ec3c97ee24f1ccaf1abb49a75890fe5', id: `${this.id}--collapse`, collapsed: this.collapsed, ref: el => (this.collapsible = el) }, h("div", { key: '23b80e5f4ff31c4de2c0f3e75048c4ac1380371f', class: "accordion-body", part: "body" }, h("slot", { key: '90e370978278c913f88092d0908dbd9437763dd8' }))))));
|
|
40
56
|
}
|
|
41
57
|
static get is() { return "post-accordion-item"; }
|
|
42
58
|
static get encapsulation() { return "shadow"; }
|
|
@@ -100,7 +116,8 @@ export class PostAccordionItem {
|
|
|
100
116
|
}
|
|
101
117
|
static get states() {
|
|
102
118
|
return {
|
|
103
|
-
"id": {}
|
|
119
|
+
"id": {},
|
|
120
|
+
"slottedLogo": {}
|
|
104
121
|
};
|
|
105
122
|
}
|
|
106
123
|
static get methods() {
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 by Swiss Post, Information Technology
|
|
3
|
+
*/:host{--post-avatar-bg: var(--post-scheme-color-interactive-primary-enabled-bg2);--post-avatar-fg: var(--post-scheme-color-interactive-primary-enabled-fg3);display:inline-flex;position:relative;width:var(--post-device-sizing-interactive-icon-size3);height:var(--post-device-sizing-interactive-icon-size3);background-color:var(--post-scheme-color-interactive-primary-enabled-stroke3);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-enabled-stroke3);border-radius:var(--post-device-border-radius-round);font-size:var(--post-device-font-size-8);vertical-align:top;line-height:1}:host::after{display:block;content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}*,*::before,*::after{box-sizing:border-box}slot,img,::slotted(img){display:block;width:100%;height:100%}img,::slotted(img){border-radius:var(--post-device-border-radius-round)}::slotted(:not(img)){display:none !important}.initials{display:flex;justify-content:center;align-items:center;position:relative;z-index:2;width:100%;height:100%;background-color:var(--post-avatar-bg);border-radius:var(--post-device-border-radius-round);color:var(--post-avatar-fg);text-transform:uppercase}.initials span{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.initials span:not(caption){position:absolute !important}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
import { version } from "../../../../package";
|
|
3
|
+
import { checkNonEmpty } from "../../utils/index";
|
|
4
|
+
// https://docs.gravatar.com/api/avatars/images/
|
|
5
|
+
const GRAVATAR_DEFAULT = '404';
|
|
6
|
+
const GRAVATAR_RATING = 'g';
|
|
7
|
+
const GRAVATAR_SIZE = 80;
|
|
8
|
+
const GRAVATAR_BASE_URL = `https://www.gravatar.com/avatar/{email}?s=${GRAVATAR_SIZE}&d=${GRAVATAR_DEFAULT}&r=${GRAVATAR_RATING}`;
|
|
9
|
+
var AvatarType;
|
|
10
|
+
(function (AvatarType) {
|
|
11
|
+
AvatarType["Slotted"] = "slotted";
|
|
12
|
+
AvatarType["Image"] = "image";
|
|
13
|
+
AvatarType["Initials"] = "initials";
|
|
14
|
+
AvatarType[AvatarType["Null"] = null] = "Null";
|
|
15
|
+
})(AvatarType || (AvatarType = {}));
|
|
16
|
+
/**
|
|
17
|
+
* @slot default - Slot for inserting a custom image as avatar.
|
|
18
|
+
*/
|
|
19
|
+
export class PostAvatar {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.firstname = undefined;
|
|
22
|
+
this.lastname = undefined;
|
|
23
|
+
this.userid = undefined;
|
|
24
|
+
this.email = undefined;
|
|
25
|
+
this.slottedImage = undefined;
|
|
26
|
+
this.avatarType = null;
|
|
27
|
+
this.imageUrl = '';
|
|
28
|
+
this.imageAlt = '';
|
|
29
|
+
this.initials = '';
|
|
30
|
+
}
|
|
31
|
+
validateFirstname() {
|
|
32
|
+
checkNonEmpty(this.firstname, 'The `firstname` property of the `post-avatar` is required!');
|
|
33
|
+
}
|
|
34
|
+
async getAvatar() {
|
|
35
|
+
if (this.slottedImage !== null) {
|
|
36
|
+
this.avatarType = AvatarType.Slotted;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
let imageLoaded = false;
|
|
40
|
+
if (!imageLoaded && this.userid)
|
|
41
|
+
imageLoaded = await this.getImageByProp(this.userid, this.fetchImageByUserId.bind(this));
|
|
42
|
+
if (!imageLoaded && this.email)
|
|
43
|
+
imageLoaded = await this.getImageByProp(this.email, this.fetchImageByEmail.bind(this));
|
|
44
|
+
if (!imageLoaded)
|
|
45
|
+
this.getAvatarByInitials();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async getImageByProp(prop, fetchImage) {
|
|
49
|
+
var _a;
|
|
50
|
+
if (!prop)
|
|
51
|
+
return false;
|
|
52
|
+
const imageResponse = (_a = (await this.getStorageItem(prop))) !== null && _a !== void 0 ? _a : { ok: false, url: '' };
|
|
53
|
+
if (!imageResponse.ok) {
|
|
54
|
+
try {
|
|
55
|
+
const r = await fetchImage();
|
|
56
|
+
imageResponse.ok = r.ok;
|
|
57
|
+
imageResponse.url = r.url;
|
|
58
|
+
this.imageUrl = imageResponse.url;
|
|
59
|
+
this.imageAlt = `${this.firstname} ${this.lastname} avatar`;
|
|
60
|
+
this.avatarType = AvatarType.Image;
|
|
61
|
+
this.setStorageItem(this.userid, JSON.stringify(imageResponse));
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
this.removeStorageItem(prop);
|
|
65
|
+
console.info(`Loading avatar by type "${AvatarType.Image}" failed.`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return imageResponse.ok;
|
|
69
|
+
}
|
|
70
|
+
async fetchImageByUserId() {
|
|
71
|
+
return await fetch(PostAvatar.INTERNAL_USERID_IMAGE_SRC.replace('{userid}', encodeURIComponent(this.userid)));
|
|
72
|
+
}
|
|
73
|
+
async fetchImageByEmail() {
|
|
74
|
+
const email = await this.cryptify(this.email);
|
|
75
|
+
const imageUrl = GRAVATAR_BASE_URL.replace('{email}', email);
|
|
76
|
+
return await fetch(imageUrl);
|
|
77
|
+
}
|
|
78
|
+
getAvatarByInitials() {
|
|
79
|
+
this.initials = this.getInitials();
|
|
80
|
+
this.avatarType = AvatarType.Initials;
|
|
81
|
+
}
|
|
82
|
+
getNames() {
|
|
83
|
+
return [this.firstname, this.lastname].filter(n => n);
|
|
84
|
+
}
|
|
85
|
+
getInitials() {
|
|
86
|
+
return this.getNames()
|
|
87
|
+
.map(n => n.charAt(0))
|
|
88
|
+
.join('')
|
|
89
|
+
.trim();
|
|
90
|
+
}
|
|
91
|
+
async getStorageItem(keyToken) {
|
|
92
|
+
var _a;
|
|
93
|
+
const key = await this.cryptify(keyToken);
|
|
94
|
+
const value = (_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.getItem(key);
|
|
95
|
+
return value ? JSON.parse(value) : null;
|
|
96
|
+
}
|
|
97
|
+
async setStorageItem(keyToken, value) {
|
|
98
|
+
var _a;
|
|
99
|
+
const key = await this.cryptify(keyToken);
|
|
100
|
+
(_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.setItem(key, value);
|
|
101
|
+
}
|
|
102
|
+
async removeStorageItem(keyToken) {
|
|
103
|
+
var _a;
|
|
104
|
+
const key = await this.cryptify(keyToken);
|
|
105
|
+
(_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.removeItem(key);
|
|
106
|
+
}
|
|
107
|
+
async cryptify(key) {
|
|
108
|
+
return await crypto.subtle.digest('SHA-256', new TextEncoder().encode(key)).then(buffer => {
|
|
109
|
+
return Array.from(new Uint8Array(buffer))
|
|
110
|
+
.map(bytes => bytes.toString(16).padStart(2, '0'))
|
|
111
|
+
.join('');
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
onSlotDefaultChange() {
|
|
115
|
+
this.slottedImage = this.host.querySelector('img');
|
|
116
|
+
this.getAvatar();
|
|
117
|
+
}
|
|
118
|
+
componentWillRender() {
|
|
119
|
+
this.slottedImage = this.host.querySelector('img');
|
|
120
|
+
this.getAvatar();
|
|
121
|
+
}
|
|
122
|
+
componentDidLoad() {
|
|
123
|
+
this.validateFirstname();
|
|
124
|
+
}
|
|
125
|
+
render() {
|
|
126
|
+
const initials = this.getNames().reduce((acc, n, i) => {
|
|
127
|
+
if (i > 0)
|
|
128
|
+
acc.push(h("span", null, " "));
|
|
129
|
+
acc.push(n.charAt(0));
|
|
130
|
+
acc.push(h("span", null, n.slice(1)));
|
|
131
|
+
// eslint-disable-next-line @stencil-community/render-returns-host
|
|
132
|
+
return acc;
|
|
133
|
+
}, []);
|
|
134
|
+
return (h(Host, { "data-version": version }, h("slot", { onSlotchange: this.onSlotDefaultChange.bind(this) }, this.avatarType === 'image' && h("img", { src: this.imageUrl, alt: this.imageAlt }), this.avatarType === 'initials' && h("div", { class: "initials" }, initials))));
|
|
135
|
+
}
|
|
136
|
+
static get is() { return "post-avatar"; }
|
|
137
|
+
static get encapsulation() { return "shadow"; }
|
|
138
|
+
static get originalStyleUrls() {
|
|
139
|
+
return {
|
|
140
|
+
"$": ["post-avatar.scss"]
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
static get styleUrls() {
|
|
144
|
+
return {
|
|
145
|
+
"$": ["post-avatar.css"]
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
static get properties() {
|
|
149
|
+
return {
|
|
150
|
+
"firstname": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"mutable": false,
|
|
153
|
+
"complexType": {
|
|
154
|
+
"original": "string",
|
|
155
|
+
"resolved": "string",
|
|
156
|
+
"references": {}
|
|
157
|
+
},
|
|
158
|
+
"required": true,
|
|
159
|
+
"optional": false,
|
|
160
|
+
"docs": {
|
|
161
|
+
"tags": [],
|
|
162
|
+
"text": "Defines the users firstname."
|
|
163
|
+
},
|
|
164
|
+
"attribute": "firstname",
|
|
165
|
+
"reflect": false
|
|
166
|
+
},
|
|
167
|
+
"lastname": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"mutable": false,
|
|
170
|
+
"complexType": {
|
|
171
|
+
"original": "string",
|
|
172
|
+
"resolved": "string",
|
|
173
|
+
"references": {}
|
|
174
|
+
},
|
|
175
|
+
"required": false,
|
|
176
|
+
"optional": true,
|
|
177
|
+
"docs": {
|
|
178
|
+
"tags": [],
|
|
179
|
+
"text": "Defines the users lastname."
|
|
180
|
+
},
|
|
181
|
+
"attribute": "lastname",
|
|
182
|
+
"reflect": false
|
|
183
|
+
},
|
|
184
|
+
"userid": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"mutable": false,
|
|
187
|
+
"complexType": {
|
|
188
|
+
"original": "string",
|
|
189
|
+
"resolved": "string",
|
|
190
|
+
"references": {}
|
|
191
|
+
},
|
|
192
|
+
"required": false,
|
|
193
|
+
"optional": true,
|
|
194
|
+
"docs": {
|
|
195
|
+
"tags": [],
|
|
196
|
+
"text": "Defines the company internal userId.<div className=\"mb-1 banner banner-warning banner-sm\">Can only be used on post.ch domains!</div>"
|
|
197
|
+
},
|
|
198
|
+
"attribute": "userid",
|
|
199
|
+
"reflect": false
|
|
200
|
+
},
|
|
201
|
+
"email": {
|
|
202
|
+
"type": "string",
|
|
203
|
+
"mutable": false,
|
|
204
|
+
"complexType": {
|
|
205
|
+
"original": "string",
|
|
206
|
+
"resolved": "string",
|
|
207
|
+
"references": {}
|
|
208
|
+
},
|
|
209
|
+
"required": false,
|
|
210
|
+
"optional": true,
|
|
211
|
+
"docs": {
|
|
212
|
+
"tags": [],
|
|
213
|
+
"text": "Defines the users email address associated with a gravatar profile picture."
|
|
214
|
+
},
|
|
215
|
+
"attribute": "email",
|
|
216
|
+
"reflect": false
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
static get states() {
|
|
221
|
+
return {
|
|
222
|
+
"slottedImage": {},
|
|
223
|
+
"avatarType": {},
|
|
224
|
+
"imageUrl": {},
|
|
225
|
+
"imageAlt": {},
|
|
226
|
+
"initials": {}
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
static get elementRef() { return "host"; }
|
|
230
|
+
static get watchers() {
|
|
231
|
+
return [{
|
|
232
|
+
"propName": "firstname",
|
|
233
|
+
"methodName": "validateFirstname"
|
|
234
|
+
}];
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
PostAvatar.INTERNAL_USERID_IMAGE_SRC = 'https://web.post.ch/UserProfileImage/{userid}.png';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:host{--post-floating-button-translate-y: calc(-1 * var(--post-core-dimension-112));position:fixed;top:var(--post-device-position-1);right:var(--post-device-position-1)}:host .back-to-top{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;box-shadow:.5px 3px 4px rgba(0,0,0,.1),2px 4px 10px 4px rgba(0,0,0,.12);cursor:pointer;border-radius:var(--post-device-border-radius-round);width:var(--post-device-sizing-interactive-button-height-2);height:var(--post-device-sizing-interactive-button-height-2);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-button-secondary-enabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg);display:flex;align-items:center;justify-content:center}:host .back-to-top{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}:host .back-to-top:hover{border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke);color:var(--post-scheme-color-interactive-button-secondary-hover-fg);background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg)}:host .back-to-top post-icon{height:var(--post-device-sizing-interactive-button-icon-3);width:var(--post-device-sizing-interactive-button-icon-3)}:host .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}
|