@universityofmaryland/web-elements-library 1.6.14 → 1.6.15

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # University of Maryland Web Elements Library
2
2
 
3
- [![Elements Version](https://img.shields.io/badge/Elements-v1.6.14-blue)](https://www.npmjs.com/package/@universityofmaryland/web-elements-library)
3
+ [![Elements Version](https://img.shields.io/badge/Elements-v1.6.15-blue)](https://www.npmjs.com/package/@universityofmaryland/web-elements-library)
4
4
 
5
5
  Foundational UI building blocks for the UMD Design System, providing atomic elements that combine to create complex, accessible, and brand-compliant University of Maryland digital experiences.
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../source/composite/navigation/elements/drawer/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAsD,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAE1G,MAAM,MAAM,yBAAyB,GAAG,yBAAyB,GAAG;IAClE,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,sBAAsB,GAAG,yBAAyB,GACrD,qBAAqB,GACrB,iCAAiC,CAAC;AAEpC,MAAM,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAwMrD,eAAO,MAAM,+BAA+B;2BA7FL,yBAAyB;;;;;;;CAgG/D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../source/composite/navigation/elements/drawer/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAEL,yBAAyB,EAC1B,MAAM,WAAW,CAAC;AAGnB,MAAM,MAAM,yBAAyB,GAAG,yBAAyB,GAAG;IAClE,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,sBAAsB,GAAG,yBAAyB,GACrD,qBAAqB,GACrB,iCAAiC,CAAC;AAEpC,MAAM,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAmNrD,eAAO,MAAM,+BAA+B;2BA7FL,yBAAyB;;;;;;;CAgG/D,CAAC"}
@@ -2,11 +2,19 @@ import * as token from "@universityofmaryland/web-token-library";
2
2
  import { handleKeyboardNavigation } from "@universityofmaryland/web-utilities-library/events";
3
3
  import { close_large } from "@universityofmaryland/web-icons-library/controls";
4
4
  import { createCompositeNavigationSlider } from "../slider/index.js";
5
+ import { createCompositeNavigationSlides } from "../slider/slides.js";
5
6
  const ANIMATION_TIME = 300;
6
7
  const ELEMENT_NAV_DRAWER_CONTAINER = "nav-drawer-container";
7
8
  const ELEMENT_NAV_DRAWER_OVERLAY = "nav-drawer-overlay";
8
9
  const ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER = "nav-drawer-overlay-wrapper";
9
10
  const ELEMENT_NAV_DRAWER_CLOSE_BUTTON = "nav-drawer-close-button";
11
+ const OVERWRITE_NAV_SLIDER_WRAPPER = `.${createCompositeNavigationSlides.Elements.wrapper}`;
12
+ const slidesWrapper = `
13
+ ${OVERWRITE_NAV_SLIDER_WRAPPER} {
14
+ overflow-y: scroll;
15
+ height: 100%;
16
+ }
17
+ `;
10
18
  const DrawerButtonClose = `
11
19
  .${ELEMENT_NAV_DRAWER_CLOSE_BUTTON} {
12
20
  background-color: ${token.color.red};
@@ -66,6 +74,7 @@ const STYLES_NAV_DRAWER_ELEMENT = `
66
74
  ${createCompositeNavigationSlider.Styles}
67
75
  ${DrawerButtonClose}
68
76
  ${DrawerContainer}
77
+ ${slidesWrapper}
69
78
  `;
70
79
  const CreateDrawerButton = (element) => {
71
80
  const drawerCloseButton = document.createElement("button");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../source/composite/navigation/elements/drawer/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { handleKeyboardNavigation } from '@universityofmaryland/web-utilities-library/events';\nimport { close_large as iconCloseLarge } from '@universityofmaryland/web-icons-library/controls';\nimport { TypeMenuDisplayButtonRequirements } from '../menu-button';\nimport { createCompositeNavigationSlider as NavDrawerSlider, TypeNavSliderRequirements } from '../slider';\n\nexport type TypeNavDrawerRequirements = TypeNavSliderRequirements & {\n context?: HTMLElement;\n};\n\ntype TypeDrawerCloseButton = {\n eventClose: () => void;\n};\n\ntype CombinedNavDrawerProps = TypeNavDrawerRequirements &\n TypeDrawerCloseButton &\n TypeMenuDisplayButtonRequirements;\n\nexport type TypeDrawerProps = CombinedNavDrawerProps;\n\nconst ANIMATION_TIME = 300;\n\nconst ELEMENT_NAV_DRAWER_CONTAINER = 'nav-drawer-container';\nconst ELEMENT_NAV_DRAWER_OVERLAY = 'nav-drawer-overlay';\nconst ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER = 'nav-drawer-overlay-wrapper';\nconst ELEMENT_NAV_DRAWER_CLOSE_BUTTON = 'nav-drawer-close-button';\n\n// prettier-ignore\nconst DrawerButtonClose = `\n .${ELEMENT_NAV_DRAWER_CLOSE_BUTTON} {\n background-color: ${token.color.red};\n display: flex;\n align-items: center;\n justify-content: center;\n height: ${token.spacing['2xl']};\n width: ${token.spacing['2xl']};\n padding: 12px;\n transition: background .5s ease-in-out;\n order: 2;\n }\n\n .${ELEMENT_NAV_DRAWER_CLOSE_BUTTON}:hover,\n .${ELEMENT_NAV_DRAWER_CLOSE_BUTTON}:focus {\n background-color: ${token.color.redDark};\n }\n\n .${ELEMENT_NAV_DRAWER_CLOSE_BUTTON} svg {\n fill: ${token.color.white};\n }\n`;\n\n// prettier-ignore\nconst DrawerContainer = `\n .${ELEMENT_NAV_DRAWER_CONTAINER} {\n position: fixed;\n bottom: 0;\n left: 0;\n top: 0;\n display: none;\n z-index: 999999;\n }\n\n .${ELEMENT_NAV_DRAWER_OVERLAY} {\n position: fixed;\n top: 0;\n left: 0;\n height: 100vh;\n width: 100vw;\n background-color: rgba(0,0,0,0.5);\n transition: opacity ${ANIMATION_TIME}ms ease-in-out;\n cursor: pointer;\n opacity: 0;\n }\n\n .${ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER} {\n display: flex;\n height: 100%;\n transition: transform ${ANIMATION_TIME + 100}ms ease-in-out;\n transform: translateX(-100%);\n }\n\n .${ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER} > *:not(.${ELEMENT_NAV_DRAWER_CLOSE_BUTTON}) {\n height: 100% !important;\n }\n`;\n\nconst STYLES_NAV_DRAWER_ELEMENT = `\n ${NavDrawerSlider.Styles}\n ${DrawerButtonClose}\n ${DrawerContainer}\n`;\n\nconst CreateDrawerButton = (element: TypeDrawerCloseButton) => {\n const drawerCloseButton = document.createElement('button');\n\n drawerCloseButton.innerHTML = iconCloseLarge;\n drawerCloseButton.classList.add(ELEMENT_NAV_DRAWER_CLOSE_BUTTON);\n drawerCloseButton.setAttribute('aria-label', 'Close navigation drawer');\n drawerCloseButton.addEventListener('click', element.eventClose.bind(element));\n\n return drawerCloseButton;\n};\n\nconst CreateNavDrawerContainer = (props: TypeDrawerProps) => {\n const { eventClose } = props;\n const bodyOverlay = document.createElement('div');\n const bodyOverlayWrapper = document.createElement('div');\n const closeButton = CreateDrawerButton(props);\n const slider = NavDrawerSlider.CreateElement({\n ...props,\n displayType: 'drawer-nav',\n });\n\n bodyOverlayWrapper.classList.add(ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER);\n\n bodyOverlayWrapper.appendChild(closeButton);\n bodyOverlayWrapper.appendChild(slider.container);\n\n bodyOverlay.classList.add(ELEMENT_NAV_DRAWER_OVERLAY);\n bodyOverlay.addEventListener('click', eventClose.bind(props));\n bodyOverlay.appendChild(bodyOverlayWrapper);\n\n return bodyOverlay;\n};\n\nconst CreateNavDrawerElement = (props: TypeNavDrawerRequirements) =>\n (() => {\n const { context, primarySlideLinks } = props;\n const body = document.querySelector('body') as HTMLBodyElement;\n const elementContainer = document.createElement('div');\n\n if (!primarySlideLinks) return null;\n\n const eventClose = () => {\n const bodyOverlay = elementContainer.querySelector(\n `.${ELEMENT_NAV_DRAWER_OVERLAY}`,\n ) as HTMLDivElement;\n const bodyOverlayWrapper = bodyOverlay.querySelector(\n `.${ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER}`,\n ) as HTMLDivElement;\n const slider = bodyOverlay.querySelector(\n `.${NavDrawerSlider.Elements.slider}`,\n ) as HTMLDivElement;\n\n bodyOverlay.style.opacity = '0';\n bodyOverlayWrapper.style.transform = 'translateX(-100%)';\n\n setTimeout(() => {\n bodyOverlay.removeAttribute('style');\n bodyOverlayWrapper.removeAttribute('style');\n body.style.overflow = 'auto';\n elementContainer.style.display = 'none';\n }, ANIMATION_TIME + 100);\n\n if (slider) {\n slider.style.overflowY = `hidden`;\n }\n };\n\n const eventOpen = () => {\n const bodyOverlay = elementContainer.querySelector(\n `.${ELEMENT_NAV_DRAWER_OVERLAY}`,\n ) as HTMLDivElement;\n const bodyOverlayWrapper = bodyOverlay.querySelector(\n `.${ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER}`,\n ) as HTMLDivElement;\n const closeButton = bodyOverlayWrapper.querySelector(\n `.${ELEMENT_NAV_DRAWER_CLOSE_BUTTON}`,\n ) as HTMLButtonElement;\n const slider = bodyOverlayWrapper.querySelector(\n `.${NavDrawerSlider.Elements.slider}`,\n ) as HTMLDivElement;\n const activeSlide = bodyOverlayWrapper.querySelector(\n `.${NavDrawerSlider.Elements.slider} div[data-active]`,\n ) as HTMLDivElement;\n\n elementContainer.style.display = 'block';\n bodyOverlay.style.display = 'block';\n bodyOverlayWrapper.style.display = 'flex';\n\n setTimeout(() => {\n bodyOverlay.style.opacity = '1';\n bodyOverlayWrapper.style.transform = 'translateX(0)';\n body.style.overflow = 'hidden';\n closeButton.focus();\n\n handleKeyboardNavigation({\n element: elementContainer,\n action: () => eventClose(),\n shadowDomContext: context,\n });\n }, 100);\n\n setTimeout(() => {\n if (!activeSlide || !slider) return;\n if (activeSlide.offsetHeight > elementContainer.offsetHeight) {\n slider.style.overflowY = `scroll`;\n }\n }, 200);\n };\n\n const children = CreateNavDrawerContainer({\n ...props,\n eventOpen,\n eventClose,\n });\n\n elementContainer.classList.add(ELEMENT_NAV_DRAWER_CONTAINER);\n elementContainer.appendChild(children);\n\n return {\n element: elementContainer,\n events: {\n eventOpen,\n },\n };\n })();\n\nexport const createCompositeNavigationDrawer = {\n CreateElement: CreateNavDrawerElement,\n Styles: STYLES_NAV_DRAWER_ELEMENT,\n};\n"],"names":["NavDrawerSlider","iconCloseLarge"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../source/composite/navigation/elements/drawer/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { handleKeyboardNavigation } from '@universityofmaryland/web-utilities-library/events';\nimport { close_large as iconCloseLarge } from '@universityofmaryland/web-icons-library/controls';\nimport { TypeMenuDisplayButtonRequirements } from '../menu-button';\nimport {\n createCompositeNavigationSlider as NavDrawerSlider,\n TypeNavSliderRequirements,\n} from '../slider';\nimport { createCompositeNavigationSlides as NavDrawerSlides } from '../slider/slides';\n\nexport type TypeNavDrawerRequirements = TypeNavSliderRequirements & {\n context?: HTMLElement;\n};\n\ntype TypeDrawerCloseButton = {\n eventClose: () => void;\n};\n\ntype CombinedNavDrawerProps = TypeNavDrawerRequirements &\n TypeDrawerCloseButton &\n TypeMenuDisplayButtonRequirements;\n\nexport type TypeDrawerProps = CombinedNavDrawerProps;\n\nconst ANIMATION_TIME = 300;\n\nconst ELEMENT_NAV_DRAWER_CONTAINER = 'nav-drawer-container';\nconst ELEMENT_NAV_DRAWER_OVERLAY = 'nav-drawer-overlay';\nconst ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER = 'nav-drawer-overlay-wrapper';\nconst ELEMENT_NAV_DRAWER_CLOSE_BUTTON = 'nav-drawer-close-button';\n\nconst OVERWRITE_NAV_SLIDER_WRAPPER = `.${NavDrawerSlides.Elements.wrapper}`;\n\n// prettier-ignore\nconst slidesWrapper = `\n ${OVERWRITE_NAV_SLIDER_WRAPPER} {\n overflow-y: scroll;\n height: 100%;\n }\n`;\n\n// prettier-ignore\nconst DrawerButtonClose = `\n .${ELEMENT_NAV_DRAWER_CLOSE_BUTTON} {\n background-color: ${token.color.red};\n display: flex;\n align-items: center;\n justify-content: center;\n height: ${token.spacing['2xl']};\n width: ${token.spacing['2xl']};\n padding: 12px;\n transition: background .5s ease-in-out;\n order: 2;\n }\n\n .${ELEMENT_NAV_DRAWER_CLOSE_BUTTON}:hover,\n .${ELEMENT_NAV_DRAWER_CLOSE_BUTTON}:focus {\n background-color: ${token.color.redDark};\n }\n\n .${ELEMENT_NAV_DRAWER_CLOSE_BUTTON} svg {\n fill: ${token.color.white};\n }\n`;\n\n// prettier-ignore\nconst DrawerContainer = `\n .${ELEMENT_NAV_DRAWER_CONTAINER} {\n position: fixed;\n bottom: 0;\n left: 0;\n top: 0;\n display: none;\n z-index: 999999;\n }\n\n .${ELEMENT_NAV_DRAWER_OVERLAY} {\n position: fixed;\n top: 0;\n left: 0;\n height: 100vh;\n width: 100vw;\n background-color: rgba(0,0,0,0.5);\n transition: opacity ${ANIMATION_TIME}ms ease-in-out;\n cursor: pointer;\n opacity: 0;\n }\n\n .${ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER} {\n display: flex;\n height: 100%;\n transition: transform ${ANIMATION_TIME + 100}ms ease-in-out;\n transform: translateX(-100%);\n }\n\n .${ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER} > *:not(.${ELEMENT_NAV_DRAWER_CLOSE_BUTTON}) {\n height: 100% !important;\n }\n`;\n\nconst STYLES_NAV_DRAWER_ELEMENT = `\n ${NavDrawerSlider.Styles}\n ${DrawerButtonClose}\n ${DrawerContainer}\n ${slidesWrapper}\n`;\n\nconst CreateDrawerButton = (element: TypeDrawerCloseButton) => {\n const drawerCloseButton = document.createElement('button');\n\n drawerCloseButton.innerHTML = iconCloseLarge;\n drawerCloseButton.classList.add(ELEMENT_NAV_DRAWER_CLOSE_BUTTON);\n drawerCloseButton.setAttribute('aria-label', 'Close navigation drawer');\n drawerCloseButton.addEventListener('click', element.eventClose.bind(element));\n\n return drawerCloseButton;\n};\n\nconst CreateNavDrawerContainer = (props: TypeDrawerProps) => {\n const { eventClose } = props;\n const bodyOverlay = document.createElement('div');\n const bodyOverlayWrapper = document.createElement('div');\n const closeButton = CreateDrawerButton(props);\n const slider = NavDrawerSlider.CreateElement({\n ...props,\n displayType: 'drawer-nav',\n });\n\n bodyOverlayWrapper.classList.add(ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER);\n\n bodyOverlayWrapper.appendChild(closeButton);\n bodyOverlayWrapper.appendChild(slider.container);\n\n bodyOverlay.classList.add(ELEMENT_NAV_DRAWER_OVERLAY);\n bodyOverlay.addEventListener('click', eventClose.bind(props));\n bodyOverlay.appendChild(bodyOverlayWrapper);\n\n return bodyOverlay;\n};\n\nconst CreateNavDrawerElement = (props: TypeNavDrawerRequirements) =>\n (() => {\n const { context, primarySlideLinks } = props;\n const body = document.querySelector('body') as HTMLBodyElement;\n const elementContainer = document.createElement('div');\n\n if (!primarySlideLinks) return null;\n\n const eventClose = () => {\n const bodyOverlay = elementContainer.querySelector(\n `.${ELEMENT_NAV_DRAWER_OVERLAY}`,\n ) as HTMLDivElement;\n const bodyOverlayWrapper = bodyOverlay.querySelector(\n `.${ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER}`,\n ) as HTMLDivElement;\n const slider = bodyOverlay.querySelector(\n `.${NavDrawerSlider.Elements.slider}`,\n ) as HTMLDivElement;\n\n bodyOverlay.style.opacity = '0';\n bodyOverlayWrapper.style.transform = 'translateX(-100%)';\n\n setTimeout(() => {\n bodyOverlay.removeAttribute('style');\n bodyOverlayWrapper.removeAttribute('style');\n body.style.overflow = 'auto';\n elementContainer.style.display = 'none';\n }, ANIMATION_TIME + 100);\n\n if (slider) {\n slider.style.overflowY = `hidden`;\n }\n };\n\n const eventOpen = () => {\n const bodyOverlay = elementContainer.querySelector(\n `.${ELEMENT_NAV_DRAWER_OVERLAY}`,\n ) as HTMLDivElement;\n const bodyOverlayWrapper = bodyOverlay.querySelector(\n `.${ELEMENT_NAV_DRAWER_OVERLAY_WRAPPER}`,\n ) as HTMLDivElement;\n const closeButton = bodyOverlayWrapper.querySelector(\n `.${ELEMENT_NAV_DRAWER_CLOSE_BUTTON}`,\n ) as HTMLButtonElement;\n const slider = bodyOverlayWrapper.querySelector(\n `.${NavDrawerSlider.Elements.slider}`,\n ) as HTMLDivElement;\n const activeSlide = bodyOverlayWrapper.querySelector(\n `.${NavDrawerSlider.Elements.slider} div[data-active]`,\n ) as HTMLDivElement;\n\n elementContainer.style.display = 'block';\n bodyOverlay.style.display = 'block';\n bodyOverlayWrapper.style.display = 'flex';\n\n setTimeout(() => {\n bodyOverlay.style.opacity = '1';\n bodyOverlayWrapper.style.transform = 'translateX(0)';\n body.style.overflow = 'hidden';\n closeButton.focus();\n\n handleKeyboardNavigation({\n element: elementContainer,\n action: () => eventClose(),\n shadowDomContext: context,\n });\n }, 100);\n\n setTimeout(() => {\n if (!activeSlide || !slider) return;\n if (activeSlide.offsetHeight > elementContainer.offsetHeight) {\n slider.style.overflowY = `scroll`;\n }\n }, 200);\n };\n\n const children = CreateNavDrawerContainer({\n ...props,\n eventOpen,\n eventClose,\n });\n\n elementContainer.classList.add(ELEMENT_NAV_DRAWER_CONTAINER);\n elementContainer.appendChild(children);\n\n return {\n element: elementContainer,\n events: {\n eventOpen,\n },\n };\n })();\n\nexport const createCompositeNavigationDrawer = {\n CreateElement: CreateNavDrawerElement,\n Styles: STYLES_NAV_DRAWER_ELEMENT,\n};\n"],"names":["NavDrawerSlides","NavDrawerSlider","iconCloseLarge"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slides.d.ts","sourceRoot":"","sources":["../../../../../source/composite/navigation/elements/slider/slides.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,mBAAmB,EAEpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG,eAAe,GAC1C,mBAAmB,GAAG;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,oBAAoB,CAAC,EAAE,eAAe,EAAE,CAAC;IACzC,iBAAiB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACvC,2BAA2B,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjD,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAMJ,KAAK,oBAAoB,GAAG,cAAc,GAAG;IAC3C,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAuPF,eAAO,MAAM,+BAA+B;2BAnGZ,oBAAoB;;;;;;;CA2GnD,CAAC"}
1
+ {"version":3,"file":"slides.d.ts","sourceRoot":"","sources":["../../../../../source/composite/navigation/elements/slider/slides.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,mBAAmB,EAEpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG,eAAe,GAC1C,mBAAmB,GAAG;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,oBAAoB,CAAC,EAAE,eAAe,EAAE,CAAC;IACzC,iBAAiB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACvC,2BAA2B,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjD,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAMJ,KAAK,oBAAoB,GAAG,cAAc,GAAG;IAC3C,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AA8OF,eAAO,MAAM,+BAA+B;2BAnGZ,oBAAoB;;;;;;;CA2GnD,CAAC"}
@@ -15,12 +15,6 @@ const ContentStyles = `
15
15
  margin-top: ${token.spacing.lg};
16
16
  }
17
17
  `;
18
- const WrapperStyles = `
19
- .${ELEMENT_NAV_SLIDE_WRAPPER} {
20
- overflow-y: scroll;
21
- height: 100%;
22
- }
23
- `;
24
18
  const BackButtonStyles = `
25
19
  .${ELEMENT_NAV_SLIDE_BACK_BUTTON} {
26
20
  display: block;
@@ -75,7 +69,6 @@ const STYLES_NAV_SLIDES = `
75
69
  ${BackButtonStyles}
76
70
  ${HeadlineStyles}
77
71
  ${ContentStyles}
78
- ${WrapperStyles}
79
72
  ${createCompositeNavigationSliderAction.Styles}
80
73
  ${createCompositeNavigationSliderFirst.Styles}
81
74
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"slides.js","sources":["../../../../../source/composite/navigation/elements/slider/slides.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\nimport { cloneElementWithoutAttributes } from '@universityofmaryland/web-utilities-library/dom';\nimport { chevron_down as iconChevronDown } from '@universityofmaryland/web-icons-library/controls';\nimport {\n createCompositeNavigationSliderFirst as FirstSlide,\n TypeFirstSlideProps,\n TypeFirstSlide,\n} from './slide-first';\nimport {\n createCompositeNavigationSliderAction as SlideAction,\n TypeActionProps,\n} from './action';\n\nexport type TypeSlideProps = TypeActionProps &\n TypeFirstSlideProps & {\n ATTRIBUTE_DATA_SLIDE: string;\n ATTRIBUTE_ACTIVE_SLIDE: string;\n childrenSlides?: HTMLElement | null;\n childrenSlideContent?: HTMLSlotElement[];\n primarySlideLinks?: HTMLElement | null;\n primarySlidesSecondaryLinks?: HTMLElement | null;\n eventSlideRight: () => void;\n };\n\ntype TypeSlideBackContainer = TypeSlideProps & {\n parentRef: string;\n};\n\ntype TypeDrawerChildSlide = TypeSlideProps & {\n slider: HTMLElement;\n};\n\ntype TypeSlideFirstContainer = TypeDrawerChildSlide & TypeFirstSlide;\n\ntype TypeSliderSlideActions = TypeSlideProps & {\n slide: HTMLDivElement;\n};\n\nconst ELEMENT_NAV_SLIDE_CONTAINER = 'nav-slide-container';\nconst ELEMENT_NAV_SLIDE_WRAPPER = 'nav-slide-wrapper';\nconst ELEMENT_NAV_SLIDE_HEADLINE = 'nav-slide-headline';\nconst ELEMENT_NAV_SLIDE_BACK_BUTTON = 'nav-slide-action-back-button';\nconst ELEMENT_NAV_SLIDE_CONTENT = 'nav-slide-action-content';\n\n// prettier-ignore\nconst ContentStyles = `\n * + .${ELEMENT_NAV_SLIDE_CONTENT} {\n margin-top: ${token.spacing.lg};\n }\n`;\n\n// prettier-ignore\nconst WrapperStyles = `\n .${ELEMENT_NAV_SLIDE_WRAPPER} {\n overflow-y: scroll;\n height: 100%;\n }\n`;\n\n// prettier-ignore\nconst BackButtonStyles = `\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} {\n display: block;\n border-bottom: 1px solid ${token.color.black};\n margin-bottom: ${token.spacing.sm};\n padding-bottom: ${token.spacing.sm};\n }\n\n @media (min-width: 480px) {\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} {\n margin-bottom: ${token.spacing.md};\n padding-bottom: ${token.spacing.md};\n }\n }\n\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} button {\n text-transform: uppercase;\n font-weight: 600;\n letter-Spacing: 1px;\n display: flex;\n align-items: center;\n color: ${token.color.black};\n }\n\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} button:hover,\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} button:focus {\n text-decoration: underline;\n }\n\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} button svg {\n fill: ${token.color.red};\n width: 12px;\n height: 12px;\n margin-right: ${token.spacing.min};\n transform: rotate(90deg);\n }\n`;\n\n// prettier-ignore\nconst HeadlineStyles = `\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_NAV_SLIDE_HEADLINE}`]: typography.sans.large,\n },\n })}\n\n .${ELEMENT_NAV_SLIDE_HEADLINE} {\n margin-bottom: ${token.spacing.md};\n font-weight: 700;\n color: ${token.color.black};\n }\n`;\n\n// prettier-ignore\nconst STYLES_NAV_SLIDES = `\n ${BackButtonStyles}\n ${HeadlineStyles}\n ${ContentStyles}\n ${WrapperStyles}\n ${SlideAction.Styles}\n ${FirstSlide.Styles}\n`;\n\nconst createSlideBackButton = (props: TypeSlideBackContainer) => {\n const { eventSlideRight, parentRef, setUpcomingSlide } = props;\n\n if (!parentRef) return;\n const backButtonContainer = document.createElement('div');\n const slideBackButton = document.createElement('button');\n\n slideBackButton.innerHTML = `${iconChevronDown} Back`;\n slideBackButton.setAttribute('type', 'button');\n slideBackButton.setAttribute('aria-label', 'Previous level of navigation');\n slideBackButton.addEventListener('click', () => {\n setUpcomingSlide(parentRef);\n eventSlideRight();\n });\n\n backButtonContainer.classList.add(ELEMENT_NAV_SLIDE_BACK_BUTTON);\n backButtonContainer.appendChild(slideBackButton);\n\n return backButtonContainer;\n};\n\nconst createSlideHeadline = ({ link }: { link: HTMLAnchorElement }) => {\n const slideHeadline = document.createElement('p');\n\n slideHeadline.appendChild(cloneElementWithoutAttributes({ element: link }));\n slideHeadline.classList.add(ELEMENT_NAV_SLIDE_HEADLINE);\n\n return slideHeadline;\n};\n\nconst createSlideActions = (props: TypeSliderSlideActions) => {\n const { slide } = props;\n\n const slideActionsContainer = document.createElement('div');\n const clonedSlide = slide.cloneNode(true) as HTMLDivElement;\n const links = Array.from(\n clonedSlide.querySelectorAll('a'),\n ) as HTMLAnchorElement[];\n\n if (links.length > 0) {\n links.forEach((link) =>\n slideActionsContainer.appendChild(\n SlideAction.CreateElement({ ...props, link }),\n ),\n );\n }\n\n return slideActionsContainer;\n};\n\nconst CreateFirstSlide = (props: TypeSlideFirstContainer) => {\n const { slider } = props;\n slider.appendChild(FirstSlide.CreateElement(props));\n};\n\nconst CreateNavSlides = (props: TypeDrawerChildSlide) => {\n const {\n slider,\n setCurrentSlide,\n childrenSlides,\n childrenSlideContent,\n primarySlideLinks,\n primarySlidesSecondaryLinks,\n ATTRIBUTE_PARENT_REF,\n ATTRIBUTE_CHILD_REF,\n ATTRIBUTE_ACTIVE_SLIDE,\n ATTRIBUTE_DATA_SLIDE,\n } = props;\n let isContextMenu = false;\n if (!childrenSlides) {\n CreateFirstSlide({ ...props, isContextMenu });\n return;\n }\n\n const slides = Array.from(\n childrenSlides.querySelectorAll(`[${ATTRIBUTE_PARENT_REF}]`),\n ) as HTMLDivElement[];\n const primaryLinks = primarySlideLinks\n ? Array.from(primarySlideLinks.querySelectorAll('a'))\n : [];\n const secondaryLinks = primarySlidesSecondaryLinks\n ? Array.from(primarySlidesSecondaryLinks.querySelectorAll(':scope > *'))\n : [];\n const childLinks = Array.from(\n childrenSlides.querySelectorAll(`[${ATTRIBUTE_CHILD_REF}]`),\n ) as HTMLAnchorElement[];\n const parentOptions = [\n ...primaryLinks,\n ...secondaryLinks,\n ...childLinks,\n ] as HTMLAnchorElement[];\n\n slides.forEach((slide, i) => {\n const contentRef = slide.getAttribute('content-slot');\n const sliderContainer = document.createElement('div');\n const sliderWrapper = document.createElement('div');\n const isSlideActive = slide.hasAttribute(ATTRIBUTE_ACTIVE_SLIDE);\n const parentRef = slide.getAttribute(ATTRIBUTE_PARENT_REF) as string;\n const parentElement = parentOptions.find(\n (option) => option.getAttribute(ATTRIBUTE_CHILD_REF) === parentRef,\n );\n\n if (!parentElement) {\n console.error(`No parent reference found for ${parentRef}`);\n return;\n }\n\n const slideBackButton = createSlideBackButton({ ...props, parentRef });\n const slideHeadline = createSlideHeadline({ link: parentElement });\n const slideActions = createSlideActions({ ...props, slide });\n\n // Context Menu\n if (isSlideActive) {\n sliderContainer.setAttribute(`${ATTRIBUTE_ACTIVE_SLIDE}`, ``);\n setCurrentSlide({ element: sliderContainer });\n isContextMenu = true;\n }\n\n sliderContainer.setAttribute(`${ATTRIBUTE_DATA_SLIDE}`, '');\n sliderContainer.classList.add(ELEMENT_NAV_SLIDE_CONTAINER);\n sliderContainer.setAttribute(`${ATTRIBUTE_PARENT_REF}`, `${parentRef}`);\n\n if (slideBackButton) sliderWrapper.appendChild(slideBackButton);\n sliderWrapper.appendChild(slideHeadline);\n sliderWrapper.appendChild(slideActions);\n\n sliderWrapper.classList.add(ELEMENT_NAV_SLIDE_WRAPPER);\n sliderContainer.appendChild(sliderWrapper);\n\n if (contentRef) {\n const additionalContent = childrenSlideContent?.find(\n (element) => element.getAttribute('name') === contentRef,\n );\n\n if (additionalContent) {\n const contentContainer = document.createElement('div');\n\n contentContainer.appendChild(additionalContent);\n contentContainer.classList.add(ELEMENT_NAV_SLIDE_CONTENT);\n\n sliderContainer.appendChild(contentContainer);\n }\n }\n\n slider.appendChild(sliderContainer);\n\n if (i === slides.length - 1) {\n setTimeout(() => {\n CreateFirstSlide({ ...props, isContextMenu });\n }, 100);\n }\n });\n};\n\nexport const createCompositeNavigationSlides = {\n CreateElement: CreateNavSlides,\n Styles: STYLES_NAV_SLIDES,\n Elements: {\n container: ELEMENT_NAV_SLIDE_CONTAINER,\n wrapper: ELEMENT_NAV_SLIDE_WRAPPER,\n headline: ELEMENT_NAV_SLIDE_HEADLINE,\n },\n};\n"],"names":["SlideAction","FirstSlide","iconChevronDown"],"mappings":"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"}
1
+ {"version":3,"file":"slides.js","sources":["../../../../../source/composite/navigation/elements/slider/slides.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\nimport { cloneElementWithoutAttributes } from '@universityofmaryland/web-utilities-library/dom';\nimport { chevron_down as iconChevronDown } from '@universityofmaryland/web-icons-library/controls';\nimport {\n createCompositeNavigationSliderFirst as FirstSlide,\n TypeFirstSlideProps,\n TypeFirstSlide,\n} from './slide-first';\nimport {\n createCompositeNavigationSliderAction as SlideAction,\n TypeActionProps,\n} from './action';\n\nexport type TypeSlideProps = TypeActionProps &\n TypeFirstSlideProps & {\n ATTRIBUTE_DATA_SLIDE: string;\n ATTRIBUTE_ACTIVE_SLIDE: string;\n childrenSlides?: HTMLElement | null;\n childrenSlideContent?: HTMLSlotElement[];\n primarySlideLinks?: HTMLElement | null;\n primarySlidesSecondaryLinks?: HTMLElement | null;\n eventSlideRight: () => void;\n };\n\ntype TypeSlideBackContainer = TypeSlideProps & {\n parentRef: string;\n};\n\ntype TypeDrawerChildSlide = TypeSlideProps & {\n slider: HTMLElement;\n};\n\ntype TypeSlideFirstContainer = TypeDrawerChildSlide & TypeFirstSlide;\n\ntype TypeSliderSlideActions = TypeSlideProps & {\n slide: HTMLDivElement;\n};\n\nconst ELEMENT_NAV_SLIDE_CONTAINER = 'nav-slide-container';\nconst ELEMENT_NAV_SLIDE_WRAPPER = 'nav-slide-wrapper';\nconst ELEMENT_NAV_SLIDE_HEADLINE = 'nav-slide-headline';\nconst ELEMENT_NAV_SLIDE_BACK_BUTTON = 'nav-slide-action-back-button';\nconst ELEMENT_NAV_SLIDE_CONTENT = 'nav-slide-action-content';\n\n// prettier-ignore\nconst ContentStyles = `\n * + .${ELEMENT_NAV_SLIDE_CONTENT} {\n margin-top: ${token.spacing.lg};\n }\n`;\n\n// prettier-ignore\nconst BackButtonStyles = `\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} {\n display: block;\n border-bottom: 1px solid ${token.color.black};\n margin-bottom: ${token.spacing.sm};\n padding-bottom: ${token.spacing.sm};\n }\n\n @media (min-width: 480px) {\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} {\n margin-bottom: ${token.spacing.md};\n padding-bottom: ${token.spacing.md};\n }\n }\n\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} button {\n text-transform: uppercase;\n font-weight: 600;\n letter-Spacing: 1px;\n display: flex;\n align-items: center;\n color: ${token.color.black};\n }\n\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} button:hover,\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} button:focus {\n text-decoration: underline;\n }\n\n .${ELEMENT_NAV_SLIDE_BACK_BUTTON} button svg {\n fill: ${token.color.red};\n width: 12px;\n height: 12px;\n margin-right: ${token.spacing.min};\n transform: rotate(90deg);\n }\n`;\n\n// prettier-ignore\nconst HeadlineStyles = `\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_NAV_SLIDE_HEADLINE}`]: typography.sans.large,\n },\n })}\n\n .${ELEMENT_NAV_SLIDE_HEADLINE} {\n margin-bottom: ${token.spacing.md};\n font-weight: 700;\n color: ${token.color.black};\n }\n`;\n\n// prettier-ignore\nconst STYLES_NAV_SLIDES = `\n ${BackButtonStyles}\n ${HeadlineStyles}\n ${ContentStyles}\n ${SlideAction.Styles}\n ${FirstSlide.Styles}\n`;\n\nconst createSlideBackButton = (props: TypeSlideBackContainer) => {\n const { eventSlideRight, parentRef, setUpcomingSlide } = props;\n\n if (!parentRef) return;\n const backButtonContainer = document.createElement('div');\n const slideBackButton = document.createElement('button');\n\n slideBackButton.innerHTML = `${iconChevronDown} Back`;\n slideBackButton.setAttribute('type', 'button');\n slideBackButton.setAttribute('aria-label', 'Previous level of navigation');\n slideBackButton.addEventListener('click', () => {\n setUpcomingSlide(parentRef);\n eventSlideRight();\n });\n\n backButtonContainer.classList.add(ELEMENT_NAV_SLIDE_BACK_BUTTON);\n backButtonContainer.appendChild(slideBackButton);\n\n return backButtonContainer;\n};\n\nconst createSlideHeadline = ({ link }: { link: HTMLAnchorElement }) => {\n const slideHeadline = document.createElement('p');\n\n slideHeadline.appendChild(cloneElementWithoutAttributes({ element: link }));\n slideHeadline.classList.add(ELEMENT_NAV_SLIDE_HEADLINE);\n\n return slideHeadline;\n};\n\nconst createSlideActions = (props: TypeSliderSlideActions) => {\n const { slide } = props;\n\n const slideActionsContainer = document.createElement('div');\n const clonedSlide = slide.cloneNode(true) as HTMLDivElement;\n const links = Array.from(\n clonedSlide.querySelectorAll('a'),\n ) as HTMLAnchorElement[];\n\n if (links.length > 0) {\n links.forEach((link) =>\n slideActionsContainer.appendChild(\n SlideAction.CreateElement({ ...props, link }),\n ),\n );\n }\n\n return slideActionsContainer;\n};\n\nconst CreateFirstSlide = (props: TypeSlideFirstContainer) => {\n const { slider } = props;\n slider.appendChild(FirstSlide.CreateElement(props));\n};\n\nconst CreateNavSlides = (props: TypeDrawerChildSlide) => {\n const {\n slider,\n setCurrentSlide,\n childrenSlides,\n childrenSlideContent,\n primarySlideLinks,\n primarySlidesSecondaryLinks,\n ATTRIBUTE_PARENT_REF,\n ATTRIBUTE_CHILD_REF,\n ATTRIBUTE_ACTIVE_SLIDE,\n ATTRIBUTE_DATA_SLIDE,\n } = props;\n let isContextMenu = false;\n if (!childrenSlides) {\n CreateFirstSlide({ ...props, isContextMenu });\n return;\n }\n\n const slides = Array.from(\n childrenSlides.querySelectorAll(`[${ATTRIBUTE_PARENT_REF}]`),\n ) as HTMLDivElement[];\n const primaryLinks = primarySlideLinks\n ? Array.from(primarySlideLinks.querySelectorAll('a'))\n : [];\n const secondaryLinks = primarySlidesSecondaryLinks\n ? Array.from(primarySlidesSecondaryLinks.querySelectorAll(':scope > *'))\n : [];\n const childLinks = Array.from(\n childrenSlides.querySelectorAll(`[${ATTRIBUTE_CHILD_REF}]`),\n ) as HTMLAnchorElement[];\n const parentOptions = [\n ...primaryLinks,\n ...secondaryLinks,\n ...childLinks,\n ] as HTMLAnchorElement[];\n\n slides.forEach((slide, i) => {\n const contentRef = slide.getAttribute('content-slot');\n const sliderContainer = document.createElement('div');\n const sliderWrapper = document.createElement('div');\n const isSlideActive = slide.hasAttribute(ATTRIBUTE_ACTIVE_SLIDE);\n const parentRef = slide.getAttribute(ATTRIBUTE_PARENT_REF) as string;\n const parentElement = parentOptions.find(\n (option) => option.getAttribute(ATTRIBUTE_CHILD_REF) === parentRef,\n );\n\n if (!parentElement) {\n console.error(`No parent reference found for ${parentRef}`);\n return;\n }\n\n const slideBackButton = createSlideBackButton({ ...props, parentRef });\n const slideHeadline = createSlideHeadline({ link: parentElement });\n const slideActions = createSlideActions({ ...props, slide });\n\n // Context Menu\n if (isSlideActive) {\n sliderContainer.setAttribute(`${ATTRIBUTE_ACTIVE_SLIDE}`, ``);\n setCurrentSlide({ element: sliderContainer });\n isContextMenu = true;\n }\n\n sliderContainer.setAttribute(`${ATTRIBUTE_DATA_SLIDE}`, '');\n sliderContainer.classList.add(ELEMENT_NAV_SLIDE_CONTAINER);\n sliderContainer.setAttribute(`${ATTRIBUTE_PARENT_REF}`, `${parentRef}`);\n\n if (slideBackButton) sliderWrapper.appendChild(slideBackButton);\n sliderWrapper.appendChild(slideHeadline);\n sliderWrapper.appendChild(slideActions);\n\n sliderWrapper.classList.add(ELEMENT_NAV_SLIDE_WRAPPER);\n sliderContainer.appendChild(sliderWrapper);\n\n if (contentRef) {\n const additionalContent = childrenSlideContent?.find(\n (element) => element.getAttribute('name') === contentRef,\n );\n\n if (additionalContent) {\n const contentContainer = document.createElement('div');\n\n contentContainer.appendChild(additionalContent);\n contentContainer.classList.add(ELEMENT_NAV_SLIDE_CONTENT);\n\n sliderContainer.appendChild(contentContainer);\n }\n }\n\n slider.appendChild(sliderContainer);\n\n if (i === slides.length - 1) {\n setTimeout(() => {\n CreateFirstSlide({ ...props, isContextMenu });\n }, 100);\n }\n });\n};\n\nexport const createCompositeNavigationSlides = {\n CreateElement: CreateNavSlides,\n Styles: STYLES_NAV_SLIDES,\n Elements: {\n container: ELEMENT_NAV_SLIDE_CONTAINER,\n wrapper: ELEMENT_NAV_SLIDE_WRAPPER,\n headline: ELEMENT_NAV_SLIDE_HEADLINE,\n },\n};\n"],"names":["SlideAction","FirstSlide","iconChevronDown"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@universityofmaryland/web-elements-library",
3
- "version": "1.6.14",
3
+ "version": "1.6.15",
4
4
  "description": "UMD Web Elements",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -40,8 +40,8 @@
40
40
  "dependencies": {
41
41
  "@types/postcss-js": "^4.0.4",
42
42
  "@universityofmaryland/web-builder-library": "^1.0.3",
43
+ "@universityofmaryland/web-styles-library": "^1.8.10",
43
44
  "@universityofmaryland/web-icons-library": "^1.0.4",
44
- "@universityofmaryland/web-styles-library": "^1.8.9",
45
45
  "@universityofmaryland/web-token-library": "^1.0.1",
46
46
  "@universityofmaryland/web-utilities-library": "^1.0.5"
47
47
  },