@carbon/ibm-products-web-components 0.20.1 → 0.21.0-rc.0
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/custom-elements.json +2374 -352
- package/es/components/about-modal/about-modal.scss.js +1 -1
- package/es/components/interstitial-screen/index.d.ts +13 -0
- package/es/components/interstitial-screen/index.js +13 -0
- package/es/components/interstitial-screen/index.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen-body-item.d.ts +372 -0
- package/es/components/interstitial-screen/interstitial-screen-body-item.js +69 -0
- package/es/components/interstitial-screen/interstitial-screen-body-item.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen-body-item.scss.js +13 -0
- package/es/components/interstitial-screen/interstitial-screen-body-item.scss.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen-body.d.ts +384 -0
- package/es/components/interstitial-screen/interstitial-screen-body.js +129 -0
- package/es/components/interstitial-screen/interstitial-screen-body.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen-body.scss.js +13 -0
- package/es/components/interstitial-screen/interstitial-screen-body.scss.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen-context.d.ts +18 -0
- package/es/components/interstitial-screen/interstitial-screen-context.js +48 -0
- package/es/components/interstitial-screen/interstitial-screen-context.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen-footer.d.ts +409 -0
- package/es/components/interstitial-screen/interstitial-screen-footer.js +229 -0
- package/es/components/interstitial-screen/interstitial-screen-footer.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen-footer.scss.js +13 -0
- package/es/components/interstitial-screen/interstitial-screen-footer.scss.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen-header.d.ts +394 -0
- package/es/components/interstitial-screen/interstitial-screen-header.js +157 -0
- package/es/components/interstitial-screen/interstitial-screen-header.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen-header.scss.js +13 -0
- package/es/components/interstitial-screen/interstitial-screen-header.scss.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen.d.ts +420 -0
- package/es/components/interstitial-screen/interstitial-screen.js +186 -0
- package/es/components/interstitial-screen/interstitial-screen.js.map +1 -0
- package/es/components/interstitial-screen/interstitial-screen.scss.js +13 -0
- package/es/components/interstitial-screen/interstitial-screen.scss.js.map +1 -0
- package/es/components/notification-panel/notification-panel.scss.js +1 -1
- package/es/components/page-header/_story-assets/overflowHandler.d.ts +98 -0
- package/es/components/page-header/_story-assets/overflowHandler.js +156 -0
- package/es/components/page-header/_story-assets/overflowHandler.js.map +1 -0
- package/es/components/page-header/_story-assets/set-of-breadcrumbs.d.ts +43 -0
- package/es/components/page-header/_story-assets/set-of-breadcrumbs.js +153 -0
- package/es/components/page-header/_story-assets/set-of-breadcrumbs.js.map +1 -0
- package/es/components/page-header/_story-assets/set-of-breadcrumbs.scss.js +13 -0
- package/es/components/page-header/_story-assets/set-of-breadcrumbs.scss.js.map +1 -0
- package/es/components/page-header/context.d.ts +14 -0
- package/es/components/page-header/context.js +26 -0
- package/es/components/page-header/context.js.map +1 -0
- package/es/components/page-header/index.d.ts +2 -0
- package/es/components/page-header/index.js +2 -0
- package/es/components/page-header/index.js.map +1 -1
- package/es/components/page-header/page-header-scroller.d.ts +56 -0
- package/es/components/page-header/page-header-scroller.js +165 -0
- package/es/components/page-header/page-header-scroller.js.map +1 -0
- package/es/components/page-header/page-header-tabs.js +1 -0
- package/es/components/page-header/page-header-tabs.js.map +1 -1
- package/es/components/page-header/page-header-title-breadcrumb.d.ts +20 -0
- package/es/components/page-header/page-header-title-breadcrumb.js +65 -0
- package/es/components/page-header/page-header-title-breadcrumb.js.map +1 -0
- package/es/components/page-header/page-header.d.ts +11 -1
- package/es/components/page-header/page-header.js +54 -71
- package/es/components/page-header/page-header.js.map +1 -1
- package/es/components/page-header/page-header.scss.js +1 -1
- package/es/components/page-header/page-header.test.js +136 -2
- package/es/components/page-header/page-header.test.js.map +1 -1
- package/es/components/page-header/utils.d.ts +32 -0
- package/es/components/page-header/utils.js +76 -0
- package/es/components/page-header/utils.js.map +1 -0
- package/es/components/side-panel/side-panel.d.ts +4 -0
- package/es/components/side-panel/side-panel.js +20 -5
- package/es/components/side-panel/side-panel.js.map +1 -1
- package/es/components/tearsheet/tearsheet.scss.js +1 -1
- package/es/components/truncated-text/truncated-text.d.ts +16 -11
- package/es/components/truncated-text/truncated-text.js +65 -58
- package/es/components/truncated-text/truncated-text.js.map +1 -1
- package/es/components/truncated-text/truncated-text.scss.js +1 -1
- package/es/components/truncated-text/truncated-text.test.js +6 -6
- package/es/components/user-avatar/user-avatar.d.ts +8 -0
- package/es/components/user-avatar/user-avatar.js +1 -0
- package/es/components/user-avatar/user-avatar.js.map +1 -1
- package/es/components/user-avatar/user-avatar.scss.js +1 -1
- package/es/packages/ibm-products-web-components/package.json.js +1 -1
- package/es/utilities/carousel/carousel.d.ts +8 -0
- package/es/utilities/carousel/carousel.js +210 -0
- package/es/utilities/carousel/carousel.js.map +1 -0
- package/es/utilities/carousel/index.d.ts +8 -0
- package/es/utilities/carousel/index.js +9 -0
- package/es/utilities/carousel/index.js.map +1 -0
- package/es/utilities/carousel/swipeEvents.d.ts +7 -0
- package/es/utilities/carousel/swipeEvents.js +109 -0
- package/es/utilities/carousel/swipeEvents.js.map +1 -0
- package/es/utilities/carousel/types.d.ts +36 -0
- package/es/utilities/carousel/types.js +8 -0
- package/es/utilities/carousel/types.js.map +1 -0
- package/es-custom/components/about-modal/about-modal.scss.js +1 -1
- package/es-custom/components/interstitial-screen/index.d.ts +13 -0
- package/es-custom/components/interstitial-screen/index.js +13 -0
- package/es-custom/components/interstitial-screen/index.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body-item.d.ts +372 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body-item.js +69 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body-item.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body-item.scss.js +13 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body-item.scss.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body.d.ts +384 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body.js +129 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body.scss.js +13 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body.scss.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-context.d.ts +18 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-context.js +48 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-context.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-footer.d.ts +409 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-footer.js +229 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-footer.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-footer.scss.js +13 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-footer.scss.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-header.d.ts +394 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-header.js +157 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-header.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-header.scss.js +13 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-header.scss.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen.d.ts +420 -0
- package/es-custom/components/interstitial-screen/interstitial-screen.js +186 -0
- package/es-custom/components/interstitial-screen/interstitial-screen.js.map +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen.scss.js +13 -0
- package/es-custom/components/interstitial-screen/interstitial-screen.scss.js.map +1 -0
- package/es-custom/components/notification-panel/notification-panel.scss.js +1 -1
- package/es-custom/components/page-header/_story-assets/overflowHandler.d.ts +98 -0
- package/es-custom/components/page-header/_story-assets/overflowHandler.js +156 -0
- package/es-custom/components/page-header/_story-assets/overflowHandler.js.map +1 -0
- package/es-custom/components/page-header/_story-assets/set-of-breadcrumbs.d.ts +43 -0
- package/es-custom/components/page-header/_story-assets/set-of-breadcrumbs.js +153 -0
- package/es-custom/components/page-header/_story-assets/set-of-breadcrumbs.js.map +1 -0
- package/es-custom/components/page-header/_story-assets/set-of-breadcrumbs.scss.js +13 -0
- package/es-custom/components/page-header/_story-assets/set-of-breadcrumbs.scss.js.map +1 -0
- package/es-custom/components/page-header/context.d.ts +14 -0
- package/es-custom/components/page-header/context.js +26 -0
- package/es-custom/components/page-header/context.js.map +1 -0
- package/es-custom/components/page-header/index.d.ts +2 -0
- package/es-custom/components/page-header/index.js +2 -0
- package/es-custom/components/page-header/index.js.map +1 -1
- package/es-custom/components/page-header/page-header-scroller.d.ts +56 -0
- package/es-custom/components/page-header/page-header-scroller.js +165 -0
- package/es-custom/components/page-header/page-header-scroller.js.map +1 -0
- package/es-custom/components/page-header/page-header-tabs.js +1 -0
- package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
- package/es-custom/components/page-header/page-header-title-breadcrumb.d.ts +20 -0
- package/es-custom/components/page-header/page-header-title-breadcrumb.js +65 -0
- package/es-custom/components/page-header/page-header-title-breadcrumb.js.map +1 -0
- package/es-custom/components/page-header/page-header.d.ts +11 -1
- package/es-custom/components/page-header/page-header.js +54 -71
- package/es-custom/components/page-header/page-header.js.map +1 -1
- package/es-custom/components/page-header/page-header.scss.js +1 -1
- package/es-custom/components/page-header/page-header.test.js +136 -2
- package/es-custom/components/page-header/page-header.test.js.map +1 -1
- package/es-custom/components/page-header/utils.d.ts +32 -0
- package/es-custom/components/page-header/utils.js +76 -0
- package/es-custom/components/page-header/utils.js.map +1 -0
- package/es-custom/components/side-panel/side-panel.d.ts +4 -0
- package/es-custom/components/side-panel/side-panel.js +20 -5
- package/es-custom/components/side-panel/side-panel.js.map +1 -1
- package/es-custom/components/tearsheet/tearsheet.scss.js +1 -1
- package/es-custom/components/truncated-text/truncated-text.d.ts +16 -11
- package/es-custom/components/truncated-text/truncated-text.js +65 -58
- package/es-custom/components/truncated-text/truncated-text.js.map +1 -1
- package/es-custom/components/truncated-text/truncated-text.scss.js +1 -1
- package/es-custom/components/truncated-text/truncated-text.test.js +6 -6
- package/es-custom/components/user-avatar/user-avatar.d.ts +8 -0
- package/es-custom/components/user-avatar/user-avatar.js +1 -0
- package/es-custom/components/user-avatar/user-avatar.js.map +1 -1
- package/es-custom/components/user-avatar/user-avatar.scss.js +1 -1
- package/es-custom/packages/ibm-products-web-components/package.json.js +1 -1
- package/es-custom/utilities/carousel/carousel.d.ts +8 -0
- package/es-custom/utilities/carousel/carousel.js +210 -0
- package/es-custom/utilities/carousel/carousel.js.map +1 -0
- package/es-custom/utilities/carousel/index.d.ts +8 -0
- package/es-custom/utilities/carousel/index.js +9 -0
- package/es-custom/utilities/carousel/index.js.map +1 -0
- package/es-custom/utilities/carousel/swipeEvents.d.ts +7 -0
- package/es-custom/utilities/carousel/swipeEvents.js +109 -0
- package/es-custom/utilities/carousel/swipeEvents.js.map +1 -0
- package/es-custom/utilities/carousel/types.d.ts +36 -0
- package/es-custom/utilities/carousel/types.js +8 -0
- package/es-custom/utilities/carousel/types.js.map +1 -0
- package/lib/components/interstitial-screen/index.d.ts +13 -0
- package/lib/components/interstitial-screen/interstitial-screen-body-item.d.ts +372 -0
- package/lib/components/interstitial-screen/interstitial-screen-body.d.ts +384 -0
- package/lib/components/interstitial-screen/interstitial-screen-context.d.ts +18 -0
- package/lib/components/interstitial-screen/interstitial-screen-footer.d.ts +409 -0
- package/lib/components/interstitial-screen/interstitial-screen-header.d.ts +394 -0
- package/lib/components/interstitial-screen/interstitial-screen.d.ts +420 -0
- package/lib/components/page-header/_story-assets/overflowHandler.d.ts +98 -0
- package/lib/components/page-header/_story-assets/set-of-breadcrumbs.d.ts +43 -0
- package/lib/components/page-header/context.d.ts +14 -0
- package/lib/components/page-header/index.d.ts +2 -0
- package/lib/components/page-header/page-header-scroller.d.ts +56 -0
- package/lib/components/page-header/page-header-title-breadcrumb.d.ts +20 -0
- package/lib/components/page-header/page-header.d.ts +11 -1
- package/lib/components/page-header/utils.d.ts +32 -0
- package/lib/components/side-panel/side-panel.d.ts +4 -0
- package/lib/components/truncated-text/truncated-text.d.ts +16 -11
- package/lib/components/user-avatar/user-avatar.d.ts +8 -0
- package/lib/utilities/carousel/carousel.d.ts +8 -0
- package/lib/utilities/carousel/index.d.ts +8 -0
- package/lib/utilities/carousel/swipeEvents.d.ts +7 -0
- package/lib/utilities/carousel/types.d.ts +36 -0
- package/package.json +7 -6
- package/scss/components/interstitial-screen/interstitial-screen-body-item.scss +18 -0
- package/scss/components/interstitial-screen/interstitial-screen-body.scss +30 -0
- package/scss/components/interstitial-screen/interstitial-screen-footer.scss +40 -0
- package/scss/components/interstitial-screen/interstitial-screen-header.scss +13 -0
- package/scss/components/interstitial-screen/interstitial-screen.scss +28 -0
- package/scss/components/interstitial-screen/story-styles.scss +27 -0
- package/scss/components/notification-panel/notification-panel.scss +0 -1
- package/scss/components/page-header/_story-assets/set-of-breadcrumbs.scss +41 -0
- package/scss/components/page-header/page-header.scss +85 -0
- package/scss/components/truncated-text/story-styles.scss +11 -10
- package/scss/components/truncated-text/truncated-text.scss +0 -15
- package/scss/components/user-avatar/user-avatar.scss +5 -2
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
import { css } from 'lit';
|
9
9
|
|
10
|
-
var styles = css(["a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;font-feature-settings:\"liga\" 1;font-size:100%;margin:0;padding:0;vertical-align:baseline}button,input,select,textarea{border-radius:0;font-family:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{background-color:var(--cds-background,#fff);color:var(--cds-text-primary,#161616);line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{font-size:100%}body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}strong{font-weight:600}@media screen and (-ms-high-contrast:active){svg{fill:ButtonText}}h1{font-size:var(--cds-heading-06-font-size,2.625rem);font-weight:var(--cds-heading-06-font-weight,300);letter-spacing:var(--cds-heading-06-letter-spacing,0);line-height:var(--cds-heading-06-line-height,1.199)}h2{font-size:var(--cds-heading-05-font-size,2rem);font-weight:var(--cds-heading-05-font-weight,400);letter-spacing:var(--cds-heading-05-letter-spacing,0);line-height:var(--cds-heading-05-line-height,1.25)}h3{font-size:var(--cds-heading-04-font-size,1.75rem);font-weight:var(--cds-heading-04-font-weight,400);letter-spacing:var(--cds-heading-04-letter-spacing,0);line-height:var(--cds-heading-04-line-height,1.28572)}h4{font-size:var(--cds-heading-03-font-size,1.25rem);font-weight:var(--cds-heading-03-font-weight,400);letter-spacing:var(--cds-heading-03-letter-spacing,0);line-height:var(--cds-heading-03-line-height,1.4)}h5{font-size:var(--cds-heading-02-font-size,1rem);font-weight:var(--cds-heading-02-font-weight,600);letter-spacing:var(--cds-heading-02-letter-spacing,0);line-height:var(--cds-heading-02-line-height,1.5)}h6{font-size:var(--cds-heading-01-font-size,.875rem);font-weight:var(--cds-heading-01-font-weight,600);letter-spacing:var(--cds-heading-01-letter-spacing,.16px);line-height:var(--cds-heading-01-line-height,1.42857)}p{font-size:var(--cds-body-02-font-size,1rem);font-weight:var(--cds-body-02-font-weight,400);letter-spacing:var(--cds-body-02-letter-spacing,0);line-height:var(--cds-body-02-line-height,1.5)}a{color:var(--cds-link-primary,#0062fe)}em{font-style:italic}@keyframes c4p--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes c4p--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes c4p--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}.c4p--layout--size-xs{--c4p-layout-size-height-context:var(--c4p-layout-size-height-xs,1.5rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-xs{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-xs,1.5rem))}.c4p--layout-constraint--size__min-xs{--c4p-layout-size-height-min:var(--c4p-layout-size-height-xs,1.5rem)}.c4p--layout-constraint--size__max-xs{--c4p-layout-size-height-max:var(--c4p-layout-size-height-xs,1.5rem)}.c4p--layout--size-sm{--c4p-layout-size-height-context:var(--c4p-layout-size-height-sm,2rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-sm{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-sm,2rem))}.c4p--layout-constraint--size__min-sm{--c4p-layout-size-height-min:var(--c4p-layout-size-height-sm,2rem)}.c4p--layout-constraint--size__max-sm{--c4p-layout-size-height-max:var(--c4p-layout-size-height-sm,2rem)}.c4p--layout--size-md{--c4p-layout-size-height-context:var(--c4p-layout-size-height-md,2.5rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-md{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-md,2.5rem))}.c4p--layout-constraint--size__min-md{--c4p-layout-size-height-min:var(--c4p-layout-size-height-md,2.5rem)}.c4p--layout-constraint--size__max-md{--c4p-layout-size-height-max:var(--c4p-layout-size-height-md,2.5rem)}.c4p--layout--size-lg{--c4p-layout-size-height-context:var(--c4p-layout-size-height-lg,3rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-lg{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-lg,3rem))}.c4p--layout-constraint--size__min-lg{--c4p-layout-size-height-min:var(--c4p-layout-size-height-lg,3rem)}.c4p--layout-constraint--size__max-lg{--c4p-layout-size-height-max:var(--c4p-layout-size-height-lg,3rem)}.c4p--layout--size-xl{--c4p-layout-size-height-context:var(--c4p-layout-size-height-xl,4rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-xl{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-xl,4rem))}.c4p--layout-constraint--size__min-xl{--c4p-layout-size-height-min:var(--c4p-layout-size-height-xl,4rem)}.c4p--layout-constraint--size__max-xl{--c4p-layout-size-height-max:var(--c4p-layout-size-height-xl,4rem)}.c4p--layout--size-2xl{--c4p-layout-size-height-context:var(--c4p-layout-size-height-2xl,5rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-2xl{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-2xl,5rem))}.c4p--layout-constraint--size__min-2xl{--c4p-layout-size-height-min:var(--c4p-layout-size-height-2xl,5rem)}.c4p--layout-constraint--size__max-2xl{--c4p-layout-size-height-max:var(--c4p-layout-size-height-2xl,5rem)}.c4p--layout--density-condensed{--c4p-layout-density-padding-inline-context:var(--c4p-layout-density-padding-inline-condensed,0.5rem);--c4p-layout-density-padding-inline:var(--c4p-layout-density-padding-inline-context)}.c4p--layout-constraint--density__default-condensed{--c4p-layout-density-padding-inline:var(--c4p-layout-density-padding-inline-context,var(--c4p-layout-density-padding-inline-condensed,0.5rem))}.c4p--layout-constraint--density__min-condensed{--c4p-layout-density-padding-inline-min:var(--c4p-layout-density-padding-inline-condensed,0.5rem)}.c4p--layout-constraint--density__max-condensed{--c4p-layout-density-padding-inline-max:var(--c4p-layout-density-padding-inline-condensed,0.5rem)}.c4p--layout--density-normal{--c4p-layout-density-padding-inline-context:var(--c4p-layout-density-padding-inline-normal,1rem);--c4p-layout-density-padding-inline:var(--c4p-layout-density-padding-inline-context)}.c4p--layout-constraint--density__default-normal{--c4p-layout-density-padding-inline:var(--c4p-layout-density-padding-inline-context,var(--c4p-layout-density-padding-inline-normal,1rem))}.c4p--layout-constraint--density__min-normal{--c4p-layout-density-padding-inline-min:var(--c4p-layout-density-padding-inline-normal,1rem)}.c4p--layout-constraint--density__max-normal{--c4p-layout-density-padding-inline-max:var(--c4p-layout-density-padding-inline-normal,1rem)}:root{--c4p-layout-size-height-xs:1.5rem;--c4p-layout-size-height-sm:2rem;--c4p-layout-size-height-md:2.5rem;--c4p-layout-size-height-lg:3rem;--c4p-layout-size-height-xl:4rem;--c4p-layout-size-height-2xl:5rem;--c4p-layout-size-height-min:0px;--c4p-layout-size-height-max:999999999px;--c4p-layout-density-padding-inline-condensed:0.5rem;--c4p-layout-density-padding-inline-normal:1rem;--c4p-layout-density-padding-inline-min:0px;--c4p-layout-density-padding-inline-max:999999999px}.c4p--assistive-text,.c4p--visually-hidden{block-size:1px;border:0;margin:-1px;overflow:hidden;padding:0;position:absolute;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}.c4p--empty-state{color:var(--cds-text-primary,#161616);display:flex}.c4p--empty-state .c4p--empty-state__header{font-size:var(--cds-heading-03-font-size,1.25rem);font-weight:var(--cds-heading-03-font-weight,400);letter-spacing:var(--cds-heading-03-letter-spacing,0);line-height:var(--cds-heading-03-line-height,1.4);margin:0;padding-block-end:.5rem}.c4p--empty-state .c4p--empty-state__subtitle{color:var(--cds-text-secondary,#525252);font-size:var(--cds-body-01-font-size,.875rem);font-weight:var(--cds-body-01-font-weight,400);letter-spacing:var(--cds-body-01-letter-spacing,.16px);line-height:var(--cds-body-01-line-height,1.42857);padding-block-end:1rem}.c4p--empty-state .c4p--empty-state__header--small{font-size:var(--cds-body-compact-02-font-size,1rem);font-weight:var(--cds-body-compact-02-font-weight,400);letter-spacing:var(--cds-body-compact-02-letter-spacing,0);line-height:var(--cds-body-compact-02-line-height,1.375);padding-block-end:.5rem}.c4p--empty-state .c4p--empty-state__subtitle--small{font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333)}.c4p--empty-state__illustration{block-size:auto;margin-block-end:1rem}.c4p--empty-state__illustration.c4p--empty-state__illustration--lg{max-inline-size:5rem;min-inline-size:5rem}.c4p--empty-state__illustration.c4p--empty-state__illustration--sm{max-inline-size:4rem;min-inline-size:4rem}.c4p--empty-state-position--top{flex-direction:column}.c4p--empty-state-position--right{flex-direction:row-reverse}.c4p--empty-state-position--bottom{flex-direction:column-reverse}.c4p--empty-state-position--left{flex-direction:row}.c4p--empty-state .c4p--empty-state__action-button{display:block;margin-block-end:1rem}.c4p--empty-state .c4p--empty-state__link{display:inline-block}@keyframes notifications-panel-fade-in{0%{opacity:0;transform:translateY(-38.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes notifications-panel-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-38.5rem)}}@keyframes notifications-panel-entrance-reduced{0%{opacity:0}to{opacity:1}}@keyframes notifications-panel-exit-reduced{0%{opacity:1}to{opacity:0}}.c4p--notifications-panel__entrance{animation:notifications-panel-fade-in .24s cubic-bezier(.2,0,.38,.9)}.c4p--notifications-panel__exit{animation:notifications-panel-fade-out .24s cubic-bezier(.2,0,.38,.9) forwards}@media (prefers-reduced-motion){.c4p--notifications-panel__entrance{animation:notifications-panel-entrance-reduced .15s cubic-bezier(.2,0,1,.9) forwards}.c4p--notifications-panel__exit{animation:notifications-panel-exit-reduced .15s cubic-bezier(.2,0,1,.9) forwards}}.c4p--notifications-panel__container{background-color:var(--cds-layer-01,#f4f4f4);border-block-end:1px solid var(--cds-border-subtle-02,#e0e0e0);border-inline-start:1px solid var(--cds-border-subtle-02,#e0e0e0);box-shadow:0 .125rem .25rem var(--cds-overlay,hsla(0,0%,9%,.5));color:var(--cds-text-primary,#161616);inset-block-start:3rem;inset-inline-end:0;max-block-size:38.5rem;max-inline-size:22.75rem;min-block-size:38.5rem;min-inline-size:20rem;overflow:auto;position:fixed;transition:transform .11s cubic-bezier(.2,0,.38,.9);z-index:2}.c4p--notifications-panel__container .c4p--notifications-panel__header-container{background-color:var(--cds-layer-01,#f4f4f4);border-block-end:1px solid var(--cds-border-subtle-01,#c6c6c6);inset-block-start:0;padding:.5rem 1rem;position:sticky;z-index:2}.c4p--notifications-panel__container .c4p--notifications-panel__header-container .c4p--notifications-panel__header-flex{align-items:center;display:flex;justify-content:space-between}.c4p--notifications-panel__container .c4p--notifications-panel__header-container .c4p--notifications-panel__do-not-disturb-toggle{padding-block-end:.5rem}.c4p--notifications-panel__container .c4p--notifications-panel__header-container .c4p--notifications-panel__do-not-disturb-toggle .cds--toggle__label-text{block-size:1px;border:0;margin:-1px;overflow:hidden;padding:0;position:absolute;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}.c4p--notifications-panel__container .c4p--notifications-panel__header-container .c4p--notifications-panel__dismiss-button{color:var(--cds-text-primary,#161616)}.c4p--notifications-panel__container .c4p--notifications-panel__header-container .c4p--notifications-panel__header{font-size:var(--cds-heading-compact-01-font-size,.875rem);font-weight:var(--cds-heading-compact-01-font-weight,600);letter-spacing:var(--cds-heading-compact-01-letter-spacing,.16px);line-height:var(--cds-heading-compact-01-line-height,1.28572);margin:0}.c4p--notifications-panel__container .c4p--notifications-panel__time-section-label{background-color:var(--cds-layer-01,#f4f4f4);color:var(--cds-text-secondary,#525252);font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);font-weight:600;inset-block-start:3.0625rem;letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333);padding:.5rem 1rem;position:sticky;z-index:2}.c4p--notifications-panel__container .c4p--notifications-panel__notification:focus,.c4p--notifications-panel__container .c4p--notifications-panel__notification:hover{background-color:var(--cds-layer-accent-01,#e0e0e0)}.c4p--notifications-panel__container .c4p--notifications-panel__notification:focus .c4p--notifications-panel__dismiss-single-button,.c4p--notifications-panel__container .c4p--notifications-panel__notification:hover .c4p--notifications-panel__dismiss-single-button{opacity:1}.c4p--notifications-panel__container .c4p--notifications-panel__notification:focus{border-color:var(--cds-focus,#0f62fe);box-shadow:inset 0 0 0 2px var(--cds-focus,#0f62fe),inset 0 0 0 2px var(--cds-background,#fff);outline:0}.c4p--notifications-panel__container .c4p--notifications-panel__notification{align-items:flex-start;background-color:var(--cds-layer-01,#f4f4f4);border:0;cursor:pointer;display:flex;inline-size:100%;min-block-size:6.25rem;padding:1rem;position:relative;text-align:start;transition:background-color .24s cubic-bezier(.2,0,.38,.9)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-title{color:var(--cds-text-secondary,#525252);font-size:var(--cds-heading-01-font-size,.875rem);font-weight:var(--cds-heading-01-font-weight,600);font-weight:400;letter-spacing:var(--cds-heading-01-letter-spacing,.16px);line-height:var(--cds-heading-01-line-height,1.42857);margin-block-end:.25rem}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-title.c4p--notifications-panel__notification-title-unread{color:var(--cds-text-secondary,#525252);font-weight:600;margin-block-end:.25rem}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notifications-link{font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-status-icon{margin-inline-end:.5rem;min-inline-size:1rem}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-status-icon.c4p--notifications-panel__notification-status-icon-error{fill:var(--cds-support-error,#da1e28)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-status-icon.c4p--notifications-panel__notification-status-icon-success{fill:var(--cds-support-success,#24a148)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-status-icon.c4p--notifications-panel__notification-status-icon-warning{fill:var(--cds-support-warning,#f1c21b)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-status-icon.c4p--notifications-panel__notification-status-icon-informational{fill:var(--cds-support-info,#0043ce)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-time-label{margin-block-end:.5rem}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-description,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-time-label{color:var(--cds-text-secondary,#525252);font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-description.c4p--notifications-panel__notification-short-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-description.c4p--notifications-panel__notification-long-description{display:block;overflow:initial;-webkit-line-clamp:initial;line-clamp:none}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-less-button,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-more-button{align-items:center;display:flex;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333);min-inline-size:5.5rem;padding:0}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-less-button .cds--btn__icon,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-more-button .cds--btn__icon{transition:transform .24s ease}@media (prefers-reduced-motion:reduce){.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-less-button .cds--btn__icon,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-more-button .cds--btn__icon{transition:none}}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-less-button.c4p--notifications-panel__notification-read-more-button .cds--btn__icon,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-more-button.c4p--notifications-panel__notification-read-more-button .cds--btn__icon{transform:rotate(0deg)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-less-button.c4p--notifications-panel__notification-read-less-button .cds--btn__icon,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-more-button.c4p--notifications-panel__notification-read-less-button .cds--btn__icon{transform:rotate(180deg)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .cds--popover-container{position:static}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__dismiss-single-button{align-items:center;color:var(--cds-text-primary,#161616);display:flex;inset-block-start:0;inset-inline-end:0;justify-content:center;min-inline-size:2rem;opacity:0;padding:0;position:absolute}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__dismiss-single-button:focus,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__dismiss-single-button:hover{opacity:1}.c4p--notifications-panel__container .c4p--notifications-panel__notification-previous:not(:first-of-type):before,.c4p--notifications-panel__container .c4p--notifications-panel__notification-today:not(:first-of-type):before,.c4p--notifications-panel__container .c4p--notifications-panel__notification-yesterday:not(:first-of-type):before{background-color:var(--cds-border-subtle-01,#c6c6c6);block-size:1px;content:\"\";inline-size:calc(100% - 2rem);inset-block-start:0;margin:0 auto;position:absolute;transition:background-color .24s cubic-bezier(.2,0,.38,.9)}.c4p--notifications-panel__container .c4p--notifications-panel__notification-previous:hover+.c4p--notifications-panel__notification-previous:not(:first-of-type):before,.c4p--notifications-panel__container .c4p--notifications-panel__notification-today:hover+.c4p--notifications-panel__notification-today:not(:first-of-type):before,.c4p--notifications-panel__container .c4p--notifications-panel__notification-yesterday:hover+.c4p--notifications-panel__notification-yesterday:not(:first-of-type):before{background-color:transparent}.c4p--notifications-panel__container .c4p--notifications-panel__main-section-empty.c4p--notifications-panel__main-section{align-items:center;block-size:100%;display:flex;justify-content:center;margin-block-start:10rem;min-block-size:0}.c4p--notifications-panel__container .c4p--notifications-panel__main-section-empty.c4p--notifications-panel__main-section .c4p-subtext{font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572)}.c4p--notifications-panel__container .c4p--notifications-panel__main-section{min-block-size:498px}.c4p--notifications-panel__container .c4p--notifications-panel__bottom-actions{align-items:center;background-color:var(--cds-layer-01,#f4f4f4);block-size:2.5rem;border-block-start:1px solid var(--cds-border-subtle-01,#c6c6c6);display:flex;inset-block-end:0;min-block-size:2.5rem;position:sticky;z-index:2}.c4p--notifications-panel__container .c4p--notifications-panel__bottom-actions .c4p--notifications-panel__view-all-button{align-items:center;block-size:2.5rem;border-inline-end:1px solid var(--cds-border-subtle-01,#c6c6c6);color:var(--cds-text-primary,#161616);display:flex;inline-size:100%;max-inline-size:calc(100% - 2.5rem);min-block-size:2.5rem}.c4p--notifications-panel__container .c4p--notifications-panel__bottom-actions .c4p--notifications-panel__settings-button{align-items:center;block-size:2.5rem;color:var(--cds-text-primary,#161616);display:flex;justify-content:center;min-block-size:2.5rem;min-inline-size:2.5rem;padding:0}.c4p--notifications-panel__container .c4p--notifications-panel__bottom-actions .c4p--notifications-panel__settings-button .cds--btn__icon{margin:0}.c4p--notifications-panel__header-container:has(.c4p--notifications-panel__do-not-disturb-toggle)+.c4p--notifications-panel__main-section .c4p--notifications-panel__time-section-label{inset-block-start:4.8125rem}:host(c4p-notification-panel) .c4p--notifications-panel__do-not-disturb-toggle{display:block;margin-block-start:-1rem}:host(c4p-notification-panel) ::slotted(.c4p--notifications-panel__bottom-actions){align-items:center;display:flex}.c4p--notifications-panel__header-container{--cds-heading-06-font-size:--cds-heading-compact-01-font-size;--cds-heading-06-font-weight:--cds-heading-compact-01-font-weight;--cds-heading-06-line-height:--cds-heading-compact-01-line-height;--cds-heading-06-letter-spacing:--cds-heading-compact-01-letter-spacing}.c4p--notifications-panel__dismiss-button{--cds-link-primary:--cds-text-primary;--cds-link-primary-hover:--cds-text-primary}.c4p--notifications-panel__bottom-actions-container{background-color:var(--cds-layer-01,#f4f4f4);block-size:2.5rem;border-block-start:1px solid var(--cds-border-subtle-01,#c6c6c6);inset-block-end:0;min-block-size:2.5rem;position:sticky;z-index:2}"]);
|
10
|
+
var styles = css(["a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;font-feature-settings:\"liga\" 1;font-size:100%;margin:0;padding:0;vertical-align:baseline}button,input,select,textarea{border-radius:0;font-family:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{background-color:var(--cds-background,#fff);color:var(--cds-text-primary,#161616);line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{font-size:100%}body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}strong{font-weight:600}@media screen and (-ms-high-contrast:active){svg{fill:ButtonText}}h1{font-size:var(--cds-heading-06-font-size,2.625rem);font-weight:var(--cds-heading-06-font-weight,300);letter-spacing:var(--cds-heading-06-letter-spacing,0);line-height:var(--cds-heading-06-line-height,1.199)}h2{font-size:var(--cds-heading-05-font-size,2rem);font-weight:var(--cds-heading-05-font-weight,400);letter-spacing:var(--cds-heading-05-letter-spacing,0);line-height:var(--cds-heading-05-line-height,1.25)}h3{font-size:var(--cds-heading-04-font-size,1.75rem);font-weight:var(--cds-heading-04-font-weight,400);letter-spacing:var(--cds-heading-04-letter-spacing,0);line-height:var(--cds-heading-04-line-height,1.28572)}h4{font-size:var(--cds-heading-03-font-size,1.25rem);font-weight:var(--cds-heading-03-font-weight,400);letter-spacing:var(--cds-heading-03-letter-spacing,0);line-height:var(--cds-heading-03-line-height,1.4)}h5{font-size:var(--cds-heading-02-font-size,1rem);font-weight:var(--cds-heading-02-font-weight,600);letter-spacing:var(--cds-heading-02-letter-spacing,0);line-height:var(--cds-heading-02-line-height,1.5)}h6{font-size:var(--cds-heading-01-font-size,.875rem);font-weight:var(--cds-heading-01-font-weight,600);letter-spacing:var(--cds-heading-01-letter-spacing,.16px);line-height:var(--cds-heading-01-line-height,1.42857)}p{font-size:var(--cds-body-02-font-size,1rem);font-weight:var(--cds-body-02-font-weight,400);letter-spacing:var(--cds-body-02-letter-spacing,0);line-height:var(--cds-body-02-line-height,1.5)}a{color:var(--cds-link-primary,#0062fe)}em{font-style:italic}@keyframes c4p--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes c4p--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes c4p--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}.c4p--layout--size-xs{--c4p-layout-size-height-context:var(--c4p-layout-size-height-xs,1.5rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-xs{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-xs,1.5rem))}.c4p--layout-constraint--size__min-xs{--c4p-layout-size-height-min:var(--c4p-layout-size-height-xs,1.5rem)}.c4p--layout-constraint--size__max-xs{--c4p-layout-size-height-max:var(--c4p-layout-size-height-xs,1.5rem)}.c4p--layout--size-sm{--c4p-layout-size-height-context:var(--c4p-layout-size-height-sm,2rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-sm{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-sm,2rem))}.c4p--layout-constraint--size__min-sm{--c4p-layout-size-height-min:var(--c4p-layout-size-height-sm,2rem)}.c4p--layout-constraint--size__max-sm{--c4p-layout-size-height-max:var(--c4p-layout-size-height-sm,2rem)}.c4p--layout--size-md{--c4p-layout-size-height-context:var(--c4p-layout-size-height-md,2.5rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-md{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-md,2.5rem))}.c4p--layout-constraint--size__min-md{--c4p-layout-size-height-min:var(--c4p-layout-size-height-md,2.5rem)}.c4p--layout-constraint--size__max-md{--c4p-layout-size-height-max:var(--c4p-layout-size-height-md,2.5rem)}.c4p--layout--size-lg{--c4p-layout-size-height-context:var(--c4p-layout-size-height-lg,3rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-lg{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-lg,3rem))}.c4p--layout-constraint--size__min-lg{--c4p-layout-size-height-min:var(--c4p-layout-size-height-lg,3rem)}.c4p--layout-constraint--size__max-lg{--c4p-layout-size-height-max:var(--c4p-layout-size-height-lg,3rem)}.c4p--layout--size-xl{--c4p-layout-size-height-context:var(--c4p-layout-size-height-xl,4rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-xl{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-xl,4rem))}.c4p--layout-constraint--size__min-xl{--c4p-layout-size-height-min:var(--c4p-layout-size-height-xl,4rem)}.c4p--layout-constraint--size__max-xl{--c4p-layout-size-height-max:var(--c4p-layout-size-height-xl,4rem)}.c4p--layout--size-2xl{--c4p-layout-size-height-context:var(--c4p-layout-size-height-2xl,5rem);--c4p-layout-size-height:var(--c4p-layout-size-height-context)}.c4p--layout-constraint--size__default-2xl{--c4p-layout-size-height:var(--c4p-layout-size-height-context,var(--c4p-layout-size-height-2xl,5rem))}.c4p--layout-constraint--size__min-2xl{--c4p-layout-size-height-min:var(--c4p-layout-size-height-2xl,5rem)}.c4p--layout-constraint--size__max-2xl{--c4p-layout-size-height-max:var(--c4p-layout-size-height-2xl,5rem)}.c4p--layout--density-condensed{--c4p-layout-density-padding-inline-context:var(--c4p-layout-density-padding-inline-condensed,0.5rem);--c4p-layout-density-padding-inline:var(--c4p-layout-density-padding-inline-context)}.c4p--layout-constraint--density__default-condensed{--c4p-layout-density-padding-inline:var(--c4p-layout-density-padding-inline-context,var(--c4p-layout-density-padding-inline-condensed,0.5rem))}.c4p--layout-constraint--density__min-condensed{--c4p-layout-density-padding-inline-min:var(--c4p-layout-density-padding-inline-condensed,0.5rem)}.c4p--layout-constraint--density__max-condensed{--c4p-layout-density-padding-inline-max:var(--c4p-layout-density-padding-inline-condensed,0.5rem)}.c4p--layout--density-normal{--c4p-layout-density-padding-inline-context:var(--c4p-layout-density-padding-inline-normal,1rem);--c4p-layout-density-padding-inline:var(--c4p-layout-density-padding-inline-context)}.c4p--layout-constraint--density__default-normal{--c4p-layout-density-padding-inline:var(--c4p-layout-density-padding-inline-context,var(--c4p-layout-density-padding-inline-normal,1rem))}.c4p--layout-constraint--density__min-normal{--c4p-layout-density-padding-inline-min:var(--c4p-layout-density-padding-inline-normal,1rem)}.c4p--layout-constraint--density__max-normal{--c4p-layout-density-padding-inline-max:var(--c4p-layout-density-padding-inline-normal,1rem)}:root{--c4p-layout-size-height-xs:1.5rem;--c4p-layout-size-height-sm:2rem;--c4p-layout-size-height-md:2.5rem;--c4p-layout-size-height-lg:3rem;--c4p-layout-size-height-xl:4rem;--c4p-layout-size-height-2xl:5rem;--c4p-layout-size-height-min:0px;--c4p-layout-size-height-max:999999999px;--c4p-layout-density-padding-inline-condensed:0.5rem;--c4p-layout-density-padding-inline-normal:1rem;--c4p-layout-density-padding-inline-min:0px;--c4p-layout-density-padding-inline-max:999999999px}.c4p--assistive-text,.c4p--visually-hidden{block-size:1px;border:0;margin:-1px;overflow:hidden;padding:0;position:absolute;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}.c4p--empty-state{color:var(--cds-text-primary,#161616);display:flex}.c4p--empty-state .c4p--empty-state__header{font-size:var(--cds-heading-03-font-size,1.25rem);font-weight:var(--cds-heading-03-font-weight,400);letter-spacing:var(--cds-heading-03-letter-spacing,0);line-height:var(--cds-heading-03-line-height,1.4);margin:0;padding-block-end:.5rem}.c4p--empty-state .c4p--empty-state__subtitle{color:var(--cds-text-secondary,#525252);font-size:var(--cds-body-01-font-size,.875rem);font-weight:var(--cds-body-01-font-weight,400);letter-spacing:var(--cds-body-01-letter-spacing,.16px);line-height:var(--cds-body-01-line-height,1.42857);padding-block-end:1rem}.c4p--empty-state .c4p--empty-state__header--small{font-size:var(--cds-body-compact-02-font-size,1rem);font-weight:var(--cds-body-compact-02-font-weight,400);letter-spacing:var(--cds-body-compact-02-letter-spacing,0);line-height:var(--cds-body-compact-02-line-height,1.375);padding-block-end:.5rem}.c4p--empty-state .c4p--empty-state__subtitle--small{font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333)}.c4p--empty-state__illustration{block-size:auto;margin-block-end:1rem}.c4p--empty-state__illustration.c4p--empty-state__illustration--lg{max-inline-size:5rem;min-inline-size:5rem}.c4p--empty-state__illustration.c4p--empty-state__illustration--sm{max-inline-size:4rem;min-inline-size:4rem}.c4p--empty-state-position--top{flex-direction:column}.c4p--empty-state-position--right{flex-direction:row-reverse}.c4p--empty-state-position--bottom{flex-direction:column-reverse}.c4p--empty-state-position--left{flex-direction:row}.c4p--empty-state .c4p--empty-state__action-button{display:block;margin-block-end:1rem}.c4p--empty-state .c4p--empty-state__link{display:inline-block}@keyframes notifications-panel-fade-in{0%{opacity:0;transform:translateY(-38.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes notifications-panel-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-38.5rem)}}@keyframes notifications-panel-entrance-reduced{0%{opacity:0}to{opacity:1}}@keyframes notifications-panel-exit-reduced{0%{opacity:1}to{opacity:0}}.c4p--notifications-panel__entrance{animation:notifications-panel-fade-in .24s cubic-bezier(.2,0,.38,.9)}.c4p--notifications-panel__exit{animation:notifications-panel-fade-out .24s cubic-bezier(.2,0,.38,.9) forwards}@media (prefers-reduced-motion){.c4p--notifications-panel__entrance{animation:notifications-panel-entrance-reduced .15s cubic-bezier(.2,0,1,.9) forwards}.c4p--notifications-panel__exit{animation:notifications-panel-exit-reduced .15s cubic-bezier(.2,0,1,.9) forwards}}.c4p--notifications-panel__container{background-color:var(--cds-layer-01,#f4f4f4);border-block-end:1px solid var(--cds-border-subtle-02,#e0e0e0);border-inline-start:1px solid var(--cds-border-subtle-02,#e0e0e0);box-shadow:0 .125rem .25rem var(--cds-overlay,hsla(0,0%,9%,.5));color:var(--cds-text-primary,#161616);inset-block-start:3rem;inset-inline-end:0;max-block-size:38.5rem;max-inline-size:22.75rem;min-block-size:38.5rem;min-inline-size:20rem;overflow:auto;position:fixed;transition:transform .11s cubic-bezier(.2,0,.38,.9);z-index:2}.c4p--notifications-panel__container .c4p--notifications-panel__header-container{background-color:var(--cds-layer-01,#f4f4f4);border-block-end:1px solid var(--cds-border-subtle-01,#c6c6c6);inset-block-start:0;padding:.5rem 1rem;position:sticky;z-index:2}.c4p--notifications-panel__container .c4p--notifications-panel__header-container .c4p--notifications-panel__header-flex{align-items:center;display:flex;justify-content:space-between}.c4p--notifications-panel__container .c4p--notifications-panel__header-container .c4p--notifications-panel__do-not-disturb-toggle{padding-block-end:.5rem}.c4p--notifications-panel__container .c4p--notifications-panel__header-container .c4p--notifications-panel__do-not-disturb-toggle .cds--toggle__label-text{block-size:1px;border:0;margin:-1px;overflow:hidden;padding:0;position:absolute;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}.c4p--notifications-panel__container .c4p--notifications-panel__header-container .c4p--notifications-panel__dismiss-button{color:var(--cds-text-primary,#161616)}.c4p--notifications-panel__container .c4p--notifications-panel__header-container .c4p--notifications-panel__header{font-size:var(--cds-heading-compact-01-font-size,.875rem);font-weight:var(--cds-heading-compact-01-font-weight,600);letter-spacing:var(--cds-heading-compact-01-letter-spacing,.16px);line-height:var(--cds-heading-compact-01-line-height,1.28572);margin:0}.c4p--notifications-panel__container .c4p--notifications-panel__time-section-label{background-color:var(--cds-layer-01,#f4f4f4);color:var(--cds-text-secondary,#525252);font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);font-weight:600;inset-block-start:3.0625rem;letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333);padding:.5rem 1rem;position:sticky;z-index:2}.c4p--notifications-panel__container .c4p--notifications-panel__notification:focus,.c4p--notifications-panel__container .c4p--notifications-panel__notification:hover{background-color:var(--cds-layer-accent-01,#e0e0e0)}.c4p--notifications-panel__container .c4p--notifications-panel__notification:focus .c4p--notifications-panel__dismiss-single-button,.c4p--notifications-panel__container .c4p--notifications-panel__notification:hover .c4p--notifications-panel__dismiss-single-button{opacity:1}.c4p--notifications-panel__container .c4p--notifications-panel__notification:focus{border-color:var(--cds-focus,#0f62fe);box-shadow:inset 0 0 0 2px var(--cds-focus,#0f62fe),inset 0 0 0 2px var(--cds-background,#fff);outline:0}.c4p--notifications-panel__container .c4p--notifications-panel__notification{align-items:flex-start;background-color:var(--cds-layer-01,#f4f4f4);border:0;cursor:pointer;display:flex;inline-size:100%;min-block-size:6.25rem;padding:1rem;position:relative;text-align:start;transition:background-color .24s cubic-bezier(.2,0,.38,.9)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-title{color:var(--cds-text-secondary,#525252);font-size:var(--cds-heading-01-font-size,.875rem);font-weight:var(--cds-heading-01-font-weight,600);font-weight:400;letter-spacing:var(--cds-heading-01-letter-spacing,.16px);line-height:var(--cds-heading-01-line-height,1.42857);margin-block-end:.25rem}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-title.c4p--notifications-panel__notification-title-unread{color:var(--cds-text-secondary,#525252);font-weight:600;margin-block-end:.25rem}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notifications-link{font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-status-icon{margin-inline-end:.5rem;min-inline-size:1rem}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-status-icon.c4p--notifications-panel__notification-status-icon-error{fill:var(--cds-support-error,#da1e28)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-status-icon.c4p--notifications-panel__notification-status-icon-success{fill:var(--cds-support-success,#24a148)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-status-icon.c4p--notifications-panel__notification-status-icon-warning{fill:var(--cds-support-warning,#f1c21b)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-status-icon.c4p--notifications-panel__notification-status-icon-informational{fill:var(--cds-support-info,#0043ce)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-time-label{margin-block-end:.5rem}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-description,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-time-label{color:var(--cds-text-secondary,#525252);font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-description.c4p--notifications-panel__notification-short-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-description.c4p--notifications-panel__notification-long-description{display:block;overflow:initial;-webkit-line-clamp:initial;line-clamp:none}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-less-button,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-more-button{align-items:center;display:flex;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333);min-inline-size:5.5rem;padding:0}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-less-button .cds--btn__icon,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-more-button .cds--btn__icon{transition:transform .24s ease}@media (prefers-reduced-motion:reduce){.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-less-button .cds--btn__icon,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-more-button .cds--btn__icon{transition:none}}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-less-button.c4p--notifications-panel__notification-read-more-button .cds--btn__icon,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-more-button.c4p--notifications-panel__notification-read-more-button .cds--btn__icon{transform:rotate(0deg)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-less-button.c4p--notifications-panel__notification-read-less-button .cds--btn__icon,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__notification-content .c4p--notifications-panel__notification-read-more-button.c4p--notifications-panel__notification-read-less-button .cds--btn__icon{transform:rotate(180deg)}.c4p--notifications-panel__container .c4p--notifications-panel__notification .cds--popover-container{position:static}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__dismiss-single-button{align-items:center;color:var(--cds-text-primary,#161616);display:flex;inset-block-start:0;inset-inline-end:0;justify-content:center;min-inline-size:2rem;opacity:0;padding:0;position:absolute}.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__dismiss-single-button:focus,.c4p--notifications-panel__container .c4p--notifications-panel__notification .c4p--notifications-panel__dismiss-single-button:hover{opacity:1}.c4p--notifications-panel__container .c4p--notifications-panel__notification-previous:not(:first-of-type):before,.c4p--notifications-panel__container .c4p--notifications-panel__notification-today:not(:first-of-type):before,.c4p--notifications-panel__container .c4p--notifications-panel__notification-yesterday:not(:first-of-type):before{background-color:var(--cds-border-subtle-01,#c6c6c6);block-size:1px;content:\"\";inline-size:calc(100% - 2rem);inset-block-start:0;margin:0 auto;position:absolute;transition:background-color .24s cubic-bezier(.2,0,.38,.9)}.c4p--notifications-panel__container .c4p--notifications-panel__notification-previous:hover+.c4p--notifications-panel__notification-previous:not(:first-of-type):before,.c4p--notifications-panel__container .c4p--notifications-panel__notification-today:hover+.c4p--notifications-panel__notification-today:not(:first-of-type):before,.c4p--notifications-panel__container .c4p--notifications-panel__notification-yesterday:hover+.c4p--notifications-panel__notification-yesterday:not(:first-of-type):before{background-color:transparent}.c4p--notifications-panel__container .c4p--notifications-panel__main-section-empty.c4p--notifications-panel__main-section{align-items:center;block-size:100%;display:flex;justify-content:center;margin-block-start:10rem;min-block-size:0}.c4p--notifications-panel__container .c4p--notifications-panel__main-section-empty.c4p--notifications-panel__main-section .c4p-subtext{font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572)}.c4p--notifications-panel__container .c4p--notifications-panel__main-section{min-block-size:498px}.c4p--notifications-panel__container .c4p--notifications-panel__bottom-actions{align-items:center;background-color:var(--cds-layer-01,#f4f4f4);block-size:2.5rem;border-block-start:1px solid var(--cds-border-subtle-01,#c6c6c6);display:flex;inset-block-end:0;min-block-size:2.5rem;position:sticky;z-index:2}.c4p--notifications-panel__container .c4p--notifications-panel__bottom-actions .c4p--notifications-panel__view-all-button{align-items:center;block-size:2.5rem;border-inline-end:1px solid var(--cds-border-subtle-01,#c6c6c6);color:var(--cds-text-primary,#161616);display:flex;inline-size:100%;max-inline-size:calc(100% - 2.5rem);min-block-size:2.5rem}.c4p--notifications-panel__container .c4p--notifications-panel__bottom-actions .c4p--notifications-panel__settings-button{align-items:center;block-size:2.5rem;color:var(--cds-text-primary,#161616);display:flex;justify-content:center;min-block-size:2.5rem;min-inline-size:2.5rem;padding:0}.c4p--notifications-panel__container .c4p--notifications-panel__bottom-actions .c4p--notifications-panel__settings-button .cds--btn__icon{margin:0}.c4p--notifications-panel__header-container:has(.c4p--notifications-panel__do-not-disturb-toggle)+.c4p--notifications-panel__main-section .c4p--notifications-panel__time-section-label{inset-block-start:4.8125rem}:host(c4p-notification-panel) .c4p--notifications-panel__do-not-disturb-toggle{display:block}:host(c4p-notification-panel) ::slotted(.c4p--notifications-panel__bottom-actions){align-items:center;display:flex}.c4p--notifications-panel__header-container{--cds-heading-06-font-size:--cds-heading-compact-01-font-size;--cds-heading-06-font-weight:--cds-heading-compact-01-font-weight;--cds-heading-06-line-height:--cds-heading-compact-01-line-height;--cds-heading-06-letter-spacing:--cds-heading-compact-01-letter-spacing}.c4p--notifications-panel__dismiss-button{--cds-link-primary:--cds-text-primary;--cds-link-primary-hover:--cds-text-primary}.c4p--notifications-panel__bottom-actions-container{background-color:var(--cds-layer-01,#f4f4f4);block-size:2.5rem;border-block-start:1px solid var(--cds-border-subtle-01,#c6c6c6);inset-block-end:0;min-block-size:2.5rem;position:sticky;z-index:2}"]);
|
11
11
|
|
12
12
|
export { styles as default };
|
13
13
|
//# sourceMappingURL=notification-panel.scss.js.map
|
@@ -0,0 +1,98 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2025
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
/**
|
8
|
+
* Calculates the size (width or height) of a given HTML element.
|
9
|
+
*
|
10
|
+
* This function performs an expensive calculation by temporarily changing the
|
11
|
+
* display style of the element if it is not currently visible. It then uses
|
12
|
+
* `getBoundingClientRect` to retrieve the size of the element.
|
13
|
+
*
|
14
|
+
* @param el - The HTML element whose size is to be calculated.
|
15
|
+
* @param dimension - The dimension to measure ('width' or 'height').
|
16
|
+
* @returns The size of the element in pixels. Returns 0 if the element is not provided.
|
17
|
+
*/
|
18
|
+
export declare function getSize(el: HTMLElement, dimension: 'width' | 'height'): number;
|
19
|
+
/**
|
20
|
+
* Options for updating the overflow handler.
|
21
|
+
* Determines which items should be visible and which should be hidden
|
22
|
+
* based on the container size, item sizes, and other constraints.
|
23
|
+
*/
|
24
|
+
export interface UpdateOverflowHandlerOptions {
|
25
|
+
/** The container element that holds the items. */
|
26
|
+
container: HTMLElement;
|
27
|
+
/** An array of item elements to be managed for overflow. */
|
28
|
+
items: HTMLElement[];
|
29
|
+
/** An element that represents the offset, which can be shown or hidden based on overflow. Identified by `data-offset` attribute. */
|
30
|
+
offset: HTMLElement;
|
31
|
+
/** An array of sizes corresponding to each item in the `items` array. */
|
32
|
+
sizes: number[];
|
33
|
+
/** An array of sizes corresponding to each item in the fixed items array. */
|
34
|
+
fixedSizes: number[];
|
35
|
+
/** The size of the offset element. */
|
36
|
+
offsetSize: number;
|
37
|
+
/** The maximum number of items that can be visible at once. If undefined, all items can be visible. */
|
38
|
+
maxVisibleItems?: number;
|
39
|
+
/** The dimension to consider for overflow, either 'width' or 'height'. */
|
40
|
+
dimension: 'width' | 'height';
|
41
|
+
/** A callback function that is called when the visible or hidden items change. */
|
42
|
+
onChange: (visibleItems: HTMLElement[], hiddenItems: HTMLElement[]) => void;
|
43
|
+
/** An array of previously hidden items to compare against the new hidden items. */
|
44
|
+
previousHiddenItems?: HTMLElement[];
|
45
|
+
offsetValue?: number;
|
46
|
+
}
|
47
|
+
/**
|
48
|
+
* Updates the overflow handler by determining which items should be visible and which should be hidden.
|
49
|
+
*
|
50
|
+
* @param options - Configuration options for updating the overflow handler.
|
51
|
+
* @param options.container - Container for overflowing
|
52
|
+
* @param options.items - Child elements within container
|
53
|
+
* @param options.offset - Children with data-offset attribute
|
54
|
+
* @param options.sizes - Sizes of child elements
|
55
|
+
* @param options.fixedSizes - Fixed sizes of child elements with data-fixed attribute
|
56
|
+
* @param options.offsetSize - Total offset size
|
57
|
+
* @param options.offsetValue - Additional offset
|
58
|
+
* @param options.maxVisibleItems - Max visible items
|
59
|
+
* @param options.dimension - width | height used to measure overflow
|
60
|
+
* @param options.onChange - onChange callback
|
61
|
+
* @param options.previousHiddenItems - Array of previously hidden items
|
62
|
+
* @returns An array of hidden items after the update.
|
63
|
+
*/
|
64
|
+
export declare function updateOverflowHandler({ container, items, offset, sizes, fixedSizes, offsetSize, maxVisibleItems, dimension, onChange, previousHiddenItems, offsetValue, }: UpdateOverflowHandlerOptions): HTMLElement[];
|
65
|
+
/**
|
66
|
+
* Options for initializing an overflow handler.
|
67
|
+
*/
|
68
|
+
export interface OverflowHandlerOptions {
|
69
|
+
/**
|
70
|
+
* The container element that holds the items. along with offset item
|
71
|
+
*/
|
72
|
+
container: HTMLElement;
|
73
|
+
/**
|
74
|
+
* Maximum number of visible items. If provided, only this number of items will be shown.
|
75
|
+
*/
|
76
|
+
maxVisibleItems?: number;
|
77
|
+
/**
|
78
|
+
* Callback function invoked when the visible and hidden items change.
|
79
|
+
* @param visibleItems - The array of items that are currently visible.
|
80
|
+
* @param hiddenItems - The array of items that are currently hidden.
|
81
|
+
*/
|
82
|
+
onChange: (visibleItems: HTMLElement[], hiddenItems: HTMLElement[]) => void;
|
83
|
+
/**
|
84
|
+
* The dimension to consider for overflow calculations. Defaults to 'width'.
|
85
|
+
*/
|
86
|
+
dimension?: 'width' | 'height';
|
87
|
+
offsetValue?: number;
|
88
|
+
}
|
89
|
+
/**
|
90
|
+
* Represents an instance of an overflow handler.
|
91
|
+
*/
|
92
|
+
export interface OverflowHandler {
|
93
|
+
/**
|
94
|
+
* Disconnects the overflow handler, cleaning up any event listeners or resources.
|
95
|
+
*/
|
96
|
+
disconnect: () => void;
|
97
|
+
}
|
98
|
+
export declare function createOverflowHandler({ container, maxVisibleItems, onChange, dimension, offsetValue, }: OverflowHandlerOptions): OverflowHandler;
|
@@ -0,0 +1,156 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Copyright IBM Corp. 2025
|
10
|
+
*
|
11
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
12
|
+
* LICENSE file in the root directory of this source tree.
|
13
|
+
*/
|
14
|
+
// TODO: delete this file after overflowHandler from carbon/utils gets updated
|
15
|
+
/**
|
16
|
+
* Calculates the size (width or height) of a given HTML element.
|
17
|
+
*
|
18
|
+
* This function performs an expensive calculation by temporarily changing the
|
19
|
+
* display style of the element if it is not currently visible. It then uses
|
20
|
+
* `getBoundingClientRect` to retrieve the size of the element.
|
21
|
+
*
|
22
|
+
* @param el - The HTML element whose size is to be calculated.
|
23
|
+
* @param dimension - The dimension to measure ('width' or 'height').
|
24
|
+
* @returns The size of the element in pixels. Returns 0 if the element is not provided.
|
25
|
+
*/
|
26
|
+
function getSize(el, dimension) {
|
27
|
+
if (!el) {
|
28
|
+
return 0;
|
29
|
+
}
|
30
|
+
const originalDisplay = el.style.display;
|
31
|
+
if (!el.offsetParent && getComputedStyle(el).display === 'none') {
|
32
|
+
el.style.display = 'inline-block';
|
33
|
+
}
|
34
|
+
let size = el.getBoundingClientRect()[dimension];
|
35
|
+
el.style.display = originalDisplay;
|
36
|
+
const computedStyles = getComputedStyle(el);
|
37
|
+
size =
|
38
|
+
dimension === 'width'
|
39
|
+
? size +
|
40
|
+
parseInt(computedStyles.paddingLeft) +
|
41
|
+
parseInt(computedStyles.paddingRight) +
|
42
|
+
parseInt(computedStyles.marginLeft) +
|
43
|
+
parseInt(computedStyles.marginRight)
|
44
|
+
: size +
|
45
|
+
parseInt(computedStyles.paddingTop) +
|
46
|
+
parseInt(computedStyles.paddingBottom) +
|
47
|
+
parseInt(computedStyles.marginTop) +
|
48
|
+
parseInt(computedStyles.marginBottom);
|
49
|
+
return size;
|
50
|
+
}
|
51
|
+
/**
|
52
|
+
* Updates the overflow handler by determining which items should be visible and which should be hidden.
|
53
|
+
*
|
54
|
+
* @param options - Configuration options for updating the overflow handler.
|
55
|
+
* @param options.container - Container for overflowing
|
56
|
+
* @param options.items - Child elements within container
|
57
|
+
* @param options.offset - Children with data-offset attribute
|
58
|
+
* @param options.sizes - Sizes of child elements
|
59
|
+
* @param options.fixedSizes - Fixed sizes of child elements with data-fixed attribute
|
60
|
+
* @param options.offsetSize - Total offset size
|
61
|
+
* @param options.offsetValue - Additional offset
|
62
|
+
* @param options.maxVisibleItems - Max visible items
|
63
|
+
* @param options.dimension - width | height used to measure overflow
|
64
|
+
* @param options.onChange - onChange callback
|
65
|
+
* @param options.previousHiddenItems - Array of previously hidden items
|
66
|
+
* @returns An array of hidden items after the update.
|
67
|
+
*/
|
68
|
+
function updateOverflowHandler({ container, items, offset, sizes, fixedSizes, offsetSize, maxVisibleItems, dimension, onChange, previousHiddenItems = [], offsetValue = 0, }) {
|
69
|
+
const containerSize = dimension === 'width' ? container.clientWidth : container.clientHeight;
|
70
|
+
let visibleItems = [];
|
71
|
+
let hiddenItems = [];
|
72
|
+
const totalSize = sizes.reduce((sum, size) => sum + size, 0);
|
73
|
+
const totalFixedSize = fixedSizes.reduce((sum, size) => sum + size, 0);
|
74
|
+
if (totalSize + totalFixedSize <= containerSize) {
|
75
|
+
visibleItems = maxVisibleItems
|
76
|
+
? items.slice(0, maxVisibleItems)
|
77
|
+
: [...items];
|
78
|
+
hiddenItems = maxVisibleItems ? items.slice(maxVisibleItems) : [];
|
79
|
+
}
|
80
|
+
else {
|
81
|
+
const available = containerSize - offsetSize - totalFixedSize - offsetValue;
|
82
|
+
let accumulated = 0;
|
83
|
+
let breakIndex = items.length;
|
84
|
+
for (let i = 0; i < items.length; i++) {
|
85
|
+
const size = sizes[i];
|
86
|
+
if (accumulated + size <= available &&
|
87
|
+
(!maxVisibleItems || visibleItems.length < maxVisibleItems)) {
|
88
|
+
visibleItems.push(items[i]);
|
89
|
+
accumulated += size;
|
90
|
+
}
|
91
|
+
else {
|
92
|
+
breakIndex = i;
|
93
|
+
break;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
hiddenItems = items.slice(breakIndex);
|
97
|
+
}
|
98
|
+
if (previousHiddenItems.length === hiddenItems.length &&
|
99
|
+
previousHiddenItems.every((item, index) => item === hiddenItems[index])) {
|
100
|
+
return previousHiddenItems;
|
101
|
+
}
|
102
|
+
visibleItems.forEach((item) => item.removeAttribute('data-hidden'));
|
103
|
+
hiddenItems.forEach((item) => item.setAttribute('data-hidden', ''));
|
104
|
+
if (offset) {
|
105
|
+
offset.toggleAttribute('data-hidden', hiddenItems.length === 0);
|
106
|
+
}
|
107
|
+
onChange(visibleItems, hiddenItems);
|
108
|
+
return hiddenItems;
|
109
|
+
}
|
110
|
+
function createOverflowHandler({ container, maxVisibleItems, onChange, dimension = 'width', offsetValue = 0, }) {
|
111
|
+
// Error handling
|
112
|
+
if (!(container instanceof HTMLElement)) {
|
113
|
+
throw new Error('container must be an HTMLElement');
|
114
|
+
}
|
115
|
+
if (typeof onChange !== 'function') {
|
116
|
+
throw new Error('onChange must be a function');
|
117
|
+
}
|
118
|
+
if (maxVisibleItems !== undefined &&
|
119
|
+
(!Number.isInteger(maxVisibleItems) || maxVisibleItems <= 0)) {
|
120
|
+
throw new Error('maxVisibleItems must be a positive integer');
|
121
|
+
}
|
122
|
+
const children = Array.from(container.children);
|
123
|
+
const offset = children.find((item) => item.hasAttribute('data-offset'));
|
124
|
+
const fixedItems = children.filter((item) => item.hasAttribute('data-fixed'));
|
125
|
+
const items = children.filter((item) => item !== offset && !fixedItems.includes(item));
|
126
|
+
const fixedSizes = fixedItems.map((item) => getSize(item, dimension));
|
127
|
+
const sizes = items.map((item) => getSize(item, dimension));
|
128
|
+
const offsetSize = getSize(offset, dimension);
|
129
|
+
let previousHiddenItems = [];
|
130
|
+
function update() {
|
131
|
+
previousHiddenItems = updateOverflowHandler({
|
132
|
+
container,
|
133
|
+
items,
|
134
|
+
offset,
|
135
|
+
sizes,
|
136
|
+
fixedSizes,
|
137
|
+
offsetSize,
|
138
|
+
maxVisibleItems,
|
139
|
+
dimension,
|
140
|
+
onChange,
|
141
|
+
previousHiddenItems,
|
142
|
+
offsetValue,
|
143
|
+
});
|
144
|
+
}
|
145
|
+
const resizeObserver = new ResizeObserver(() => requestAnimationFrame(update));
|
146
|
+
resizeObserver.observe(container);
|
147
|
+
requestAnimationFrame(update); // Initial update
|
148
|
+
return {
|
149
|
+
disconnect() {
|
150
|
+
resizeObserver.disconnect();
|
151
|
+
},
|
152
|
+
};
|
153
|
+
}
|
154
|
+
|
155
|
+
export { createOverflowHandler, getSize, updateOverflowHandler };
|
156
|
+
//# sourceMappingURL=overflowHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"overflowHandler.js","sources":["../../../../src/components/page-header/_story-assets/overflowHandler.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
*
|
4
|
+
* Copyright IBM Corp. 2025, 2025
|
5
|
+
*
|
6
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
8
|
+
*/
|
9
|
+
import { LitElement } from 'lit';
|
10
|
+
import '@carbon/web-components/es/components/breadcrumb/index.js';
|
11
|
+
import '@carbon/web-components/es/components/overflow-menu/index.js';
|
12
|
+
import '../../truncated-text';
|
13
|
+
import '../page-header-title-breadcrumb';
|
14
|
+
interface Breadcrumb {
|
15
|
+
text: string;
|
16
|
+
href: string;
|
17
|
+
}
|
18
|
+
export default class SetOfBreadcrumbs extends LitElement {
|
19
|
+
/**
|
20
|
+
* Hidden items that will be rendered in the overflow menu.
|
21
|
+
*/
|
22
|
+
hiddenItems: Breadcrumb[];
|
23
|
+
/**
|
24
|
+
* The list of breadcrumbs.
|
25
|
+
*/
|
26
|
+
breadcrumbsData: Breadcrumb[];
|
27
|
+
/**
|
28
|
+
* Container holding all breadcrumbs and the overflow menu.
|
29
|
+
*/
|
30
|
+
private container;
|
31
|
+
private overflowHandler;
|
32
|
+
connectedCallback(): void;
|
33
|
+
firstUpdated(): void;
|
34
|
+
disconnectedCallback(): void;
|
35
|
+
render(): import("lit-html").TemplateResult<1>;
|
36
|
+
static styles: any;
|
37
|
+
}
|
38
|
+
declare global {
|
39
|
+
interface HTMLElementTagNameMap {
|
40
|
+
'set-of-breadcrumbs': SetOfBreadcrumbs;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
export {};
|
@@ -0,0 +1,153 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { __decorate } from 'tslib';
|
9
|
+
import { LitElement, html } from 'lit';
|
10
|
+
import { property, query, customElement } from 'lit/decorators.js';
|
11
|
+
import { classMap } from 'lit/directives/class-map.js';
|
12
|
+
import { repeat } from 'lit/directives/repeat.js';
|
13
|
+
import '@carbon/web-components/es/components/breadcrumb/index.js';
|
14
|
+
import '@carbon/web-components/es/components/overflow-menu/index.js';
|
15
|
+
import { createOverflowHandler } from './overflowHandler.js';
|
16
|
+
import OverflowMenuHorizontal16 from '@carbon/web-components/es/icons/overflow-menu--horizontal/16.js';
|
17
|
+
import '../../truncated-text/truncated-text.js';
|
18
|
+
import styles from './set-of-breadcrumbs.scss.js';
|
19
|
+
import '../page-header-title-breadcrumb.js';
|
20
|
+
|
21
|
+
// cspell:words currentpage
|
22
|
+
/**
|
23
|
+
* @license
|
24
|
+
*
|
25
|
+
* Copyright IBM Corp. 2025, 2025
|
26
|
+
*
|
27
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
28
|
+
* LICENSE file in the root directory of this source tree.
|
29
|
+
*/
|
30
|
+
const blockClass = `c4p--set-of-breadcrumbs`;
|
31
|
+
let SetOfBreadcrumbs = class SetOfBreadcrumbs extends LitElement {
|
32
|
+
constructor() {
|
33
|
+
super(...arguments);
|
34
|
+
/**
|
35
|
+
* Hidden items that will be rendered in the overflow menu.
|
36
|
+
*/
|
37
|
+
this.hiddenItems = [];
|
38
|
+
/**
|
39
|
+
* The list of breadcrumbs.
|
40
|
+
*/
|
41
|
+
this.breadcrumbsData = [];
|
42
|
+
}
|
43
|
+
connectedCallback() {
|
44
|
+
super.connectedCallback();
|
45
|
+
this.style.visibility = 'hidden';
|
46
|
+
}
|
47
|
+
firstUpdated() {
|
48
|
+
if (!this.container) {
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
const sr = this.shadowRoot;
|
52
|
+
const breadcrumb = sr === null || sr === void 0 ? void 0 : sr.querySelector('cds-breadcrumb');
|
53
|
+
if (breadcrumb) {
|
54
|
+
breadcrumb.style.display = 'block';
|
55
|
+
requestAnimationFrame(() => {
|
56
|
+
var _a;
|
57
|
+
const ol = (_a = breadcrumb.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('ol');
|
58
|
+
if (ol) {
|
59
|
+
ol.style.display = 'flex';
|
60
|
+
ol.style.flexWrap = 'unset';
|
61
|
+
}
|
62
|
+
});
|
63
|
+
}
|
64
|
+
this.updateComplete.then(() => {
|
65
|
+
requestAnimationFrame(() => {
|
66
|
+
this.overflowHandler = createOverflowHandler({
|
67
|
+
offsetValue: 14,
|
68
|
+
container: this.container,
|
69
|
+
onChange: (visibleItems, _) => {
|
70
|
+
var _a;
|
71
|
+
this.hiddenItems = (_a = this.breadcrumbsData) === null || _a === void 0 ? void 0 : _a.slice(visibleItems.length);
|
72
|
+
},
|
73
|
+
});
|
74
|
+
});
|
75
|
+
});
|
76
|
+
// On first render, all elements are initially visible. so hiding `this` visibility in connectedCallback
|
77
|
+
// The handler runs on the second render to hide specific elements as needed.
|
78
|
+
// The following line restores visibility after layout settles, allowing for smoother transitions.
|
79
|
+
setTimeout(() => {
|
80
|
+
this.style.visibility = 'visible';
|
81
|
+
});
|
82
|
+
}
|
83
|
+
disconnectedCallback() {
|
84
|
+
super.disconnectedCallback();
|
85
|
+
if (this.overflowHandler) {
|
86
|
+
this.overflowHandler.disconnect();
|
87
|
+
}
|
88
|
+
}
|
89
|
+
render() {
|
90
|
+
var _a, _b, _c, _d, _e;
|
91
|
+
return html `
|
92
|
+
<cds-breadcrumb
|
93
|
+
aria-label="breadcrumbs"
|
94
|
+
class=${classMap({
|
95
|
+
[`${blockClass}`]: true,
|
96
|
+
})}
|
97
|
+
>
|
98
|
+
${repeat((_b = (_a = this.breadcrumbsData) === null || _a === void 0 ? void 0 : _a.slice(0, -1)) !== null && _b !== void 0 ? _b : [], (item) => { var _a; return (_a = item.href) !== null && _a !== void 0 ? _a : item.text; }, (item) => html `
|
99
|
+
<cds-breadcrumb-item>
|
100
|
+
<cds-breadcrumb-link href="${item.href}">
|
101
|
+
${item.text}
|
102
|
+
</cds-breadcrumb-link>
|
103
|
+
</cds-breadcrumb-item>
|
104
|
+
`)}
|
105
|
+
|
106
|
+
<cds-breadcrumb-item
|
107
|
+
data-fixed
|
108
|
+
style="display: ${((_c = this.hiddenItems) === null || _c === void 0 ? void 0 : _c.length) >= 2 ? 'flex' : 'none'}"
|
109
|
+
>
|
110
|
+
<cds-overflow-menu breadcrumb="" align="bottom">
|
111
|
+
${OverflowMenuHorizontal16({
|
112
|
+
slot: 'icon',
|
113
|
+
})}
|
114
|
+
<span slot="tooltip-content"> Breadcrumbs </span>
|
115
|
+
<cds-overflow-menu-body size="sm">
|
116
|
+
${repeat((_e = (_d = this.hiddenItems) === null || _d === void 0 ? void 0 : _d.slice(0, -1)) !== null && _e !== void 0 ? _e : [], (item) => { var _a; return (_a = item.href) !== null && _a !== void 0 ? _a : item.text; }, (item) => html `
|
117
|
+
<cds-overflow-menu-item href=${item.href}>
|
118
|
+
${item.text}
|
119
|
+
</cds-overflow-menu-item>
|
120
|
+
`)}
|
121
|
+
</cds-overflow-menu-body>
|
122
|
+
</cds-overflow-menu>
|
123
|
+
</cds-breadcrumb-item>
|
124
|
+
<c4p-page-header-title-breadcrumb data-fixed>
|
125
|
+
<cds-breadcrumb-link is-currentpage="">
|
126
|
+
<c4p-truncated-text
|
127
|
+
value="${this.breadcrumbsData.at(-1).text}"
|
128
|
+
lines="1"
|
129
|
+
autoalign
|
130
|
+
></c4p-truncated-text>
|
131
|
+
</cds-breadcrumb-link>
|
132
|
+
</c4p-page-header-title-breadcrumb>
|
133
|
+
</cds-breadcrumb>
|
134
|
+
`;
|
135
|
+
}
|
136
|
+
};
|
137
|
+
SetOfBreadcrumbs.styles = styles;
|
138
|
+
__decorate([
|
139
|
+
property({ type: Array })
|
140
|
+
], SetOfBreadcrumbs.prototype, "hiddenItems", void 0);
|
141
|
+
__decorate([
|
142
|
+
property({ type: Array, attribute: 'breadcrumbs-data', reflect: true })
|
143
|
+
], SetOfBreadcrumbs.prototype, "breadcrumbsData", void 0);
|
144
|
+
__decorate([
|
145
|
+
query(`.${blockClass}`)
|
146
|
+
], SetOfBreadcrumbs.prototype, "container", void 0);
|
147
|
+
SetOfBreadcrumbs = __decorate([
|
148
|
+
customElement('set-of-breadcrumbs')
|
149
|
+
], SetOfBreadcrumbs);
|
150
|
+
var SetOfBreadcrumbs$1 = SetOfBreadcrumbs;
|
151
|
+
|
152
|
+
export { SetOfBreadcrumbs$1 as default };
|
153
|
+
//# sourceMappingURL=set-of-breadcrumbs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"set-of-breadcrumbs.js","sources":["../../../../src/components/page-header/_story-assets/set-of-breadcrumbs.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|