@swisspost/design-system-components 10.0.0-next.76 → 10.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/{package-B0PdQ0Dm.js → package-BfNFDLlB.js} +1 -1
- package/dist/cjs/post-accordion_2.cjs.entry.js +1 -1
- package/dist/cjs/post-autocomplete.cjs.entry.js +1 -1
- package/dist/cjs/post-avatar.cjs.entry.js +1 -1
- package/dist/cjs/post-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/post-banner.cjs.entry.js +1 -1
- package/dist/cjs/post-breadcrumb-item.cjs.entry.js +2 -2
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +2 -2
- package/dist/cjs/post-closebutton_14.cjs.entry.js +7 -7
- package/dist/cjs/post-collapsible_2.cjs.entry.js +7 -5
- package/dist/cjs/post-date-picker.cjs.entry.js +10 -4
- package/dist/cjs/post-footer.cjs.entry.js +1 -1
- package/dist/cjs/post-linkarea.cjs.entry.js +1 -1
- package/dist/cjs/post-listbox-option.cjs.entry.js +1 -1
- package/dist/cjs/post-listbox.cjs.entry.js +1 -1
- package/dist/cjs/post-number-input.cjs.entry.js +2 -2
- package/dist/cjs/post-pagination.cjs.entry.js +2 -2
- package/dist/cjs/post-popover-trigger.cjs.entry.js +1 -1
- package/dist/cjs/post-popover.cjs.entry.js +1 -1
- package/dist/cjs/post-rating.cjs.entry.js +1 -1
- package/dist/cjs/post-side-navigation-trigger.cjs.entry.js +1 -1
- package/dist/cjs/post-side-navigation.cjs.entry.js +1 -1
- package/dist/cjs/post-stepper-item.cjs.entry.js +1 -1
- package/dist/cjs/post-stepper.cjs.entry.js +1 -1
- package/dist/cjs/post-tab-item.cjs.entry.js +1 -1
- package/dist/cjs/post-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/post-tabs.cjs.entry.js +3 -3
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +1 -1
- package/dist/cjs/post-tooltip.cjs.entry.js +1 -1
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -1
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
- package/dist/collection/components/post-closebutton/post-closebutton.css +1 -1
- package/dist/collection/components/post-collapsible/post-collapsible.js +1 -1
- package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +5 -3
- package/dist/collection/components/post-date-picker/post-date-picker.js +9 -3
- package/dist/collection/components/post-header/post-header.css +1 -1
- package/dist/collection/components/post-language-menu/post-language-menu.css +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
- package/dist/collection/components/post-menu-item/post-menu-item.css +1 -1
- package/dist/collection/components/post-number-input/post-number-input.css +1 -1
- package/dist/collection/components/post-pagination/post-pagination.css +1 -1
- package/dist/collection/components/post-tabs/post-tabs.js +2 -2
- package/dist/components/package.js +1 -1
- package/dist/components/post-breadcrumb-item.js +1 -1
- package/dist/components/post-breadcrumbs.js +1 -1
- package/dist/components/post-closebutton2.js +1 -1
- package/dist/components/post-collapsible-trigger2.js +1 -1
- package/dist/components/post-collapsible2.js +1 -1
- package/dist/components/post-date-picker.js +1 -1
- package/dist/components/post-header.js +1 -1
- package/dist/components/post-language-menu.js +1 -1
- package/dist/components/post-megadropdown-trigger.js +1 -1
- package/dist/components/post-megadropdown.js +1 -1
- package/dist/components/post-menu-item2.js +1 -1
- package/dist/components/post-number-input.js +1 -1
- package/dist/components/post-pagination.js +1 -1
- package/dist/components/post-tabs.js +1 -1
- package/dist/components/react/p-B4CPJq4-.js +1 -0
- package/dist/components/react/{p-Chtl9X7o.js → p-BJJd4LvT.js} +1 -1
- package/dist/components/react/{p-D0kuUny7.js → p-BJXXw0kF.js} +1 -1
- package/dist/components/react/p-BKQu2M0N.js +1 -0
- package/dist/components/react/{p-DKF__bJF.js → p-Bscvx_1t.js} +1 -1
- package/dist/components/react/{p-wLn52OZT.js → p-CT6x8DLu.js} +1 -1
- package/dist/components/react/{p-gUhGka9h.js → p-D1M4lTJg.js} +1 -1
- package/dist/components/react/{p-uQE3DVb8.js → p-DQDv_V13.js} +1 -1
- package/dist/components/react/{p-06VKKzxv.js → p-DlA_Y5Qr.js} +1 -1
- package/dist/components/react/{p-BkWqx_6U.js → p-Du33y-6X.js} +1 -1
- package/dist/components/react/p-Y58zWPwj.js +1 -0
- package/dist/components/react/{p-DkKOmXaG.js → p-_nnVhpIK.js} +1 -1
- package/dist/components/react/post-accordion-item.js +1 -1
- package/dist/components/react/post-accordion.js +1 -1
- package/dist/components/react/post-autocomplete.js +1 -1
- package/dist/components/react/post-avatar.js +1 -1
- package/dist/components/react/post-back-to-top.js +1 -1
- package/dist/components/react/post-banner.js +1 -1
- package/dist/components/react/post-breadcrumb-item.js +1 -1
- package/dist/components/react/post-breadcrumbs.js +1 -1
- package/dist/components/react/post-closebutton.js +1 -1
- package/dist/components/react/post-collapsible-trigger.js +1 -1
- package/dist/components/react/post-collapsible.js +1 -1
- package/dist/components/react/post-date-picker.js +1 -1
- package/dist/components/react/post-footer.js +1 -1
- package/dist/components/react/post-header.js +1 -1
- package/dist/components/react/post-icon.js +1 -1
- package/dist/components/react/post-language-menu-item.js +1 -1
- package/dist/components/react/post-language-menu.js +1 -1
- package/dist/components/react/post-linkarea.js +1 -1
- package/dist/components/react/post-listbox-option.js +1 -1
- package/dist/components/react/post-listbox.js +1 -1
- package/dist/components/react/post-logo.js +1 -1
- package/dist/components/react/post-mainnavigation.js +1 -1
- package/dist/components/react/post-megadropdown-trigger.js +1 -1
- package/dist/components/react/post-megadropdown.js +1 -1
- package/dist/components/react/post-menu-item.js +1 -1
- package/dist/components/react/post-menu-trigger.js +1 -1
- package/dist/components/react/post-menu.js +1 -1
- package/dist/components/react/post-number-input.js +1 -1
- package/dist/components/react/post-pagination.js +1 -1
- package/dist/components/react/post-popover-trigger.js +1 -1
- package/dist/components/react/post-popover.js +1 -1
- package/dist/components/react/post-popovercontainer.js +1 -1
- package/dist/components/react/post-rating.js +1 -1
- package/dist/components/react/post-side-navigation-trigger.js +1 -1
- package/dist/components/react/post-side-navigation.js +1 -1
- package/dist/components/react/post-stepper-item.js +1 -1
- package/dist/components/react/post-stepper.js +1 -1
- package/dist/components/react/post-tab-item.js +1 -1
- package/dist/components/react/post-tab-panel.js +1 -1
- package/dist/components/react/post-tabs.js +1 -1
- package/dist/components/react/post-togglebutton.js +1 -1
- package/dist/components/react/post-tooltip-trigger.js +1 -1
- package/dist/components/react/post-tooltip.js +1 -1
- package/dist/docs.json +4 -4
- package/dist/esm/package-Y58zWPwj.js +3 -0
- package/dist/esm/post-accordion_2.entry.js +1 -1
- package/dist/esm/post-autocomplete.entry.js +1 -1
- package/dist/esm/post-avatar.entry.js +1 -1
- package/dist/esm/post-back-to-top.entry.js +1 -1
- package/dist/esm/post-banner.entry.js +1 -1
- package/dist/esm/post-breadcrumb-item.entry.js +2 -2
- package/dist/esm/post-breadcrumbs.entry.js +2 -2
- package/dist/esm/post-closebutton_14.entry.js +7 -7
- package/dist/esm/post-collapsible_2.entry.js +7 -5
- package/dist/esm/post-date-picker.entry.js +10 -4
- package/dist/esm/post-footer.entry.js +1 -1
- package/dist/esm/post-linkarea.entry.js +1 -1
- package/dist/esm/post-listbox-option.entry.js +1 -1
- package/dist/esm/post-listbox.entry.js +1 -1
- package/dist/esm/post-number-input.entry.js +2 -2
- package/dist/esm/post-pagination.entry.js +2 -2
- package/dist/esm/post-popover-trigger.entry.js +1 -1
- package/dist/esm/post-popover.entry.js +1 -1
- package/dist/esm/post-rating.entry.js +1 -1
- package/dist/esm/post-side-navigation-trigger.entry.js +1 -1
- package/dist/esm/post-side-navigation.entry.js +1 -1
- package/dist/esm/post-stepper-item.entry.js +1 -1
- package/dist/esm/post-stepper.entry.js +1 -1
- package/dist/esm/post-tab-item.entry.js +1 -1
- package/dist/esm/post-tab-panel.entry.js +1 -1
- package/dist/esm/post-tabs.entry.js +3 -3
- package/dist/esm/post-tooltip-trigger.entry.js +1 -1
- package/dist/esm/post-tooltip.entry.js +1 -1
- package/dist/playwright.config.js +2 -5
- package/dist/post-components/{p-a08abdb2.entry.js → p-04357da9.entry.js} +1 -1
- package/dist/post-components/{p-c11a8e06.entry.js → p-0489b4d4.entry.js} +1 -1
- package/dist/post-components/p-0d26c355.entry.js +1 -0
- package/dist/post-components/{p-4b366aa0.entry.js → p-178a7687.entry.js} +1 -1
- package/dist/post-components/{p-e219e22a.entry.js → p-1f8cf0ac.entry.js} +1 -1
- package/dist/post-components/{p-266e68a3.entry.js → p-2c57ea8a.entry.js} +1 -1
- package/dist/post-components/p-3cf1db19.entry.js +1 -0
- package/dist/post-components/{p-dcceab4e.entry.js → p-4f8cc9a6.entry.js} +1 -1
- package/dist/post-components/{p-93da9105.entry.js → p-56f74289.entry.js} +1 -1
- package/dist/post-components/{p-1878e9f8.entry.js → p-57da1762.entry.js} +1 -1
- package/dist/post-components/{p-52e118e0.entry.js → p-79ebeea6.entry.js} +1 -1
- package/dist/post-components/p-7f07eee6.entry.js +1 -0
- package/dist/post-components/{p-900dc8e1.entry.js → p-842df510.entry.js} +1 -1
- package/dist/post-components/{p-4c7750cd.entry.js → p-8632e72c.entry.js} +1 -1
- package/dist/post-components/{p-621a81a7.entry.js → p-8adf13de.entry.js} +1 -1
- package/dist/post-components/{p-2a0b9ed0.entry.js → p-8f70afc9.entry.js} +1 -1
- package/dist/post-components/{p-8d8ac7ae.entry.js → p-94a8cb5a.entry.js} +1 -1
- package/dist/post-components/{p-d9ce8f05.entry.js → p-95986a4b.entry.js} +1 -1
- package/dist/post-components/{p-9915ffee.entry.js → p-9ff63d4c.entry.js} +1 -1
- package/dist/post-components/p-Y58zWPwj.js +1 -0
- package/dist/post-components/{p-3c71d687.entry.js → p-a779195c.entry.js} +1 -1
- package/dist/post-components/{p-1eea2715.entry.js → p-b0099d75.entry.js} +1 -1
- package/dist/post-components/{p-89ea447b.entry.js → p-c05ae467.entry.js} +1 -1
- package/dist/post-components/{p-477c8c35.entry.js → p-c25b6da1.entry.js} +1 -1
- package/dist/post-components/{p-ad69ed8c.entry.js → p-ccaf42c3.entry.js} +1 -1
- package/dist/post-components/{p-85594193.entry.js → p-cef3c15c.entry.js} +1 -1
- package/dist/post-components/{p-0efb77f9.entry.js → p-d91b8c5d.entry.js} +1 -1
- package/dist/post-components/{p-f6c45fed.entry.js → p-e35e4e1c.entry.js} +1 -1
- package/dist/post-components/{p-a971ec25.entry.js → p-f2d92ace.entry.js} +1 -1
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/modules.d.ts +1 -1
- package/dist/vrt/helpers/header-test-helpers.js +1 -1
- package/hydrate/index.js +28 -20
- package/hydrate/index.mjs +28 -20
- package/package.json +4 -4
- package/dist/components/react/p-CrLBbthi.js +0 -1
- package/dist/components/react/p-UdMqVxhd.js +0 -1
- package/dist/components/react/p-d02KpeUM.js +0 -1
- package/dist/esm/package-d02KpeUM.js +0 -3
- package/dist/post-components/p-1223e51d.entry.js +0 -1
- package/dist/post-components/p-2233c37e.entry.js +0 -1
- package/dist/post-components/p-53f34806.entry.js +0 -1
- package/dist/post-components/p-d02KpeUM.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as t,Build as o,h as a,Host as i,transformTag as s}from"@stencil/core/internal/client";import{f as r}from"./fade.js";import{t as n,b as d}from"./breakpoints.js";import{E as l}from"./event-from.js";import{a as h}from"./get-focusable-children.js";import{v as c}from"./package.js";import{d as p}from"./post-icon2.js";import{d as g}from"./post-togglebutton2.js";import{R as b}from"./required.js";import{T as u}from"./type.js";var m=function(e,t,o,a){var i,s=arguments.length,r=s<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,o):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,o,a);else for(var n=e.length-1;n>=0;n--)(i=e[n])&&(r=(s<3?i(r):s>3?i(t,o,r):i(t,o))||r);return s>3&&r&&Object.defineProperty(t,o,r),r};const f=e(class extends t{get hasBurgerMenu(){return"desktop"!==this.device&&this.hasMainNav}get scrollParent(){const e=document.querySelector("[data-post-scroll-locked]");if(e)return e;let t=this.host.parentElement;for(;t;){const e=getComputedStyle(t).overflowY;if(["auto","scroll"].includes(e))return t;t=t.parentElement}return document.body}lockBody(e,t,o){const a=this.scrollParent;"desktop"!==this.device&&("burgerMenuExtended"===o?e:this.burgerMenuExtended)?(a.dataset.postScrollLocked="",this.host.addEventListener("keydown",this.keyboardHandler)):(delete a.dataset.postScrollLocked,this.host.removeEventListener("keydown",this.keyboardHandler))}constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.throttledResize=n(50,(()=>this.updateLocalHeaderHeight())),this.animationOptions={duration:350,easing:"headerEase"},this.device=d.get("device"),this.hasTitle=!0,this.hasMainNav=!0,this.hasLocalNav=!0,this.burgerMenuExtended=!1,this.megadropdownOpen=!1,this.fullWidth=!1,this.breakpointChange=e=>{const t=this.device;this.device=e.detail,this.switchLanguageSwitchMode();const o="desktop"===this.device;"desktop"===t&&"desktop"!==this.device&&this.megadropdownOpen&&(this.burgerMenuExtended=!0),o&&this.burgerMenuExtended&&this.closeBurgerMenu()},this.handleScrollEvent=this.handleScrollEvent.bind(this),this.updateScrollParentHeight=this.updateScrollParentHeight.bind(this),this.updateLocalHeaderHeight=this.updateLocalHeaderHeight.bind(this),this.keyboardHandler=this.keyboardHandler.bind(this),this.handleLinkClick=this.handleLinkClick.bind(this),this.megadropdownStateHandler=this.megadropdownStateHandler.bind(this),this.checkSlottedContent=this.checkSlottedContent.bind(this),this.megadropdownStateHandler=this.megadropdownStateHandler.bind(this)}connectedCallback(){globalThis.addEventListener("resize",this.throttledResize,{passive:!0}),globalThis.addEventListener("scroll",this.handleScrollEvent,{passive:!0}),this.scrollParent.addEventListener("scroll",this.handleScrollEvent,{passive:!0}),document.addEventListener("postToggleMegadropdown",this.megadropdownStateHandler),globalThis.addEventListener("postBreakpoint:device",this.breakpointChange),this.handleScrollParentResize(),this.lockBody(!1,this.burgerMenuExtended,"burgerMenuExtended")}componentWillRender(){this.handleScrollEvent(),this.handleSlottedContentChanges(),this.switchLanguageSwitchMode()}componentDidRender(){this.getFocusableElements(),this.handleLocalHeaderResize(),this.burgerMenuButton&&this.burgerMenuButton.toggled!==this.burgerMenuExtended&&(this.burgerMenuButton.toggled=this.burgerMenuExtended)}componentDidLoad(){this.updateLocalHeaderHeight(),this.host.shadowRoot.addEventListener("click",this.handleLinkClick)}disconnectedCallback(){const e=this.scrollParent;globalThis.removeEventListener("postBreakpoint:device",this.breakpointChange),globalThis.removeEventListener("resize",this.throttledResize),globalThis.removeEventListener("scroll",this.handleScrollEvent),e&&e.removeEventListener("scroll",this.handleScrollEvent),document.removeEventListener("postToggleMegadropdown",this.megadropdownStateHandler),this.host.removeEventListener("keydown",this.keyboardHandler),this.host.shadowRoot&&this.host.shadowRoot.removeEventListener("click",this.handleLinkClick),this.scrollParentResizeObserver&&(this.scrollParentResizeObserver.disconnect(),this.scrollParentResizeObserver=null),this.localHeaderResizeObserver&&(this.localHeaderResizeObserver.disconnect(),this.localHeaderResizeObserver=null),this.slottedContentObserver&&(this.slottedContentObserver.disconnect(),this.slottedContentObserver=null),this.burgerMenuExtended=!1}async closeBurgerMenu(){this.burgerMenuAnimation?.finish(),this.burgerMenuButton&&(this.burgerMenuButton.toggled=!1),this.burgerMenuExtended=!1}async toggleBurgerMenu(e=!this.burgerMenuExtended){"desktop"!==this.device&&e!==this.burgerMenuExtended&&(this.burgerMenuAnimation=r(this.burgerMenu,this.burgerMenuExtended?"out":"in",this.animationOptions),this.burgerMenuButton&&this.burgerMenuButton.toggled!==e&&(this.burgerMenuButton.toggled=e),this.burgerMenuExtended?(await this.burgerMenuAnimation.finished,this.burgerMenuExtended=e,!1===this.burgerMenuExtended&&(this.closeAllMegadropdowns(),this.burgerMenu.scrollTop=0)):(this.burgerMenuExtended=e,this.megadropdownOpen&&this.closeAllMegadropdowns()))}megadropdownStateHandler(e){this.megadropdownOpen=e.detail.isVisible}getFocusableElements(){if(!this.burgerMenu)return;const e=[this.burgerMenuButton];e.push(...h(this.localHeader,(e=>!e.matches("post-megadropdown"))),...h(this.burgerMenu,(e=>!e.matches("post-megadropdown")))),this.firstFocusableEl=e[0],this.lastFocusableEl=e.at(-1)}keyboardHandler(e){if("Tab"!==e.key||!this.burgerMenuExtended)return;const t=this.host.shadowRoot.activeElement||document.activeElement;e.shiftKey&&t===this.firstFocusableEl?(e.preventDefault(),this.lastFocusableEl.focus()):e.shiftKey||t!==this.lastFocusableEl||(e.preventDefault(),this.firstFocusableEl.focus())}closeAllMegadropdowns(){Array.from(this.host.querySelectorAll("post-megadropdown")).forEach((e=>{e.hide(!1,!0)})),this.megadropdownOpen=!1}handleScrollEvent(){const e=this.scrollParent===document.body?window.scrollY:this.scrollParent.scrollTop;document.documentElement.style.setProperty("--post-header-scroll-top",Math.max(e,0)+"px")}updateLocalHeaderHeight(){const e=this.host.shadowRoot.querySelector(".local-header");e&&document.documentElement.style.setProperty("--post-local-header-expanded-height",e.clientHeight+"px")}updateScrollParentHeight(){this.host.style.setProperty("--post-header-scroll-parent-height",this.scrollParent.clientHeight+"px")}handleLinkClick(e){const t=e.target,o=t.closest("post-mainnavigation a"),a=t.closest("post-megadropdown a");(o||a)&&(this.burgerMenuExtended&&(o||a)&&this.toggleBurgerMenu(!1),"desktop"===this.device&&a)&&t.closest("post-megadropdown a")&&t.closest("post-megadropdown").hide(!0)}handleScrollParentResize(){this.scrollParent&&(this.scrollParentResizeObserver=new ResizeObserver(this.updateScrollParentHeight),this.scrollParentResizeObserver.observe(this.scrollParent))}handleLocalHeaderResize(){const e=this.host.shadowRoot.querySelector(".local-header");e&&!this.localHeaderResizeObserver&&(this.localHeaderResizeObserver=new ResizeObserver(this.updateLocalHeaderHeight),this.localHeaderResizeObserver.observe(e))}handleSlottedContentChanges(){this.slottedContentObserver||(this.checkSlottedContent(),this.slottedContentObserver=new MutationObserver(this.checkSlottedContent),this.slottedContentObserver.observe(this.host,{childList:!0}))}checkSlottedContent(){o.isServer||(this.hasTitle=!!this.host.querySelector('[slot="title"]'),this.hasMainNav=!!this.host.querySelector('[slot="main-nav"]'),this.hasLocalNav=!!this.host.querySelector('[slot="local-nav"]'))}switchLanguageSwitchMode(){const e=this.hasBurgerMenu?"list":"menu";Array.from(this.host.querySelectorAll("post-language-menu")).forEach((t=>{t?.setAttribute("variant",e)}))}onFocusChange(){const e=document.activeElement?.matches(":focus-visible"),t=this.host.matches(":focus-within"),o="desktop"===this.device?!!this.host.querySelector("post-mainnavigation:focus-within"):!!this.host.shadowRoot?.querySelector(":is(.global-header, .burger-menu):focus-within");this.host.toggleAttribute("data-expanded",e&&t&&!o)}renderBurgerMenu(){return a("div",{class:{"burger-menu":!0,extended:this.burgerMenuExtended,"second-level-open":this.megadropdownOpen},style:{"--post-header-navigation-current-inset":(this.burgerMenu?.scrollTop??0)+"px"},ref:e=>this.burgerMenu=e},this.hasLocalNav&&!this.hasTitle&&a("div",{class:"local-nav"},a("slot",{name:"local-nav"})),a("div",{class:"burger-menu-body"},a("slot",{name:"audience"}),a("slot",{name:"main-nav"})),a("div",{class:"burger-menu-footer"},a("slot",{name:"global-nav-secondary"}),a("slot",{name:"language-menu"})))}render(){const e=o.isServer||"desktop"===this.device,t=o.isServer||"desktop"!==this.device;return a(i,{key:"3a016b6739ecd18aa06908b9afad8687d4a712c1","data-version":c,"data-color-scheme":"light","data-burger-menu":this.hasBurgerMenu,"data-menu-extended":this.burgerMenuExtended},a("header",{key:"7066f5c25151411f0278fd533b94f58c33639734"},a("div",{key:"983c81fbf93d290ea922ef096cd3975dbe50f2cf",class:"global-header"},a("div",{key:"544c383fdaa252e7830ad516817f76c078b5f470",class:"section"},a("div",{key:"c40d977c47523dd9e77189e6cdc6bd2244efd494",class:"logo"},a("slot",{key:"bbf8224f6175164fcfdbd2a3ff82e716e95f2625",name:"post-logo"})),a("div",{key:"12b86a5d0a1e699bea709843dcc1fc5c337c0f5f",class:"sliding-controls"},e&&a("div",{key:"e61e9dd6d8b71c2dc85585474cd8c706298134f7",class:"audience"},a("slot",{key:"cda29d61263c8db64871bbdd024082e7fe85e981",name:"audience"})),a("slot",{key:"003dcc8c02571ae211ae5533bbf497294742b72d",name:"global-nav-primary"}),(e||!this.hasMainNav)&&[a("slot",{key:"b29102d85a0f072f0180fc31a98926e65e8f5787",name:"global-nav-secondary"}),a("slot",{key:"5b026ad48db5d9cd1965d2fe3738a76643221ae9",name:"language-menu"})],a("slot",{key:"689a024322afc2104e904692653aaa29a58f37cb",name:"post-login"}),t&&this.hasMainNav&&a("post-togglebutton",{key:"3abdb29b313a7f87d7a5db4016dbca6c2db245ab",class:"burger-button",ref:e=>this.burgerMenuButton=e,onClick:()=>this.toggleBurgerMenu()},a("span",{key:"dbc87e156c0517bbb248a4a64722a390a80fce4f"},this.textMenu),a("post-icon",{key:"da8b9e64e10d99a2d6f9228fb2646c03392468e2","aria-hidden":"true",name:"burger","data-showwhen":"untoggled"}),a("post-icon",{key:"3122703175ff68eed014a025939a1021fcb39343","aria-hidden":"true",name:"closex","data-showwhen":"toggled"}))))),a("div",{key:"ce46d99d627c827a19b173a566c6000b708c8fc3",ref:e=>this.localHeader=e,class:{"local-header":!0,"megadropdown-open":this.megadropdownOpen}},a("div",{key:"e11916e8674ca5154b3d2926f68f38760ae0a8ed",class:"section"},a("slot",{key:"001da677105c63d3e491af0ce96d9cb44073addd",name:"side-nav"}),a("slot",{key:"1dd01962688baba6001bb1b0d2e6f12a1bd9ecee",name:"title"}),this.hasTitle&&a("slot",{key:"bf80e01e8559b857a86b6c4a47f890c75881c1ac",name:"local-nav"}),e&&a("slot",{key:"9a23f56489ec5183a30db3556a2dc643681ab6d5",name:"main-nav"}),e&&!this.hasTitle&&a("slot",{key:"730782e3a41cb80427ef97a1c452f0de588c62e2",name:"local-nav"}))),this.hasBurgerMenu&&this.renderBurgerMenu()))}get host(){return this}static get watchers(){return{device:[{lockBody:0}],burgerMenuExtended:[{lockBody:0}]}}static get style(){return':host{--post-global-header-top:calc( var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height) );--post-header-top:calc(var(--post-header-reduced-height) - var(--post-header-expanded-height));--post-logo-height:calc( var(--post-global-header-expanded-height) - var(--post-header-scroll-top, 0px) );--post-global-controls-top:clamp( 1000 * (var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height)), calc( -1 * min(var(--post-header-scroll-top, 0px) / 4, var(--post-global-header-reduced-height)) ), 0px )}@media screen and (min-width: 1024px){:host{--post-header-gap:0.25rem;--post-global-header-padding-inline-start:0.25rem;--post-global-header-padding-inline-end:0.5rem;--post-local-header-padding-inline-start:0.75rem;--post-local-header-padding-inline-end:0.5rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){:host{--post-header-gap:0.75rem 0.25rem;--post-global-header-padding-inline-start:0.25rem;--post-global-header-padding-inline-end:0.25rem;--post-local-header-padding-inline-start:0.75rem;--post-local-header-padding-inline-end:0.25rem;--post-local-header-padding-block:0.75rem;--post-burger-menu-padding-inline:2.5rem;--post-burger-menu-body-gap:2rem;--post-burger-menu-footer-gap:1.5rem}}@media screen and (min-width: 600px)and (max-width: 779.98px){:host{--post-burger-menu-padding-inline:1rem}}@media screen and (min-width: 0)and (max-width: 599.98px){:host{--post-header-gap:0.75rem 0.25rem;--post-global-header-padding-inline-start:0rem;--post-global-header-padding-inline-end:0.5rem;--post-local-header-padding-inline-start:0.5rem;--post-local-header-padding-inline-end:0.5rem;--post-local-header-padding-block:0.5rem;--post-burger-menu-padding-inline:1rem;--post-burger-menu-body-gap:1.5rem;--post-burger-menu-footer-gap:1rem}}:host(:not([full-width])),:host([full-width=false]){--post-header-content-max-width:1440px}:host([data-expanded]),:host([data-menu-extended]){--post-header-top:0;--post-global-header-top:-0.001px;--post-global-controls-top:0;--post-global-header-reduced-height:var(--post-global-header-expanded-height)}*,::before,::after{box-sizing:border-box}:host,header,.global-header,.local-header{transition:inset-block-start 150ms cubic-bezier(0.4, 0, 0.2, 1)}.section,.sliding-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--post-header-gap);flex-wrap:wrap}.section{max-width:var(--post-header-content-max-width);margin-inline:auto}:host{display:block;position:sticky;inset-block-start:var(--post-header-top);z-index:1020;box-shadow:var(--post-device-elevation-300)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host{border-bottom:1px solid}}.global-header{z-index:2;position:sticky;inset-block-start:var(--post-global-header-top);background-color:#fc0}.global-header .section{height:var(--post-global-header-expanded-height);padding-inline-start:var(--post-global-header-padding-inline-start);padding-inline-end:var(--post-global-header-padding-inline-end)}.global-header .logo{align-self:flex-end;width:var(--post-global-header-expanded-height);height:var(--post-logo-height);min-height:var(--post-global-header-reduced-height);max-height:100%;margin-inline-end:calc(1.25rem - var(--post-header-gap));margin-inline-start:clamp(var(--post-logo-expanded-offset),var(--post-logo-expanded-offset) + (var(--post-logo-reduced-offset) - var(--post-logo-expanded-offset))*min(var(--post-header-scroll-top, 0px),var(--post-global-header-expanded-height) - var(--post-global-header-reduced-height))/max(1px,var(--post-global-header-expanded-height) - var(--post-global-header-reduced-height)),var(--post-logo-reduced-offset))}.global-header .sliding-controls{flex-grow:1;justify-content:flex-end;position:relative;inset-block-start:var(--post-global-controls-top)}.global-header .audience{margin-inline-end:auto}@media screen and (max-width: 1023.98px){.global-header slot:where([name=audience],[name=global-nav-secondary]){display:none}}.local-header{position:relative;background-color:#fff;min-height:var(--post-local-header-expanded-min-height);display:var(--post-local-header-display, flex);align-items:var(--post-local-header-align-items, center)}.local-header .section{width:100%;padding-inline-start:var(--post-local-header-padding-inline-start);padding-inline-end:var(--post-local-header-padding-inline-end);padding-block:var(--post-local-header-padding-block)}@media screen and (min-width: 1024px){.local-header .section{display:grid;grid-template:var(--post-local-header-grid-template)}}@media screen and (max-width: 1023.98px){.local-header .section{display:flex;align-self:center}}@media screen and (max-width: 1023.98px)and (max-width: 599.98px){.local-header .section{justify-content:end}}.local-header:where(.megadropdown-open)::after,.local-header:has(~.burger-menu.extended)::after{content:"";display:block;position:absolute;inset-inline:0;inset-block-end:0;height:1px;background-color:#e1e0dc}.local-header .local-nav{flex:0 0 auto}@media screen and (max-width: 1023.98px){.local-header slot[name=main-nav]{display:none}}.burger-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);display:var(--post-burger-button-display, flex)}.burger-button:not(:disabled):hover{text-decoration:none}.burger-button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.burger-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}.burger-button: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){.burger-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.burger-button: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){.burger-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.burger-button:is(a){color:LinkText;border:unset}.burger-button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.burger-button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.burger-button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.burger-button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.burger-button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}.burger-button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}@media screen and (min-width: 0)and (max-width: 599.98px){.burger-button{padding:.625rem}.burger-button>:not(post-icon){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.burger-button>post-icon{font-size:1.5rem}}@media screen and (min-width: 1024px){.burger-button{display:none}}.burger-menu{z-index:-1;position:absolute;inset-inline:0;inset-block-start:100%;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));overflow:hidden auto;display:flex;flex-direction:column;background-color:#fafafa}.burger-menu.extended.second-level-open{overflow:hidden}.burger-menu:not(.extended){transform:translateY(-100%);display:none}.burger-menu:not(.extended)>*{display:none}.burger-menu .burger-menu-body,.burger-menu .burger-menu-footer{display:flex;flex-direction:column;padding-inline:var(--post-burger-menu-padding-inline)}.burger-menu .burger-menu-body{flex-grow:1;padding-block:1.5rem;gap:var(--post-burger-menu-body-gap)}.burger-menu .burger-menu-footer{background-color:#f0efed;padding-block:1rem 1.5rem;gap:var(--post-burger-menu-footer-gap)}.burger-menu .local-nav{min-height:3.5rem;display:flex;align-items:center;justify-content:flex-end;padding-inline:.25rem}'}},[257,"post-header",{fullWidth:[516,"full-width"],textMenu:[513,"text-menu"],device:[32],hasTitle:[32],hasMainNav:[32],hasLocalNav:[32],burgerMenuExtended:[32],megadropdownOpen:[32],toggleBurgerMenu:[64]},[[0,"focusin","onFocusChange"],[0,"focusout","onFocusChange"]],{device:[{lockBody:0}],burgerMenuExtended:[{lockBody:0}]}]);m([b(),u("boolean")],f.prototype,"fullWidth",void 0),m([b(),u("string")],f.prototype,"textMenu",void 0),m([l("post-megadropdown")],f.prototype,"megadropdownStateHandler",null);const v=f,x=function(){"undefined"!=typeof customElements&&["post-header","post-icon","post-togglebutton"].forEach((e=>{switch(e){case"post-header":customElements.get(s(e))||customElements.define(s(e),f);break;case"post-icon":customElements.get(s(e))||p();break;case"post-togglebutton":customElements.get(s(e))||g()}}))};export{v as PostHeader,x as defineCustomElement}
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as t,Build as o,h as a,Host as i,transformTag as s}from"@stencil/core/internal/client";import{f as r}from"./fade.js";import{t as n,b as d}from"./breakpoints.js";import{E as l}from"./event-from.js";import{a as h}from"./get-focusable-children.js";import{v as c}from"./package.js";import{d as p}from"./post-icon2.js";import{d as g}from"./post-togglebutton2.js";import{R as b}from"./required.js";import{T as u}from"./type.js";var m=function(e,t,o,a){var i,s=arguments.length,r=s<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,o):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,o,a);else for(var n=e.length-1;n>=0;n--)(i=e[n])&&(r=(s<3?i(r):s>3?i(t,o,r):i(t,o))||r);return s>3&&r&&Object.defineProperty(t,o,r),r};const f=e(class extends t{get hasBurgerMenu(){return"desktop"!==this.device&&this.hasMainNav}get scrollParent(){const e=document.querySelector("[data-post-scroll-locked]");if(e)return e;let t=this.host.parentElement;for(;t;){const e=getComputedStyle(t).overflowY;if(["auto","scroll"].includes(e))return t;t=t.parentElement}return document.body}lockBody(e,t,o){const a=this.scrollParent;"desktop"!==this.device&&("burgerMenuExtended"===o?e:this.burgerMenuExtended)?(a.dataset.postScrollLocked="",this.host.addEventListener("keydown",this.keyboardHandler)):(delete a.dataset.postScrollLocked,this.host.removeEventListener("keydown",this.keyboardHandler))}constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.throttledResize=n(50,(()=>this.updateLocalHeaderHeight())),this.animationOptions={duration:350,easing:"headerEase"},this.device=d.get("device"),this.hasTitle=!0,this.hasMainNav=!0,this.hasLocalNav=!0,this.burgerMenuExtended=!1,this.megadropdownOpen=!1,this.fullWidth=!1,this.breakpointChange=e=>{const t=this.device;this.device=e.detail,this.switchLanguageSwitchMode();const o="desktop"===this.device;"desktop"===t&&"desktop"!==this.device&&this.megadropdownOpen&&(this.burgerMenuExtended=!0),o&&this.burgerMenuExtended&&this.closeBurgerMenu()},this.handleScrollEvent=this.handleScrollEvent.bind(this),this.updateScrollParentHeight=this.updateScrollParentHeight.bind(this),this.updateLocalHeaderHeight=this.updateLocalHeaderHeight.bind(this),this.keyboardHandler=this.keyboardHandler.bind(this),this.handleLinkClick=this.handleLinkClick.bind(this),this.megadropdownStateHandler=this.megadropdownStateHandler.bind(this),this.checkSlottedContent=this.checkSlottedContent.bind(this),this.megadropdownStateHandler=this.megadropdownStateHandler.bind(this)}connectedCallback(){globalThis.addEventListener("resize",this.throttledResize,{passive:!0}),globalThis.addEventListener("scroll",this.handleScrollEvent,{passive:!0}),this.scrollParent.addEventListener("scroll",this.handleScrollEvent,{passive:!0}),document.addEventListener("postToggleMegadropdown",this.megadropdownStateHandler),globalThis.addEventListener("postBreakpoint:device",this.breakpointChange),this.handleScrollParentResize(),this.lockBody(!1,this.burgerMenuExtended,"burgerMenuExtended")}componentWillRender(){this.handleScrollEvent(),this.handleSlottedContentChanges(),this.switchLanguageSwitchMode()}componentDidRender(){this.getFocusableElements(),this.handleLocalHeaderResize(),this.burgerMenuButton&&this.burgerMenuButton.toggled!==this.burgerMenuExtended&&(this.burgerMenuButton.toggled=this.burgerMenuExtended)}componentDidLoad(){this.updateLocalHeaderHeight(),this.host.shadowRoot.addEventListener("click",this.handleLinkClick)}disconnectedCallback(){const e=this.scrollParent;globalThis.removeEventListener("postBreakpoint:device",this.breakpointChange),globalThis.removeEventListener("resize",this.throttledResize),globalThis.removeEventListener("scroll",this.handleScrollEvent),e&&e.removeEventListener("scroll",this.handleScrollEvent),document.removeEventListener("postToggleMegadropdown",this.megadropdownStateHandler),this.host.removeEventListener("keydown",this.keyboardHandler),this.host.shadowRoot&&this.host.shadowRoot.removeEventListener("click",this.handleLinkClick),this.scrollParentResizeObserver&&(this.scrollParentResizeObserver.disconnect(),this.scrollParentResizeObserver=null),this.localHeaderResizeObserver&&(this.localHeaderResizeObserver.disconnect(),this.localHeaderResizeObserver=null),this.slottedContentObserver&&(this.slottedContentObserver.disconnect(),this.slottedContentObserver=null),this.burgerMenuExtended=!1}async closeBurgerMenu(){this.burgerMenuAnimation?.finish(),this.burgerMenuButton&&(this.burgerMenuButton.toggled=!1),this.burgerMenuExtended=!1}async toggleBurgerMenu(e=!this.burgerMenuExtended){"desktop"!==this.device&&e!==this.burgerMenuExtended&&(this.burgerMenuAnimation=r(this.burgerMenu,this.burgerMenuExtended?"out":"in",this.animationOptions),this.burgerMenuButton&&this.burgerMenuButton.toggled!==e&&(this.burgerMenuButton.toggled=e),this.burgerMenuExtended?(await this.burgerMenuAnimation.finished,this.burgerMenuExtended=e,!1===this.burgerMenuExtended&&(this.closeAllMegadropdowns(),this.burgerMenu.scrollTop=0)):(this.burgerMenuExtended=e,this.megadropdownOpen&&this.closeAllMegadropdowns()))}megadropdownStateHandler(e){this.megadropdownOpen=e.detail.isVisible}getFocusableElements(){if(!this.burgerMenu)return;const e=[this.burgerMenuButton];e.push(...h(this.localHeader,(e=>!e.matches("post-megadropdown"))),...h(this.burgerMenu,(e=>!e.matches("post-megadropdown")))),this.firstFocusableEl=e[0],this.lastFocusableEl=e.at(-1)}keyboardHandler(e){if("Tab"!==e.key||!this.burgerMenuExtended)return;const t=this.host.shadowRoot.activeElement||document.activeElement;e.shiftKey&&t===this.firstFocusableEl?(e.preventDefault(),this.lastFocusableEl.focus()):e.shiftKey||t!==this.lastFocusableEl||(e.preventDefault(),this.firstFocusableEl.focus())}closeAllMegadropdowns(){Array.from(this.host.querySelectorAll("post-megadropdown")).forEach((e=>{e.hide(!1,!0)})),this.megadropdownOpen=!1}handleScrollEvent(){const e=this.scrollParent===document.body?window.scrollY:this.scrollParent.scrollTop;document.documentElement.style.setProperty("--post-header-scroll-top",Math.max(e,0)+"px")}updateLocalHeaderHeight(){const e=this.host.shadowRoot.querySelector(".local-header");e&&document.documentElement.style.setProperty("--post-local-header-expanded-height",e.clientHeight+"px")}updateScrollParentHeight(){this.host.style.setProperty("--post-header-scroll-parent-height",this.scrollParent.clientHeight+"px")}handleLinkClick(e){const t=e.target,o=t.closest("post-mainnavigation a"),a=t.closest("post-megadropdown a");(o||a)&&(this.burgerMenuExtended&&(o||a)&&this.toggleBurgerMenu(!1),"desktop"===this.device&&a)&&t.closest("post-megadropdown a")&&t.closest("post-megadropdown").hide(!0)}handleScrollParentResize(){this.scrollParent&&(this.scrollParentResizeObserver=new ResizeObserver(this.updateScrollParentHeight),this.scrollParentResizeObserver.observe(this.scrollParent))}handleLocalHeaderResize(){const e=this.host.shadowRoot.querySelector(".local-header");e&&!this.localHeaderResizeObserver&&(this.localHeaderResizeObserver=new ResizeObserver(this.updateLocalHeaderHeight),this.localHeaderResizeObserver.observe(e))}handleSlottedContentChanges(){this.slottedContentObserver||(this.checkSlottedContent(),this.slottedContentObserver=new MutationObserver(this.checkSlottedContent),this.slottedContentObserver.observe(this.host,{childList:!0}))}checkSlottedContent(){o.isServer||(this.hasTitle=!!this.host.querySelector('[slot="title"]'),this.hasMainNav=!!this.host.querySelector('[slot="main-nav"]'),this.hasLocalNav=!!this.host.querySelector('[slot="local-nav"]'))}switchLanguageSwitchMode(){const e=this.hasBurgerMenu?"list":"menu";Array.from(this.host.querySelectorAll("post-language-menu")).forEach((t=>{t?.setAttribute("variant",e)}))}onFocusChange(){const e=document.activeElement?.matches(":focus-visible"),t=this.host.matches(":focus-within"),o="desktop"===this.device?!!this.host.querySelector("post-mainnavigation:focus-within"):!!this.host.shadowRoot?.querySelector(":is(.global-header, .burger-menu):focus-within");this.host.toggleAttribute("data-expanded",e&&t&&!o)}renderBurgerMenu(){return a("div",{class:{"burger-menu":!0,extended:this.burgerMenuExtended,"second-level-open":this.megadropdownOpen},style:{"--post-header-navigation-current-inset":(this.burgerMenu?.scrollTop??0)+"px"},ref:e=>this.burgerMenu=e},this.hasLocalNav&&!this.hasTitle&&a("div",{class:"local-nav"},a("slot",{name:"local-nav"})),a("div",{class:"burger-menu-body"},a("slot",{name:"audience"}),a("slot",{name:"main-nav"})),a("div",{class:"burger-menu-footer"},a("slot",{name:"global-nav-secondary"}),a("slot",{name:"language-menu"})))}render(){const e=o.isServer||"desktop"===this.device,t=o.isServer||"desktop"!==this.device;return a(i,{key:"3a016b6739ecd18aa06908b9afad8687d4a712c1","data-version":c,"data-color-scheme":"light","data-burger-menu":this.hasBurgerMenu,"data-menu-extended":this.burgerMenuExtended},a("header",{key:"7066f5c25151411f0278fd533b94f58c33639734"},a("div",{key:"983c81fbf93d290ea922ef096cd3975dbe50f2cf",class:"global-header"},a("div",{key:"544c383fdaa252e7830ad516817f76c078b5f470",class:"section"},a("div",{key:"c40d977c47523dd9e77189e6cdc6bd2244efd494",class:"logo"},a("slot",{key:"bbf8224f6175164fcfdbd2a3ff82e716e95f2625",name:"post-logo"})),a("div",{key:"12b86a5d0a1e699bea709843dcc1fc5c337c0f5f",class:"sliding-controls"},e&&a("div",{key:"e61e9dd6d8b71c2dc85585474cd8c706298134f7",class:"audience"},a("slot",{key:"cda29d61263c8db64871bbdd024082e7fe85e981",name:"audience"})),a("slot",{key:"003dcc8c02571ae211ae5533bbf497294742b72d",name:"global-nav-primary"}),(e||!this.hasMainNav)&&[a("slot",{key:"b29102d85a0f072f0180fc31a98926e65e8f5787",name:"global-nav-secondary"}),a("slot",{key:"5b026ad48db5d9cd1965d2fe3738a76643221ae9",name:"language-menu"})],a("slot",{key:"689a024322afc2104e904692653aaa29a58f37cb",name:"post-login"}),t&&this.hasMainNav&&a("post-togglebutton",{key:"3abdb29b313a7f87d7a5db4016dbca6c2db245ab",class:"burger-button",ref:e=>this.burgerMenuButton=e,onClick:()=>this.toggleBurgerMenu()},a("span",{key:"dbc87e156c0517bbb248a4a64722a390a80fce4f"},this.textMenu),a("post-icon",{key:"da8b9e64e10d99a2d6f9228fb2646c03392468e2","aria-hidden":"true",name:"burger","data-showwhen":"untoggled"}),a("post-icon",{key:"3122703175ff68eed014a025939a1021fcb39343","aria-hidden":"true",name:"closex","data-showwhen":"toggled"}))))),a("div",{key:"ce46d99d627c827a19b173a566c6000b708c8fc3",ref:e=>this.localHeader=e,class:{"local-header":!0,"megadropdown-open":this.megadropdownOpen}},a("div",{key:"e11916e8674ca5154b3d2926f68f38760ae0a8ed",class:"section"},a("slot",{key:"001da677105c63d3e491af0ce96d9cb44073addd",name:"side-nav"}),a("slot",{key:"1dd01962688baba6001bb1b0d2e6f12a1bd9ecee",name:"title"}),this.hasTitle&&a("slot",{key:"bf80e01e8559b857a86b6c4a47f890c75881c1ac",name:"local-nav"}),e&&a("slot",{key:"9a23f56489ec5183a30db3556a2dc643681ab6d5",name:"main-nav"}),e&&!this.hasTitle&&a("slot",{key:"730782e3a41cb80427ef97a1c452f0de588c62e2",name:"local-nav"}))),this.hasBurgerMenu&&this.renderBurgerMenu()))}get host(){return this}static get watchers(){return{device:[{lockBody:0}],burgerMenuExtended:[{lockBody:0}]}}static get style(){return':host{--post-global-header-top:calc( var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height) );--post-header-top:calc(var(--post-header-reduced-height) - var(--post-header-expanded-height));--post-logo-height:calc( var(--post-global-header-expanded-height) - var(--post-header-scroll-top, 0px) );--post-global-controls-top:clamp( 1000 * (var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height)), calc( -1 * min(var(--post-header-scroll-top, 0px) / 4, var(--post-global-header-reduced-height)) ), 0px )}@media screen and (min-width: 1024px){:host{--post-header-gap:0.5rem;--post-global-header-padding-inline-start:0.25rem;--post-global-header-padding-inline-end:0.5rem;--post-local-header-padding-inline-start:0.75rem;--post-local-header-padding-inline-end:0.5rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){:host{--post-header-gap:0.75rem 0.25rem;--post-global-header-padding-inline-start:0.25rem;--post-global-header-padding-inline-end:0.25rem;--post-local-header-padding-inline-start:0.75rem;--post-local-header-padding-inline-end:0.25rem;--post-local-header-padding-block:0.75rem;--post-burger-menu-padding-inline:2.5rem;--post-burger-menu-body-gap:2rem;--post-burger-menu-footer-gap:1.5rem}}@media screen and (min-width: 600px)and (max-width: 779.98px){:host{--post-burger-menu-padding-inline:1rem}}@media screen and (min-width: 0)and (max-width: 599.98px){:host{--post-header-gap:0.75rem 0.25rem;--post-global-header-padding-inline-start:0rem;--post-global-header-padding-inline-end:0.5rem;--post-local-header-padding-inline-start:0.5rem;--post-local-header-padding-inline-end:0.5rem;--post-local-header-padding-block:0.5rem;--post-burger-menu-padding-inline:1rem;--post-burger-menu-body-gap:1.5rem;--post-burger-menu-footer-gap:1rem}}:host(:not([full-width])),:host([full-width=false]){--post-header-content-max-width:1440px}:host([data-expanded]),:host([data-menu-extended]){--post-header-top:0;--post-global-header-top:-0.001px;--post-global-controls-top:0;--post-global-header-reduced-height:var(--post-global-header-expanded-height)}*,::before,::after{box-sizing:border-box}:host,header,.global-header,.local-header{transition:inset-block-start 150ms cubic-bezier(0.4, 0, 0.2, 1)}.section,.sliding-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--post-header-gap);flex-wrap:wrap}.section{max-width:var(--post-header-content-max-width);margin-inline:auto}:host{display:block;position:sticky;inset-block-start:var(--post-header-top);z-index:1020;box-shadow:var(--post-device-elevation-300)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host{border-bottom:1px solid}}.global-header{z-index:2;position:sticky;inset-block-start:var(--post-global-header-top);background-color:#fc0}.global-header .section{height:var(--post-global-header-expanded-height);padding-inline-start:var(--post-global-header-padding-inline-start);padding-inline-end:var(--post-global-header-padding-inline-end)}.global-header .logo{align-self:flex-end;width:var(--post-global-header-expanded-height);height:var(--post-logo-height);min-height:var(--post-global-header-reduced-height);max-height:100%;margin-inline-end:calc(1.25rem - var(--post-header-gap));margin-inline-start:clamp(var(--post-logo-expanded-offset),var(--post-logo-expanded-offset) + (var(--post-logo-reduced-offset) - var(--post-logo-expanded-offset))*min(var(--post-header-scroll-top, 0px),var(--post-global-header-expanded-height) - var(--post-global-header-reduced-height))/max(1px,var(--post-global-header-expanded-height) - var(--post-global-header-reduced-height)),var(--post-logo-reduced-offset))}.global-header .sliding-controls{flex-grow:1;justify-content:flex-end;position:relative;inset-block-start:var(--post-global-controls-top)}.global-header .audience{margin-inline-end:auto}@media screen and (max-width: 1023.98px){.global-header slot:where([name=audience],[name=global-nav-secondary]){display:none}}.local-header{position:relative;background-color:#fff;min-height:var(--post-local-header-expanded-min-height);display:var(--post-local-header-display, flex);align-items:var(--post-local-header-align-items, center)}.local-header .section{width:100%;padding-inline-start:var(--post-local-header-padding-inline-start);padding-inline-end:var(--post-local-header-padding-inline-end);padding-block:var(--post-local-header-padding-block)}@media screen and (min-width: 1024px){.local-header .section{display:grid;grid-template:var(--post-local-header-grid-template)}}@media screen and (max-width: 1023.98px){.local-header .section{display:flex;align-self:center}}@media screen and (max-width: 1023.98px)and (max-width: 599.98px){.local-header .section{justify-content:end}}.local-header:where(.megadropdown-open)::after,.local-header:has(~.burger-menu.extended)::after{content:"";display:block;position:absolute;inset-inline:0;inset-block-end:0;height:1px;background-color:#e1e0dc}.local-header .local-nav{flex:0 0 auto}@media screen and (max-width: 1023.98px){.local-header slot[name=main-nav]{display:none}}.burger-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);display:var(--post-burger-button-display, flex)}.burger-button:not(:disabled):hover{text-decoration:none}.burger-button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.burger-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}.burger-button: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){.burger-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.burger-button: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){.burger-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.burger-button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.burger-button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.burger-button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.burger-button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.burger-button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}.burger-button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}@media screen and (min-width: 0)and (max-width: 599.98px){.burger-button{padding:.625rem}.burger-button>:not(post-icon){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.burger-button>post-icon{font-size:1.5rem}}@media screen and (min-width: 1024px){.burger-button{display:none}}.burger-menu{z-index:-1;position:absolute;inset-inline:0;inset-block-start:100%;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));overflow:hidden auto;display:flex;flex-direction:column;background-color:#fafafa}.burger-menu.extended.second-level-open{overflow:hidden}.burger-menu:not(.extended){transform:translateY(-100%);display:none}.burger-menu:not(.extended)>*{display:none}.burger-menu .burger-menu-body,.burger-menu .burger-menu-footer{display:flex;flex-direction:column;padding-inline:var(--post-burger-menu-padding-inline)}.burger-menu .burger-menu-body{flex-grow:1;padding-block:1.5rem;gap:var(--post-burger-menu-body-gap)}.burger-menu .burger-menu-footer{background-color:#f0efed;padding-block:1rem 1.5rem;gap:var(--post-burger-menu-footer-gap)}.burger-menu .local-nav{min-height:3.5rem;display:flex;align-items:center;justify-content:flex-end;padding-inline:.25rem}'}},[257,"post-header",{fullWidth:[516,"full-width"],textMenu:[513,"text-menu"],device:[32],hasTitle:[32],hasMainNav:[32],hasLocalNav:[32],burgerMenuExtended:[32],megadropdownOpen:[32],toggleBurgerMenu:[64]},[[0,"focusin","onFocusChange"],[0,"focusout","onFocusChange"]],{device:[{lockBody:0}],burgerMenuExtended:[{lockBody:0}]}]);m([b(),u("boolean")],f.prototype,"fullWidth",void 0),m([b(),u("string")],f.prototype,"textMenu",void 0),m([l("post-megadropdown")],f.prototype,"megadropdownStateHandler",null);const v=f,x=function(){"undefined"!=typeof customElements&&["post-header","post-icon","post-togglebutton"].forEach((e=>{switch(e){case"post-header":customElements.get(s(e))||customElements.define(s(e),f);break;case"post-icon":customElements.get(s(e))||p();break;case"post-togglebutton":customElements.get(s(e))||g()}}))};export{v as PostHeader,x as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as t,h as o,Host as r,transformTag as i}from"@stencil/core/internal/client";import"./breakpoints.js";import{E as a}from"./event-from.js";import{n}from"./nanoid.js";import{v as s}from"./package.js";import{S as c}from"./switch-variants.js";import{d as l}from"./post-icon2.js";import{d as u}from"./post-menu2.js";import{d as g}from"./post-menu-trigger2.js";import{d as p}from"./post-popovercontainer2.js";import{R as d}from"./required.js";import{T as m}from"./type.js";import{P as h}from"./pattern.js";import{O as v}from"./one-of.js";var b=function(e,t,o,r){var i,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(n=(a<3?i(n):a>3?i(t,o,n):i(t,o))||n);return a>3&&n&&Object.defineProperty(t,o,n),n};const f=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.menuId="p"+n(11),this.listSpanId="list-span-"+n(11),this.variant="menu"}get languageOptions(){return Array.from(this.host.querySelectorAll("post-language-menu-item"))}handleVariantChange(){this.updateChildrenVariant()}get description(){const e=this.activeLang&&document.querySelector(`post-language-menu-item[code="${this.activeLang}"]`);if(e)return this.textCurrentLanguage.replaceAll("{name}",e.name).replaceAll("#name",e.name)}componentDidLoad(){this.updateChildrenVariant()}handlePostChange(e){this.activeLang=e.detail,this.languageOptions.forEach((e=>{e.code&&e.code===this.activeLang?e.setAttribute("active",""):e.removeAttribute("active")})),"menu"===this.variant&&this.host.shadowRoot.querySelector("post-menu").hide()}hideMenuOnScroll(){this.menu&&this.menu.hide()}handleInitiallyActive(e){this.activeLang=e.detail}updateChildrenVariant(){this.languageOptions.forEach((e=>{e.setAttribute("variant",this.variant)}))}renderList(){return o(r,{"data-version":s},o("div",{class:"post-language-menu-list",role:"list","aria-label":this.textChangeLanguage,"aria-describedby":this.listSpanId},o("span",{id:this.listSpanId,class:"visually-hidden"},this.description),o("slot",null)))}renderDropdown(){return o(r,{"data-version":s},o("post-menu-trigger",{for:this.menuId},o("button",{class:"post-language-menu-trigger"},this.activeLang,o("span",{class:"visually-hidden"},this.textChangeLanguage),o("span",{class:"visually-hidden"},this.description),o("post-icon",{"aria-hidden":"true",name:"chevrondown"}))),o("post-menu",{ref:e=>this.menu=e,id:this.menuId,class:"post-language-menu-dropdown-container",label:this.textChangeLanguage,placement:"bottom-end"},o("slot",null)))}render(){return"list"===this.variant?this.renderList():this.renderDropdown()}get host(){return this}static get watchers(){return{variant:[{handleVariantChange:0}]}}static get style(){return":host{display:flex}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.post-language-menu-dropdown-container{display:flex;flex-direction:column}.post-language-menu-trigger{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);text-transform:uppercase;cursor:pointer}.post-language-menu-trigger:not(:disabled):hover{text-decoration:none}.post-language-menu-trigger:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.post-language-menu-trigger{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}.post-language-menu-trigger: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){.post-language-menu-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-menu-trigger: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){.post-language-menu-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-menu-trigger:is(
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as t,h as o,Host as r,transformTag as i}from"@stencil/core/internal/client";import"./breakpoints.js";import{E as a}from"./event-from.js";import{n}from"./nanoid.js";import{v as s}from"./package.js";import{S as c}from"./switch-variants.js";import{d as l}from"./post-icon2.js";import{d as u}from"./post-menu2.js";import{d as g}from"./post-menu-trigger2.js";import{d as p}from"./post-popovercontainer2.js";import{R as d}from"./required.js";import{T as m}from"./type.js";import{P as h}from"./pattern.js";import{O as v}from"./one-of.js";var b=function(e,t,o,r){var i,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(n=(a<3?i(n):a>3?i(t,o,n):i(t,o))||n);return a>3&&n&&Object.defineProperty(t,o,n),n};const f=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.menuId="p"+n(11),this.listSpanId="list-span-"+n(11),this.variant="menu"}get languageOptions(){return Array.from(this.host.querySelectorAll("post-language-menu-item"))}handleVariantChange(){this.updateChildrenVariant()}get description(){const e=this.activeLang&&document.querySelector(`post-language-menu-item[code="${this.activeLang}"]`);if(e)return this.textCurrentLanguage.replaceAll("{name}",e.name).replaceAll("#name",e.name)}componentDidLoad(){this.updateChildrenVariant()}handlePostChange(e){this.activeLang=e.detail,this.languageOptions.forEach((e=>{e.code&&e.code===this.activeLang?e.setAttribute("active",""):e.removeAttribute("active")})),"menu"===this.variant&&this.host.shadowRoot.querySelector("post-menu").hide()}hideMenuOnScroll(){this.menu&&this.menu.hide()}handleInitiallyActive(e){this.activeLang=e.detail}updateChildrenVariant(){this.languageOptions.forEach((e=>{e.setAttribute("variant",this.variant)}))}renderList(){return o(r,{"data-version":s},o("div",{class:"post-language-menu-list",role:"list","aria-label":this.textChangeLanguage,"aria-describedby":this.listSpanId},o("span",{id:this.listSpanId,class:"visually-hidden"},this.description),o("slot",null)))}renderDropdown(){return o(r,{"data-version":s},o("post-menu-trigger",{for:this.menuId},o("button",{class:"post-language-menu-trigger"},this.activeLang,o("span",{class:"visually-hidden"},this.textChangeLanguage),o("span",{class:"visually-hidden"},this.description),o("post-icon",{"aria-hidden":"true",name:"chevrondown"}))),o("post-menu",{ref:e=>this.menu=e,id:this.menuId,class:"post-language-menu-dropdown-container",label:this.textChangeLanguage,placement:"bottom-end"},o("slot",null)))}render(){return"list"===this.variant?this.renderList():this.renderDropdown()}get host(){return this}static get watchers(){return{variant:[{handleVariantChange:0}]}}static get style(){return":host{display:flex}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.post-language-menu-dropdown-container{display:flex;flex-direction:column}.post-language-menu-trigger{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);text-transform:uppercase;line-height:inherit;cursor:pointer}.post-language-menu-trigger:not(:disabled):hover{text-decoration:none}.post-language-menu-trigger:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.post-language-menu-trigger{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}.post-language-menu-trigger: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){.post-language-menu-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-menu-trigger: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){.post-language-menu-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-menu-trigger:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.post-language-menu-trigger:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.post-language-menu-trigger:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.post-language-menu-trigger:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}.post-language-menu-trigger post-icon{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true]) post-icon{transform:rotate(180deg)}.post-language-menu-list{display:flex;gap:.5rem;margin-top:1rem}"}},[257,"post-language-menu",{textChangeLanguage:[513,"text-change-language"],textCurrentLanguage:[513,"text-current-language"],variant:[513],activeLang:[32]},[[0,"postChange","handlePostChange"],[7,"scroll","hideMenuOnScroll"],[0,"postLanguageMenuItemInitiallyActive","handleInitiallyActive"]],{variant:[{handleVariantChange:0}]}]);b([d(),m("string")],f.prototype,"textChangeLanguage",void 0),b([d(),h(/(\{name\}|#name)/)],f.prototype,"textCurrentLanguage",void 0),b([v(c)],f.prototype,"variant",void 0),b([a("post-language-menu-item")],f.prototype,"handlePostChange",null);const y=f,x=function(){"undefined"!=typeof customElements&&["post-language-menu","post-icon","post-menu","post-menu-trigger","post-popovercontainer"].forEach((e=>{switch(e){case"post-language-menu":customElements.get(i(e))||customElements.define(i(e),f);break;case"post-icon":customElements.get(i(e))||l();break;case"post-menu":customElements.get(i(e))||u();break;case"post-menu-trigger":customElements.get(i(e))||g();break;case"post-popovercontainer":customElements.get(i(e))||p()}}))};export{y as PostLanguageMenu,x as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as t,Build as o,h as r,Host as i,transformTag as s}from"@stencil/core/internal/client";import"./breakpoints.js";import{E as n}from"./event-from.js";import{v as a}from"./package.js";import{d as c}from"./post-icon2.js";import{R as d}from"./required.js";import{T as u}from"./type.js";var l=function(e,t,o,r){var i,s=arguments.length,n=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(n=(s<3?i(n):s>3?i(t,o,n):i(t,o))||n);return s>3&&n&&Object.defineProperty(t,o,n),n};const p=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.isMegadropdownExpanded=!1,this.slottedContent=null,this.active=!1}componentWillRender(){this.handleSlottedContentChanges()}disconnectedCallback(){this.mutationObserver&&this.mutationObserver.disconnect()}onMegadropdownToggled(e){if(e.target.id===this.for){const t=this.isMegadropdownExpanded;if(this.isMegadropdownExpanded=e.detail.isVisible,!t||this.isMegadropdownExpanded||!e.detail.focusParent)return;setTimeout((()=>{this.interactiveButton.focus()}),100)}}get megadropdown(){const e=document.getElementById(this.for);return"post-megadropdown"!==e?.localName?(console.warn("No post-megadropdown found with ID: "+this.for),null):e}handleSlottedContentChanges(){o.isServer||(this.cloneSlottedButton(),this.mutationObserver=new MutationObserver(this.cloneSlottedButton.bind(this)),this.mutationObserver.observe(this.host,{childList:!0,subtree:!0}))}cloneSlottedButton(){this.slottedContent=this.host.innerHTML}onClick(){this.megadropdown?.toggle()}onKeyDown(e){"Enter"!==e.key&&" "!==e.key||this.megadropdown&&(e.preventDefault(),this.megadropdown.toggle())}render(){return r(i,{key:"40d8afcb6b0ec482c0a13f7b78493a66243e03a5","data-version":a},r("button",{key:"6c1362cd4e1af22d26cf9ae74af4092cd083360c",ref:e=>this.interactiveButton=e,type:"button","aria-haspopup":"menu","aria-expanded":""+this.isMegadropdownExpanded,onClick:this.onClick.bind(this),onKeyDown:this.onKeyDown.bind(this),class:{active:this.active}},r("span",{key:"6bd7d94da2055c1c6fb933402f2478a3cee12cc7"},r("span",{key:"8109bdcc23c4a0f8c0861b774a974dde75b464f3",innerHTML:this.slottedContent}),r("span",{key:"edd54adde0d7af4eb9cf7796183d01705d217500","aria-hidden":"true"},r("slot",{key:"dbcc08bb882273f1074dd8963a4b86f67deb0c0a"}))),r("post-icon",{key:"7437573a492181cc3e5ddd59ac3695dc94d43e09",name:"chevrondown"})))}get host(){return this}static get style(){return'button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg)}button:not(:disabled):hover{text-decoration:none}button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}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}button: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){button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){button: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){button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){button:is(a){color:LinkText;border:unset}button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}button{--post-nav-item-border-width:1px;width:100%;justify-content:start;position:relative;padding:.75rem .75rem calc(.75rem - var(--post-nav-item-border-width)) .5rem;gap:1rem;border-radius:0;line-height:1.5;outline-color:currentColor !important;border-bottom:var(--post-nav-item-border-width) solid currentColor;height:100%}button:hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg);border-bottom-color:rgba(0,0,0,0)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:none}button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline:none !important}button:is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{content:"";position:absolute;inset:calc(-1*var(--post-device-spacing-padding-28));border-width:var(--post-device-border-width-focus);border-style:var(--post-core-border-style-solid);border-color:var(--post-scheme-color-interactive-focus-stroke);border-radius:var(--post-device-border-radius-focus);pointer-events:none}button:is(:focus-visible,:has(:focus-visible),.pretend-focus):hover::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}button:is(:focus-visible,:has(:focus-visible),.pretend-focus):is([aria-current],[aria-pressed=true],[aria-expanded=true],.active)::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}@supports not selector(:has(:focus-visible)){button:is(:focus-visible,:focus-within,.pretend-focus){outline:none !important}button:is(:focus-visible,:focus-within,.pretend-focus)::after{content:"";position:absolute;inset:calc(-1*var(--post-device-spacing-padding-28));border-width:var(--post-device-border-width-focus);border-style:var(--post-core-border-style-solid);border-color:var(--post-scheme-color-interactive-focus-stroke);border-radius:var(--post-device-border-radius-focus);pointer-events:none}button:is(:focus-visible,:focus-within,.pretend-focus):hover::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}button:is(:focus-visible,:focus-within,.pretend-focus):is([aria-current],[aria-pressed=true],[aria-expanded=true],.active)::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}}button>post-icon:where(:last-child){margin-inline-start:auto}@media screen and (min-width: 0)and (max-width: 599.98px){button{padding:calc(.5rem + 1.5px) .75rem calc(.5rem + 1.5px - var(--post-nav-item-border-width)) .5rem;gap:.5rem;font-size:.875rem}button>post-icon{font-size:1rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){button>post-icon{font-size:1.5rem}}@media screen and (min-width: 1024px){button{padding:1rem .75rem;gap:.5rem;border-bottom:none}}:host{position:relative;display:inline-block}button post-icon{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true]) post-icon{transform:rotate(180deg)}button>span{position:relative}button>span>span[aria-hidden]{font-weight:700;visibility:hidden}button>span>span[aria-hidden]:where(span:empty+*){visibility:visible}button>span>span:not([aria-hidden]){position:absolute;inset:0}@media screen and (min-width: 1024px){button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){font-weight:700}button[aria-expanded=true]{background-color:#f0efed;color:#050400;z-index:2}button[aria-expanded=true]:hover{box-shadow:inset 0 -0.7px 0 0 #f0efed}button[aria-expanded=true]:is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{border-color:var(--post-scheme-color-interactive-focus-stroke)}@supports not selector(:has(:focus-visible)){button[aria-expanded=true]:is(:focus-visible,:focus-within,.pretend-focus)::after{border-color:var(--post-scheme-color-interactive-focus-stroke)}}}@media screen and (max-width: 1023.98px){button post-icon{margin-inline-start:auto;transform:rotate(-90deg) !important}}'}},[257,"post-megadropdown-trigger",{active:[516],for:[513],isMegadropdownExpanded:[32],slottedContent:[32]},[[4,"postToggleMegadropdown","onMegadropdownToggled"]]]);l([d(),u("string")],p.prototype,"for",void 0),l([n("post-megadropdown",{ignoreNestedComponents:!1})],p.prototype,"onMegadropdownToggled",null);const b=p,h=function(){"undefined"!=typeof customElements&&["post-megadropdown-trigger","post-icon"].forEach((e=>{switch(e){case"post-megadropdown-trigger":customElements.get(s(e))||customElements.define(s(e),p);break;case"post-icon":customElements.get(s(e))||c()}}))};export{b as PostMegadropdownTrigger,h as defineCustomElement}
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as t,Build as o,h as r,Host as i,transformTag as s}from"@stencil/core/internal/client";import"./breakpoints.js";import{E as n}from"./event-from.js";import{v as a}from"./package.js";import{d as c}from"./post-icon2.js";import{R as d}from"./required.js";import{T as u}from"./type.js";var l=function(e,t,o,r){var i,s=arguments.length,n=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(n=(s<3?i(n):s>3?i(t,o,n):i(t,o))||n);return s>3&&n&&Object.defineProperty(t,o,n),n};const p=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.isMegadropdownExpanded=!1,this.slottedContent=null,this.active=!1}componentWillRender(){this.handleSlottedContentChanges()}disconnectedCallback(){this.mutationObserver&&this.mutationObserver.disconnect()}onMegadropdownToggled(e){if(e.target.id===this.for){const t=this.isMegadropdownExpanded;if(this.isMegadropdownExpanded=e.detail.isVisible,!t||this.isMegadropdownExpanded||!e.detail.focusParent)return;setTimeout((()=>{this.interactiveButton.focus()}),100)}}get megadropdown(){const e=document.getElementById(this.for);return"post-megadropdown"!==e?.localName?(console.warn("No post-megadropdown found with ID: "+this.for),null):e}handleSlottedContentChanges(){o.isServer||(this.cloneSlottedButton(),this.mutationObserver=new MutationObserver(this.cloneSlottedButton.bind(this)),this.mutationObserver.observe(this.host,{childList:!0,subtree:!0}))}cloneSlottedButton(){this.slottedContent=this.host.innerHTML}onClick(){this.megadropdown?.toggle()}onKeyDown(e){"Enter"!==e.key&&" "!==e.key||this.megadropdown&&(e.preventDefault(),this.megadropdown.toggle())}render(){return r(i,{key:"40d8afcb6b0ec482c0a13f7b78493a66243e03a5","data-version":a},r("button",{key:"6c1362cd4e1af22d26cf9ae74af4092cd083360c",ref:e=>this.interactiveButton=e,type:"button","aria-haspopup":"menu","aria-expanded":""+this.isMegadropdownExpanded,onClick:this.onClick.bind(this),onKeyDown:this.onKeyDown.bind(this),class:{active:this.active}},r("span",{key:"6bd7d94da2055c1c6fb933402f2478a3cee12cc7"},r("span",{key:"8109bdcc23c4a0f8c0861b774a974dde75b464f3",innerHTML:this.slottedContent}),r("span",{key:"edd54adde0d7af4eb9cf7796183d01705d217500","aria-hidden":"true"},r("slot",{key:"dbcc08bb882273f1074dd8963a4b86f67deb0c0a"}))),r("post-icon",{key:"7437573a492181cc3e5ddd59ac3695dc94d43e09",name:"chevrondown"})))}get host(){return this}static get style(){return'button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg)}button:not(:disabled):hover{text-decoration:none}button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}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}button: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){button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){button: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){button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}button{--post-nav-item-border-width:1px;width:100%;justify-content:start;position:relative;padding:.75rem .75rem calc(.75rem - var(--post-nav-item-border-width)) .5rem;gap:1rem;border-radius:0;line-height:1.5;outline-color:currentColor !important;border-bottom:var(--post-nav-item-border-width) solid currentColor;height:100%}button:hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg);border-bottom-color:rgba(0,0,0,0)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:none}button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline:none !important}button:is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{content:"";position:absolute;inset:calc(-1*var(--post-device-spacing-padding-28));border-width:var(--post-device-border-width-focus);border-style:var(--post-core-border-style-solid);border-color:var(--post-scheme-color-interactive-focus-stroke);border-radius:var(--post-device-border-radius-focus);pointer-events:none}button:is(:focus-visible,:has(:focus-visible),.pretend-focus):hover::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}button:is(:focus-visible,:has(:focus-visible),.pretend-focus):is([aria-current],[aria-pressed=true],[aria-expanded=true],.active)::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}@supports not selector(:has(:focus-visible)){button:is(:focus-visible,:focus-within,.pretend-focus){outline:none !important}button:is(:focus-visible,:focus-within,.pretend-focus)::after{content:"";position:absolute;inset:calc(-1*var(--post-device-spacing-padding-28));border-width:var(--post-device-border-width-focus);border-style:var(--post-core-border-style-solid);border-color:var(--post-scheme-color-interactive-focus-stroke);border-radius:var(--post-device-border-radius-focus);pointer-events:none}button:is(:focus-visible,:focus-within,.pretend-focus):hover::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}button:is(:focus-visible,:focus-within,.pretend-focus):is([aria-current],[aria-pressed=true],[aria-expanded=true],.active)::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}}button>post-icon:where(:last-child){margin-inline-start:auto}@media screen and (min-width: 0)and (max-width: 599.98px){button{padding:calc(.5rem + 1.5px) .75rem calc(.5rem + 1.5px - var(--post-nav-item-border-width)) .5rem;gap:.5rem;font-size:.875rem}button>post-icon{font-size:1rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){button>post-icon{font-size:1.5rem}}@media screen and (min-width: 1024px){button{padding:1rem .75rem;gap:.5rem;border-bottom:0}}:host{position:relative;display:inline-block}button post-icon{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true]) post-icon{transform:rotate(180deg)}button>span{position:relative}button>span>span[aria-hidden]{font-weight:700;visibility:hidden}button>span>span[aria-hidden]:where(span:empty+*){visibility:visible}button>span>span:not([aria-hidden]){position:absolute;inset:0}@media screen and (min-width: 1024px){button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){font-weight:700}button[aria-expanded=true]{background-color:#f0efed;color:#050400;z-index:2}button[aria-expanded=true]:hover{box-shadow:inset 0 -0.7px 0 0 #f0efed}button[aria-expanded=true]:is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{border-color:var(--post-scheme-color-interactive-focus-stroke)}@supports not selector(:has(:focus-visible)){button[aria-expanded=true]:is(:focus-visible,:focus-within,.pretend-focus)::after{border-color:var(--post-scheme-color-interactive-focus-stroke)}}}@media screen and (max-width: 1023.98px){button post-icon{margin-inline-start:auto;transform:rotate(-90deg) !important}}'}},[257,"post-megadropdown-trigger",{active:[516],for:[513],isMegadropdownExpanded:[32],slottedContent:[32]},[[4,"postToggleMegadropdown","onMegadropdownToggled"]]]);l([d(),u("string")],p.prototype,"for",void 0),l([n("post-megadropdown",{ignoreNestedComponents:!1})],p.prototype,"onMegadropdownToggled",null);const b=p,h=function(){"undefined"!=typeof customElements&&["post-megadropdown-trigger","post-icon"].forEach((e=>{switch(e){case"post-megadropdown-trigger":customElements.get(s(e))||customElements.define(s(e),p);break;case"post-icon":customElements.get(s(e))||c()}}))};export{b as PostMegadropdownTrigger,h as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as o,Host as s,transformTag as n}from"@stencil/core/internal/client";import{r}from"./utils.js";import{f as a}from"./fade-slide.js";import{b as c}from"./breakpoints.js";import{g as d}from"./get-focusable-children.js";import{v as h}from"./package.js";import{d as l}from"./post-closebutton2.js";import{d as b}from"./post-icon2.js";import{R as u}from"./required.js";import{T as p}from"./type.js";const m={translate:100,duration:500,easing:"ease",fill:"none"};var f=function(t,e,i,o){var s,n=arguments.length,r=n<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(r=(n<3?s(r):n>3?s(e,i,r):s(e,i))||r);return n>3&&r&&Object.defineProperty(e,i,r),r};const g=t(class t extends e{get megadropdownTrigger(){const t=this.host.getAttribute("id");return t?document.querySelector(`post-megadropdown-trigger[for="${t}"]`):null}constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.postToggleMegadropdown=i(this,"postToggleMegadropdown",7),this.currentAnimation=null,this.isAnimating=!1,this.fsAnimationOptions={translate:-10,duration:350,easing:"headerEase"},this.device=c.get("device"),this.isVisible=!1,this.trigger=!1,this.animationClass=null,this.handleClickOutside=async t=>{if("desktop"!==this.device)return;const i=t.target;if(!this.host.contains(i)&&!this.megadropdownTrigger.contains(i)){if(i instanceof e){const t=i.closest("post-megadropdown-trigger");if(t&&t.getAttribute("for")!==this.host.id)return}await this.hide(!1)}},this.keyboardHandler=this.keyboardHandler.bind(this),this.handleTabOutside=this.handleTabOutside.bind(this),this.handleClickOutside=this.handleClickOutside.bind(this)}connectedCallback(){globalThis.addEventListener("postBreakpoint:device",this.breakpointChange.bind(this))}componentDidRender(){this.getFocusableElements()}componentDidLoad(){this.checkInitialAriaCurrent(),this.setupObserver(),this.handleAriaCurrentChange([])}disconnectedCallback(){globalThis.removeEventListener("postBreakpoint:device",this.breakpointChange.bind(this)),t.activeDropdown===this&&(t.activeDropdown=null),this.removeListeners(),this.defaultSlotObserver&&this.defaultSlotObserver.disconnect()}async toggle(){return this.isAnimating?this.isVisible?this.show():this.hide():this.isVisible?this.hide():this.show()}async show(){if("desktop"!==this.device){const t=this.megadropdownTrigger;t&&(this.megadropdownTitle=t.innerHTML)}let e=!1;if(t.activeDropdown&&t.activeDropdown!==this&&(t.activeDropdown.forceClose(),e=!0),this.cancelAnimation(),this.isVisible=!0,t.activeDropdown=this,this.postToggleMegadropdown.emit({isVisible:!0}),e)this.focusFirst(),this.addListeners();else try{await this.animate("in"),this.focusFirst(),this.addListeners()}catch{this.removeListeners(),this.isVisible=!1,t.activeDropdown===this&&(t.activeDropdown=null),this.postToggleMegadropdown.emit({isVisible:!1,focusParent:!0})}}async hide(e=!0,i=!1){if(i)this.forceClose();else{this.postToggleMegadropdown.emit({isVisible:!1,focusParent:e});try{await this.animate("out"),this.isVisible=!1,this.removeListeners(),t.activeDropdown===this&&(t.activeDropdown=null)}catch{t.activeDropdown=this,this.addListeners(),this.isVisible=!0,this.postToggleMegadropdown.emit({isVisible:!0,focusParent:!1})}}}async focusFirst(){this.firstFocusableEl?.focus()}forceClose(){this.removeListeners(),this.postToggleMegadropdown.emit({isVisible:!1,focusParent:!1}),this.isVisible=!1,t.activeDropdown===this&&(t.activeDropdown=null)}createAnimation(t){return"desktop"===this.device?a(this.animatedContainer,t,this.fsAnimationOptions):function(t,e,i={}){const o={...m,...i},{translate:s}=o,n=[{transform:`translateX(${s}%)`},{transform:"translateX(0)"}];return function(t,e,i){const{duration:o,easing:s,fill:n}={...m,...i};return t.animate(e,{duration:o,easing:r(s),fill:n})}(t,"in"===e?n:[...n].reverse(),i)}(this.animatedContainer,t,{translate:100,duration:350,easing:"in"===t?"ease-in":"ease-out"})}async animate(t){this.cancelAnimation(),this.currentAnimation=this.createAnimation(t),this.isAnimating=!0,await this.currentAnimation.finished,this.isAnimating=!1,this.currentAnimation=null}cancelAnimation(){this.currentAnimation?.cancel(),this.currentAnimation=null}breakpointChange(t){this.device=t.detail,this.cancelAnimation()}addListeners(){this.host.addEventListener("keydown",this.keyboardHandler),document.addEventListener("keyup",this.handleTabOutside),document.addEventListener("mousedown",this.handleClickOutside)}removeListeners(){this.host.removeEventListener("keydown",this.keyboardHandler),document.removeEventListener("keyup",this.handleTabOutside),document.removeEventListener("mousedown",this.handleClickOutside)}getFocusableElements(){const t=[...d(this.host),...d(this.host.shadowRoot)];this.firstFocusableEl=t[0],this.lastFocusableEl=t.at(-1)}keyboardHandler(t){if("Tab"!==t.key||"desktop"===this.device)return;const e=this.host.shadowRoot.activeElement||document.activeElement;t.shiftKey&&e===this.firstFocusableEl?(t.preventDefault(),this.lastFocusableEl.focus()):t.shiftKey||e!==this.lastFocusableEl||(t.preventDefault(),this.firstFocusableEl.focus())}handleTabOutside(t){"Tab"===t.key&&"desktop"===this.device&&this.isVisible&&!this.host.contains(t.target)&&this.hide(!1)}setupObserver(){this.defaultSlotObserver=new MutationObserver(this.handleAriaCurrentChange.bind(this)),this.defaultSlotObserver.observe(this.host,{subtree:!0,attributes:!0,attributeFilter:["aria-current"]})}setTriggerActive(t){const e=this.megadropdownTrigger;e&&e.setAttribute("active",""+t)}handleAriaCurrentChange(t){if(0===t.length)return;const i=t.some((t=>t.target instanceof e&&"page"===t.target.getAttribute("aria-current")));this.setTriggerActive(i)}checkInitialAriaCurrent(){this.host.querySelector('[aria-current="page"]')&&this.setTriggerActive(!0)}render(){return o(s,{key:"e2f7cac1fd168c54334a7c2584ce07f387457c77",version:h},o("div",{key:"5bd9e9d856c3038d30246e913b51348097507f21",ref:t=>this.animatedContainer=t,class:"megadropdown",style:this.isVisible?{}:{display:"none"}},o("div",{key:"13bf455331b1921f5e12fa0ebac27261bc608e89",class:"section"},"desktop"!==this.device&&this.megadropdownTitle&&o("p",{key:"75985254f1217f0f6d138fa14aa6af228ee1d0f5",class:"megadropdown-title"},this.megadropdownTitle),o("div",{key:"2bb4219a62f7de1236f8208bdd01f22fd00dab00",class:"megadropdown-content"},o("slot",{key:"ad3c1b6e6ad5bc07e64f829a68fb933db1fc5016"})),"desktop"===this.device?o("post-closebutton",{onClick:()=>this.hide(!0),class:"close-button",size:"small",placement:"manual"},this.textClose):o("button",{onClick:()=>this.hide(!0),class:"back-button"},o("post-icon",{name:"arrowleft"}),this.textBack))))}get host(){return this}static get style(){return"*,::before,::after{box-sizing:border-box}.megadropdown{position:absolute;inset-inline:0;overflow-y:auto;box-shadow:var(--post-device-elevation-300)}@media screen and (min-width: 1024px){.megadropdown{max-height:calc(100vh - var(--post-header-height) - 3rem);background-color:#f0efed;z-index:-1;inset-block-start:100%}.megadropdown.slide-in{animation:slide-down 350ms forwards}.megadropdown.slide-out{animation:slide-up 350ms forwards}}@media screen and (max-width: 1023.98px){.megadropdown{background-color:#fafafa;z-index:1;inset-block-start:var(--post-header-navigation-current-inset);overscroll-behavior:contain}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.megadropdown{border-block-end:1px solid CanvasText}}.section{width:100%;max-width:var(--post-header-content-max-width);margin-inline:auto;position:relative}@media screen and (min-width: 1024px){.section{padding:3rem 2.5rem 2.5rem}}@media screen and (max-width: 1023.98px){.section{display:flex;flex-direction:column;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));padding-inline:var(--post-burger-menu-padding-inline);padding-block-start:1.5rem}}@media screen and (max-width: 1023.98px){.section .megadropdown-content{padding-block-end:1.5rem}}.megadropdown-title{margin-block:0 1rem;font-weight:950}@media screen and (min-width: 600px)and (max-width: 1023.98px){.megadropdown-title{font-size:1.25rem}}@media screen and (min-width: 0)and (max-width: 599.98px){.megadropdown-title{font-size:1.125rem}}.back-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;min-height:var(--post-device-sizing-interactive-button-height-4);gap:var(--post-device-spacing-gap-inline-11);padding:0 var(--post-device-spacing-padding-inline-7);border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);order:-1;width:fit-content;padding-inline:0}.back-button:not(:disabled):hover{text-decoration:none}.back-button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.back-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}.back-button: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){.back-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.back-button: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){.back-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.back-button:is(a){color:LinkText;border:unset}.back-button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.back-button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.back-button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.back-button>post-icon{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.back-button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}@media screen and (min-width: 600px)and (max-width: 1023.98px){.back-button{margin-block-end:2rem}}@media screen and (min-width: 0)and (max-width: 599.98px){.back-button{margin-block-end:1.5rem}}.close-button{position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem}@media screen and (max-width: 1023.98px){.close-button{display:none}}"}},[257,"post-megadropdown",{textClose:[513,"text-close"],textBack:[513,"text-back"],device:[32],isVisible:[32],trigger:[32],megadropdownTitle:[32],animationClass:[32],toggle:[64],show:[64],hide:[64],focusFirst:[64]}]);g.activeDropdown=null,f([u(),p("string")],g.prototype,"textClose",void 0),f([u(),p("string")],g.prototype,"textBack",void 0);const v=g,k=function(){"undefined"!=typeof customElements&&["post-megadropdown","post-closebutton","post-icon"].forEach((t=>{switch(t){case"post-megadropdown":customElements.get(n(t))||customElements.define(n(t),g);break;case"post-closebutton":customElements.get(n(t))||l();break;case"post-icon":customElements.get(n(t))||b()}}))};export{v as PostMegadropdown,k as defineCustomElement}
|
|
1
|
+
import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as o,Host as s,transformTag as n}from"@stencil/core/internal/client";import{r}from"./utils.js";import{f as a}from"./fade-slide.js";import{b as c}from"./breakpoints.js";import{g as d}from"./get-focusable-children.js";import{v as h}from"./package.js";import{d as l}from"./post-closebutton2.js";import{d as b}from"./post-icon2.js";import{R as p}from"./required.js";import{T as u}from"./type.js";const m={translate:100,duration:500,easing:"ease",fill:"none"};var f=function(t,e,i,o){var s,n=arguments.length,r=n<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(r=(n<3?s(r):n>3?s(e,i,r):s(e,i))||r);return n>3&&r&&Object.defineProperty(e,i,r),r};const g=t(class t extends e{get megadropdownTrigger(){const t=this.host.getAttribute("id");return t?document.querySelector(`post-megadropdown-trigger[for="${t}"]`):null}constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.postToggleMegadropdown=i(this,"postToggleMegadropdown",7),this.currentAnimation=null,this.isAnimating=!1,this.fsAnimationOptions={translate:-10,duration:350,easing:"headerEase"},this.device=c.get("device"),this.isVisible=!1,this.trigger=!1,this.animationClass=null,this.handleClickOutside=async t=>{if("desktop"!==this.device)return;const i=t.target;if(!this.host.contains(i)&&!this.megadropdownTrigger.contains(i)){if(i instanceof e){const t=i.closest("post-megadropdown-trigger");if(t&&t.getAttribute("for")!==this.host.id)return}await this.hide(!1)}},this.keyboardHandler=this.keyboardHandler.bind(this),this.handleTabOutside=this.handleTabOutside.bind(this),this.handleClickOutside=this.handleClickOutside.bind(this)}connectedCallback(){globalThis.addEventListener("postBreakpoint:device",this.breakpointChange.bind(this))}componentDidRender(){this.getFocusableElements()}componentDidLoad(){this.checkInitialAriaCurrent(),this.setupObserver(),this.handleAriaCurrentChange([])}disconnectedCallback(){globalThis.removeEventListener("postBreakpoint:device",this.breakpointChange.bind(this)),t.activeDropdown===this&&(t.activeDropdown=null),this.removeListeners(),this.defaultSlotObserver&&this.defaultSlotObserver.disconnect()}async toggle(){return this.isAnimating?this.isVisible?this.show():this.hide():this.isVisible?this.hide():this.show()}async show(){if("desktop"!==this.device){const t=this.megadropdownTrigger;t&&(this.megadropdownTitle=t.innerHTML)}let e=!1;if(t.activeDropdown&&t.activeDropdown!==this&&(t.activeDropdown.forceClose(),e=!0),this.cancelAnimation(),this.isVisible=!0,t.activeDropdown=this,this.postToggleMegadropdown.emit({isVisible:!0}),e)this.focusFirst(),this.addListeners();else try{await this.animate("in"),this.focusFirst(),this.addListeners()}catch{this.removeListeners(),this.isVisible=!1,t.activeDropdown===this&&(t.activeDropdown=null),this.postToggleMegadropdown.emit({isVisible:!1,focusParent:!0})}}async hide(e=!0,i=!1){if(i)this.forceClose();else{this.postToggleMegadropdown.emit({isVisible:!1,focusParent:e});try{await this.animate("out"),this.isVisible=!1,this.removeListeners(),t.activeDropdown===this&&(t.activeDropdown=null)}catch{t.activeDropdown=this,this.addListeners(),this.isVisible=!0,this.postToggleMegadropdown.emit({isVisible:!0,focusParent:!1})}}}async focusFirst(){this.firstFocusableEl?.focus()}forceClose(){this.removeListeners(),this.postToggleMegadropdown.emit({isVisible:!1,focusParent:!1}),this.isVisible=!1,t.activeDropdown===this&&(t.activeDropdown=null)}createAnimation(t){return"desktop"===this.device?a(this.animatedContainer,t,this.fsAnimationOptions):function(t,e,i={}){const o={...m,...i},{translate:s}=o,n=[{transform:`translateX(${s}%)`},{transform:"translateX(0)"}];return function(t,e,i){const{duration:o,easing:s,fill:n}={...m,...i};return t.animate(e,{duration:o,easing:r(s),fill:n})}(t,"in"===e?n:[...n].reverse(),i)}(this.animatedContainer,t,{translate:100,duration:350,easing:"in"===t?"ease-in":"ease-out"})}async animate(t){this.cancelAnimation(),this.currentAnimation=this.createAnimation(t),this.isAnimating=!0,await this.currentAnimation.finished,this.isAnimating=!1,this.currentAnimation=null}cancelAnimation(){this.currentAnimation?.cancel(),this.currentAnimation=null}breakpointChange(t){this.device=t.detail,this.cancelAnimation()}addListeners(){this.host.addEventListener("keydown",this.keyboardHandler),document.addEventListener("keyup",this.handleTabOutside),document.addEventListener("mousedown",this.handleClickOutside)}removeListeners(){this.host.removeEventListener("keydown",this.keyboardHandler),document.removeEventListener("keyup",this.handleTabOutside),document.removeEventListener("mousedown",this.handleClickOutside)}getFocusableElements(){const t=[...d(this.host),...d(this.host.shadowRoot)];this.firstFocusableEl=t[0],this.lastFocusableEl=t.at(-1)}keyboardHandler(t){if("Tab"!==t.key||"desktop"===this.device)return;const e=this.host.shadowRoot.activeElement||document.activeElement;t.shiftKey&&e===this.firstFocusableEl?(t.preventDefault(),this.lastFocusableEl.focus()):t.shiftKey||e!==this.lastFocusableEl||(t.preventDefault(),this.firstFocusableEl.focus())}handleTabOutside(t){"Tab"===t.key&&"desktop"===this.device&&this.isVisible&&!this.host.contains(t.target)&&this.hide(!1)}setupObserver(){this.defaultSlotObserver=new MutationObserver(this.handleAriaCurrentChange.bind(this)),this.defaultSlotObserver.observe(this.host,{subtree:!0,attributes:!0,attributeFilter:["aria-current"]})}setTriggerActive(t){const e=this.megadropdownTrigger;e&&e.setAttribute("active",""+t)}handleAriaCurrentChange(t){if(0===t.length)return;const i=t.some((t=>t.target instanceof e&&"page"===t.target.getAttribute("aria-current")));this.setTriggerActive(i)}checkInitialAriaCurrent(){this.host.querySelector('[aria-current="page"]')&&this.setTriggerActive(!0)}render(){return o(s,{key:"e2f7cac1fd168c54334a7c2584ce07f387457c77",version:h},o("div",{key:"5bd9e9d856c3038d30246e913b51348097507f21",ref:t=>this.animatedContainer=t,class:"megadropdown",style:this.isVisible?{}:{display:"none"}},o("div",{key:"13bf455331b1921f5e12fa0ebac27261bc608e89",class:"section"},"desktop"!==this.device&&this.megadropdownTitle&&o("p",{key:"75985254f1217f0f6d138fa14aa6af228ee1d0f5",class:"megadropdown-title"},this.megadropdownTitle),o("div",{key:"2bb4219a62f7de1236f8208bdd01f22fd00dab00",class:"megadropdown-content"},o("slot",{key:"ad3c1b6e6ad5bc07e64f829a68fb933db1fc5016"})),"desktop"===this.device?o("post-closebutton",{onClick:()=>this.hide(!0),class:"close-button",size:"small",placement:"manual"},this.textClose):o("button",{onClick:()=>this.hide(!0),class:"back-button"},o("post-icon",{name:"arrowleft"}),this.textBack))))}get host(){return this}static get style(){return"*,::before,::after{box-sizing:border-box}.megadropdown{position:absolute;inset-inline:0;overflow-y:auto;box-shadow:var(--post-device-elevation-300)}@media screen and (min-width: 1024px){.megadropdown{max-height:calc(100vh - var(--post-header-height) - 3rem);background-color:#f0efed;z-index:-1;inset-block-start:100%}.megadropdown.slide-in{animation:slide-down 350ms forwards}.megadropdown.slide-out{animation:slide-up 350ms forwards}}@media screen and (max-width: 1023.98px){.megadropdown{background-color:#fafafa;z-index:1;inset-block-start:var(--post-header-navigation-current-inset);overscroll-behavior:contain}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.megadropdown{border-block-end:1px solid CanvasText}}.section{width:100%;max-width:var(--post-header-content-max-width);margin-inline:auto;position:relative}@media screen and (min-width: 1024px){.section{padding:3rem 2.5rem 2.5rem}}@media screen and (max-width: 1023.98px){.section{display:flex;flex-direction:column;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));padding-inline:var(--post-burger-menu-padding-inline);padding-block-start:1.5rem}}@media screen and (max-width: 1023.98px){.section .megadropdown-content{padding-block-end:1.5rem}}.megadropdown-title{margin-block:0 1rem;font-weight:950}@media screen and (min-width: 600px)and (max-width: 1023.98px){.megadropdown-title{font-size:1.25rem}}@media screen and (min-width: 0)and (max-width: 599.98px){.megadropdown-title{font-size:1.125rem}}.back-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;min-height:var(--post-device-sizing-interactive-button-height-4);gap:var(--post-device-spacing-gap-inline-11);padding:0 var(--post-device-spacing-padding-inline-7);border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);order:-1;width:fit-content;padding-inline:0}.back-button:not(:disabled):hover{text-decoration:none}.back-button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.back-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}.back-button: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){.back-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.back-button: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){.back-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.back-button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.back-button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.back-button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.back-button>post-icon{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.back-button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}@media screen and (min-width: 600px)and (max-width: 1023.98px){.back-button{margin-block-end:2rem}}@media screen and (min-width: 0)and (max-width: 599.98px){.back-button{margin-block-end:1.5rem}}.close-button{position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem}@media screen and (max-width: 1023.98px){.close-button{display:none}}"}},[257,"post-megadropdown",{textClose:[513,"text-close"],textBack:[513,"text-back"],device:[32],isVisible:[32],trigger:[32],megadropdownTitle:[32],animationClass:[32],toggle:[64],show:[64],hide:[64],focusFirst:[64]}]);g.activeDropdown=null,f([p(),u("string")],g.prototype,"textClose",void 0),f([p(),u("string")],g.prototype,"textBack",void 0);const v=g,w=function(){"undefined"!=typeof customElements&&["post-megadropdown","post-closebutton","post-icon"].forEach((t=>{switch(t){case"post-megadropdown":customElements.get(n(t))||customElements.define(n(t),g);break;case"post-closebutton":customElements.get(n(t))||l();break;case"post-icon":customElements.get(n(t))||b()}}))};export{v as PostMegadropdown,w as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as t,HTMLElement as e,transformTag as o}from"@stencil/core/internal/client";import{v as n}from"./package.js";const i=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost()}connectedCallback(){this.host.dataset.version=n}get host(){return this}static get style(){return"post-menu-item button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-menu-item button{background-color:ButtonFace !important}post-menu-item button:hover{background-color:Highlight !important}}post-menu-item a{text-decoration:none}post-menu-item button,post-menu-item a{position:relative;display:flex;align-items:center;padding:.5rem .75rem .5rem 1rem;gap:.75rem;font-size:.875rem;color:#050400;border-radius:0}post-menu-item button post-icon,post-menu-item a post-icon{width:1rem;height:1rem;margin-block:.25rem}@media screen and (min-width: 780px){post-menu-item button,post-menu-item a{font-size:1rem;padding-block:.75rem;gap:1rem}post-menu-item button post-icon,post-menu-item a post-icon{width:1.5rem;height:1.5rem;margin:0}}@media screen and (min-width: 1024px){post-menu-item button,post-menu-item a{font-size:1.25rem;padding-block:.8125rem}}post-menu-item button:focus-visible,post-menu-item a:focus-visible{outline-offset:2px !important;border-radius:4px}post-menu-item button:hover,post-menu-item a:hover{background-color:#504f4b;color:#fff}"}},[0,"post-menu-item"]);function m(){"undefined"!=typeof customElements&&["post-menu-item"].forEach((t=>{"post-menu-item"===t&&(customElements.get(o(t))||customElements.define(o(t),i))}))}export{i as P,m as d}
|
|
1
|
+
import{proxyCustomElement as t,HTMLElement as e,transformTag as o}from"@stencil/core/internal/client";import{v as n}from"./package.js";const i=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost()}connectedCallback(){this.host.dataset.version=n}get host(){return this}static get style(){return"post-menu-item button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;width:100%}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-menu-item button{background-color:ButtonFace !important}post-menu-item button:hover{background-color:Highlight !important}}post-menu-item a{text-decoration:none}post-menu-item button,post-menu-item a{position:relative;display:flex;align-items:center;padding:.5rem .75rem .5rem 1rem;gap:.75rem;font-size:.875rem;color:#050400;border-radius:0}post-menu-item button post-icon,post-menu-item a post-icon{width:1rem;height:1rem;margin-block:.25rem}@media screen and (min-width: 780px){post-menu-item button,post-menu-item a{font-size:1rem;padding-block:.75rem;gap:1rem}post-menu-item button post-icon,post-menu-item a post-icon{width:1.5rem;height:1.5rem;margin:0}}@media screen and (min-width: 1024px){post-menu-item button,post-menu-item a{font-size:1.25rem;padding-block:.8125rem}}post-menu-item button:focus-visible,post-menu-item a:focus-visible{outline-offset:2px !important;border-radius:4px}post-menu-item button:hover,post-menu-item a:hover{background-color:#504f4b;color:#fff}"}},[0,"post-menu-item"]);function m(){"undefined"!=typeof customElements&&["post-menu-item"].forEach((t=>{"post-menu-item"===t&&(customElements.get(o(t))||customElements.define(o(t),i))}))}export{i as P,m as d}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as t,HTMLElement as e,h as i,Host as o,transformTag as s}from"@stencil/core/internal/client";import{d as n}from"./breakpoints.js";import{v as r}from"./package.js";import{d as a}from"./post-icon2.js";function d(t,e){const i=Number.parseFloat(t[e]);return Number.isNaN(i)?void 0:i}function c(t,e,i){return void 0!==t&&void 0!==e&&i(t,e)}const p=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.isDisabled=!1,this.isIncrementDisabled=!1,this.isDecrementDisabled=!1,this.small=!1,this.setupInput=n(50,(()=>{this.input=this.input??function(t,e){const i=t.querySelectorAll(e);return 1===i.length?i[0]:(console.error(`<${t.localName}> expects exactly one element matching "${e}", but found ${i.length}.`,t),null)}(this.host,'input[type="number"]'),this.input&&(this.isDisabled=this.input.disabled,this.small=this.input.classList.contains("form-control-sm"),this.updateStepButtonState(),this.input.addEventListener("input",(()=>this.updateStepButtonState())),this.mutationObserver=new MutationObserver((()=>this.updateStepButtonState())),this.mutationObserver.observe(this.input,{attributes:!0,attributeFilter:["min","max","disabled"]}))}))}get value(){return d(this.input,"value")}get min(){return d(this.input,"min")}get max(){return d(this.input,"max")}get isAtMin(){return c(this.value,this.min,((t,e)=>t===e))}get isAtMax(){return c(this.value,this.max,((t,e)=>t===e))}get isBelowMin(){return c(this.value,this.min,((t,e)=>t<e))}get isAboveMax(){return c(this.value,this.max,((t,e)=>t>e))}disconnectedCallback(){this.mutationObserver&&this.mutationObserver.disconnect()}step(t){const e="up"===t;!function(t,e){const i=function(t,{delayMs:e=300,intervalMs:i=100}={}){let o;t();const s=setTimeout((()=>{o=setInterval(t,i)}),e);return()=>{clearTimeout(s),o&&clearInterval(o)}}(t,e),o=()=>{i(),globalThis.removeEventListener("pointerup",o),globalThis.removeEventListener("pointercancel",o),globalThis.removeEventListener("pointerleave",o)};globalThis.addEventListener("pointerup",o),globalThis.addEventListener("pointercancel",o),globalThis.addEventListener("pointerleave",o)}((()=>{(e?this.isAtMax:this.isAtMin)||((e?this.isBelowMin:this.isAboveMax)?this.input.value=e?this.input.min:this.input.max:(e?this.input.stepUp:this.input.stepDown).call(this.input),this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.updateStepButtonState())}))}updateStepButtonState(){this.input.disabled||this.min&&this.max&&this.min>this.max?this.isIncrementDisabled=this.isDecrementDisabled=!0:(this.isIncrementDisabled=this.isAtMax||this.isAboveMax,this.isDecrementDisabled=this.isAtMin||this.isBelowMin)}render(){const t=!!this.input;return i(o,{key:"59cbe12c66b0eabbff15a3110ee847396df2d261","data-version":r,class:{"number-input-sm":this.small,disabled:this.isDisabled}},t&&i("div",{key:"43fca97c040104786ab528b04f3e0dd576f29025","aria-hidden":"true",onPointerDown:()=>this.step("down"),class:{"step-button":!0,disabled:this.isDecrementDisabled}},i("post-icon",{key:"1b41c236beb802d98f60776827928335d00599c4",name:"minus"})),i("div",{key:"8342d335e0a84f78514edac5052ffea081fb40c7",class:"input-container"},i("slot",{key:"d2f8eae0656faaab31358cd3582c873d4a491e73",onSlotchange:()=>this.setupInput()})),t&&i("div",{key:"0055b317ed6ec64f2451640c436d169bb0b07626","aria-hidden":"true",onPointerDown:()=>this.step("up"),class:{"step-button":!0,disabled:this.isIncrementDisabled}},i("post-icon",{key:"dafe4a65f6d5d6ba4f54229c55506d5cf14fe126",name:"plus"})))}get host(){return this}static get style(){return':host{display:inline-flex;align-items:end;width:100%}:host ::slotted(input[type=number]),:host .step-button{height:var(--post-device-sizing-interactive-button-height-6) !important}:host ::slotted(input[type=number]){border-radius:0 !important;padding-inline:var(--post-device-spacing-padding-inline-1);padding-block-start:var(--post-device-spacing-padding-block-29);padding-block-end:var(--post-device-spacing-padding-block-3)}:host ::slotted(input[type=number]:focus){outline:none !important}:host .step-button.disabled{background-color:var(--post-scheme-color-interactive-button-secondary-disabled-bg);color:var(--post-scheme-color-interactive-button-secondary-disabled-fg);border-color:var(--post-scheme-color-interactive-button-secondary-disabled-stroke);border-style:var(--post-core-border-style-dash)}:host(.number-input-sm) ::slotted(input[type=number]),:host(.number-input-sm) .step-button{height:var(--post-device-sizing-interactive-button-height-8) !important}:host(.number-input-sm) ::slotted(input[type=number]){font-size:var(--post-device-font-size-7) !important;padding-inline:var(--post-device-spacing-padding-inline-1) !important;padding-block:var(--post-device-spacing-padding-29) !important}:host(.number-input-sm) ::slotted(input[type=number].is-valid),:host(.number-input-sm) ::slotted(input[type=number].is-invalid){background-size:var(--post-device-sizing-notification-5) !important;padding-inline-end:calc( (var(--post-device-spacing-padding-inline-1)* 2) + var(--post-device-sizing-notification-5) ) !important}:host(.number-input-sm) .step-button{padding-inline:var(--post-device-spacing-padding-32);padding-block:var(--post-device-spacing-padding-2)}:host(.number-input-sm) .step-button post-icon{width:var(--post-device-sizing-interactive-icon-size7);height:var(--post-device-sizing-interactive-icon-size7)}:host(:hover) .step-button:not(.disabled){background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg);border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:hover) .step-button:not(.disabled){border-color:Highlight}}:host(:hover) .step-button:not(.disabled),:host(:hover) .step-button:not(.disabled) post-icon{color:var(--post-scheme-color-interactive-button-secondary-hover-fg)}.input-container{position:relative;flex-grow:1}.input-container:focus-within::after{content:"";pointer-events:none;z-index:2;width:calc(100% + (var(--post-device-border-width-default) * 2));height:calc(100% + (var(--post-device-border-width-default) * 2));border:var(--post-device-border-width-focus) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-focus-stroke);position:absolute;border-radius:var(--post-device-border-radius-1);top:calc((var(--post-device-border-width-default) * 2)*-1);left:calc((var(--post-device-border-width-default) * 2)*-1)}.step-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;transition:unset;box-sizing:border-box;flex:0 0 auto;border-radius:var(--post-device-border-radius-1);padding-inline:var(--post-device-spacing-padding-23);padding-block:var(--post-device-spacing-padding-22);box-shadow:var(--post-device-elevation-100);border:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-button-secondary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg)}.step-button:not(:disabled):hover{text-decoration:none}.step-button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.step-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}.step-button: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){.step-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.step-button: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){.step-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.step-button:is(
|
|
1
|
+
import{proxyCustomElement as t,HTMLElement as e,h as i,Host as o,transformTag as s}from"@stencil/core/internal/client";import{d as n}from"./breakpoints.js";import{v as r}from"./package.js";import{d as a}from"./post-icon2.js";function d(t,e){const i=Number.parseFloat(t[e]);return Number.isNaN(i)?void 0:i}function c(t,e,i){return void 0!==t&&void 0!==e&&i(t,e)}const p=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.isDisabled=!1,this.isIncrementDisabled=!1,this.isDecrementDisabled=!1,this.small=!1,this.setupInput=n(50,(()=>{this.input=this.input??function(t,e){const i=t.querySelectorAll(e);return 1===i.length?i[0]:(console.error(`<${t.localName}> expects exactly one element matching "${e}", but found ${i.length}.`,t),null)}(this.host,'input[type="number"]'),this.input&&(this.isDisabled=this.input.disabled,this.small=this.input.classList.contains("form-control-sm"),this.updateStepButtonState(),this.input.addEventListener("input",(()=>this.updateStepButtonState())),this.mutationObserver=new MutationObserver((()=>this.updateStepButtonState())),this.mutationObserver.observe(this.input,{attributes:!0,attributeFilter:["min","max","disabled"]}))}))}get value(){return d(this.input,"value")}get min(){return d(this.input,"min")}get max(){return d(this.input,"max")}get isAtMin(){return c(this.value,this.min,((t,e)=>t===e))}get isAtMax(){return c(this.value,this.max,((t,e)=>t===e))}get isBelowMin(){return c(this.value,this.min,((t,e)=>t<e))}get isAboveMax(){return c(this.value,this.max,((t,e)=>t>e))}disconnectedCallback(){this.mutationObserver&&this.mutationObserver.disconnect()}step(t){const e="up"===t;!function(t,e){const i=function(t,{delayMs:e=300,intervalMs:i=100}={}){let o;t();const s=setTimeout((()=>{o=setInterval(t,i)}),e);return()=>{clearTimeout(s),o&&clearInterval(o)}}(t,e),o=()=>{i(),globalThis.removeEventListener("pointerup",o),globalThis.removeEventListener("pointercancel",o),globalThis.removeEventListener("pointerleave",o)};globalThis.addEventListener("pointerup",o),globalThis.addEventListener("pointercancel",o),globalThis.addEventListener("pointerleave",o)}((()=>{(e?this.isAtMax:this.isAtMin)||((e?this.isBelowMin:this.isAboveMax)?this.input.value=e?this.input.min:this.input.max:(e?this.input.stepUp:this.input.stepDown).call(this.input),this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.updateStepButtonState())}))}updateStepButtonState(){this.input.disabled||this.min&&this.max&&this.min>this.max?this.isIncrementDisabled=this.isDecrementDisabled=!0:(this.isIncrementDisabled=this.isAtMax||this.isAboveMax,this.isDecrementDisabled=this.isAtMin||this.isBelowMin)}render(){const t=!!this.input;return i(o,{key:"59cbe12c66b0eabbff15a3110ee847396df2d261","data-version":r,class:{"number-input-sm":this.small,disabled:this.isDisabled}},t&&i("div",{key:"43fca97c040104786ab528b04f3e0dd576f29025","aria-hidden":"true",onPointerDown:()=>this.step("down"),class:{"step-button":!0,disabled:this.isDecrementDisabled}},i("post-icon",{key:"1b41c236beb802d98f60776827928335d00599c4",name:"minus"})),i("div",{key:"8342d335e0a84f78514edac5052ffea081fb40c7",class:"input-container"},i("slot",{key:"d2f8eae0656faaab31358cd3582c873d4a491e73",onSlotchange:()=>this.setupInput()})),t&&i("div",{key:"0055b317ed6ec64f2451640c436d169bb0b07626","aria-hidden":"true",onPointerDown:()=>this.step("up"),class:{"step-button":!0,disabled:this.isIncrementDisabled}},i("post-icon",{key:"dafe4a65f6d5d6ba4f54229c55506d5cf14fe126",name:"plus"})))}get host(){return this}static get style(){return':host{display:inline-flex;align-items:end;width:100%}:host ::slotted(input[type=number]),:host .step-button{height:var(--post-device-sizing-interactive-button-height-6) !important}:host ::slotted(input[type=number]){border-radius:0 !important;padding-inline:var(--post-device-spacing-padding-inline-1);padding-block-start:var(--post-device-spacing-padding-block-29);padding-block-end:var(--post-device-spacing-padding-block-3)}:host ::slotted(input[type=number]:focus){outline:none !important}:host .step-button.disabled{background-color:var(--post-scheme-color-interactive-button-secondary-disabled-bg);color:var(--post-scheme-color-interactive-button-secondary-disabled-fg);border-color:var(--post-scheme-color-interactive-button-secondary-disabled-stroke);border-style:var(--post-core-border-style-dash)}:host(.number-input-sm) ::slotted(input[type=number]),:host(.number-input-sm) .step-button{height:var(--post-device-sizing-interactive-button-height-8) !important}:host(.number-input-sm) ::slotted(input[type=number]){font-size:var(--post-device-font-size-7) !important;padding-inline:var(--post-device-spacing-padding-inline-1) !important;padding-block:var(--post-device-spacing-padding-29) !important}:host(.number-input-sm) ::slotted(input[type=number].is-valid),:host(.number-input-sm) ::slotted(input[type=number].is-invalid){background-size:var(--post-device-sizing-notification-5) !important;padding-inline-end:calc( (var(--post-device-spacing-padding-inline-1)* 2) + var(--post-device-sizing-notification-5) ) !important}:host(.number-input-sm) .step-button{padding-inline:var(--post-device-spacing-padding-32);padding-block:var(--post-device-spacing-padding-2)}:host(.number-input-sm) .step-button post-icon{width:var(--post-device-sizing-interactive-icon-size7);height:var(--post-device-sizing-interactive-icon-size7)}:host(:hover) .step-button:not(.disabled){background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg);border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:hover) .step-button:not(.disabled){border-color:Highlight}}:host(:hover) .step-button:not(.disabled),:host(:hover) .step-button:not(.disabled) post-icon{color:var(--post-scheme-color-interactive-button-secondary-hover-fg)}.input-container{position:relative;flex-grow:1}.input-container:focus-within::after{content:"";pointer-events:none;z-index:2;width:calc(100% + (var(--post-device-border-width-default) * 2));height:calc(100% + (var(--post-device-border-width-default) * 2));border:var(--post-device-border-width-focus) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-focus-stroke);position:absolute;border-radius:var(--post-device-border-radius-1);top:calc((var(--post-device-border-width-default) * 2)*-1);left:calc((var(--post-device-border-width-default) * 2)*-1)}.step-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;transition:unset;box-sizing:border-box;flex:0 0 auto;border-radius:var(--post-device-border-radius-1);padding-inline:var(--post-device-spacing-padding-23);padding-block:var(--post-device-spacing-padding-22);box-shadow:var(--post-device-elevation-100);border:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-button-secondary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg)}.step-button:not(:disabled):hover{text-decoration:none}.step-button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.step-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}.step-button: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){.step-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.step-button: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){.step-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.step-button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.step-button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.step-button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.step-button post-icon{width:var(--post-device-sizing-interactive-icon-size6);height:var(--post-device-sizing-interactive-icon-size6)}.step-button:first-of-type{border-start-end-radius:0;border-end-end-radius:0;border-inline-end-width:0}.step-button:last-of-type{border-start-start-radius:0;border-end-start-radius:0;border-inline-start-width:0}.step-button.disabled{pointer-events:none;cursor:unset}'}},[257,"post-number-input",{isDisabled:[32],isIncrementDisabled:[32],isDecrementDisabled:[32],small:[32],input:[32]}]),l=p,u=function(){"undefined"!=typeof customElements&&["post-number-input","post-icon"].forEach((t=>{switch(t){case"post-number-input":customElements.get(s(t))||customElements.define(s(t),p);break;case"post-icon":customElements.get(s(t))||a()}}))};export{l as PostNumberInput,u as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as o,Host as n,transformTag as r}from"@stencil/core/internal/client";import"./breakpoints.js";import{d as a}from"./debounce.js";import{n as s}from"./nanoid.js";import{v as c}from"./package.js";import{d as l}from"./post-icon2.js";import{T as d}from"./type.js";import{R as h}from"./required.js";var p=function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};const v=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.postChange=i(this,"postChange",7),this.maxVisiblePages=3,this.items=[],this.page=1,this.lastWindowWidth=window.innerWidth,this.loaded=!1,this.debouncedResize=a(this.handleResizeInternal.bind(this),150),this.measurementTimeoutId=null}handlePropsChange(){this.updatePagesWithValidation()}componentWillLoad(){this.paginationId="pagination-"+(this.host.id||s(6)),this.updatePagesWithValidation()}connectedCallback(){window.addEventListener("resize",this.debouncedResize)}componentDidLoad(){this.loaded=!0,this.scheduleMeasurement()}disconnectedCallback(){this.loaded=!1,window.removeEventListener("resize",this.debouncedResize),null!==this.measurementTimeoutId&&(clearTimeout(this.measurementTimeoutId),this.measurementTimeoutId=null)}scheduleMeasurement(){this.loaded&&(this.measurementTimeoutId=globalThis.setTimeout((()=>{this.navRef?.clientWidth>0&&this.hiddenItemsRef?this.measureAndCalculateVisiblePages():this.scheduleMeasurement()}),50))}handleResizeInternal(){this.loaded&&window.innerWidth!==this.lastWindowWidth&&(this.lastWindowWidth=window.innerWidth,this.measureAndCalculateVisiblePages())}calculateGap(t,e){const i=t.getBoundingClientRect();return e.getBoundingClientRect().left-i.right}measureAndCalculateVisiblePages(){if(!this.navRef||!this.hiddenItemsRef||!this.loaded)return;const t=this.getTotalPages();if(t<=1)return;const e=this.getPaginationPadding(),i=this.getAvailableWidth()-e,o=this.getControlButtonsWidth(),n=this.hiddenItemsRef.querySelector(".hidden-page-button"),r=this.hiddenItemsRef.querySelector(".hidden-ellipsis");if(!n)return;const a=n.getBoundingClientRect().width,s=n&&r?this.calculateGap(n,r):0;this.maxVisiblePages=Math.max(3,Math.min(Math.floor((i-o-2*s+s)/(a+s)),t)),this.updatePagesWithValidation()}getControlButtonsWidth(){return this.hiddenItemsRef?Array.from(this.hiddenItemsRef.querySelectorAll(".hidden-control-button")).reduce(((t,e)=>t+e.getBoundingClientRect().width),0):0}getPaginationPadding(){if(!this.navRef)return 0;const t=globalThis.getComputedStyle(this.navRef);return(Number.parseFloat(t.paddingLeft)||0)+(Number.parseFloat(t.paddingRight)||0)}getAvailableWidth(){return this.navRef?this.host.parentElement?.clientWidth??window.innerWidth:0}get invalidSize(){return 0===this.collectionSize||0===this.pageSize}clampPageToValidRange(t){return 0===t||this.invalidSize||Number.isNaN(t)||!this.page||this.page<1||Number.isNaN(this.page)?1:this.page>t?t:this.page}updatePagesWithValidation(){const t=this.getTotalPages();this.page=this.clampPageToValidRange(t),this.generatePages(t)}getTotalPages(){return this.invalidSize?1:Math.ceil(this.collectionSize/this.pageSize)}sectionForGap(t){return t<=1?"none":2===t?"page":"ellipsis"}getSections(t,e,i){const o=t-1,n=i-e;return{leftSection:this.sectionForGap(o),rightSection:this.sectionForGap(n),leftGap:o,rightGap:n}}computeTotalItems(t,e,i){const{leftSection:o,rightSection:n}=this.getSections(t,e,i);return 2+("none"===o?0:1)+("none"===n?0:1)+Math.max(0,e-t+1)}buildAllPages(t){const e=[];for(let i=1;i<=t;i++)e.push({type:"page",page:i});return e}adjustForGapTwo(t,e,i,o){const n={startPage:t,endPage:e};return 2==i-e&&(n.endPage=i-1,n.startPage=Math.max(2,n.endPage-o+1)),2==n.startPage-1&&(n.startPage=2,n.endPage=Math.min(i-1,n.startPage+o-1)),n}ensureMiddleSlots(t,e,i,o){const n={startPage:t,endPage:e},r=e-t+1;return r<o&&e<i-1&&(n.endPage=Math.min(i-1,t+o-1)),r<o&&t>2&&(n.startPage=Math.max(2,e-o+1)),n}trimExcessItems(t,e,i,o,n){const r={startPage:t,endPage:e};let a=this.computeTotalItems(r.startPage,r.endPage,i);for(;a>o;){if(r.endPage-n>=n-r.startPage&&r.endPage>r.startPage)r.endPage=Math.max(r.startPage-1,r.endPage-1);else{if(!(r.startPage<r.endPage))break;r.startPage=Math.min(r.endPage+1,r.startPage+1)}const t=this.computeTotalItems(r.startPage,r.endPage,i);if(t===a)break;a=t}return r}expandToFillSlots(t,e,i,o){const n={startPage:t,endPage:e};let r=this.computeTotalItems(n.startPage,n.endPage,i);for(;r<o;){const t=n.endPage<i-1;if(n.startPage>2)n.startPage=Math.max(2,n.startPage-1);else{if(!t)break;n.endPage=Math.min(i-1,n.endPage+1)}const e=this.computeTotalItems(n.startPage,n.endPage,i);if(e===r)break;r=e}return n}balanceTotalItems(t,e,i,o,n){const r=this.trimExcessItems(t,e,i,o,n);return this.expandToFillSlots(r.startPage,r.endPage,i,o)}calculatePageRange(t,e,i){const o=Math.max(0,i-2-2);if(o<=0)return{startPage:2,endPage:1};let n=t-Math.floor(o/2),r=n+o-1;n<2&&(n=2,r=n+o-1),r>e-1&&(r=e-1,n=r-o+1),n=Math.max(2,n),r=Math.min(e-1,r);const a=this.adjustForGapTwo(n,r,e,o),s=this.ensureMiddleSlots(a.startPage,a.endPage,e,o);return this.balanceTotalItems(s.startPage,s.endPage,e,i,t)}buildPaginationItems(t,e,i){const o=[],n=t<=e;if(o.push({type:"page",page:1}),n){const{leftSection:n,rightSection:r}=this.getSections(t,e,i);"page"===n?o.push({type:"page",page:2}):"ellipsis"===n&&o.push({type:"ellipsis"});for(let i=t;i<=e;i++)o.push({type:"page",page:i});return"page"===r?o.push({type:"page",page:i-1}):"ellipsis"===r&&o.push({type:"ellipsis"}),o.push({type:"page",page:i}),o}}generateSmallPagination(t,e){return 1===t||t===e?[{type:"page",page:1},{type:"ellipsis"},{type:"page",page:e}]:[{type:"ellipsis"},{type:"page",page:t},{type:"ellipsis"}]}generatePages(t){const e=this.maxVisiblePages,i=this.page;if(t<=e)return void(this.items=this.buildAllPages(t));if(e<=4)return void(this.items=this.generateSmallPagination(i,t));const{startPage:o,endPage:n}=this.calculatePageRange(i,t,e);this.items=this.buildPaginationItems(o,n,t)}emitPageChange(t){this.page=t,this.postChange.emit(t)}handlePageClick(t){t!==this.page&&this.emitPageChange(t)}handlePrevious(){this.page<=1||this.emitPageChange(this.page-1)}handleNext(){const t=this.getTotalPages();this.page>=t||this.emitPageChange(this.page+1)}handleKeyDown(t,e){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e())}buildPageLabel(t){const e=this.getTotalPages();return 1===t?`${this.textFirst}, ${this.textPage} ${t}`:t===e?`${this.textLast}, ${this.textPage} ${t}`:`${this.textPage} ${t}`}renderEllipsis(t){return o("li",{class:"pagination-item pagination-ellipsis",key:t,"aria-hidden":"true"},o("span",{class:"pagination-ellipsis-content"},"..."))}renderPageButton(t){const e=t===this.page;return o("li",{class:"pagination-item",key:"page-"+t},o("button",{type:"button",class:{"pagination-link":!0,"pagination-link-active":e},"aria-label":this.buildPageLabel(t),"aria-current":e?"page":void 0,onClick:()=>this.handlePageClick(t),onKeyDown:e=>this.handleKeyDown(e,(()=>this.handlePageClick(t))),tabIndex:0},o("span",{"aria-hidden":"true"},t)))}renderItem(t,e){return"ellipsis"===t.type?this.renderEllipsis("ellipsis-"+e):this.renderPageButton(t.page)}renderControlButton(t,e,i,n){return o("li",{class:"pagination-item pagination-control"},o("button",{type:"button",class:"pagination-control-button btn btn-icon btn-secondary "+(e?"prev-button":"next-button"),"aria-label":i,onClick:n,onKeyDown:t=>this.handleKeyDown(t,n),tabIndex:0},o("post-icon",{name:t,"aria-hidden":"true"}),o("span",{class:"visually-hidden"},i)))}renderHiddenItems(t,e,i){return[!e&&o("button",{class:"pagination-link pagination-control-button hidden-control-button",disabled:!0},o("post-icon",{name:"chevronleftwide","aria-hidden":"true"})),o("button",{class:"pagination-link pagination-control-button hidden-page-button","aria-label":this.buildPageLabel(t),disabled:!0},o("span",{"aria-hidden":"true"},t)),o("span",{class:"pagination-ellipsis-content hidden-ellipsis","aria-hidden":"true"},"..."),!i&&o("button",{class:"pagination-link pagination-control-button hidden-control-button",disabled:!0},o("post-icon",{name:"chevronrightwide","aria-hidden":"true"}))]}render(){const t=this.getTotalPages();if(t<=1)return null;const e=this.page<=1,i=this.page>=t;return o(n,{slot:"post-pagination","data-version":c},o("nav",{class:"pagination","aria-label":this.label,id:this.paginationId,ref:t=>this.navRef=t},o("ul",{class:"pagination-list",role:"list"},!e&&this.renderControlButton("chevronleftwide",!0,this.textPrevious,(()=>this.handlePrevious())),this.items.map(((t,e)=>this.renderItem(t,e))),!i&&this.renderControlButton("chevronrightwide",!1,this.textNext,(()=>this.handleNext()))),o("div",{class:"hidden-items","aria-hidden":"true",ref:t=>this.hiddenItemsRef=t},this.renderHiddenItems(t,e,i))))}get host(){return this}static get watchers(){return{page:[{handlePropsChange:0}],pageSize:[{handlePropsChange:0}],collectionSize:[{handlePropsChange:0}]}}static get style(){return".btn{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;min-height:var(--post-device-sizing-interactive-button-height-1);gap:var(--post-device-spacing-gap-inline-10);padding:0 var(--post-device-spacing-padding-inline-6)}.btn:not(:disabled):hover{text-decoration:none}.btn:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.btn{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}.btn: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){.btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.btn: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){.btn:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn:is(a){color:LinkText;border:unset}.btn:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.btn:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.btn:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.btn>post-icon{width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-primary{box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}.btn-primary:disabled{border-color:var(--post-scheme-color-interactive-button-primary-disabled-stroke);color:var(--post-scheme-color-interactive-button-primary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-disabled-bg)}.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}.btn-default{box-shadow:var(--post-device-elevation-100);border-color: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)}.btn-default:disabled{border-color:var(--post-scheme-color-interactive-button-secondary-disabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-disabled-bg)}.btn-default:not(:disabled):hover,.btn-default.pretend-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)}.btn-secondary{box-shadow:var(--post-device-elevation-100);border-color: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)}.btn-secondary:disabled{border-color:var(--post-scheme-color-interactive-button-secondary-disabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-disabled-bg)}.btn-secondary:not(:disabled):hover,.btn-secondary.pretend-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)}.btn-tertiary{border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg)}.btn-tertiary:disabled{border-color:var(--post-scheme-color-interactive-button-tertiary-disabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-disabled-bg)}.btn-tertiary:not(:disabled):hover,.btn-tertiary.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.btn-link{border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}.btn-link:disabled{border-color:var(--post-scheme-color-interactive-button-tertiary-disabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg)}.btn-link:not(:disabled):hover,.btn-link.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.btn-sm{min-height:var(--post-device-sizing-interactive-button-height-4);gap:var(--post-device-spacing-gap-inline-11);padding:0 var(--post-device-spacing-padding-inline-7)}.btn-sm>post-icon{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-lg{min-height:var(--post-device-sizing-interactive-button-height-2);gap:var(--post-device-spacing-gap-inline-1);padding:0 var(--post-device-spacing-padding-inline-5)}.btn-lg>post-icon{width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.btn-link{-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline);border:0 none;border-radius:var(--post-device-border-radius-focus);min-height:0;font-size:inherit;font-weight:inherit;padding:0}.btn-link:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}.btn-icon{padding:0;width:var(--post-device-sizing-interactive-button-height-1);height:var(--post-device-sizing-interactive-button-height-1);min-height:0;vertical-align:text-bottom}.btn-icon.btn-link{width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-icon>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-icon.btn-sm{padding:0;width:var(--post-device-sizing-interactive-button-height-4);height:var(--post-device-sizing-interactive-button-height-4);min-height:0;vertical-align:text-bottom}.btn-icon.btn-sm.btn-link{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-icon.btn-sm>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-icon.btn-lg{padding:0;width:var(--post-device-sizing-interactive-button-height-2);height:var(--post-device-sizing-interactive-button-height-2);min-height:0;vertical-align:text-bottom}.btn-icon.btn-lg.btn-link{width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.btn-icon.btn-lg>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.pagination{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;padding:var(--post-device-spacing-padding-15);overflow:hidden}.pagination-list{display:flex;align-items:center;gap:var(--post-device-spacing-gap-inline-4);min-width:0;max-width:100%;margin:0;padding:0;list-style:none;flex-wrap:nowrap}.pagination-list .pagination-control:first-child{margin-inline-end:calc(var(--post-device-spacing-gap-11) - var(--post-device-spacing-gap-inline-4))}.pagination-list .pagination-control:last-child{margin-inline-start:calc(var(--post-device-spacing-gap-11) - var(--post-device-spacing-gap-inline-4))}.pagination-item{display:flex;align-items:center;margin:0;padding:0;flex-shrink:0;flex-grow:0}.pagination-ellipsis,.pagination-link,.pagination-ellipsis-content{display:flex;align-items:center;justify-content:center}.pagination-link,.pagination-ellipsis-content{width:var(--post-device-sizing-interactive-button-height-1);height:var(--post-device-sizing-interactive-button-height-1);min-width:var(--post-device-sizing-interactive-button-height-1);font-size:var(--post-device-font-size-6);color:var(--post-scheme-color-interactive-primary-enabled-fg1);font-weight:var(--post-device-font-weight-bold)}.pagination-link{box-sizing:border-box;padding:0;margin:0;font-weight:var(--post-device-font-weight-bold);text-decoration:none;background-color:var(--post-scheme-color-interactive-primary-enabled-bg4);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-enabled-stroke5);border-radius:var(--post-device-border-radius-round);cursor:pointer;appearance:none;outline:none;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms}.pagination-link{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}.pagination-link: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){.pagination-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.pagination-link: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){.pagination-link:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.pagination-link:active:not(.pagination-link-active),.pagination-link:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);background-color:var(--post-scheme-color-interactive-primary-hover-bg5);border-color:var(--post-scheme-color-interactive-primary-hover-stroke)}.pagination-link.pagination-link-active{color:var(--post-scheme-color-interactive-primary-selected-fg3);background-color:var(--post-scheme-color-interactive-primary-selected-bg4);border-color:var(--post-scheme-color-interactive-primary-selected-stroke1);cursor:default}.pagination-ellipsis{flex-shrink:0;flex-grow:0}.pagination-ellipsis-content{user-select:none}.hidden-items{position:absolute;display:flex;gap:var(--post-device-spacing-gap-11);height:0;overflow:hidden;white-space:nowrap;visibility:hidden;pointer-events:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}"}},[1,"post-pagination",{page:[1026],pageSize:[514,"page-size"],collectionSize:[514,"collection-size"],label:[513],textPrevious:[513,"text-previous"],textNext:[513,"text-next"],textPage:[513,"text-page"],textFirst:[513,"text-first"],textLast:[513,"text-last"],paginationId:[32],maxVisiblePages:[32],items:[32]},void 0,{page:[{handlePropsChange:0}],pageSize:[{handlePropsChange:0}],collectionSize:[{handlePropsChange:0}]}]);p([d("number")],v.prototype,"page",void 0),p([h(),d("number")],v.prototype,"pageSize",void 0),p([h(),d("number")],v.prototype,"collectionSize",void 0),p([h(),d("string")],v.prototype,"label",void 0),p([h(),d("string")],v.prototype,"textPrevious",void 0),p([h(),d("string")],v.prototype,"textNext",void 0),p([h(),d("string")],v.prototype,"textPage",void 0),p([h(),d("string")],v.prototype,"textFirst",void 0),p([h(),d("string")],v.prototype,"textLast",void 0);const g=v,b=function(){"undefined"!=typeof customElements&&["post-pagination","post-icon"].forEach((t=>{switch(t){case"post-pagination":customElements.get(r(t))||customElements.define(r(t),v);break;case"post-icon":customElements.get(r(t))||l()}}))};export{g as PostPagination,b as defineCustomElement}
|
|
1
|
+
import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as o,Host as n,transformTag as r}from"@stencil/core/internal/client";import"./breakpoints.js";import{d as s}from"./debounce.js";import{n as a}from"./nanoid.js";import{v as c}from"./package.js";import{d as l}from"./post-icon2.js";import{T as d}from"./type.js";import{R as h}from"./required.js";var p=function(t,e,i,o){var n,r=arguments.length,s=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(s=(r<3?n(s):r>3?n(e,i,s):n(e,i))||s);return r>3&&s&&Object.defineProperty(e,i,s),s};const v=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.postChange=i(this,"postChange",7),this.maxVisiblePages=3,this.items=[],this.page=1,this.lastWindowWidth=window.innerWidth,this.loaded=!1,this.debouncedResize=s(this.handleResizeInternal.bind(this),150),this.measurementTimeoutId=null}handlePropsChange(){this.updatePagesWithValidation()}componentWillLoad(){this.paginationId="pagination-"+(this.host.id||a(6)),this.updatePagesWithValidation()}connectedCallback(){window.addEventListener("resize",this.debouncedResize)}componentDidLoad(){this.loaded=!0,this.scheduleMeasurement()}disconnectedCallback(){this.loaded=!1,window.removeEventListener("resize",this.debouncedResize),null!==this.measurementTimeoutId&&(clearTimeout(this.measurementTimeoutId),this.measurementTimeoutId=null)}scheduleMeasurement(){this.loaded&&(this.measurementTimeoutId=globalThis.setTimeout((()=>{this.navRef?.clientWidth>0&&this.hiddenItemsRef?this.measureAndCalculateVisiblePages():this.scheduleMeasurement()}),50))}handleResizeInternal(){this.loaded&&window.innerWidth!==this.lastWindowWidth&&(this.lastWindowWidth=window.innerWidth,this.measureAndCalculateVisiblePages())}calculateGap(t,e){const i=t.getBoundingClientRect();return e.getBoundingClientRect().left-i.right}measureAndCalculateVisiblePages(){if(!this.navRef||!this.hiddenItemsRef||!this.loaded)return;const t=this.getTotalPages();if(t<=1)return;const e=this.getPaginationPadding(),i=this.getAvailableWidth()-e,o=this.getControlButtonsWidth(),n=this.hiddenItemsRef.querySelector(".hidden-page-button"),r=this.hiddenItemsRef.querySelector(".hidden-ellipsis");if(!n)return;const s=n.getBoundingClientRect().width,a=n&&r?this.calculateGap(n,r):0;this.maxVisiblePages=Math.max(3,Math.min(Math.floor((i-o-2*a+a)/(s+a)),t)),this.updatePagesWithValidation()}getControlButtonsWidth(){return this.hiddenItemsRef?Array.from(this.hiddenItemsRef.querySelectorAll(".hidden-control-button")).reduce(((t,e)=>t+e.getBoundingClientRect().width),0):0}getPaginationPadding(){if(!this.navRef)return 0;const t=globalThis.getComputedStyle(this.navRef);return(Number.parseFloat(t.paddingLeft)||0)+(Number.parseFloat(t.paddingRight)||0)}getAvailableWidth(){return this.navRef?this.host.parentElement?.clientWidth??window.innerWidth:0}get invalidSize(){return 0===this.collectionSize||0===this.pageSize}clampPageToValidRange(t){return 0===t||this.invalidSize||Number.isNaN(t)||!this.page||this.page<1||Number.isNaN(this.page)?1:this.page>t?t:this.page}updatePagesWithValidation(){const t=this.getTotalPages();this.page=this.clampPageToValidRange(t),this.generatePages(t)}getTotalPages(){return this.invalidSize?1:Math.ceil(this.collectionSize/this.pageSize)}sectionForGap(t){return t<=1?"none":2===t?"page":"ellipsis"}getSections(t,e,i){const o=t-1,n=i-e;return{leftSection:this.sectionForGap(o),rightSection:this.sectionForGap(n),leftGap:o,rightGap:n}}computeTotalItems(t,e,i){const{leftSection:o,rightSection:n}=this.getSections(t,e,i);return 2+("none"===o?0:1)+("none"===n?0:1)+Math.max(0,e-t+1)}buildAllPages(t){const e=[];for(let i=1;i<=t;i++)e.push({type:"page",page:i});return e}adjustForGapTwo(t,e,i,o){const n={startPage:t,endPage:e};return 2==i-e&&(n.endPage=i-1,n.startPage=Math.max(2,n.endPage-o+1)),2==n.startPage-1&&(n.startPage=2,n.endPage=Math.min(i-1,n.startPage+o-1)),n}ensureMiddleSlots(t,e,i,o){const n={startPage:t,endPage:e},r=e-t+1;return r<o&&e<i-1&&(n.endPage=Math.min(i-1,t+o-1)),r<o&&t>2&&(n.startPage=Math.max(2,e-o+1)),n}trimExcessItems(t,e,i,o,n){const r={startPage:t,endPage:e};let s=this.computeTotalItems(r.startPage,r.endPage,i);for(;s>o;){if(r.endPage-n>=n-r.startPage&&r.endPage>r.startPage)r.endPage=Math.max(r.startPage-1,r.endPage-1);else{if(!(r.startPage<r.endPage))break;r.startPage=Math.min(r.endPage+1,r.startPage+1)}const t=this.computeTotalItems(r.startPage,r.endPage,i);if(t===s)break;s=t}return r}expandToFillSlots(t,e,i,o){const n={startPage:t,endPage:e};let r=this.computeTotalItems(n.startPage,n.endPage,i);for(;r<o;){const t=n.endPage<i-1;if(n.startPage>2)n.startPage=Math.max(2,n.startPage-1);else{if(!t)break;n.endPage=Math.min(i-1,n.endPage+1)}const e=this.computeTotalItems(n.startPage,n.endPage,i);if(e===r)break;r=e}return n}balanceTotalItems(t,e,i,o,n){const r=this.trimExcessItems(t,e,i,o,n);return this.expandToFillSlots(r.startPage,r.endPage,i,o)}calculatePageRange(t,e,i){const o=Math.max(0,i-2-2);if(o<=0)return{startPage:2,endPage:1};let n=t-Math.floor(o/2),r=n+o-1;n<2&&(n=2,r=n+o-1),r>e-1&&(r=e-1,n=r-o+1),n=Math.max(2,n),r=Math.min(e-1,r);const s=this.adjustForGapTwo(n,r,e,o),a=this.ensureMiddleSlots(s.startPage,s.endPage,e,o);return this.balanceTotalItems(a.startPage,a.endPage,e,i,t)}buildPaginationItems(t,e,i){const o=[],n=t<=e;if(o.push({type:"page",page:1}),n){const{leftSection:n,rightSection:r}=this.getSections(t,e,i);"page"===n?o.push({type:"page",page:2}):"ellipsis"===n&&o.push({type:"ellipsis"});for(let i=t;i<=e;i++)o.push({type:"page",page:i});return"page"===r?o.push({type:"page",page:i-1}):"ellipsis"===r&&o.push({type:"ellipsis"}),o.push({type:"page",page:i}),o}}generateSmallPagination(t,e){return 1===t||t===e?[{type:"page",page:1},{type:"ellipsis"},{type:"page",page:e}]:[{type:"ellipsis"},{type:"page",page:t},{type:"ellipsis"}]}generatePages(t){const e=this.maxVisiblePages,i=this.page;if(t<=e)return void(this.items=this.buildAllPages(t));if(e<=4)return void(this.items=this.generateSmallPagination(i,t));const{startPage:o,endPage:n}=this.calculatePageRange(i,t,e);this.items=this.buildPaginationItems(o,n,t)}emitPageChange(t){this.page=t,this.postChange.emit(t)}handlePageClick(t){t!==this.page&&this.emitPageChange(t)}handlePrevious(){this.page<=1||this.emitPageChange(this.page-1)}handleNext(){const t=this.getTotalPages();this.page>=t||this.emitPageChange(this.page+1)}handleKeyDown(t,e){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e())}buildPageLabel(t){const e=this.getTotalPages();return 1===t?`${this.textFirst}, ${this.textPage} ${t}`:t===e?`${this.textLast}, ${this.textPage} ${t}`:`${this.textPage} ${t}`}renderEllipsis(t){return o("li",{class:"pagination-item pagination-ellipsis",key:t,"aria-hidden":"true"},o("span",{class:"pagination-ellipsis-content"},"..."))}renderPageButton(t){const e=t===this.page;return o("li",{class:"pagination-item",key:"page-"+t},o("button",{type:"button",class:{"pagination-link":!0,"pagination-link-active":e},"aria-label":this.buildPageLabel(t),"aria-current":e?"page":void 0,onClick:()=>this.handlePageClick(t),onKeyDown:e=>this.handleKeyDown(e,(()=>this.handlePageClick(t))),tabIndex:0},o("span",{"aria-hidden":"true"},t)))}renderItem(t,e){return"ellipsis"===t.type?this.renderEllipsis("ellipsis-"+e):this.renderPageButton(t.page)}renderControlButton(t,e,i,n){return o("li",{class:"pagination-item pagination-control"},o("button",{type:"button",class:"pagination-control-button btn btn-icon btn-secondary "+(e?"prev-button":"next-button"),"aria-label":i,onClick:n,onKeyDown:t=>this.handleKeyDown(t,n),tabIndex:0},o("post-icon",{name:t,"aria-hidden":"true"}),o("span",{class:"visually-hidden"},i)))}renderHiddenItems(t,e,i){return[!e&&o("button",{class:"pagination-link pagination-control-button hidden-control-button",disabled:!0},o("post-icon",{name:"chevronleftwide","aria-hidden":"true"})),o("button",{class:"pagination-link pagination-control-button hidden-page-button","aria-label":this.buildPageLabel(t),disabled:!0},o("span",{"aria-hidden":"true"},t)),o("span",{class:"pagination-ellipsis-content hidden-ellipsis","aria-hidden":"true"},"..."),!i&&o("button",{class:"pagination-link pagination-control-button hidden-control-button",disabled:!0},o("post-icon",{name:"chevronrightwide","aria-hidden":"true"}))]}render(){const t=this.getTotalPages();if(t<=1)return null;const e=this.page<=1,i=this.page>=t;return o(n,{slot:"post-pagination","data-version":c},o("nav",{class:"pagination","aria-label":this.label,id:this.paginationId,ref:t=>this.navRef=t},o("ul",{class:"pagination-list",role:"list"},!e&&this.renderControlButton("chevronleftwide",!0,this.textPrevious,(()=>this.handlePrevious())),this.items.map(((t,e)=>this.renderItem(t,e))),!i&&this.renderControlButton("chevronrightwide",!1,this.textNext,(()=>this.handleNext()))),o("div",{class:"hidden-items","aria-hidden":"true",ref:t=>this.hiddenItemsRef=t},this.renderHiddenItems(t,e,i))))}get host(){return this}static get watchers(){return{page:[{handlePropsChange:0}],pageSize:[{handlePropsChange:0}],collectionSize:[{handlePropsChange:0}]}}static get style(){return".btn{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;min-height:var(--post-device-sizing-interactive-button-height-1);gap:var(--post-device-spacing-gap-inline-10);padding:0 var(--post-device-spacing-padding-inline-6)}.btn:not(:disabled):hover{text-decoration:none}.btn:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.btn{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}.btn: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){.btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.btn: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){.btn:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.btn:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.btn:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.btn>post-icon{width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-primary{box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}.btn-primary:disabled{border-color:var(--post-scheme-color-interactive-button-primary-disabled-stroke);color:var(--post-scheme-color-interactive-button-primary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-disabled-bg)}.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}.btn-default{box-shadow:var(--post-device-elevation-100);border-color: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)}.btn-default:disabled{border-color:var(--post-scheme-color-interactive-button-secondary-disabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-disabled-bg)}.btn-default:not(:disabled):hover,.btn-default.pretend-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)}.btn-secondary{box-shadow:var(--post-device-elevation-100);border-color: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)}.btn-secondary:disabled{border-color:var(--post-scheme-color-interactive-button-secondary-disabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-disabled-bg)}.btn-secondary:not(:disabled):hover,.btn-secondary.pretend-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)}.btn-tertiary{border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg)}.btn-tertiary:disabled{border-color:var(--post-scheme-color-interactive-button-tertiary-disabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-disabled-bg)}.btn-tertiary:not(:disabled):hover,.btn-tertiary.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.btn-link{border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}.btn-link:disabled{border-color:var(--post-scheme-color-interactive-button-tertiary-disabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg)}.btn-link:not(:disabled):hover,.btn-link.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.btn-sm{min-height:var(--post-device-sizing-interactive-button-height-4);gap:var(--post-device-spacing-gap-inline-11);padding:0 var(--post-device-spacing-padding-inline-7)}.btn-sm>post-icon{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-lg{min-height:var(--post-device-sizing-interactive-button-height-2);gap:var(--post-device-spacing-gap-inline-1);padding:0 var(--post-device-spacing-padding-inline-5)}.btn-lg>post-icon{width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.btn-link{-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline);border:0 none;border-radius:0;min-height:0;font-size:inherit;font-weight:inherit;padding:0}.btn-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){border-radius:var(--post-device-border-radius-focus)}@supports not selector(:has(:focus-visible)){.btn-link:is(:focus-visible,:focus-within,.pretend-focus){border-radius:var(--post-device-border-radius-focus)}}.btn-link:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}.btn-icon{padding:0;width:var(--post-device-sizing-interactive-button-height-1);height:var(--post-device-sizing-interactive-button-height-1);min-height:0;vertical-align:text-bottom}.btn-icon.btn-link{width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-icon>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-icon.btn-sm{padding:0;width:var(--post-device-sizing-interactive-button-height-4);height:var(--post-device-sizing-interactive-button-height-4);min-height:0;vertical-align:text-bottom}.btn-icon.btn-sm.btn-link{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-icon.btn-sm>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-icon.btn-lg{padding:0;width:var(--post-device-sizing-interactive-button-height-2);height:var(--post-device-sizing-interactive-button-height-2);min-height:0;vertical-align:text-bottom}.btn-icon.btn-lg.btn-link{width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.btn-icon.btn-lg>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.pagination{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;padding:var(--post-device-spacing-padding-15);overflow:hidden}.pagination-list{display:flex;align-items:center;gap:var(--post-device-spacing-gap-inline-4);min-width:0;max-width:100%;margin:0;padding:0;list-style:none;flex-wrap:nowrap}.pagination-list .pagination-control:first-child{margin-inline-end:calc(var(--post-device-spacing-gap-11) - var(--post-device-spacing-gap-inline-4))}.pagination-list .pagination-control:last-child{margin-inline-start:calc(var(--post-device-spacing-gap-11) - var(--post-device-spacing-gap-inline-4))}.pagination-item{display:flex;align-items:center;margin:0;padding:0;flex-shrink:0;flex-grow:0}.pagination-ellipsis,.pagination-link,.pagination-ellipsis-content{display:flex;align-items:center;justify-content:center}.pagination-link,.pagination-ellipsis-content{width:var(--post-device-sizing-interactive-button-height-1);height:var(--post-device-sizing-interactive-button-height-1);min-width:var(--post-device-sizing-interactive-button-height-1);font-size:var(--post-device-font-size-6);color:var(--post-scheme-color-interactive-primary-enabled-fg1);font-weight:var(--post-device-font-weight-bold)}.pagination-link{box-sizing:border-box;padding:0;margin:0;font-weight:var(--post-device-font-weight-bold);text-decoration:none;background-color:var(--post-scheme-color-interactive-primary-enabled-bg4);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-enabled-stroke5);border-radius:var(--post-device-border-radius-round);cursor:pointer;appearance:none;outline:none;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms}.pagination-link{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}.pagination-link: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){.pagination-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.pagination-link: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){.pagination-link:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.pagination-link:active:not(.pagination-link-active),.pagination-link:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);background-color:var(--post-scheme-color-interactive-primary-hover-bg5);border-color:var(--post-scheme-color-interactive-primary-hover-stroke)}.pagination-link.pagination-link-active{color:var(--post-scheme-color-interactive-primary-selected-fg3);background-color:var(--post-scheme-color-interactive-primary-selected-bg4);border-color:var(--post-scheme-color-interactive-primary-selected-stroke1);cursor:default}.pagination-ellipsis{flex-shrink:0;flex-grow:0}.pagination-ellipsis-content{user-select:none}.hidden-items{position:absolute;display:flex;gap:var(--post-device-spacing-gap-11);height:0;overflow:hidden;white-space:nowrap;visibility:hidden;pointer-events:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}"}},[1,"post-pagination",{page:[1026],pageSize:[514,"page-size"],collectionSize:[514,"collection-size"],label:[513],textPrevious:[513,"text-previous"],textNext:[513,"text-next"],textPage:[513,"text-page"],textFirst:[513,"text-first"],textLast:[513,"text-last"],paginationId:[32],maxVisiblePages:[32],items:[32]},void 0,{page:[{handlePropsChange:0}],pageSize:[{handlePropsChange:0}],collectionSize:[{handlePropsChange:0}]}]);p([d("number")],v.prototype,"page",void 0),p([h(),d("number")],v.prototype,"pageSize",void 0),p([h(),d("number")],v.prototype,"collectionSize",void 0),p([h(),d("string")],v.prototype,"label",void 0),p([h(),d("string")],v.prototype,"textPrevious",void 0),p([h(),d("string")],v.prototype,"textNext",void 0),p([h(),d("string")],v.prototype,"textPage",void 0),p([h(),d("string")],v.prototype,"textFirst",void 0),p([h(),d("string")],v.prototype,"textLast",void 0);const g=v,b=function(){"undefined"!=typeof customElements&&["post-pagination","post-icon"].forEach((t=>{switch(t){case"post-pagination":customElements.get(r(t))||customElements.define(r(t),v);break;case"post-icon":customElements.get(r(t))||l()}}))};export{g as PostPagination,b as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as t,HTMLElement as s,createEvent as e,h as i,Host as o,transformTag as a,Build as r}from"@stencil/core/internal/client";import{f as n}from"./fade.js";import"./breakpoints.js";import{c}from"./component-on-ready.js";import{v as l}from"./package.js";import{d as h}from"./post-icon2.js";import{O as b}from"./one-of.js";import{T as p}from"./type.js";var d=function(t,s,e,i){var o,a=arguments.length,r=a<3?s:null===i?i=Object.getOwnPropertyDescriptor(s,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,s,e,i);else for(var n=t.length-1;n>=0;n--)(o=t[n])&&(r=(a<3?o(r):a>3?o(s,e,r):o(s,e))||r);return a>3&&r&&Object.defineProperty(s,e,r),r};const v=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.postChange=e(this,"postChange",7),this.showing=null,this.hiding=null,this.isLoaded=!1,this.isPagesVariant=!1,this.showLeftScrollButton=!1,this.showRightScrollButton=!1,this.textPrevTabItems="Previous tab items",this.textNextTabItems="Next tab items",this.size="large",this.updateScrollButtons=()=>{if(!this.tabsContainer)return;const t=getComputedStyle(this.tabsContainer),s=Number.parseFloat(t.paddingInlineStart)||0,e=Number.parseFloat(t.paddingInlineEnd)||0,i=this.tabsContainer.clientWidth-s-e,o=this.tabsContainer.scrollWidth-s-e;this.showLeftScrollButton=this.tabsContainer.scrollLeft>0,this.showRightScrollButton=this.tabsContainer.scrollLeft+i<o}}get tabs(){return Array.from(this.host.querySelectorAll("post-tab-item")).filter((t=>t.closest("post-tabs")===this.host))}get panels(){return Array.from(this.host.querySelectorAll("post-tab-panel")).filter((t=>t.closest("post-tabs")===this.host))}validateLabel(){this.isPagesVariant&&!this.label&&console.error(`[${this.host.localName}] Property "label" is required in Pages variant. Received: ${JSON.stringify(this.label)}.`,this.host)}componentWillRender(){this.detectVariant()}componentDidLoad(){if(this.leftScrollButton.ariaControlsElements=[this.tabsContainer],this.rightScrollButton.ariaControlsElements=[this.tabsContainer],this.moveMisplacedTabs(),this.moveMisplacedPanels(),this.enableTabs(),this.handleScrollButtons(),this.setupContentObserver(),this.setupResizeObserver(),this.validateLabel(),this.isPagesVariant){const t=this.findActivePagesTab();t&&(this.activateTab(t),this.scrollTabIntoView(t))}else{const t=this.activeTab||this.tabs[0]?.name;if(t){this.show(t);const s=this.tabs.find((s=>s.name===t));s&&this.scrollTabIntoView(s)}}this.isLoaded=!0}disconnectedCallback(){this.showing&&(this.showing.cancel(),this.showing=null),this.hiding&&(this.hiding.cancel(),this.hiding=null),this.contentObserver&&this.contentObserver?.disconnect(),this.resizeObserver?.disconnect(),this.tabsContainer?.removeEventListener("scroll",this.updateScrollButtons)}setupContentObserver(){this.contentObserver=new MutationObserver(this.handleContentChange.bind(this)),this.contentObserver?.observe(this.host,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-pages-variant","aria-current"]})}setupResizeObserver(){this.resizeObserver=new ResizeObserver(this.updateScrollButtons),this.resizeObserver.observe(this.tabsContainer)}handleContentChange(t){const s=this.shouldRedetectVariant(t);this.hasAriaCurrentChanged(t)&&this.isPagesVariant&&this.updateActivePagesTab(),s&&this.handleVariantChange(),this.updateScrollButtons()}shouldRedetectVariant(t){return t.some((t=>"childList"===t.type?t.addedNodes.length>0||t.removedNodes.length>0:"attributes"===t.type&&"data-pages-variant"===t.attributeName))}hasAriaCurrentChanged(t){return t.some((t=>"attributes"===t.type&&"aria-current"===t.attributeName))}updateActivePagesTab(){const t=this.findActivePagesTab();t&&t!==this.currentActiveTab&&(this.activateTab(t),this.scrollTabIntoView(t,"smooth"))}handleVariantChange(){const t=this.isPagesVariant;this.detectVariant(),t!==this.isPagesVariant&&(this.enableTabs(),this.initializeActiveTab())}initializeActiveTab(){if(this.isPagesVariant){const t=this.findActivePagesTab();t&&(this.activateTab(t),this.scrollTabIntoView(t))}else{const t=this.activeTab||this.tabs[0]?.name;t&&this.show(t)}}detectVariant(){const t=this.tabs.some((t=>null!==t.querySelector("a")||"true"===t.dataset.pagesVariant));if(t&&this.panels.length>0)throw Error("PostTabs: Mixed mode detected. Cannot use both Page Tabs (anchor elements) and Content Tabs (post-tab-panel elements) variants at the same time.");this.isPagesVariant=t,this.host.classList.remove("page-tabs","content-tabs"),this.host.classList.add(this.isPagesVariant?"page-tabs":"content-tabs")}findActivePagesTab(){return this.tabs.find((t=>null!==t.querySelector('a[aria-current="page"]')))||null}async show(t){try{if(t===this.currentActiveTab?.name)return;const s=this.currentActiveTab,e=this.host.querySelector(`post-tab-item[name="${t}"]`);if(!e)return;if(this.activateTab(e),this.scrollTabIntoView(e,"smooth"),this.showing&&(this.showing.finish(),this.showing=null),!s||this.showing||this.hiding||this.hidePanel(s.name),await this.awaitAnimation(this.hiding))return;if(this.showSelectedPanel(),await this.awaitAnimation(this.showing))return;this.isLoaded&&this.currentActiveTab&&this.postChange.emit(this.currentActiveTab.name)}catch(t){if(this.isAbortError(t))return;throw t}}async awaitAnimation(t){if(!t)return!1;try{return await t.finished,!1}catch(t){if(this.isAbortError(t))return!0;throw t}}isAbortError(t){return(t instanceof DOMException||t instanceof Error)&&"AbortError"===t.name}moveMisplacedTabs(){this.tabs&&this.tabs.forEach((t=>{t.getAttribute("slot")&&t.removeAttribute("slot")}))}moveMisplacedPanels(){this.panels&&this.panels.forEach((t=>{"panels"!==t.getAttribute("slot")&&t.setAttribute("slot","panels")}))}enableTabs(){this.tabs&&(this.tabs.forEach((async t=>{if(await c(t),this.isPagesVariant)return;if(t.getAttribute("aria-controls"))return;const s=this.getPanel(t.name);s&&(t.setAttribute("aria-controls",s.id),s.setAttribute("aria-labelledby",t.id)),t.addEventListener("click",(()=>{this.show(t.name)})),t.addEventListener("keydown",(s=>{if("Enter"!==s.key&&" "!==s.key||(s.preventDefault(),this.show(t.name)),"Home"!==s.key&&"End"!==s.key)return;s.preventDefault();const e=this.tabs.filter((t=>!t.hasAttribute("disabled")));if(0===e.length)return;const i="Home"===s.key?e[0]:e.at(-1);i&&(i?.focus(),this.show(i.name))})),t.addEventListener("keydown",(s=>{"ArrowRight"!==s.key&&"ArrowLeft"!==s.key||this.navigateTabs(t,s.key)}))})),this.currentActiveTab&&!this.currentActiveTab.isConnected&&this.show(this.tabs[0]?.name))}activateTab(t){this.currentActiveTab&&(this.isPagesVariant||(this.currentActiveTab.setAttribute("aria-selected","false"),this.currentActiveTab.setAttribute("tabindex","-1"))),this.isPagesVariant||(t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0")),this.currentActiveTab=t}hidePanel(t){const s=this.getPanel(t);s&&(this.hiding=n(s,"out"),this.hiding.onfinish=()=>{s.style.display="none",this.hiding=null})}showSelectedPanel(){if(!this.currentActiveTab)return;const t=this.getPanel(this.currentActiveTab.name);t&&(t.style.display="block",this.isLoaded&&(this.showing=n(t,"in"),this.showing.onfinish=()=>{this.showing=null}))}getPanel(t){return this.host.querySelector(`post-tab-panel[for=${t}]`)}navigateTabs(t,s){const e=Array.from(this.tabs).indexOf(t);let i;i="ArrowRight"===s?this.tabs[e+1]||this.tabs[0]:this.tabs[e-1]||this.tabs.at(-1),i&&(i.focus(),this.show(i.name))}scrollTabs(t){const s="prev"===t?-1:1,e=getComputedStyle(this.tabsContainer),i=Number.parseFloat(e.paddingInlineStart)||0,o=Number.parseFloat(e.paddingInlineEnd)||0;this.tabsContainer.scrollBy({left:s*(this.tabsContainer.clientWidth-i-o),behavior:"smooth"})}scrollTabIntoView(t,s="instant"){const e=this.tabsContainer,i=getComputedStyle(e),o=Number.parseFloat(i.paddingInlineStart)||0,a=Number.parseFloat(i.paddingInlineEnd)||0,r=t.offsetLeft,n=r+t.offsetWidth,c=e.scrollLeft+o,l=c+e.clientWidth-o-a;r<c?e.scrollTo({left:r-o,behavior:s}):n>l&&e.scrollTo({left:n-e.clientWidth+a,behavior:s})}handleScrollButtons(){this.updateScrollButtons(),this.tabsContainer.addEventListener("scroll",this.updateScrollButtons)}render(){const t=this.activeTab??this.tabs[0]?.name,s=this.isPagesVariant?"nav":"div";return i(o,{key:"3e187db1375d551ac80bb4facced0ad4d01ec3fd","data-version":l,style:r.isServer&&!this.isPagesVariant&&t?{["--post-tab-panel-"+t]:"block",["--post-tab-item-"+t]:"1"}:void 0},i("div",{key:"8efd1434819801304bb218bf8af2a9c570153d70",class:"tabs-wrapper",part:"post-tabs"},i("button",{key:"50d03d1a84e1f92c915d11e9b161498bd938b713",ref:t=>this.leftScrollButton=t,class:"scroll-btn scroll-btn-left",type:"button","aria-label":this.textPrevTabItems,tabindex:this.showLeftScrollButton?0:-1,hidden:!this.showLeftScrollButton,onClick:()=>this.scrollTabs("prev")},i("post-icon",{key:"f767e493126954bd9246b4c161aa197f5fe48fcc",name:"chevronleft"})),i(s,{key:"f319b638b3fdfb46d5e793001192bb96e4763cca",ref:t=>this.tabsContainer=t,class:"tabs",role:this.isPagesVariant?void 0:"tablist","aria-label":this.isPagesVariant?this.label:void 0},i("slot",{key:"65d15b30402eaf835f506f4cf24dd6373a632c52",onSlotchange:()=>{this.moveMisplacedTabs(),this.enableTabs()}})),i("button",{key:"f18317a83f6bd1c28c455ad6cfc8d58cd83c52d2",ref:t=>this.rightScrollButton=t,class:"scroll-btn scroll-btn-right",type:"button","aria-label":this.textNextTabItems,tabindex:this.showRightScrollButton?0:-1,hidden:!this.showRightScrollButton,onClick:()=>this.scrollTabs("next")},i("post-icon",{key:"fcc75e1de8c39f3e3e2864e3439e85881001c73c",name:"chevronright"}))),!this.isPagesVariant&&i("div",{key:"487435bf4d776f1771eff2c735e3476a05ef68c4",class:"tab-content",part:"post-tabs-content"},i("slot",{key:"bbe284adfc74d502a77ceaade18179101f6aaf30",name:"panels",onSlotchange:()=>this.moveMisplacedPanels()})))}get host(){return this}static get watchers(){return{label:[{validateLabel:0}]}}static get style(){return':host{display:block}:host .tabs-wrapper{position:relative;display:flex;align-items:center}:host .tabs-wrapper button.scroll-btn{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;display:flex;align-items:center;justify-content:center;transition:background-color 100ms,border-color 100ms,color 100ms;cursor:pointer}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn{background-color:ButtonFace !important}:host .tabs-wrapper button.scroll-btn:hover{background-color:Highlight !important}}:host .tabs-wrapper button.scroll-btn post-icon{color:currentColor}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn post-icon{color:Highlight}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn:hover post-icon{color:canvas}}:host .tabs-wrapper button.scroll-btn[hidden]{display:none}:host .tabs-wrapper button.scroll-btn{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 .tabs-wrapper button.scroll-btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;outline-offset:calc(var(--post-device-spacing-padding-28) + -1*var(--post-device-border-width-default)) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){transition:none}:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:has(:focus-visible),.pretend-focus):hover{color:HighlightText;border-color:HighlightText}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;outline-offset:calc(var(--post-device-spacing-padding-28) + -1*var(--post-device-border-width-default)) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:focus-within,.pretend-focus){transition:none}:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:focus-within,.pretend-focus):hover{color:HighlightText;border-color:HighlightText}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}:host .tabs-wrapper .tabs{overflow-x:hidden;background-color:rgba(0,0,0,0) !important;display:flex;flex-wrap:nowrap;align-items:end;overscroll-behavior-x:contain;white-space:nowrap;margin-block:0;padding-inline-start:0;list-style:none}:host(.page-tabs){overflow:visible !important}:host(.page-tabs) .tabs-wrapper{margin-inline:calc(-1*(var(--post-container-offset) + var(--post-device-grid-padding-inline-container)))}:host(.page-tabs) .tabs-wrapper button.scroll-btn{color:var(--post-scheme-color-interactive-primary-enabled-fg5);background-color:var(--post-scheme-color-interactive-primary-enabled-bg5);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-enabled-stroke);position:absolute;z-index:2;box-shadow:var(--post-device-elevation-200);border-radius:var(--post-device-border-radius-2)}:host(.page-tabs) .tabs-wrapper button.scroll-btn:hover{border-color:var(--post-scheme-color-interactive-primary-hover-stroke) !important;color:var(--post-scheme-color-interactive-primary-hover-fg4);background-color:var(--post-scheme-color-interactive-primary-hover-bg8)}:host(.page-tabs) .tabs-wrapper button.scroll-btn.scroll-btn-left{inset-inline-start:calc(var(--post-container-offset) + var(--post-device-grid-padding-inline-container));border-inline-start:none;border-radius:0 var(--post-device-border-radius-2) var(--post-device-border-radius-2) 0}:host(.page-tabs) .tabs-wrapper button.scroll-btn.scroll-btn-right{inset-inline-end:calc(var(--post-container-offset) + var(--post-device-grid-padding-inline-container));border-inline-end:none;border-radius:var(--post-device-border-radius-2) 0 0 var(--post-device-border-radius-2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(.page-tabs) .tabs-wrapper button.scroll-btn.scroll-btn{background-color:Highlight;color:HighlightText}}:host(.page-tabs) .tabs-wrapper::after{content:"";position:absolute;inset-block-end:0;inset-inline-start:0;width:100%;height:var(--post-device-border-width-default);background-color:var(--post-palette-color-nested-tabs-page-stroke)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(.page-tabs) .tabs-wrapper::after{background-color:LinkText}}:host(.page-tabs) .tabs-wrapper .tabs{padding-inline:calc(var(--post-container-offset) + var(--post-device-grid-padding-inline-container));gap:var(--post-device-spacing-gap-inline-5);scrollbar-width:none}:host(.page-tabs) .tabs-wrapper .tabs::-webkit-scrollbar{display:none}:host(.page-tabs:not([size=small])) button.scroll-btn{top:var(--post-device-spacing-padding-block-35)}:host(.page-tabs[size=small]) button.scroll-btn{top:var(--post-device-spacing-padding-block-8)}:host(.content-tabs) .tabs-wrapper button.scroll-btn{flex-shrink:0;color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}:host(.content-tabs) .tabs-wrapper button.scroll-btn:hover{border-color:var(--post-scheme-color-interactive-primary-hover-stroke) !important;color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(.content-tabs) .tabs-wrapper button.scroll-btn:hover{color:HighlightText}}:host(.page-tabs:not([size=small])) .tabs-wrapper button.scroll-btn{height:var(--post-device-sizing-interactive-button-height-10);width:var(--post-device-sizing-interactive-button-width-1)}:host(.page-tabs:not([size=small])) .tabs-wrapper button.scroll-btn.scroll-btn-left{padding-inline:var(--post-device-spacing-padding-38) var(--post-device-spacing-padding-39)}:host(.page-tabs:not([size=small])) .tabs-wrapper button.scroll-btn.scroll-btn-right{padding-inline:var(--post-device-spacing-padding-39) var(--post-device-spacing-padding-38)}:host([size=small]) .tabs-wrapper button.scroll-btn{height:var(--post-device-sizing-interactive-button-size-1);width:var(--post-device-sizing-interactive-button-size-1)}:host([size=small]) .tabs-wrapper button.scroll-btn.scroll-btn-left{padding-inline:var(--post-device-spacing-padding-41) var(--post-device-spacing-padding-42)}:host([size=small]) .tabs-wrapper button.scroll-btn.scroll-btn-right{padding-inline:var(--post-device-spacing-padding-42) var(--post-device-spacing-padding-41)}:host([size=small]) .tabs-wrapper button.scroll-btn post-icon{height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4)}'}},[257,"post-tabs",{textPrevTabItems:[513,"text-prev-tab-items"],textNextTabItems:[513,"text-next-tab-items"],activeTab:[513,"active-tab"],size:[513],label:[513],isPagesVariant:[32],showLeftScrollButton:[32],showRightScrollButton:[32],show:[64]},void 0,{label:[{validateLabel:0}]}]);d([b(["small","large"])],v.prototype,"size",void 0),d([p("string")],v.prototype,"label",void 0);const u=v,g=function(){"undefined"!=typeof customElements&&["post-tabs","post-icon"].forEach((t=>{switch(t){case"post-tabs":customElements.get(a(t))||customElements.define(a(t),v);break;case"post-icon":customElements.get(a(t))||h()}}))};export{u as PostTabs,g as defineCustomElement}
|
|
1
|
+
import{proxyCustomElement as t,HTMLElement as s,createEvent as e,h as i,Host as o,transformTag as a,Build as r}from"@stencil/core/internal/client";import{f as n}from"./fade.js";import"./breakpoints.js";import{c}from"./component-on-ready.js";import{v as l}from"./package.js";import{d as h}from"./post-icon2.js";import{O as b}from"./one-of.js";import{T as p}from"./type.js";var d=function(t,s,e,i){var o,a=arguments.length,r=a<3?s:null===i?i=Object.getOwnPropertyDescriptor(s,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,s,e,i);else for(var n=t.length-1;n>=0;n--)(o=t[n])&&(r=(a<3?o(r):a>3?o(s,e,r):o(s,e))||r);return a>3&&r&&Object.defineProperty(s,e,r),r};const v=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.postChange=e(this,"postChange",7),this.showing=null,this.hiding=null,this.isLoaded=!1,this.isPagesVariant=!1,this.showLeftScrollButton=!1,this.showRightScrollButton=!1,this.textPrevTabItems="Previous tab items",this.textNextTabItems="Next tab items",this.size="large",this.updateScrollButtons=()=>{if(!this.tabsContainer)return;const t=getComputedStyle(this.tabsContainer),s=Number.parseFloat(t.paddingInlineStart)||0,e=Number.parseFloat(t.paddingInlineEnd)||0,i=this.tabsContainer.clientWidth-s-e,o=this.tabsContainer.scrollWidth-s-e;this.showLeftScrollButton=this.tabsContainer.scrollLeft>0,this.showRightScrollButton=this.tabsContainer.scrollLeft+i<o}}get tabs(){return Array.from(this.host.querySelectorAll("post-tab-item")).filter((t=>t.closest("post-tabs")===this.host))}get panels(){return Array.from(this.host.querySelectorAll("post-tab-panel")).filter((t=>t.closest("post-tabs")===this.host))}validateLabel(){this.isPagesVariant&&!this.label&&console.error(`[${this.host.localName}] Property "label" is required in Pages variant. Received: ${JSON.stringify(this.label)}.`,this.host)}componentWillRender(){this.detectVariant()}componentDidLoad(){if(this.leftScrollButton.ariaControlsElements=[this.tabsContainer],this.rightScrollButton.ariaControlsElements=[this.tabsContainer],this.moveMisplacedTabs(),this.moveMisplacedPanels(),this.enableTabs(),this.handleScrollButtons(),this.setupContentObserver(),this.setupResizeObserver(),this.validateLabel(),this.isPagesVariant){const t=this.findActivePagesTab();t&&(this.activateTab(t),this.scrollTabIntoView(t))}else{const t=this.activeTab||this.tabs[0]?.name;if(t){this.show(t);const s=this.tabs.find((s=>s.name===t));s&&this.scrollTabIntoView(s)}}this.isLoaded=!0}disconnectedCallback(){this.showing&&(this.showing.cancel(),this.showing=null),this.hiding&&(this.hiding.cancel(),this.hiding=null),this.contentObserver&&this.contentObserver?.disconnect(),this.resizeObserver?.disconnect(),this.tabsContainer?.removeEventListener("scroll",this.updateScrollButtons)}setupContentObserver(){this.contentObserver=new MutationObserver(this.handleContentChange.bind(this)),this.contentObserver?.observe(this.host,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-pages-variant","aria-current"]})}setupResizeObserver(){this.resizeObserver=new ResizeObserver(this.updateScrollButtons),this.resizeObserver.observe(this.tabsContainer)}handleContentChange(t){const s=this.shouldRedetectVariant(t);this.hasAriaCurrentChanged(t)&&this.isPagesVariant&&this.updateActivePagesTab(),s&&this.handleVariantChange(),this.updateScrollButtons()}shouldRedetectVariant(t){return t.some((t=>"childList"===t.type?t.addedNodes.length>0||t.removedNodes.length>0:"attributes"===t.type&&"data-pages-variant"===t.attributeName))}hasAriaCurrentChanged(t){return t.some((t=>"attributes"===t.type&&"aria-current"===t.attributeName))}updateActivePagesTab(){const t=this.findActivePagesTab();t&&t!==this.currentActiveTab&&(this.activateTab(t),this.scrollTabIntoView(t,"smooth"))}handleVariantChange(){const t=this.isPagesVariant;this.detectVariant(),t!==this.isPagesVariant&&(this.enableTabs(),this.initializeActiveTab())}initializeActiveTab(){if(this.isPagesVariant){const t=this.findActivePagesTab();t&&(this.activateTab(t),this.scrollTabIntoView(t))}else{const t=this.activeTab||this.tabs[0]?.name;t&&this.show(t)}}detectVariant(){const t=this.tabs.some((t=>null!==t.querySelector("a")||"true"===t.dataset.pagesVariant));if(t&&this.panels.length>0)throw Error("PostTabs: Mixed mode detected. Cannot use both Page Tabs (anchor elements) and Content Tabs (post-tab-panel elements) variants at the same time.");this.isPagesVariant=t,this.host.classList.remove("page-tabs","content-tabs"),this.host.classList.add(this.isPagesVariant?"page-tabs":"content-tabs")}findActivePagesTab(){return this.tabs.find((t=>null!==t.querySelector('a[aria-current="page"]')))||null}async show(t){try{if(t===this.currentActiveTab?.name)return;const s=this.currentActiveTab,e=this.host.querySelector(`post-tab-item[name="${t}"]`);if(!e)return;if(this.activateTab(e),this.scrollTabIntoView(e,"smooth"),this.showing&&(this.showing.finish(),this.showing=null),!s||this.showing||this.hiding||this.hidePanel(s.name),await this.awaitAnimation(this.hiding))return;if(this.showSelectedPanel(),await this.awaitAnimation(this.showing))return;this.isLoaded&&this.currentActiveTab&&this.postChange.emit(this.currentActiveTab.name)}catch(t){if(this.isAbortError(t))return;throw t}}async awaitAnimation(t){if(!t)return!1;try{return await t.finished,!1}catch(t){if(this.isAbortError(t))return!0;throw t}}isAbortError(t){return(t instanceof DOMException||t instanceof Error)&&"AbortError"===t.name}moveMisplacedTabs(){this.tabs&&this.tabs.forEach((t=>{t.getAttribute("slot")&&t.removeAttribute("slot")}))}moveMisplacedPanels(){this.panels&&this.panels.forEach((t=>{"panels"!==t.getAttribute("slot")&&t.setAttribute("slot","panels")}))}enableTabs(){this.tabs&&(this.tabs.forEach((async t=>{if(await c(t),this.isPagesVariant)return;if(t.getAttribute("aria-controls"))return;const s=this.getPanel(t.name);s&&(t.setAttribute("aria-controls",s.id),s.setAttribute("aria-labelledby",t.id)),t.addEventListener("click",(()=>{this.show(t.name)})),t.addEventListener("keydown",(s=>{if("Enter"!==s.key&&" "!==s.key||(s.preventDefault(),this.show(t.name)),"Home"!==s.key&&"End"!==s.key)return;s.preventDefault();const e=this.tabs.filter((t=>!t.hasAttribute("disabled")));if(0===e.length)return;const i="Home"===s.key?e[0]:e.at(-1);i&&(i?.focus(),this.show(i.name))})),t.addEventListener("keydown",(s=>{"ArrowRight"!==s.key&&"ArrowLeft"!==s.key||this.navigateTabs(t,s.key)}))})),this.currentActiveTab&&!this.currentActiveTab.isConnected&&this.show(this.tabs[0]?.name))}activateTab(t){this.currentActiveTab&&(this.isPagesVariant||(this.currentActiveTab.setAttribute("aria-selected","false"),this.currentActiveTab.setAttribute("tabindex","-1"))),this.isPagesVariant||(t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0")),this.currentActiveTab=t}hidePanel(t){const s=this.getPanel(t);s&&(this.hiding=n(s,"out"),this.hiding.onfinish=()=>{s.style.display="none",this.hiding=null})}showSelectedPanel(){if(!this.currentActiveTab)return;const t=this.getPanel(this.currentActiveTab.name);t&&(t.style.display="block",this.isLoaded&&(this.showing=n(t,"in"),this.showing.onfinish=()=>{this.showing=null}))}getPanel(t){return this.host.querySelector(`post-tab-panel[for=${t}]`)}navigateTabs(t,s){const e=Array.from(this.tabs).indexOf(t);let i;i="ArrowRight"===s?this.tabs[e+1]||this.tabs[0]:this.tabs[e-1]||this.tabs.at(-1),i&&(i.focus(),this.show(i.name))}scrollTabs(t){const s="prev"===t?-1:1,e=getComputedStyle(this.tabsContainer),i=Number.parseFloat(e.paddingInlineStart)||0,o=Number.parseFloat(e.paddingInlineEnd)||0;this.tabsContainer.scrollBy({left:s*(this.tabsContainer.clientWidth-i-o),behavior:"smooth"})}scrollTabIntoView(t,s="instant"){const e=this.tabsContainer,i=getComputedStyle(e),o=Number.parseFloat(i.paddingInlineStart)||0,a=Number.parseFloat(i.paddingInlineEnd)||0,r=t.offsetLeft,n=r+t.offsetWidth,c=e.scrollLeft+o,l=c+e.clientWidth-o-a;r<c?e.scrollTo({left:r-o,behavior:s}):n>l&&e.scrollTo({left:n-e.clientWidth+a,behavior:s})}handleScrollButtons(){this.updateScrollButtons(),this.tabsContainer.addEventListener("scroll",this.updateScrollButtons)}render(){const t=this.activeTab??this.tabs[0]?.name,s=this.isPagesVariant?"nav":"div";return i(o,{key:"0520b7aba909495feef9358b2e572f767e42dce2","data-version":l,style:r.isServer&&!this.isPagesVariant&&t?{["--post-tab-panel-"+t]:"block",["--post-tab-item-"+t]:"1"}:void 0},i("div",{key:"779d35686ab406d8b60b595aea6ca67eb5b7d82a",class:"tabs-wrapper",part:"post-tabs"},i("button",{key:"2be9734aa1389baf48901e1eafe759f887ed9490",ref:t=>this.leftScrollButton=t,class:"scroll-btn scroll-btn-left",type:"button","aria-label":this.textPrevTabItems,tabindex:this.showLeftScrollButton?0:-1,hidden:!this.showLeftScrollButton,onClick:()=>this.scrollTabs("prev")},i("post-icon",{key:"ca6b0acaef9179468737d3669acbc61dfb709657",name:"chevronleft"})),i(s,{key:"df8d1f5ca66b86baeb13123459059f1f399f5383",ref:t=>this.tabsContainer=t,class:"tabs",role:this.isPagesVariant?void 0:"tablist","aria-label":this.isPagesVariant?this.label:void 0},i("slot",{key:"e9c618d1f018381f37c0b46aea741abe797d7e37",onSlotchange:()=>{this.moveMisplacedTabs(),this.enableTabs()}})),i("button",{key:"79e0ad08c240f251e5805d71319d6ce32d843367",ref:t=>this.rightScrollButton=t,class:"scroll-btn scroll-btn-right",type:"button","aria-label":this.textNextTabItems,tabindex:this.showRightScrollButton?0:-1,hidden:!this.showRightScrollButton,onClick:()=>this.scrollTabs("next")},i("post-icon",{key:"491fc9c7746896d9a140fa6cbb97a432ff174ca3",name:"chevronright"}))),!this.isPagesVariant&&i("div",{key:"04839eb63e75923e733ec4eea84cd345ae480e70",class:"tab-content",part:"post-tabs-content"},i("slot",{key:"64483606952f79810e7a24105f5c9f822180b6ca",name:"panels",onSlotchange:()=>this.moveMisplacedPanels()})))}get host(){return this}static get watchers(){return{label:[{validateLabel:0}]}}static get style(){return':host{display:block}:host .tabs-wrapper{position:relative;display:flex;align-items:center}:host .tabs-wrapper button.scroll-btn{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;display:flex;align-items:center;justify-content:center;transition:background-color 100ms,border-color 100ms,color 100ms;cursor:pointer}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn{background-color:ButtonFace !important}:host .tabs-wrapper button.scroll-btn:hover{background-color:Highlight !important}}:host .tabs-wrapper button.scroll-btn post-icon{color:currentColor}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn post-icon{color:Highlight}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn:hover post-icon{color:canvas}}:host .tabs-wrapper button.scroll-btn[hidden]{display:none}:host .tabs-wrapper button.scroll-btn{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 .tabs-wrapper button.scroll-btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;outline-offset:calc(var(--post-device-spacing-padding-28) + -1*var(--post-device-border-width-default)) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){transition:none}:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:has(:focus-visible),.pretend-focus):hover{color:HighlightText;border-color:HighlightText}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;outline-offset:calc(var(--post-device-spacing-padding-28) + -1*var(--post-device-border-width-default)) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:focus-within,.pretend-focus){transition:none}:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:focus-within,.pretend-focus):hover{color:HighlightText;border-color:HighlightText}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .tabs-wrapper button.scroll-btn:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}:host .tabs-wrapper .tabs{overflow-x:hidden;background-color:rgba(0,0,0,0) !important;display:flex;flex-wrap:nowrap;align-items:end;overscroll-behavior-x:contain;white-space:nowrap;margin-block:0;padding-inline-start:0;list-style:none}:host(.page-tabs){overflow:visible !important}:host(.page-tabs) .tabs-wrapper{margin-inline:calc(-1*(var(--post-container-offset) + var(--post-device-grid-padding-inline-container)))}:host(.page-tabs) .tabs-wrapper button.scroll-btn{color:var(--post-scheme-color-interactive-primary-enabled-fg5);background-color:var(--post-scheme-color-interactive-primary-enabled-bg5);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-enabled-stroke);position:absolute;z-index:2;box-shadow:var(--post-device-elevation-200);border-radius:var(--post-device-border-radius-2)}:host(.page-tabs) .tabs-wrapper button.scroll-btn:hover{border-color:var(--post-scheme-color-interactive-primary-hover-stroke) !important;color:var(--post-scheme-color-interactive-primary-hover-fg4);background-color:var(--post-scheme-color-interactive-primary-hover-bg8)}:host(.page-tabs) .tabs-wrapper button.scroll-btn.scroll-btn-left{inset-inline-start:calc(var(--post-container-offset) + var(--post-device-grid-padding-inline-container));border-inline-start:none;border-radius:0 var(--post-device-border-radius-2) var(--post-device-border-radius-2) 0}:host(.page-tabs) .tabs-wrapper button.scroll-btn.scroll-btn-right{inset-inline-end:calc(var(--post-container-offset) + var(--post-device-grid-padding-inline-container));border-inline-end:none;border-radius:var(--post-device-border-radius-2) 0 0 var(--post-device-border-radius-2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(.page-tabs) .tabs-wrapper button.scroll-btn.scroll-btn{background-color:Highlight;color:HighlightText}}:host(.page-tabs) .tabs-wrapper::after{content:"";position:absolute;inset-block-end:0;inset-inline-start:0;width:100%;height:var(--post-device-border-width-default);background-color:var(--post-palette-color-nested-tabs-page-stroke)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(.page-tabs) .tabs-wrapper::after{background-color:LinkText}}:host(.page-tabs) .tabs-wrapper .tabs{padding-inline:calc(var(--post-container-offset) + var(--post-device-grid-padding-inline-container));gap:var(--post-device-spacing-gap-inline-5);scrollbar-width:none}:host(.page-tabs) .tabs-wrapper .tabs::-webkit-scrollbar{display:none}:host(.page-tabs:not([size=small])) button.scroll-btn{top:var(--post-device-spacing-padding-block-35)}:host(.page-tabs[size=small]) button.scroll-btn{top:var(--post-device-spacing-padding-block-8)}:host(.content-tabs) .tabs-wrapper button.scroll-btn{flex-shrink:0;color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}:host(.content-tabs) .tabs-wrapper button.scroll-btn:hover{border-color:var(--post-scheme-color-interactive-primary-hover-stroke) !important;color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(.content-tabs) .tabs-wrapper button.scroll-btn:hover{color:HighlightText}}:host(.page-tabs:not([size=small])) .tabs-wrapper button.scroll-btn{height:var(--post-device-sizing-interactive-button-height-10);width:var(--post-device-sizing-interactive-button-width-1)}:host(.page-tabs:not([size=small])) .tabs-wrapper button.scroll-btn.scroll-btn-left{padding-inline:var(--post-device-spacing-padding-38) var(--post-device-spacing-padding-39)}:host(.page-tabs:not([size=small])) .tabs-wrapper button.scroll-btn.scroll-btn-right{padding-inline:var(--post-device-spacing-padding-39) var(--post-device-spacing-padding-38)}:host([size=small]) .tabs-wrapper button.scroll-btn{height:var(--post-device-sizing-interactive-button-size-1);width:var(--post-device-sizing-interactive-button-size-1)}:host([size=small]) .tabs-wrapper button.scroll-btn.scroll-btn-left{padding-inline:var(--post-device-spacing-padding-41) var(--post-device-spacing-padding-42)}:host([size=small]) .tabs-wrapper button.scroll-btn.scroll-btn-right{padding-inline:var(--post-device-spacing-padding-42) var(--post-device-spacing-padding-41)}:host([size=small]) .tabs-wrapper button.scroll-btn post-icon{height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4)}'}},[257,"post-tabs",{textPrevTabItems:[513,"text-prev-tab-items"],textNextTabItems:[513,"text-next-tab-items"],activeTab:[513,"active-tab"],size:[513],label:[513],isPagesVariant:[32],showLeftScrollButton:[32],showRightScrollButton:[32],show:[64]},void 0,{label:[{validateLabel:0}]}]);d([b(["small","large"])],v.prototype,"size",void 0),d([p("string")],v.prototype,"label",void 0);const u=v,g=function(){"undefined"!=typeof customElements&&["post-tabs","post-icon"].forEach((t=>{switch(t){case"post-tabs":customElements.get(a(t))||customElements.define(a(t),v);break;case"post-icon":customElements.get(a(t))||h()}}))};export{u as PostTabs,g as defineCustomElement}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as t,H as e,t as o}from"./index.js";import{v as n}from"./p-Y58zWPwj.js";const i=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost()}connectedCallback(){this.host.dataset.version=n}get host(){return this}static get style(){return"post-menu-item button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;width:100%}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-menu-item button{background-color:ButtonFace !important}post-menu-item button:hover{background-color:Highlight !important}}post-menu-item a{text-decoration:none}post-menu-item button,post-menu-item a{position:relative;display:flex;align-items:center;padding:.5rem .75rem .5rem 1rem;gap:.75rem;font-size:.875rem;color:#050400;border-radius:0}post-menu-item button post-icon,post-menu-item a post-icon{width:1rem;height:1rem;margin-block:.25rem}@media screen and (min-width: 780px){post-menu-item button,post-menu-item a{font-size:1rem;padding-block:.75rem;gap:1rem}post-menu-item button post-icon,post-menu-item a post-icon{width:1.5rem;height:1.5rem;margin:0}}@media screen and (min-width: 1024px){post-menu-item button,post-menu-item a{font-size:1.25rem;padding-block:.8125rem}}post-menu-item button:focus-visible,post-menu-item a:focus-visible{outline-offset:2px !important;border-radius:4px}post-menu-item button:hover,post-menu-item a:hover{background-color:#504f4b;color:#fff}"}},[0,"post-menu-item"]);function m(){"undefined"!=typeof customElements&&["post-menu-item"].forEach((t=>{"post-menu-item"===t&&(customElements.get(o(t))||customElements.define(o(t),i))}))}m();export{i as P,m as d}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,t,H as s,h as o,a as i}from"./index.js";import"./p-Bji_4dfL.js";import{E as a}from"./p-rEfV4v4a.js";import{v as r}from"./p-
|
|
1
|
+
import{p as e,t,H as s,h as o,a as i}from"./index.js";import"./p-Bji_4dfL.js";import{E as a}from"./p-rEfV4v4a.js";import{v as r}from"./p-Y58zWPwj.js";import{R as c}from"./p-4wtxqxXu.js";import{O as l}from"./p-BaB8wJvk.js";var n=function(e,t,s,o){var i,a=arguments.length,r=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,s):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(r=(a<3?i(r):a>3?i(t,s,r):i(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r};const d=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.expandedItems=new Set,this.multiple=!1}syncHeadingLevel(){this.accordionItems.forEach((e=>{e.setAttribute("heading-level",String(this.headingLevel))}))}componentWillLoad(){this.registerAccordionItems()}componentDidLoad(){this.syncHeadingLevel()}collapseToggleHandler(e){const t=e.target,s=this.expandedItems.has(t);s?this.expandedItems.delete(t):this.expandedItems.add(t),this.multiple||s||Array.from(this.expandedItems.values()).filter((e=>e!==t)).forEach((e=>{e.toggle(!1)}))}async toggle(e){const t=this.accordionItems.find((t=>t.id===e));if(!t)throw new Error(`No post-accordion-item found with id #${e}.`);await t.toggle()}async expandAll(){this.multiple?await Promise.all(this.accordionItems.map((e=>e.toggle(!0)))):0===this.expandedItems.size&&await this.accordionItems[0].toggle(!0)}async collapseAll(){await Promise.all(this.accordionItems.map((e=>e.toggle(!1))))}registerAccordionItems(){this.accordionItems=Array.from(this.host.querySelectorAll("post-accordion-item")),this.accordionItems.filter((e=>!e.collapsed||this.expandedItems.has(e))).forEach(((e,t)=>{this.multiple||0===t?this.expandedItems.add(e):e.setAttribute("collapsed","")}))}render(){return o(i,{key:"4e3df581ac99aa14dfaaab836c90cee788607a76","data-version":r},o("div",{key:"425615868542199dc79439d04b9ca9ba815b05f3",class:"accordion"},o("slot",{key:"ba7c05b69377101275cd76ecffb476516ca52c83",onSlotchange:()=>this.registerAccordionItems()})))}get host(){return this}static get watchers(){return{headingLevel:[{syncHeadingLevel:0}]}}static get style(){return":host{display:block;border-block-start:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-primary-enabled-stroke)}"}},[257,"post-accordion",{headingLevel:[514,"heading-level"],multiple:[516],toggle:[64],expandAll:[64],collapseAll:[64]},[[0,"postToggle","collapseToggleHandler"]],{headingLevel:[{syncHeadingLevel:0}]}]);function h(){"undefined"!=typeof customElements&&["post-accordion"].forEach((e=>{"post-accordion"===e&&(customElements.get(t(e))||customElements.define(t(e),d))}))}n([c(),l([1,2,3,4,5,6])],d.prototype,"headingLevel",void 0),n([a("post-accordion-item")],d.prototype,"collapseToggleHandler",null),h();export{d as P,h as d}
|